TeX

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire
TeX
開発元 ドナルド・クヌース
最新版 3.1415926 / 2008年3月
対応OS クロスプラットフォーム
種別 組版処理
公式サイト http://www.tug.org/
  

TeX(読み方は後述)は数学者コンピュータ科学者であるドナルド・クヌースにより作られた組版処理ソフトウェアである。

目次

名称について

製作者であるクヌースによって以下のように要請されている。

表記法
正しくは \mbox{T}_{\!\mbox{E}\!}\mbox{X} と表記するが、それができない場合には TeX と表記する。
読み方
TeX はギリシア文字の ΤΕΧ(タウエプシロンキー)であるから、「テックス」ではなく、「テッハ」と「テッカ」の中間(正しく発音すると鏡が曇る)のように発音するのが正しい。しかしそのような発音は難しいので、クヌースは「テック」と読んでも構わないとしている。日本では「テック」または「テフ」という読み方が広まっている。

機能

TeX はマークアップ言語処理系であり、文章そのものと、文章の構造を指定する命令が混在して記述されたテキストファイルを読み込み、そこに書かれた命令に従って文章を組版して、組版結果を DVI 形式のファイルに書き出す。DVI 形式というのは、装置に依存しない (DeVice-Independent) 中間形式である。

DVI ファイルには、紙面のどの位置にどの文字を配置するかといった情報が書き込まれていて、実際に紙に印刷したりディスプレイ上に表示したりするためには、DVI ファイルを解釈する別のソフトウェアが用いられる。DVI ファイルを扱うソフトウェアとして、各種のビューワや PostScript など他のページ記述言語へのトランスレータ、プリンタドライバなどが利用されている。

組版処理については、行分割およびページ分割位置の判別、ハイフネーション、リガチャおよびカーニングなどを自動で処理でき、その自動処理の内容も種々のパラーメータを変更することによりカスタマイズできるようになっている。数式組版についても、多くの機能が盛り込まれている。また、TeX が文字などを配置する精度は 25.4 / (72.27 × 65536) mm (約0.000005 mm、473628.672dpi)である。

TeX の扱う命令の中には、組版に直接係わる命令の他に、新しい命令を定義するための命令もある。TeX のこの機能を使ってユーザーが独自に作った命令はマクロと呼ばれ、こうした独自の改良をマクロパッケージと呼ばれる形で配布することもできる。

比較的よく知られている TeX 上のマクロパッケージには、クヌース自身による "plainTeX" やアメリカ数学会 (AMS) による AMS-TeX、一般的な文書記述に優れた "LaTeX" などがある。一般ユーザーにとっては、TeX を直接使うよりも、TeX に何らかのマクロパッケージを読み込ませたものを使うことのほうが多い。したがって、これらのマクロパッケージのことも "TeX" と呼ぶ場合があるが、本来は誤用である。

TeX のマクロパッケージには、他にも楽譜を記述する MusiXTeX や参考文献リストに使う BibTeX、OHP スライドの作成に使用する SliTeX、数学的な文書に強い AMSTeX の機能と LaTeX の機能を併せ持った AMS-LaTeX などがある。

TeX および関連するプログラム、TeX のマクロパッケージなどは、CTAN(Comprehensive TeX Archive, 包括 TeX アーカイブ)からダウンロードできる。

生い立ち

TeX は、クヌースが自身の著書 The Art of Computer Programming(邦訳:『基本算法』、サイエンス社、および、『The Art of Computer Programming』、アスキー)を書いたときに、組版の汚さに憤慨し、自分自身で心行くまで組版を制御するために作成したとされている。開発にあたって、伝統的な組版およびその関連技術に対する広範囲にわたる調査を行い、その調査結果を取り入れることで、TeX は商業品質の組版ができる柔軟で強力な組版システムになった。

TeX はフリーソフトウェアであり、ソースコードも公開されていて、誰でも改良を加えることができるし、その改良版の配布も、TeX と区別できるような別名をつけさえすれば許される。また、TeX は非常にバグが少ないソフトウェアとしても有名で、ジョーク好きのクヌースが、バグ発見者に対しては前回のバグ発見者の2倍の懸賞金をかけるほどである。この賞金は小切手で払われるのだが、もらった人は記念に取っておく人ばかりなので、結局クヌースの出費はほとんど無いという。

クヌースは TeX のバージョン 3 を開発した際に、これ以上の機能拡張はしないことを宣言した。その後は不具合の修正のみがなされ、バージョン番号は、3.14, 3.141, 3.1415, ... というように付けられている。これは、更新の度に数字が円周率に近づいてゆくようになっていて、クヌースの死の時点を以てバージョン π として、バージョンアップを打ち切るとのことである(2008年3月28日現在のバージョンは 3.1415926)。

クヌースは、TeX の開発と同時に、TeX で利用するフォントを作成するためのシステムである METAFONT も開発した。こちらのバージョン番号は、2.71, 2.718, 2.7182, ... というように、更新の度に数字が自然対数の底に近づいてゆくようになっている(現在のバージョンは 2.718281)。

TeX および METAFONT は、これもクヌース自身によって提唱されている文芸的プログラミング (Literate Programming) を実現する WEB というシステムで、Pascal へトランスレートされることを前提に記述されている(しかし実際には WEB2CC言語に変換してコンパイルされ実行形式を得ることが多い)。

TeX の日本語化

日本語組版処理のできる日本語版の TeX/LaTeX には、アスキーによる pTeX (pLaTeX) と、NTT の斉藤康己による NTT jTeX (NTT jLaTeX) などがある。

TeX の日本語対応において技術的に最も大きな課題は、複数バイト文字コードへの対応である。pTeX(および前身のアスキー日本語 TeX)は、JIS X0208 の文字コードを直接扱う。DVI フォーマットは元々 16 ビット以上の文字コードを格納できる仕様が含まれていたが、オリジナルの英語版では使われていなかったため、既存プログラムの多くは pTeX が出力する DVI ファイルを処理できない。またフォントに関係するファイルフォーマットが拡張されている。これに対して jTeX は、複数の 1 バイト文字セットに分割することで対応している。例えば、ひらがなとカタカナは内部的には別々の 1 バイト文字セットとして扱われる。このためオリジナルの英語版からの変更が小さく、移植も比較的容易である。ファイルフォーマットが同じなので英語版のプログラムで DVI ファイル等を処理することもできるが、後述するフォントのマッピングの問題があるため、実際には多くのユーザーが、jTeX 用に拡張されたプログラムを使っている。

日本語フォントは pTeX が写研フォントを、jTeX は大日本印刷フォントを前提としており、それぞれメトリックス情報をバンドルして配布している。しかしグリフ情報はどちらも有料なので、印刷や表示の際には、ユーザーが利用できる他の適当なフォントで代用することが多い。つまり、写研フォントのメトリックス情報を用いて文字の位置を固定した後、表示や印刷は他の適当な TrueType フォントなどを使って行っているというのが現実である。このため、日本語化された TeX 関係プログラムのほとんどは、表示・印刷で実際に使うフォントを選択できるよう、フォントのマッピングを定義する機能を持っている。

歴史的には、アスキーが日本語 TeX の PC-9800シリーズ 版を販売したために個人ユーザーを中心に普及した一方、jTeX は元の英語版プログラムからの変更が比較的小さいという利点を受けて、UNIX 等を使う大学や研究機関を中心に普及した。

GUI 環境と TeX 統合環境

GUI はパソコンの普及に一役を買ったが、それにより GUI しか触ったことのないパソコン利用者も増加したわけである。そのような利用者にとって、コマンドラインでの操作を余儀なくされる TeX は非常に扱いづらい、あるいは難解な化け物であるかのような印象をもってしまうのは否めないことである。このため GUI に特化した TeX 用統合環境がいくつか作成されている。

なお、TeX を利用して組版を行うには通常次のように作業を進める。

  1. テキストエディタなどを用いて、文章に組版命令を織り込んだソースファイルを作成する。
  2. OS のコマンドラインから「tex "ソースファイル名"」などと入力して TeX を起動し、dvi ファイルを生成させる。
    • ソースファイルにエラーがあれば、修正してやり直し。
  3. DVI ウェアとよばれる dvi 命令を解するソフトウェアを用いて組版結果をチェックする。
    • DVI ウェアには、xdvi や dviout などのプレヴューア、dvips(k), dvipdfm(x) などの各種変換ドライバなどがある。各 DVI ウェアの間には dvi ファイルの解釈・表示について互換性がない場合がある注1
    • 組版結果のチェックについては、プレヴューアで表示確認・印刷あるいはPostScriptに変換して印刷(あるいは GhostScript などのインタプリタで表示確認)したり、PDFに変換して Acrobat Reader などを用いたりする。
    • 修正の必要があれば始めからやり直し。

この間、工程が変わるたびにそれぞれのプログラムを切り替えたり、扱う文書が大きくなると章毎にソースファイルを分割して管理したりと、比較的煩雑な作業を伴う。この工程に係わる各種のプログラムやソースファイルの管理を行うソフトウェアが TeX 統合環境である。

注1) 特に、ソースファイルに特別なパッケージを用いるなどして、ある種の special を埋め込んで作成した dvi ファイルは、その special を解釈可能な DVI ウェアでなければ表示・印刷などができないか少なくとも正しくならない。

関連ソフトウェア

参考文献

  • 大野義夫編 『TeX入門』 共立出版株式会社、1989年、ISBN 4-320-02488-5

外部リンク

m:ヘルプ:数式の書き方

ウィキブックス
ウィキブックスTeX関連の教科書や解説書があります。
メタウィキメディア
メタウィキに、このページに関する記事があります。
メタウィキメディア
メタウィキに、このページに関する記事があります。

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net