LaTeX 项目徽标The LaTeX Project

2018 年出版物

dashundergaps 宏包


widows-and-orphans 宏包


在 LaTeX 中管理孤立的段落行(又名孤行和寡行)

本文讨论了孤行和寡行的排版问题,即由于分页符而与段落其余部分分离的段落的首行和末行。

给出了关于如何最好地避免这些情况以及如何在出现这些情况时管理和解决它们的实用建议。最后一部分讨论了宏包 widows-and-orphans,它将通过自动识别和突出显示较长文档中的问题位置来在此处提供帮助,实际上不仅适用于孤行和寡行,还适用于跨页面断开的连字符单词或与其前面的段落分离的数学显示。


在 expl3 中支持颜色和图形

在过去的十年中,expl3 语言不断发展壮大,涵盖了广泛的编程任务。然而,目前在许多领域,expl3 几乎没有或根本没有“核心”支持,这些领域将需要此级别的功能。在这里,我将特别关注一个方面:颜色和图形支持。

另请参阅 IMPA 在 YouTube 上录制的会议演讲视频:穿过镜子,约瑟夫在那边发现了什么


宏包和类的回滚概念

一篇讨论宏包和类的新回滚概念的文章。与 latexrelease 宏包一起,这构成了 LaTeX 世界全面的发布管理和兼容性解决方案。

另请参阅 IMPA 在 YouTube 上录制的演讲视频:什么会留下,什么会消失——LaTeX 世界中的兼容性 以及相应的讲义 LaTeX 世界中的兼容性



2018 年 TUG 会议(巴西里约热内卢)

带有 fontspec 和 unicode-math 的 Unicode 字体(幻灯片)

虽然 fontspecunicode-math 宏包的基础知识保持不变,但这些宏包在幕后经历了大量的开发。虽然许多用户对技术细节不感兴趣,但有一些功能添加值得更广泛的讨论。

在本次演示中,我将介绍这些宏包的基础知识和使用它们的最佳实践,特别是包括用户可能尚未看到的新功能。我还将尝试概述一些技术细节,重点关注 expl3 宏包开发和经验教训。

IMPA 在 YouTube 上录制的演讲视频:带有 fontspec 和 unicode-math 的 Unicode 字体


LaTeX 世界中的兼容性(讲义)

在本次演讲中,我将回顾过去几十年震撼 LaTeX 世界的重大中断以及我们如何处理它们,涵盖一些由此产生的后果。

在这个传奇的最新部分中,为 LaTeX 内核引入了回滚概念(大约在 2015 年)。提供此功能使我们能够对软件进行更正(这在近二十年中几乎没有发生过),同时继续最大程度地保持向后兼容性。

我将解释我们如何将此概念扩展到最初未涵盖的宏包和类的世界。由于类和扩展宏包与内核相比具有不同的要求,因此方法也不同(且简化)。这应该使宏包开发人员可以轻松地将其应用于他们的宏包,并使作者在必要时可以使用它。


siunitx:过去、现在和未来(幻灯片)

在过去的十年中,siunitx 已成为 LaTeX 中排版物理量的主要宏包。在这里,我将回顾该宏包的背景,以及它多年来的发展历程。我还将阐述未来的计划:版本 3 将走向何方,以及为什么这对用户很重要。

发表于 TUGboat 39:2, 2018 的会议论文:siunitx:过去、现在和未来

IMPA 在 YouTube 上录制的演讲视频:siunitx:过去、现在和未来


穿过镜子,约瑟夫在那边发现了什么(幻灯片)

LaTeX3 编程语言 expl3 在过去十年中不断发展壮大,形成了一个强大而稳定的环境,用于解决 TeX 中的问题。一个关键目标是扩展这项工作,以涵盖更广泛的领域。在最近的工作中,该团队一直在现有代码的基础上进行构建,特别是可扩展的 FPU,以开发颜色、绘图和图像支持的方法。在本次演讲中,我将探讨为什么这项工作有用,我们可以从哪些模型入手,以及这项工作迄今为止将我们带向何方。

发表于 TUGboat 39:2, 2018 的会议论文:在 expl3 中支持颜色和图形

IMPA 在 YouTube 上录制的演讲视频:穿过镜子,约瑟夫在那边发现了什么


doc 四分之一世纪(讲义)

在本次演讲中,我将重新审视我对文学编程的拙劣尝试,以及它们在过去几十年中如何塑造(无论是更好还是更坏)LaTeX 世界。现在是时候重新思考那时发明的一些概念了——但我们还能继续发展吗?

IMPA 在 YouTube 上录制的演讲视频:什么会留下,什么会消失——doc 四分之一世纪(我搞砸了开头,所以真正的演讲从 00:02:30 开始)


使用 LaTeXML 为 Canvas 学习管理系统创建教学材料(幻灯片)

在本次演示中,我将概述我为阿德莱德大学机械工程学院的荣誉项目学生制作课程材料的 PDF 和 HTML 版本的系统。

本课程材料内容广泛且相对动态,因为它既需要频繁更新,也需要定期更新,并且软性需求是使其以单个文档 PDF 和超链接 HTML 版本的形式提供。有很多工具可以执行此类任务,而 LaTeXML 因其稳健性和相对简单性而被选中。尽管如此,处理阶段确实涉及一些正则表达式来清理生成的 HTML,这从维护的角度来看并不理想。

在后端,如果没有我们使用的学习管理系统 Canvas by Instructure 提供的 API,这个项目就不可能完成。Web API 允许从命令行更新 HTML 页面以及自动上传 PDF 文件。

该系统允许我为课程文档使用单一来源,并使更新几乎完全无摩擦。虽然仍然由许多技术(主要是 curl 和 shell 脚本)拼凑而成,但它提供了一个可以扩展以供更通用使用的接口。

未来,除了用 Lua 重写代码以实现跨平台功能外,我还计划克服涉及嵌入文本图形和一般数学内容的问题。

发表于 TUGboat 39:2, 2018 的会议论文:Canvas 学习管理系统和 LaTeXML

IMPA 在 YouTube 上录制的演讲视频:使用 LaTeXML 为 Canvas 学习管理系统创建教学材料


带我飞向月球:(La)TeX 使用 Lua 进行测试(以及更多)(幻灯片)

测试自 LaTeX 团队成立以来一直很重要,多年来,为内核创建了一套复杂的测试文件。运行测试的方法在过去的四分之一个世纪中有所不同,这与团队工作方式的变化有关。

近年来,Lua 作为所有 TeX 系统中的脚本语言的可用性意味着它已成为支持这项工作的自然选择。以此为驱动力,该团队开发了 l3build 用于自动运行测试。在核心工作的基础上,l3build 已发展成为为可靠地发布宏包(和 LaTeX 内核)提供强大方法。

在这里,我将回顾我们的测试方法的背景,然后展示 Lua 如何以及为何在此处为我们工作。

IMPA 在 YouTube 上录制的演讲视频:带我飞向月球:(La)TeX 使用 Lua 进行测试(以及更多)




用于全局优化分页的通用 LuaTeX 框架(预同行评审版本)

这是文章的预同行评审版本,将在 12 个月的禁运期后替换为同行评审版本。根据 Wiley 自存档条款和条件,本文可用于非商业目的。

同行评审和发表的版本现已作为用于全局优化分页的通用 LuaTeX 框架(期刊版本)提供。

本文是 2016 年 ACM 文章“用于全局优化分页的通用框架”的扩展版本(37 页),提供了更多详细信息和附加研究结果。


TeX.StackExchange 精选:expl3

在本文中,Gregorio 展示了一些使用 expl3 构建的宏的示例,以回答用户在 tex.stackexchange.com 上提出的问题,以了解该语言的风格并描述其可能性。主题包括列表打印、字符串操作、宏创建和图形。


LaTeX 核心软件中报告错误的新规则

一篇讨论在核心 LaTeX 软件中报告错误的新工作流程的文章。它还涵盖了 LaTeX 源代码从 SVN 到基于 Git 的源代码控制系统的底层迁移,以及旧 LaTeX 错误数据库的退役。


按年份发布的出版物

通过选择目录中的条目,您将找到 LaTeX3 项目发布的各种文章和论文的便携式文档格式 (PDF) 版本的链接,以及其会议演示视频的链接。此列表中的某些内容是在“事后”组装的;如果您发现任何遗漏,请告知我们。

按主题发布的出版物

按主题发布的出版物页面上给出了不同的视图,其中出版物按重要主题排序。

项目成员和其他人的书籍

我们认为有用的书籍列表在书籍页面上给出。通过本网站购买文档,您可以支持项目成员的志愿工作,以保持 LaTeX 对您的有用性。