ディスカッション (10件)
AdobeやMicrosoftといった巨大企業のツールに依存せず、Git管理を活用した新しい書籍制作環境を構築しました。煩雑なレイアウト作業や同期の問題から解放され、よりエンジニアらしい柔軟な執筆フローを実現しています。
筆者は言及してたキリスト教系のノベラ(中編小説)を実際に書いたのかな?文面からだとちょっと読み取れないや。もし書いてるなら、あのテックスタックと組み合わせてる時点で相当すごいことだよな。
いやー、本当にすごい。尊敬するよ。
自分も2015年から紙の書籍や電子書籍を出版してるけど、WordからPDF/X-1a、そしてePubやKindle向けに変換するパイプラインは本当に地獄だよね。出版後に細かい修正をするのも苦痛だし、全フォーマットで同じ修正を反映し忘れるとすぐミスるし。
あまりに面倒だから、自分はPythonとWeasyPrint、ghostscriptを使ってMarkdownからHTML経由でPDF/X-1aを生成するプロセッサを自作したんだ。これならgitでバージョン管理もできるし、CSSでフォーマットの調整も自由自在。今のツールは技術者じゃない作家には使いにくいかもしれないけど、これのおかげで作業時間が何時間も短縮されたよ。
もしハッカーの誰か、ブルーオーシャンな市場を探してるなら、WordやPDFなんかを出版用のPDF/X-1a/3/4に変換してくれる使いやすいツールを作ってみてよ。現状、既存のツールはクローズドで高価だし、使いにくいものばかりなんだ。大儲けとはいかないだろうけど、多くのインディーズ作家には間違いなく喜ばれるはず。
Gitとテキストエディタを使ってて唯一悩むのは、ハードラップにするかソフトラップにするかだよね。Vimならハードラップの方が扱いやすいし、gitのdiffエンジンをdifftみたいなのに変えれば、ハードラップの散文でもデフォルトよりずっとマシになる。
ただソフトラップには明確なメリットがあって、改行コードが入らないから他の媒体にコピペしやすいし、git diffでも「行ごとのノイズ」じゃなく「編集した段落」だけが表示される。唯一の難点は、yyやdd、ccといったVimの操作がハードラップじゃないと指に馴染まないことかな。仮想行に対してそれらのコマンドを強制的に働かせるのは(自分の知る限り)できないからね。
製造拠点が海外に移る前、長年商業印刷に携わってた身からすると、この記事で語られてるワークフローは筆者が思ってる以上に自動化できるよ。例えば、「ちょっとした修正が面倒。『マスター』DOCXを更新して、InDesignファイルを更新して…」というくだりだけど、InDesignで外部ドキュメントをマスターとして使う適切な方法はPlaceコマンドを使うことで、Word側の修正を自動で反映できるんだ。また、InDesignは書き出しで直接複数のePub形式に対応してる。あと、著者が一般的なLaTeXのワークフローに馴染みがないのも気になる。「なぜLaTeXで書かないの?と聞かれるかもしれないが、テキストエディタではなくワードプロセッサで書きたい」とか「ODTファイルをTeXに変換するには?」とか。ワードプロセッサはプレーンテキストを含めてあらゆる形式にエクスポートできるし、TeXエディタの目的はInDesignと同じで、他で書かれたテキストを組版することだからね。ワードプロセッサのスタイルを保持しようとするのは、高度な組版ツールを使いたいという目的と矛盾してる気がする。
全体として技術的な読み物としては楽しめたけど、著者の出版に対するアプローチはあくまでアマチュア視点だと思ったほうがいいかも。
バージョン管理とCI/CDを使った出版パイプラインの構築は簡単そうに見えるけど、実際は全然そんなことないよね。
今まで見た中で一番素晴らしい例が「The Sourdough Framework [0]」かな。あの本でのバージョン管理と出版の統合のされ方は本当に感動した。
ああ、またJSライブラリかと思われるかもしれないけど、これ、サワードウ・ブレッド(天然酵母パン)作りの本なんだよね。ここでも何度か話題になってるけど、2023年のこの記事 [1] が一番人気だったかな(コメント103件)。
[0] - https://github.com/hendricius/the-sourdough-framework
[1] - https://news.ycombinator.com/item?id=35961590
えっと、Typstを使わない理由は?自分は論文と本を一冊ずつこれで出版したけど、最高だったよ。HTML出力機能も開発中だし、それができればePub作成ももっと楽になるはず。それまではPandocでいけると思うよ。
Typstへの言及がないのは残念だな。記事のセットアップと比べてどうなのか気になる。
自分もHTMLとEPublish、Calibreをベースにした似たようなパイプラインを使ってるよ:
https://frequal.com/forwriters/
最近の小説で使ってみたんだ:
https://www.amazon.com/dp/B0GYCZJVGX
自分もここ数年、非営利団体向けにTypstとPandocを使って電子書籍を作ってるけど、かなり上手くいってるよ。
PDF版と印刷用、それにePubを生成してるんだけど、それぞれ微調整が必要な部分はsys.inputを使って条件分岐させてる。
最初は大変だったし、Pandocを改善してもらうために10個くらいissueを立てる必要があったけど、今はかなりシームレスに動いてる。