> For the complete documentation index, see [llms.txt](https://ayakaleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ayakaleaf-pro.ayaka.space/latex/zh-cn/shen-du-wen-zhang/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md).

# 名称中的奥秘：TeX 的多种风格指南

## 引言

也许你听说过，或者读到过，名为“TeX”“LaTeX”或“pdfLaTeX”的东西——或者许多读音相似的术语中的任意一种——但你并不太确定它们究竟是什么意思？如果是这样，那么这篇文章就是为你准备的：它会以非技术性的背景介绍来解释基于 TeX 的软件的多种变体——它们的含义以及它们存在的原因。暂时我们将使用通用术语“TeX”来简化讨论，但稍后我们会给出其许多衍生与变体的背景和含义：LaTeX、pdfTeX、pdfLaTeX、XeTeX、XeLaTeX、LuaTeX 和 LuaLaTeX。你可能在 Overleaf 的菜单中见过其中一些术语，那里可以让你选择你偏好的“编译器”：

![在 Overleaf 中选择 LaTeX 编译器](/files/4fbc5beb19643302939235e202571862a0a45681)

除非你是经验丰富的 TeX 用户，或者对其生态系统很熟悉，否则众多“TeX 的各种版本”可能会令人困惑；不过，读完这篇文章后，当你与熟悉基于 TeX 的术语的同事、作者或期刊编辑交流时，你应该会感觉更了解、更从容。

### 背景：40 年的发展历程

TeX 的根源可以追溯到 20 世纪 70 年代末，而在它诞生后的几十年里，又发展出了大量基于 TeX 的排版程序；与原始 TeX 程序相比，它们提供了相当多的增强功能和附加能力。对于刚接触 STM 出版，或正在考虑将其作为职业方向的人来说，得知一款起源距今约 40 年的排版软件如今仍被技术作者广泛使用，或许会感到惊讶——并且通过诸如 Overleaf 这样的服务，它还是许多现代出版工作流程中的关键组成部分。

### TeX 不只是用于数学

人们常常误以为 TeX 的使用仅限于科学和技术领域；更具体地说，仅用于复杂数学的排版。虽然它在这些领域拥有最多用户，但基于 TeX 的软件也被广泛用于非数学内容的制作——因为它具有极高的输出质量和惊人的通用性。除了数学排版之外，TeX 的最新版本（称为 XeTeX 和 LuaTeX）还支持现代字体技术（OpenType）、基于 Unicode 的文本输入、基于 OpenType 的数学字体（这一点由 Microsoft Word 首创）、多语言排版（包括阿拉伯语及其他复杂文字脚本）、直接输出 PDF 等等。例如，这里展示的是 XeTeX 的 [支持复杂文字脚本语言的多语言排版](https://www.overleaf.com/latex/examples/how-to-write-multilingual-text-with-different-scripts-in-latex/wfdxqhcyyjxz)，包括阿拉伯语、梵语、印地语、中文、日文、韩文、希腊语和泰语。或者，如果你对烹饪感兴趣，不妨尝试制作 [一本食谱小册子](https://www.overleaf.com/latex/examples/simple-recipes-for-first-time-away-from-home-cooks/gscqdhnwzsfg)?

## TeX 的起源：简短历史

美国历史学家 [Daniel J. Boorstin](https://en.wikipedia.org/wiki/Daniel_J._Boorstin) 曾经指出：

> “在没有历史感的情况下试图规划未来，就像试图种植剪下来的花。”

为了呼应这句名言，我们先从 TeX 的简短历史开始：它从何而来、由谁创造——又是为什么？

1977 年 3 月 30 日，斯坦福大学计算机科学家 Donald Knuth 教授的日记中记下了以下一则笔记，表达他对刚收到的自己系列著作第二卷排版校样质量的不满 *The Art of Computer Programming*:

> “第二卷的清样终于到了，看起来糟透了……（从排版角度来说）。我决定必须自己解决这个问题。”

上面的引文出自 Donald E. Knuth 所著 [Digital Typography](https://www.amazon.co.uk/Digital-Typography-Language-Information-Publication/dp/1575860104) 的第 482 页。Knuth 教授日记中的那一小段记录，标志着一段持续多年的编程之旅的开端，并最终造就了一款能够生成极其精美的数学排版，当然也能生成漂亮正文排版的软件：Knuth 将这款程序命名为 *TeX*.

Knuth 是一位杰出的计算机科学家，在开发 TeX 的过程中，他与同事们设计了新的、高级的算法来解决一些非常复杂的排版问题：包括 [自动换行](http://onlinelibrary.wiley.com/doi/10.1002/spe.4380111102/abstract), [断字](http://www.tug.org/docs/liang/liang-thesis.pdf) 以及，当然还有 [数学排版](http://www.tug.org/TUGboat/tb27-1/tb86jackowski.pdf)。作为 TeX 开发的一部分，Knuth 需要为其排版软件使用字体，因此他开发了自己的一套字体技术，称为 MetaFont——不过这里我们不会详细讨论它。

### TeX 取得了巨大成功

TeX 的流行有许多原因，其中包括：

* *高质量排版*：除了 TeX 内置的复杂算法之外，Knuth 对排版细节的极致关注，使 TeX 能够生成质量极高的数学与正文排版。
* *TeX 可编程*：Knuth 为 TeX 赋予了自己的编程语言。用户可以编写“TeX 宏”（一组 TeX 命令），从而对 TeX 的排版过程拥有极强的控制力。TeX 的可编程性是一个重要主题，我们会在下文中更详细地讨论。
* *TeX 是免费的*：Knuth 免费提供 TeX——包括其源代码（即程序代码）。
* *可移植性*：Knuth 在设计 TeX 的内部结构时，确保它具有很高的可移植性，能够运行在许多不同的计算机系统上。在输入相同的情况下，TeX 无论运行在何种系统上，都会产生完全一致的输出——包括相同的换行和分页。

作者们对此非常高兴，因为 TeX 使数学家、物理学家、计算机科学家以及其他人能够精确控制其作品的排版与视觉呈现。作者可以使用 TeX 撰写文章或书籍，并将其手稿（TeX 文件）提交给出版商，因此他们对校样不再会像 Knuth 在 1977 年那样遭遇同样的命运更有信心。

## Knuth 仍在维护 TeX，但新的“版本”已经演化出来

在 20 世纪 80 年代，Knuth 决定冻结 TeX 的主动开发，因为他希望确保其软件的长期稳定性：他决定不再为 TeX 添加新功能。1989 年，Knuth 被说服对 TeX 做出 [最后一组更改](https://www.tug.org/TUGboat/tb10-3/tb25knut.pdf) ——主要是从 7 位字符集迁移到 8 位字符集。1990 年，Knuth 发表了一篇题为 [The Future of TeX and MetaFont](https://www.tug.org/TUGboat/tb11-4/tb30knut.pdf) 的文章，其中他表示自己对 TeX（及相关软件）的开发已经结束，但其他人可以自由地在他所做工作的基础上继续发展。

今天，在 TeX 诞生那个决定性时刻过去约 4 十年之后，Knuth 仍在定期对 TeX 的主源代码进行错误修复——其代码可从 [CTAN（Comprehensive TeX Archive Network）](https://www.ctan.org/tex-archive/systems/knuth/dist/tex/)获取。此类更新每隔几年进行一次，最近的一次是 [2014 年的 TeX 调整](https://www.tug.org/TUGboat/tb35-1/tb109knut.pdf) ，正如 TeX 期刊 [TUGboat](https://www.tug.org/TUGboat/Contents/contents35-1.html)所报道的那样——下一次调整计划在 2021 年！在这些调整过程中，Knuth 不会为 TeX 添加新功能，它们确实只是修复错误——尽管许多人认为 TeX 是世界上最没有 bug 的程序。

**关于 TeX“版本”的说明**：在撰写有关 TeX 的内容时，极其重要的一点是要强调，严格来说，“TeX”只有一个权威版本：也就是 Knuth 编写并维护的那个版本。事实上，“TeX”（以其排版标志表示）是美国数学学会的商标。Knuth 并没有排除或阻止他人使用他的代码来开发 *基于 TeX 的*——在 Knuth 选择实现的功能之外扩展其软件，以添加额外特性和功能。然而，Knuth 也像他完全有权做的那样，提出了一个强硬的规定，这可以在 TeX 的源代码中找到：

`如果这个程序被修改，那么由此产生的系统就不应被称为 TeX；TeX 这个官方名称本身只保留给彼此完全兼容的软件系统。`

因此，把由 Knuth 源代码派生出的程序称为 TeX 的“版本”并不完全准确。严格来说， *基于 TeX 的* 从 TeX 源代码派生出来的软件应被称为“改编版”或“衍生版”，但为了简单起见，我们仍会继续使用“版本”这一术语，同时牢记这里提到的这些注意事项。

尽管 Knuth 冻结了开发，但人们对 TeX 新功能或现有功能改进的需求依然强烈，多年来也曾出现过各种尝试，想要开发“下一代 TeX”——有些非常成功，有些则没有。这是一段有趣的历史，但我们无法在这里展开——好奇的读者可以在 Frank Mittelbach 的一篇文章中找到更完整的说明： [TUGboat，第 34 卷（2013 年），第 1 期](https://www.tug.org/TUGboat/tb34-1/tb106mitt.pdf).

在 20 世纪 90 年代，TeX 的一些部分开始显得有些过时——包括其字体处理方式以及 TeX 输出所使用的文件格式：所谓的 Device Independent 格式，简称 DVI。大多数用户会将 TeX 的输出转换为 PostScript，但到了 90 年代中期，随着 PDF 作为首选输出文件格式的兴起，PostScript 正逐渐被取代。当然，TeX 还处在一个已经有了互联网的世界中。不过，尽管存在这些不足，TeX 的许多核心算法——换行与两端对齐、断字和数学排版——仍然无可匹敌。开发者希望在 TeX 的优势基础上继续发展，同时更新那些世界已经前进、而 TeX 确实需要跟上的领域。

### 名字里有什么？

已经形成一种惯例：从 TeX 派生的软件，其名称通常是在“TeX”一词前加上前缀，例如得到这样的程序名： **pdf**TeX, **Xe**TeX 和 **Lua**TeX。虽然这些程序是从 Knuth 最初的 TeX 软件派生而来，但它们包含了一些 Knuth 原始版本中没有的特性和功能。总的来说，这些可执行程序通常被称为 **TeX 引擎**——可以把它们看作 *驱动* 排版过程的软件。本文末尾简要介绍了 pdfTeX、XeTeX 和 LuaTeX。

### LaTeX：一组宏，而不是一个 TeX 引擎

我们已经提到，从 Knuth 软件派生出来的 TeX 程序会有诸如 pdfTeX 或 XeTeX 这样的名称；自然地，你可能会认为 LaTeX 只是 Knuth 软件的另一种版本。遗憾的是，事情并没有这么简单。LaTeX 不是可执行的 TeX 排版程序的一个版本：它是一组所谓的 *TeX 宏*，这一主题我们将在下文中更详细地讨论。构成 LaTeX 的宏由 Leslie Lamport 于 20 世纪 80 年代中期编写——也是他为这个宏包命名。与 TeX 引擎本身一样，LaTeX 宏包仍在持续开发中，有兴趣的读者可以在 [LaTeX 项目网站](https://www.latex-project.org/).

## 那么，TeX 到底做什么？

如前所述，TeX 是一个排版程序，但如果你设想的是像 Adobe InDesign 那样流畅的图形用户界面（GUI），那就得重新想想了。TeX 诞生时（20 世纪 70 年代末），今天这些复杂的图形界面和操作系统还远未出现，而 TeX 的运行方式即使在新的现代 TeX 变体中，也仍然体现着它的历史渊源。

习惯于使用 Adobe InDesign 等现代页面排版应用的人，可能会惊讶于 TeX 的工作方式。假设有人给了你一份 TeX 软件（但没有高级文本编辑器），而你决定运行它看看会发生什么：你会看到什么？实际上，几乎看不到什么！TeX 使用一种所谓的 [命令行界面](https://en.wikipedia.org/wiki/Command-line_interface)：它没有那种可以让你输入要排版的文字，或者通过指点、点击、轻触来设置选项和配置的华丽图形界面。如果你运行某个 TeX 程序（引擎），你会看到一个简单的屏幕和闪烁的光标——例如，在本地机器上运行 LuaTeX（Windows 上的 luatex.exe）：

![在 Windows 下运行 LuaTeX](/files/67664b4bfe6a409d26be4d261626fb8b9ce9a4d0)

当然，通过 Overleaf 使用基于 TeX 的软件的人，会获得一个更加方便、也更适合作者使用的界面。

### 理解 TeX 的可编程性

显然，如果你想让某个软件排版内容，你就需要为它提供某种输入（待排版的材料），然后再给它一些“指令”，告诉它你想实现什么——比如使用哪些字体、最终文档的页面大小，以及许多其他细节。如果你使用的是 Adobe InDesign 之类的工具，你可以通过各种菜单、窗口和对话框来设置参数，从而对软件的行为产生一定影响和控制。那么，如果没有这样的界面，而你手边只有一个空白屏幕和闪烁的光标呢？这就是 TeX 的 *可编程性* 发挥作用的地方。

### 程序 TeX 与编程语言 TeX

因为 TeX 没有内置的图形用户界面供你控制和引导其行为，所以你必须向它提供明确的书面指令，指导它完成排版过程。你要创建一个文本文件，其中不仅包含你作品的正文，还包含明确的排版指令（或命令），告诉 TeX 你希望它做什么。比如，当你写好一个名为 mybook.tex 的 TeX 文件后，你再让 TeX 去处理它，如果一切顺利，你就会得到一份排版精美的文档“mybook.pdf”作为输出。

这些用于控制 TeX 行为的“排版指令”实际上是用一种编程语言编写的——这门语言是 Knuth 专门设计的，目的是让 TeX 用户能够对他这款复杂的排版程序拥有极大的控制权。正是这种排版编程语言赋予了 TeX 惊人的力量和灵活性。

现在我们可以开始明白，TeX 实际上是一款排版软件，用户可以通过提供以一种特殊编程语言编写的指令来控制它。你应该把“TeX”看作一个可执行程序（排版引擎），它可以由用 TeX 排版语言编写的指令来控制。当然，由于 TeX 是通过编程语言来控制的，因此总有出错的可能——你的 TeX 文件中的 bug，TeX 无法理解，或者根本没有给出你预期的结果。对于 TeX 相关软件的用户来说，这是一种司空见惯的“快乐”，他们对此再熟悉不过了。理解 TeX 引擎是可编程的，是真正把握 LaTeX、pdfTeX、pdfLaTeX、XeTeX、LuaTeX 等之间差异的关键。每个 TeX 引擎（程序）都能理解数百个所谓的 *原始* 命令。从这个意义上说，原始并不意味着“简单”或“朴素”，它指的是这些命令是 TeX 语言的基本构件。一个简单但并不完全准确的类比，是某种语言的字母表：字母表中的单个字符不能再分解为更简单的实体；它们是构成单词、句子等的基本构件。

## 最后：从 TeX 到 pdfTeX、XeTeX 和 LuaTeX

先简单回顾一下。当 Knuth 编写最初版本的 TeX 时，他为它提供了他认为足以满足复杂文本和数学排版需求的特性与能力，这些需求是基于当时的技术环境——包括计算机的处理能力和内存、字体技术以及输出设备。Knuth 对 TeX 的规范包括其内部/编程设计（以及排版算法），当然还包括定义用于“标记”待排版材料的 TeX 语言。这里所说的“定义 TeX 语言”，就是定义 TeX 引擎能够理解的数百个原始命令集合——以及当 TeX 引擎在处理输入文本时遇到这些原始命令之一时所采取的动作。

当然，技术环境会不断演进：计算机越来越快，存储/内存越来越大；新的字体技术不断发布（Type 1、TrueType、OpenType）；文件输出格式也在演变（例如从 PostScript 转向 PDF），而 Unicode 成为了文本编码的主流方式。自然，TeX 用户也希望支持这些新技术——同时还要增加 Knuth 原始 TeX 程序中没有的新功能。

如前所述，在 20 世纪 80 年代，Knuth 决定冻结他对 TeX 的开发：不再在他的版本中添加新功能。由于确实有必要更新/现代化 Knuth 的原始软件，TeX 编程专家们便拿起 Knuth 的原始源代码，对其进行增强，以增加新功能并支持现代排版技术。这些新的 TeX 版本不仅提供了额外功能（例如直接输出 PDF、支持 OpenType 字体），它们也扩展并改造了 TeX 语言：在 Knuth 原始的命令集基础上增加了新的原始命令，从而为用户提供更强的编程能力和灵活性，以控制并利用新 TeX 排版引擎中内置的附加功能。

每个新的 TeX 引擎都会被赋予自己的名称，以将其与 Knuth 的原始软件区分开来：因此你现在有了 pdfTeX、XeTeX 和 LuaTeX。这三种 TeX 引擎彼此并非 100% 兼容，完全可能准备出一种输入，它能被某个 TeX 引擎处理，却不能在其他引擎上工作——仅仅因为某个特定的 TeX 引擎可能支持而其他引擎不支持某些原始命令。不过也并非毫无办法：这就要进入 TeX 宏的世界了！

### 原始命令并非全部：TeX 宏

我们已经提到，每个 TeX 引擎都支持一组特定的低层命令，称为原始命令——但这还不是全部。当然，许多相同的原始命令在所有引擎中都受支持，但也有一些是某一特定引擎独有的。TeX 的真正力量和精妙之处来自所谓的 TeX 宏。引擎 TeX 语言中的原始命令可以组合起来定义新的命令（称为宏），这些命令由低层原始指令和/或其他宏的组合构成。TeX 宏允许用户定义能够执行复杂排版操作的新命令，从而节省大量时间、输入工作以及编程错误。此外，TeX 引擎还提供原始命令，可用来判断当前使用的是哪一种 TeX 引擎来排版文档——这样，TeX 引擎就可以根据它遇到的某个特定原始命令是否受支持，动态地调整其行为。如果某个原始命令不能被直接支持，但可以通过其他原始命令的组合来“模拟”，通常就没问题——但如果所选的 TeX 引擎确实无法处理某个原始命令，那么排版就会失败并报告错误。毕竟，TeX 语言归根结底是一门编程语言，只不过它是为解决排版问题而设计的；但作为一门编程语言，TeX 极其晦涩，并且与今天你可能接触到的大多数编程语言截然不同。

### 那么，最后，LaTeX 是什么？

我们已经谈到了 TeX 引擎的各种版本——从 Knuth 最初的 TeX 到其后代 pdfTeX、XeTeX 和 LuaTeX，并简要讨论了作为排版语言的 TeX：原始命令、编程以及编写宏的能力。最后，我们现在可以讨论 LaTeX 了。为个人用途编写单独 TeX 宏的自然延伸，是准备一组其他人也能使用的宏——一个宏包，提供一些有用的工具和命令，让其他（La）TeX 用户受益。而这正是 LaTeX 的本质：它是一大组复杂而精密的宏，旨在帮助你排版书籍、期刊论文等。它提供了大量功能，用来控制页面版式、字体以及无数其他排版细节。不仅如此，LaTeX 还被设计成可扩展的：你可以接入额外的、更专业的宏包，它们是为解决特定排版问题而编写的——例如生成排版精美的表格、排版特别复杂的数学形式、化学结构图等等。如果你访问 [Comprehensive TeX Archive Network](https://www.ctan.org) 你可以从成百上千个宏包中选择——如果不是上千个的话——这些宏包由世界各地的用户编写并贡献。

因此，如果有人说他们是用 LaTeX 来排版自己的作品，那么他们只是在告诉你故事的一部分。其真正含义是，他们正在将 LaTeX 宏包与某个特定的 TeX 引擎一起使用——通常是 pdfTeX，但也可能是 XeTeX（用于多语言工作）或 LuaTeX（也许用于高级的定制文档制作）。你经常会看到诸如 pdfLaTeX、XeLaTeX 或 LuaLaTeX 这样的术语：但这些实际上并不是 TeX 引擎的名称，它们只是表明 LaTeX 宏集合是由哪一种 TeX 引擎来运行的：

* pdfLaTeX 表示将 LaTeX 宏包与 pdfTeX 引擎一起使用
* XeLaTeX 表示将 LaTeX 宏包与 XeTeX 引擎一起使用
* LuaLaTeX 表示将 LaTeX 宏包与 LuaTeX 引擎一起使用

例如，说“我正在使用 pdfLaTeX”其实就是在说“我正在使用 LaTeX 宏包准备我的排版文档，并由 pdfTeX 引擎对其进行处理”。同样，如果有人对你说他们“在用 TeX”，那么你现在应该能看出，这个说法大概并没有告诉你全部情况——除非他们用的是 Knuth 的原始 TeX 版本，而如今这种情况相当少见。

## 从 TeX 引擎到 TeX 安装包

我们已经简要回顾了 TeX 的历史，并看到它的现代衍生版本——pdfTex、XeTeX 和 LuaTeX——为 Knuth 的原始软件增加了许多新特性和功能。为了结束我们的讨论，我们再快速看看三种最流行的 TeX 引擎，并简要回顾一下 TeX 安装包。

### pdfTeX、XeTeX 和 LuaTeX 的主要特性

以下是 *一些* 最流行的三种 TeX 引擎所提供的关键特性总结：

* **pdfTeX**：顾名思义，它提供直接输出 PDF 的能力，使用户无需将 TeX 的原生 DVI 格式转换为 PostScript，再通过 GhostScript 或 Acrobat Distiller 转换为 PDF（注：一些用户也会通过 dvipdf 等工具从 DVI 转到 PDF）。pdfTeX 还对 TeX 的排版进行了改进——例如边缘压缩（字符外伸）。pdfTeX 由 Hàn Thế Thành 开发，其实现细节构成了他的博士论文基础 [TeX 排版系统的微排版扩展](https://www.tug.org/TUGboat/tb21-4/tb69thanh.pdf).
* 首次发布日期（按发布说明记录）：2001 年 8 月
* 更多信息： [www.tug.org/applications/pdftex](http://www.tug.org/applications/pdftex)
* **XeTeX**：它引入了直接读取/输入以 UTF-8 编码保存或创建的 TeX 文件的能力，并增加了对多语言排版的复杂处理——包括阿拉伯语等复杂文字脚本。一个特别有用的特性是，XeTeX 使 OpenType 字体的使用变得非常简单方便，而后续版本又增加了基于 OpenType 的数学排版。XeTeX 由 Jonathan Kew 开发，随后其后续开发工作由 TeX 社区的其他成员负责。
* 首次发布日期（维基百科）：最初仅支持 Mac OSX，2004 年 4 月
* 更多信息： <http://tug.org/xetex>
* **LuaTeX**：LuaTeX 可以说是所有 TeX 引擎中最强大、最灵活的一个，它源自 pdfTeX（此外还吸收了许多其他来源/库），并提供了显著的附加功能。其关键创新在于加入了 Lua 脚本语言，使得可以通过一种易于使用的脚本语言对 TeX 引擎进行非常精细的控制。它还支持 UTF-8 文本编码、基于 OpenType 的数学排版，以及对文本排版中 OpenType 字体的非常高级的使用——尽管其机制与 XeTeX 所采用的不同。LuaTeX 还集成了 MetaPost 图形语言，使用户能够充分利用 MetaPost 复杂的绘图能力。除了书籍和期刊论文的排版之外，LuaTeX 也非常适合高级或定制化的文档工程——一个强大的特性是 LuaTeX 可通过用 C/C++ 编写并作为 .DLL（Windows）或 .so（Linux 上）加载的“插件”进行扩展。LuaTeX 由一个团队开发，其中包括 Hans Hagen、Taco Hoekwater、Luigi Scarso 等人。
* 首次发布日期：开发工作大约于 2006 年开始，经过多次 beta 版发布，最终于 2016 年 9 月发布 1.0 版本。它仍在进行非常活跃的开发。
* 更多信息： [www.luatex.org](http://www.luatex.org)

### TeX 安装包：TeX Live

你也许会想，用户是如何接触到各种基于 TeX 的排版程序以及相关的 LaTeX 宏包的？答案是使用一种所谓的 *TeX 发行版* ，用户可以下载并安装——现代 TeX 安装包所包含的内容早已不只是 TeX 排版引擎本身。多年来，世界各地的 TeX 用户在贡献了成百上千种字体以及大量专门的 LaTeX 宏包的同时，还开发并贡献了数量惊人的 TeX 相关工具和软件。这一庞大的软件集合由 TeX 社区的主要成员管理和更新，并最终形成每年发布一次的发行版 [TeX Live](https://www.tug.org/texlive/)——其中也会包含各受支持平台（Windows、Linux 等）的最新稳定版 TeX 引擎。基于 Windows 的用户经常使用另一个名为 [MiKTeX](https://miktex.org/).

## Overleaf：支持 LaTeX 生态系统

当然，如今的研究环境是一个高度互联、协作密切的环境——包括共同撰写和准备投稿论文。通过电子邮件分发和共享基于 LaTeX 的论文（包括相关图形或数据）可能令人沮丧——不仅有版本控制（和文件大小）的问题，还存在这样的现实可能性：一位或多位合著者所使用的 LaTeX 安装无法处理该 LaTeX 文件；例如由于缺少字体、可用宏包不同，或 LaTeX 版本过旧。合著者可能正在旅行，或暂时在一个无法使用 LaTeX 的地点工作。这些因素叠加起来，可能会造成相当令人沮丧的局面——尤其是在接近投稿截止日期时！希望为员工或团队提供 LaTeX 访问权限的学术机构或商业企业，可能需要安装并维护一套全面的、覆盖全企业的 TeX 系统。这可能是一项复杂的工作，也许还需要某个单一人员具备专业技能。如果你的 LaTeX 安装专家跳槽到别的工作，要找到替代者会是个挑战。TeX 安装包必须积极维护，因为 TeX 世界并不是静态的，你的安装包很快就会过时——这会让用户非常不满，因为他们可能需要利用更新或更先进的基于 TeX 的工具。新的和更新过的 LaTeX 宏包不断发布，额外的字体和 TeX 相关软件工具也在持续增加。此外，TeX 引擎，尤其是 LuaTeX，也在持续开发中。

### Overleaf：为作者和机构提供 LaTeX 解决方案

Overleaf 为作者及其所在机构提供一个基于云的 LaTeX 写作与项目管理系统——并由配备尖端 TeX 安装的强大服务器作为支撑。

#### Overleaf 面向作者

使用 Overleaf 基于浏览器的 LaTeX 编辑器，作者无论身在何处，都可以创建、共享、协作并管理他们基于 LaTeX 的项目。你所需要的只是互联网接入，以及一台带现代浏览器的设备。

Overleaf 提供了一种非常方便的方式来使用 LaTeX，其中包括：

* 不再需要通过电子邮件发送 LaTeX 文件和巨大的图形——只需将你在 Overleaf 上项目的链接发给同事，就可以开始协作和共享。
* 卓越的技术支持——如有关于使用 LaTeX 的问题，任何时候都可以联系我们。
* 合著者共享同一个 LaTeX 安装——无需依赖本地安装，也不必受制于过时的 LaTeX 系统。
* 让你的文档脱颖而出——可从大量现成可用的现代 OpenType 字体中选择，或者将额外字体上传到你的项目中。配合 fontspec 宏包使用，简单而方便。
* 无需你亲自运行 TeX 引擎——Overleaf 会替你完成。节省时间，并利用排版后 LaTeX 文档的快速实时预览；如果你愿意，也可以切换到手动刷新。
* 可将你的论文直接提交给参与的期刊和预印本服务，或者将整个 LaTeX 项目下载为单个 ZIP 文件，再转交给你选择的期刊。
* 访问一台功能齐全的 Linux 服务器：你在图形和文本处理方面可能需要的工具和实用程序——TeX 的 \write18 从未如此开心过！
* 选择用于处理 LaTeX 代码的 TeX 引擎，或者让 Overleaf 检测并使用最适合处理你文档的引擎。Overleaf 支持使用 pdfTeX、XeTeX、LuaTeX 和 dvipdf 进行 LaTeX 处理。

#### Overleaf 面向机构和企业

让你的社区和团队能够使用最先进的 LaTeX 安装——却无需承担任何管理开销。再也不用为 LaTeX 安装问题接到技术支持电话，也无需担心 Windows、Linux 或 Mac OS——尽情利用 Overleaf 的技术基础设施。你的 LaTeX 用户社区会珍视 Overleaf 提供的这套功能，它能帮助管理他们的 LaTeX 项目——从上传文件和图形，到共享项目链接，使团队能够在同一篇论文上协同工作。为研究人员提供出色的服务——促进合作，以支持最优秀的研究。感谢阅读本文，我们希望你从中找到了感兴趣的内容。如果你对 Overleaf 有任何疑问，欢迎随时 [联系我们](https://www.overleaf.com/contact)——Overleaf 团队期待收到你的来信。

祝（La）TeX 愉快！


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ayakaleaf-pro.ayaka.space/latex/zh-cn/shen-du-wen-zhang/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
