SphinxでWord(docx)文書を出力してみた
自分はあまり、Office製品が好きではありません。
(Office365契約しているけど。。。)
便利なのですよ。便利なのだけど、お節介が過ぎるところがあるので。MSのOffice製品は。
そこで今回は依然から気になっていたSphinxを使ってみることにしました。
特に、Sphinxからdocxを吐き出せないかと試していたのですが、はまりポイントがあったのでご紹介。
環境は以下の通り。
・Python 2.7 (32bit)
・Sphinx 1.3.5
・sphinx-docxbuilder(コミット 83a8d13 2012-06-05)
haraisao / sphinx-docxbuilder — Bitbucket
Sphinxでdocxを出力する際に利用するモジュールは、
「sphinx-docxbuilder」というものを利用しているのですが、
見ての通り、更新日が4年前になります。
自分の環境では、コンパイル中にエラーが出力されました。
tree = inline_all_toctrees(self, set(), master, tree, darkgreen) TypeError: inline_all_toctrees() takes exactly 6 arguments (5 given)
明らかに関数の型がおかしいとのことで、
ちょっと調べてみると、Sphinxが提供している
「inline_all_toctrees」関数の型が変更されているのが原因に見えます。
取り急ぎ、下記のように変更すればコンパイルは通ります。
sphinx-docbuilder/builder.py 60行目
・Before
tree = inline_all_toctrees(self, set(), master, tree, darkgreen)
・After
tree = inline_all_toctrees(self, set(), master, tree, darkgreen, [])
参考:
futurismo.biz