TeX


TeX

で数式を表示するためのヘルプについては、ヘルプ:数式の表示を参照してください その他の使用法については、Texを参照してください LaTeX
と混同しないでください
TeXの(/ T ɛ X /参照以下)、のようなシステム内で様式化T E Xであり、組版システムによって設計され、書かれたドナルド・クヌース 1978年のTeXに放出され、最初は複雑な組版のポピュラーな手段であります数式; 最も洗練されたデジタル活字システムの1つとして注目されています。 TeX 開発者
ドナルド・クヌース
初回リリース
1978 ; 43年前 (1978)
安定リリース
3.141592653 / 2021年2月 ; 9ヶ月前  (2021-02)
リポジトリ
www .tug .org / svn / texlive /
で書かれている
WEB /パスカル
オペレーティング・システム
クロスプラットフォーム
タイプ
組版
ライセンス
寛容な自由ソフトウェア
Webサイト
tug .org TeX ファイル名拡張子 .tex インターネットメディアタイプ
application / x-tex
初回リリース
1978 ; 43年前 (1978)
フォーマットの種類
ドキュメントファイル形式
TeXは、学界、特に数学、コンピューターサイエンス、経済学、政治学、工学、言語学、物理学、統計学、および定量的心理学で広く使用されています。それは、異なる目的のために両方を使用する多くのUnixインストールにおいて、Unix troff、他の好まれたフォーマットシステムを大幅に置き換えました。また、特にLaTeX、ConTeXt、およびその他のマクロパッケージの形式で、他の多くの植字タスクにも使用されます。
TeXは、2つの主な目標を念頭に置いて設計されました。それは、誰もが最小限の労力で高品質の本を作成できるようにすることと、いつでも(Metafont言語とともに)すべてのコンピューターでまったく同じ結果が得られるシステムを提供することです。以下のためのフォント記述とコンピュータ現代の家族書体)。 TeXはフリーソフトウェアであり、幅広いユーザーがアクセスできるようになっています。

コンテンツ
1 歴史
1.1 WEBと文芸的プログラミング 1.2 TeX82 1.3 パブリックドメイン
2 TeXの使用
3 植字システム
3.1 実行方法 3.2 数学的な例
4 側面
4.1 数学的間隔 4.2 ハイフネーションと正当化 4.3 メタフォント 4.4 マクロ言語
5 発達
6 ディストリビューションと拡張機能
6.1 編集者 6.2 ライセンス 6.3 XMLパブリケーション
7 発音と綴り
8 コミュニティ
9 拡張機能
10 も参照してください
11 ノート
12 参考文献
12.1 ソース
13 外部リンク

歴史
ドナルド・クヌースの『The Art of Computer Programming』の最初の論文が1968年に出版されたとき、それはMonotypeマシンによって設定された溶銑組版を使用して植字されました。この方法は19世紀にまでさかのぼり、クヌースが高く評価する「クラシックなスタイル」を生み出しました。第2版​​が発行されたとき、1976年に、Monotypeテクノロジーが写真植字に大幅に置き換えられ、元のフォントが使用できなくなったため、本全体を再度植字する必要がありました。クヌースが1977年3月30日に新しい本のギャレー証明を受け取ったとき、彼はそれらが劣っていることを発見しました。
第2巻の第2版のギャレープルーフに失望し、彼は独自の植字システムを設計するように動機付けられました。クヌースは、高品質のデジタル植字システムの出力を初めて見て、デジタルタイポグラフィに興味を持つようになりました。1977年5月13日、彼はTeXの基本的な機能を説明するメモを自分自身に書きました。
彼は1978年にサバティカルでそれを終えることを計画しました、しかしそれが起こったとき、言語は10年以上後の1989年まで「凍結」(すぐに使える)ではありませんでした。ガイ・スティールは、クヌースが最初のバージョンのTeXを開発していた1978年の夏にスタンフォードにたまたまいました。スティールがその秋にマサチューセッツ工科大学に戻ったとき、彼はTeXの入力/出力(I / O)を、互換性のないタイムシェアリングシステム(ITS)オペレーティングシステムで実行するように書き直しました。TeX78と呼ばれるTeXの最初のバージョンは、スタンフォードのWAITSオペレーティングシステムの下でPDP-10上で実行するためにSAILプログラミング言語で書かれました。

WEBと文芸的プログラミング
TeXの新しいバージョンでは、Knuthが文芸的プログラミングの概念を発明しました。これは、同じ元のファイルからTeXでコンパイル可能なソースコードとクロスリンクされたドキュメントタイプセットを作成する方法です。使用言語が呼び出されWEBと12月PDP-10にプログラムを生成パスカル。

TeX82
TeX82、一から書き直さのTeXの新バージョンは、他の変化の中で1982年に出版された、オリジナルのハイフネーションアルゴリズムは、によって書かれた新しいアルゴリズムによって置き換えられたフランク・梁。TeX82はまた、浮動小数点の代わりに固定小数点演算を使用して、さまざまなコンピューターハードウェア間で結果の再現性を確保し、ガイスティールによる激しいロビー活動に続いて、実際のチューリング完全プログラミング言語を含みます。 1989年、ドナルド・クヌースはTeXとMetafontの新しいバージョンをリリースしました。プログラムを安定させたいという彼の願望にもかかわらず、クヌースはテキスト入力用の128の異なる文字が外国語に対応するのに十分ではないことに気づきました。したがって、TeXのバージョン3.0(TeX90とも呼ばれる)の主な変更点は、8ビット入力を処理する機能であり、テキスト入力で256の異なる文字を使用できます。
バージョン3以降、TeXは特異なバージョン番号付けシステムを使用しており、バージョン番号が漸近的にπに近づくように、更新は小数点以下の桁を追加することによって示されています。これは、TeXが現在非常に安定しており、マイナーな更新のみが予想されるという事実を反映しています。TeXの現在のバージョンは3.141592653です。最終更新日は2021年です。バージョン3.0以降、デザインは凍結され、新機能や基本的な変更は追加されないため、すべての新しいバージョンにはバグ修正のみが含まれます。ドナルド・クヌース自身がTeXを改善できるいくつかの分野を提案しましたが、彼は、新しい機能を導入するよりも、現在および将来同じ出力を生成する変更されていないシステムを持つことが重要であると固く信じていると述べました。 。このため、彼は「絶対に最終的な変更(私の死後に行われる)」はバージョン番号をπに変更することであり、その時点で残りのすべてのバグが機能になると述べています。同様に、2.0以降のバージョンのMetafontは漸近的にeに近づき(現在は2.7182818)、クヌースの死後も同様の変更が適用されます。

パブリックドメイン
TeXのソースコードは基本的にパブリックドメインであるため(以下を参照)、他のプログラマーはシステムを改善することができます(そして明示的に推奨されます)が、変更されたTeXを配布するには別の名前を使用する必要がつまり、ソースコードは次のことができます。まだ進化しています。たとえば、Omegaプロジェクトは、主にTeXの多言語植字能力を強化するために1991年以降に開発されました。 Knuthは、TeX-XeTなどの「非公式」修正バージョンを作成しました。これにより、ユーザーは、左から右および右から左の 書記体系で書かれたテキストを同じドキュメントに混在させることができます。

TeXの使用
コンピュータサイエンス、数学、工学、物理学などのいくつかの技術分野では、TeXは事実上の業界標準になっています。Addison-Wesley、Cambridge University Press、Elsevier、Oxford University Press、Springerから出版された本を含め、何千冊もの本がTeXを使用して出版されています。これらの分野の多数のジャーナルは、TeXまたはLaTeXを使用して作成されており、著者はTeXで書かれた生の原稿を提出できます。辞書や法律出版物を含む他の分野の多くの出版物は、TeXを使用して作成されていますが、TeXは主に数学を植字するように設計されているため、より技術的な分野ほど成功し
彼がTeXを設計したとき、ドナルド・クヌースは単一の植字システムがすべての人のニーズに合うとは信じていませんでした。代わりに、彼はプログラム内に多くのフックを設計して拡張機能を記述できるようにし、パブリッシャーが自分のニーズに合わせたバージョンを設計することを期待してソースコードをリリースしました。このような拡張機能は作成されていますが(Knuth自身によるものも含まれます)、ほとんどの人がマクロのみを使用してTeXを拡張し、技術的な植字に関連するシステムのままです。

植字システム
TeXコマンドは通常、円記号で始まり、中括弧でグループ化されます。TeXの構文プロパティのほとんどすべてをその場で変更できるため、TeX入力をTeX自体以外で解析するのは困難です。TeXはマクロベースおよびトークンベースの言語です。ほとんどのユーザー定義コマンドを含む多くのコマンドは、展開できないトークンのみが残るまでオンザフライで展開され、その後実行されます。拡張自体には、実質的に副作用がありません。マクロの末尾再帰はメモリを必要とせず、if-then-else構造が利用可能です。これにより、拡張レベルでもTeXはチューリング完全言語になります。システムは4つのレベルに分けることができます。最初に、文字が入力ファイルから読み取られ、カテゴリコード(略して「catcode」と呼ばれることもあります)が割り当てられます。バックスラッシュ(実際には、カテゴリ0の任意の文字)とそれに続く文字(カテゴリ11の文字)または他の1つの文字の組み合わせは、制御シーケンストークンに置き換えられます。この意味で、この段階は字句解析のようなものですが、数字から数字を形成するわけではありません。次の段階では、拡張可能な制御シーケンス(条件付きマクロや定義済みマクロなど)が置換テキストに置き換えられます。第3段階の入力は、文字のストリーム(特別な意味を持つものを含む)と拡張不可能な制御シーケンス(通常は割り当てと視覚的なコマンド)です。ここでは、文字が1つの段落にまとめられ、TeXの段落分割アルゴリズムは、段落全体のブレークポイントを最適化することによって機能します。第4段階では、行やその他の資料の垂直リストをページに分割します。
TeXシステムは、すべての文字と記号のサイズを正確に把握しており、この情報を使用して、1行あたりの文字数と1ページあたりの行数の最適な配置を計算します。次に、すべての文字の最終的な場所を含むDVIファイル(「DeViceIndependent」)を生成します。このDVIファイルは、適切なプリンタードライバーを指定して直接印刷することも、他の形式に変換することもできます。今日では、DVI生成を完全にバイパスするpdfTeXがよく使用されます。ベースTeXシステムは、プリミティブと呼ばれる約300のコマ​​ンドを理解します。これらの低レベルのコマンドがユーザーによって直接使用されることはめったになく、ほとんどの機能はフォーマットファイル(大規模なマクロコレクションがロードされた後のTeXのプリダンプされたメモリイメージ)によって提供されます。約600個のコマンドを追加するKnuthの元のデフォルト形式は、PlainTeXです。最も広く使用されている形式はLaTeXで、元々はレスリーランポートによって開発されました。これは、本、文字、スライドなどのドキュメントスタイルを組み込み、セクションと方程式の参照と自動番号付けのサポートを追加します。もう1つの広く使用されている形式であるAMS-TeXは、American Mathematical Societyによって作成され、より多くのユーザーフレンドリーなコマンドを提供します。これらのコマンドは、ジャーナルによって家のスタイルに合わせて変更できます。AMS-TEXの機能のほとんどは、「AMSパッケージ」(例えば、使用してのLaTeXで使用することができamsmath、amssymb)と「AMSドキュメントクラス」(例えば、amsart、amsbook)。これは、AMS-LaTeXと呼ばれます。他のフォーマットには、主にデスクトップパブリッシングに使用され、主にPragmaのHansHagenによって作成されたConTeXtが含まれます。

実行方法
image"
  LaTeXマクロで
TeXを使用して作成された
サンプルページ
プレーンTeXのHelloworldプログラムのサンプルは次のとおりです。
Hello、World bye
%はファイルの終わりを示します。最終出力には表示されません
.texはプレーンTeXファイルの一般的なファイル拡張子であるため、これはファイルmyfile.texにある可能性がデフォルトでは、行のパーセント記号に続くものはすべてコメントであり、TeXでは無視されます。(例えば、次のように入力して、このファイルに対してTeXを実行すると、中のコマンドラインインタプリタ、またはからそれを呼び出すことにより、グラフィカル・ユーザー・インターフェース)と呼ばれる出力ファイルが作成されますmyfile.dviを中ページのコンテンツ表す、DのE Vの氷を私ndependent形式(DVI)。次に、DVIファイルを画面に表示するか、デバイスドライバーが存在するさまざまなプリンターのいずれかに適した形式に変換することができます(プリンターのサポートは、通常、TeXが作成された時点ではオペレーティングシステムの機能ではありませんでした)。Knuthは、出力形式としてDVIを必要とするTeXに固有のものはなく、TeXのそれ以降のバージョン、特にpdfTeX、XeTeX、LuaTeXはすべてPDFへの直接出力をサポートしていると述べています。tex myfile.tex

数学的な例
TeXは、特に数式用に異なるテキスト構文を提供します。例えば、次式(の溶液で二次方程式が)として現れます。
マークアップ
としてレンダリング
次式は、$ – B PM SQRT {B ^ 2 – 4 AC} 上2 $ BYE
二次方程式は 
− ±±2 − 4 2 {{ hbox {二次方程式は}} textstyle {-b pm { sqrt {b ^ {2} -4ac}} over 2a}}
{hbox{The quadratic formula is }}textstyle {-bpm {sqrt {b^{2}-4ac}} over 2a}
数式は、人が手書きで書く方法、または数式を植字する方法で印刷されます。ドキュメントでは、数学モードに入るには、$記号で開始し、次にTeX構文で数式を入力し、同じ記号の別の記号で閉じます。クヌースは、植字数学は伝統的に高価であると考えられていたため、プレーンTeXの数学モードの開始と終了を示すためにドル記号を選択したと冗談めかして説明しました。 表示数学(改行を中心に表示される数学)は似ていますが、単一の$記号の代わりに$$を使用します。たとえば、上記の表示数学の2次方程式は次のとおりです。
マークアップ
としてレンダリング
次式は、$$ – B PM SQRT {B ^ 2 – 4 AC}オーバー 2 $$ BYE
二次方程式は
{{ hbox {二次方程式は}} 、}