요약
쪽마다 다른 꽃 여백을 이미지 없이 Lua 코드로 그려 주는 LuaLaTeX 패키지입니다.
개발자 케빈 레이먼드가 레딧에 올라온 "LaTeX로 이런 꽃을 어떻게 만드나"라는 질문을 보고 Claude의 도움을 받아 만들었습니다. 원작의 제작 방식은 알 수 없어서, 그대로 베끼지 않고 한 가지 구현 방법을 제시했다고 밝혔습니다.
왜 중요한가
- 그림 파일 없이 문서를 컴파일하는 동안 꽃을 계산해 PDF에 바로 그립니다.
- 무늬를 정하는 시드(난수의 시작값)가 쪽 번호에서 나와서, 다시 컴파일해도 같은 쪽에는 같은 그림이 나옵니다.
- 같은 코드를 SVG, Typst 배경, 브라우저 플레이그라운드에서도 쓸 수 있어 LaTeX 밖으로도 쓰임이 넓습니다.
핵심 내용
grown옵션을 켜면 줄기가 자라면서 가장 큰 빈자리를 찾아 가지를 뻗습니다.- 이 방식은 1998년 웡·종커·살레신 논문의 빈 공간 채우기 아이디어를 빌렸습니다.
- 꽃은 외곽선을 거의 쓰지 않고, 델프트 블루(네덜란드 도자기의 푸른색) 계열 색을 수채화처럼 겹쳐 칠합니다.
- 문단 첫 글자 장식, 제목 옆 꽃, 쪽이 넘어갈수록 봄에서 가을로 변하는 정원 같은 기능이 있습니다.
- MIT 라이선스로 공개했고, A4 기준으로 한 쪽을 컴파일하는 데 약 1초 걸립니다.
HN 반응
- 결과물이 아름답다는 호평이 많았지만, 레딧 원작의 화풍이 더 낫다는 평도 있었습니다.
- 일부 이용자는 설명글과 코드를 AI로 쓴 점을 아쉬워했고, 크누스도 새 도구를 실험했다는 반론이 나왔습니다.
비슷한 사례로, 몇 년 전에 누군가 번(Byrne)의 『유클리드 원론』 복각판을 LaTeX로 구현하면서 절차적 장식을 만들었습니다. https://github.com/jemmybutton/byrne-euclid
(readme 맨 아래에 있습니다)
정말 아름답네요.
보기 좋은 워터마크로 쓰면 유용할 것 같아요.
아름답긴 한데 AI가 쓴 글은 정말 거슬리네요.
진짜 단번에 알아보겠죠 ㅋㅋ 온통 뚝뚝 끊어지는 문장이잖아요.
제 저장소가 여기서 언급됐다는 얘기를 얼마 전에 들었습니다(알려 주신 nanna님 감사합니다).
생각을 남겨 주셔서 감사합니다. 어느 쪽 의견이든 존중합니다.
Reddit 글( https://www.reddit.com/r/LaTeX/comments/1xixznw/how_do_you_make_these_flowers_in_latex/ )에서 v1.0 릴리스를 만든 과정을 공유하겠다고 약속했었는데, 여기에도 올리는 게 맞겠다 싶었습니다. 관심 있는 분들께 도움이 되면 좋겠습니다!
https://github.com/kevinraymond/florilegium/blob/main/PROCESS.md
그런데 이건 reddit에서 찾던 게 아니잖아요? 안타깝지만 티가 나네요. reddit에 올라온 건 아름다운데, 당신 작품은... 그에 비하면 그냥 그렇네요.
OP가 찾던 것이 아니라는 말씀이신가요? 그게 아니라면 무슨 뜻인지 잘 모르겠지만, 저는 OP의 사진과 경쟁하려던 게 아니었습니다. 의견 주셔서 감사합니다.
'florilegium'이라는 말은 AI에게 일종의 늪 같은 단어인 모양이에요. 제 프로젝트 몇 개에도 AI가 이 이름을 추천했거든요.
그리스어 anthology[0]의 라틴어 판 같은 단어인데, 훨씬 덜 쓰입니다. 그래도 고차원 공간에서는 anthology와 비슷한 자리를 차지하고 있을 테니 LLM이 골라내는 것도 이해가 갑니다.
0: https://en.wiktionary.org/wiki/anthology
anthology의 어원은 전혀 몰랐네요. 정말 흥미로워요!
이 글을 읽고 나서야 네덜란드어 'bloemlezing'이 말 그대로 같은 단어라는 걸 깨달았습니다.
정말 흥미롭네요, 알려 주셔서 고맙습니다 :) 궁금해서 찾아봤는데, 라틴 문자를 쓰는 언어의 위키백과 문서는 하나같이 "anthology"의 동계어더라고요. 핀란드어, 바스크어, 헝가리어처럼 (이런 표현이 적절할지 모르겠지만) "외톨이" 언어까지요. 그런데 네덜란드어는(그리고 당연히 로마인도) 뜻을 풀어서 옮겼다는 게 신기해요.
위키백과를 인용하면 이렇습니다.
학술적인 뜻과 말 그대로의 꽃이라는 뜻이 겹쳐 있으니, AI가 만든 이름이라 해도 이 경우엔 정확히 들어맞네요 :) 이보다 더 알맞은 이름을 찾기도 어려울 겁니다.
맞아요! 제 프로젝트도 꽃과 관련된 것이었거든요.
reddit 글을 보면 이걸 처음 만든 사람은 복제되길 원하지 않았던 게 분명해 보입니다. 그 사람이 안쓰럽네요.
왜요? 비공개 제품이라면 거의 다 오픈소스 복제본이 없길 바라겠지만, 그게 왜 안쓰러운 일이죠?
아이디어를 복제당하기 싫어하는 사람의 말로는 안 들리는데요.
복제되는 게 싫으면 아무한테도 절대 보여주지 마세요.
최근에 MacTeX 배포판의 내용물을 한참 들여다봤습니다.
https://tug.org/mactex/
그러다가 Toby Thruston의 고전 『Drawing with MetaPost』를 알게 됐습니다.
https://github.com/thruston/Drawing-with-Metapost
Lua로 하는 절차적 드로잉도 근사하지만, MetaPost는 TeX에 더 가깝다고 할 만한 또 다른 드로잉 언어입니다.
잘 모르겠습니다. 저는 TeX 커뮤니티를 보면 늘 겸손해지고, 또 영감을 받습니다.
정말 아름답네요, 감사합니다!
방금 Deepseek 4.1 Flash에게 파일 이름을 시드로 쓰는 Obsidian 확장으로 바꿔 달라고 했는데, 결과물[1]이 제가 매일 노트를 쓰면서 몇 년째 꿈꿔 온 바로 그것입니다.
[1] imagepaste.org/i/8zu627ud.png
멋지네요! 저는 Reddit 글의 구현 방식과 스타일이 조금 더 마음에 드는데, 그쪽에 더 가깝게 다시 만들어 볼 계획이 있으신가요? 아니면 스타일을 여러 가지 고를 수 있게 추가하시거나요? 어느 쪽이든 멋집니다.
readme가 AI가 쓴 글이네요. :/
readme만이 아니라 전부 그렇습니다. 작성자가 여기에 더 자세한 내용을 적어 놓았어요. https://www.reddit.com/r/LaTeX/comments/1xixznw/comment/19rvyi2raa0qs/
저는 그건 크게 신경 쓰지 않습니다. 필요해서 AI로 해결하는 건 괜찮아요. 하지만 세상에 공개하려면 왜 만들었는지, 내가 왜 관심을 가져야 하는지 보여주는 노력 정도는 있어야 한다고 생각합니다.
당신이 관심을 갖는다고 해서 다른 사람이 왜 관심을 가져야 하죠?
애초에 누가 관심을 가져야 하느냐고요, 끝.
이게 10년 전에 나왔더라면 더 큰 울림이 있었을 겁니다. TeX 장식은 그 말의 모든 의미에서 아름다운 공예였습니다.
이것도 여전히 꽤 멋지긴 하지만, 도널드 크누스의 전통을 잇는 것과는 다릅니다.
저는 그렇게 다르다고 보지 않습니다. 크누스는 최첨단 도구를 가지고 어떻게 하면 아름다운 문서를 만들 수 있는지 실험하던 사람입니다. 벡터 그래픽을 PDP-10에 돌리는 게 "…의 전통을 잇는 일"이 아니라는 말을 동료들에게 수도 없이 들었을 거예요.
오늘날의 크누스는 "충격! 충격! Claude Opus가 수학을 잘한다" 같은 논문을 쓰느라 바쁘지, "전통"이라는 이상한 잣대로 남들을 깎아내리지 않습니다.
크누스가 TeX를 만든 게 바로 이런 걸 위해서죠! 예술이에요!
기발한 발상과 시각적 완성도, 그리고 기술적인 세부 구현까지 모두 인상 깊습니다. LaTeX/PDF에서 애니메이션이 된다는 건 몰랐어요. 정말 아름답네요! 공유해 주셔서 감사합니다.