sphinx1.6でpdf出力できないのは私の設定ミスでしたその2

今度は、html出力時に動作がおかしい

“language = ‘ja‘“だとsphinxcontrib.tikzの出力がエラーになる。

仕方がないので、makefileに以下のような記述を追加してエラーを回避。

# html出力でlanguageがjaだとTikZ Extentionがエラーを吐く。理由は不明。
html: Makefile makeBB
    @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -Dlanguage='en'

# こっちは素直にbbを作ってからコンパイル
latexpdf: Makefile makeBB
    @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

# TikZ使用時にxbbがないエラーを回避するために、画像ファイルにはxbbを作成しておく。
# (macPortでインストールした場合は、自動でxbbを生成しない設定らしい)
makeBB:
    find ./source -name \*.png -or -name \*.jpg -or -name \*.pdf \
    | while read theFile; do extractbb $$theFile; done

latexもpythonもわかっていないので、原因は不明。

原因の予想

  1. sphinx1.6のLaTeXBuilder出力の方法がlatexmkを使うように変更になった。 (http://www.sphinx-doc.org/en/stable/builders.html#sphinx.builders.latex.LaTeXBuilder)

2. sphinxcontrib.tikzの中ではconfig.latex_engineで設定されているlatexを使っている。 (https://bitbucket.org/philexander/tikz/src/36f13083d61e91eb7cfea6f1ed959118749e371c/sphinxcontrib/tikz.py?at=master&fileviewer=file-view-default#tikz.py-245)

  1. sphinxcontrib.tikzの記述がlatexmkと衝突するような記述になっているかもしれない。

対策

makeファイルを変更する対策は小手先の対策すぎる。

私の目的には、tikzは強力すぎるのでもう少し単純な描画言語で画像にマークアップしたい。

sphinxcontrib.tikzのコードを修正するか、新たにextensionを作るかで迷う。

どっちらにしても、pythonは読み書きできないのでこれから勉強する必要がある。

プロジェクトファイル