zz log

zaininnari Blog

CakePHP cookbook の日本語PDFを作成する

f:id:zainin:20140208203006p:plain

sphinx の日本語PDFの作成方法を調べたので作成しました。

環境

  • CentOS release 6.4 (Final) (cat /etc/centos-release)
  • Python 2.6.6 (python --version)
  • Sphinx 1.2 (python -c 'import sphinx; print sphinx.__version__')
    • 日本語化パッチが取り込まれた 1.2以降を利用するのが楽です。
  • pdfTeX 3.1415926-2.5-1.40.14 (TeX Live 2013) (latex -v)
    • TeX Live 2011 の記事のやり方で通用しました。

対象ドキュメント

  • Cookbook 2.x の日本語版

手順

Sphinx のインストール

基本は以下を参考にしました。
Sphinxをはじめよう — Python製ドキュメンテーションビルダー、Sphinxの日本ユーザ会

# easy-installという、外部ライブラリをインストールするのに便利なコマンドをインストール
python ez_setup.py

# Sphinxのインストール
easy_install sphinx

TeX Live のインストール

ISOとネットワーク経由のインストール方法がありますが、
今回は以下から、TeX Live のネットワークインストーラーを入手してインストールしました。
Installing TeX Live over the Internet - TeX Users Group

※2G以上の容量を使用するので、空き容量に注意

# インストーラーの取得
http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz

# 解凍
tar xvzf install-tl-unx.tar.gz

# install-tl-以降の日付は適宜修正
cd install-tl-20140208

# インストーラーの実行
perl install-tl

最新の Cookbook を入手

git clone git@github.com:cakephp/docs.git . 

日本語PDFを作成するためのひと手間

以下を参考にしました。
LaTeX経由でのPDF作成 — Python製ドキュメンテーションビルダー、Sphinxの日本ユーザ会

日本語PDFの作成には、make all-pdf ではなく make all-pdf-ja を実行する必要があるため、ja/Makefileの編集を行います。

vi ja/Makefile

make -C $(BUILDDIR)/latex/$(LANG) all-pdfmake -C $(BUILDDIR)/latex/$(LANG) all-pdf-jaに書き換えます。

[修正後]

latexpdf:
        $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex/$(LANG)
        @echo "Running LaTeX files through pdflatex..."
        make -C $(BUILDDIR)/latex/$(LANG) all-pdf-ja
        @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex/$(LANG)."

PDFの作成

Cookbook のPDF作成用のコマンドを実行します。

# 特定の言語を指定する場合は、「-[言語]」を指定します。
make pdf-ja

作成が完了すると、build/latex/ja/CakePHPCookbook.pdf が生成されます。

まとめ