Babelを使った最新版LaTeX2e、pLaTeX2eでの多言語環境構築 -- pTeX-p3.1.4以降(Win・UNIX・Mac)-- 2005.5.23 第3版 2005.7.23 第3版-1 2005.7.28 第3版-2 2005.8.22 第3版-3 2005.9.13 第3版-4 0. はじめに  pTeXの8ビットエンコード対応に伴い、日本語を含む多言語環境が飛躍的に 充実してきました。ここではBabelパッケージを使った主に印欧語と日本語の 混在環境の構築について記述します。  今回からはギリシャ語、ロシア語に止まらずBabelで取り扱うことのできる 主な言語も含めることにしました。ただし私自身は当然すべての言語を解する 能力はない(専門はギリシャ古典です)ので、それぞれの言語について誤り、 バグ等お気づきの点があればご指摘いただければ幸いです。 0-1. ここで扱っていない言語  現在の Babel + 日本語環境ではそのままでは CJKV その他アジア系言語、 アラビア語等は使用できません。また Babel + ヘブライ語については本稿で 取り扱っていません(今後の課題とさせて下さい)。  CJK(日中韓)パッケージ、ArabTeX(ヘブライ語も使用可)等についての 詳細は A-1.以降をご覧下さい。なお 第3版-3 から OmegaVN、MonTeX の記述 を追加しました。 0-2. Mac OS について  Mac OS X 以降では基本的に teTeX-3 ないし ptetex3 で最新の環境が実現 できるようです。1-2-2.以下の各リンクをご覧下さい。  Mac OS 9 以前で MacpTeX を使用する場合はフォント生成機能がないため、 ギリシャ語やキリル文字系諸言語を使うことは難しいと思われます。 1. TeXシステムのインストール  TeXシステムについては多くの方が優れたインストールガイドを作成されて います。以下に主なサイトを揚げておきます。 1-0. 『[改訂第3版] LaTeX2e美文書作成入門』からのインストール  TeXシステムを一から構築するのは大変と思われる方は、奥村晴彦著『[改訂 第3版]LaTeX2e美文書作成入門』(技術評論社 2004)付属のCDからインストー ルするのが便利です(Win、Mac、UNIX対応)。 http://oku.edu.mie-u.ac.jp/~okumura/texfaq/bibun3/ (サポートページ) ただし、版によっては収録されているバージョンが古いものもあるので、その 場合は以下のサイトからのインストールになります。 1-1. すべてのOSに対応 ・TeX Wiki(奥村さん・多くのOS別インストールガイドあり) http://oku.edu.mie-u.ac.jp/~okumura/texwiki/ ・TeX「超」入門(旧FTEXでおなじみ・トニイさんのページ) http://www.nsknet.or.jp/~tony/TeX/texindex.html ・そあちょう(Thor TeX PukiWiki・渡辺徹さんのページ) http://tex.dante.jp/typo/ 1-2. 各OS別のインストール 1-2-1. Windows (角藤版 W32TeX) = 重要 =  W32TeX(2005.8.12版以降)ではハイフネーションファイルに関する エラーのほとんどが修正されています(4.以下参照)。また特に何も設定 せずに 43 言語がデフォルトで使えるようになっています。 ギリシャ語・キリル諸言語については別途フォントをインストールする必要が あります。(2-2. 以下参照) (参考) http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/38024.html http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/38025.html ・Windows 95/98/Me/NT/2000/XP における TeX システムのインストール  (dvioutの開発者・大島さんのページ) http://akagi.ms.u-tokyo.ac.jp/texinst98.html ・pLaTeX for Windows(詳しい解説・大石さんのページ) http://www.grn.mmtr.or.jp/~ohishi/tex/index.html ・ ワープロユーザーのためのLaTeX入門(初級者向け・大友さんのページ) http://www.klavis.info/texindex.html ・特にdvioutについて(大島さん) http://akagi.ms.u-tokyo.ac.jp/tex_dvioutw.html ・特にGhostscriptについて(堀田さん) http://auemath.aichi-edu.ac.jp/~khotta/ghost/index.html 現在は W32TeX 用インストーラが開発されています(便利です)。 ・TeXインストーラ3(阿部さん) http://www.ms.u-tokyo.ac.jp/~abenori/mycreate/index.html ・「Texインストーラ3」セットアップマニュアル(石原さん) http://www.iplab.cs.tsukuba.ac.jp/~ishihara/platex_install.htm ・角藤さんの公式ページ(W32TeX) http://www.fsci.fuk.kindai.ac.jp/~kakuto/win32-ptex/ 1-2-2. Mac OS ・MacpTeXとその周辺(内山さんのページ) http://macptex.appi.keio.ac.jp/~uchiyama/macptex.html teTeX-3をソースからコンパイルする方法 http://macptex.appi.keio.ac.jp/~uchiyama/macosx/ ・pTeX Package for MacOSX(桐木さんのページ) http://www.r.dendai.ac.jp/~kiriki/ptex/ pTeX package 2005年度版は pTeX-p3.1.8 対応のようです。 ・EasyPackage for Mac OS X(白土さんのページ) http://www.ie.u-ryukyu.ac.jp/darwin2/ EasyPackage では土村さんの ptetex3 / Macリメイク版があるようです。 最新版 teTeX-3.0 + pTeX-p3.1.8〜 が使えます。 http://www.ie.u-ryukyu.ac.jp/darwin2/index.php?FrontPage#r3fa4f78 ・teTeX-3(ptetex3)を Mac へ導入(奥村さんの TeX Wiki) http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Make#content_1_1 なお 1-2-4.もご覧下さい。 1-2-3. UNIX(Linux、FreeBSDなど)  基本的に個別ディストリビューション毎の対応になるかと思いますが、提供 されているTeXシステムが古い可能性があります。teTeX-2.0.2以前では Babel やcbgreek、lhフォント等、主要パッケージの個別アップデートが必要な場合 があります。pTeXは p3.1.4 以降が必須です。 (teTeX-3 の利用をおすすめします)  teTeX-3.0 (+ pTeX-p3.1.8〜) 導入の場合は土村さんのパッチが便利です。 なお、ptetex3-20050811 版から Babel 対応のパッチも使えるようになって います(1-2-4.をご覧下さい)。 ・ptetex -- teTeX 用日本語パッチ集(ptetex3) http://www.nn.iij4u.or.jp/~tutimura/tex/ptetex.html teTeX-2.0.2 (+ pTeX-p3.1.5) をソースからコンパイルする方法は以下を参照 下さい。 ・Make - TeX Wiki http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Make#content_1_3 Ghostscriptについては以下をご覧下さい。 http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Ghostscript 1-2-4. ptetex3(teTeX-3.0)での Babel 対応(20050811版以降)  土村さんのご協力により、ptetex3-20050811 以降では日本語環境で Babel を使えるためのスクリプト(7babel.sh)が提供されています。UNIX / Mac で 多言語処理を必要とされる方は、最新版の ptetex3 を使われることをお勧め します。 インストール時に # make babel とするだけで後述 2.〜 4.までの作業のほとんどを自動で行ってくれます。 ただし、一部のハイフネーションファイルが下記と異なる場合があるので ご注意下さい。また、以下のものはインストールされないので、必要な場合 は自力で作業する必要があります。 -- ptetex3-20050825 以降 -- ・いくつかのハイフネーションファイル(2-2-1.参照) ・ギリシャ文字 Type1 フォント (3-5-1.参照) ・キリル文字 Type1 フォント (3-5-2.参照) -- ptetex3-20050811 では以下も追加の必要あり -- ・ギリシャ語用 elhyphen (2-2. 3-3-1.参照) ・ギリシャ語用 teubner (2-2. 3-4-1.参照) ・Japanese パッケージ (3-4-3.参照) なお、teTeX-3 所収の Babel は 3.8d です。 Babel の機能を確認するには後述稲垣さんの babeltest.tex が便利です。 (ptetex3-20050907 以降で標準添付) http://www2.tba.t-com.ne.jp/ing/babeltest.tex (3-3-5.参照) いくつかの言語についてはハイフネーションファイルがないと警告されます。 必要な場合は CTAN/language/hyphenation から入手します。 (2-2-1.参照) 2. Babelシステムのインストール 2-0. 新 pTeX とBabel - TeX Wiki  とりあえず Babel を動かしてみたい、どんなものか試してみたいと思われる 方は TeX Wiki の『新 pTeX とBabel』が便利です。Windows環境であればほぼ 間違いなく主な言語(英・独・仏・露・希)が利用できるようになります。 (UNIX や Mac の方は若干必要(不必要)な作業が異なる可能性もあります) なお、現在は W32TeX(2005.8.12版以降)最新版、新しい cbfont に対応して います(2005.9.6 改訂)。 http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?%E6%96%B0%20pTeX%20%E3%81%A8Babel 2-1. 必要なパッケージ  以下に必要なパッケージを挙げます。 2-1-1. すべての言語に必要 パッケージ 必要バージョン デフォルトで入っているシステム ・pTeX p3.1.4以降 W32TeX・teTeX-3.0(ptetex3) ・Babel ver.3.8以降 W32TeX・teTeX-3.0(ptetex3) 2-1-2. ギリシャ文字・キリル文字を使う場合に必要 パッケージ 必要バージョン デフォルトで入っているシステム ・lhfont ver.3.4以降 teTeX-2.0.2、teTeX-3.0(キリル文字用) ・cbgreek 2004.8.2版以降 teTeX-3.0(ギリシャ文字用) ・teubner ver.2.2b以降 ptetex3-20050825以降(古典ギリシャ語用) ・elhyphen ver.4.0以降 W32TeX(2005.8.12版以降) ptetex3-20050825以降(ギリシャ語汎用) 2-1-3. ハイフネーションファイルがデフォルトで添付されていない言語 パッケージ 必要バージョン ・**hyph*.tex 個別言語用のハイフネーションファイル(適宜) ドイツ語、フランス語などのメジャーな言語は、基本的にどのシステムでも デフォルトで添付されているようです。 現在の角藤版 W32TeX、teTeX-3.0(ptetex3)ではロシア語、ウクライナ語を 始め多くのハイフネーションファイルがデフォルトで添付されています。 (2-2-1.参照) 2-2. 主なパッケージのダウンロード先  最新版 W32TeX では(1)(3)が、teTeX ではギリシャ語 Type1 フォント を除き(1)〜(5)がデフォルトで添付されていますが、バージョンが古い 場合は下記の一部またはすべてを更新する必要があるかもしれません。 (2005.6 時点での Babel は 3.8g です) ギリシャ語やキリル文字を必要としない場合は、(2)〜(5)のダウンロード は不要です。 なお cbgreek の新しい版(cbfonts)がリリースされました。こちらを使う 場合は(2)の代わりに(2-1)(2-2)をダウンロードします。 (1)Babelソースファイル(babel以下すべてをDL) ftp://www.ring.gr.jp/pub/text/CTAN/macros/latex/required/babel/ (2)ギリシャ文字用フォント(cbgreek・cbディレクトリ以下をDL) ftp://www.ring.gr.jp/pub/text/CTAN/fonts/greek/cb/ (2-1)最新版 cbfonts(2005.7リリース・Type1 も同梱) ftp://ftp.ring.gr.jp/pub/text/CTAN/fonts/greek/cbfonts/ (2-2)type1ec.sty ftp://ftp.ring.gr.jp/pub/text/CTAN/fonts/ps-type1/cm-super/type1ec.sty (3)ギリシャ語用ハイフネーションファイル(elhyphen以下すべてをDL) ftp://www.ring.gr.jp/pub/text/CTAN/language/hyphenation/elhyphen/ (4)ギリシャ語用拡張パッケージ(teubner以下すべてをDL) ftp://www.ring.gr.jp/pub/text/CTAN/macros/latex/contrib/teubner/ (5)キリル文字用フォント(lhフォント"lhfnt-*.tar.gz"最新版をDL) ftp://ftp.vsu.ru/pub/tex/font-packs/lhfnt/ 現在は CTAN からも DL 可 ftp://ftp.ring.gr.jp/pub/text/CTAN/fonts/cyrillic/lh/texmf/ (6)各言語のハイフネーションファイル(必要なものをDL) ftp://www.ring.gr.jp/pub/text/CTAN/language/hyphenation/ 2-2-1. ハイフネーションファイルに関する補記  大抵のものは CTAN/language/hyphenation にありますが、言語によっては 各言語のサブディレクトリに所収のものもあります(CTAN/language)。 ftp://ftp.ring.gr.jp/pub/text/CTAN/language/ ファイル名が分かっている場合は以下のサーチエンジンを使って探すことも できます。 http://www.ctan.org/search/?action=/index.html 一部 CTAN に存在しないものもあるようです。以下に掲げます。 エスペラント語 eohyph.tex (teTeX-3に標準添付) ガリシア語 gahyph.tex (2005.6.10以前の W32TeX に添付) スロヴァキア語 skhyph(2e).tex (2005.6.10以前の W32TeX に添付) (スロヴァキア語については 4-2-3.参照) ウェールズ語(welsh)については TeXlive のディレクトリから入手します。 cyhyph.tex(本体)と cathyph.tex(catcode定義ファイル)の二つが必要 です。なお W32TeX(2005.8.12版以降)、ptetex3-20050825 以降では標準で 添付されています。 http://www.tug.org/ftp/texlive/Contents/testinstalled/texmf/tex/generic/hyphen/ =language.dat= welsh cyhyph.tex breton, lowersorbian, scottish については現在入手可能なハイフネーション ファイルは CTAN に存在しないようです。 2-3. インストール  上記のサイトより入手したものをインストールします。 インストールするディレクトリ(フォルダ)は以下の通りです。 (/usr/local以下にインストールした場合) UNIX系の場合はディストリビューション(やインストール方法)によっては /usr 以下、あるいは /usr/local/teTeX 以下等にインストールされるので、 適宜読み替えて下さい。 ルート ├ usr ├ : : ├ local : ├ bin : ├ share : : ├ texmf ├ texmf-config(teTeX-3のみ存在) ├ texmf-dist (teTeX-3のみ存在) ├ texmf-local (ない場合は作る) : ├ : ├ fonts : ├ : ├ source : │ ├ cbgreek ← (2)または(2-1) "mf"をコピー : │ ├ lh ← (5)を解凍し、コピー : │ : ├ tfm ├ ├cbgreek ← (2)または(2-1) "tfm"をコピー ├ ├ source │ ├ generic │ ├ babel ← (1) babelソース&マニュアルをコピー ├ tex │ ├ ├ generic : ├ babel ← babel本体 : │ (└japanese 3-4-3.参照) : ├ config ← language.datの場所 : ├ elhyphen ← (3)をコピー : ├ german : ├ hyphen ← (6)をコピー : ├ teubner ← (4)をコピー ├ latex : ├ cm-super ← (2-2)をコピー 新規にパッケージをインストールする場合はtexmf-local以下のディレクトリ に格納します。デフォルトで入っているものはtexmf(teTeX3の場合はtexmf- dist)に格納されています。  Babel本体のインストールについてはBabel添付のマニュアルをご覧下さい。 基本的には source ディレクトリで $ latex babel.ins と打ち込みます。 生成したファイル群を /texmf-local/tex/generic/babel に移動します。 なお、UNIX 環境で TeX システムのファイル構成を更新した場合は mktexlsr (ls-Rの更新)が必要な場合があります。その場合は変更の都度 $ mktexlsr を必ず実行して下さい。 2-3-1. キリル文字用 lhフォントソースファイルの作成(Win32版のみ)  lhフォントが適切に解凍されていれば、以下のようなツリーになっている はずです(CTANからDLした場合は少し異なります)。 ├ texmf-local : : ├ fonts : ├ source : : ├ lh* : ├ doc ├ mf └ tex └ wrk  ここで、"tex"ディレクトリにある "setter.tex" ファイルをメモ帳などで 開き、24行目の記述 "\MakeFileHeadsfalse" を "\MakeFileHeadstrue" に 変更し、[ファイル(F)] → [上書き保存(S)] を実行します。 保存したら、MS-DOSプロンプト(Windows2000/XPではコマンドプロンプト) を起動し、 C:\> cd usr\local\share\texmf-local\fonts\source\lh\tex ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ C:\usr\local\share\texmf-local\fonts\source\lh\tex> tex 99allenc.tex ^^^^^^^^^^^^^^^^ と打ち込みます( が自分で入力する箇所)。 ^^^ そうすると"wrk"ディレクトリにlarm1000などのフォントソースファイル(結 構たくさんあります)が生成します。wrkディレクトリを開き、[編集(E)] → [すべてを選択(S)]ドラッグ&ドロップで全ファイルをlhディレクトリに移動 します。 UNIX系OS(Mac環境含む)ではこの作業は不要です。 3. 多言語環境構築の準備 3-1. pLaTeX 添付ファイルのリネーム(& PLaTeX 対応)  W32TeX(2005.8.12版以降)、ptetex3-20050811 以降では pLaTeX 添付の hyphen.cfg をリネームする必要がなくなりました。 以前の版をお使いになる方のみ、/texmf/ptex/platex/config の中にある hyphen.cfg を hyphen.cfg-orig などとリネームします。  なお teTeX でポーランド語 PLaTeX 用のファイルを誤って読み込む現象も 修正されています(ptetex3-20050731 以降)。以前の版をお使いの方のみ、 /texmf/web2c/texmf.cnf で platex2e_inputs を次のように書き換えます。 platex2e_inputs = .;$TEXMF/{ptex/platex,tex/latex,{ptex,tex}/{generic,}}// 3-2. fmtutil.cnfの編集(UNIX、Macのみ)  UNIX系のTeXシステムでは fmtutil.cnf にpTeX用の記述が存在しないことが 多いようです。/texmf/Web2cディレクトリにある上記ファイルに以下の記述を 加え、保存します(ptetex3-20050627 以降ではこの作業は不要)。 # Japanese pTeX: ptex ptex - ptex.ini platex ptex language.dat platex.ini platex209 ptex language.dat plplain.ini 3-3. language.datファイルの編集  W32TeX(2005.8.12版以降)、ptetex3-20050811 以降では30言語以上の ハイフネーションファイルがデフォルトで使えるようになっています。  殆どの方は以下の作業が不要になると思いますが、ギリシャ語、ロシア語 を使用する場合(3-3-1.以下)、新しい言語を追加する場合(2-2-1.参照)、 または旧版をお使いの場合には language.dat の編集が必要です。  /texmf/tex/generic/configにある language.dat を /texmf-local/tex /generic/config にコピーし、使いたい言語を追記、ないしコメント記号を 外し、保存します。  そして LaTeX用、pLaTeX用 のフォーマットファイルを作ります。 端末 (Windowsでは "MS-DOS プロンプト" ないし "コマンドプロンプト")で それぞれ fmtutil --byfmt latex (印欧語のみ) fmtutil --byfmt platex (日本語混在環境) fmtutil --byfmt platex-euc (同 ptetex3-20050627以降) と打ち込みリターンを押します。 /texmf/web2c(teTeX-3では $HOME/.texmf-var/web2c)に latex.fmt ないし platex.fmt(または platex-euc.fmt)というファイルが作成され、各言語の ハイフネーション処理が可能になります。 上記は LaTeX、pLaTeX のみの更新ですが、すべてのフォーマットファイルを 更新したい場合は以下のように打ち込みます。 fmtutil --all エラーが出て処理が停まってしまう場合は 4.項以下を参照下さい。 3-3-1. ギリシャ語に関するオプション  古典ギリシャ語と現代ギリシャ語(monotonicとpolytonic)ではいくつかの 単語でハイフネーション規則が異なっています。より正確なハイフネーション を必要とされる方は language.dat に以下の記述を加えます。 (使い方は 3-4-1. 参照) %greek grhyph.tex <デフォルトのもの、コメントアウトする greek GRAhyph4.tex <古典ギリシャ語用 (ancient) %greek GRMhyph4.tex <現代ギリシャ語用 (modern monotonic) %greek GRPhyph4.tex <現代ギリシャ語用 (modern polytonic) すでに language.dat に記述がある場合は、使いたいハイフネーションのある 記述の下に =greek を追加します。 ancientgreek GRAhyph4.tex =greek monogreek GRMhyph4.tex polygreek GRPhyph4.tex デフォルトでは同一テキスト内で複数のハイフネーションを同時に使用する ことはできません。同時に使用するには稲垣さん考案の "agreek" を使います。 http://www2.tba.t-com.ne.jp/ing/#babel 3-3-2. ロシア語・ウクライナ語に関する補記  日本語とキリル文字系言語を混在させる場合は、フォントエンコーディング に OT2 を使います。ロシア語とウクライナ語については OT2 と T2A で処理 が異なり、またデフォルトでは T2A 用となっているためこれを OT2 用に直し ます。 (ptetex3-20050825 以降では OT2 用修正パッチが施されているので以下の 作業は不要です) ・ウクライナ語の場合  language.dat で ukrhyph.tex を含む行をコメントアウトし、ukrhyph.ot2 を含む行のコメントを外します。 - language.dat の記述 - %ukrainian ukrhyph.tex (<コメントアウトする) %! ukrainian ukrhyph.t2a %! ukrainian ukrhyph.lcy ukrainian ukrhyph.ot2 (<コメント"%"を外す) ウクライナ語については、環境によっては fmtutil でエラーとなる場合が あります。詳細は 4. 現在バージョンでの問題点(バグ)をご覧下さい。 ・ロシア語の場合(UNIX系)  UNIX系(teTeX)でロシア語をご使用の方は 4-2-4. をご覧下さい。標準 添付の ruhyphen.tex は使用しないので、以下の作業は不要です。 (ptetex3-20050825 以降では 4-2-4.の作業も不要) ・ロシア語の場合(Windows)  /usr/local/teTeX/share/texmf(-dist)/tex/generic/ruhyphen にある ruhyphen.tex を編集し、以下のように修正します。 - ruhyphen.tex の記述 - \ifx\Encoding\undefined %\def\Encoding{t2a} (<コメントアウトする) %\def\Encoding{ucy} %\def\Encoding{lcy} \def\Encoding{ot2} (<コメント"%"を外す) %\def\Encoding{koi} \fi ギリシャ語、ロシア語、ウクライナ語を使用する場合はこれらの処置を行った あとで fmtutil コマンドを再度実行します。 (エラーが出る場合は 4. 以下を参照) 3-3-3. 同名のファイル - gahyph.tex - アイルランド語とガリシア語  現在ハイフネーションファイルでアイルランド語(Gaelic)用とガリシア語 (Galician)用が同名の gahyph.tex となっています(中身は全く別もの)。 最新版ではどちらか一方が添付されている場合が多いようですが、両方を使用 する場合は一方をリネームして使います。 (以下の例ではガリシア語用のものをリネーム) - language.dat の記述 - galician gahyph-galician.tex <ガリシア語用 irish gahyph.tex <アイルランド語用 3-3-4. セルビア語と shhyphl.tex  セルビア(セルボ−クロアチア)語にはラテン文字用(T1 encoding)の shhyphl.tex とキリル文字用(T2A encoding)の srhyphc.tex の二つが ありますが、ロシア語・ウクライナ語同様、現在の日本語環境で T2A は使用 できません。srhyphc.tex が指定されている場合は language.dat の記述を 変更します。 %serbian srhyphc.tex % Serbian Cyrillic Hyphenation Patterns serbian shhyphl.tex <追加 shhyphl.tex が添付されていない場合は /CTAN/language/hyphenation から 入手して下さい。 3-3-5. 動作確認(正しくインストールされたでしょうか)  以上の作業が終わったら、Babel が正しく機能するかを確認します。 以下のサイトから babeltest.tex(稲垣さん作成)をダウンロードします。 http://www2.tba.t-com.ne.jp/ing/babeltest.tex (euc 環境等でファイルが文字化けしている場合は nkf などで適切な文字 コードに変換して下さい) $ platex babeltest でどの言語でエラーが出ているかを調べます(エラー対応は 4.以下参照)。 ただし、これは現在使用可能な言語(ヘブライ語を除く)すべてについての 試験なので、必要な言語のみを確認したい場合は当該箇所をピックアップ して自分用に編集し直して下さい。 主要な言語を確認したい場合は『新 pTeX とBabel』のサンプルが便利です。 http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?%E6%96%B0%20pTeX%20%E3%81%A8Babel#content_1_7 なお、ハイフネーションが正確に機能しているかどうかを調べるには、 サンプルファイルの当該言語を \showhyphens{...} で囲むと端末に結果が 出力されます。 3-4. TeXファイルの作成 日本語環境で Babel を使用する場合は、プリアンブルに \usepackage[russian,german,french,english]{babel} \usepackage[OT2,T1]{fontenc} などと記述します。8ビット系言語(ギリシャ語などを除く)を使用する場合 は T1 を、キリル文字系言語を使用する場合は OT2 を必ず指定します。 ギリシャ語エンコード(LGR)はプリアンブルで指定する必要はありません。 複数の言語を切り替える場合は \selectlanguage ないし \foreignlanguage コマンドを使います。 Babelに関するより詳細な使用方法については 『pTeX 3.1.4 と Babel 3.8』 (稲垣さん作成)をご覧下さい。 http://www2.tba.t-com.ne.jp/ing/#babel なお『[改訂第3版] LaTeX2e美文書作成入門』付録 J章には Babel に関する 包括的な記述があります(p.333以下)。 ・付録J章サポートページ(永田さん) http://www.lg.fukuoka-u.ac.jp/~ynagata/bibunsho3_j_support.html 3-4-1. 現代ギリシャ語・古典ギリシャ語と teubner  現代ギリシャ語(modern monotonic)を使う場合は、まず language.dat (3-3-1.参照)で 現代語用 GRMhyph4.tex を選択して下さい。変更内容を 保存したあと必ず fmtutil コマンド(3-3.参照)を実行します。 プリアンブルには \usepackage[greek]{babel} のみを指定します。 polytonic ギリシャ語(現代・古典)を使う場合も同様の作業が必要です。 language.dat で GRPhyph4.tex(modern polytonic)または GRAhyph4.tex (ancient)を指定し、保存したあと fmtutil を実行します。 プリアンブルは以下のようになります。 \usepackage[greek]{babel} \languageattribute{greek}{polutoniko} なお、\textgreek や \greektext は古典ギリシャ語のアクセント、気息記号 を正常に出力できない場合があります。別言語環境で短文引用する場合は必ず \foreignlanguage コマンドを使用して下さい。 古典ギリシャ語を使う場合で、古典研究を専門とするなどより詳細な機能や 正確な出力が必要な場合は teubner(トイプナー)を使います。 \usepackage[greek]{babel} \usepackage{teubner} \languageattribute を指定する必要はありません(teubnerで定義済みです)。 koppa などの archaic letterやギリシャ数字が正確に出力され、また韻律記号 などもサポートされるようになります(詳細は添付マニュアルをご覧下さい)。 なお、現在 greek.ldf にあるバグ(数字の誤出力)は teubner を使うことに よって回避できます。バグの詳細は http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31769.html 3-4-1-1. 新しい cbfont(2005.7リリース)についての補記  新しい cbfont を使用する場合はプリアンブルに以下を追加します。 (インストールについては 2-2.以下参照) \usepackage[greek]{babel} \usepackage[10pt]{type1ec} <追加 それ以外は従来と同じです。 3-4-2. 古典ラテン語  古典ラテン語を使用する場合は、以下のように書きます。 \usepackage[latin]{babel} \languageattribute{latin}{medieval} \languageattribute{latin}{withprosodicmarks} %韻律記号を使う場合 3-4-3. Japaneseパッケージについて  Babelでは一番最後に指定した言語(3.4.の例では英語)がデフォルトの言語 と解され、索引などのタイトルがそれに合わせて変えられてしまいます。これ だと日本語環境では不都合な場合が多いので、Japaneseパッケージによって日本 語のタイトルで出力できるようにします。 インストール方法は以下をご覧下さい(稲垣さんのサイト)。 http://www2.tba.t-com.ne.jp/ing/#japanese 使用方法は、プリアンブルに以下を指定するだけです。 \usepackage{japanese} 注)TeX ファイルを処理すると、以下の警告が出ますが処理には問題ありません。 (Babelの仕様による) Package babel Warning: No hyphenation patterns were loaded for (babel) the language `Japanese' (babel) I will use the patterns loaded for \language=0 instead. なお、現在 Japanese パッケージは Shift_JIS コードで作成されているため、 UNIX 系 OS ではそのままでは使えません。解凍したファイル群を nkf コマンド ないし lv で euc_jp 等に変換して使用します。 3-5. Type1フォントと PDFファイルの作成  dvipdfm(x) 等で PDF ファイルを作成する場合、実用レベルの出力を行うには Type1 フォントが必要です。最新 W32TeX、teTeX-3.0では標準で Latin Modern フォントが添付されています。プリアンブルに \usepackage{lmodern} と指定するだけでラテン文字 Type1 フォントを使用することができます。 Latin Modern フォントがインストールされていない場合は CTAN から入手 します(ラテン文字については後述 cm-super でも可能)。 ftp://ftp.ring.gr.jp/pub/text/CTAN/fonts/lm/ 3-5-1. ギリシャ語と Type1 フォント  ギリシャ語を使用する場合は cbgreek Type1 フォントが提供されています (CTANからダウンロード・ただし 2-2.(2)or(2-1)で DL 済の場合は不要)。 ftp://ftp.ring.gr.jp/pub/text/CTAN/fonts/greek/cb/type1.tar.gz(2,旧) ftp://ftp.ring.gr.jp/pub/text/CTAN/fonts/greek/cbfonts/type1/ (2-1,新) 適当なディレクトリに展開し、 └ texmf-local : ├ fonts : ├ enc   │ ├ dvips : ├ cbgreek ← *.enc をコピー(2-1のみ) ├ map   │ ├ dvips : ├ cbgreek ← cbgreek.map をコピー : ├ type1 ├ cbgreek ← *.pfb をコピー その後、端末(コマンドプロンプト)で以下を実行します。 $ updmap --enable Map=cbgreek.map ギリシャ語に限らず、新しいType1フォントを使用する場合は同様の作業が 必要です。 (updmap.cfg を直接編集することも可能です) 3-5-2. キリル文字系諸言語と Type1 フォント  現在 OT2 エンコーディングで使用することのできるキリル文字用の Type1 フォントは残念ながら存在しないようです。代替措置については永田さんの 方法(『新 pTeX とBabel』以下の記述)があります。 http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?%E6%96%B0%20pTeX%20%E3%81%A8Babel#content_1_7 cm-super にはキリル文字用フォントが入っていますが、T2A用なので通常の 日本の環境では使用不可能です(imputencを定義する必要があるため)。 ftp://ftp.ring.gr.jp/pub/text/CTAN/fonts/ps-type1/cm-super/ なお、Unicodeを使った日本語とキリル文字系言語の混在環境については以下 のページをご覧下さい。通常は使えない T2A が使用できるように工夫されて いること、CJKV との共存が実現できること等の利点があるようです。ただし UNIX(FreeBSD)での評価のためWindows環境で使用するには cygwin 等を導入 する必要があるかも知れません。 ・CJK, UNICODE パッケージ,ロシア語多書体の利用(安田さん) http://www.ceres.dti.ne.jp/~i-yasuda/tex/cjk.html 4. 現在バージョンでの問題点(バグ)  角藤先生、土村さんのご尽力により、W32TeX(2005.8.12版以降)、ptetex3- 20050811 以降では多くのバグが修正されています。多言語処理を行う場合は 最新版をお使いになることをお勧めします。 デフォルトではエラーとなる言語の一覧と解決策を以下に記します。 4-1. エラーの一覧と種類  エラーには fmtutil コマンドを実行したときにハイフネーションファイル がエラーになる場合、各言語を使用したTeXファイルを作成したときにエラー となる場合(*.ldfのエラー)の二つがあります。以下に一覧を掲げます。 なおアスタリスクのついているものは W32TeX(2005.8.12版以降)、ptetex3- 20050825 以降で修正済みです。 言語 ファイル名 W32TeX teTeX-2/3 (sjis) (euc) ハンガリー語 huhyph.tex pl* ok アイルランド語 gahyph.tex pl* ok トルコ語 trhyph.tex pl* pl* ウクライナ語 ukrhypmp.tex pl* pl* ブルガリア語 bghyphsi.tex ok pl* ロシア語 ruhyphal.tex他 ok r7* チェコ語 czhyph.tex (2e)* ok スロヴァキア語 skhyph.tex (2e)* ok 高地ソルブ語 usorbian.ldf ld ld* アイスランド語 icelandic.ldf ld ld* 凡例:ok...問題なし pl...8bt2ptex.plを適用 2e...czhyph2e.plを適用 r7...ruhyphen7.texを使用 ld...ldfファイルを編集  実際は Windows と UNIX の違いではなく platex-sjis と platex-euc の処理 の違いに因るもののようです。Windows で euc を使う場合、UNIX で sjis を 使う場合は逆になります。Mac でもおそらく使用する文字コードに対応すると 思われます。 以下では Win = Shift_JIS、UNIX = euc_jp として記述します。デフォルトと 異なる文字コードを使用する場合は適宜読み替えて下さい。 なお、以下の修正を行った後必ず fmtutilコマンド(3-3.参照、必要に応じて mktexlsr も)を実行して下さい。 4-2. ハイフネーションファイルエラーの解決策 4-2-1. ハンガリー語(Winのみ)・アイルランド語(Winのみ)・トルコ語(共通) * W32TeX(2005.8.12版以降)で修正済み * ptetex3-20050811 以降で修正済み  ハイフネーションファイルのエラーについては 8bt2ptex.pl を使用します (トノさん作成)。以下から入手します。 http://www2.tba.t-com.ne.jp/ing/ctan/8bt2ptex.pl 処理するハイフネーションファイルを同じディレクトリに置き、端末(コマン ドプロンプト)で perl 8bt2ptex.pl huhyph.tex > huhyph-p.tex perl 8bt2ptex.pl gahyph.tex > gahyph-p.tex perl 8bt2ptex.pl trhyph.tex > trhyph-p.tex を実行します。 できたファイルを /texmf-local/tex/generic/hyphen 以下に置き、さらに language.dat を編集、先に作ったファイル名を指定します。 -- language.dat の内容 -- %irish gahyph.tex <コメントアウトする irish gahyph-p.tex <新たに追加 %magyar huhyph.tex <コメントアウトする magyar huhyph-p.tex <新たに追加 %turkish trhyph.tex <コメントアウトする turkish trhyph-p.tex <新たに追加 なお、実行には perl が必要です。UNIX系OSではデフォルトで存在することが 多いようですが Windows では新たに入手する必要があります。また Windows 環境で、かつ pTeX のバージョンが p3.1.4 である場合のみ -c オプションを 使用します(詳細は付属ドキュメントを参照して下さい)。 また、システムによってはガリシア語 gahyph.tex が添付されている場合も ありますので、アイルランド語用であることを確認してから処理して下さい。 (3-3-3. 参照) 4-2-2. ウクライナ語(共通)・ブルガリア語(UNIXのみ) * W32TeX(2005.8.12版以降)で修正済み * ptetex3-20050811 以降で修正済み  この2言語は別なハイフネーションファイルから呼び出すものに処理が必要 です。8bt2ptex.pl による処理は同じですが、その後オリジナルのファイルを リネームしたあと、作成したファイルをもとの名前に戻し、もとの場所に格納 します。language.datを変更する必要はありません。 perl 8bt2ptex.pl ukrhypmp.tex > ukrhypmp-p.tex perl 8bt2ptex.pl bghyphsi.tex > bghyphsi-p.tex この後もとのファイル、できたファイルの名前を ren コマンド(Win)または mv コマンド(UNIX)で変更します。 (例) ren ukrhypmp.tex ukrhypmp-orig.tex (Windows) mv ukrhypmp.tex ukrhypmp-orig.tex (UNIX) (エクスプローラやファイルマネージャでも変更できます) 4-2-2-1. ukrhyph.tex のエラー * ptetex3-20050811 以降で修正済み  OT2 でウクライナ語を使用する場合は ukrhyph.tex の以下の記述がエラー となる場合があります。当該箇所をコメントアウトします(現在は51行目)。 %\patterns{ c8h d8j k8h l8j n8j s8h s8h8c8h t8s x8q y8a y8u z8h } 4-2-3. チェコ語・スロヴァキア語(古いWin版) * W32TeX(2005.8.12版以降)で CSTeX 導入済み  W32TeX(2005.8.12版以降)と UNIX系(teTeX-2以降)では CSTeX と専用の czhyph.tex と skhyph.tex(CTAN所収のものとは全く別)がデフォルトで添付 されているので、以下の作業は不要です。  チェコ語用 czhyph.tex(1991年版)はそのままでは pTeX で使えません。 CTAN に perlスクリプトが用意されているので、以下をダウンロードし、 同様に perl 処理をします。なお perl 処理済みのもの(czhyph2e.tex)が システムに添付されている場合もあります。 http://ring.aist.go.jp/archives/text/CTAN/language/czech/czhyph2e.pl perl czhyph2e.pl czhyph.tex > czhyph2e.tex できたファイルを /texmf-local/tex/generic/hyphen 以下に置き、その後 language.dat を編集します。 %czech czhyph.tex <コメントアウトする czech czhyph2e.tex <新たに追加 その後 fmtutil を実行します。 スロヴァキア語 skhyph.tex についても同様の処理が必要ですが、現在の CTAN では見あたらないようです。古い W32TeX(2005.6.10以前)には perl 処理済みのもの(skhyph2e.tex)が添付されていたのでそれを使うか、 または下記 CSTeX を導入する必要があります。 http://petr.olsak.net/cstex/ 4-2-4. ロシア語(UNIXのみ) * ptetex3-20050825 以降でハイフネーション修正済み  euc-jp でロシア語を使用する場合は ruhyphen.tex の代わりに安田さん 作成の ruhyphen7.tex を使用します。デフォルトで OT2 エンコーディング が使えるようになります。 ( http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/36079.html で紹介 いただいたものです) 以下からファイルを入手します。 http://yasuda.homeip.net/archives/ruhyphen-ot2.zip unzipコマンド等で展開すると、(1) ruhyphen7.tex、(2) ruhyphal7.tex、 (3) ruhyphot2.tex、(4) cyryoal7.tex、(5) ot2trans が生成します。 このうち (1) から (4) までを /usr/local/teTeX/share/texmf-local/tex/generic/ruhyphen へ格納します。 laguage.dat を編集し、以下のように直します。 %russian ruhyphen.tex <コメントアウトする russian ruhyphen7.tex <新たに追加 キーの割り当て等、使い方の詳細は以下を参照して下さい。 TeX ロシア語ハイフネーションと文字入力について(安田さん) http://yasuda.homeip.net/tex/hyphen.html なお上記の方法以外に catkoi.tex cyryoal.tex koi2ot2.tex ruhyphal.tex ruhyphen.tex に 8bt2ptex.pl で処理を行うことでも対応できますが、 一部ハイフネーション処理に問題があります。ptetex3-20050825 以降では 修正版が添付されています。 (参考) http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/37659.html ゝゝhttp://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/37660.html 4-3. usorbian.ldf の編集(高地ソルブ語) * ptetex3-20050811 以降で対処済み  高地ソルブ語については usorbian.ldf で以下の行をコメントアウトします (最新版 ver.1.0iでは94-95行目)。 %\addto\extrasusorbian{\babel@savevariable{\lccode`\^^Y}% % \lccode`\^^Y`\^^Y} 4-4. icelandic.ldf の編集(アイスランド語) * ptetex3-20050811 以降で対処済み  アイスランド語では \DeclareTextCommand{\ooob} 以下の数行がエラーと なる場合(ver.1.1g で144行目以下)があります。前版(第3版-2)では 自力で編集することになっていましたが、8bt2ptex.pl で処理可能である ことが分かりました。 8bt2ptex.pl と icelandic.ldf が存在するディレクトリで perl 8bt2ptex.pl icelandic.ldf > icelandic.ldf-new mv(または ren) icelandic.ldf icelandic.ldf-old mv(または ren) icelandic.ldf-new icelandic.ldf できたファイルを元の /texmf-local/tex/generic/babel へ戻します。 またフランス語と併用する場合、以下の1行(同160行目)の定義が同じため 衝突することがあります。当該箇所をコメントアウトし、次行を追加します。 %\newcommand{\decimalsep}{.} \newcommand{\thousandsep}{\@comma@} \newcommand{\icedecimalsep}{.} \newcommand{\icethousandsep}{\@comma@} 4-5. 終わりに  現在わかっているエラーは上記の通りですが、他にエラーと思われる現象が ある場合は私宛メール(QZB01347@nifty.com)か TeX Q & A 掲示板でご報告 頂ければ幸いです。 http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/ A. 追加 A-1. 多言語処理に関するサイト(一般・個別言語)  上で述べられていない諸言語、または個別の言語関するより詳しい情報は 以下のページを参照下さい。 ・日本語LaTeXによる多言語処理  (稲垣さん・TeXを使った多言語処理に関する総合サイト、BabelとArabTeX  の共存方法、アジア系諸言語の出力例あり) http://www2.tba.t-com.ne.jp/ing/ ・LaTeX によるドイツ語・日本語処理  (永田さん・ドイツ語を中心とした多言語処理ノウハウを詳述、ヘブライ語  の出力例あり) http://www.lg.fukuoka-u.ac.jp/~ynagata/latex.html ・TeX & ArabTeX(高階さん) http://www.osaka-gaidai.ac.jp/~mes/multi/multi_02.html ・スラヴ研究者向け LaTeX 多言語環境の構築  (安田さん・スラヴ関係がメインですが ArabTeX を使ったヘブライ語使用の  ための記述もあり。なお 3-5-2.参照) http://www.ceres.dti.ne.jp/~i-yasuda/tex/texinst2.html ・CGreekプロジェクト  (電総研高橋さん・水落さん・Emacs & MeadowとIbycus4(TeX) を使った古典  ギリシャ語環境、TLGに対応) http://www.m17n.org/cgreek/index.ja.html ・vnTeX(ヴェトナム語TeX)ホームページ http://vntex.sourceforge.net/index.php?lang=en ・ヴェトナム語出力(3版) Tex & Babel(vnTeXと日本語) http://www6.plala.or.jp/dragonfly/tex/tex.html A-1-1. Unicode を使った多言語処理(UTF/OTF・Omega・CJK package など)  特に Unicode 関連のサイトを挙げておきます。 多言語というよりは日本語環境における Unicode / OpenType のための 強力なツールとして UTF/OTF パッケージがあります。W32TeX、ptetex3 では オプションとして簡単にインストールできるようになっています。 --- Unicode / OpenType フォントの利用 --- ・UTF/OTFパッケージ(齋藤修三郎さん) http://psitau.at.infoseek.co.jp/index.html Unicode を使った多言語処理には、大きく分けて Omega(TeXの拡張)を使う 方法、LaTeX に CJK ないし Unicode サポートを付加する方法、の二系統が あります。 --- Omega を使った多言語環境 --- ・Omega-CJK(Choさん・日中韓の混在環境) http://hep-ph.konkuk.ac.kr/ChoF/ ・Omegaと日本語(鈴木さん) http://sat.t.u-tokyo.ac.jp/~hideyuki/omega/index-j.html ・Omega-J公式ページ(同) http://www.havenrock.com/archives/classic/docproc/nihongo/omega-j/ 角藤さんの公式ページにOmega-J(lambdaj)のパッケージ & 解説があります。 http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/web2c75.html --- LaTeX + CJKパッケージ & Unicode パッケージ --- ・Unicode support for LaTeX http://www.unruh.de/DniQ/latex/unicode/ (Home) ftp://ftp.ring.gr.jp/pub/text/CTAN/macros/latex/contrib/unicode/ (CTAN) ・The CJK package for LaTeX http://cjk.ffii.org/ (Home) tp://ftp.ring.gr.jp/pub/text/CTAN/language/chinese/CJK/ (CTAN) ・CJK, Unicode パッケージ,ロシア語多書体の利用(安田さん) 上記を使った多言語処理の実践例です。 http://www.ceres.dti.ne.jp/~i-yasuda/tex/cjk.html A-2. OmegaVN(ヴェトナム語 + CJK)  ヴェンさんが開発された Omega を使ったヴェトナム語 + CJK 混在環境 です。特に Windows 環境ではインストール後わずかな設定ですぐに使える 便利な Unicode パッケージです。ヴェトナム語は直接入力となるので、 Unicode 対応のエディタ等が必要です。 以下からダウンロードします。 http://forum.vnoss.org/viewtopic.php?id=870 ただし、dvipdfmx の -l オプション廃止に伴い cid-x.map を書き換える 必要があります。以下を参照下さい。 http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/37564.html また MS-Office 添付の arialuni.ttf フォントが必要です。システムに 存在しない場合は「インターナショナルサポート」を追加導入する必要が あります(Office CD よりインストール)。 http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/37596.html UNIX・Mac で使用の場合は以下をご覧下さい。 http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/37581.html A-3. MonTeX(モンゴル語)と日本語環境  井上さんのご尽力により MonTeX でのモンゴル文字(bicig)左縦書きと 日本語混在環境が実現できるようになりました。LRtate.sty を使用します。 http://www.ns.musashi-tech.ac.jp/%7einoue/Pages/TeX/LRtate.sty MonTeX + 日本語の使用方法について簡単ですが以下にまとめました。 http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/36989.html http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/36993.html (前後の角藤先生のコメントもご覧下さい) なお xdvi では PostScript サポートが十分でないようです。UNIX 系では dvips ないし dvipdfmx をお使い下さい。dviout では正常に出力される ようです。 以上は齋藤さんの掲示板での議論によりました(pTeXにおけるRLモード)。 http://www.noup.net/fbbs/sv1/wingmulti.cgi?bbsname=psitau B. 謝辞など  本稿第1版では福岡大学人文学部ドイツ語学科の永田先生、現三重大学の 奥村先生に多くのご指導をいただきました。第2版では、TeX Q & A にて奥村 先生を始め角藤先生、パロアルトさん、大石さん、トニイ(刀祢)さん、大友 さん、大島先生(順不同)からたくさんの有益なアドバイスを頂きました。 第3版では多言語関係で稲垣さんから、perlスクリプト関係ではトノさんから、 teTeX-3 では土村さん、本田さん、竹のさん、ロシア語のエラー対策について は安田さん、TeX全般については角藤先生からご教授いただきました。 さらに、OmegaVN についてはヴェンさん、安田さんから、MonTeX については 井上さん、齋藤さん、稲垣さんからご指導、ご協力いただきました。 また TeX Q & A 掲示板等でコメントいただいた皆さんに感謝いたします。 この場を借りて御礼申し上げます。 -----------------------------------------------------------------------   北海道大学大学院文学研究科思想文化学専攻 栗山雅俊 E-mail:QZB01347@nifty.com kuriyama@let.hokudai.ac.jp(休止中)