platex-utf8.exe

使えないっぽい。使えるようにするには結構な問題がありそうな感じだ。但しplatex.exeに"--kanji=utf8"オプションを与えればUTF-8なソースを処理できる(追記参照)。


まずコンパイルしようとするとこんなメッセージ*1

>platex-utf8 test_utf8.tex
This is pTeX, Version 3.1415926-p3.1.10 (sjis) (Web2C 7.5.7)
---! d:/onlinesoft/_Utillity/tex/share/texmf/web2c/ptex/platex-utf8.fmt doesn't
match ptex.pool
(Fatal format file error; I'm stymied)

エラーメッセージでググったら解説を発見。

TeX が、LaTeXpLaTeX のフォーマットファイルを見つけることが出来ない、あるいは、それらが正しい版のものでない、などの理由によってエラーが生じたことを意味しています。

http://akagi.ms.u-tokyo.ac.jp/tex_instchk.html#format
  • latex.fmt や platex.fmt が壊れている場合や正しくない版の場合、あるいは存在しない場合、角藤氏のパッケージでは、コマンド(MS-DOS)プロンプトから
    fmtutil --byfmt  platex

とすると、platex.fmt が作成されます。latex.fmt についても同様です。

http://akagi.ms.u-tokyo.ac.jp/tex_instchk.html#format

ということで、やってみるとこうなった。

>fmtutil --byfmt platex-utf8
format name platex-utf8 not written in fmtutil.cnf.

fmtutil.cnfを探して見てみると、

platex ptex language.ptx --kanji-internal=sjis platex.ini

みたいな感じのがつらつら並んでいる。utf8が付くのは、

cont-en eptex cont-usr.tex --kanji=utf8 --etex cont-ja.ini

という行のみ。でも単にコレ使えばutf8で処理できたりしないだろうか。
上の方のコメント行を見ると、

# The format of the table is:
#
# format    engine     pattern-file   arguments

とある。cont-enというフォーマットは、eptexというエンジンでcont-usr.texというパターンファイルを使って引数に"--kanji=utf8 --etex cont-ja.ini"を渡す、と……。パターンファイルってなんだろ。
そしてplatex.exeがplatexというフォーマットを(たぶん)使うからといって、cont-en.exeなどという都合のいいバイナリは見あたらない。単に

>eptex --kanji=utf8 --etex cont-ja.ini test_utf8.tex

などとすればいいわけではないだろう。フォーマットとか、パターンファイルってのが一体なんなのかさっぱりわからない。


とりあえずcont-ja.iniを探して見てみる。

% This is a configuration file needed for Thomas Esser's teTeX.
% You may want to read the ConTeXt installation manual "minstall.pdf".  
\ifx\pdfoutput\undefined\else
\input pdftexconfig.tex
\pdfoutput=0
\fi
\input cont-ja.tex 
\endinput

teTeX用ですか。
続いてcont-ja.texを見てみる。中身はなんか色々設定してる雰囲気のtex。先頭はこんな感じ。

%D \module
%D   [       file=cont-ja,
%D        version=1997.08.19,
%D          title=\CONTEXT,
%D       subtitle=\CONTEXT\ English Format Generation,
%D         author=Hans Hagen,
%D           date=\currentdate,
%D      copyright={PRAGMA / Hans Hagen \& Ton Otten}]

作ったの日本人じゃないのか……大丈夫なのかなぁ。


フォーマットファイルについてググってみる。
http://macwiki.sourceforge.jp/wiki/index.php/TeXShop%E3%83%98%E3%83%AB%E3%83%97%EF%BC%882-11%EF%BC%89%E6%96%B0%E8%A6%8F%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E4%BD%9C%E6%88%90%E3%81%A8%E5%88%A9%E7%94%A8が出てきた。
Mac用の設定なのでWindowsと違うところは多々あるものの、要するにエンジンのオプションで"-fmt フォーマット名"を付ければそのように処理してくれるということだろうか。
やってみた。

>eptex -fmt cont-en test_utf8.tex
This is e-pTeX, Version 3.1415926-p3.1.10-2.2 (sjis) (Web2C 7.5.7)
entering extended mode
(./test_utf8.tex

ConTeXt  ver: 2009.02.06 19:27 MKII  fmt: 2009.2.8  int: english/english
〜中略〜
! Undefined control sequence.
l.1 \documentclass
                  {jarticle}
?

(´・ω・`)そーですか。
ならば、ということで。

>platex -fmt cont-en test_utf8.tex
〜中略〜
I can't find the format file `cont-en.fmt'!

さっきのを思い出して、

>fmtutil --byfmt cont-en
〜中略〜
The file cont-en.fmt created.
〜後略〜

ほんとかなー。platex.fmtとかを見つけたディレクトリには生成されてないんですけど。でも検索してみると4つほどファイルが見つかった。コマンド実行前は確認するのを忘れた……最初からあったのもありそうな予感が。
再度platexでやってみると、案の定cont-en.fmtが見つからないだと。他のディレクトリで見つかったcont-en.fmtをコピーして実行してみると、

>platex -fmt cont-en test_utf8.tex
This is pTeX, Version 3.1415926-p3.1.10 (sjis) (Web2C 7.5.7)
(Fatal format file error; I'm stymied)

最初に見たメッセージだよ。しかも今度は何がエラーなのか出てこない。


今のところの結論としては、少なくともWindowsではいろいろとめんどくさそう、ということか。他のOSではどうなのかわからんけど、Ubuntuではやはり面倒そうだった。TeX liveへの移行が済めば、使えるようになる見通しだとか……
これ以上はTeXについての基礎知識がないとどうにもならない。pLaTeXではなく、TeXの。

追記

"platex-utf8.exe"でググったら、どうやら既に削除されている模様。"ptex --kanji=utf8"で代替できるとか書いてあるけどほんとかな……
texの環境も一旦クリーンインストールしなおした方がいいのかも。5,6年は上書きで入れ続けてるような……

追記2

できた……。ということはWindowsではUTF-8で書けるということじゃないか!
"--kanji=utf8"オプションはUbuntu版でも有効だろうか。あとで試す。

*1:ひとつ上の記事で間違ってたと言ったのは"utility"の綴り。'l'が多い。このディレクトリを作ったのは多分15歳くらいの頃。我ながら残念な英語力だな……。