DocBook XML文書をPDF形式に変換するdblatexに挑む(インストール)
DocBook XML文書をPDF形式に変換するのに、foという形式を経由して行う方法があるのだが、この方法で出力したPDFファイルは、何か物足りないものがある。
これとは別に、dblatexという、LaTeX文書を経由してPDF形式に変換するツールがあるのだが、導入がかなり大変で、日本語にも対応していることはしているのだが、うまくいかない部分もある。それらを含めての覚え書き。今回はインストールまで。
(2010/4/25)Debian/Ubuntu/Mandriva/Fedoraなどではディストリのパッケージが利用可能となっており、「dblatex」パッケージを入れるだけでよい。
(2010/5/10)使い方(バージョン0.3時点)については「DocBook文書をPDFファイルに変換するdblatexに関するその後(2010/4/26現在)」を参照。
依存パッケージ
- Python 2.4
- libxslt(xsltproc)
- DocBook XMLのDTD
- freetype-1.3系(GentooではUSE=tetexが必要。Debian,Ubuntuでは「freetype1-tools」。TeXファイルからPDFへの変換時に使用)
- LaTeXパッケージ(Gentooではtetex)
- LaTeX CJKパッケージ(Gentooでは「cjk-latex」だが、バージョンが古いので最新版を入れる → 関連記事を参照)
- LaTex Unicodeパッケージ(GentooではUSE=cjkが必要)
- Cyberbitフォントもしくは日本語フォント(LaTeX CJKで使用するのに必要で、事前に面倒な手順による準備をしなくてはならない → 関連記事を参照)
インストール
公式サイトから「Releases/Download」をたどり、tar.bz2ファイルをダウンロードし、これを展開してディレクトリに入る。$ tar jxf dblatex-0.2.7.tar.bz2 $ cd dblatex-0.2.7/
次に、setup.pyでインストールする。--catalogsオプションは、xsltprocが使用するdocbook.catの場所を指定するのだが、後で変更や上書きが可能で、SGML_CATALOG_FILESを手動でセットしなくても動作していれば、指定しなくてよい。
デフォルトでは/usr/以下に入るようだ。下の例では、後でアンインストールしやすいように、porgの前身であるpaco(当時の名称)を使用している。
$ sudo paco -lD "python ./setup.py install --catalogs=/usr/share/sgml/docbook/xml-dtd-4.4/docbook.cat"
もし、/usr/local/以下に入れたいのであれば、--prefix=/usr/localを指定し、
$ sudo paco -lD "python ./setup.py install --prefix=/usr/local --catalogs=/usr/share/sgml/docbook/xml-dtd-4.4/docbook.cat"
のようにするのだが、Pythonのモジュール探索パス(環境変数PYTHONPATH)に/usr/local/lib/python2.4/site-packagesを実行時に含めるか、もしくは事前にセットしておく必要がある?
$ export PYTHONPATH=${PYTHONPATH}:/usr/local/lib/python2.4/site-packages $ dblatex [引数...]
実行ファイルの7行目には
sys.path.append(r"/usr/local/lib/python2.4/site-packages")
と書かれているのだが、PYTHONPATHの値に入れないと
Traceback (most recent call last): File "/usr/local/bin/dblatex", line 16, in ? from dbtexmf.dblatex import dblatex ImportError: No module named dblatex
となってしまった。
Gentoo Linuxの仮ebuildファイル
(2010/4/25)
http://bugs.gentoo.org/show_bug.cgi?id=129368
にebuildがアップロードされているため、ここに貼り付けたものは削除した。