LaTeX 커피 얼룩 (LaTeX Coffee Stains)
(ctan.math.illinois.edu)- LaTeX 문서에 커피 얼룩을 자동으로 추가할 수 있는 패키지로, 수작업으로 이미지를 삽입하던 과정을 단순화함
- 네 가지 형태의 얼룩(A~D)을 제공하며, 투명도·크기·회전각·위치를 세밀하게 조정 가능
- 설치 후
\usepackage{coffeestains}를 선언하고, 각 얼룩 명령(\coffeestainA~\coffeestainD)을 사용해 페이지에 배치 - 저작권 제한 없이 자유 배포 가능하며, 모든 얼룩 이미지는 직접 제작·촬영·편집된 것임
- 2009년 첫 버전 이후 지속적으로 개선되어, 2021년 버전 0.5.1에서는 얼룩 회전 기준이 페이지 중심에서 얼룩 중심으로 변경됨
소개 (Introduction)
- 이 패키지는 LaTeX 문서에 커피 얼룩 효과를 추가하는 기능 제공
- 문서에 직접 얼룩을 인쇄함으로써 수동 삽입 시간을 절약
- 네 가지 얼룩 유형 제공
- A형: 270° 원형 얼룩과 작은 두 개의 튀김 자국
- B형: 60° 원형 얼룩
- C형: 밝은 색상의 두 개의 튀김 자국
- 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이 직접 제작·촬영 후 GIMP와 Inkscape로 처리
- 기부는 커피 형태로만 받으며, 주소는 캐나다 토론토 대학교 Scarborough 캠퍼스의 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일)
Hacker News 의견들
- 아무도 아직 언급하지 않았다는 게 놀라움. Typst로 커피 얼룩을 만드는 게 꽤 즐거움
학계나 얼룩 관련 저널에서 LaTeX이 표준이 아니었다면 이미 Typst로 옮겼을 것 같음
물론 HTML에서도 커피 얼룩을 만들 수 있지만, Markdown에서는 불가능함- 나는 요즘 모든 논문을 Rust로 다시 쓰고 있음. 메모리 안전한 커피 얼룩을 얻는 경험이 꽤 유쾌했음
- 다행히 Typst용 포트가 있음. Typst fleck 패키지를 참고할 수 있음
- Typst는 회원가입이 필요한가? 웹 기반인가? “오픈 개발”이라면서도 로그인 페이지가 있는 게 좀 혼란스러움. LaTeX와 Typst의 차이에 대해 어떻게 생각하는지 궁금함
- 이 라이브러리를 쓰는 것보다 Typst에서 하는 게 훨씬 쉬울 것 같음. 오리 얘기는 그냥 농담임
- 최고의 커피 얼룩은 여전히 Postscript로 직접 만드는 것임
- 기능 제안임 — 홀수/짝수 페이지가 정확히 맞물려서 하나의 얼룩처럼 보이는 양면 얼룩 효과가 있었으면 함
- 각 페이지마다 살짝 희미해지는 효과가 있으면 더 자연스러울 것 같음
- 커피 얼룩은 문서가 실제로 읽혔는지, 아니면 그냥 인쇄만 되었는지를 구분하는 유일한 확실한 방법임
예전에 대학 동료가 가끔 문서에 이런 얼룩을 추가해서 “읽힘 인증” 표시로 쓰곤 했음- 와인잔 얼룩은 그 문서가 채점 완료되었다는 표시임
- 관련된 링크를 공유함 — Brown Ring of Quality
- 농담을 놓친 걸 수도 있지만, 그 페이지의 대부분 로고는 선(禪) 예술의 엔소(ensō) 원형에서 영감을 받은 것 같음
- 로고에 원을 두르는 건, 서명 밑에 밑줄 긋는 것만큼 우스꽝스러운 디자인 선택이라고 생각함
- 원본은 2009년 자료임 — 아카이브 링크
관련된 이전 HN 스레드도 함께 공유함: 이전 글 모음, 관련 토론1, 관련 토론2 - 보기엔 멋지지만, 사실은 미리 정의된 벡터 파일을 배치하는 것뿐임
진짜처럼 보이는 커피 얼룩을 절차적으로 생성할 수 있을지 궁금함- 완전 가능함. 직접 시도해보길 권함
- 아직 반쯤 완성된 작업 같음. 여기에 추가로 필요함:
- 홍차 얼룩
- 종이 사이에 눌린 빵 부스러기
- 토마토 소스 자국
-
머리카락 등
이런 것들을 페이지에 직접 인쇄하면 수작업으로 추가하는 시간 절약이 큼
- 천 장마다 한 번쯤은 눌린 파리 자국도 있으면 완벽할 듯함
- 이 프로젝트가 정말 마음에 듦. 내 이력서는 20년 넘게 LaTeX로 관리 중임
버전 관리가 가능하고, Word의 혼란스러운 포맷 문제도 없음. 완전히 결정적(deterministic) 이라 결과가 일정함
요즘은 LLM을 이용해 변환도 쉽게 할 수 있고, 경고 수정도 자동으로 해줌. 커피를 마시지 않아도 LaTeX 이력서는 강력 추천임- 추천할 만한 템플릿이 있는지 궁금함. 나도 LaTeX로 작성하지만 98% 정도만 만족 중임
- 커피를 마시지 않는다는 이유로 소프트웨어 회사에서 소외감을 느낀 적이 있음. 모두 커피를 사랑함
- 나도 비슷함. 차로 대체할 수는 있지만 완전히 같은 경험은 아님. 가끔 다이어트 소다로 버티지만, 회사에서 잘 제공되지 않음
- 차라리 중국식 다관을 들고 다니며 전통과 현대 보이차 방식의 차이를 논하면, 나만의 존중을 얻을 수 있음
- 이런 프로젝트를 보니 반가움. 90년대 중반 학생이자 업계 초입이었을 때, 인터넷에는 이런 재미있는 장난 프로젝트가 자주 있었음
- 당시 우리는 여러 문자 스크립트의 OCR 학습용 합성 데이터를 만들고 있었음
웹페이지를 다양한 폰트로 PDF로 변환하고, ImageMagick으로 블러 처리를 추가했음
그리고 물론, 이 커피 얼룩 프로그램도 함께 사용했음
- 당시 우리는 여러 문자 스크립트의 OCR 학습용 합성 데이터를 만들고 있었음