TeX 发行版和引擎

TeX 发行版和引擎

在 wikibooks 上阅读有关 LaTeX 的内容时,我偶然发现了 TeX 引擎和发行版这两个术语。之前有一篇帖子说 TeX 引擎是、、、、。Knuth's TeX还说TeXLive是一个发行版。有人能解释一下这些术语吗?e-TeXpdfTeXXeTeXLuaTeX

答案1

TeX 最初是一个由 Knuth 编写的独立程序(自然称为 TeX)。该程序仍然存在,但围绕它已经发展出许多基础设施:首先,它的“环境”得到了很大扩展;其次,程序本身也经过了各种修改。

扩展的环境主要以 LaTeX 为中心,LaTeX 是一种允许特定风格的 TeX 编程的“格式”,旨在使人们更容易将文档的外观与其内容分开考虑。它的一个特点是它支持包含扩展其功能的附加软件包,目前 ctan.org 上有数千个这样的软件包。这些软件包构成了 TeX“发行版”的大部分;它们可以根据您的意愿安装,有时也可以按需安装,具体取决于发行版(例如,MikTeX 就是这样做的)。好吧,它们和 TeX 需要的大量字体,使您的文档中包含任何内容。

该环境还包括许多实用程序,例如 dvipdf(m)(x)(该实用程序已多次更名),它将 DVI 文件(原始 TeX 的默认输出格式)转换为 PDF 文件。这些也是 TeX 发行版的一部分。

TeX 也通过重新设计得到了扩展,产生了新的“引擎”:eTeX 增加了一些编程功能;XeTeX(据我所知)旨在更好地处理非英语语言和现代字体;pdfTeX 直接输出 PDF 文件并支持许多只有在 PDF 中才可能实现的功能(每个人都以该microtype软件包为例,因为这是最初的动机;它对文本行的布局进行了几乎看不见但非常有吸引力的更改);LuaTeX 是下一代 pdfTeX,在提供现代编程语言的编程功能方面比 eTeX 走得更远。

简而言之:TeX 引擎是一个程序,它可以将您的文件转换成一个漂亮的文档,而 TeX 发行版是让一切正常工作的设置。

答案2

TeX 是一台机器,如果没有像

(plain)tex
latex
pdftex
pdflatex
xetex
xelatex
luatex
lualatex

你可以将它与 C 编译器进行比较,如果没有附加参考书目,C 编译器也几乎毫无用处。Knuth 自己创建了宏包 plainTeX,以使 TeX 的基本功能更加有用。

发行版提供了所有这些引擎的环境:配置、包、字体、附加程序(如 bibex、biber、makeindex)...

相关内容