2014-05-24 18:40頃追記
というご指摘を頂いて試したら、epsにしてみたらあっさり出来ました。ありがとうございます!@hnakamur2 plantuml_latex_output_format で eps か pdf を指定すれば上手く行くかもしれません。 https://t.co/VuY328ZAIF
— Yuya Nishihara (@yujauja) 2014, 5月 24
ということで下記は適宜編集しました。
rst2pdfを使って変換する方法はsphinx, rst2pdf, plantumlでUMLのクラス図入り本文日本語テキストをpdfに変換してみた - Qiitaに書きました。
を見るとLaTeX経由のほうが、「見た目の綺麗なPDFが作れる」らしいので試してみました。
https://github.com/hnakamur/sphinx-rst2pdf-plantuml-japanese-example
にサンプルソースを置いてあります。
サンプル出力結果はこちらです。
https://hnakamur.github.io/sphinx-rst2pdf-plantuml-japanese-example/sphinxrst2pdfexample.pdf
セットアップ
sphinx, rst2pdf, plantumlでUMLのクラス図入り本文日本語テキストをpdfに変換してみた - Qiita
と同じですが、以下の手順が追加で必要です。
MacTeXをインストール
TeX Liveというのを使うらしいのですが、MacWiki - TeX LiveによるとOSXの場合はMacTeX - TeX Users Groupらしいので、インストーラをダウンロードしてインストールしました。
PATH環境変数を設定
bashを使っている場合は~/.bash_profile、zshを使っている場合は~/.zprofileに
# Add PATH for MacTeX TexLive
export PATH=$PATH:/usr/local/texlive/2013/bin/universal-darwin
を追加して
exec $SHELL -l
で有効にします。
conf.pyに設定追加
conf.pyにplantumlの設定のところに、plantuml_latex_output_formatをepsに設定するのを追加します。
# -- Options for PlantUML --------------------------------------------------
plantuml = ['java', '-jar', '/usr/local/Cellar/plantuml/7994/plantuml.7994.jar']
plantuml_latex_output_format = 'eps'
https://pypi.python.org/pypi/sphinxcontrib-plantuml#configuration
に説明があります。
デフォルトはpngだそうです。pdfにするにはepstopdfというPerlスクリプトが必要らしいです。今回はepsで動いたのでpdfは試してないです。
PDF生成
make latexpdfja
PDFファイル内のフォントを調べてみました
(env)% pdffonts _build/latex/sphinxrst2pdfexample.pdf
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
QBGDEF+NimbusSanL-Bold Type 1C WinAnsi yes yes no 4 0
THCURT+NimbusSanL-BoldItal Type 1C WinAnsi yes yes no 5 0
AHQWSO+NimbusRomNo9L-Regu Type 1C WinAnsi yes yes no 6 0
MXFITE+NimbusRomNo9L-Medi Type 1C WinAnsi yes yes no 14 0
Ryumin-Light-Identity-H CID Type 0 Identity-H no no no 22 0
PUIYBR+NimbusRomNo9L-ReguItal Type 1C WinAnsi yes yes no 37 0