以前、Doxygenの一連の記事で、Windows上でDoxygenを使って日本語PDFドキュメントを作成する方法を紹介しました。
先日久しぶりにDoxygenでPDFを作成する機会があったのですが、xcolor.styが無いとかでLaTeX → PDF化できませんでした。後日xcolor.styを入れてPDF化できるようにはなったのですが、使用しているツール類も結構古いし、新しく環境を作り直すことにしました。
以前に比べて、Windows上でDoxygenを使った日本語PDFの作成がとても簡単になっています。
環境
- OS: Windows 7 Professional Service Pack 1
- Doxygen: 1.8.3.1 (doxygen-1.8.3.1-setup.exe)
http://www.stack.nl/~dimitri/doxygen/ - W32TeX: last updated on 2013/02/25の標準インストール
http://w32tex.org/index-ja.html - Ghostscript: GPL Ghostscript 9.07 (gs907w32full-gpl.exe)
W32TeXのページにある、GPL Ghostscript 9.07 バイナリ
それぞれのページに従ってインストールします。
- Doxygenが
Makefile
の他にバッチファイル(make.bat
)を出力してくれるようになったので、Cygwinは必要なくなりました。 listings.sty
やxcolor.sty
は、W32TeXに入っているらしく、別途インストールしなくても大丈夫でした。- GraphViz (DOT)は日本語PDF作成に直接関係ないので上には挙げませんでしたが、実際にはGraphViz 2.30.1を使ってうまく動いています。
手順
日本語PDF作成のための最低限の設定だけ書きます。その他はDoxygenでドキュメント生成(4)や、Doxygenのマニュアルを参照してください。
- Doxywizardで、Config file (Doxyfile)作成
- [Expert]/[Input]
- INPUT_ENCODING
CP932とかUTF-8など入力ソースコードファイルのエンコーディングに合わせます。
- INPUT_ENCODING
- [Expert]/[LaTeX]
- LATEX_CMD_NAME
platex -kanji=utf8
DoxygenがLaTeXファイルをUTF-8で出力するので、-kanjiはソースコードファイルのエンコーディングにかかわらずutf8です。 - USE_PDFLATEX
チェックをはずす。
- LATEX_CMD_NAME
- [Expert]/[Input]
- Doxywizardからdoxygenを実行し、LaTeXファイル作成
- [Run]タブで、[Run doxygen]ボタンをクリックして実行
- make.bat実行
- 上記で作成されたlatexフォルダの
make.bat
を実行すると、refman.pdfが作成される。
- 上記で作成されたlatexフォルダの
- 以上、簡単でしょ。
その他
- PROJECT_NAME
漢字使用可能です。 - OUTPUT_LANGUAGE
JapaneseでもOKでした。ただ栞は文字化けします(後述)。 - PDF_HYPERLINKS
- OUTPUT_LANGUAGEをJapaneseにしてPDF_HYPERLINKSのチェックをつけたままだと、作成されたPDFの栞が文字化けしています。手作業で文字化けしないようにする方法もあるようですので必要であればネット上を探してみてください。
- 私はコンピューター上で閲覧するときははHTML出力を使用しており、PDFは印刷用なので、PDF上のリンクを使用することもなく、印刷物でリンクが青色になっているのもいやなので、普段はPDF_HYPERLINKSのチェックははずして使っています。
- OUTPUT_LANGUAGEの指定は見出しに対してだけなので、Englishのままでも見出しが英語になるだけであり、ソースコード上の日本語は文字化けせずに出力されます。
- GraphViz
- GraphViz (DOT) を使うときは、[Wizard]/[Diagram]で、’Use dot tool from the GraphViz Package’をチェックするだけでは、ダイアグラムは何も出力されません。[Expert]/[Dot]でDOT_PATHを指定する必要があります。
- DOT_MULTI_TARGETSをチェックすると変換処理が早くなります。
- 裏話
初めは、Cygwin上でmakeを使っていたのですが、PDFで文字化けしていました。途中で作成されるPSでは文字化けしていなかったのでPS → PDF がまずいのだろうとMakefileを見てみると、ps2pdf
が使われていました。
そこで、% which ps2pdf
をしてみるとCygwin上の/usr/bin/ps2pdf
が引っかかったので、とりあえずMakefile上でGhosrtscriptのlib/にあるps2pdfを絶対パス指定したところ、文字化けしないようになりました。
さて本格的にはどう対処しておこうと思ってファイルを眺めていたところmake.batを見つけ、このパス問題は関係なくなりました。