雑文発散

«前の日記(2014-01-05) 最新 次の日記(2014-01-07)» 編集
過去の日記

2014-01-06 [長年日記]

[CakePHP] 日本語ドキュメントの PDF 化をやってみた

CakePHP 2.x のドキュメントは、オンラインで閲覧する HTML 版の他、PDF や ePub でも提供されている。ただし、PDF で提供されているのは、英語・スペイン語・フランス語・ポルトガル語のみで、日本語は含まれていない。

では、日本語のページではどうなっているかと言うと、「PDF(英語)」をダウンロードできるようになっている。

CakePHP cookbook 日本語版

これらのドキュメントは、Sphinx を使って、LaTeX 経由で PDF を作成している。LaTeX と言えば、「インストールが大変」「日本語フォントが…」「レイアウト崩れが…」みたいな印象を持ってしまっていていたのだけど、今は TeX Live というパッケージが用意されているのだねぇ。

これならもしかしてなんとかなるのかなぁ?と思って、オライリーの「Sphinxをはじめよう」とかも参考にしつつ、まずは Mac に MacTex 2013 をインストールした。

でも、「Sphinxをはじめよう」に書かれた内容通りでは、何故かうまく PDF が作れない。

なんでだろー?と思ってモヤモヤしてたら、Sphinx のバージョンが違うことが判明。書籍で解説している Sphinx のバージョンは 1.2b1 で、オレの手元のバージョンは 1.1.3 とかだった。

1.1.3 から 1.2 の間に日本語の PDF 作成に関する修正が行なわれたようで、Sphinx を 1.2 にしたらすんなり作成ができるようになった。

Mac だけだとアレなので、Debian 7 上に Tex Live 2013 と Sphinx 1.2 をインストールして、日本語 PDF の生成が可能なことも確認した。

これなら大丈夫かな?と、CakePHP のドキュメント生成用の Makefile にちょこっと修正して pull request を投げてみた。実際にドキュメントを生成している環境を知らないので、このまま通るかは分からない。

ちなみに PDF は必要なの?と言うと、個人的にはそうでもない。ただ、必要としている人もいるかも知れないので、用意できるならあった方が良いよねぇという感じ。