4 ポイント 投稿者 GN⁺ 2026-01-08 | 1件のコメント | WhatsAppで共有
  • LaTeX 文書にコーヒーの染みを自動で追加できるパッケージで、手作業で画像を挿入していた工程を簡素化する
  • 4種類の染み(A〜D)を提供し、透明度・サイズ・回転角・位置を細かく調整可能
  • インストール後に \usepackage{coffeestains} を宣言し、各染みコマンド(\coffeestainA\coffeestainD)を使ってページに配置する
  • 著作権上の制限なく自由に配布でき、すべての染み画像は直接制作・撮影・編集されたもの
  • 2009年の初版以降、継続的に改善されており、2021年版 0.5.1 では染みの回転基準がページ中央から染みの中心へ変更された

紹介 (Introduction)

  • このパッケージは LaTeX 文書に コーヒーの染み効果 を追加する機能を提供
    • 文書に直接染みを印刷することで、手動挿入の時間を節約する
  • 4種類の染みを提供
    • A型: 270° の円形の染みと小さな2つの飛び散り跡
    • B型: 60° の円形の染み
    • C型: 明るい色の2つの飛び散り跡
    • D型: 色鮮やかな双子の飛び散り跡

使い方 (Usage)

  • coffeestains.sty ファイルを LaTeX プロジェクトのディレクトリに置くか、ディストリビューションにインストールした後、文書ヘッダーに次を追加
    \usepackage{coffeestains}
    
  • 各染みは次のコマンドで挿入
    \coffeestainA{alpha}{scale}{angle}{xoff}{yoff}
    \coffeestainB{alpha}{scale}{angle}{xoff}{yoff}
    \coffeestainC{alpha}{scale}{angle}{xoff}{yoff}
    \coffeestainD{alpha}{scale}{angle}{xoff}{yoff}
    
  • パラメータの説明
    • alpha: 透明度(0〜1)
    • scale: サイズ倍率(既定値 1)
    • angle: 染みの回転角(0〜360度)
    • xoff, yoff: ページ中央基準の位置オフセット(単位指定を推奨)
  • コマンド例
    • \coffeestainA{0.9}{0.85}{-25}{5cm}{1.3cm}
    • \coffeestainB{0.7}{1}{-30}{18pt}{-135pt}
    • \coffeestainC{1}{1}{180}{0}{-5mm}
    • \coffeestainD{0.4}{0.5}{90}{3cm}{4cm}

著作権 (Copyright)

  • 自由に配布可能。ただし「imaginary property(想像上の財産)」という概念は信じていない
  • すべての染みは Hanno Rein が自ら制作・撮影し、GIMPInkscape で処理
  • 寄付は コーヒーの形でのみ 受け付けており、宛先はカナダ・トロント大学スカボロー校の Hanno Rein へ明記されている

今後の改善点 (Desired improvements)

  • 現在はコーヒーの染みのみ対応だが、ラテ・紅茶・ガスパチョ・油染み なども今後は自動印刷の対象として拡張が必要
  • 修理所などで文書に手作業で付く染みまで自動化する LaTeX コミュニティのツール開発 の必要性にも言及

変更履歴 (Change Log)

  • 2009年4月3日: Hanno Rein が初版(0.1)を公開
  • 2010年11月23日: Evan Sultanik が pdflatex 互換版(0.2)を開発
  • 2011年3月24日: Luis Randez がサイズ・回転・透明度の調整機能を追加(0.3)
  • 2012年5月25日: Adrian Robson が中心から外れた染みのサポートを追加(0.4)
  • 2021年5月1日: Patrick Bideault が git リポジトリ版(0.5)を公開し、染みの回転基準を ページ中央 → 染みの中心 に変更

永遠のモットー (Eternal mottos)

  • “Coffee is great.”
  • “Coffee will save the world.”

その他

  • 文書の最後のページには「このページは意図的に空白にしてあるが、そう知らせることで台無しにしてしまった」という文句が含まれる
  • 最新版は 0.5.1(2021年6月25日)

1件のコメント

 
GN⁺ 2026-01-08
Hacker Newsのコメント
  • まだ誰も触れていないのが驚き。Typstでコーヒーの染みを作るのはかなり楽しい
    学界や染みに関するジャーナルでLaTeXが標準でなければ、もうTypstに移っていたと思う
    もちろんHTMLでもコーヒーの染みは作れるけれど、Markdownでは無理
    • 最近はすべての論文をRustで書き直している。メモリ安全なコーヒーの染みを得る体験はなかなか愉快だった
    • 幸いTypst向けの移植版がある。Typst fleckパッケージを参照できる
    • Typstは登録が必要? Webベース? 「オープン開発」と言いながらログインページがあるのは少し混乱する。LaTeXとTypstの違いをどう考えているのか気になる
    • このライブラリを使うより、Typstでやるほうがずっと簡単そう。アヒルの話はただの冗談
    • 最高のコーヒーの染みは、今でもPostscriptで自作すること
  • 機能提案 — 奇数/偶数ページがぴったり噛み合って、ひとつの染みのように見える両面染み効果がほしい
    • 各ページごとに少しずつ薄れていく効果があると、もっと自然になりそう
  • コーヒーの染みは、その文書が実際に読まれたのか、それともただ印刷されただけなのかを見分ける唯一の確実な方法
    昔、大学の同僚がときどき文書にこういう染みを追加して、「読了済み」の印として使っていた
    • ワイングラスの染みは、その文書が採点済みであることの印
  • 関連リンクを共有 — Brown Ring of Quality
    • 冗談を見落としているのかもしれないが、そのページのロゴの大半は**禅アートの円相(ensō)**から着想を得ているように見える
    • ロゴを円で囲むのは、署名の下に下線を引くのと同じくらい滑稽なデザインの選択だと思う
  • 元ネタは2009年の資料 — アーカイブリンク
    関連する過去のHNスレッドも共有: 過去の投稿一覧, 関連議論1, 関連議論2
  • 見た目は格好いいが、実際には事前定義されたベクターファイルを配置しているだけ
    本物らしく見えるコーヒーの染みを手続き的に生成できるのか気になる
    • 十分可能。ぜひ自分で試してみるといい
  • まだ半分しかできていない作業に見える。さらに必要なのは:
    • 紅茶の染み
    • 紙の間に押しつぶされたパンくず
    • トマトソースの跡
    • 髪の毛 など
      こういうものをページに直接印刷できれば、手作業で追加する時間をかなり節約できる
    • 千枚に一回くらいは潰れたハエの跡もあると完璧かも
  • このプロジェクトは本当に気に入った。自分の履歴書は20年以上LaTeXで管理している
    バージョン管理ができるし、Wordの混沌とした書式問題もない。完全に**決定的(deterministic)**なので結果が安定している
    最近はLLMを使って変換も簡単にできるし、警告修正も自動でやってくれる。コーヒーを飲まなくてもLaTeXの履歴書は強くおすすめ
    • おすすめのテンプレートがあるか気になる。自分もLaTeXで書いているが、満足度は98%くらい
  • コーヒーを飲まないというだけで、ソフトウェア会社で疎外感を覚えたことがある。みんなコーヒーが大好き
    • 自分も似たようなもの。お茶で代用はできるけれど、まったく同じ体験ではない。たまにダイエットソーダでしのぐが、会社であまり用意されていない
    • いっそ中国式の茶壺を持ち歩いて、伝統的および現代的なプーアル茶の作法の違いを語れば、自分なりの敬意を得られるかもしれない
  • こういうプロジェクトを見るとうれしくなる。90年代半ばに学生で、業界に入りたてだったころ、インターネットにはこうした楽しいいたずらプロジェクトがよくあった
    • 当時、私たちは複数の文字体系向けのOCR学習用合成データを作っていた
      WebページをさまざまなフォントでPDFに変換し、ImageMagickでぼかし処理を加えていた
      そしてもちろん、このコーヒー染みプログラムも一緒に使っていた