Groff로 중편 소설 만들기

Novellas with Groff

movq.de ▲ 128 댓글 53 dverlaeckt80

요약

매뉴얼 페이지 도구로 알려진 Groff만으로도 중편 소설을 책처럼 조판할 수 있습니다.

독일어로 소설을 쓰기 시작한 movq.de 블로그 운영자의 경험담입니다. 두 번째 중편 소설을 마친 뒤, 집필과 조판(인쇄용 쪽 구성)에 쓴 소프트웨어를 정리했습니다.

왜 중요한가

  • 큰 출판 도구 없이 직접 만든 매크로(명령 묶음) 세 개로 책 형태의 결과물을 만들 수 있음을 보여 줍니다.
  • 13.5년 된 PC에서도 120쪽 문서를 약 1.6초에 만들어, 작고 빠른 도구의 장점이 드러납니다.

핵심 내용

  • 판형은 A5이고, 매크로는 장 제목, 문단, 장면 전환용 넓은 여백만 다룹니다.
  • 쪽번호와 위아래 여백은 트랩(쪽의 지정한 위치에서 자동 실행되는 기능)으로 직접 구현했습니다.
  • 두 번째 작품은 Markdown 일부 문법으로 쓰고, Perl 한 줄 스크립트로 Groff 형식으로 바꿨습니다.
  • 첫 작품은 약 50쪽에 7개월 넘게 걸렸고, 두 번째 작품은 약 120쪽을 10일 만에 썼습니다.
  • 작품은 공개하지 않을 계획이며, 글쓰기에 완전히 몰입한 경험이 가장 큰 보람이었다고 했습니다.

HN 반응

  • 이용자들이 Typst, Pandoc, WeasyPrint 등 각자의 집필 환경을 소개했고, 도구를 다듬느라 정작 글쓰기를 미루게 된다는 자조도 이어졌습니다.
  • Groff는 줄바꿈 알고리즘이 TeX보다 뒤처져 전문 출판에는 약점이라는 지적이 나왔고, 오라일리가 과거 troff로 책을 조판했다는 사례도 언급됐습니다.

댓글

30개 표시 · 전체 53개
  1. tmoertel HN

    소설을 쓰는 기술 쪽 사람들이 저마다 글쓰기 파이프라인을 얼마나 다르게 꾸리는지 보는 게 참 흥미롭습니다. Vim 같은 최소한의 코딩 에디터로 쓰는 사람도 있고, Scrivener 같은 "프로" 도구를 쓰는 사람도 있습니다. 거기에 조판 파이프라인까지 얹으면, troff를 쓰는 건 꽤 별난 축에 속합니다.

    저는 소설을 쓰기 시작할 때 이렇게 구성했습니다. 가볍고, 어디서나 되고, 마크다운으로 내보내기도 쉬워서 Google Docs에 씁니다. 그다음에는 마크다운 원고를 Git과 Emacs로 관리합니다. 조판은 워드프로세서가 뽑아내는 조잡한 결과물을 도저히 못 참겠어서, 예전에는 Pandoc으로 LaTeX 마크업을 만들고 LuaLaTeX를 돌려 PDF를 뽑았습니다. 그런데 몇 초씩 걸렸어요. 지금은 Typst로 마크다운에서 곧바로 PDF를 만듭니다. 거의 즉시 나옵니다.

    결과물이 어떤지 궁금하시다면, 지금 쓰고 있는 작품의 첫 장입니다.

    https://drive.google.com/file/d/1Wl4k_rdYGFZp-r5nq864r5CNzD1eewnU/

    (주의: 이건 글쓰기 샘플이 아니라 조판 샘플입니다. W40k 인접 팬픽이니 미리 경고드렸습니다.)

    본문은 12pt Erewhon으로 짰는데, Erewhon은 Andrey V. Panov의 Heuristica 폰트 패밀리를 개선한 것이고, Heuristica는 Robert Slimbach의 Utopia 폰트 패밀리를 확장한 것입니다. Slimbach는 Minion을 만든 빼어난 서체 디자이너이고, Utopia는 그의 초기작 가운데서도 특히 생기가 넘치는 작품입니다.

  2. pmdr HN

    소설을 쓰는 기술 쪽 사람들이 저마다 글쓰기 파이프라인을 꾸리는 방식

    그러다 정작 글쓰기는 끝없이 미루고 있을지도 모르고요...

  3. tmoertel HN

    맞아요. 코더가 글쓰기에 뛰어들면 빠지기 쉬운 거부할 수 없는 유혹이 파이프라인 바이크셰딩이에요. 저도 글을 써야 할 시간에 파이프라인을 만지작거리며 보낸 시간이 엄청나다는 걸 알고 있어요. 그렇잖아요, 그냥 쓰면 되는데 왜 굳이 Containerfile을 만들어서 조판 시스템과 신중히 고른 폰트 열두어 개가 들어 있는 밀봉 이미지를 빌드하고, Makefile로 관리하는 스크립트를 짜서 그 이미지로 컨테이너를 띄워 원고를 집어넣고 조판된 PDF를 꺼내오겠어요? 이게 다 글을 끝내는 데 필수인 크리티컬 패스 작업이니까요. 안 그래요?

  4. marttt HN

    Pandoc을 만든 철학과 교수 John MacFarlane이 했던 말이 떠오릅니다. "글쓰기를 더 효율적으로 만들려고 도구를 개발하는 데 쓴 시간을, 그 도구를 쓰면서 아낀 시간으로 갚았다고 생각하고 싶지만, 아마 그렇지 않을 겁니다."

    출처: https://usesthis.com/interviews/john.macfarlane/

  5. Semiapies HN

    어떤 작가는 최근 이 일을 하려고 아예 자기 프로그램을 짰는데, 그래도 결국 책 몇 권은 끝냈습니다. https://hughhowey.com/neo/

    저는 그냥 Emacs로 쓰고, makefile을 하나 만들고, Pandoc으로 PDF를 내보냅니다. 하지만 편안하면서도 집중을 흩뜨리지 않는 글쓰기 환경을 만들려는 노력은 존경합니다.

  6. computerfriend HN

    그냥 바이브 코딩으로 만들었어요.

  7. kzrdude HN

    뭐, 그거야말로 바이브 코딩을 제대로 쓰는 거죠. 앱은 깡통(clanker)한테 만들게 하고 본인은 예술 자체, 그러니까 글쓰기에 집중하는 거잖아요.

  8. anthk HN

    항상 그런 건 아니에요.

    https://t3x.org 에는 소설 두 편과 컴퓨터 과학 책이 잔뜩 있는데, 아마 아주 간소한 환경으로 만들었을 거예요...

  9. sloum HN

    맞습니다, 코딩도 하는 작가들은 워크플로가 정말 제각각인 것 같습니다. 저는 (x)html로 쓰고, 인쇄용 스타일시트를 만든 다음 weasyprint로 인쇄용 PDF를 렌더링합니다(아주 잘 되고, 웹사이트에 시작점으로 삼기 좋은 샘플 스타일시트도 있습니다).

    Erewhon 좋아합니다. 멋진 폰트예요.

  10. kragen HN

    troff가 더는 유행하지 않고 최고 품질의 조판에 쓸 도구도 아니긴 하지만, 저는 이걸 "별난" 것으로 생각하지 않습니다. 컴퓨터를 잘 모르시는 제 어머니도 1980년대에 쓰신 기사들을 HDOS 프로그램 TEXT.ABS로 서식을 잡으셨는데, 이건 기능이 제한된 nroff 비슷한 프로그램이었습니다. MacWrite 같은 것만큼 쓰기 쉽지는 않았지만 타자기보다는 훨씬 쉬웠습니다. 어머니가 쓰신 텍스트 에디터는 PIE.ABS였는데, 제 눈에는 타자기에서 PIE로 넘어가는 사용성의 거리가 PIE에서 MacWrite로 넘어가는 거리보다 더 컸습니다.

    어머니가 쓰신 Graftrax 이전 시절의 Epson MX-80에서는 폰트를 고를 여지가 별로 없었습니다. Pica나 Elite였던 것 같습니다.

    조판은 분명 아주 만족스러운 일이지만, 글쓰기에 꼭 필요한 건 아닙니다.

  11. tmoertel HN

    전문 출판에 groff를 쓸 때 약점이 될 수 있는 점은, 2014년에 나온 현재의 미션 스테이트먼트에 따르면 줄 배치 알고리즘이 한계가 있고 시대에 한참 뒤처져 있다는 것입니다.

    groff는 현재 탐욕 알고리즘(greedy algorithm)으로 문단을 한 줄씩 조판하지만, TeX와 Heirloom troff 등에 구현된 Knuth-Plass 알고리즘은 문단 전체에 걸쳐 줄바꿈을 최적화해서 더 균일한 조판상의 회색도(typographic grey)를 얻습니다. groff가 마주한 가장 흥미로운 과제 가운데 하나는 개선된 조판 알고리즘을 구현하는 것이며, 가장 유력한 후보는 Knuth-Plass입니다. 큰 작업이지만, groff의 깔끔한 코드베이스와 도움을 주는 전문가 커뮤니티가 있으니 더 많은 개발자가 나서서 프로그래밍 실력을 보태 주기를 바랍니다.

    그에 못지않게 중요한 것은 TrueType, Open Type 등 Type1이 아닌 PostScript 폰트를 기본으로 지원하고 유니코드 지원을 개선하는 일입니다.

    출처: https://www.gnu.org/software/groff/groff-mission-statement.html

  12. dofm HN

    저는 1994년에 대학 과제를 troff로 조판했습니다. 제출받은 교수님은 감탄하셨지만, 반 학생 절반이 보는 앞에서 제 정신 상태를 의심하셨습니다. 틀린 말씀은 아니었죠.

    그때 원고의 소스 코드가 어딘가에 아직 남아 있을지도 모릅니다. 아마 지금도 파싱될 겁니다.

    왜 그랬는지는 기억나지 않지만, 돌이켜보면 용량이 극도로 빠듯했던 제 리눅스 머신에 LaTeX는 들어갈 자리가 없었는데 troff는 이미 깔려 있어서였을 수도 있습니다.

    추신: "인라인 주석이 없으면 훨씬 읽기 쉽습니다:"라는 문장에 웃음이 났습니다. 암요, 훨씬 쉽고말고요 ;-)

  13. fweimer HN

    오라일리도 예전에는 책을 troff/groff로 조판했습니다. http://www.lemis.com/grog/Documentation/PUS/tmac.Gbignuts.G ("Steve Talbott, Lenny Muellner가 만든 O'Reilly & Associates 도서용 매크로")

  14. 2b3a51 HN

    Tim O'Reilly 본인이 troff 조판에 관한 책을 공저했다는 것도 언급할 만합니다. Dale Dougherty와 Tim O'Reilly가 쓴 Unix Text Processing(Hayden Books, 1987)인데, 이 책은 이후 Open Books Project를 통해 무료로 공개됐습니다.

    Larry Kollar가 소스 코드 저장소를 다시 만들어 두었습니다.

    https://github.com/larrykollar/Unix-Text-Processing

    제 기억으로는 그 GitHub 계정의 소스를 컴파일할 때 폰트 경로 문제 하나만 해결하면 됐습니다.

  15. tmoertel HN

    맞습니다. 1989년에 나온 Nutshell Handbook Using C on the UNIX System의 판권 면(colophon)에 이렇게 적혀 있습니다.

    이 책의 본문은 Times Roman, 제목은 Helvetica, 예제는 Courier로 조판했습니다. 텍스트는 troff 텍스트 포매터와 devps PostScript 필터로 작성했습니다. 그림은 Macintosh로 만들었습니다. 인쇄는 Apple LaserWriter로 했습니다.

  16. staplung HN

    모르시는 분들을 위해 말씀드리면, groff의 조상인 "roff"는 UNIX의 탄생 비화와 아주 밀접하게 얽혀 있습니다. roff 자체에도 Multics의 RUNOFF라는 선조가 있었고, 이름도 거기서 왔습니다. roff는 사실상 UNIX의 첫 번째 킬러 앱이었고, 벨 연구소에서 특허 출원을 담당하던 부서가 특허 신청서를 조판하는 데 썼습니다. 그 덕에 UNIX를 계속 개발할 명분이 생겼습니다.

    요즘은 적어도 BSD 계열에서는 groff가 mandoc에 어느 정도 밀려난 것 같습니다.

  17. kragen HN

    맞아요, UNIX 프로젝트는 처음에 경영진이 워드프로세싱 시스템으로 자금을 댄 거였죠.

  18. throwaway81523 HN

    참고로 저는 대학 리포트를 상당수 Roff 버전으로 썼습니다. G. L. Sicherman 대령이 CP/M용으로 처음 만든 것인데, 제가 이걸 당시 손에 넣었을 때 이미 구닥다리였던 MSDOS 노트북용으로 Turbo C로 포팅했습니다. 훨씬 나중에 x64 리눅스에서 그 프로그램을 돌려 봤는데, DOS 관련 코드를 좀 걷어내니 시대에 뒤떨어진 C 문법이 몇 군데 있었는데도 여전히 잘 돌아갔습니다. CP/M 프로그램은 지금도 오래된 코드 아카이브 사이트에 남아 있습니다.

    그러고 보니 옛날 리눅스 박스용으로 조잡한 HTML to 텍스트 렌더러를 짠 기억도 납니다. 그때는 lynx -dump가 너무 느렸거든요. 제가 짠 그 코드가 아직 어딘가에 남아 있을지 궁금하네요. 요즘 하드웨어에서는 Lynx가 엄청나게 빠릅니다.

  19. armcat HN

    『왕좌의 게임』 작가 George RR Martin은 인터넷에 연결되지 않은 낡은 MS-DOS 머신에서 WordStar 4.0으로 소설을 전부 쓴다고 합니다. [1]

    [1] https://www.bbc.com/news/technology-27407502

  20. tmoertel HN

    S급 작가들을 보면서 알아챈 게 하나 있는데, 대부분 정해진 루틴이 있고 그걸 고수한다는 점입니다. 잘 되는 걸 굳이 망칠 이유가 없잖아요. 루틴이 자리 잡으면 거기에 몸을 맡기게 되고, 근육 기억이 알아서 글쓰기 모드로 데려다 줍니다. 루틴을 건드리기 시작하면 슬럼프가 오는 거죠.

  21. howunfortunate HN

    맞는 말씀인데, 이 댓글이 하필 세계에서 가장 유명한 슬럼프 사례인 GRRM 얘기에 달렸다는 아이러니는 짚고 넘어가야겠네요.

  22. bawolff HN

    글쎄요, 특정한 이야기 하나에서만 막힌 거죠. GRRM은 그 사이에 다른 글도 썼으니까요.

    개인적으로는 그 사람이 안쓰럽습니다. 1991년에 시작한 프로젝트만 하라고 온 세상이 닦달한다고 상상해 보세요.

  23. 3eb7988a1663 HN

    Stephen King이나 Brandon Sanderson처럼 실제로 글을 쏟아내는 사람에게 초점을 맞추는 게 낫지 않을까요.

  24. literallyanythi HN

    잠깐 검색해 보니 George R R Martin이 출간한 글은 300만~400만 단어라고 합니다. 『얼음과 불의 노래』만 약 180만 단어고요. 제 생각에는 그 정도면 충분히 주목할 만한 양입니다.

    솔직히 글의 분량은 별로 쓸모 있는 지표 같지도 않아요. Stephen King은 George보다 3배 정도밖에 안 썼고, Nabokov(두 언어에 걸쳐 150만~200만 단어) 같은 작가보다는 6배쯤 많이 썼을 뿐입니다. 제가 보기에 진짜 교훈은 어떤 기술을 쓰든 그냥 쓰라는 것입니다.

  25. sloum HN

    제가 아는 한 한 권뿐이긴 하지만, 제가 들어 본 주요 작가 중에 장편소설 한 편을 펜과 종이로 통째로 쓴 사람은 Stephen King이 유일한데(그 작품이 _Dreamcatcher_입니다), 저는 그게 아주 흥미롭습니다.

  26. literallyanythi HN

    잠깐만 검색해 봐도 아는 게 금방 늘어납니다(그리고 안타깝게도 이 점에서는 Stephen King이 훨씬 덜 흥미로워집니다). Steinbeck은 East of Eden을 쓰느라 연필을 300자루나 썼습니다. Nabokov는 소설 전부를 오로지 색인 카드에 썼습니다. J.K. Rowling도 해리 포터 대부분을 줄 없는 종이에 손으로 썼다고 하고요.

    그리고 소설가는 아니지만 Tarantino도 시나리오를 전부 손으로 쓰는 걸로 유명합니다.

  27. atombender HN

    깨뜨려서 미안하지만, 손으로 쓰는 걸 선호하는 소설가는 정말 정말 많습니다!

    제 기억에 남는 대표적인 예로는 J. R. R. Tolkien, Patrick O'Brian(오브리-마투린 시리즈 21권을 전부 손으로 썼고, 한때는 "잉크와 깃펜"으로 쓴다고 주장하기도 했습니다), Nabokov, Joyce Carol Oates, Ursula LeGuin, Truman Capote가 있습니다.

  28. themadturk HN

    Neal Stephenson은 Baroque Cycle 전편을 포함해 여러 소설을 손으로 썼습니다. 아래 사진은 원고 더미와 그 아래에 놓인 출간된 양장본 세 권을 보여줍니다.

    https://www.flickr.com/photos/djwudi/3617012248/

  29. viccis HN

    그럼 소설을 안 쓰는 데는 뭘 쓰는데요?

  30. 2b3a51 HN

    groff를 다룬 이 글이 반가웠습니다. groff는 출판 시스템으로서 과소평가되고 있습니다. 마크다운 마크업 일부를 골라 둔 groff 매크로로 바꿔 주는 펄 스크립트도 아주 흥미롭습니다. 다만 글쓴이가 mom 매크로를 그냥 쓰지 않고 왜 자기만의 매크로 세트를 따로 만들었는지 궁금했습니다. 독일어 마크업이 필요해서였을까요(영어 이외의 언어가 문제가 된다는 점은 이해합니다)?

    Nils Holm( https://www.t3x.org/ )도 groff로 전자책을 내는데, 제가 아는 한 그는 자신의 마크업이나 매크로를 공개하지 않습니다.

    글쓰기로 말하자면, 저는 아직 문장을 다듬는 중이라 45쪽은 먼 목표입니다.

Hacker News에서 보기 ↗