I think it’s fascinating to see all the different ways that techfolk who write fiction set up their writing pipelines. Some people go with a bare-bones coding editor like Vim; others use “pro” tools Scrivener. And then there’s the typesetting pipeline. Using troff is pretty out there.
When I started writing fiction, here’s what I came up with. I write in Google Docs because it’s lightweight, works everywhere, and can easily export to Markdown format. From there, I manage the Markdown source in Git and Emacs. For typesetting—I cannot abide crappy word-processor output—I used to use Pandoc to generate LaTeX markup and run LuaLaTeX to produce PDFs. But that took several seconds. Now, I use Typst to go straight from Markdown to PDF files. It’s pretty much instant.
If you want to see what the output looks like, here’s the first chapter of my current project:
(Notice: This is a typesetting sample, not a writing sample. It’s my W40k-adjacent fanfic, so you have been warned.)
It’s set in 12pt Erewhon, which is an enhanced version of Andrey V. Panov’s Heuristica font family, which extends Robert Slimbach’s Utopia font family. Slimbach is a sublime type designer—he created Minion—and Utopia is one of his early works that is especially spirited.
Indeed. One irresistible temptation for coders who go into writing is to bikeshed their pipeline. I know I have spent many hours tweaking my writing pipeline when I should have been writing. I mean, why just write when you can create a Containerfile to build a hermetically sealed image that houses your typesetting system and a dozen carefully chosen fonts, and then you can write scripts managed by a Makefile to launch containers from the image and inject into them your source text and extract from them the typeset PDFs? I mean, surely all of that is essential work on the critical path to getting your writing done. Right?
Agreed, it seems writers that also code have all kinds of different workflows. I end up using (x)html and doing print stylesheets and rendering pdf for print using weasyprint (works really well, and they have sample stylesheets on their website that are a good starting point).
I typeset some university work in troff in 1994. The professor I submitted it to was impressed but questioned my sanity in front of half of the class. Not wrong to do so.
Might still have the source code to that work somewhere. And it probably still parses.
Can't remember why I did it but on reflection it might simply have been that LaTeX was not going to fit on my extremely space-constrained Linux machine.
One thing I have noticed about S-tier writers is that most of them have an established routine and stick to it. Why risk breaking something that works? With an established routine, you settle into it, and muscle memory puts you into writing mode. Start mucking with the routine, and that is how you get writer’s block.
At my dayjob, our legacy customer communication generation (for letters and such) has a runoff syntax. It's z/os, so not groff, but something of that lineage. People are still working with those documents to this day, generating millions of them a year. They all look at me funny when I identify it as runoff, everybody else thinks it's something custom in-house.
When I started writing fiction, here’s what I came up with. I write in Google Docs because it’s lightweight, works everywhere, and can easily export to Markdown format. From there, I manage the Markdown source in Git and Emacs. For typesetting—I cannot abide crappy word-processor output—I used to use Pandoc to generate LaTeX markup and run LuaLaTeX to produce PDFs. But that took several seconds. Now, I use Typst to go straight from Markdown to PDF files. It’s pretty much instant.
If you want to see what the output looks like, here’s the first chapter of my current project:
https://drive.google.com/file/d/1Wl4k_rdYGFZp-r5nq864r5CNzD1...
(Notice: This is a typesetting sample, not a writing sample. It’s my W40k-adjacent fanfic, so you have been warned.)
It’s set in 12pt Erewhon, which is an enhanced version of Andrey V. Panov’s Heuristica font family, which extends Robert Slimbach’s Utopia font family. Slimbach is a sublime type designer—he created Minion—and Utopia is one of his early works that is especially spirited.
And perhaps infinitely procrastinating on the actual writing itself...
I like Erewhon. Nice font.
Might still have the source code to that work somewhere. And it probably still parses.
Can't remember why I did it but on reflection it might simply have been that LaTeX was not going to fit on my extremely space-constrained Linux machine.
[1] https://www.bbc.com/news/technology-27407502
I suspect many people will prefer HTML for markup. That's why I built EPublish, which is related but for an HTML -> EPub workflow:
https://frequal.com/epublish/