2010年6月8日

日本語 texi から栞付きPDFを生成する

GNU のドキュメントシステムに texi 形式のファイルがある。 この形式のファイルから適当なコマンドを使って、info / dvi / pdf / html 等の 文書に変換できる。

最近では PDF 形式に変換するのに pdfetex を使う事で dvi 経由せずに直接 pdf に変換できる。 ただ、pdfetex は日本語化されていないので、日本語で書かれた texi は pTeX と dvipdfmx を組み合わせて変換する必要がある。

% TEX=ptex texi2dvi filename.tex
% dvipdfmx filename.dvi

このやり方でも pdfetex を使った変換と同様な PDF が作れるが、一つだけ違いがある。

栞/ブックマークが付かない。

実用上は問題は無いが、栞が付いた方が使い易い。。。はてどうしたもんだかぁ

texinfo.tex の日本語化

変換用のマクロ texinfo.tex の日本語化は本家 texinfoには含まれていない。 現在良くメインテナンスされているものとして、角藤版pTeXの texinfotools-w32.tar.bz2 がある。

ただ、僕も昔に texinfo.tex や makeinfo のナンチャって日本語化対応したことがある。 HDD の隅にある断片を探して調べてみたら、どうも elisp-manual-19-2.4-jp2.0.tar.gz を起点にして 作業したもので、検索をかけるとホンの僅かだが OSS の文書変換用に取り込まれている。。。

まぁ、自分の成果から起点とするのが、やり易いからコイツから作業するのがいいやぁ

dvipdfmx が PDF 生成用の special は 「Dvipdfm User’s Manual」/「DVI specials for PDF generation」 にキッチリ記載があり、栞の生成は難しくはなさそうである。

で、texinfo.tex の履歴だけgithub fukusaka/texinfo-ja に上げて、texinfo.tex の最新版と組み合わせて使えるように修正、同時に栞生成コマンド@usedvipdfmxを追加してみた。

使い方

texi のヘッダ部を次のように修正する。

\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename filename.info
@settitle TITLE
@documentlanguage ja
@documentencoding utf-8
@iftex
@usedvipdfmx
@end iftex
@c %**end of header

で、pTeX / dvipdfmx を使って、栞付きのPDFが生成できる。

まとめ

iOS4のPDFリーダーは栞付きが上手く扱えるのだろうかぁ。。。


[全文を読む]