---------- 日本語 Texinfo よりの DVI ファイル作成 ------------ ■ はじめに mule や skk のマニュアルは Texinfoで書かれております。それから オンラインマニュアルの Info を作るには、mule/emacs を使用しなければ ならず、閲覧も mule/emacs が必須です。では、DVI を作りたい時はどう するか? ASCII の pTeX でも一応作成はできるのですが、どうしたものか 日本語の部分についてのみ、文字が大きくなるべきところがそうならずに、 すべて同一のサイズになってしまいます。 もう1つの問題は、GNU Info に付属する texindex.exe では日本語の Texinfo では索引が作成されないのです。 最近、skk-9.6 を導入したところ、ソースツリーの skk-9.6\doc に、 texi-jp.tex と texinfo.tex があり、これは日本語の Texinfo ソースに 対応のものでした。ところが、どうもうまく動作しないので、少々修正 を加えたところなんとかなりました。 また日本語に対応した texindex.cに対するパッチも付属しておりました。 OS/2版のtexindex (GNU texinfo) 3.11にそれをあてたところうまくいきました。 mule, skk, YaTeX などのマニュアルは mule で Info 形式で閲覧するもの 便利ですが、やはり DVI にしてきちんと印刷すると気分がいいですね。 ■ 動作の前提 TeX/pTeX がインストールされていること kpathsea のヴァージョンはおそらく、 3.0 以上でないといけないでしょう。 大黒さんがビルドされたもの (web2c 7.2, kpathsea 3.2) ならこちらから http://www.asahi-net.or.jp/~ez9y-dikk/ptex/index.html ■ 同梱ファイル 16929 Nov 28 09:05 jtexindex.diff texindex の日本語対応パッチ 57839 Nov 28 11:33 texindex.c パッチ済ソース (一部手作業) 79872 Nov 28 12:03 texindex.exe SJIS 対応の texindex 57558 Sep 5 00:56 kpathsea.dll kpathsea 3.2 の dll 803 Nov 20 22:18 ktex.cmd 日本語 Texinfo 作成のバッチファイル 50 Mar 26 1998 platex.cmd pLaTeX2eのバッチファイル 225196 Sep 5 13:46 ptex.exe ASCII pTeX の実行ファイル(2.1.8) 52 Nov 14 22:13 ptexinfo.cmd 日本語 Texinfo のバッチファイル 5594 Nov 25 23:25 ptexinfo.doc この説明文書 146356 Jan 21 1997 ptexinfo.tex 日本語 Texinfo その1 16395 Nov 20 23:27 texi-jp.tex 日本語 Texinfo その2 28784 Apr 14 1998 ptex.pool フォーマットファイル作成に必要 ■ 使用法 □ フォーマットファイルの作成 format fileを作らなくても本当はいいのですが、日本語 Texinfo専用の ものを作っておいた方が何かと便利なのでそうしましょう。 まず確認することが一つ。ptex のスタイルファイルが、 j:/texmf/tex/ptex/ j:/texmf/tex/ptex/jplain.tex j:/texmf/tex/ptex/kinsoku.tex j:/texmf/tex/ptex/ptex.tex にあるとして、j:/texmf/web2c/texmf.cnf において、 TEXINPUTS.ptex = .;$TEXMF/tex/ptex;$TEXMF/tex/plain//; このように、ptex.tex の所在を正しく指定していないとフォーマットファイルを 作ることが出来ません。`TEXINPUTS.ptex' の行が存在してない場合は追加して 下さい。 まずは、ptex.pool を x:/usr/local/share/texmf/web2c等に移動。 texmf.cnf で、TEXPOOL = .;$TEXMF/web2c となっている場合はこれで いいのですが、TEXPOOL = .;$TEXMF/pool など違う場合はそこに。 次いで、kpathsea.dll を config.sysの libpathの通ったところ にコピーし、ptex.exe,texindex.exe, ptexinfo.cmd, ktex.cmd を 例えば j:/usr/local/share/texmf/bin 等の path の通ったところにコピー。 ptex.exe と ptex.pool を新しくするわけなので、フォーマットファイルを すべて作りなおします。 同梱の texinfo.tex, texi-jp.texのあるディレクトリにて、 > ptex -ini \input ptex \dump > ptex -ini -progname=platex \input platex.ltx > ptex --progname=ptexinfo --fmt=ptexinfo --ini ptexinfo @dump そして、TeXシステムのある指定されたところに 例えば、環境変数 TEXMF =j:/usr/local/share/texmf で texmf.cnfにて TEXFORMATS = .;$TEXMF/web2c となっていたら、 > copy ptexinfo.fmt j:\usr\local\share\texmf\web2c > del ptexinfo.fmt TEXFORMATS = .;$TEXMF/ini なら > copy ptexinfo.fmt j:\usr\local\share\texmf\ini > del ptexinfo.fmt ptex.fmt, platex.fmt も移動しましょう。 ■ 日本語 Texinfo ソースの修正 ptex.exe は Shift JIS でないと使えないので、EUC などの場合はfoo.texiを > sjis foo.texi として sjis に変換。foo.texi は別の foo2.texi を参照しているかもしれない のでこの際、すべて変換してしまいましょう。 > for %a in (*.texi *.tex) do sjis %a もしも foo.texi の先頭付近行が、`\' や `%' で始まっていたら、例えば、 %\kanjifiletype=20 % -*-texinfo-*- \overfullrule=0pt \def\lang{jp} となっている場合は、 @c %\kanjifiletype=20 % -*-texinfo-*- @c \overfullrule=0pt @c \def\lang{jp} このように"@c "を付加してコメントにしてしまいます。 a. 手作業で DVI を作るには > ptexinfo foo.texi > texindex foo.?? (?? は拡張子が二文字であることを意味します) > ptexinfo foo.texi b. 一気に作る 上記の手作業ははめんどうなので、同梱のktex.cmd というバッチファイル を用いると、拡張子を省略して > ktex foo としますと、日本語 DVI が生成されます。日本語の索引が付き、文字が大きく なるべきところもちゃんとそうなっているでしょう。 ■ おまけ ptex.exe を platex.exeにコピーして使用している方が多いと思いますが、 これはディスクの無駄なので、バッチファイルを用いることをすすめます。 @ptex.exe -fmt=platex %1 %2 %3 %4 %5 %6 %7 %8 %9 同梱の platex.cmd はこの一行だけです。tex.exe も ptex.exe も "-fmt=xxx" とコマンドラインで指定すると、texmf.cnf の記載の TEXFORMAT で指定された ディレクトリの xxx.fmt を読み込むからです。このような動作はたしか web2c 7.0 くらいからだと思います。Unix ではこの性質を利用して、実行ファイル ptex に platex というシンボリックリンクを張って platex.fmt を読ませる ようにしています。 ■ 日本語対応 texindex.exe をメイクするには ソースは Update for version 3.12 June 28, 1998で、   ftp://ftp.leo.org/pub/comp/os/os2/leo/gnu/doc/gnuinfo.zip を入手してください。OS/2マガジンの CDROMにも入っています。  次のようにすると日本語 SJIS 対応のものがメイクされます。     > mkdir info312 > cd info312 > unzip gnuinfo.zip この時点で同梱の texindex.c を util\texindex.c に上書きコピー。 util\Makefile の   $(CC) $(CFLAGS) -c $(INCL) $< を   $(CC) $(CFLAGS) -DSJIS -c $(INCL) $< と -DSJIS を追加し、ディレクトリinfo312にて、     > make -f Makefile.emx os2 これにより、info.exe, texindex.exe などすべてメイクされます。 *.dll, *.exe をインストールしてから、    > texindex --version   とすると、       texindex (GNU texinfo) 3.11-SJIS   と表示されたら成功でしょう。 <注> GNUINFO.ZIP がUpdate for version 3.12 June 28, 1998   と異なる version の場合は、手作業で jtexindex.diff          をあてなければならないでしょう。 以上。 1998/11/28 //Jun Sawataishi (沢田石 順) jsawa@ibm.net / GGB02155@nifty.ne.jp // Web page for OS/2, YAMA, etc; http://www2s.biglobe.ne.jp/~vtgf3mpr/ // YOKOHAMA, JAPAN