名前: 栗山雅俊 日時: 2005-01-13 14:51:27 IPアドレス: 61.210.144.*
現行のteTeXで (というよりはLinux上で) Babel+日本語環境がうまく機能 するかどうかをを知りたいと思いテストしてみました。 用いたのは、最新版 Vine Linux 3.1 に同梱の teTeX-2.0.2-0v19 (web2c- 7.4.5 + pTeX-3.1.4) で、Babel(v3.7h > v3.8d) と cbgreek(2002.12.4 > 2004.8.2)を入れ替えた以外は基本的にオリジナルのままで行いました。 テストに使ったファイルは稲垣さんの p314babel.tex です。 (ハイフネーションファイルは35種類) >>32037 teTeXではデフォルトで存在するハイフネーションファイルが少ないので 適宜集めてくる必要があります(これが結構大変)。 多くは /CTAN/language/hyphenation にありますが、個別に探さなければ ならないものがあります。 (1) LaTeXとフォーマットファイル (latex.fmt) LaTeX<2001/06/01> が古いせいか ukrhyph.tex の51行目が引っかかります。 以下のようにコメントアウトします。 > %\patterns{ c8h d8j k8h l8j n8j s8h s8h8c8h t8s x8q y8a y8u z8h } これでとりあえずエラー回避できます。 (2) pLaTeXとフォーマットファイル (platex.fmt) エラーになったのはロシア語(ruhyphal.tex)、ブルガリア語(bghyphsi.tex)、 ウクライナ語(ukrhyphmp.tex)、トルコ語(trhyph.tex)で、トルコ語を除き Bad \patterns ないし Duplicate pattern などのエラーが無数に出て処理が 止まってしまいます。トルコ語は2個のエラーが出ますがフォーマットファイ ルはとりあえず出来ます。 トルコ語エラー出力の例 > (/usr/share/texmf/tex/generic/hyphen/trhyph.tex > Turkish Hyphenation Patterns `trhyph' Version 1.0a <97/05/04> > ! Bad \patterns. > l.101 2\u8278 > > ! Nonletter. > l.102 2 > \uffffd このうちウクライナ語とトルコ語についてはトノさんのperlスクリプトで 処理したものでエラーが回避できます。Win32(SJIS)版でエラーになった ハンガリー語(huhyph.tex)はこちらでは現象が出ませんが、どういう基準 でエラーになったりならなかったりするのかがよくわかりません。 少なくとも「SJIS か EUC か」という単純な区分けが出来ないようです。 (ロシア語、ブルガリア語についても、もしかするとトノさんの方法を 応用すれば回避できるでしょうか) >>33496 teTeX-2.0.2用の pTeX は現在 p3.1.5 が最新ですが、こちらを使えば 回避できるものもあるのかも知れません(未確認)。 あとteTeXに同梱されている czhyph.tex(チェコ語)はエラーが出る場合 があるので CTAN/language/czech にある czhyph2e.pl を取り寄せて以下を 実行します。 $ perl czhyph2e.pl czhyph.tex > czhyph2e.tex これでロシア語、ブルガリア語を除き33のハイフネーションファイルを 日本語環境で使うことが出来ます。 (3) latin.ldf と icelandic.ldf Win32(SJIS)版で問題だったラテン語については、こちらではエラーが 出現せず、正常に処理できるようです。 >>31672 アイスランド語については、\DeclareTextCommand や \declare@shorthand (142〜157行目)は引っかからず、\newcommand{\decimalsep}{.} (160行目) でエラーになります。Win32(SJIS)版とエラーの出かたが異なっているのは どうしてなのかよくわかりませんが、160行目(以下)をコメントアウト すると、とりあえず処理してくれます。 > %\newcommand{\decimalsep}{.} \newcommand{\thousandsep}{\@comma@} (4) pLaTeX と PLaTeX コンパイル時のバグではありませんが、現在 pLaTeX でフォーマットファイル を作る際には事前に /texmf/ptex/platex/config にある hyphen.cfg を リネームするか削除する必要があります。ところがこれを削除しても今度は ポーランド語 PLaTeX の language.dat を読み込んでしまうという現象が 起こり、こちらもリネームするか削除しなければなりませんでした。 (ややこしいですがポーランド語用のファイルは /texmf/tex/platex/config にあります) どうも pLaTeX がポーランド語用のものを自分のものと誤って読み込んで しまうようですが、紛らわしいのでなんらかの対策が欲しいところです。 ----------------- 長くなってしまいましたが、もし teTeX で多言語環境を使われる方が いらっしゃいましたら確認、検証方よろしくお願いいたします。 もうすぐ次期 teTeX がリリースされるようですが、これらのバグが直って いることを期待したいと思います。 (11日に teTeX-beta 2.99.9 が出たようですが、こちらも試してみるべき でしょうか? ただ私の能力ではここまで来るので一苦労でした。)
この書き込みへの返事: