TeX
[Wikipedia|▼Menu]
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}

この項目では、組版処理システムについて説明しています。その他のTEX、texについては「TEX」をご覧ください。

ウィキメディアプロジェクトにおける TeX を利用した組版については、「ヘルプ:数式の書き方」の項目をご覧ください。

TeX
作者Donald E. Knuth
初版1978年 (46年前) (1978)

最新版3.141592653 / 2021年2月5日 (3年前) (2021-02-05)[1]
リポジトリ

www.tug.org/svn/texlive/

プログラミング
言語WEB
対応OSクロスプラットフォーム
サポート状況開発中
種別組版処理
ライセンスパーミッシブ・ライセンス
公式サイトThe TeX Users Group (TUG)
テンプレートを表示

TeX (TeX) は,ドナルド・クヌース (Donald E. Knuth) が開発[2]し,広く有志による拡張などが続けられている組版処理システムである。
概要
TeXの特徴

TeXは以下のようなメリットがある[3]

オープンソースソフトである。

出力結果がOS(Windows, Macなど)に依存しない。

自動処理が多い。

数式の仕上がりに定評がある(#数式の表示例などを参照)。

TeXの成立

スタンフォード大学のドナルド・クヌース教授(現在は退職)が、1976年に自身の著書 The Art of Computer Programming の改訂版の準備中に、鉛版により組版された (en:Hot metal typesetting) 旧版の職人仕事による美しさが、改訂版の当時の写植では再現できていないことに憤慨し、自分自身が心ゆくまで組版を制御するために開発を決意した。

クヌースはまず、伝統的な組版およびその関連技術に対する広範囲にわたる調査を行い、その調査結果を取り入れることで、商業品質の組版ができる、柔軟で強力な組版システムを開発した。それは技術と同時に芸術をも意味するギリシア語の言葉である、τ?χνη(テクネ)から採られ“TeX”と名付けられた[4]

当初の開発は本業である研究や教育の合間仕事であったが、クヌースには1978年に1年間のサバティカルがあったことから、その1年間の全てをこれに集中して完成させるという見込みであった。しかし実際には、同年に初版をリリースしたものの、その後も改訂を続けることとなった。最終的に、後述する「完成版」の系列であるバージョン3の最初のリリースは、実に1989年のことであった。クヌースの賞金小切手(一部ボカシ入)

TeXを他人が改造したり拡張したりした場合について、それを直接配布することをクヌースは許しておらず、change file というメカニズムを利用して差分を添付する、という形で行わなければならない(これは当時まだ diff と patch が一般的に広く使われていなかったことから、これもクヌースが開発したものである)。この制限はいわゆる「バザールモデル」であるとは多少言い難い所があるが、「オープンソースの定義」では(そのような制限との妥協の産物である)第4項により、差分等を添付した再配布を許しているならば、派生物の配布にそのような制限があってもよい、ということになっているため「オープンソースの定義」には合致している。

前述のような開発期間の長さの理由の一つに、クヌースが徹底的にバグを探して潰していたから、ということも挙げられる。どのようなバグを修正したか、ということも記録しており、ある時期までのものについて解説と一覧が『文芸的プログラミング』の第10章と第11章に収録されている。そのため、残っているバグは少ないだろうとして、ジョーク好きのクヌースが、バグ発見者に対しては前回のバグ発見者の2倍の懸賞金を掛けている。この賞金は小切手クヌース賞金小切手)で払われるが、貰っても記念に取っておくばかりなので、結局クヌースの出費はほとんどないという(とはいえやはりジョークかもしれないが、やめておけば良かった、というように取れることも書いている)。

クヌースは TeX のバージョン 3 を開発した際に、これ以上の機能拡張はしないことを宣言した。その後は不具合の修正のみがなされ、バージョン番号は 3.14, 3.141, 3.1415, … というように付けられている。これは更新の度に値が円周率に近づいていくようになっていて、クヌースの死の時点をもってバージョン π として、バージョンアップを打ち切るとのことである[注 1]

クヌースは TeX の開発と同時に、TeX で利用するフォントを作成するためのシステムである METAFONT も開発した。こちらのバージョン番号は 2.71, 2.718, 2.7182, … というように、更新の度に値がネイピア数に近づいていくようになっている[注 2]。さらにクヌースは METAFONT を使って、欧文フォント Computer Modern も設計(デザイン)した。Computer Modern(cmと略されることもある)にはクヌース自身の欧文フォントに対する美的感覚が反映され、全くのプレーンな TeX ではデフォルトのフォントであるが、現在の多くの利用者は Times など伝統的な定番フォントを使うよう設定していることも多い。

TeX および METAFONT はまた、同様にクヌース自身が提唱する文芸的プログラミング (Literate Programming) の「ドキュメンテーションを主とし、コードはそれに付随する」スタイルによる大規模なプロジェクトの一例でもある。やはりクヌースによる文芸的プログラミングのためのシステム WEB の tangle により、そのようにして書かれている文芸的な「プログラム」の中から Pascal で書かれているコード部分が取り出され、コンパイルできるように編集し直されて何らかの Pascal の実装により処理される(大規模なコードのため、多くの Pascal 実装において1個以上のバグを見つけている、ともいわれる)。同様にして WEB の weave を通して得られるドキュメントを書籍にしたものが TeXbook と METAFONTbook である。Pascal が使われているのは開発にとりかかったのが古く、C言語が広く一般的になるより前だったこともあるが、近年ではC言語をターゲットとした WEB である WEB2C が使われることも多い。

(注)LaTeXとの違いはLaTeX参照。LaTeXにはTeXより便利な機能が多いため、TeXを使用しているといってもLaTeXを利用している、という場合がある。ちなみに、後述にも登場するwikipedia上の数式は、Wikipediaサーバ上のLaTeXでSVG画像にしているものである。
名称について

製作者のドナルド・クヌースにより以下のように要請されている。
表記

ギリシア語: τ?χνη「技術、芸術」に由来し、ギリシア文字Τ(タウ)- Ε(イプシロン)- Χ(カイ)である。E を少し下げて、字間を詰めて書く。プレーンテキストなどそれができない場合には “TeX” と表記する(“TEX”や“Tex”と表記するのは誤り)。
読み方

英語のアルファベット ⟨X⟩(エックス、/??ks/)として読むのではなく、ギリシア語風に無声軟口蓋摩擦音 /x/(ドイツ語の ach-laut の ⟨ch⟩)で /tex/ と発音するのが本来である[5]。TeXbook では、そのように正しく発音するとコンピュータの端末(のCRTディスプレイ)が、呼気でちょっと曇る、と冗談が書かれている(CRTディスプレイが曇るという冗談はともかく、その発音が呼気を伴うものであるのは確か)。英語においては、多くの方言で音素 /x/ が存在せず代わりに /k/ が使われること、τ?χνη に由来する英語: technical が /?t?k.n?k.?l/ と読むことから /?t?k/ と読まれる。ドイツ語では /?/ が前舌母音であることから ich-laut の発音になり、/?t?c/ である。日本ではどれもカタカナで表現するのが難しいため「テック」ないし「テフ」と書かれる。ドイツ語の ⟨ch⟩ をハ行で表現することもあるので間違いとは言い切れないものの、あえてローマ字で書くなら ⟨hu⟩ であり、日本語の「ファ行のフ」である無声両唇摩擦音 /?/(ローマ字で ⟨fu⟩)ではない。TeXbookの邦訳出版など、日本での普及に大きく関与したアスキーで、編集者だった鈴木嘉平によれば、アスキー社内では「テック」と読んでいたが、先輩編集者によれば(fuで発音する)「テフ」ではないとはっきり書いておかなかったのが原因で、日本には「テフ」が広まってしまった、という[6]
機能

TeX はマークアップ言語のスタイルをとっている。すなわち、文章そのもの(テキスト)と文章の構造を指定する命令(コントロールシーケンス)が記述されたテキストファイルを読み込み、そこに書かれた命令により文章を組版し、組版結果を DVI 形式のファイルに書き出す。DVI 形式とは、装置に依存しない (device-independent) 中間形式のことである。処理系は多機能で、チューリング完全である。

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

組版処理については、行分割およびページ分割位置の判別、ハイフネーションリガチャ、およびカーニングなどを自動で処理でき、その自動処理の内容も種々のパラメータを変更することによりカスタマイズできる。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:75 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef