是否有针对用户(非专家)的 LaTeX 3 过渡指南?

是否有针对用户(非专家)的 LaTeX 3 过渡指南?

令我永远恐惧的是,阅读埃格尔在其他帖子中,我发现 LaTeX 3 自 2020 年起就已纳入标准 LaTeX 内核。我完全错过了。这都怪奇怪的 COVID-19 年。

我认为我和其他最终用户(不是内部专家)也应该开始学习更多知识了。如果人们对此关注不够,那就太可惜了。有没有促进最终用户转型的文档?

据推测,它可以回答一些基本问题:

  1. 为什么 LaTeX 3 对最终用户来说比 LaTeX 2e 更好?
  2. 应该怎样学习使用它?
  3. 我现在应该做些什么不同的事情?

例如,大概我应该使用一些新命令(例如,\NewDocumentEnvironment而不是newenvironment)。

非常感谢您的指点。

PS:我希望最终用户定义的宏的名称空间允许尾随数字,但这似乎没有实现 :-(。

答案1

没有 LaTeX 3。发生的变化是,expl3最初被认为是“实验性 latex 3”的软件包已作为永久稳定的增强功能“L3 编程层”纳入 LaTeX 格式。

在每次作业的终端上,LaTeX 都会将其报告为:

LaTeX2e <2021-11-15> patch level 1
L3 programming layer <2022-02-05>

作为编程层,您不会期望“最终用户”直接使用它,但他们将使用使用这些命令编写的命令。

在此 L3 编程层中编写的值得注意的用户级命令包括

  • fontspec所以所有的字体处理LuaTeX特克斯

  • siunitx以实现数值和单位的一致显示。

  • ltcmd(LaTeX 格式的一部分,以前称为xparse\NewDocumentCommand和相关结构,为\newcommand

  • 新的钩子系统重新实现了诸如之类的钩子\AtBeginDocument,其中更多的钩子允许通过修补通用命令、环境和包\AddToHook

  • 新的键系统基于l3keys包,但提供了增强的键值系统,现在可供包编写者使用,既可用于命令,也可在最新版本中作为新的基于键值的包选项系统使用(这非常新,可能尚未被任何包使用)。

在较低层次上,该格式现在包括其他 L3 编程层模块,这些模块尚无用户级别界面,但l3color具有对类似的颜色系统的后端支持xcolorl3backend具有对图形包含的后端支持,可以允许重新实现graphicx,并支持链接,这应该允许内置对当前提供的功能的支持hyperref

目前,我们正在开展大量工作来改进 PDF 可访问性标记,所有这些工作都写在 L3 编程层中,但最终将不需要太多或任何“最终用户”操作。他们的文档应该会因为内部增强而生成更易于访问的 PDF。

上述代码全部由 LaTeX 团队成员编写,但 LaTeX 贡献者编写的其他软件包(例如新的扩展表格包)tabularray也或多或少使用纯 L3 代码编写。

请注意,关于名称解析的最终 PS 中,L3 编程层(如 LaTeX2e)不是新的可执行文件。它是用 TeX 编写的,并在具有相同原始行为的相同引擎上运行。因此,构成基本 TeX 令牌解析基础的 catcode 机制(该机制控制着命令名称中允许的字符的规则)保持不变。将数字字母(catcode 11)设为允许在命令名称中使用,使得它们很难在其他构造中使用,并且 L3 无法更改 TeX。

答案2

此外David 的详尽回答,需要注意的一点是usrguide3.pdf如果你寻找“作为用户,对我而言什么是相关的”。它将包含与 LaTeX 相关的补充内容(可能在 L3 编程层内部编写),并且新的

像往常一样,文档是一件很难的事情,所以这可能总是有些落后(例如,整个钩子管理系统只是到目前为止lthooks-doc---另一方面,这主要是程序员的兴趣,而用户的兴趣则较少。

另一个起点是查看ltnews.pdf(所有新闻通讯)或最近的新闻通讯,例如,ltnews30.pdf所有ltnews34.pdf可通过访问的新闻通讯 texdoc ltnews34等。

相关内容