あるテクニカルライターが最近、技術文書の制作からフィクションの執筆へと転向した際、Linuxターミナルでマニュアルページをレンダリングするために伝統的に使用されてきたレガシーなgroff組版システムが、書籍制作にも適応できることに気づきました。現代的なツールは視覚的なアクセスの良さから好まれることが多い一方で、著者はgroffの主な利点として、その相対的な軽量さと並外れた速さを強調しています。13.5年前のPCにおいて、groffは50ページの文書を約700ミリ秒、120ページの文書を1.6秒でレンダリングすることができ、組版プロセス中に動作が重く感じられることもある現代のソフトウェアに対する高性能な代替手段を提供します。
groffで書籍を制作する仕組みは、基本的なフォーマットを処理するためのカスタムマクロパッケージを定義することを含みます。著者は`.de`コマンドを使用することで、章の見出し(`.SH`)、ぶら下げインデントを伴う通常の段落(`.PP`)、および章内の間隔(`.LP`)のための特定のマクロを作成しました。例えば、`.PP`マクロは、現在の行を分割し、次の出力行に対して一時的なインデントを要求することで、ドイツの書籍で一般的なぶら下げインデントの特定の要件を処理します。フッターやページ番号などのより複雑な要素は、「トラップ」と環境の切り替えを通じて管理されます。トラップは特定の垂直位置(例:ページの終わりの5v前)に設置され、専用のフッター環境に切り替えてページ番号を印刷し、その後ページ区切りを要求するマクロをトリガーします。
その能力にもかかわらず、書籍制作にgroffを使用することには特定のトレードオフと技術的なハードルが伴います。著者は、groffにはMarkdownのような「視覚的に心地よい」性質が欠けており、それがクリエイティブな執筆プロセスにおいて生のソースファイルを直感的に感じにくくさせることがあると指摘しています。さらに、このシステムを習得するには、特定のテキストを挿入する際に意図しない改行を防ぐためのノーブレーク制御文字としてのニュートラルアポストロフィ(`'`)の使用など、複雑な挙動をナビゲートする必要があります。著者はまた、ヘッダーとフッターのサイズの完全な対称性や、特定の垂直位置要求の正確なメカニズムなど、未解決の技術的なニュアンスも認めており、groffは強力ではあるものの、プロフェッショナルな結果を得るためにはその内部ロジックを深く手動で理解する必要があることを示しています。
