TLaTeX: typography for math
  • 何为
  • 来路
  • 解剖
  • 数学展示
  • 引擎
  • 包生态
  • 对比
  • 为何
  • 陷阱
  • 名作
  • 生态
  • 前景
// 1978 — 2026 · Donald Knuth · Leslie Lamport · LaTeX2e · TeX 3.141592653 · π

LaTeX:\typography{math}

LaTeX = TeX + 一套人话宏——把 Knuth 1978 年那个"给数学排版用的 6 个月的小项目"40 年来逐步外推, 直到它排出了世界上 90% 的数学论文。它不漂亮、不轻量、不易学; 但没有替代。

1978Knuth 开工 TeX
估"6 个月", 实际 10 年
1985Lamport 发布 LaTeX
TeX 之上的人话宏
1994·06LaTeX2e
32 年来仍是当前版本
6000+CTAN 包数
~4GB · 数学界的 npm
LATEX
\frac{1}{2}\begin{equation}TikZ\documentclassbeamerbibtex\section{...}\usepackage{amsmath}pdflatexxelatexlualatex\maketitle\cite{knuth1984}tectonic
scroll
01

何为 LaTeX

LaTeX 不是另一个 TeX——它是 TeX 之上的宏包。Knuth 写 TeX 是为了排数学公式; Lamport 写 LaTeX 是让普通人写 TeX。今天人们说"LaTeX", 实际指的是 TeX 引擎 + LaTeX 内核 + CTAN 上 ~6000 个包 + 字体 + 编辑工具链的整个栈。

语义化标记, 不是 WYSIWYG markup

跟 HTML 同源思想: \section{Intro} 声明 "这是节标题", 字体大小由文档类决定, 不在源里。结构 / 内容 / 样式分离——换 \documentclass 整篇换风格, 不动一个字。

TeX 引擎被冻在 π frozen

Knuth 1990 起停止给 TeX 加功能, 只接 bug fix; 版本号渐近 π (当前 3.141592653)。任何 TeX bug Knuth 付 $2.56 一份支票, 几乎从不被兑现——收支票的当荣誉奖牌。

多 pass 编译模型 pipeline

.tex 走 pdflatex / xelatex / lualatex / tectonic 引擎得 .pdf。交叉引用 / TOC / 参考文献需要 2-3 次; 工具如 latexmk 自动循环到稳定。

40 年向后兼容 compat

1985 年 Lamport 写的 LaTeX 文档在 2026 LaTeX2e 里仍能编译。同源思想 跟 web 一样: 永远渲染。跟 HTML 兄弟一脉。延伸 /code/html。

lamport-1985.tex1985
\documentclass{article}
\title{Distributed Algorithms}
\author{L. Lamport}
\begin{document}
\maketitle
\section{Introduction}
Time, clocks and the ordering of events...
\end{document}

% 1985 写, 2026 仍能编译
paper-2026.tex2026
\documentclass[11pt,a4paper]{article}
\usepackage{lmodern,microtype}
\usepackage{amsmath,amssymb,amsthm}
\usepackage[backend=biber]{biblatex}
\usepackage{tikz,pgfplots}
\usepackage{hyperref}  % last
\title{...} \author{...}
\begin{document}
\maketitle \tableofcontents
\section{Introduction}
...
\end{document}
02

来路 : 1978 → 2026

LaTeX 的故事是 4 段叙事: TeX 诞生 (1968-1985 · Knuth) → LaTeX 套人话 + 学术界扩散 (1985-2000) → 引擎多元 + Web 化 (2000-2020 · XeTeX / Lua / pdfTeX / KaTeX / Overleaf) → AI 时代 + Typst 挑战 (2020-2026)。

  1. 1968

    Knuth 出版 TAOCP 第 1 卷 — 排版危机的起点

    Donald Knuth 出版 The Art of Computer Programming 第 1 卷。第 2 版印刷时排版质量明显下降 (出版社换了照排系统), Knuth 无法接受自己的书变丑——这件事直接触发他后来 10 年的"为程序员造一套真正的排版系统"的疯狂计划。

  2. 1977

    Knuth 开工 TeX — 估计"6 个月"

    Knuth 决定自己写一个排版系统, 取名 TeX (来自希腊词 τέχνη "技艺")。他对同事说"大概 6 个月"——实际是10 年; 顺便发明了 METAFONT 字体语言、WEB 文学编程系统、CMU 计算机现代字体家族。典型的 Knuth 副产品比正产品还大。

  3. 1978

    TeX78 首发

    第一版 TeX 在 Stanford 内部上线, 算法已经基本稳定: 段落断行用动态规划 (Knuth-Plass), 数学公式排版规则 ~600 页。但用户写起来很底层——所有公式都是手工标记原始 TeX 命令。

  4. 1982

    TeX82 — 我们今天用的那一版的祖宗

    Knuth 重写 TeX, 这一版 奠定了之后 40 年的所有 TeX 引擎的根。同时催生了 WEB ——把代码 + 文档塞同一个文件、TANGLE 抽代码 / WEAVE 抽文档的 literate programming 范式; TeX 自己就是用 WEB 写的。

  5. 1984

    METAFONT 84 + Computer Modern

    同步发布字体设计语言 METAFONT 和 Computer Modern 字体家族。一个数学系学生第一次能用参数化方程定义自己的字体; 之后 40 年, Computer Modern 仍是 TeX 默认字体, "那种典型 LaTeX 论文的样子"就来自这里。

  6. 1985

    Lamport 发布 LaTeX — 给 TeX 套上人话宏

    Leslie Lamport 在 SRI 工作期间写了一组宏放在 TeX 之上, 取名 LaTeX = "Lamport's TeX"。增加了 \documentclass, \section, \cite, \ref——把"手画一份论文" 变成"声明一份论文的结构"。这是 TeX 真正破圈的瞬间。

  7. 1989

    LaTeX 2.09 — 拿下学术界

    2.09 加入 article / report / book / letter 四个文档类, BibTeX 已经存在 (1985), 数学 / CS / 物理研究生院开始默认要求 LaTeX 投稿。同年 Knuth 写完 TAOCP 第 3 卷, 终于回去打磨他自己的 TeX。

  8. 1990~

    TeX 被 Knuth 冻结 — 版本号收敛到 π

    Knuth 宣布 TeX 永远不再加功能, 只接 bug fix。版本号渐近 π: 3.0 → 3.1 → 3.14 → 3.141 → … → 3.141592653 (当前)。他自己 "任何 TeX bug 我付 $2.56 = one hexadecimal dollar"; METAFONT 类似, $327.68。支票从不被兑现, 收下当荣誉纪念。Knuth 还宣布: 他死后, TeX 版本号将一次性改为 π。

  9. 1991

    CTAN 成立 — TeX 包的中心仓

    Comprehensive TeX Archive Network 上线, 把世界各地散落的 TeX / LaTeX / METAFONT 包统一镜像。30 年后 CTAN 仍是 LaTeX 生态的中央仓: 2026 年约 6000 个包, 总体积 4GB+。 tlmgr / MiKTeX 包管理底下都是它。

  10. 1993

    AMS-LaTeX 1.0 — 数学排版的官方扩展

    American Mathematical Society 释出 amsmath / amssymb / amsthm: 现代论文里几乎一切多行公式 (align, aligned, gather, cases) 都来自这里。"不加 amsmath 的 LaTeX 数学是残的"——这条今天仍然成立。

  11. 1994·06

    LaTeX2e — 至今 (32 年) 仍是当前版本

    LaTeX3 项目从 1989 启动, 没法在合理时间内做完。LaTeX 团队决定先发一个"过渡版" LaTeX2e, 统一 LaTeX 2.09 和实验性 LaTeX3 的命名。32 年过去, LaTeX2e 仍是当前版本; "LaTeX3 还有 10 年"是 LaTeX 界的 in-joke。

  12. 1994

    TeX Live — 一站式发行版

    第一版 TeX Live CD-ROM 发布, 由 TUG (TeX Users Group) 维护。把引擎 + 宏包 + 字体 + 编辑器打包, 跨平台装一次什么都有。2026 年 TeX Live 仍是 Linux/macOS 上的默认发行 (~7GB)。

  13. 1995

    pdfTeX — 直接出 PDF

    Hàn Thế Thành (越南留德博士生) 改造 TeX 引擎直出 PDF 而非 DVI——这条道在 2000 年代成为绝对主流。同时他的博士工作引出 2002 年的 microtypography (字符外推 + 字间微调), 让 LaTeX 排版的"看上去更扎实"那一档质量来源。

  14. 1996

    LaTeX2HTML — 把 LaTeX 推到 web 的第一次努力

    Nikos Drakos 写出 LaTeX2HTML, Perl 脚本把 .tex 转 HTML + 公式图片。质量糟糕, 但开了 30 年"LaTeX 转网页"这一持久赛道; 后续 MathJax (2009), KaTeX (2013) 都是同一条线。

  15. 1998

    TikZ / PGF — 论文里画矢量图

    Till Tantau 写 PGF + 前端 TikZ: 用 LaTeX 语法画矢量图——节点 / 箭头 / 坐标系 / 树 / 神经网络 / 时序图全部本宽口径搞定。"any diagram you can draw, you can typeset"。今天大部分计算机 / 物理论文里的图都是它。

  16. 2002

    microtypography 学位 — pdfTeX 学会 kerning / protrusion

    Hàn Thế Thành 的博士论文标准化了 character protrusion (标点轻微伸出版心) + font expansion (字宽 ±2% 微调让段落更平) 写进 pdfTeX。从此 LaTeX 排版 "看起来" 比 Word/InDesign 更紧实——大部分人说不清为什么, 答案就在这两个细节。

  17. 2003

    Beamer — LaTeX 杀了"难看的 PPT"

    Till Tantau (TikZ 作者) 再下一城: beamer 文档类, 让你用 LaTeX 写演讲, 输出 PDF 直接放映, 数学公式天生漂亮。从此学术界的"研究报告 ppt"几乎全部走 beamer, 不走 PowerPoint/Keynote。

  18. 2004

    XeTeX — Unicode + 系统字体

    Jonathan Kew 写 XeTeX: 原生 Unicode, 通过 fontspec 直接用系统 OpenType 字体。第一次 LaTeX 能像样地排中文 / 日文 / 阿拉伯文 / RTL——之前 CJK 要靠 CJK.sty / pTeX 各种黑魔法。

  19. 2007

    LuaTeX 0.10 — TeX 引擎里嵌 Lua

    LuaTeX 把 Lua 解释器直接缝进 TeX, 让宏作者可以用真编程语言 hook 引擎内部 (断行 / 行距 / 字距)。pdfTeX 的现代继承者; 也支持 OpenType + Unicode 原生。2021 起成为 lualatex 的默认引擎。

  20. 2012

    WriteLaTeX (后 Overleaf) — 浏览器里写 LaTeX

    剑桥两个研究生 (John Hammersley + John Lees-Miller) 做 WriteLaTeX, 让 LaTeX 在浏览器里实时编辑 + 协作。2013 改名 Overleaf。2017 跟竞争对手 ShareLaTeX 合并; 同年被 Digital Science 收购。2026 用户数 ~12M。第一次有人能不装 TeX Live 就写出像样论文。

  21. 2013

    KaTeX 发布 — 浏览器里 100× 快于 MathJax

    Khan Academy (Emily Eisenberg + Sophie Alpert) 发布 KaTeX: 只渲染 LaTeX 数学子集, 但比 MathJax 快 100 倍、同步渲染、不闪烁。今天 GitHub README、StackExchange、Notion、本页面都用它。延伸阅读: /code/language/katex。

  22. 2015

    Tectonic — Rust 写的现代 TeX 引擎

    Peter Williams 启动 Tectonic: Rust 语言, 单二进制 ~20MB, 遇到缺包自动下载, 一次编译跑完所有 pass (内部维护 cache)。"Cargo for LaTeX"。2026 是 CI 流水线里跑 LaTeX 的首选——比安装完整 TeX Live 省一个 7GB。

  23. 2017

    LaTeX 内核默认 UTF-8

    之前 30 年默认是 ASCII + inputenc 包指定; 2017 LaTeX 内核版本起 pdflatex 默认接受 UTF-8——一行 \usepackage[utf8]{inputenc} 终于不再是必备样板。30 年的小烦恼终结。

  24. 2019

    expl3 — LaTeX3 编程层进入标准发行

    20 年的 LaTeX3 项目终于以另一种方式落地: expl3 编程层 (一种 "功能完备的宏元语言") 从 2019 起跟着每个 LaTeX 内核分发。现代包 (siunitx 3, biblatex 3.x, l3kernel) 内部全用 expl3 写——LaTeX3 没失败, 它换了一种形式胜利。

  25. 2021

    TeX Live 2021 — LuaTeX 成 lualatex 默认

    TeX Live 2021 把 LuaTeX 设为 lualatex 的默认引擎, 取代过去的 LuaJITTeX。新论文模板逐步从 pdflatex 推 lualatex——OpenType 字体 + Unicode 一次到位。下一代 TeX 引擎之争基本由 LuaTeX 胜出。

  26. 2022

    TUG 庆 40 年 — TeX 仍在运行

    TeX 1982 → 2022 满 40 岁。TeX Users Group 在线庆祝: "a system designed in the 1970s still powering 90% of arXiv submissions in 2022"。Knuth 本人录视频出席, 报告 TeX 当年 bug 收支: 过去 5 年 0 个新 bug。

  27. 2023

    Typst 1.0 — 第一个可信的 LaTeX 挑战者

    瑞士 ETH 两个学生 (Laurenz Mädje + Martin Haug) 发布 Typst 1.0: Rust 写的全新排版系统, 语法更接近 Markdown, 编译瞬时 (~100ms 整篇), 浏览器版本同时上线。不是替代品, 但是 30 年来第一个"新一代 LaTeX"的可信尝试。2026 在课堂使用率快速增长, 期刊还都没接受。

  28. 2024

    AI 写 LaTeX — GPT/Claude 比大多数人熟练

    大模型对 LaTeX 语法训练充分 (训练语料里 arXiv 几乎全文)。2024 起新一代研究生写论文的 LaTeX 80% 是 AI 出手, 人改细节; "TikZ 帮我画图"成主流入口。AI 让 LaTeX 的陡峭学习曲线第一次被显著拉平。

  29. 2026

    现状: 仍是数学排版的事实标准

    2026 LaTeX 圈层稳定: arXiv 90%+, NeurIPS / ICML / CVPR / 大部分 Springer / Elsevier / IEEE / ACM 期刊 LaTeX 模板首选。Overleaf ~12M 用户, GitHub READMEs 全用 KaTeX。Typst 在课堂里抬头但期刊还没动。LaTeX 不会被替代, 但下一个 20 年它将是"老派 vs 新派"并存的状态。

03

一份 LaTeX 文档的解剖 : Preamble

下面是一份现代标准论文的 preamble: 文档类 + 字体 + 数学 + 图 + 单位 + 参考文献 + 超链接。顺序很重要; hyperref 几乎必须最后。

\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern,microtype}
\usepackage{amsmath,amssymb,amsthm}
\usepackage{graphicx,booktabs,siunitx}
\usepackage[backend=biber,style=numeric]{biblatex}
\addbibresource{refs.bib}
\usepackage{tikz,pgfplots}
\usepackage{hyperref}  % must be last

\title{A Note on Multi-Pass Compilation}
\author{Jane Researcher}
\date{\today}

\begin{document}
  \maketitle
  \tableofcontents
  \section{Introduction}
  LaTeX is the de-facto standard...
  \printbibliography
\end{document}
\documentclass主体类型 · 大小 · 纸张 · 列数。换成 book/report/beamer 整篇换风格。
fontenc + lmodernT1 字符编码 + Latin Modern 字体 (CM 现代衍生)。跨语言抓 ä é è ñ 不烂。
microtypeHàn Thế Thành 的 protrusion + expansion。段落瞬间紧实; 一行进口即看到。
amsmath / amssymb / amsthmAMS 数学扩展三件套。align, cases, \mathbb, 定理环境。
graphicx插图: \includegraphics; booktabs 表格; siunitx 单位。
biblatex + biber新栈参考文献。比 BibTeX 灵活 10 倍; style=numeric 决定 [1] 还是 (Knuth 1984)。
tikz / pgfplots矢量图 + 科学绘图。TikZ 是 LaTeX 之上的"另一门子语言"。
hyperrefPDF 内部超链接 + 元数据 + 书签。必须最后加载——它要 hook 所有 \ref, \cite, \href。
04

数学排版展示 : LiveKaTeX

下面 12 个例子每张卡左边是 LaTeX 源, 右边是 KaTeX 实时渲染。这就是 LaTeX 不可替代的核心: 在 .tex 里写一行, 出来是世界上最讲究的数学排版——上下标的高度、积分号的弧度、矩阵的对齐, 都是 Knuth 600 页规则推出来的。

A

二次公式

x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}
x=2a−b±b2−4ac​​
B

Basel 问题

\sum_{n=1}^{\infty}\frac{1}{n^2} = \frac{\pi^2}{6}
n=1∑∞​n21​=6π2​
C

高斯积分

\int_{-\infty}^{\infty} e^{-x^2}\,dx = \sqrt{\pi}
∫−∞∞​e−x2dx=π​
D

多行对齐

\begin{aligned} (a+b)^2 &= a^2 + 2ab + b^2 \\ &= (a-b)^2 + 4ab \end{aligned}
(a+b)2​=a2+2ab+b2=(a−b)2+4ab​
E

矩阵

A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix}
A=​147​258​369​​
F

分段函数

f(x) = \begin{cases} x^2 & x \geq 0 \\ -x & x < 0 \end{cases}
f(x)={x2−x​x≥0x<0​
G

谓词 + 数集

\forall \epsilon > 0,\ \exists \delta > 0 : |x-a|<\delta \Rightarrow |f(x)-f(a)|<\epsilon \quad (x \in \mathbb{R})
∀ϵ>0, ∃δ>0:∣x−a∣<δ⇒∣f(x)−f(a)∣<ϵ(x∈R)
H

Euler 恒等式

\boxed{\,e^{i\pi}+1=0\,}
eiπ+1=0​
I

Maxwell 方程组

\begin{aligned} \nabla \cdot \mathbf{E} &= \tfrac{\rho}{\varepsilon_0} & \nabla \cdot \mathbf{B} &= 0 \\ \nabla \times \mathbf{E} &= -\tfrac{\partial \mathbf{B}}{\partial t} & \nabla \times \mathbf{B} &= \mu_0 \mathbf{J} + \mu_0 \varepsilon_0 \tfrac{\partial \mathbf{E}}{\partial t} \end{aligned}
∇⋅E∇×E​=ε0​ρ​=−∂t∂B​​∇⋅B∇×B​=0=μ0​J+μ0​ε0​∂t∂E​​
J

Schrödinger 方程

i\hbar\,\frac{\partial}{\partial t}\Psi(\mathbf{r},t) = \hat{H}\,\Psi(\mathbf{r},t)
iℏ∂t∂​Ψ(r,t)=H^Ψ(r,t)
K

交换图箭头

A \xrightarrow{\,f\,} B \xrightarrow{\,g\,} C \quad\Longrightarrow\quad A \xrightarrow{\,g\circ f\,} C
Af​Bg​C⟹Ag∘f​C
L

组合数 + 求和

(1+x)^n = \sum_{k=0}^{n} \binom{n}{k} x^k
(1+x)n=k=0∑n​(kn​)xk
∞

KaTeX vs MathJax — 注意区别

本页用的是 KaTeX ——速度极快 (~100× MathJax), 但只覆盖 LaTeX 数学子集: 没有 TikZ, 没有 \usepackage, 没有 chemfig。完整 LaTeX 编译需要 pdfLaTeX / XeLaTeX / LuaLaTeX 这类引擎。延伸: /code/language/katex。

"LaTeX 不只是排版系统, 它是一种数学思考的速记法。 — Knuth, 多次访谈"

05

TeX 引擎 : pdflatex / xelatex / lualatex / tectonic

"LaTeX" 这个词背后不只一个引擎。同一份 .tex 用 pdflatex 编一次, 用 xelatex 又编一次, 结果可能字体不一样、错误不一样、跑慢一倍。2026 年的"选哪个"指南如下。

pdflatex
since 1995 · 8-bit · default
Speed最快 (~2-5s/论文)
Fonts仅 8-bit Type 1 字体
Unicode需 inputenc; CJK 难
Output直接 PDF
选用: 纯英文 / 数学论文; arXiv 大部分模板默认它。
xelatex
since 2004 · Unicode · system fonts
Speed中 (~5-15s/论文)
Fontsfontspec + OpenType 系统字体
Unicode原生
OutputPDF (走 xdv 中间格式)
选用: 中 / 日 / 韩 / 阿拉伯文, 任何要自定义字体的 design 文档。
lualatex
since 2007 · Lua scripting · default
Speed慢 (~10-30s/论文)
Fontsfontspec + OpenType
Unicode原生
Output直接 PDF + 嵌入 Lua 钩子
选用: 2026 推荐的"未来引擎"; 复杂宏 / 包作者 / 需要程序化算字的工作。
tectonic
since 2015 · Rust · auto-fetch
Speed快 (单 binary, cache)
Fontsfontspec + OpenType
Unicode原生
OutputPDF · 一次跑完所有 pass
选用: CI 流水线 / 不想装 7GB TeX Live; 自动下缺失包, 离线打不开。
06

包生态 : ~6000 on CTAN

CTAN ~6000 个包 (~4GB), 但 20 个包覆盖 80% 的论文。下面这些是2026 年标准论文 preamble 必出现的 — 每张卡顺手把首次出现的年份标了。

1985
package
amsmath

AMS 出品。align / aligned / cases / gather——不加它就是残的。

1995
package
graphicx

插图标准。\includegraphics 配 \scalebox / \rotatebox。每篇论文都用。

1998
package
hyperref

PDF 超链接 + 元数据 + 书签。加载顺序必须放最后——它要 hook 几乎所有其他包。

1998
package
TikZ/PGF

Till Tantau 矢量图王。从 commutative diagrams 到神经网络示意图——论文里所有像样的图都来自这里。

2003
package
beamer

幻灯片文档类。"PowerPoint with bad fonts" 在学术界的官方杀手。

2004
package
fontspec

XeTeX / LuaTeX 下用系统 OpenType 字体——中文 / 日文 / 自定义字体的入口。

2004
package
microtype

Hàn Thế Thành 博士论文的产物。一行 \usepackage{microtype}, 段落瞬间紧实漂亮——你说不清为什么。

2005
package
listings

代码块, language=Python 一行高亮。10 年的老牌; 新写法选 minted。

2008
package
minted

调 Pygments 做语法高亮——颜色更现代, 但要 --shell-escape。

2008
package
siunitx

物理 / 化学的单位排版: \SI{9.8}{m/s^2} 自动正立 + 中划线 + 区间格式化。

2008
package
tikz-cd

TikZ 之上的交换图子语言。范畴论 / 代数拓扑 / 同调代数论文必备。

2010
package
biblatex

新一代参考文献处理 (后端 biber)。比 BibTeX 灵活 10 倍; 2010 后新模板首选。

2011
package
tcolorbox

各种方框 / 提示框 / 定理框。可以做 minted + 颜色 + 标题 + 阴影 — beamer 之外 LaTeX 视觉系最强工具。

2012
package
pgfplots

TikZ 之上的科学绘图子语言。无 matplotlib, 只用 .tex 也能画 axis / 散点 / heatmap。

2014
package
chemfig

化学结构式: 苯环、酰胺键、反应箭头一行命令。化学论文标配。

2015
package
mhchem

化学方程: \ce{H2SO4 -> 2 H+ + SO4^{2-}}, 自动对齐 + 立式数字。siunitx 同作者。

2016
package
forest

语法树 / 句法树专用; 比 TikZ 手画快十倍。语言学 / NLP 论文常客。

2018
package
glossaries

术语表 + 缩写表 + 符号表三位一体, 自动排序 / 链接。论文 > 50 页基本必备。

2019
package
algorithm2e

伪代码环境。定理 / 引理 / 算法那一档排版的事实标准。

2020
package
csquotes

"会动的引号"——根据语言自动切换 "" / «» / „" / 「」; biblatex 必带。

DISTRIBUTIONS

发行版 / 编辑器

"装 LaTeX" 在 2026 大致是 4 种路径: TeX Live 全平台 (~7GB), MiKTeX Windows 按需取包, MacTeX macOS 包装, Tectonic 单 binary CI 友好。

  • TeX Live — TUG 出品, Linux/macOS 默认
  • MiKTeX — Windows, 缺包自动 fetch
  • MacTeX — TeX Live 的 macOS 包装 + GUI
  • Tectonic — Rust 单 binary, CI 首选

编辑器 / 工作流

2026 现代默认: VS Code + LaTeX Workshop 插件 (内置 latexmk + PDF 预览 + 自动补全)。学术老派仍用 TeXstudio / TeXShop; Emacs 派坚守 AUCTeX; 纯浏览器派去 Overleaf。

  • VS Code + LaTeX Workshop — 2026 默认
  • Overleaf — 浏览器协作
  • TeXstudio / TeXShop — 老派 GUI
  • Emacs + AUCTeX — 键盘党
  • latexmk / arara — 自动编译循环
07

对比 : Alternatives

LaTeX 不是唯一排版选择。Word 在办公文档赢、Markdown + pandoc 在博客赢、Typst 在新一代笔记赢、MathML 在本来该赢的浏览器数学上输给了 KaTeX。下面是 5 个常见竞争对手的诚实对比。

LaTeXWordMarkdownTypst
范畴标记 + 宏 + 引擎栈WYSIWYG 二进制轻量纯文本标记现代标记 (Rust 引擎)
数学无人能及原生方程编辑器 (一般)可嵌 $$LaTeX$$一阶公民, 干净语法
出身Knuth 1978 + Lamport 1985Microsoft 1983Gruber 2004Mädje + Haug · ETH 2019
纯文本源?是 (git 友好)否 (.docx zip)是是
编译速度慢 (多 pass · 5-30s)实时 (WYSIWYG)实时 (pandoc 1s)~100ms
模板生态巨大 (期刊 / 学校 / 简历)官方 + 第三方无固定模板概念年轻, 增长中
协作Overleaf (browser)Office 365 同步git PRtypst.app 协作
期刊接受?默认部分接受罕见 (走 pandoc → LaTeX)2026 期刊还未广泛接受
学习曲线陡峭 (但 AI 大幅压平)平 (双击即用)平缓 (Markdown 用户友好)
2026 状态事实标准, 不动办公 / 法律 / 行政博客 / README / Notion课堂笔记 / 短论文上升
08

为何 LaTeX 在 2026 : WhyLaTeX

"LaTeX 老土、Word 够用、Typst 在崛起"——这些都对, 但都不构成换。下面 6 张是 LaTeX 在 2026 年仍不可替代的真正原因, 跟"它最早"无关。

∑

数学排版无人能及

40 年没有第二个系统在多行公式 / 矩阵 / 积分号 / 上下标定位这件事上接近 TeX。每一份数学论文最终都被它收编, 不是因为它"好用", 是因为没有替代。

$\int_0^\infty \frac{x^{s-1}}{e^x-1}\,dx = \Gamma(s)\,\zeta(s)$
⌘

结构 / 内容 / 样式分离

跟 HTML 同源的思想: \section 声明 "这是节标题", 字体大小由文档类决定。换 \documentclass 整篇换风格——不动一个字。

\documentclass{article}     % vs {book}
\section{Introduction}      % stays the same
◇

纯文本源 — git 友好

.tex 是纯文本: git diff 直接看改了哪行, code review 跟代码一样, CI 出 PDF 验证渲染。跟 Word .docx 二进制对比, 一个时代的差距。

$ git diff paper.tex
- proof omitted.
+ See Appendix A for proof.
⧖

40 年向后兼容

1985 年的 LaTeX 文档在 2026 年仍能编译。Knuth 把 TeX 冻死, LaTeX 团队把内核当作不可破坏的契约——跟 web 同一种"永远渲染"承诺。

% lamport-1985.tex
\documentclass{article}
% still compiles, byte-stable.
⊕

arXiv / 期刊管道的硬通货

arXiv 90%+ 投稿是 LaTeX; Springer / Elsevier / IEEE / ACM 都发官方 .cls 模板。你想投稿, 就得用——这不是建议是约定俗成。

% IEEEtran.cls — required for IEEE submissions
\documentclass[conference]{IEEEtran}
∎

PDF 字节稳定

同一份 .tex + 同一个引擎 → 同一份 PDF, 跨机器 byte-stable。没有"在我电脑上能跑"问题; CI 缓存 / 教学评分 / 法律文档全靠这条。

$ sha256sum paper.pdf
b8e3...  paper.pdf   # identical worldwide
"

我写 TeX 是因为我不能忍受看到自己写的书排得难看。如果你的书排错, 它就背叛了里面的内容。我宁愿花 10 年自己写一套排版系统, 也不愿意把后面 30 卷书交给同样烂的工具。

— Donald KnuthStanford · TeX / METAFONT 作者 · 1974 Turing Award · 多次访谈综合

一句话总结: LaTeX 在 2026 不是"老技术留着", 是"没有更好的"。AI 抹平了学习曲线, Typst 拿下了短文档, 但多人协作、数学公式、长论文、跨年份兼容这四件事的交集, 2026 仍只有 LaTeX 能同时满足。

09

陷阱 : TheDarkArts

LaTeX 不友好——任何写过它的人都同意。下面 6 个是新人 100% 会踩的陷阱; 列出来不是劝退, 是先知道, 后边遇到时知道往哪查。

多 pass 编译

交叉引用 / 目录 / 参考文献需要跑 2-3 次 pdflatex + biber 才稳定。手动跑容易漏——用 latexmk -pdf 自动循环到不再变化为止。

错误信息是天书

! Undefined control sequence. + 提示行号往往离真凶很远。读 .log 比读错误窗口靠谱; chktex + LaTeX Workshop 的智能定位帮一些, AI 帮更多。

包加载顺序敏感

hyperref 几乎必须最后加载 (它 hook 所有交叉引用); cleveref 必须在 hyperref 之后; biblatex 在 csquotes 之后。这套口诀新人踩一年才记牢。

浮动体定位

永恒的 [h!] / [!t] / \FloatBarrier 之战。LaTeX 把图 / 表当 会自己找位置的浮动体, 你想"放这里" 它常常拒绝。placeins 包的 \FloatBarrier 是最实用的逃生口。

BibTeX vs Biber 选择

老栈: bibtex + natbib; 新栈: biber + biblatex。2010 后新模板基本全是后者; 但很多老教程还停在前者, 一个 .bbl 卡住整个编译。没特殊原因, 选 biber + biblatex。

shell-escape 的双刃

minted / tikz-externalize / pdfcrop 等包要 --shell-escape 才能跑——意味着 LaTeX 可以执行任意 shell 命令。Overleaf / 期刊 sandbox 经常默认禁掉; 改用 listings 是更稳的退路。

10

名作 — 全部走 LaTeX : TheCanon

下面这些不是 LaTeX "也能" 排—— 是世界上不会用别的排。从 Knuth 自己的 TAOCP 到 Perelman 解 Poincaré 猜想, 到 NeurIPS 全部论文。

The Art of Computer Programming
Knuth 自己的书。TeX 之所以存在就是为了排这套书; 1968 第 1 卷, 仍在写第 4 卷分册——用的依然是 plain TeX, 不是 LaTeX (作者本人坚持)。
Perelman, "The entropy formula for the Ricci flow…"
2002 arXiv:math/0211159 — Perelman 解决 Poincaré 猜想的三篇论文之一, 纯 LaTeX. 世纪难题的解答, 39 页 .tex 源。
The Standard Model Lagrangian (poster)
T.D. Gutierrez 整理的单一方程 ~3 页的 Standard Model 拉氏量海报。除 LaTeX 没人写得下来。
arXiv preprints (1991→)
~2.5M 篇论文; 90%+ 提交 LaTeX 源。arXiv 把 .tex 一并存档, 你能下回 30 年前的源码自己重编。科学传播的物质底层。
NeurIPS / ICML / CVPR / SIGGRAPH proceedings
所有顶级 CS 会议 — 每篇都是 LaTeX, 会议官方发模板。.cls 出错会导致 desk reject。
Donald Knuth — "Mathematical Writing" (1989)
Knuth 在 Stanford 开的"数学写作"课讲义。讨论如何写好数学——本身用 TeX 排, 是 TeX 排版美学的元教材。
11

生态 / 工具 / 引擎 : TheStack

LaTeX 是一个生态, 不是一个项目: TUG 母组织, CTAN 包仓, TeX Live / MiKTeX 发行, Overleaf / Tectonic 现代入口, KaTeX / MathJax 网页渲染, arXiv / tex.SE 社区。下面 18 个是 2026 年日常会遇到的核心节点。

TUG
TUG
TeX Users Group · 母组织
CTAN
~6000 个包 · 4GB
TL
TeX Live
默认全平台发行
MiKTeX
MiKTeX
Windows · 按需取包
Overleaf
浏览器协作 · ~12M 用户
Tectonic
Rust · 单 binary · auto-fetch
KaTeX
KaTeX
浏览器数学 · 同源详解
∫
MathJax
浏览器数学 · 完整 LaTeX
TikZ
矢量图王 · Till Tantau
beamer
学术幻灯片标准
M-x
AUCTeX
Emacs · 老派经典编辑
LaTeX Workshop
VS Code · 2026 现代默认
latexmk
编译循环自动化
t
Typst
"新一代 LaTeX" · 兴起
arXiv.org
arXiv
论文预印 · LaTeX 90%+
TeX·SE
tex.stackexchange
问答中心 · 25 万问题
biblatex
参考文献 · 后端 biber
latex3/latex2e
LaTeX 内核源码
12

前景 : TheNext10Years

LaTeX 不会被 Typst 替代, 也不会在 2030 年消失。下一个 10 年的主线是: (1) AI 把学习曲线压平; (2) expl3 静默接管包内部; (3) Typst 在课堂笔记拿一档; (4) LaTeX 在期刊管道底下变成编译目标, 不再是用户层。

HOT · 2024+

AI 写 LaTeX — 学习曲线被压平

LaTeX 之前最大的反对意见是学习曲线陡峭: 100+ 包记加载顺序, 错误信息看不懂, TikZ 几乎自成一门子语言。大模型对 LaTeX 异常熟练 (训练语料 arXiv 几乎全文), 让"写公式 / 画 TikZ / 调样式" 从 30 分钟降到 30 秒。

结论: 2026 年起新研究生学 LaTeX 不再从命令背诵开始, 而是从"让 AI 写, 我读懂改"开始。LaTeX 的"高门槛护城河"被冲塌了——这反而巩固了它的统治, 而不是削弱。

LATEX3 / expl3

expl3 — 现代 LaTeX 编程层

2019 起 expl3 跟着每个 LaTeX 内核分发, 现代包 (siunitx 3, biblatex 3.x) 内部全是它。LaTeX3 没有作为"下一版"诞生, 它通过编程层渗透到了一切。2026+ 包作者写新包首选 expl3, 不再写老 plain TeX 宏——这是 30 年技术债的真正还清。

TYPST

Typst — 唯一可信的挑战者

2023 release 1.0, 2024-2026 在课堂 / 课程作业 / 短论文里增速最快: 语法干净 (像 Markdown)、编译 ~100ms、浏览器版无需装。但期刊 .cls / 长论文 / 复杂 TikZ 依然 LaTeX-only。下一个 10 年很可能 = LaTeX 守住期刊 + Typst 拿下日常笔记 / 课件这一档分层共存。

STRUCTURED WEB

Web-first authoring → 编译到 LaTeX

Curvenote / Distill / MyST 等新一代"先在浏览器协作写, 再编译成 LaTeX + PDF"工具在抬头。作者层用 markdown + 数学块 + 代码块, 后端走 LaTeX 出版。LaTeX 在 2030 年很可能不是用户层, 而是编译目标层——像 LLVM IR 之于编程语言。

官方资源

  • tug.org
  • ctan.org
  • TeX Live
  • miktex.org
  • latex-project.org

关键阅读

  • Knuth 个人主页
  • Lamport 个人主页
  • Wikibooks · LaTeX
  • The TeXbook (Knuth)

工具 / 引擎

  • overleaf.com
  • tectonic
  • typst.app
  • tex.stackexchange.com
  • arxiv.org

同站交叉

  • KaTeX — 浏览器数学渲染
  • HTML — markup 的兄弟
  • CSS — 表现层
  • 返回语言索引
LATEX

单页中文 / English 双语 · 资料截至 2026-05

\documentclass{article} % typography that won't die