LaTeX ( / ˈ l ɑː t ɛ k / ⓘ LAH -tekまたは/ ˈ l eɪ t ɛ k / LAY -tek[2](しばしばL a T e X)は、文書を組版するためのソフトウェアシステム[3]でTeXをより簡単に利用するための高水準で記述的なマークアップ言語を提供する。TeXは文書のレイアウトを処理し、LaTeXは文書処理のためのコンテンツ側を処理する。プレーンTeXの書式設定コマンドは基本的なものであるため、章見出し、脚注、相互参照、参考文献などの書式設定とレイアウトの要件に対応する既製のコマンドが著者に提供される。
LaTeXはもともと1980年代初頭にSRIインターナショナルのレスリー・ランポートによって書かれました。[4]現在のバージョンはLaTeX2eで、1994年に初めてリリースされましたが、2015年から段階的に更新されています。この更新ポリシーは、1989年から開発されていたLaTeX3の個別のリリースの以前の計画に取って代わりました。[5] LaTeXはフリーソフトウェアであり、 LaTeXプロジェクトパブリックライセンス(LPPL)の下で配布されています。[6]
TeXと同様に、LaTeXは数学者やコンピュータ科学者のための執筆ツールとして始まりましたが、開発の初期から、複雑な数式やアラビア語、デーヴァナーガリー文字、中国語などのラテン文字以外の文字を含む文書を書く必要のある学者にも採用されてきました。 [7] [8 ]
LaTeXは1980年代初頭、スタンフォード研究所(SRI)で働いていたレスリー・ランポートによって作成された。彼は自分自身でTeXマクロを書く必要があり、少しの努力で他の人が使える汎用パッケージにできると考えていた。アディソン・ウェズレーの編集者ピーター・ゴードンは、彼にLaTeXのユーザーズマニュアルを書いて出版するよう説得した(ランポートは当初、誰かがお金を払ってくれるかどうか懐疑的だった)。[10]それは1986年に出版され[3]、数十万部を売り上げた。[10]一方、ランポートは1984年と1985年にも自身のLaTeXマクロのバージョンをリリースした。1989年8月21日、スタンフォードで開催されたTeXユーザーズグループ(TUG)の会議で、ランポートはLaTeXの保守と開発をフランク・ミッテルバッハに引き継ぐことに同意した。ミッテルバッハは、クリス・ロウリーとライナー・ショプフと共にLaTeX3チームを結成し、1994年に現在の標準バージョンであるLaTeX2eをリリースしました。LaTeX3はその後、独立したフォーマットとしては廃止され、2018年からLaTeX2e内のプログラミングレイヤーとなっています。[5]
LaTeX は、プレゼンテーションとコンテンツを分離するという設計理念に従おうとしています。これにより、作成者は見た目を気にすることなく、書いている内容に集中できます。LaTeX 文書を作成する際、作成者は章、節、表、図などの単純で使い慣れた概念を使用して論理構造を指定し、これらの構造の書式設定とレイアウトは LaTeX システムに任せます。その結果、レイアウトとコンテンツの分離が促進されますが、必要な場合はいつでも手動でタイプセットを調整できます。この概念は、多くのワードプロセッサが文書全体にグローバルにスタイルを定義できるようにするメカニズムや、ハイパーテキスト マークアップ言語 ( HTML ) 文書の スタイル設定でカスケーディング スタイル シートを使用するメカニズムに似ています。
LaTeXシステムは、組版とレンダリングを扱うマークアップ言語であり[11]、基盤となるマクロ言語を用いて新しい環境やコマンドなどのカスタムマクロを開発することで、任意に拡張できます。このようなマクロはパッケージにまとめられることが多く、align複雑な数式やグラフィックの書式設定(例えば、パッケージが提供する環境を用いて整列した数式を生成するなど)といった特定の組版ニーズに対応するために利用できるようになりますamsmath。
LaTeXで文書を作成するには、まずdocument.tex、通常はテキストエディタを用いて、例えばファイルを作成します。[12]次に、そのdocument.texファイルをTeXプログラム(LaTeXマクロがロードされている)に入力として渡します。すると、TeXは画面上での表示や印刷に適したファイルを書き出します。[13]この書き込み、フォーマット、プレビューのサイクルは、LaTeXでの作業がWYSIWYG( What-You-See-Is-What-You-Get )スタイルの文書編集と異なる主な点の一つです。これは、コンピュータプログラマーに知られているコード、コンパイル、実行のサイクルに似ています。今日では、多くのLaTeX対応編集プログラムが、入力ウィンドウの横の画面に出力プレビューを表示しながらキーを1つ押すだけで、このサイクルを簡単に実行できます。一部のオンラインLaTeXエディタは、プレビューを自動的に更新します。[14] [15] [16]一方、他のオンラインツールは、単一ウィンドウ内でプレビューと混在した増分編集をその場で実行します。[17]

\LaTeXマクロでタイプセット)TeXの名前の「T」、「E」、「X」はギリシャ語の 大文字 tau、epsilon、chiに由来しており、TeXという名前は古代ギリシャ語のτέχνη ( 「技能」「芸術」「技術」)に由来しています。このため、TeXの作者であるドナルド・クヌースは、 / tɛx /(tekh)[18](つまり、現代ギリシャ語の無声軟口蓋摩擦音、またはlochのch)という発音を推奨しています。ランポートは、「TeXは通常techと発音されるため、lah -tech、lah- tech、lay -techが論理的な選択肢となりますが、言語は常に論理的であるとは限らないため、lay-tecksという発音も可能です」と述べています。[19]
名称は、活字体ロゴ「L a T e X」とともに本文中に印刷されます。ロゴを本文中に正確に再現できない媒体では、通常、単語は大文字で表記された「LaTeX」で示されます。また、TeX、LaTeX、[20]、XeTeX [21]のロゴは、グラフィカルなウェブブラウザで使用するために、内部マクロの仕様に従うことで、純粋なCSSとXHTMLでレンダリングすることもできます。[22]\LaTeX
以下の例は、LaTeX への入力とそれに対応するシステムからの出力を示しています。

LaTeXはマクロパッケージとして、TeXが解釈するためのマクロセットを提供しています。TeXには他にも多くのマクロパッケージがあり、Plain TeX、GNU Texinfo、AMSTeX、Chemfig、chemmacros、[23] PSTricks、PSfrag 、 ConTeXtなどがあります。
TeXが文書を「コンパイル」する際、(ユーザーの観点から)以下の処理手順を踏む:マクロ → TeX → ドライバ → 出力。これらの各ステップの異なる実装は、通常、TeXディストリビューションで入手可能である。従来のTeXはDVIファイルを出力し、通常はPostScriptファイルに変換される。2000年、Hàn Thế ThànhらはpdfTeXと呼ばれるTeXの実装を作成した。pdfTeXはPDFへの出力も可能で、その形式の機能も活用している。[24]一方、Jonathan Kewが開発したXeTeXエンジンは、最新のフォント技術とUnicodeをTeXに統合している。 [25] LuaTeXは、 Luaを埋め込みスクリプト言語として用いたpdfTeXの拡張版である。[26]
LaTeX文書(*.tex)は、任意のテキストエディタで開くことができます。文書はプレーンテキストで構成され、隠し書式設定コードやバイナリ情報は含まれていません。TeX文書は、LaTeXファイルをOpenDocument、XML、クラス( )ファイルなどの他の形式に変換することで共有することもできます*.cls。LaTeXは、LaTeX拡張機能pdfLaTeXを使用してPDFファイルにレンダリングすることもできます(一般的にPDFファイルに変換されています)。Unicodeテキストを含むLaTeXファイルは、パッケージ、またはTeX拡張機能XeLaTeXおよびLuaLaTeXを使用して
PDFに変換できます。inputenc
*.odt)、Microsoft Office Open XML(*.docx)、さらにはWikipediaで使用されているMediaWikiマークアップを含むテキストなど、様々なファイル形式に変換できる「ユニバーサルドキュメントコンバータ」です。ライセンスはGPL v2です。[32]LaTeXは科学文書における数式表記の事実上の標準となっている。 [33] [34]そのため、MathMLやComputer Algebra Systemへのコンバータなど、数学的なLaTeX表記に特化した変換ツールがいくつか存在する。
LaTeXは通常、プレーンTeXとともに、フリーソフトウェアライセンスであるLaTeXプロジェクトパブリックライセンス(LPPL)の下で配布されています。 [37] LPPLはGNU一般公衆利用許諾書とは互換性がありません。これは、変更されたファイルは元のファイルと明確に区別できること(通常はファイル名の変更)を要求するためです。これは、他のファイルに依存するファイルが期待どおりに動作し、依存関係地獄を回避することを保証するために行われました。LPPLは、バージョン1.3以降、Debianフリーソフトウェアガイドライン(DFSG)に準拠しています。フリーソフトウェアであるLaTeXは、ほとんどのオペレーティングシステムで利用できます。
LaTeX2eは1994年にLaTeX 2.09の後継として登場し、現在のLaTeXのバージョンとなっています。[38] 1990年代初頭に始まったLaTeX3は、 2020年現在[update]、長期開発プロジェクトが進行中です。[5]計画されている機能には、構文の改善(コンテンツとスタイルの分離)、ハイパーリンクのサポート、新しいユーザーインターフェイス、任意のフォントへのアクセス、新しいドキュメントなどがあります。[39] LaTeX3の一部の機能は、パッケージを使用することでLaTeX2eでも利用できます。 [40]また、2020年までに段階的な移行のために多くの機能がLaTeX2eでデフォルトで有効化されています。[5]
TeXシステム全体を商用化した実装は数多く存在します。システムベンダーによっては、書体の追加や電話サポートなどの追加機能を提供する場合があります。LyXは、バックエンドにLaTeXを使用するフリーソフトウェアのWYSIWYMビジュアルドキュメントプロセッサです。 [41] TeXmacsは、LaTeXと同様の機能を持つフリーのWYSIWYGエディタですが、タイプセッティングエンジンが異なります。[42] LaTeXを生成する他のWYSIWYGエディタには、WindowsおよびmacOS用のScientific Wordなどがあります。
コミュニティによってサポートされている TeX ディストリビューションが多数利用可能です。
LaTeXは、複雑な数学表記をサポートしていることもあって、学術分野では科学文書の伝達と出版、多くの分野の技術メモの作成に広く使用されています。[43] [33]また、アラビア語やギリシャ語などの複雑な多言語資料を含む書籍や記事の準備と出版においても重要な役割を果たしています。 [44] LaTeXは出力の書式設定にTeXタイプセッティングプログラムを使用し、それ自体はTeXマクロ言語で書かれています。
LaTeXは、スタンドアロンの文書作成システムとしても、中間フォーマットとしても使用できます。例えば、後者の役割においては、DocBookやその他のXMLベースのフォーマットをPDFに変換するパイプラインの一部として使用されることがあります。この組版システムは、プログラム可能なデスクトップパブリッシング機能と、表や図の番号付けや相互参照、章や節の見出し、グラフィック、ページレイアウト、索引、参考文献など、組版とデスクトップパブリッシングのほとんどの側面を自動化するための広範な機能を提供します。