本稿はTeX & LaTeX Advent Calendar 2016の19日目の記事です。18日目はVoDさんでした。20日目もVoDさんです。
TeXとLaTeXは互いにまったく異なるものですが、どうやらLaTeXユーザーであってもTeXとLaTeXの区別が曖昧だという方も多いようです。その証拠に、どう見てもLaTeXについて書かれた文であるにもかかわらず、主語が“TeX”となってしまっている事例も散見されます。
「TeXとLaTeXの区別がつかなくても、ほとんどの場合は問題を生じないから構わないではないか」という意見もありますが、ここは慎重になった方がよいかもしれません。実際のところTeX/LaTeXを使う人ならば、両者は区別できた方がよいと私は考えています。
本稿では、TeXとLaTeXの違いを、初心者を含むすべてのTeXユーザーに理解しやすいよう丁寧に、そして「どうして区別する必要があるのか」も含めて解説してみたいと思います。さらには、今回はTeXとLaTeXの区別だけでなく、ナンチャラTeXと名付けられたもの一般を正しく区別・分類するのに十分な基礎的知識も紹介します。
本稿の脚注はかなり細かい知識を含んでいます。初心者の方がすべてを理解する必要はまったくない、どころか混乱すると思うのでスルーする方がおすすめです! 一度にすべてを理解する必要はないので、時間が経ってTeX/LaTeXに慣れてから戻ってきてくれたら幸いです。
TeXとLaTeX
まずはTeXとLaTeXの違いが明らかになるように、TeXとLaTeXがそれぞれいったい何者であるかを、できるだけ丁寧に確認してみましょう。
TeXとは何か
TeXとは、端的に言うと、1978年にDonald E. Knuthが発表した組版システムです。しかし、これではまだ抽象的でピンと来ないかもしれませんね。「組版」も「システム」も、それぞれ具体的に何なのか想像しづらい方もいるでしょう。もう少し噛み砕いてみます。
多くのTeX/LaTeX初心者にとっては、そもそも組版(Typesetting)という語に馴染みがないものだと思います。これは、まず大雑把には「文字や図を配置して、印刷用の紙面を作ること」です1。印刷用といっても、ペーパーレスの進んだ現代ではPDFをPCやモバイル端末(タブレットやスマホ)で閲覧するのがゴールということも多いかもしれません。しかし、PDFというのはそもそも印刷用の紙面をデジタルで“模倣”したものですから、ここではそれも含めて「印刷用の紙面」と言ってしまうことにします。——TeXはこの組版という作業をコンピューターで行うためのシステムです。電子的に組版をする仕組み、と言い換えることもできます。
では、次に「システム」とは何でしょうか。一般に、システムという言葉が使われる対象は単純で独立単体のものではなく、協調的に動くさまざまなパーツを組み合わせた複雑な体系です。TeXの場合は、それなりに大きくて複雑なものとはいえ1個のソフトウェアを指すとも言えますが、このソフトウェアにも複数の側面があり、そのどの側面を指しても単に「TeX」と言われることが多いです——すなわち、TeXという語は〈組版ソフトウェア(実行ファイル)そのもの〉を指す場合と、そのソフトウェアが解釈する〈専用のプログラミング言語〉を指す場合があります。
後者のプログラミング言語としてのTeXについて補足しておきます。TeXというソフトウェアは、コンピューターによる組版処理を実現するにあたって独自のプログラミング言語を使用します。「TeX」がソフトウェアではなく、言語であることを強調する場合、日本のTeXコミュニティでは「TeX言語」と表現されることもあります2。TeX言語は、文章にその構造や装飾などに関する付加情報を与えるマークアップ言語としての性質も持ちますが、同時に強力なプログラミング言語でもあります3。
TeXは組版を行うためのソフトウェアですが、見方を変えればこのソフトウェアはTeX言語を処理(解釈・実行)するための処理系(インタプリタ)であると言うこともできます。そのため、言語ではなくソフトウェアを指すことを強調したい場合は「TeXエンジン」または「TeX処理系」と表現されることがあります4。
まとめると、TeXという語が指し示す、具体的な対象は主に以下の2つです。
- TeXエンジン:組版を行うためのソフトウェア
- TeX言語:組版を行うための専用言語。マークアップ言語とプログラミング言語の性質を併せ持つ
ところで、TeXは日本においては基本的に「テック」もしくは「テフ」と発音されます5。またTeXを文字で表現する場合は、Tを大文字、eを小文字、Xを大文字で表記するか、下に示すロゴを用いることによって表現します6。

LaTeXとは何か
TeX言語は組版を行うための言語ですが、その命令は「横方向に何々センチメートルの空白を作る」といったような原始的なものばかりです。こうしたTeX言語がもともと備えている命令を、TeXの専門用語ではプリミティブ(primitive)と言います。英語で文字通り「原始的な」という意味ですね。そのため、これらのプリミティブを直接書き並べて文書を作成するのはあまりに煩雑で、現実的でありません。
先ほど確認したように、TeX言語は一種のプログラミング言語でもあります。つまりTeX言語では、いくつかのプリミティブを組み合わせて新しい命令を作ることができます。このようにプリミティブをいくつか組み合わせてユーザーが新たに作った命令のことを、プリミティブに対してマクロ(macro)と言います。なお、ここでの「ユーザー」はTeXからみたユーザーです。必ずしも文書作成者(あなた)のことを指すわけではなく、先駆者のTeXユーザーが予めたくさん定義してくれている便利な命令であってもマクロです。そして、このマクロ機能を利用すると、より高機能な命令——例えば、「ここに見出しを作れ」と指示する\section命令——を作ることができます。
ここで例に挙げた\section命令は、例えば「インデントせずに新しい段落を作り、文字サイズを大きくして書体をゴシックにする」というような動作をさせることになります。具体的な動作(見出しの作り方)は文書の種類ごとにカスタマイズできるのも利点です。
TeXを用いて文書作成を行うためには、一般にマクロを多用する必要があります。しかし、そのためのマクロを一式揃えるのはかなり大変なことで、これを一人ひとりのユーザーがそれぞれ独力で行うことは、現実的ではありません。そこで、実際にTeXで文書を作成する際には、必要なマクロが予め揃えられているマクロ体系を利用するのが一般的です7。
LaTeXはこうしたマクロ体系の一つで、1985年にLeslie Lamportが発表したものです。「Lamport作のTeXマクロ体系」だからLaTeXです。LaTeXは元々は技術文書や科学論文といった種類の文書を作成するのに必要なマクロを集めたものでしたが(当初は「汎用」ではなかったのです!)、現在ではそうした理工系用途に限らず、さまざまな種類の文書8を作成するのに利用されています——といっても、ユーザーはやはり理工系に偏っているとは思いますが。
なお、LaTeXの読み方は日本では「ラテック」または「ラテフ」が一般的ですが、作者のLamportが認めているので「ラテックス」でも構わないようです。海外では「レイテック」のように発音されていることが多いように思います。LaTeXも大文字・小文字の区別をこの通り書くか、下に示すロゴのように表示することが望ましいです(“LaTex”などは典型的な誤りです9)。

KnuthがThe TeXbookの冒頭で発音について注意した結果、(世界的に)TeXコミュニティの人々はTeXの発音に厳しくなりすぎてしまったので、Lamportはむしろ「言語とは非論理的なものだ」とその傾向をたしなめたのかもしれませんね。私としては、Knuthの意思に敬意を示す意味ではなるべく正確な発音や表記を心がけたいと思いつつ、他者への寛容さも忘れてはいけないのかな、と考えています。不正確な発音や表記を見かけたら、あくまで優しく「実はこういう経緯があるんですよ」と話ができると、よいコミュニケーションにつながるかもしれませんね。
TeXとLaTeXは全然違う
ここまでTeXとLaTeXがそれぞれ何であるかを詳しく見てきました。両者の違いを簡単な表に整理してみましょう。
| TeX | LaTeX | |
|---|---|---|
| 開発者 | Donald E. Knuth | Leslie Lamport |
| 発表年 | 1978年 | 1985年 |
| 実体 | 組版システム(ソフトウェア or 言語) | マクロ体系 |
| 目的 | コンピューターで組版すること | TeXでの文書作成を簡単にすること |
| 実装 | Pascal、C言語など10 | TeX言語 |
ところで、TeXとLaTeXはなぜ区別できた方がよいのでしょうか? 「技術的正確性こそ正義だ!」と言ってしまってもいいかもしれませんが、ちゃんと実践的にも意味があります。それはTeXで文書作成を行う際に用いられるマクロ体系はLaTeX以外にも存在するからです。たまたま現在の日本ではLaTeX以外のマクロ体系が用いられることは比較的稀ですが、LaTeX以外にもTeXのマクロ体系はいくつも存在しますし、世界にはそれらのユーザーもたくさんいます。少数かもしれませんが、日本にもいます。
別の言い方をすると〈LaTeXの世界〉は〈TeXの世界〉に含まれていますが、〈TeXの世界〉の中には〈LaTeX以外の世界〉も存在するということです。無理やり数式で表現するのであれば
\[ \mathrm{\LaTeX}\subset\mathrm{\TeX} \]
となるでしょうか。あるいは、図示するとすればこんな感じでしょうか。

したがって、LaTeXにしかあてはまらないことを述べているのに主語を「TeX」としてしまうと、論理的には誤った記述となってしまいます。これは「正方形の各辺の長さは等しい」という文の主語を“長方形”に置き換えてしまうと、もはや正しい記述でなくなるのと同じことですね。
「そんな細かいこと」と思われるかもしれませんが、TeXとLaTeXの区別ができていると、何か問題が発生したときに、解決にたどり着くのが早くなるかもしれません。例えばあなたがLaTeXの初心者であれば、おそらくTeXレベルの知識が必要になることはまずないので、LaTeXについて書かれている書籍やウェブサイトだけを見ればよいということがわかります11。世の中には本当に「TeXそのもの」の解説を求めている人もいますし、LaTeX以外のマクロ体系を使う人もいます。そうした方が情報を見つけやすくするためにも、自分でLaTeXについて質問したり説明したりするときは、ぜひ正確に「LaTeX」と書いておきたいものです。
さまざまなナンチャラTeX
TeXとLaTeXの違いもそうですが、初心者の中には「ナンチャラTeX」と名のつくもの12が多すぎて、何が何だかサッパリ分からない🤯」という印象をお持ちの方も多いのではないでしょうか。
ナンチャラTeXに該当するものはあまりにも多く——TeXの歴史の長さを物語ってますね——そのすべてを網羅することはとてもできませんが、ここからはよく登場するものについてその分類や意味をざっくりと示していこうと思います。
ここからの内容を一度に全部頭に入れようとすると混乱してしまうかもしれません。一旦は「そういうものもあるんだなぁ」と軽く読み流してもらって構いません。それでもナンチャラTeXにどのような種類のものがあるのかを知ることは、今後新たなナンチャラTeXに出会ったときに、それが何と比べられるものなのか理解するのに役立つかもしれません。肩の力を抜いて読んでもらえたら幸いです。
TeXエンジン
TeXエンジンは、TeXという組版ソフトウェアそのものであり、TeX言語という特別なプログラミング言語を解釈(処理)するもののことでした——「すでに忘れてたよ!」という方は本稿の「TeXとは何か」節をもう一度読んでみましょう。人は反復することで理解や記憶が深まるものですから、忘れてても恥じることはありません!
Knuthが開発したオリジナルのTeXエンジンのことは、本来単に「TeX」と呼ぶべきものですが13、このTeXエンジンの機能はさまざまに拡張されて、いくつもの派生TeXエンジンが作られています。そして、こうした派生TeXエンジンのほとんどがナンチャラTeXに該当します14。主なものを以下に示します。
- e-TeX($\varepsilon$-TeX):右から左に進む(RTL)組版を可能にするなど多くの機能拡張が施されている15
- pdfTeX:組版結果としてPDFを直接出力できる16
- XeTeX:Unicodeを扱うことができ、またフォントの扱いが改良されている
- LuaTeX:プログラミング言語Lua17の処理系が組み込まれているが、それだけではなく、とにかく超高機能
現在では、KnuthによるオリジナルTeXが用いられることはあまりなく18、世界的にはpdfTeXが主流のはずです。最近ではLuaTeXもかなりシェアを伸ばしており、将来的にはLuaTeXが主流になる可能性が高いでしょう19。
上に示したのはいずれも海外製の派生TeXエンジンです。LuaTeX以外は日本語文書の組版には適しません。日本語の組版を行うために特別に拡張されたTeXエンジンもいくつかあります。日本でもLuaTeXの利用者が増えており、今からLaTeXを学ぶ人は最初からLuaTeXを学んでもよいかもしれませんが、過去の解説を読むこともあるかもしれませんから、日本語用のTeXエンジンも知っておいて損はないでしょう。以下は、主な日本独自の派生TeXエンジンです2021。
- pTeX:日本語組版を可能にした初期のエンジン。縦組みもサポートしている
- upTeX:pTeXを拡張し、Unicodeサポートを強化したもの22
マクロ体系
さきほどLaTeXの解説で、TeX用のマクロ体系はLaTeX以外にもいくつかあると説明しました。こうしたマクロ体系もやはり「ナンチャラTeX」と名付けられたものが多いです。その具体例を示します。
- plain TeX:Knuth自身が開発したもので、ごく基本的な文書作成機能を提供する23
- pLaTeX:(u)pTeX用に拡張されたLaTeXのこと
- ConTeXt:LaTeXとはまったく別の文法をもつマクロ体系。欧州を中心に現代でもユーザーがたくさんいるが、日本での利用者は稀24
LaTeXの場合は、慣習的にバージョンごとに異なる名前で呼ばれることがあります。特に、以下の3つをよく見かけると思います。
- LaTeX2e(LaTeX2$\varepsilon$):1994年にリリースされた、現在主流のLaTeXのベース25
- LaTeX 2.09:LaTeX2e以前の古いLaTeXでLaTeX2eとは互換性がない。LaTeX 2.09について解説したドキュメントはさすがに古すぎるので、もの好き以外は見かけたら回れ右して逃げましょう!26
- LaTeX3:次世代LaTeXの開発コードネームだった
ただし、最近になってLaTeX3がLaTeX3としてリリースされる計画はなくなり、単に「LaTeX」としてLaTeX2eからゆるやかに移行することとなりました。しかし、これまでに書かれた多くのLaTeX解説では上記の3種類はよく出てくるので、把握しておくと便利でしょう。

LaTeXパッケージ
LaTeXの機能を拡張するために書かれた拡張機能をLaTeXパッケージと言います27。例えば、graphicxやhyperrefなどは有名ですね。単純にはパッケージファイルナンチャラ.sty28単体を指しますが、複数のパッケージファイルやほかの種類のファイルと併せて機能する場合もあるので、LaTeXパッケージ=ナンチャラ.styという覚え方はちょっと不正確です。
これらのLaTeXパッケージの中にもTeXという文字列を含むものがたくさんあります29。こうした事例はあまりに数が多いため例を挙げ始めるとキリがありませんが、化学構造式描画用パッケージXyMTeXなどが該当します。
関連ソフトウェア
TeXエンジン以外のTeX関連ソフトウェアもナンチャラTeXと名付けられている場合があります。これも列挙するにはあまりに膨大ですが、文献処理ソフトのBibTeX30やTeX Live標準のドキュメント検索ツールTexdoc31、あるいはTeXShop、TeXworks、TeXstudioといったのTeXに特化したテキストエディタ(統合開発環境)などが挙げられます。
ディストリビューション
ここまで見てきたように、TeXには関連するいろんなもの(ソフトウェア、マクロ体系、LaTeXパッケージ、etc.)があまりにもたくさんあります。これらをユーザーが1つ1つ見つけてきてインストールするのは大変なので、こうしたものを一括してインストールできるようにとりまとめたものもあります。こうしたものは「TeXディストリビューション」や「TeXシステム」と呼ばれています——TeX自体も「システム」だと解説しましたが、「TeXシステム」はディストリビューションのことを指すことが多いです! またしてもややこしい!
このディストリビューションもナンチャラTeXと名付けられているものがほとんどです。現在日本で最もよく利用されているのはTeX Liveというものです32。海外ではMiKTeXというディストリビューションも使われています。TeX LiveのmacOS専用派生とみることもできますが、MacTeX33というのもありますね。
その他
上記以外にもナンチャラTeXに該当するものとして私が思い浮かぶのは次のようなものです。ここまで来ると、もはや大喜利に近いですが。
- 書籍:KnuthによるTeX解説書The TeXbookなど
- ウェブサイト:日本語TeX情報を扱う老舗ウェブサイトTeX Wikiなど
- フォント:TeX Gyreと呼ばれるフォントシリーズなど
- ユーザー:TeXに関する技能に長けたユーザーはTeXnicianやTeXpertと呼ばれます34
- ハンドルネーム:TeX好きなことがよくわかりますね!
しかし、これらは見ればすぐに判別がつくはずなので、特に補足する必要はないでしょう。
まとめ
ここまでTeXとLaTeXの区別に始まり、さまざまなナンチャラTeXを紹介してきました。特にTeXに詳しくなりたいわけでもない人にとっては、これだけの内容を把握するだけでも大変かもしれません。しかし、裏を返せばTeXのエコシステム(周辺環境)はそれだけ充実しているということでもあります。
まあ、細かいことは徐々に覚えていけばよいと思いますので、とにかくまずはTeXを楽しんで使ってもらえたら幸いです。わからなくなったら、いつでもこの記事を読みに帰ってきてください!
Happy TeXing!! ——そう、動詞にもなるんです😎
主な更新履歴
- 2025-11-28: 全体的なリニューアル。スタイルと表現の調整。脚注を大幅に強化
-
もう少し専門的に表現すると、組版とは「原稿の指定や、慣習的に定められたさまざまなルールにしたがって、活字やスペース(込め物)、図表を組み合わせて紙面を作る」ことです。何でもいいからとにかく文字を並べたら組版だ、というわけではありません。歴史的には、活版印刷を行うための物理的な「版」を作成する職人の作業を指していました。これには高度な専門的な知識や技術が必要でした。 ↩︎
-
英語の場合はこういった区別を厳密に行うことは稀なようで、「TeX言語」という語は日本のTeXコミュニティで慣習的に使われている用語です。英語でも“TeX’s macro programming language”と表現される例はたまに見かけますが、基本的には単に“TeX”と書かれているのを文脈で区別する方が一般的に思います。 ↩︎
-
計算理論に詳しい方向けに補足すると、TeX言語はチューリング完全です。 ↩︎
-
“TeX’s macro programming language”と比べると“TeX engine”は英語でもよく見かけます。TeXエンジンには複数の種類があるので、しばしば複数形で“TeX engines”になります。 ↩︎
-
TeXの最後の“X”はエックスではなくカイ($\chi$)ということになっています。したがって「テックス」などと読むのは誤りです。TeXの作者Knuthによる解説書The TeXbookの第1章冒頭で強調されています。曰く「正確には喉奥の無声摩擦音で、正しく発音したらコンピューターの画面がちょっと曇るはずだ」——まあ、半分冗談なのだとは思いますが、作者がこだわっているので熟練のTeXユーザーもそれに敬意を示して(あるいはやはり半分冗談で)発音にこだわる傾向にありますね。 ↩︎
-
小文字しか利用できない場合にtexと書いたり、大文字しか利用できない状況でTEXと表現するほはやむを得ない場合はあります。実際、TeXのバイナリ名は
texですしね。しかし、そういった制約もない中、“Tex”や“LaTEX”のように書くのは明らかな誤りとみなされるでしょう。特にtexという文字列は短く一般的で、ほかのものと混同される恐れがあるので、できれば正しくかっこよく「TeX」と正確に書きたいものです。 ↩︎ -
「マクロ体系」という呼び方も「TeX言語」と同様、おそらく日本のTeXコミュニティの慣習的な言い方です。TeXの本来の専門用語はフォーマット(format)ですが、これは普通名詞でもよく用いられるので専門用語と認識しにくいですね。英語圏では「マクロパッケージ(macro package)」と呼ばれることも多いのですが、これはこれで「LaTeXパッケージ」(後で出てきます)と混同しやすいので、マクロ体系という呼び名が作られたのではないかと思います。 ↩︎
-
もちろん理論上はどんな種類の文書でもLaTeXで作成できますが、理工以外の文脈でわざわざ採用されるのは、やはり相当に特殊な組版要件——特別な文字や装飾、組方向、あまり一般的でない言語を含む多言語の混植など——がある場合が多いと思われます。わかりやすいところだと、返り点付きの漢文や、(日本で)非主流の外国語の解説テキストなど。 ↩︎
-
当ブログの記事『とあるLaTeX誤表記検出ボットの生涯』ではよくある誤表記の分布を掲載しています。興味があれば併せて読んでみてください。 ↩︎
-
より正確には、KnuthのオリジナルのTeXはWEBという、これまたKnuthが独自開発した特別な言語で記述されています。このWEBで書かれたコード(文学?!)は、tangleまたはweb2cというプログラムによってそれぞれPascal、C言語のコードに変換され、最終的にこれがコンパイルされることになります。まったくTeX初心者向けではありませんが、当ブログの『とにかくWEB言語してみたい』がWEB言語の入門になっているので、もしご興味があればこちらも併せて読んでみてください! ↩︎
-
LaTeXについて解説しているのに、「TeX入門」というタイトルが付けられた文書があるかもしれませんが、そのレベルで誤りのある文書の内容は信頼に足るでしょうか? 中身にはもっとたくさん間違いがあるのでは、と思う方が自然ですよね。逆に、いつかあなたがTeXやLaTeXについて紹介したり、文章を書いたりするときは、正確に書けると信用が増しますね。 ↩︎
-
ここでは「TeX」という文字列を含む名称全般を指すものとしてナンチャラTeXという表現を用いています。つまり、TeXを後置するものだけでなく、TeXナンチャラやナンチャラTeXナンチャラのような形のも含めて考えます。 ↩︎
-
厳密に言えば「TeX」と名乗ることができるのは、このオリジナルのTeXプログラムだけです(と、Knuthがライセンス(利用許諾のようなもの)で宣言しています)。したがって、それ以外のすべてのソフトウェアは公式には「TeX」以外の名前、すなわち普通はナンチャラTeXと名乗っていますが、それでも多くの人はあまり区別せず「TeX」を総称的に用いています。したがって、少し皮肉めいていますがオリジナルのTeXエンジンを明確に指したい場合は本稿のように「KnuthのオリジナルTeX(Knuth’s original TeX)」と言ったり、さらには英語圏を中心に「Knuthian TeX」と呼ばれていたりもします。 ↩︎
-
OmegaというTeXエンジンもありますが、これは例外です。しかし、これを知っている方はもう本稿を読む必要はないでしょう! ↩︎
-
KnuthのオリジナルTeXに対してe-TeXが追加した機能を「e-拡張($\varepsilon$-拡張)」といい、以降に誕生したほぼすべての派生TeXエンジンは同じ機能を備えています。派生版の基礎、と言えますね。日本語組版に特化したp-TeX/up-TeXは当初はe-拡張の機能を持っていませんでしたが、その後e-pTeXとe-upTeXが作られました。さらに最近では、もはやLaTeXがe-拡張ありでないと機能しないため、オリジナルのe-拡張されていないpTeXとupTeXは廃止されており、単に「pTeX」「upTeX」と言えばe-拡張ありの派生を指しています。ややこしや! ↩︎
-
KnuthのオリジナルTeXと初期に作られた派生TeXエンジンは、PDFではなくDVIという特別な形式のファイルを出力します。TeXが作られた当時はPDFという形式は存在しなかったからです! 現代でも日本ではよく用いられているpTeXもDVIを出力しますが、通常はdvipdfmxというソフトウェアにより直ちにPDFに変換して利用されます。また、比較的最近作られた派生TeXエンジン(pdfTeX、XeTeX、LuaTeXなど)はDVIではなくPDFを直接出力します。 ↩︎
-
Luaというのはごく普通の汎用プログラミング言語です。汎用にしては軽量で、さまざまなシステムに組み込まれることを目的にしています——したがってTeXに組み込むのはいたって正統な使い方というわけです。 ↩︎
-
Knuth自身は2025年現在もオリジナルを使用していると思われます! ↩︎
-
なんと2024年11月、LaTeXチームは事実上「LuaTeX以外のフルサポート終了」を宣言してしまいました。フルサポートされないからといってすぐにほかのエンジンがまったく使えなくなってしまうことはさすがに考えにくいですが、可能な場合はLuaTeXに移行しておくとよいでしょう。cf. LaTeX News 40とその斜め読み ↩︎
-
もともとは日本で日本語組版用に開発されたものでしたが、歴史的には中国語や韓国語の組版にも用いられてきました。日本語、中国語、韓国語は国際的に見れば似た文字組みをするグループとみなされており——もちろん細かい違いは色々あるのですが——、それぞれの頭文字をとって「CJK言語」とまとめて呼ばれる場合もあります。ちなみに近年の中国語組版にはXeTeX上に構築されたCTeXが用いられることが多いようです。 ↩︎
-
pTeXは当初アスキーという出版社によって開発されました。いまは日本語TeXコミュニティの有志(日本語TeX開発者コミュニティ;texjporg)によって管理されています。アスキー社は買収されて今ではKADOKAWAの一部になっています。また、かつてはNTTが開発したjTeXという日本語専用エンジンもありましたが、こちらは現代ではほぼ使われていません。 ↩︎
-
pTeXもUnicodeをサポートしていないわけではないのですが、「Unicodeが入力された場合は、まず別のエンコーディングに変換する」という応急措置的な対応がなされているため、Unicodeの全機能を使えるわけではありませんでした。 ↩︎
-
LaTeXだと
\chapterや\sectionといった見出し命令を使えば自動的に章番号、節番号が採番されますが、plain TeXにはそうした機能がありません。Knuthはどんなに巨大な文書でも一度決めたら章構成を変更することはない、と言われています。常人には真似できないので、あなたがKnuthでない限りはやはりLaTeXを使用するのがおすすめです! ↩︎ -
結構高級な話なのですが、ConTeXtの設計思想はLaTeXとはまったく異なります。LaTeXはある意味では現在主流のオープンソース文化に近い考え方で、誰でも本体の開発者(LaTeXチーム)以外の第三者が拡張機能(LaTeXパッケージ)を開発することを前提に、サードパーティ開発者向けの機能も多く提供されています。一方でConTeXtはそういったサードパーティとは基本的に共存せず、すべての機能を本家開発チームが実装する方針を採っています。すごく大雑把に言えば、LaTeXは地方分権的、ConTeXtは中央集権的と言えますね。なお、ConTeXtも「日本語に対応していない/する気がない」というわけではないようなので、興味があれば使ってみることも可能です。ただ、何にせよConTeXtで日本語を使用しているユーザーはほとんどおらず、もし不具合があれば(独自に拡張する文化ではないので)英語で本家チームにサポートを求める必要があって敷居は高めです。逆に言うとあなたが数少ない日本語でのConTeXtユーザーになれば、日本語サポート強化への道が開くかもしれません! ↩︎
-
なぜ2e——特にeは$\varepsilon$(イプシロン)——であったかというと、もともとこのバージョンは大規模アップデートが予定されていたLaTeX3をすぐにリリースするつもりで「少しの期間(つまり、いわゆる$\varepsilon$-$\delta$法のイプシロン!)だけ使われる、バージョン2のマイナーアップデート版」という位置付けだったためです。しかし、この計画は予定通りにはならず、実際には約30年間も、世界中の膨大なユーザーに実用されることとなりました。cf. LaTeX News 40とその斜め読み ↩︎
-
LaTeX2eの文書ソースの冒頭は必ず
\documentclassで始まりますが、LaTeX 2.09では\documentstyleで始まるという特徴があるので、すぐに見分けられます。よって2025年に\documentstyleなどと書かれているコード例が出てくる解説は古すぎるので避けましょう。なお、次世代のLaTeXでは\documentclassに代わり\DocumentMetadataで始まることになるようです。冒頭1行でどのLaTeXバージョンの文書ソースかひと目でわかるように工夫されています。 ↩︎ -
実は「パッケージ」という言葉も少々厄介です。日本語で書かれたTeX/LaTeXに関連する文章で「パッケージ」と言ったら普通はLaTeXパッケージのことを指しますが、TeX Liveのドキュメントなど、LaTeX外の世界を含む文脈では、TeX用に書かれた個別の拡張やプログラム一般(マクロ体系も外部バイナリもLaTeXパッケージもすべて含む)を「パッケージ」と称する場合があります。 ↩︎
-
ちなみに
ナンチャラ.styは拡張子がstyなので「スタイルファイル」と呼ばれがちですが、LaTeX2e以降では「パッケージファイル」と呼ぶのが正確です。スタイルファイルはLaTeX 2.09時代の呼び名です。 ↩︎ -
個人的には、現代ではあまり推奨できないと思います。本稿で何度も強調しているように、「TeX」という語はLaTeX以外も指しますから、LaTeX専用のパッケージ名にTeXを使うのはちょっとミスリーディングですね。 ↩︎
-
BibTeXのオリジナル開発者はLamportその人で、実はLaTeXの一部です。近年ではLaTeXチームを中心にbiblatexパッケージ(その専用バックエンドはBiber)というものもありますが、これはBibTeXとはまったく別物です。とにかくややこしいですね。 ↩︎
-
Texdocのメンテナは私です! TexdocはなぜかTeXdocではなくTexdocと表記されますね。私がメンテナになる前からそうなので私も理由は知りません。誰か教えてください! ↩︎
-
かつてはUnix系システム向けのteTeXというディストリビューションやWindows用のW32TeXというディストリビューション(メンテナは角藤さん)がありました。いまはTeX Liveがほとんどの主要なOSをサポートしており、また十分普及していることから、いずれも引退しています。 ↩︎
-
ただしMacTeXのインストールには注意が必要です——ということを当ブログで解説しています。採用を検討する場合は一読をおすすめします。 ↩︎
-
いずれもThe TeXbookの演習問題として言及があります。Knuthは冗談好きですね。この経緯により「TeXniciain」は本当にかなりTeX力が高い人のことを指すものとして、多くの熟練TeXユーザーも名乗るのは遠慮している気がします。別に公的資格でもないので勝手に名乗っていいのですけども! ちなみにKnuth自身のことは世界のTeXユーザーはGrand Wizardと呼んでいたりします。cf. TUG 2019ウェブサイト ↩︎