
2026/05/23 2:17
Adobe と Microsoft を飛び越えてGitで管理する書籍製作パイプラインを作成しました
RSS: https://news.ycombinator.com/rss
要約▶
日本語訳:
著者は、新規の形式付けをソフトウェア工学上のタスクとして扱い、Adobe InDesign などの高価なライセンスに依存する脆弱な専用ファイルから、オープンでプレーンテキスト形式のアートファクトへの移行を行うことで、自己出版の自動化を目指している。以前は Microsoft Word と Adobe InDesign を用いて印刷物を制作しており、Calibre を使って Kindle 版への変換を試みても品質が不足していた上、LibreOffice のアップデートにもかかわらず高品質なタイポグラフィを達成できていなかった。今回の移行では LaTeX と自作の Python スクリプトを採用し、電子書籍版および印刷版双方で高品質なテキストを提供すると同時に、Adobe InDesign などの高額ライセンスへの依存度を低減させている。
最も重要な点として、Standard Ebooks のガイドラインを採用することで、厳格なスタイルマニュアルとコマンドラインツールが不可欠な「リンター」として機能し、コードの品質を自動的に検証してデジタル上のエラーを未然に防ぐ。最終出版である『サルデーニャ公(Prince of Savoy)』により、Git を用いたバージョン管理に基づく開発へのピボットが完了した。今後、プロジェクトでは汎用的なスクリプトを活用し、Open Document XML をそのままクリーンな XHTML と LaTeX にマッピングする手法を採用する。この方法は、著者にとって持続可能で再現可能なアプローチを提供し、脆弱なバイナリ形式を意味論的データ構造に置き換えることで、高価なソフトウェアへの依存関係を持たずに長期的な互換性を促進する。
本文
小説家の組版ワークフロー:「真実の源泉」と自動化作業の追求
小説創作において最も重要なのは物語そのものですが、それを出版に値する完成形とするためには、文法やレイアウトといった技術的な要素への多大な労力も不可欠です。特に自己出版においては、組版処理を後回しにしてしまうことはよくあります。ここでは、独立系作家かつソフトウェア開発者として培った、Word から LaTeX への変遷と、その自動化ワークフローについて紹介します。
🛠️ 初期のアプローチ:Microsoft Word の限界と Adobe InDesign への移行
当初の戦略はすべてを**Microsoft Word(DOCX)**で行うところから始めました。編集者や校正者が変更履歴を追跡しやすい点から、すべての最終組版ソフトウェア(InDesign, Kindle Create など)との互換性が高いためです。
⚠️ Microsoft Word の弱点
印刷用レイアウトにおいて Word は以下の点でプロフェッショナル品質に欠けます:
- マイクロタイポグラフィ機能の不足(2026 年初頭時点での確認)
- 破折符処理や両端揃えの不備
- デスクトップパブリッシングレベルの細部制御が困難
🎨 Adobe InDesign への挑戦
業界標準である InDesign で「芸術的な作品」を生み出したいと願い、Creative Cloud を導入しました。学習した主な機能は以下の通りです:
- DOCX スタイルのマッピング
- 行切りの防止(エムダッシュの制御)
- 正確な余白設定とページバランス調整
- ドロップキャップ、トラッキング、ベースライングリッドの設定
※ InDesign は印刷媒体には最適ですが、電子書籍用 EPUB の支配的なツールではありません。
📚 電子書籍制作ツールの比較
| ツール | 特徴・課題 |
|---|---|
| Calibre | ほぼあらゆる ebook を扱い、EPUB 作成ツールセットが充実。Word DOCX のインポートも容易。HTML/CSS 知識があれば高互換性な EPUB が作れます。 |
| Kindle Create | Amazon が推奨する KDP 用ですが、独自フォーマット(KPF/KFX)に変換されるため、維持すべきフォーマット負荷が増加します。 |
🚀 転換(Pivoting):Standard Ebooks ワークフローへの決断
2025 年にトライロジーの第 3 巻『サヴォイ公爵』を完結させた際、Standard Ebooks (SE) プロセスを採用する大きな転換点になりました。
🔄 SE プロセスの特徴
SE のスタイルガイドは解釈の余地を許さず、厳格かつ独断的です。しかし、これに従うことで事実上すべてのデバイスで動作する完璧な EPUBが得られます。
🛡️ standardebooks
ツールの利点
standardebooksこれはコピーエディターのようなものであり、電子書籍組版用の強力な**リンター(linting ツール)**としても機能します。主なチェック例:
- 文字サイズ単位の誤用(推奨:
単位)em - メタデータと実際の単語数の不一致
- ヘッダー要素のセマンティクスエラー(「タイトル」か「順序番号」を選べず両立させない)
- 所有格記号
のイタリック体内外の扱い's
このプロセスを経ることで、数百のチェック項目をクリアし、Git でバージョン管理されたクリーンな XHTML ソースファイルが構築できました。これにより、Kindle Create を廃棄し、SE 準拠 EPUB が KDP で良好に動作する状況を作ることができました。
📝 改造(Retrofitting):ODT と LaTeX の統合ワークフロー
旧来の Word ドキュメントを、オープンソースで編集・管理しやすい環境へ「再装備」しました。
1. マスタファイルの変換:DOCX → ODT
Word を使う疲れから解放され、LibreOffice Writerのネイティブ形式である
ODT に変更しました。
- 改修作業: 歌書・手紙・詩・引用などへのセマンティックな段落スタイル追加。
- 多言語対応: 7 つの言語ごとのスタイルを作成し、約 100 の非英語表現に適用。
- アクセシビリティ向上: 内面的思考や強調などをイタリック体として記述しつつ、それらを「セマンティクス」として扱うことでスクリーンリーダーへの対応を強化。
これで得られたのは、オープンソースで編集容易な ODT ファイルです。これを新たな「真実の源泉」と定義しました。
2. 自動化スクリプトの開発
ODT から EPUB/PDF への変換を自動化すべく Python スクリプトを開発:
とlxml
を活用し、ODT の XML ノードを中間構造にマッピング。Claude Code
設定ファイルで ODT スタイルと XHTML 要素を紐付け。TOML- 結果: リンターエラーは数個のみという極めてクリーンな EPUB が構築されました。
3. 印刷版(PDF)の課題と解決
LibreOffice Writer のマイクロタイポグラフィ機能はまだ十分でなく、InDesign と同等の品質が得られませんでした。Scribus では処理に時間がかかるため、最終的にはLaTeXへ舵を切りました。
- LaTeX の強み: 高度なタイポグラフィ、自動化能力、バージョン管理への対応。
- 実証実験: LaTeX で作成した章と InDesign との比較では、視覚的にほぼ見分けがつかない精度でした。
🔄 ODT → TeX 変換スクリプト
既存の
ODT → XHTML スクリプトを拡張し、ODT → TeX もサポートする汎用的なスクリプトを作成しました。これで印刷版(LaTeX)と電子書籍(EPUB/XHTML)の両方を、一つの「真実の源泉」から生成できます。
📂 現状のワークフロー:透明性と可視性
現在の手順は以下のようになります:
- 執筆: LibreOffice Writer(ODT)を使用。「マスタ」として管理。
- 印刷版生成: Python スクリプトで
へ変換し、PDF を出力。ODT → TeX - 電子書籍生成: 同スクリプトで
へ変換し、EPUBを出力。ODT → XHTML - バージョン管理: Git でテキストベースの
と.xhtml
ファイルを管理。(校正時は.tex
で変更確認が可能)git diff
✅ メリット
- 不透明なバイナリ(
,.docx
)から、透明なテキストへ移行。.indd - 生活の質(QOL)向上: コードとして書けるため、変化を追跡しやすく管理しやすい。
🛠️ 改善余地と未来展望
将来的には XHTML と TeX をさらに「コード化」することを願っています。現在は各書籍に別々の Git リポジトリを持つ必要があり、ODT ファイルを残しているのは、プロフェッショナルな校正者が依然としてワードプロセッサを好むためです。
このプロセスはすべての作家に向いているわけではありませんが、自分自身でフォーマット作業を楽しめれば、それは読者にとっても勝利につながります。
🔧 付録:LaTeX プレアムブルの主要パッケージ
本番環境で使用している主要な LaTeX パッケージと役割は以下の通りです:
- memoir: ドキュメント作成のための「バッテリー搭載済み」クラス
- fontspec: OpenType フォント(Adobe Garamond など)のレンダリングを許可
- polyglossia: 言語ごとの破折パターンを提供(フランス語やラテン語などの多言語対応)
- graphicx: 地図や画像の高度な埋め込みと調整を許可
- microtype: ページの外観と可读性を向上させる機能(LaTeX を選んだ主な理由の一つ)