LaTeX2(e) 与 LaTeX3

LaTeX2(e) 与 LaTeX3

我对 LaTeX 的不同版本有一些疑问。

  1. LaTeX3 是否完全向后兼容?
  2. LaTeX2(e) 被弃用了吗?
  3. 安装 MiKTeX 或 TeX Live 时我会获得哪个版本的 Latex?2 还是 3?
  4. LaTeX3 增加了哪些新功能?

答案1

LaTeX3。至少在 2022 年 10 月撰写此答案时。而且,未来几年内不会有 LaTeX3,甚至永远不会有。

几年来,LaTeX 一直使用 2.09 版本(由 Leslie Lamport 编写和维护的最后一个版本)。然而,为了改进字体访问并允许将 AMS-TeX 集成到 LaTeX 中,开发是必要的。因此,Lamport 将维护工作交给了 Frank Mittelbach 领导的团队,一段时间后,确定的发布了 LaTeX 的一个版本,称为 LaTeX2 ε。 ε 表示该版本除了错误修复外是最终版本(这是一个数学笑话,因为 ε 用于表示第一个不可数序数,因此在某种意义上是无法到达的)。 这是 1995 年。

此后不久,LaTeX 的未来版本(称为 LaTeX3)的研发工作就开始了,但由于硬件限制而停滞了很长时间:在第三个千年的最初几年,个人计算机的速度还太慢,以至于团队的(非常巧妙的)想法无法合理地实现。

随着时间的推移,硬件限制逐渐消失,并且由于招募新的团队成员(特别是 Joseph Wright 和 Bruno Le Floch),开发重新开始。

这个想法是,LaTeX3 应该基于一个更高效、更强大的“新编程层”。在此层的顶部,通过为最常用的结构提供工具,可以更轻松地编写内核和软件包,并避免冲突。(阅读软件包代码时,人们常常会惊讶地发现,同一个编程工具被重新创建了多少次,名字不同;有时甚至会损害其他软件包。)

与此同时,由于新的需求(例如对 Unicode 的支持以及新引擎 pTeX、XeTeX 和 LuaTeX), LaTeX2 ε也得到了开发。CTAN 上贡献的软件包越来越多。

“纯” LaTeX3 内核几乎不可能加载不经更改的 LaTeX2 ε包,除非该内核包含所有的 LaTeX2 ε内核。

因此,几年前,团队决定放弃全新 LaTeX3 的想法,并逐步将新的编程层(现在称为expl3)集成到 LaTeX2 ε内核中。

如今,越来越多的软件包利用了expl3编程层,而且未来这种趋势还会增加。

回答您的问题:

  1. 没有 LaTeX3;
  2. LaTeX2 ε是最先进的;
  3. 您将获得唯一可用的版本,即 LaTeX2 ε
  4. 每六个月,LaTeX2 ε都会添加新功能和错误修复;您可以查阅 ltnews ( texdoc ltnews) 来查找它们并获取指向更新文档的指针。团队始终非常小心,不会引入向后不兼容的问题。

相关内容