LaTeX 2020-02-02 的第二个(也是最终的)预发布版本可供测试
几天前,我们向 CTAN 提交了一个新的 LaTeX 开发格式,现在使用 MikTeX 或 TeX Live (在任何操作系统上) 的所有用户都应该可以使用它了。
此格式允许您使用您的文档或软件包测试计划于 2020-02-02 发布的新 LaTeX 版本。这种测试对于软件包维护者来说尤为重要,以验证核心 LaTeX 的更改是否与现有代码引入了不兼容性。我们尝试事先识别任何此类问题,但是这样的工作必然是不完整的,这就是为什么我们要求用户进行测试。
除了开发人员,我们还要求普通用户试用新的候选版本,因为测试新格式的人越多,在 2 月份最终版本发布之前发现任何隐藏问题的机会就越高。
使用预发布版本处理您的文档非常简单。您只需通过将 -dev
附加到可执行文件来替换调用命令,例如,在命令行中,您将运行
pdflatex-dev myfile or lualatex-dev myfile or xelatex-dev myfile
而不是使用 pdflatex
、lualatex
或 xelatex
。如果您使用集成编辑环境,那么如何配置它以使用替代格式取决于系统;但在任何情况下,必要的修改都应该很简单。
请立即测试 - 这是在 2020-02-02 主要版本之前的最终预发布版本
我们要求您立即测试,因为此预发布版本(除了一些进一步的文档改进外)代表了我们希望在 2 月份推出的 2020-02-02 版本。
如果您遇到任何问题,请在我们的 LaTeX2e 问题跟踪器 上提交错误报告。
2020-02-02 预发布版本 3 的主要功能
由于技术原因,第二个预发布版本被标记为 “预发布版本 3”。预发布版本 1 仅在 CTAN 上存在了几个小时,因为它由于构建过程中的问题而缺少一些文件,但由于它已经在 CTAN 上,我们不得不增加预发布版本号。
改进了选择和管理现代字体的功能
现在许多现代字体都提供额外的字体外观,例如,小型大写意大利体或压缩字体系列等。为了更好地支持这些字体,NFSS(LaTeX 的新字体选择机制)通过整合来自 mweights
、fontaxes
和 fontspec
软件包的想法进行了扩展。此外,以前通过 textcomp
软件包提供的所有符号现在都可以直接使用,并且改进了 \oldstylenums
的使用。
我们还修复了一些较小的错误。新功能和错误修复的详细描述可以在 ltnews31
的草稿版本中找到,如果您的计算机上安装了预发布版本,您可以通过 texdoc ltnews31
访问它。
先前预发布版本中已提供的主要功能
以下是在第一个预发布版本中较早提供的主要功能的摘要。
一个新的 LuaTeX 引擎即将推出…
在 TeXLive 2020 中,LuaLaTeX 格式将始终使用新的 LuaHBTeX 引擎,它是带有嵌入式 HarfBuzz 库的 LuaTeX。可以通过在字体声明中设置合适的渲染器来使用 HarfBuzz。fontspec
软件包提供了该接口。这种额外的字体渲染器将大大改善各种脚本的塑形,而目前只有 XeTeX 才能正确处理这些脚本。
为了简化新引擎的测试,必要的executables已添加到 MiKTeX 和 TeXLive 2019 中,并且两者都更改了 LuaLaTeX-dev 格式以使用它。这意味着您现在已经可以通过使用预发布版本来测试新引擎了!
即使您不需要新的 HarfBuzz 功能,运行一些测试也可能是值得的,因为从 2020 年开始,这将是唯一一个 LaTeX 格式将在 TeXLive 和 MikTeX 中分发的 LuaTeX 引擎。
改进了 expl3
的加载时间
LaTeX3 编程层 expl3
在过去十年中已从主要处于实验阶段转变为广泛稳定。现在它已在大量第三方软件包中显式或隐式地使用(例如,通过加载 xparse
来定义用户命令界面),因此许多文档在导言中的某个时刻加载了 expl3
代码。大多数使用 XeTeX 或 LuaTeX 编译的 LaTeX 文档加载了 fontspec
,它是使用 expl3
编写的,因此在这些引擎中几乎总是使用它。
expl3
层包含大量宏,并且当与 XeTeX 和 LuaTeX 引擎一起使用时,它会加载大量的 Unicode 数据。这意味着即使在快速计算机上,每当需要 expl3
时,也会有相对较大的加载时间损失。
对于此版本,该团队在 LaTeX 2e 内核中进行了调整,以便在构建格式时预加载 expl3
的重要部分。这在用户级别是透明的,除了文档处理时间显着减少之外:加载 Unicode 数据文件不会有 “暂停”。在文档和软件包中加载 expl3
可以像往常一样完成;在将来的某个时候,可以省略
\RequirePackage{expl3}
完全省略,但是,为了支持旧格式,目前仍然建议显式加载。
预发布版本在未来永远不会过时(我们希望如此)
我们将遵循的发布策略应确保 -dev
版本永远不会比主要版本旧。当发布完整的 2020-02-02 版本时,-dev
版本将更新为相同的格式,或者可能是下一个版本的预发布版本。届时它不会作为 2020-02-02 的预发布版本保留。
请提供有关预发布版本的更多详细信息…
有关这些概念和开发格式过程的更多详细信息和一些背景信息,请参阅 TUGboat 文章
LaTeX 发布工作流程和 LaTeX 开发格式
- Frank Mittelbach
- TUGboat 40:2, 2019
- 摘要
您如何防止创建香蕉软件(即在客户现场才成熟的软件)?通过适当的测试!但这绝非易事。
本文将概述 LaTeX 项目团队多年来为提供高质量软件所做的努力,并解释我们今年夏天为进一步改善情况所做的更改。
祝您使用愉快 — Frank