TeXの概要と歴史
TeXは、スタンフォード大学の
ドナルド・クヌース教授が、自身の著書『The Art of Computer Programming』の改訂版作成中に開発に着手した
組版処理システムです。当時の写植技術では、旧版の鉛版
組版の美しさを再現できないことに不満を持ったクヌース教授は、自ら
組版を完全に制御できるシステムを目指しました。
ギリシャ語の「技術、芸術」を意味するτέχνη (テクネ)に由来するTeXは、1978年に最初のバージョンがリリースされましたが、クヌース教授は徹底的なバグ修正を続け、1989年にバージョン3を「完成版」としてリリースしました。その後もバグ修正は続けられ、バージョン番号は
円周率πに近づける形で更新されています(πに到達した時点で開発終了予定)。
TeXの開発においては、クヌース教授が提唱する「文芸的プログラミング」の思想が反映されており、コードとドキュメントを一体的に管理するシステムが用いられました。
Pascal言語で記述されたTeXのソースコードは、クヌース教授が開発したWEBシステムによって管理されており、現在では
C言語をターゲットとしたWEB2Cも利用されています。
TeXの機能と特徴
TeXは、
マークアップ言語に基づいて記述された
テキストファイルを読み込み、
組版処理を行います。出力されるDVIファイルはデバイス非依存の中間形式であり、各種ビューアやプリンタドライバを用いて、
紙への
印刷やディスプレイへの表示が可能です。
TeXの主要な機能は以下の通りです。
高精度な数式表現: TeXは、数式を美しく、正確に表現することに定評があります。複雑な数式も容易に記述できます。
自動組版処理: 行分割、ページ分割、ハイフネーション、リガチャ、カーニングといった
組版処理を自動で行います。これらの処理は、パラメータの変更によってカスタマイズ可能です。
マクロ機能: 新しい命令を定義できるマクロ機能により、ユーザ独自の拡張が可能です。多くのマクロパッケージが公開されており、様々な用途に対応できます。
オープンソース: TeXは
オープンソース[[ソフトウェア]]であるため、誰でも自由に利用・改変・再配布が可能です。ただし、クヌース教授は直接の配布を制限しており、change fileを用いた差分配布を推奨しています。
OS非依存: 出力結果はOSに依存しません。Windows、Mac、Linuxなど、様々なOSで利用できます。
TeXには、多くの関連ソフトウェアが存在します。
LaTeX: TeXを拡張した
ソフトウェアで、より使いやすく、高度な機能を提供します。多くのTeXユーザは
LaTeXを利用しています。
METAFONT: クヌース教授が開発したフォント作成システム。Computer Modernフォントの設計にも用いられました。
Unicode対応拡張版: XeTeX、LuaTeX、upTeX、e-upTeXなど、
Unicodeに対応した拡張版が登場し、多言語対応が容易になりました。日本語
組版には、pTeXをベースとしたupTeXやe-upTeXが広く利用されています。
マクロパッケージ: AmS-TeX(数式用)、MusiXTeX(楽譜用)など、様々な用途に特化したマクロパッケージがあります。
DVIウェア: DVIファイルを扱う
ソフトウェア。ビューア、
PostScriptへの変換ツール、プリンタドライバなどがあります。
*
統合環境: TeXworks、TeXShop、LyXなど、TeXの作業効率を上げる統合環境が多数存在します。
TeXのコミュニティ
TeXには世界中に活発なコミュニティが存在します。TeX Users Group (TUG)、Deutschsprachige Anwendervereinigung TeXなど、様々なユーザグループがあり、情報交換やサポートが盛んに行われています。オンライン上では、tex.stackexchange.comなどの質問応答サイトも存在します。
TeXの日本語化
日本語
組版のためのTeXシステムとしては、アスキーのpTeXとNTTのNTT JTeXが開発されました。pTeXは
JIS X 0208をベースとしたマルチバイト
文字に対応し、多くのユーザに利用されています。一方、NTT JTeXは、複数の1バイト
文字セットを用いることでオリジナルのTeXからの変更を最小限に抑えています。現在では、
Unicode対応拡張版の普及により、日本語
組版における課題は大きく改善されています。
まとめ
TeXは、高品質な
組版処理を求めるユーザに長く愛用されてきたシステムです。その堅牢性、拡張性、そして活発なコミュニティにより、今後も発展を続けると予想されます。
Unicode対応の拡張版の普及により、より多くのユーザがTeXの利便性を享受できるようになっています。