> For the complete documentation index, see [llms.txt](https://overleaf-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://overleaf-pro.ayaka.space/latex/zh-cn/shen-ru-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 的数学字体（微软 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 的诞生：简要历史

美国历史学家 [丹尼尔·J.·布尔斯廷](https://en.wikipedia.org/wiki/Daniel_J._Boorstin) 曾经指出：

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

与这句话的精神一致，我们将从 TeX 的简短历史开始：它从何而来，是谁创造了它——以及为什么？

1977 年 3 月 30 日，斯坦福大学计算机科学家唐纳德·克努斯教授的日记中记录了以下一则笔记，用来表达他对刚收到的自己书系第二卷排版校样质量的不满 *《计算机程序设计艺术》*:

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

上面的引文出自 [《数字排版》](https://www.amazon.co.uk/Digital-Typography-Language-Information-Publication/dp/1575860104) 第 482 页，作者为唐纳德·E·克努斯。克努斯教授日记中的那一小段记录，标志着一段持续多年的编程旅程的起点，最终催生了能够生成极其精美的数学排版，当然也能生成漂亮文本排版的软件：克努斯将这个程序命名为 *TeX*.

克努斯是一位杰出的计算机科学家，在开发 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 开发的一部分，克努斯需要与他的排版软件配套使用的字体，因此他开发了自己的字体技术，称为 MetaFont——不过这里我们不会详细讨论它。

### TeX 取得了巨大成功

有许多原因促成了 TeX 的流行，包括：

* *高质量排版*：除了 TeX 内置的复杂算法之外，克努斯对排版细节的极端关注，使 TeX 能够生成非常高质量的数学和文本排版。
* *TeX 是可编程的*：克努斯为 TeX 提供了自己的编程语言。用户可以编写“TeX 宏”（一组 TeX 命令），从而对 TeX 的排版过程拥有极大的控制权。TeX 的可编程性是一个重要主题，我们将在下面更详细地讨论。
* *TeX 是免费的*：克努斯免费提供 TeX——包括它的源代码（即程序代码）。
* *可移植性*：克努斯在 TeX 的内部设计上进行了精心工程化处理，以确保它具有高度可移植性，能够运行于许多不同的计算机系统。对于相同的输入，TeX 无论运行在哪个系统上都会产生相同的输出——这包括生成相同的断行和分页。

作者们对此感到欣喜，因为 TeX 使数学家、物理学家、计算机科学家以及其他人都能够精确控制其作品的排版和外观。作者可以用 TeX 写文章或书籍，并将手稿（TeX 文件）提交给出版商，这样就会比 1977 年克努斯所遭遇的情况更有信心，认为他们的校样不会落得同样的命运。

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

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

如今，在 TeX 这个决定性诞生时刻过去大约 40 年后，克努斯仍然会定期对 TeX 的主源代码进行错误修复——该源代码可从 [CTAN（综合 TeX 归档网络）](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 年！在这些调整中，克努斯不会给 TeX 增加新功能，它们确实只是错误修复——尽管许多人认为 TeX 是世界上最没有 bug 的程序。

**关于 TeX“版本”的说明**：在撰写有关 TeX 的文章时，必须强调一点：严格来说，只有一个权威的“TeX”版本：也就是克努斯编写并维护的那个版本。事实上，“TeX”（以其排版后的标志形式表示）是美国数学学会的商标。克努斯并没有排除或阻止他人使用他的代码来开发 *基于 TeX 的*软件——在克努斯选择实现的功能之外扩展其软件以增加特性和功能。不过，克努斯当然有绝对权利，他确实提出了一个强有力的规定，可在 TeX 的源代码中找到：

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

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

尽管克努斯冻结了开发，但人们对新的 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，但到 20 世纪 90 年代中期，随着 PDF 成为首选输出文件格式，PostScript 的地位开始被取代。当然，TeX 还面临着一个已经有了互联网的世界中的位置问题。然而，尽管存在这些不足，TeX 的许多核心算法——断行与对齐、断字以及数学排版——仍然无人能及。开发者希望在 TeX 的优势基础上继续发展，但同时更新那些世界已经向前走、而 TeX 确实需要跟上的领域。

### 名字里有什么？

已经形成一种惯例：源自 TeX 的软件会在“TeX”一词前加上前缀来命名，从而得到诸如 **pdf**TeX、 **Xe**TeX 和 **Lua**TeX 这样的程序名。虽然这些程序都源自克努斯最初的 TeX 软件，但它们包含了一些在克努斯原始版本中并不存在的特性和功能。这些可执行程序通常统称为 **TeX 引擎**——可以把它们看作是 *驱动* 排版过程的软件。本文末尾提供了对 pdfTeX、XeTeX 和 LuaTeX 的简要说明。

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

我们已经提到，源自克努斯软件的基于 TeX 的程序会有诸如 pdfTeX 或 XeTeX 这样的名字；自然，你可能会以为 LaTeX 只是克努斯软件的另一个版本。遗憾的是，事情并没有那么简单。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 你希望它做什么。一旦你写好了 TeX 文件，例如 mybook.tex，然后你让 TeX 去处理它，如果一切顺利，输出就会是一个排版精美的文档“mybook.pdf”。

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

我们现在可以开始看出，TeX 实际上是一种排版软件，用户可以通过提供用一种特殊编程语言编写的指令来控制它。你应该把“TeX”看作一个可执行程序（排版引擎），而它可以通过你用 TeX 排版语言编写的指令来控制。当然，因为 TeX 是由一种编程语言来控制的，所以总会有犯错的可能——你在 TeX 文件中的错误，可能会让 TeX 无法理解，或者干脆得不到你预期的结果。这是 TeX 相关软件用户每天都会太熟悉的一种“乐趣”。理解 TeX 引擎是可编程的，是真正把握 LaTeX、pdfTeX、pdfLaTeX、XeTeX、LuaTeX 等之间差异的关键。每个 TeX 引擎（程序）都能理解数百个所谓的 *原始* 命令。这里的原始并不是指“简单”或“不复杂”，而是指它们是 TeX 语言的基本构件。一个简单但并不完全准确的类比是某种语言的字母表：字母表中的单个字符不能再分解为更简单的实体；它们是构成单词、句子等的基本构件。

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

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

自然，技术环境会演变：计算机变得更快、存储/内存更大，新的字体技术不断发布（Type 1、TrueType、OpenType），文件输出格式也在演进（例如从 PostScript 迁移到 PDF），而 Unicode 则成为编码文本的主流方式。自然，TeX 用户希望这些新技术都能得到支持——此外还希望增加克努斯最初的 TeX 程序中没有的新特性和功能。

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

每个新的 TeX 引擎都会被赋予自己的名称，以区别于克努斯的原始软件：因此你现在有了 pdfTeX、XeTeX 和 LuaTeX。这三个 TeX 引擎彼此之间并非 100% 兼容，因此完全可能准备一种输入，它能被某个 TeX 引擎处理，却无法在其他引擎上运行——原因只是某个特定 TeX 引擎支持其他引擎不支持的原始命令。不过也不全是坏消息：欢迎进入 TeX 宏的世界！

### 原始命令并不是全部：TeX 宏

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

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

我们已经谈到 TeX 引擎的各种版本——从克努斯最初的 TeX 到它的后代 pdfTeX、XeTeX 和 LuaTeX，也简要讨论了 TeX 作为一种排版语言：原始命令、编程以及编写宏的能力。最后，我们现在有条件来讨论 LaTeX。为个人使用而编写单个 TeX 宏的合理扩展，是准备一组其他人也可以使用的宏——一个宏包，它提供一些有用的工具和命令，让其他（La）TeX 用户也能从中受益。而这恰恰就是 LaTeX：它是一个庞大而复杂的宏集合，旨在帮助你排版书籍、期刊论文等等。它提供了丰富的功能来控制页面布局、字体以及无数其他排版细节。不仅如此，LaTeX 还被设计为可扩展的：你可以插入额外的、更加专门化的宏包，这些宏包是为解决特定排版问题而编写的——例如生成排版精美的表格、排版特别复杂的数学公式、化学结构图等等。如果你访问 [综合 TeX 归档网络](https://www.ctan.org) 你可以从数百甚至数千个由全球用户编写并贡献的宏包中进行选择。

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

* pdfLaTeX 表示使用 pdfTeX 引擎配合 LaTeX 宏包
* XeLaTeX 表示使用 XeTeX 引擎配合 LaTeX 宏包
* LuaLaTeX 表示使用 LuaTeX 引擎配合 LaTeX 宏包

例如，说“我正在使用 pdfLaTeX”就意味着“我正在使用 LaTeX 宏包准备我的排版文档，并用 pdfTeX 引擎进行处理”。同样，如果有人对你说他们正在“使用 TeX”，那么你现在应该能看出，这种说法大概并没有告诉你全部情况——除非他们使用的是克努斯最初版本的 TeX，但如今这相当不太可能。

## 从 TeX 引擎到 TeX 安装

我们简要探讨了 TeX 的历史，并看到它的现代衍生版本——pdfTex、XeTeX 和 LuaTeX——已经为克努斯的原始软件增加了许多新特性和功能。为了收尾，我们将快速看一下三种最流行的 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**：可以说是所有 TeX 引擎中最强大、用途最广泛的，LuaTeX 源自 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 年，随后发布了许多测试版，最终在 2016 年 9 月推出了 1.0 版本。它仍在非常活跃地开发中。
* 更多信息： [www.luatex.org](http://www.luatex.org)

### TeX 安装：TeX Live

你可能会想，用户究竟是如何获得各种基于 TeX 的排版程序以及相关的 LaTeX 宏包的？答案是使用所谓的 *TeX 发行版* ，用户可以下载并安装——现代 TeX 安装包现在包含的内容已经远不止基于 TeX 的排版引擎。多年来，世界各地的 TeX 用户开发并贡献了令人惊叹的大量 TeX 相关工具和软件，以及数百种字体，当然还有数量庞大的专门 LaTeX 宏包。这个庞大的软件集合由 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://overleaf-pro.ayaka.space/latex/zh-cn/shen-ru-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.
