Hacker News오픈소스 · 도구

LaTeX에서 수절차적으로 생성하는 꽃 장식 라이브러리

원제 Florilegium: Procedural Flowers in LaTeX

154 포인트댓글 26
Key Point

LaTeX 페이지 장식의 절차적 생성이 어떻게 구현되는지와 수학적 알고리즘·색상 이론·PDF 렌더링의 구체적 방식을 보여주는 오픈소스 프로젝트로, 문서 자동화와 생성미술의 경계를 확장한다.

핵심 요약

  • florilegium은 LaTeX 페이지 여백에 델프트 블루 스타일의 꽃 무늬를 절차적으로 생성하는 패키지로, Lua에서 계산한 매개변수 곡선을 PDF에 직접 기록한다.
  • 손으로 작성한 꽃·잎·줄기 원시체에 무작위 값을 주거나, 1998년 장식 문헌의 공간 채우기 알고리즘으로 페이지 마진에 자동으로 배치할 수 있다.
  • 꽃·나비·벌·달팽이·새 같은 모티프는 수채화처럼 칠해지며, 페이지마다 다른 시드로 고유한 정원이 만들어진다.
  • 계절 옵션으로 봄(작은 새싹)부터 가을(종자머리·낙엽)까지 변화시킬 수 있고, 문단의 첫 글자를 꽃넝쿨로 장식하거나 섹션 제목 옆에 꽃을 배치할 수 있다.
  • 색상은 단일 잉크 색상의 톤 래프에서 유래하며 OKLCH 색상 공간에서 보간해 밝은 색이 회색이 되지 않도록 한다.
  • LuaLaTeX로 약 1초에 페이지 1개 속도로 컴파일되고, Pure PostScript 버전도 제공되어 Ghostscript로 프린터에서 직접 인쇄할 수 있다.
  • PostScript 버전은 투명도 대신 불투명 믹싱을 사용하고, Park-Miller 난수 생성기를 사용하며 -dSeed 옵션으로 정원을 제어할 수 있다.
  • 성장 애니메이션 모드에서는 줄기가 먼저 올라오고 잎이 펼쳐진 뒤 꽃이 피고, 최대 빈 원판부터 차례로 가지를 뻗어 마진을 채운다.
  • 문서 끝이 빨리 끝나면 마지막 페이지 아래 빈 공간에 가지가 휘어 들어가며, 페이지 번호에서 파생된 시드로 각 페이지가 항상 같은 정원을 생성한다.
  • 절차형 드로잉·원시체·성장 알고리즘·마진 페이지 읽기·절계절·인물 초기화 등을 별도 Lua 모듈로 분리했으며, TikZ 스코프에서 개별 모티프를 그릴 수 있다.
  • MIT 라이선스로 공개되며 Overleaf에서 LuaLaTeX 컴파일러로 바로 사용 가능하고, Docker 이미지로도 빌드할 수 있다.
AI 요약 안내

AI가 한국어로 정리한 내용입니다. 정확한 정보는 원문을 확인해 주세요.

요약 원칙 ↗