TeX 是一个用于将数学、论文和书籍排版精美的排版系统。 LaTeX 是建立在其之上的实用语言。本页介绍了每一个是什么,以及两者的核心思想:你写的是结构,而不是外观——这是对文字处理程序的根本突破。
什么是 TeX
排版是一个古老的印刷术语:排列金属活字制成印版。 TeX 在计算机上执行此操作 - 它精确地放置文本和图形并输出完成的“板”(今天是 PDF)。它是由计算机科学家 Donald Knuth 创建的,他于 1978 年开始构建它,因为他的书中 *The Art of Computer Programming* 中的数学无法用当时的工具完美地设置。
它有几个实用的优点。它是免费的并且开源——您可以检查它、修改它并在商业上使用它。它是跨平台确定性:相同的输入在 Windows、macOS 或 Linux 上给出相同的输出。由于输入是纯文本,因此您可以在任何编辑器中编写它并以编程方式搜索、重用或生成它。
最重要的是,它的排版非常细致。它自动处理跨换行符的连字、像 AV 和 To 这样的对的字距调整、将 fi 和 fl 融合成单个字形的连字,以及避免在其自己的页面上搁置段落的单独第一行或最后一行的寡/孤儿控制。它的数学排版尤其是将方程表达为文本的事实上的标准。 (最后的“X”是希腊语 χ — 在英语中表示“tech”,在日本传统上表示“teh”。)
什么是 LaTeX
TeX 本身是低级的,几乎没有人编写原始的 TeX。 LaTeX 是使其变得平易近人的层,由计算机科学家 Leslie Lamport 使用 TeX 的宏(编程)工具于 1984 年首次发布。
今天大家所说的“LaTeX”是 LaTeX2e,即 Frank Mittelbach 及其同事于 1994 年发布的版本。长期运行的 LaTeX3 工作不再是一个单独的产品:自 2018 年以来,它一直作为 expl3 编程层存在于 LaTeX2e 内核中,现代包编写在其之上。
它的核心思想是,将文档的逻辑结构与其外观分开编写。要开始标题为“简介”的部分,只需写下其含义 - \section{Introduction}。将其变成外观的规则(“14pt 粗体,左齐平,上下有这么多空间......”)存在于单独的类文件或样式文件中。
因此,通过交换类文件,您可以以完全不同的风格呈现相同的稿件 - 方便匹配每个期刊的提交规则。相反,将“14pt,居中”硬编码到正文中意味着每次设计更改时都要编辑整个文档,标题会不同步,重用会变得很痛苦。正是网络上HTML和CSS的关系。
LaTeX 还可以对章节、图表、表格和方程式进行编号;在每个交叉引用插入正确的编号或页码;并为您构建目录、索引和参考书目。这种便利性就是使用量激增的原因,也是为什么“使用 TeX”几乎总是意味着使用 LaTeX。
对于日本人来说,pTeX 引擎和其上的 pLaTeX 早已成为标准配置(今天 LuaLaTeX 也是一个不错的选择)。 LaTeX 是科学中的规范:预印本服务器 arXiv 推荐 LaTeX 提交,其中排版了 *Iwanami Encyclopedia of Mathematics* 等参考著作,甚至维基百科也用 LaTeX 语法编写其方程(呈现为图像)。
编写,然后编译
您编写一个包含命令的纯文本 .tex 文件,然后使用 TeX 引擎编译它以生成 PDF (通常两次,因此交叉引用和目录解析)。与每次击键时重新绘制页面的文字处理器 (WYSIWYG) 不同,TeX 一次处理整个文档。 “从源代码到 PDF”页面涵盖了完整的流程。
一个最小的例子
这是编译的最小 LaTeX 文档。 \documentclass 选择文档类型; \begin{document} 和 \end{document} 之间的所有内容都是主体。要记住的事情:源代码中的换行符并不重要 - 空行开始一个新段落。无论您在何处换行,LaTeX 都会自行决定最终的换行符。
\documentclass{article}
\begin{document}
Hello, \LaTeX! Here is an equation:
\[ E = mc^2 \]
\end{document}编译此代码会生成一个 PDF,其中包含“Hello, LaTeX!”行接下来的方程 E = mc² 整齐地设置在自己的中心线上。
从示例转向实际写作
当您从这个示例转向报告或论文时,请在完善外观之前放下语义骨架。创建一个 main.tex,然后绘制标题、章节标题、正文以及放置图形、表格和方程的位置。在类或序言中保留边距和字体,并在正文中保留 \section、\label 和 \ref 等结构命令。如果您开始手动将标题加粗或自己输入数字,那么您就放弃了 LaTeX 最擅长的自动化。
- 对于简短的作业,请从
article开始,或者从日语jlreq开始。 - 对于一篇长论文,在将章节拆分为文件之前,将所有标题放在一个
main.tex中。 - 如果场所提供类文件,请首先读取它并仅使用它在正文中期望的命令。
TeX vs LaTeX vs pLaTeX / upLaTeX / LuaLaTeX
名称多种多样,但诀窍是将“引擎”与“格式”分开。 引擎是完成工作的程序(TeX、pdfTeX、XeTeX、LuaTeX);格式是命令系统 (LaTeX)。它们的组合是 pdfLaTeX、XeLaTeX 和 LuaLaTeX,而在支持日本的发动机 pTeX/upTeX 上,LaTeX 给出 pLaTeX 和 upLaTeX。
| 姓名 | 它是什么 | 当伸手去拿它时 |
|---|---|---|
pdfLaTeX | LaTeX 在 pdfTeX 引擎上;经典默认 | 您主要写英文/欧洲文本 |
upLaTeX | upTeX 上的日语 LaTeX(Unicode 感知) | 日本纸的标准 |
LuaLaTeX | LaTeX 上 LuaTeX;系统字体、Unicode、Lua | 现代设置;日语来自 luatexja |
XeLaTeX | LaTeX 上 XeTeX;系统字体,Unicode | 您想要简单的 OpenType 字体 |
如果不确定:对于日语,upLaTeX 或 LuaLaTeX;对于大多数英语,pdfLaTeX;使用系统上已有的字体 LuaLaTeX 或 XeLaTeX。从日语开始? LuaLaTeX 是安全的默认值。
为什么使用LaTeX
- 美丽的数学。没有什么比数学更重要的了。
- 关注结构。 外观是类文件的工作;身体只承载意义。
- 一切都排列整齐。 编号、交叉引用、目录、索引和参考书目都会为您生成。
- 扩大规模。论文、书籍和长篇论文保持一致。
- 纯文本。 与 Git 进行比较;可重复且面向未来。
- 免费且广阔。 开源,在 CTAN 上拥有庞大的软件包生态系统。
也就是说,对于简短的笔记、传单、实时协作编辑或像素完美的图形设计,WYSIWYG 工具可以更快。使用适合工作的正确工具。