next up previous
: 4.6 単語間のスペース : 4. テキストの組版 : 4.4 特殊文字と特殊記号


4.5 英語以外の言語のサポート

英語以外の言語で文書を書く必要がある場合, LATEXを適切に設定しなければならない箇所が二つあります.

  1. 全てが自動で作られる文字列4.6 を新しい言語に対応させなければなりません. 多くの言語では,Johannes Braamsが作成した babelパッケージを使用することで これらの変更に対応することができます.

  2. LATEXは,新しい言語に対する ハイフネーションの規則を知る必要があります. LATEXにハイフネーション規則を教えることは, 多少面倒です. 使用する言語のハイフネーションパターンを用いて, 新たにフォーマットファイルを作りなおさなければ ならないのです. このことに関しては, より詳しい情報がローカルガイド [4]にあります.

使用しているコンピュータシステムで すでに適切な設定がしてあれば, 次のコマンドを\documentclassコマンドの後で 使用することによって,babelパッケージを 使用することができます.


\begin{command}
\texttt{\symbol{'134}usepackage}\verb*\vert[\vert\emph{language}\verb*\vert]{babel}\vert
\end{command}

システムで使用できるlanguageは, システムのローカルガイドにも書かれているはずです. babelパッケージは,指定した言語に対する 適切なハイフネーション規則を自動的に適用します. 使用しているLATEXが, 指定した言語のハイフネーション規則に対応していなくても, babelパッケージは組版された文書の見栄えが 極端に悪くなるようなハイフネーションは 避けてくれるでしょう.

言語によっては, 簡単に特殊文字の入力を行うことができるように babelパッケージが新しいコマンドを定義しています. 例えば,ドイツ語は 多くのウムラウト(äöü)使用するので, babelパッケージでは\"oの 代わりに"oと入力することでöを 出力することができるようになっています.

直接キーボードから特殊文字を入力することができる コンピュータシステムもあります. LATEXは,そのように入力された文字も扱うことができます. 1994年12月のLATEX2eの公開から, いくつかの入力エンコーディングに対するサポートが LATEX2eの基本配布に含まれています. inputencパッケージを調べてみて下さい. このパッケージを使用するときには, 異なるエンコーディングを使用するため, 入力ファイルが他の人のコンピュータ上には 表示できない可能性があることを考えておくべきです. 例えば,PC上ではドイツ語のウムラウト äのコードは132ですが, ISO-LATIN 1を使用しているUnixシステムでは228となってます. そのため,これらの機能は注意して使わなければなりません.

フォントのエンコーディングはまた別の問題になります. フォントのエンコーディングは,TEXのフォントにおける それぞれの文字の位置を定義したものです. 元々のComputer Modern TEXフォントには, 古い7ビットのアスキー文字セットである128文字しか 含まれていません. そこで,アクセント文字が必要になると, TEXはアクセントなしの通常の文字と アクセント記号とを組み合わせることによって アクセント文字を作り出します. 見た目には問題ないのですが,この手法では, アクセント文字を含んだ単語のハイフネーションが 自動で行えなくなっています.

ただ,最新のTEXはECフォントを含んでいます. これらのフォントはComputer Modernフォントに似ていますが, ヨーロッパの言語で使われるほとんどのアクセント文字を 表す特殊文字を含んでいます. これらのフォントを使えば,英語以外の言語で作成される文書の ハイフネーションを行うことができます. ECフォントは,以下のように文書のプリアンブルに fontencパッケージを読み込むことによって 使用することができます.


\begin{command}
\texttt{\symbol{'134}usepackage}\verb*\vert[T1]{fontenc}\vert
\end{command}


next up previous
: 4.6 単語間のスペース : 4. テキストの組版 : 4.4 特殊文字と特殊記号
Hiroyuki Ohsaki (oosaki@ics.es.osaka-u.ac.jp)