有哪些功能是 TeX 可以做而 LaTeX3 做不到的?

有哪些功能是 TeX 可以做而 LaTeX3 做不到的?

抱歉,我问了这么一个笼统的问题,但说实话,我越来越讨厌用 TeX 编码,尽管我是 LaTeX3 的初级编码员,但我真的很喜欢使用它。

答案1

严格来说,正如评论中提到的,LaTeX3 是 TeX 的超集。因此,如果 TeX 提供了某些功能,那么它也可以在 LaTeX3 中提供。

LaTeX3 编程语法旨在使 TeX 编程的许多方面更加规范和可预测。正如您所注意到的,TeX 的编程风格非常孤岛(我认为最接近的非 TeX 类似物是 C 预处理器,而后者是非图灵完备的,功能不如 TeX 的宏语言)。LaTeX3 试图建立命名和语法的约定,以便在保留 TeX 功能的同时提高编程的表现力。问题的评论给出了一些很好的例子。

我认为,思考 LaTeX3 与 TeX 之间关系的最佳方式是将其与各种 JavaScript 库(例如 jQuery、Prototype、React、Angular 等)与纯 JavaScript 之间的关系进行比较。这些库以在 JavaScript 之上有效地创建一种新的编程语言为代价,对 JavaScript 有点难以驾驭的性质施加了一定程度的秩序,但纯 JS 中可以完成的任何事情都可以用这些库编写的代码访问,同样,LaTeX3 在 TeX 之上创建了一种新语言,同时在必要时保留对其功能的访问。

相关内容