# LaTeX 커피 얼룩 (LaTeX Coffee Stains)

> Clean Markdown view of GeekNews topic #25663. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=25663](https://news.hada.io/topic?id=25663)
- GeekNews Markdown: [https://news.hada.io/topic/25663.md](https://news.hada.io/topic/25663.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-01-08T23:34:40+09:00
- Updated: 2026-01-08T23:34:40+09:00
- Original source: [ctan.math.illinois.edu](https://ctan.math.illinois.edu/graphics/pgf/contrib/coffeestains/coffeestains-en.pdf)
- Points: 4
- Comments: 1

## Topic Body

- **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일)**

## Comments



### Comment 48909

- Author: neo
- Created: 2026-01-08T23:34:40+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=46526933) 
- 아무도 아직 언급하지 않았다는 게 놀라움. **Typst**로 커피 얼룩을 만드는 게 꽤 즐거움  
  학계나 얼룩 관련 저널에서 **LaTeX**이 표준이 아니었다면 이미 Typst로 옮겼을 것 같음  
  물론 HTML에서도 커피 얼룩을 만들 수 있지만, Markdown에서는 불가능함
  - 나는 요즘 모든 논문을 **Rust**로 다시 쓰고 있음. 메모리 안전한 커피 얼룩을 얻는 경험이 꽤 유쾌했음
  - 다행히 Typst용 포트가 있음. [Typst fleck 패키지](https://typst.app/universe/package/fleck/)를 참고할 수 있음
  - Typst는 회원가입이 필요한가? 웹 기반인가? “오픈 개발”이라면서도 로그인 페이지가 있는 게 좀 혼란스러움. LaTeX와 Typst의 차이에 대해 어떻게 생각하는지 궁금함
  - 이 라이브러리를 쓰는 것보다 Typst에서 하는 게 훨씬 쉬울 것 같음. **오리** 얘기는 그냥 농담임
  - 최고의 커피 얼룩은 여전히 **Postscript**로 직접 만드는 것임
- 기능 제안임 — 홀수/짝수 페이지가 정확히 맞물려서 하나의 얼룩처럼 보이는 **양면 얼룩 효과**가 있었으면 함
  - 각 페이지마다 살짝 **희미해지는 효과**가 있으면 더 자연스러울 것 같음
- 커피 얼룩은 문서가 실제로 읽혔는지, 아니면 그냥 인쇄만 되었는지를 구분하는 유일한 확실한 방법임  
  예전에 대학 동료가 가끔 문서에 이런 얼룩을 추가해서 “읽힘 인증” 표시로 쓰곤 했음
  - 와인잔 얼룩은 그 문서가 **채점 완료**되었다는 표시임
- 관련된 링크를 공유함 — [Brown Ring of Quality](https://badspot.us/Brown-Ring-of-Quality.html)
  - 농담을 놓친 걸 수도 있지만, 그 페이지의 대부분 로고는 **선(禪) 예술의 엔소(ensō) 원형**에서 영감을 받은 것 같음
  - 로고에 원을 두르는 건, 서명 밑에 밑줄 긋는 것만큼 **우스꽝스러운 디자인 선택**이라고 생각함
- 원본은 2009년 자료임 — [아카이브 링크](https://web.archive.org/web/20201101013903/http://legacy.hanno-rein.de/hanno-rein.de/archives/349)  
  관련된 이전 HN 스레드도 함께 공유함: [이전 글 모음](https://news.ycombinator.com/from?site=hanno-rein.de), [관련 토론1](https://news.ycombinator.com/item?id=39316193), [관련 토론2](https://news.ycombinator.com/item?id=30024165)
- 보기엔 멋지지만, 사실은 미리 정의된 **벡터 파일**을 배치하는 것뿐임  
  진짜처럼 보이는 커피 얼룩을 **절차적으로 생성**할 수 있을지 궁금함
  - 완전 가능함. 직접 시도해보길 권함
- 아직 반쯤 완성된 작업 같음. 여기에 추가로 필요함:  
  * **홍차 얼룩**  
  * 종이 사이에 눌린 **빵 부스러기**  
  * **토마토 소스** 자국  
  * **머리카락** 등  
  이런 것들을 페이지에 직접 인쇄하면 수작업으로 추가하는 시간 절약이 큼
  - 천 장마다 한 번쯤은 **눌린 파리 자국**도 있으면 완벽할 듯함
- 이 프로젝트가 정말 마음에 듦. 내 **이력서**는 20년 넘게 LaTeX로 관리 중임  
  버전 관리가 가능하고, Word의 혼란스러운 포맷 문제도 없음. 완전히 **결정적(deterministic)** 이라 결과가 일정함  
  요즘은 LLM을 이용해 변환도 쉽게 할 수 있고, 경고 수정도 자동으로 해줌. 커피를 마시지 않아도 LaTeX 이력서는 강력 추천임
  - 추천할 만한 **템플릿**이 있는지 궁금함. 나도 LaTeX로 작성하지만 98% 정도만 만족 중임
- 커피를 마시지 않는다는 이유로 소프트웨어 회사에서 **소외감**을 느낀 적이 있음. 모두 커피를 사랑함
  - 나도 비슷함. 차로 대체할 수는 있지만 완전히 같은 경험은 아님. 가끔 **다이어트 소다**로 버티지만, 회사에서 잘 제공되지 않음
  - 차라리 **중국식 다관**을 들고 다니며 전통과 현대 **보이차** 방식의 차이를 논하면, 나만의 존중을 얻을 수 있음
- 이런 프로젝트를 보니 반가움. 90년대 중반 학생이자 업계 초입이었을 때, 인터넷에는 이런 **재미있는 장난 프로젝트**가 자주 있었음
  - 당시 우리는 여러 문자 스크립트의 **OCR 학습용 합성 데이터**를 만들고 있었음  
    웹페이지를 다양한 폰트로 PDF로 변환하고, ImageMagick으로 **블러 처리**를 추가했음  
    그리고 물론, 이 **커피 얼룩 프로그램**도 함께 사용했음
