LaTeX 2021-11-15 第二个预发布版本可供测试

几天前,我们向 CTAN 提交了一个新的 LaTeX 开发格式,现在使用 MiKTeX 或 TeX Live(在任何操作系统上)的所有用户都应该可以使用它了。

LaTeX 2021-11-15 第二个预发布版本的主要特性

第一个预发布版本只是 2021-06-01 主要版本的副本,目的是避免定期使用开发版本的人们获得旧的格式。

第二个预发布版本现在提供了一些钩子管理的改进,这是开发者反馈和我们自己应用新功能的经验的结果。这包括一个行为上的重大更改(仅与软件包开发者相关),为此我们目前提供了兼容性代码。因此,现在不会有任何问题,但展望未来,需要使用新方法,因为在未来的某个时候,兼容性代码将被移除。

预发布版本中已包含的显著改进包括

  • 解决围绕新钩子功能的一些问题
    • 提供 \ActivateGenericHook;
    • 在调用之前清除“next”钩子代码的命令;
    • 一次性钩子后的清理;
    • 更改了 \RemoveFromHook 的行为;
    • 标准化通用钩子名称;
  • 其他改进
    • \tracinglostchars 获得了新的默认值
    • \PackageNote 被添加用于在终端上显示不是“警告”的注释
    • \ShowCommand 已扩展为显示使用 ltcmd (以前的 xparse) 定义的命令
    • \NewCommandCopy 也被扩展,以安全地将这些命令复制到新名称
    • \includegraphicsalt 键(预计未来发展)

与往常一样,还有许多较小的增强功能和一些错误修复。更重要的内容列在 “LaTeX2e 新闻第 34 期” 的草稿出版物中。完整列表在作为发行版一部分的 changes.txt 文件中给出。

进一步改进钩子管理

上面提到的重大更改涉及通用文件钩子的名称。它们过去使用特殊的命名约定,现在我们更改它们以使用与所有其他通用钩子相同的结构,也就是说,它们的“变量”部分(即文件或软件包名称)始终位于第二个位置。例如,要在加载 array 软件包后执行一些代码,您现在可以这样说

\AddToHook{package/array/after}{...code...}

就像您设置在每个 tabular 环境后执行的代码一样,使用

\AddToHook{env/tabular/after}{...code...}

目前,仍然支持旧的语法 package/after/array,因此,一旦主要版本发布和分发,使用此功能的软件包有时间适应新的约定。

钩子管理的其他改进(例如,让软件包实现通用钩子的功能)在 LaTeX2e 新闻第 34 期 和相关的内核文档中讨论。

展望

我们预计在十月下旬发布第三个也是最后一个预发布版本,其中将添加更多功能和增强功能。

请帮助进行测试

我们现在发布这个第二个预发布版本,希望您能帮助我们确保我们提供的所有增强功能和修复都是安全的,并且它们没有任何不良的副作用,因此如果可以,请帮助进行测试。

此开发格式允许您使用您的文档或软件包测试计划于 2021-11-15 发布的即将到来的 LaTeX 版本。这种测试对于软件包维护者来说尤为重要,以验证对核心 LaTeX 的更改是否与现有代码引入了不兼容性。我们尝试事先识别任何此类问题,但这样的工作必然是不完整的,这就是为什么我们要求用户进行测试。

除了开发者,我们还要求普通用户试用新版本,因为测试新格式的人越多,在最终版本发布之前发现任何隐藏问题的机会就越高。

使用预发布版本处理您的文档非常简单。您所要做的就是通过将 -dev 附加到可执行文件来替换调用命令,例如,在命令行中,您将运行

pdflatex-dev myfile    or    lualatex-dev myfile    or    xelatex-dev myfile

而不是使用 pdflatexlualatexxelatex。如果您使用集成编辑环境,那么如何配置它以使用替代格式取决于系统;但在任何情况下,必要的修改都应该是直接的。

享受吧 — Frank