今日も微速転進

ここではないどこかへ

技術書を書くツールの検討メモ


スポンサーリンク

メモ書き。書きかけのブログ記事が滞留しておりよろしくないのでさっさと公開しておきます。

要件

  • EPUB形式、PDFの両方を生成できること
  • テキストベースでバージョン管理システムが使えること
  • 原稿ファイルの分割をサポートしていること

できれば「コラム」のような囲み領域を使った補足情報(「囲み記事」または「カコミ」と呼ぶらしい)を入れることができると望ましい。

最悪、EPUB形式からCalibreでPDFにすることもできる。

TeX

昔は指示されたわけでもないのにレポートをLaTeXで書いた。卒論と修論LaTeXだった*1

[改訂第7版]LaTeX2ε美文書作成入門

[改訂第7版]LaTeX2ε美文書作成入門

昔はともかく流石にダイレクトにTeXは無理。

Re:View

Re:View記法を覚える必要あり。日本語のノウハウ記事が結構ある*2

テンプレートが配布されているのでとっつきやすい。

github.com

また、テンプレートを配布している団体による解説本がある。

TechBooster/C89-FirstStepReVIEW-v2: 技術書をかこう!はじめてのRe:VIEWは技術書の執筆ノウハウ本のリポジトリです

開発チームがちょっと属人的っぽいので保留。過去のしがらみによるジレンマが怖い。

qiita.com

バージョン3.0で大きな変更が入るらしいのでそれからでも遅くはなさそう。

参考:Re:VIEW 3.0への道 - Qiita

GitBook

Markdown · GitBook Toolchain Documentation

悪くはないが、囲み記事の実現方法が不明。

Pandoc(+ alpha)

Markdownの拡張でspandiv相当の機能があるらしいのでいいかも。

ビューワーが対応しているかが問題だけどCSSである程度は囲み記事を実現できるはず。

Sphinx (RestructuredText)

Overview — Sphinx 1.8.0+ documentation

literalincludeという機能で、外部ファイルの指定範囲を読み込んだりできる。ソースコードの一部を読み込んで解説する、というスタイルなら断然有利。

ただ、Sphinxは書籍作成用ではない、という話を聞いた気がする。

MDPreview

詳細不詳。リブロワークスという会社(ふりがなプログラミングの会社)のMarkdownベースのプレビューツールを使う方法。

Markdwon+CSS(+ Vivliostyle.js)からIndesign用のデータ(XML?)を生成するらしい。

PDFを生成できるみたいだけどIndesignを使っている会社で商業出版する場合以外はどうするんだろう

囲み記事用のタグなど、Markdownを一部拡張している。

lwohtsu/language-mdbp: markdown grammer for MDBP with ATOM

ブラウザでPDF生成

[2018/09/08 追記]

CSS組版。ブラウザでHTMLを表示して印刷メニューでPDFにするらしい。pandocでepubを生成させてもいいのかも。

CSSのカウンタで章番号をふるとして、目次はどうするんだろう。

関連:https://www.antenna.co.jp/AHF/ahf5/CSSInfo/CSS-Page-Tutorial.pdf

原稿データの管理

バージョン管理システムを使う前提だけど、アウトラインエディタ系のツールを使うのもありかも知れない。

Scrivener | Literature & Latte

先に章構成を固めて書くなら問題ないか。

参考記事

まとめ

悩むくらいならRe:Viewでガシガシ書いていくのがいいかも知れない。 とりあえずMarkdown形式で書き始めておけば途中でスイッチするのは不可能ではなさそう。Re:View形式に関してもMarkdown形式からの変換ツールがある。

techbooster.booth.pm

*1:高専の卒論を除く

*2:逆に言うと日本語しか無い

広告