1995 年至今的所有出版物
按年份出版物
通过选择目录中的条目,您将找到由 LaTeX3 项目发布的各种文章和论文的便携式文档格式 (PDF) 版本的链接,以及其会议演示视频的链接。此列表中的某些内容是“事后”整理的;如果您发现任何遗漏,请告知我们。
按主题出版物
在按主题出版物页面上给出了不同的视图,其中出版物按重要主题排序。
项目成员和其他人的书籍
我们认为有用的书籍列表在书籍页面上给出。通过本网站购买文档,您可以支持项目成员的志愿者工作,以保持 LaTeX 对您有用。
以下是所有出版物在单个页面上的完整列表,供喜欢滚动浏览的人使用。如果您喜欢按合理块查看,请在上面的目录中选择年份条目之一。
2023 年出版物
LaTeX 文档的自动标记在 2023 年的今天可能实现什么?
- Ulrike Fischer 和 Frank Mittelbach
- TUGboat 44:2, 2023
- 关键词:LaTeX,标记,可访问性
- 摘要
LaTeX 标记 PDF 项目于 2020 年春季启动,并由 LaTeX 团队在 2020 年在线 TUG 会议上向 TeX 社区宣布。这份简短报告描述了 2023 年 LaTeX 夏季版发布的多年项目的进展和状态。
关于 LaTeX 标记 PDF 工作坊的报告,TUG 2023
- David Carlisle, Ulrike Fischer 和 Frank Mittelbach
- TUGboat 44:2, 2023
- 关键词:LaTeX,标记,可访问性,表格标记
- 摘要
在正式会议日程的前一天下午,LaTeX 项目举办了一个由 Ulrike Fischer 领导的关于从 LaTeX 生成标记 PDF 的工作坊。工作坊参与人数众多,超过 30 人参加——软件包开发者和最终用户混合良好。我们感谢 DANTE e.V. 的慷慨资助。
工作坊分为三个部分。首先,对 PDF 中的标记进行一般介绍。其次,演示类或软件包维护者应采取的修改代码以生成良好标记的 PDF 的过程。acmart 类被用作示例,因为其作者 Boris Veytsman 出席了工作坊。最后,我们对结构化表格的问题和所需的语法进行了更开放的讨论。
TUG 会议 2023(德国波恩)
LaTeX 文档的自动标记——今天可能实现什么?
- Ulrike Fischer
- TUG 2023 德国波恩会议的视频
- 关键词:LaTeX,标记,可访问性
- 摘要
随着 2023 年夏季发布的 LaTeX 格式,现在可以从许多“Lamport 文档”中自动创建标记的 PDF:使用 Leslie Lamport 的 LaTeX 手册中描述的命令的文档。
在本次演讲中,我将展示什么是可能的,以及哪些仍然需要人工干预。我还将描述我们在技术方面以及在设计 LaTeX 结构和 PDF 标签集之间的映射时面临的一些挑战。
与 LaTeX 相伴 38 年——个人图片故事
- Frank Mittelbach
- TUG 2023 德国波恩会议的视频
- 摘要
正如标题所示,这是从我的角度看到的 LaTeX 图片故事的一部分。它展示了多年来的许多亮点,并将面孔与姓名联系起来——其中一些人在观众席上,但许多人不在。它基于我的照片档案中可用的内容,并且肯定带有偏见,但我仍然希望它对某些人来说是有趣的。
The LaTeX Companion,第 3 版——轶事和经验教训
- Frank Mittelbach
- TUG 2023 德国波恩会议的视频
- 摘要
在过去的五年中,我们投入了大量工作来制作新版的 The LaTeX Companion。在本次演讲中,我将谈论这项工作的某些方面、独特的挑战以及在此过程中学到的一些经验教训。
expl3 中的后端支持
- Joseph Wright
- TUG 2023 德国波恩会议的视频
- 关键词:LaTeX,expl3,后端
- 摘要
TeX 中的后端负责生成输出的 TeX 不知道的部分,例如颜色、图像包含和超链接创建。每个后端都有自己的语法和支持的概念范围,因此在宏级别,需要有适当的代码来“与后端对话”。在 expl3 中,我们基于 (La)TeX 开发者 30 多年来使用这些后端的经验,开发了一套一致的后端支持文件。在这里,我将回顾后端抽象的历史以及 expl3 中使用的模型。
Unicode 领域的进一步冒险:改进大小写转换
- Joseph Wright
- TUG 2023 德国波恩会议的视频
- 摘要
在 TeX 中正确处理 Unicode 文本是一个挑战,尤其是在希望支持 pdfTeX 的全部范围时。在过去的几年中,我一直在研究一个方面:大小写转换。执行 Unicode 大小写转换算法的代码已在几年前集成到 LaTeX 内核中。从那时起,我们一直在完善细节,增加更多功能并发现新问题。在这里,我将看看我们为使代码顺利运行所做的工作,并展望未来可能改进的地方。
在 TeX 引擎中存储 Unicode 数据
- Joseph Wright
- TUGboat 44:1, 2023
本文介绍了 LaTeX 采用的方法,用于在格式中存储 Unicode 数据,以便在文档中快速访问。
2022 年出版物
来自 PDF Days Europe,2022 年 9 月(柏林)
使用 LaTeX 的标记和可访问 PDF – 项目状态、成就和未来计划
- Frank Mittelbach 和 Ulrike Fischer
- 2022 年 9 月在 PDF Days Europe 上演讲的视频
- 关键词:LaTeX,标记,可访问性,项目状态
- 摘要
在 2020 年夏季,LaTeX 项目团队宣布启动一个多年项目 [1, 2],以从现有的 LaTeX 源生成标记和可访问的 PDF,无需或仅需最少的配置调整。在本次演讲中,我们将描述该项目的当前状态、现有成就以及我们未来的计划。
参考文献
[1] Frank Mittelbach, Ulrike Fischer 和 Chris Rowley: LaTeX 标记 PDF 可行性评估研究. LaTeX 项目,2020 年 9 月。[2] Frank Mittelbach 和 Chris Rowley: LaTeX 标记 PDF — 大型项目的蓝图. TUGboat 41(3):292–298, 2020.
本次演讲已录制,可在 PDFA 网站上观看。演示文稿的幻灯片在此处可用。
LaTeX 标记 PDF 项目 — 状态和进展报告
- Frank Mittelbach 和 Ulrike Fischer
- TUGboat 43:3, 2022
- 关键词:LaTeX,标记,可访问性,项目状态
- 摘要
LaTeX 标记 PDF 项目于 2020 年春季启动,并由 LaTeX 团队在(在线)2020 年 TUG 会议上向 TeX 社区宣布。这份简短报告描述了这个多年项目的进展和状态。
在 LaTeX 中添加 XMP 元数据
- Ulrike Fischer 和 Frank Mittelbach
- TUGboat 43:3, 2022
- 关键词:LaTeX,标记,可访问性,XMP 元数据
- 摘要
“LaTeX 标记 PDF 项目”的任务之一是评估现有的解决方案,以将 XMP 元数据添加到 PDF,并在需要时为此设计和实施新的标准接口。在本文中,我们将描述此任务的当前状态。
在 expl3 中映射到单个字符
- Joseph Wright
- TUGboat 43:3, 2022
关于处理字符的复杂性以及 LaTeX 编程层处理字符的方式的简短说明。
在 LaTeX 中使用专色
- Ulrike Fischer
- TUGboat 43:2, 2022
- 关键词:LaTeX,专色
- 摘要
在本文中,我回顾了我们在编写 The LaTeX Companion 第三版时获得的有关专色的一些实践经验。我描述了什么是专色,如何将它们用于文本和 (TikZ) 图形,如何正确混合它们,以及我们发现的一些陷阱以及我们如何解决它们。
LaTeX 内核中的键值设置处理
- Joseph Wright
- TUGboat 43:2, 2022
本文介绍了新的内核机制,用于处理在 2022-06-01 版本中引入的,使用键值方法的软件包和类选项。
Joseph 在 TUG 会议上展示的关于“内核中的键值设置处理 (2022)”的视频也可用。
大小写转换:LaTeX 进入 Unicode 领域
- Joseph Wright
- TUGboat 43:2, 2022
- 摘要
字母具有大小写的概念对于几种语言的使用者来说是熟悉的,最明显的是来自欧洲的使用拉丁字母、希腊字母或西里尔字母的语言。在大小写之间进行转换(大小写转换)是我们理所当然的事情,无论是对于人类还是计算机系统。但是,细致的实现需要考虑一些微妙之处……
本文介绍了管理这种复杂性的新内核机制。
Joseph 在 TUG 会议上展示的关于“大小写转换:LaTeX 进入 Unicode 领域 (2022)”的视频也可用。
TUG 会议 2022(在线会议)
新货上架 — 最近 LaTeX 的改进(您可能错过了)
- Ulrike Fischer
- TUG 2022 在线会议的视频
- 关键词:LaTeX,功能,改进
- 摘要
在本次演讲中,我将介绍我们在最近的 LaTeX 版本中所做的一些改进。这些更改没有深入讨论;目的是给出一些有趣的例子,并让您足够好奇去探索文档并了解更多信息。
在 LaTeX 中使用专色
- Ulrike Fischer
- TUG 2022 在线会议的视频
- 关键词:LaTeX,专色
- 摘要
在本次演讲中,我回顾了我在编写 The LaTeX Companion 第三版时获得的有关专色的一些实践经验。我描述了什么是专色,如何将它们用于文本和 (Ti_k_Z) 图形,如何正确混合它们,以及我们发现的一些陷阱以及我们如何解决它们。
内核中的键值设置处理
- Joseph Wright
- TUG 2022 在线会议的视频
- 关键词:LaTeX,键/值处理
- 摘要
LaTeX2ε 在
\documentclass
和\usepackage
的可选参数中引入了类和软件包设置。到目前为止,这些设计用于处理简单的基于关键字的选项。随着时间的推移,软件包扩展了该机制以接受键值 (keyval) 参数。团队最近的工作将 keyval 处理引入内核。这带来了允许重复软件包加载以避免冲突的额外好处。在这里,我将简要回顾背景,然后探讨如何在软件包开发中使用新机制。
大小写转换:LaTeX 进入 Unicode 领域
- Joseph Wright
- TUG 2022 在线会议的视频
- 关键词:LaTeX,Unicode,大小写转换
- 摘要
2015 年,我谈到了我探索 Unicode 领域的工作,特别是如何在 XeTeX 和 LuaTeX 中正确执行大小写转换。从那时起,
expl3
已成为 LaTeX 内核的一部分,LaTeX 已采用 UTF-8 作为标准输入编码。因此,现在是“开放” Unicode 领域的时候了,允许 MakeUppercase 和 MakeLowercase 自由漫游。在本次演讲中,我将提醒我们 Unicode 告诉我们关于大小写转换的内容,挑战在哪里,以及我们在expl3
中是如何应对它们的。然后,我将展示这如何与一些 *TeX 功能相结合,使我们能够进行切换,整合 textcase 软件包中的想法,并将 MakeUppercase 和 MakeLowercase 升级到 21 世纪。
siunitx:发布版本 3
- Joseph Wright
- TUG 2022 在线会议的视频
- 关键词:LaTeX,科学计数法
- 摘要
自 2008 年首次发布以来,
siunitx
已成为 LaTeX 中排版物理量的主要软件包。继我在 2018 年 TUG 演讲之后,我将看看版本 3 的更新进展如何。我将简要回顾背景,然后考虑用户和开发人员为使发布成功所做的努力。
l3build:初学者指南
- Joseph Wright
- TUGboat 43:1, 2022
- 摘要
对于软件包作者来说,创建发布是一个常规过程,非常适合自动化。创建发布到 CTAN 有几个步骤,例如确保文档已更新、正确构建存档以及实际上传材料。
一段时间前,LaTeX 团队扩展了他们现有的基本脚本,创建了一个独立的工具 l3build,它可以涵盖所有这些任务。最重要的是,它包括运行全面测试的功能:这方面之前已在 TUGboat 中介绍过(2014, 35:3, pp. 287–293)。在这里,我将更全面地概述该工具,了解它如何帮助软件包作者以快速可靠的方式创建发布。
2021 年出版物
Frank Mittelbach 访谈
- Frank Mittelbach 和 Paulo Ney de Souza
- 已发表论文,2021 年
- 访谈视频
- 关键词:LaTeX 历史,LaTeX 未来,LPPL,LaTeX3
- 摘要
本次访谈于 2021 年 8 月 7 日在 TUG 2021 在线会议期间进行。Frank Mittelbach 自 1989 年 8 月以来一直领导 LaTeX 项目,即在访谈时恰好
$2^5$
年。
另请参阅 2006 年的 Frank Mittelbach 访谈 – LaTeX 项目主管的联合访谈。
在通往标记 PDF 的道路上:关于 StructElem、标记内容、PDF/A 和 Squeezed Bärs
- Ulrike Fischer
- TUGboat 42:2, 2021
- 摘要
在本文中,我介绍了两个软件包,作为 LaTeX 项目“标记 PDF”工作的一部分
- tagpdf,其中包含创建标记 PDF 的核心代码,LaTeX 团队使用它来测试新代码。
- pdfmanagement-testphase,其中包含大量 PDF 相关命令和工具,并为中央 PDF 字典安装新的管理命令。
我将展示如何使用这些软件包以及它们将为普通用户带来的好处,同时还会提及由此产生的不兼容性以及文档中需要的更改。
YouTube 上还提供了 在 2021 年 TUG 在线会议上关于此主题的演讲视频。
TUG 会议 2021(在线会议)
驯服野兽 — 使用 pdfTeX 和 XeTeX 进行段落标记的进展
- Frank Mittelbach
- TUG 2021 在线会议演讲视频
- 关键词:LaTeX,标记,段落处理
- 摘要
在本次演讲中,我将演示和描述我们使用 pdfTeX 或 XeTeX 等引擎自动标记段落的解决方案。LuaTeX 的情况有所不同,并且更简单,因此不是本次演讲的主题。我简要介绍一下遇到的问题,并解释我们用来克服这些问题的方法。这将通过一些演示与理论解释相结合的方式进行。
这项工作是我们逐步现代化 LaTeX 的多年旅程的一部分,以便它可以自动生成高质量的标记和“可访问”的 PDF,而无需对 LaTeX 运行的结果进行后处理。
任何您喜欢的颜色
- Joseph Wright
- TUG 2021 在线会议演讲视频
- 关键词:LaTeX,颜色处理
- 摘要
TeX 本身没有内置的颜色支持,因此由特殊命令或引擎特定的扩展来处理。对于 LaTeX 2ε,不同的接口由 color 软件包抽象出来。但是,color 软件包有很多事情没有做;例如,处理颜色模型互转、混合颜色或设备特定的颜色空间。xcolor 和 colorspace 等软件包填补了这一空白,而 luacolor 软件包解决了另一个问题:完全避免对颜色使用 whatsits。
作为通过 expl3 添加增强 LaTeX 内核的更广泛努力的一部分,最近在 l3color 软件包上的工作已将许多这些概念引入到一组接口中。这意味着不仅复制现有的想法,还要确保最大的功能。在我的演讲中,我将探讨 l3color 的工作,重点介绍它在易用性和功能方面如何超越之前的软件包。
复兴现代 LuaLaTeX 文档的 Type 3 字体
- Marcel Krüger
- TUG 2021 在线会议演讲视频
- 关键词:Type3 字体
- 摘要
长期以来,LaTeX 生成的 PDF 文件中的 Type 3 字体以(不良的)位图字体而闻名,但这只是这种字体格式可以做的很小一部分。随着 OpenType 彩色字体的出现,Type 3 字体背后的理念得到了复兴,LuaTeX 最近也增加了对添加此类字体以用于非位图用例的支持。
在本次演讲中,我想看看如何使用这种格式来创建更小更简单的 PDF 文件,其中涉及彩色字体和用户生成的字形,并考虑与虚拟字体或基于宏的解决方案等传统替代方案相比的优缺点。
创建文档命令:好的、坏的和丑陋的
- Joseph Wright
- TUGboat 42:1, 2021
- 摘要
在 LaTeX 中创建文档命令传统上涉及
\newcommand
、半内部内核命令(如\@ifnextchar
和\@ifstar
)和使用\def
的低级 TeX 编程的混合。作为改进 LaTeX 的更广泛努力的一部分,该团队在过去几年中开发了在 xparse 软件包中创建文档命令的想法。在并行文章(关于\NewDocumentCommand
,在以下页面中)中,我研究了 xparse 的想法与其他软件包的功能相比如何。
\NewDocumentCommand
与 \newcommand
与 ...
- Joseph Wright
- TUGboat 42:1, 2021
- 摘要
在 LaTeX 中创建新的文档命令传统上是
\newcommand
的工作。这使您可以创建带有必需参数的命令,并支持第一个可选参数。但是,它不能创建更复杂的命令:LaTeX 使用星号、多个可选参数等等。为了定义使用此类语法的命令,内核本身使用较低级别的 TeX 编程。但这对于许多用户来说是不透明的,并且创建了各种软件包来减轻负担。…
2020 年出版物
用于全局优化分页的通用 LuaTeX 框架(同行评审版本)
- Frank Mittelbach
- 2017 年提交给 Computational Intelligence Journal (Wiley) 的论文,2018 年 1 月接受,2019 年出版
- 摘要
分页问题处理将源文本流转换为格式化文档的问题,方法是将其划分为单独的列和页面,包括添加与源流数据有一定关系的辅助元素,但可能允许放置位置有一定的变化(例如图形或脚注)。
传统上,分页问题是通过将其分为微排版(例如,将文本分成段落,也称为 h&j)和宏排版(例如,获取已格式化的段落的清样,并将它们分成列和页面),而两者之间没有太多交互来解决的。
虽然这两个问题领域的早期解决方案都使用了简单的贪婪算法,但 Knuth 和 Plass (1981) 在 80 年代引入了一种全局拟合算法用于换行,该算法优化了整个段落的换行符。该算法在 TeX’82 中实现(参见 Knuth (986b)),并且自那时以来一直保持着其作为该领域最佳可用解决方案的地位。但是,对于宏排版,尚未有(成功)尝试提供全局优化的页面布局:迄今为止的所有系统(包括 TeX)都使用贪婪算法进行分页。该领域的各种问题已被研究,文献记录了一些原型开发。但是,它们都没有被广泛提供给研究社区,也没有进入通常可用和公开可用的系统。
本文是 Mittelbach (2016) 在维也纳 DocEng ’16 会议上最初提出的工作的扩展版本。它提出了一个基于 Knuth/Plass 思想的全局拟合页面换行算法框架。它的实现方式使其可以直接使用,而无需额外的可执行文件,并且可以使用任何现代 TeX 安装。因此,它可以作为该领域未来实验和扩展的试验台。同时,当前原型的清理版本有潜力成为全球大量 TeX 用户的生产工具。
本文还讨论了两个已实现的扩展,它们增加了分页过程的灵活性(成功进行全局优化的必要先决条件):自动考虑段落长度中现有灵活性的能力(通过考虑具有不同行数的段落变体)以及在一行长或短的双页上运行列的概念。最后,它讨论了总体方法、其固有的局限性和未来研究方向。
本文是 2016 年 ACM 文章“用于全局优化分页的通用框架”的扩展版本(37 页),提供了更多详细信息和额外的研究结果。
Wiley 的法律声明
这是以下文章的同行评审版本:Frank Mittelbach。“用于全局优化分页的通用 LuaTeX 框架”。计算智能,35(2):242–284, 2019,已在 https://doi.org/10.1111/coin.12165 以最终形式发布。根据 Wiley 自存档版本使用条款和条件,本文可用于非商业目的。未经 Wiley 的明确许可或适用法律下的法定权利,不得增强、丰富本文或以其他方式将其转换为衍生作品。不得删除、模糊或修改版权声明。本文必须链接到 Wiley 在 Wiley Online Library 上的记录版本,并且必须禁止第三方从 Wiley Online Library 以外的平台、服务和网站嵌入、框架或以其他方式提供本文或其页面。”
LaTeX 标记 PDF — 大型项目的蓝图
- Frank Mittelbach
- Chris Rowley
- TUGboat 41:3, 2020
- 摘要
在 Frank 在 TUG 2020 在线会议上的演讲中,我们宣布启动一个多年项目,以增强 LaTeX,使其完全自然地支持创建结构化文档格式,特别是可访问性标准(如 PDF/UA)所需的“标记 PDF”格式。
在这篇短文中,我们概述了该项目的背景及其迄今为止的一些历史。然后,我们描述了该项目的主要功能和涉及的任务,更多详细信息可以在 可行性研究中找到,该研究是作为我们与 Adobe 合作的第一部分而准备的。
这引出了对我们计划如何使用该研究作为我们项目工作基础的描述,以及我们计划的工作方法的一些细节,并以我们迄今为止取得的成就为例,并讨论了我们预见到的一些障碍。
最后,还总结了最近、当前和即将进行的关于该项目的活动。
LaTeX 标记 PDF 可行性评估研究
- Frank Mittelbach
- Ulrike Fischer
- Chris Rowley
- 撰写日期:2019 年 12 月,并在 2020 年 9 月进行了少量更新
这份 40 页的文件包含有关 LaTeX 项目团队于 2020 年启动的多年项目的信息,该项目将扩展 LaTeX 以生成标记的,因此是可访问的 PDF,并且只需最少的人工干预。它详细解释了项目目标和需要执行的任务,最后总结了一个详细的项目计划。它是我们认为应该如何开展该项目的蓝图。
引言概述了该项目的优势,并解释了为什么 LaTeX 文档是生成标记 PDF 的良好起点。有关此蓝图和项目的更多信息,请参见文章“LaTeX 标记 PDF — 大型项目的蓝图”TUGboat,第 41-3 卷(2020 年),该文章即将出版。
本研究的原始版本可追溯到 2019 年末,主要面向 Adobe 内部的受众,其中包括对数字排版和电子出版有广泛了解的工程师和管理人员,但不一定在 TeX、LaTeX 和朋友的专业领域有太多背景。本研究的版本在 2020 年 9 月进行了更新,进行了一些小的修订、更正和澄清。
TUG 会议 2020(在线会议)
LaTeX(3) 团队何去何从 — 回顾过去和展望未来
- Frank Mittelbach
- TUGboat 41:2, 2020
- 摘要
这是作者在 TUG’20 在线会议上发表演讲的简短书面稿。
演讲简要触及了“我们来自哪里”(我们是 LaTeX 项目团队)、“我们现在在哪里”的问题,然后重点介绍了 LaTeX 项目未来几年的计划,该计划将主要侧重于提供开箱即用的解决方案,以使用 LaTeX 生成标记的 PDF,并将包括对核心 LaTeX 部分进行温和的重构,并提供重要的功能,例如扩展的标准颜色、超链接等支持,作为内核的一部分。
这是一个我们刚刚开始的多年旅程,我们将简要解释这将带我们经历的地方。在旅程结束时,我们期望 LaTeX 用户能够生成标记和“可访问”的 PDF,而无需对他们的 LaTeX 运行结果进行后处理。
Frank 的演讲视频可在 TUG YouTube 频道上观看。
learnlatex.org:使 LaTeX 培训完全互动
- David Carlisle
- Paulo Roberto Massa Cereda
- Joseph Wright
- TUGboat 41:2, 2020
- 摘要
对当前正在设置的
learnlatex.org
网站的介绍。
Joseph 的演讲视频可在 TUG YouTube 频道上观看。
fewerfloatpages 软件包
- Frank Mittelbach
- TUGboat 41:1, 2020
- 摘要
LaTeX 的浮动算法倾向于生成相当空的浮动页面,即仅包含浮动但仍有大量剩余空间的页面,这些空间很容易用附近的文本填充。这种行为有充分的理由;然而,结果看起来不吸引人,并且在许多情况下,文档被不必要地扩大了。
fewerfloatpages
软件包提供了一种扩展的算法,可以在此行为上进行改进,而无需用户手动干预。
大小写转换:从 TeX 原语到 Unicode 算法
- Joseph Wright
- TUGboat 41:1, 2020
- 摘要
字母大小写的概念对于几种基于字母表的脚本来说是众所周知的,最著名的是拉丁字母、希腊字母和西里尔字母。大写和小写被广泛使用,以至于转换大小写中的一些细微之处可能并不明显。但是,这些细微之处对于支持广泛的用户以及正确处理所有这些细微之处非常重要。
虽然英文字母表具有简单的大小写转换规则,但当我们超越英语,甚至可能超越拉丁字母表时,跟踪需求变得更加复杂。其中许多已由 Unicode 联盟编纂,遵循这些指南意味着不同的软件可以给出一致的结果。
在这里,我想看看如何在 TeX 中设置大小写转换,主要关注 LaTeX 项目提供的工具,但在更广泛的 TeX 生态系统的背景下。
使用 LaTeX 创建可访问的 pdf
- Ulrike Fischer
- TUGboat 41:1, 2020
- 摘要
本文介绍了 LaTeX 团队目前正在进行的,为提高使用 LaTeX 创建的 pdf 的可访问性所做的当前状态和计划措施。
使用 LuaLaTeX 排版孟加拉语脚本
- Ulrike Fischer 和 Marcel Krüger
- TUGboat 41:1, 2020
- 摘要
使用 LuaLaTeX 和新的 Harfbuzz 库的案例研究。
TeX、LaTeX 和数学
- Enrico Gregorio
- TUGboat 41:1, 2020
- 摘要
我们讨论了数学排版的一些方面:符号选择、代码抽象、精细细节。考察了数学排版与国际标准之间的关系。关于数字和单位排版的最后一部分报告了该领域最近的一些发展。
2019 年出版物
LaTeX 发布工作流程和 LaTeX 开发格式
- Frank Mittelbach
- TUGboat 40:2, 2019
- 摘要
如何防止创建香蕉软件(即,在客户现场才成熟的软件)?通过适当的测试!但这绝非易事。
本文将概述 LaTeX 项目团队多年来为提供高质量软件所做的努力,并解释我们今年夏天为进一步改善这种情况而做出的更改。
LaTeX 内核中的可访问性 — 标记 PDF 实验
- Chris Rowley
- Ulrike Fischer
- Frank Mittelbach
- TUGboat 40:2, 2019
- 摘要
这是第一作者在 TUG’19 会议上发表演讲的简短摘要,以及一些供进一步阅读和观看的参考文献。
TUG 会议 2019(美国帕洛阿尔托)
在 pdfTeX 中驯服 UTF-8(讲义)
- Frank Mittelbach
- TUG 会议 2019(美国帕洛阿尔托)
要理解 pdflatex 中处理 UTF-8 编码文件的概念,首先了解 TeX 引擎使用的模型以及 LaTeX 在 TeX 之上所做的早期尝试很有帮助。本次演讲简要回顾了该领域的历史,并概述了将于 2019 年在 LaTeX 中激活的关于 UTF-8 处理的改进。
LaTeX 内核中的可访问性 — 标记 PDF 实验(幻灯片)
- Chris Rowley 和 Ulrike Fischer
- TUG 会议 2019(美国帕洛阿尔托)
2018 年出版物
dashundergaps 宏包
- Frank Mittelbach
- TUGboat 39:3, 2018
- 摘要
dashundergaps 宏包提供了用空白替换运行文本中内容的可能性,以便构建稍后可以填写的表格。
默认情况下,间隙带有下划线,后跟括号中的间隙编号,但许多其他设计也是可能的,例如,用短划线或点代替下划线,不带间隙编号或使用不同的格式,加宽间隙以便于填写等等。还有一种教师模式,可以以特殊(可自定义)的格式显示通常隐藏的文本。
这是 TUGboat 系列文章中的另一篇,描述了使用 expl3 编程语言引入编码实践的小宏包。请参阅widows-and-orphans 宏包,了解本系列的第一篇文章。有关 expl3 的更多详细信息,请参阅expl3 主题页面。
widows-and-orphans 宏包
- Frank Mittelbach
- TUGboat 39:3, 2018
- 摘要
widows-and-orphans 宏包检查页面或列中断是否存在孤行或寡行问题,并在检测到此类问题时发出警告。此外,它还会检查并警告涉及连字符单词的中断,并警告页面中断后直接出现的显示公式 —– 如果文档参数设置允许它们,而默认情况下情况并非如此。
关于孤行和寡行问题的普遍讨论以及解决方案的建议,请参见管理 LaTeX 中孤立的段落行(又名孤行和寡行)。
管理 LaTeX 中孤立的段落行(又名孤行和寡行)
- Frank Mittelbach
- TUGboat 39:3, 2018
本文讨论了孤行和寡行的排版问题,即段落的第一行和最后一行由于分页符而与段落的其余部分分开。
本文给出了关于如何最好地避免这些情况以及如何在出现时管理和解决这些情况的实用建议。最后一部分讨论了 widows-and-orphans
宏包,它将通过自动识别和突出显示较长文档中的问题位置来在此处提供帮助,实际上不仅适用于孤行和寡行,还适用于跨页断开的连字符单词或与其前面的段落分离的数学显示。
在 expl3 中支持颜色和图形
- Joseph Wright
- 发表于 TUGboat 39:2, 2018 的论文
- 摘要
在过去的十年中,expl3 语言不断发展,涵盖了广泛的编程任务。然而,目前在许多领域,expl3 几乎没有或根本没有“核心”支持,这些领域将需要此级别的功能。在这里,我将特别关注其中一个:颜色和图形支持。
另请参阅 IMPA 在 YouTube 上录制的会议演讲视频:透过镜子,以及 Joseph 在那里发现了什么
宏包和类的回滚概念
- Frank Mittelbach
- 发表于 TUGboat 39:2, 2018 的论文
- 摘要
2015 年,LaTeX 内核引入了回滚概念。提供此功能使我们能够对软件进行更正(这在近二十年里或多或少没有发生过),同时继续最大程度地保持向后兼容性。
在本文中,我们将解释我们现在如何将此概念扩展到最初未涵盖的宏包和类的世界。由于类和扩展宏包与内核相比有不同的要求,因此方法有所不同(且已简化)。这应该使宏包开发人员可以轻松地将其应用于他们的宏包,并使作者在必要时可以使用它。
一篇讨论宏包和类的新回滚概念的文章。与 latexrelease
宏包一起,这构成了 LaTeX 世界全面的发布管理和兼容性解决方案。
另请参阅 IMPA 在 YouTube 上录制的演讲视频:什么应该保留,什么应该放弃 – LaTeX 世界中的兼容性 以及相应的讲义 LaTeX 世界中的兼容性。
2018 年 TUG 会议(巴西里约热内卢)
带有 fontspec 和 unicode-math 的 Unicode 字体(幻灯片)
- Will Robertson
- 2018 年 TUG 会议(巴西里约热内卢)
- 摘要
虽然
fontspec
和unicode-math
宏包的基础知识保持不变,但这些宏包在幕后经历了大量的开发。虽然许多用户对技术细节不感兴趣,但仍有许多值得更广泛讨论的新增功能。在本次演示中,我将介绍这些宏包的基础知识和使用它们的最佳实践,特别是包括用户可能尚未看到的新功能。我还将尝试概述一些技术细节,重点关注
expl3
宏包开发和经验教训。
IMPA 在 YouTube 上录制的演讲视频:带有 fontspec 和 unicode-math 的 Unicode 字体
LaTeX 世界中的兼容性(讲义)
- Frank Mittelbach
- 2018 年 TUG 会议(巴西里约热内卢)
- 摘要
在本次演讲中,我将回顾过去几十年震撼 LaTeX 世界的重大颠覆以及我们如何处理这些颠覆,涵盖由此产生的一些后果。
在这个传奇故事的最新部分,LaTeX 内核引入了回滚概念(大约在 2015 年)。提供此功能使我们能够对软件进行更正(这在近二十年里或多或少没有发生过),同时继续最大程度地保持向后兼容性。
我将解释我们现在如何将此概念扩展到最初未涵盖的宏包和类的世界。由于类和扩展宏包与内核相比有不同的要求,因此方法有所不同(且已简化)。这应该使宏包开发人员可以轻松地将其应用于他们的宏包,并使作者在必要时可以使用它。
-
IMPA 在 YouTube 上录制的演讲视频:什么应该保留,什么应该放弃 – LaTeX 世界中的兼容性
-
会议论文,发表于 TUGboat 39:2, 2018 宏包和类的回滚概念
siunitx:过去、现在和未来(幻灯片)
- Joseph Wright
- 2018 年 TUG 会议(巴西里约热内卢)
- 摘要
在过去的十年中,
siunitx
已成为 LaTeX 中排版物理量的主要宏包。在这里,我将回顾该宏包的背景,以及它多年来的发展历程。我还将阐述未来的计划:版本 3 的发展方向,以及这对用户的重要性。
会议论文,发表于 TUGboat 39:2, 2018:siunitx:过去、现在和未来
IMPA 在 YouTube 上录制的演讲视频:siunitx:过去、现在和未来
透过镜子,以及 Joseph 在那里发现了什么(幻灯片)
- Joseph Wright
- 2018 年 TUG 会议(巴西里约热内卢)
- 摘要
LaTeX3 编程语言
expl3
在过去的十年中不断发展,已形成一个强大而稳定的环境,用于解决 TeX 中的问题。一个关键目标是扩展这项工作,以涵盖更广泛的领域。在最近的工作中,该团队一直在现有代码(尤其是可扩展 FPU)的基础上进行构建,以开发颜色、绘图和图像支持的方法。在本次演讲中,我将探讨这项工作的用途,我们可以借鉴哪些模型以及这项工作迄今为止取得了哪些进展。
会议论文,发表于 TUGboat 39:2, 2018:在 expl3 中支持颜色和图形
IMPA 在 YouTube 上录制的演讲视频:透过镜子,以及 Joseph 在那里发现了什么
四分之一世纪的 doc(讲义)
- Frank Mittelbach
- 2018 年 TUG 会议(巴西里约热内卢)
- 摘要
在本次演讲中,我将重新审视我早期在文学编程方面糟糕的尝试,以及它们在过去几十年中如何(或好或坏地)塑造了 LaTeX 世界。现在是时候重新思考当时发明的一些概念了——但我们还能继续发展吗?
IMPA 在 YouTube 上录制的演讲视频:什么应该保留,什么应该放弃 – 四分之一世纪的 doc(我搞砸了开头,所以真正的演讲从 00:02:30 开始)
使用 LaTeXML 为 Canvas 学习管理系统创建教学材料(幻灯片)
- Will Robertson
- 2018 年 TUG 会议(巴西里约热内卢)
- 摘要
在本次演示中,我将概述我为阿德莱德大学机械工程学院的荣誉项目学生制作课程材料的 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 学习管理系统创建教学材料
带我飞向月球:使用 Lua 进行 (La)TeX 测试(以及更多)(幻灯片)
- Joseph Wright
- 2018 年 TUG 会议(巴西里约热内卢)
- 摘要
自 LaTeX 团队成立以来,测试一直很重要,多年来,为内核创建了一套复杂的测试文件。在过去四分之一世纪中,运行测试的方法随着团队工作方式的变化而变化。
近年来,Lua 作为所有 TeX 系统中的脚本语言的可用性意味着它已成为支持这项工作的自然选择。以此为驱动力,该团队开发了
l3build
以自动运行测试。在核心工作的基础上,l3build
已发展成为为可靠地发布宏包(和 LaTeX 内核)提供强大方法。在这里,我将回顾我们的测试方法的背景,然后展示 Lua 如何以及为什么在这里对我们有效。
IMPA 在 YouTube 上录制的演讲视频:带我飞向月球:使用 Lua 进行 (La)TeX 测试(以及更多)
用于全局优化分页的通用 LuaTeX 框架(预同行评审版本)
- Frank Mittelbach
- 论文于 2017 年提交给 Computational Intelligence Journal (Wiley),2018 年 1 月被接受
- 摘要
分页问题处理将源文本流转换为格式化文档的问题,方法是将其划分为单独的列和页面,包括添加与源流数据有一定关系的辅助元素,但可能允许放置位置有一定的变化(例如图形或脚注)。
传统上,分页问题是通过将其分为微排版(例如,将文本分成段落,也称为 h&j)和宏排版(例如,获取已格式化的段落的清样,并将它们分成列和页面),而两者之间没有太多交互来解决的。
虽然这两个问题领域的早期解决方案都使用了简单的贪婪算法,但 Knuth 和 Plass (1981) 在 80 年代引入了一种全局拟合算法用于换行,该算法优化了整个段落的换行符。该算法在 TeX’82 中实现(参见 Knuth (986b)),并且自那时以来一直保持着其作为该领域最佳可用解决方案的地位。但是,对于宏排版,尚未有(成功)尝试提供全局优化的页面布局:迄今为止的所有系统(包括 TeX)都使用贪婪算法进行分页。该领域的各种问题已被研究,文献记录了一些原型开发。但是,它们都没有被广泛提供给研究社区,也没有进入通常可用和公开可用的系统。
本文是 Mittelbach (2016) 在维也纳 DocEng ’16 会议上最初提出的工作的扩展版本。它提出了一个基于 Knuth/Plass 思想的全局拟合页面换行算法框架。它的实现方式使其可以直接使用,而无需额外的可执行文件,并且可以使用任何现代 TeX 安装。因此,它可以作为该领域未来实验和扩展的试验台。同时,当前原型的清理版本有潜力成为全球大量 TeX 用户的生产工具。
本文还讨论了两个已实现的扩展,它们增加了分页过程的灵活性(成功进行全局优化的必要先决条件):自动考虑段落长度中现有灵活性的能力(通过考虑具有不同行数的段落变体)以及在一行长或短的双页上运行列的概念。最后,它讨论了总体方法、其固有的局限性和未来研究方向。
这是本文的预同行评审版本,在 12 个月的禁运期结束后,它将被同行评审版本替换。根据 Wiley 自存档条款和条件,本文可用于非商业目的。
同行评审和出版的版本现已发布,标题为 用于全局优化分页的通用 LuaTeX 框架(期刊版本)。
本文是 2016 年 ACM 文章“用于全局优化分页的通用框架”的扩展版本(37 页),提供了更多详细信息和额外的研究结果。
TeX.StackExchange 精选:expl3
- Enrico Gregorio
- 发表于 TUGboat 39:1, 2018 的论文
在本文中,Gregorio 展示了一些用 expl3 构建的宏的示例,以回答 tex.stackexchange.com 上用户提出的问题,以展示该语言的风格并描述其可能性。主题包括列表打印、字符串操作、宏创建和图形。
LaTeX 核心软件中报告错误的新规则
- Frank Mittelbach
- 发表于 TUGboat 39:1, 2018 的论文
一篇讨论在核心 LaTeX 软件中报告错误的新工作流程的文章。它还涵盖了 LaTeX 源代码从基于 SVN 的源代码控制系统到基于 Git 的源代码控制系统的底层迁移,以及旧的 LaTeX 错误数据库的退役。
2017 年出版物
ACM DocEng 2017 文档工程研讨会(马耳他瓦莱塔)
-
研究文章
有效的浮动策略
本文介绍了 Mittelbach (2016) 中描述的全局优化分页通用框架的扩展。扩展算法支持将浮动对象的自动放置作为优化的一部分。它使用灵活的约束模型 ...
- 在马耳他给出的论文演示:有效的浮动策略(幻灯片 – 大型 23Mb)
本文介绍了 Mittelbach (2016) 中描述的全局优化分页通用框架的扩展。扩展算法支持将浮动对象的自动放置作为优化的一部分。它使用灵活的约束模型,该模型允许实施典型的排版规则,这些规则可以相互权衡以支持不同的应用场景。
上面的链接允许从 ACM 数字图书馆免费下载论文。(由于 ACM 的限制,它不幸地无法从“所有出版物”页面工作。如果您在那里,请使用分页主题页面上的链接。)
具有固定宽度的 LaTeX 表格列
- Frank Mittelbach
- 已发表论文,TUGboat 第 38 卷,第 2 期,2017 年
一篇简短的文章讨论了如何使用 array
宏包生成具有固定宽度的表格列。所描述的界面现已集成到该宏包中。
2017 年 TUG/GUST 会议(波兰巴霍泰克)
透过镜子——以及爱丽丝在那里发现了什么……(讲义)
- Frank Mittelbach
- 2017 年 TUG/GUST 会议(波兰巴霍泰克)
继续寻找自动查找文档最佳分页的道路,旅程现在带我们进入目标函数、标注约束、布局模板和其他神秘生物以及女王的世界,女王大喊“更快!更快!” 因为“……你需要尽你所能地奔跑,才能保持在原地。如果你想去其他地方,你必须至少以两倍的速度奔跑!” 本次演讲探讨了我们必须以多快的速度奔跑才能进入那个世界。
演讲幻灯片:透过镜子——以及爱丽丝在那里发现了什么……
2016 年出版物
R.I.P. — S.P.Q.R Sebastian Patrick Quintus Rahtz (1955.2.13–2016.3.15)
- Frank Mittelbach
- 德语版本,发表于 Die Technische Komödie 2016/2。
- 英语版本,发表于 TUGboat,第 37 卷第 2 期,2016 年。
- River Valley TV 录制的视频,在加拿大多伦多举行的 2016 年 TUG 会议上。
纪念我们过早去世的朋友和同事 Sebastian。
ACM DocEng 2016 文档工程研讨会(奥地利维也纳)
-
研究文章
用于全局优化分页的通用框架
分页问题处理的是将源文本流转换为格式化文档的问题,方法是将其划分为单独的列和页面,包括添加与源数据流有某种关系的辅助元素,但 ...
本文介绍了一种使用动态规划进行全局优化分页的算法,并讨论了其理论背景。它在 DocEng 2016 会议上被授予“ACM 最佳论文奖”。本文是在 BachoTek 和 2016 年 TUG 上演示的工作的基础(顺序颠倒,因为 DocEng 的提交截止日期已在 3 月,但会议在 9 月)。
本文的一个大大扩展的版本(37 页),标题为 “用于全局优化分页的通用 LuaTeX 框架”,已于 2017 年提交给 Computational Intelligence Journal (Wiley),并于 2018 年 1 月被接受。
上面的链接允许从 ACM 数字图书馆免费下载论文。(由于 ACM 的限制,它不幸地无法从“所有出版物”页面工作。如果您在那里,请使用分页主题页面上的链接。)
2016 年 TUG 会议(加拿大多伦多)
爱丽丝去漂浮(带有混合演讲者注释的幻灯片)
- Frank Mittelbach
- 2016 年 TUG 会议(加拿大多伦多)
在本次演讲中,演示了一个用于全局优化包含浮动对象的文档分页的框架。主要示例选择了刘易斯·卡罗尔的《爱丽丝梦游仙境》。如果使用标准 LaTeX 格式化这样的文档,将导致分页存在许多问题,如此处所示。如果使用新框架格式化相同的文档,那么将获得全局优化的解决方案,如此处所示。目前,该框架仍处于早期阶段,尚未公开提供,因为还需要进一步的研究和开发。
River Valley TV 录制的演讲视频:爱丽丝去漂浮(音频在接近结尾时不幸失败)
探索 \romannumeral 和扩展
- Joseph Wright
- 已发表论文,TUGboat,第 37 卷(2016 年),第 1 期
Joseph Wright 关于巧妙使用 \romannumeral 来触发受控扩展的文章。这在 expl3 源代码中被广泛使用。
2015 年出版物
自动化 LaTeX(3) 测试
- Joseph Wright
- 已发表论文,TUGboat,第 36 卷(2015 年),第 3 期
讨论我们使用 l3build 和 Travis-CI 为 LaTeX3 源代码设置的持续集成测试。现在,我们也使用它来持续测试 LaTeX2e 源代码!
2015 年 TUG 会议(达姆施塔特)
二十一只是真相的一半(思维导图)
- Frank Mittelbach
- 2015 年 TUG 会议(德国达姆施塔特)
- 演讲视频:二十一只是真相的一半(通过 River Valley TV)
隐藏在这个标题背后的是对新的 LaTeX 内核兼容性概念的介绍,该概念是在 LaTeX 的 2015 版本(在第一个版本发布 42 年半后)中引入的。
调和 unicode-math 与 LaTeX2e 数学(幻灯片)
- Will Robertson
- 2015 年 TUG 会议(德国达姆施塔特)
- 演讲视频:调和 unicode-math 与 LaTeX2e 数学(通过 River Valley TV)
Joseph 的 Unicodeland 冒险
- Joseph Wright
-
已发表论文,TUGboat 第 36 卷,第 2 期,2015 年
- 2015 年 TUG 会议(德国达姆施塔特)
- 演讲视频:XeTeX 和 LuaTeX:将 Unicode 数据放入正确的位置(通过 River Valley TV)
- 演讲幻灯片:XeTeX 和 LuaTeX:将 Unicode 数据放入正确的位置
通过 \parshape,以及 Joseph 在那里发现了什么
- Joseph Wright
-
已发表论文,TUGboat,第 36 卷(2015 年),第 2 期
- 2015 年 TUG 会议(德国达姆施塔特)
- 演讲视频:通过 \parshape,以及 Joseph 在那里发现了什么(通过 River Valley TV)
- 演讲幻灯片:通过 \parshape,以及 Joseph 在那里发现了什么
对虚假空格捕获器的回忆
- Enrico Gregorio
-
已发表论文,TUGboat,第 36 卷(2015 年),第 2 期
- 2015 年 TUG 会议(德国达姆施塔特)
- 演讲视频:对虚假空格捕获器的回忆(通过 River Valley TV)
TeX 的 box-glue-penalty 代数及其 \prevdepth 的使用
- Frank Mittelbach
- 已发表论文,TUGboat 第 36 卷,第 1 期,2015 年
- 摘要
本文讨论了 TeX 的换行方法及其对自动计算更复杂布局中行之间正确垂直空间的后果。
首先简要介绍了 TeX 用于对要排版的材料进行建模的 box-glue-penalty 代数。然后,我们研究程序如何计算行之间的垂直 glue,其中参数 \prevdepth 起着至关重要的作用。接下来,我们检查不同类型的输出例程,并评估 TeX 算法在多大程度上可以适应其目标。
最终结论是,这是一个我们可以提出当前 TeX、ε-TeX、pdfTeX 或 XeTeX 无法解决的问题的领域,除非您限制允许的输入,因为无法获得 TeX 算法用于稍后操作结果的某些信息。
像现在许多问题的答案一样,使用 LuaTeX 的情况(可能)有所不同 — 可能是因为我实际上还没有尝试过,但是考虑到 LuaTeX 提供的附加可能性,解决方案应该是可行的。
本文讨论了 TeX 的换行方法及其对自动计算更复杂布局中行之间正确垂直空间的后果。
2014 年出版物
2014 年英国 TUG 会议
2014 年 11 月会议上关于 LaTeX2e 和 LaTeX3 开发主题的一些视频片段。
修复 LaTeX2e(视频)
- David Carlisle
- 2014 年英国 TUG 会议
一个描述更好的维护方法计划的演讲(与不工作的 fixltx2e 相比)
可靠的发布:l3build(视频)
- Joseph Wright
- 2014 年英国 TUG 会议
用于 LaTeX 宏包和文档的新构建环境(适用于所有风格)!不幸的是,视频中看不到关于 l3build 的演示会话,因为它仅提供音频和使用的幻灯片显示。
Unicode 世界中的大小写转换(视频)
- Joseph Wright
- 2014 年英国 TUG 会议
Will 和 Frank 关于此主题的已发表论文是 Joseph 关于 l3build 的演讲的补充。
如何在 LaTeX 中影响 figure 和 table 等浮动环境的位置?
- Frank Mittelbach
- 已发表论文,TUGboat 第 35 卷,第 3 期,2014 年
- 摘要
2012 年,在 TeX.stackexchange 上提出了一个问题“如何在 LaTeX 中影响浮动对象的放置”,由于之前已经有很多关于这个主题的问题,我决定深入探讨这个主题,并解释底层机制对试图成功使用它的人们造成的绝大多数神秘之处。一旦我的答案出现在网上,人们就要求看到将其转换为文章,我愚蠢地回答说“只有当这个答案最终成为一个‘很棒’的答案”(获得 100 票)时才会这样做。在撰写本文时,该答案获得了 222 票,所以我最好兑现承诺。
- 文章翻译成意大利语(在 2015 年的 ArsTeXnica 中):Come si può influenzare la posizione degli ambienti galleggianti come figure e table in LaTeX?
l3build — 用于 TeX 编程的现代 Lua 测试套件
- Frank Mittelbach、Will Robertson 和 LaTeX3 团队
- 已发表论文,TUGboat 第 35 卷,第 3 期,2014 年
- 摘要
回归测试是任何中等复杂程度的编程环境中的重要工具。它们允许程序员对其代码进行广泛的更改,同时提供对曾经工作过的东西仍然有效的信心。广泛的回归测试套件一直是 LaTeX2e 和 LaTeX3 的维护和开发的重要组成部分。回归测试套件通常由许多单独的文件组成,这些文件包含一个或多个可测试的代码单元。可测试单元可以是具有预期结果的特定计算、一系列逻辑测试,或者——特别是对于基于 TeX 的代码——要排版并旨在实现某些特定格式的材料。在代码开发期间以及向公众发布任何新代码之前,可以编译此测试套件,以确保对代码的任何更改都没有引入错误或更改与以前版本相比的行为。当报告代码中的错误时,演示该错误的最小示例通常会形成自己的测试文件,表明该错误已修复并且不会再次发生。由于基于 TeX 的代码至少以三种不同的“模式”(mouth、stomach 和 output)运行,因此回归测试比简单地断言某些编程逻辑的结果更复杂。作为 LaTeX3 项目工作的一部分,已经编写了一个新的基于 Lua 的测试环境来支持正在进行的开发。这个测试环境在 2014 年波特兰 TUG 会议上提出,适合一般 TeX 社区使用。
2014 年 TUG 会议(美国波特兰)
用于 TeX 编程的现代回归测试套件(幻灯片)
- Frank Mittelbach
- 2014 年 TUG 会议(美国波特兰)
- 演讲视频:用于 TeX 编程的现代回归测试套件(通过 River Valley TV)
2014 年的 LaTeX3 和 expl3:近期发展(幻灯片)
- Will Robertson 和 Frank Mittelbach
- 2014 年 TUG 会议(美国波特兰)
- 演讲视频:2014 年的 LaTeX3 和 expl3:近期发展(通过 River Valley TV)
数学标记语言 (MathML) 版本 3.0 第二版
- David Carlisle(编辑)
- W3C 推荐,2014 年 4 月 10 日
本规范定义了数学标记语言 MathML。MathML 是一种用于描述数学符号并捕获其结构和内容的标记语言。MathML 的目标是使数学能够在万维网上被服务、接收和处理,就像 HTML 为文本启用此功能一样。
MathML 标记语言的本规范主要面向那些将开发或实现使用它的渲染器或编辑器,或将使用 MathML 作为输入或输出协议进行通信的软件的读者。它不是用户指南,而是一份参考文档。
MathML 可用于编码数学符号和数学内容。大约 38 个 MathML 标签描述了抽象的符号结构,而另外大约 170 个标签提供了一种明确指定表达式预期含义的方法。其他章节讨论了 MathML 内容和表示元素如何交互,以及 MathML 渲染器可能如何实现以及应如何与浏览器交互。最后,本文档讨论了用于数学的特殊字符问题、它们在 MathML 中的处理、它们在 Unicode 中的存在以及它们与字体的关系。
虽然 MathML 是人类可读的,但作者通常会使用公式编辑器、转换程序和其他专用软件工具来生成 MathML。存在几个版本的此类 MathML 工具,包括免费软件和商业产品,并且正在开发更多。
MathML 最初被指定为 XML 应用程序,并且本规范中的大多数示例都假定使用该语法。其他语法是可能的,最值得注意的是 [HTML5] 指定了 HTML 中 MathML 的语法。除非另有明确说明,否则本规范中的示例也适用于 HTML 语法。
字符的 XML 实体定义(第二版)
- David Carlisle(编辑)
- W3C 推荐,2014 年 4 月 10 日
本文档定义了几组名称,以便为每个名称分配一个 Unicode 字符或字符序列。这些集合中的每一个都表示为一个 XML 实体声明文件。
2013 年出版物
2013 年 TUG 会议(日本东京)
通往复杂布局的崎岖之路(幻灯片)
- Frank Mittelbach
- 2013 年 TUG 会议(日本东京)
- YouTube 上数字相机录制的演讲:通往复杂布局的崎岖之路
在本次演讲中,Frank 着眼于用户对使用 multicol
宏包多年来的历史和发展自动生成复杂布局的许多且经常冲突的愿望清单。在这个领域中已经解决了什么,排版挑战在哪里,以及什么是根本不可能的?
LaTeX3:使用图层(幻灯片)
- Frank Mittelbach 和 Joseph Wright
- 2013 年 TUG 会议(日本东京)
- 摘要 (pdf)
在本次演讲中,首先快速概述了 LaTeX3 架构的四个概念层,然后更详细地介绍了 xparse,作为文档接口层的示例。最后简要介绍了 expl3,LaTeX3 基础层的语言。
2012 年出版物
2012 年 TUG 会议(美国波士顿)
E-TeX:未来 TeX 扩展的指南 — 再访
- Frank Mittelbach
- 已发表论文,TUGboat 第 34 卷,第 1 期,2013 年
-
该论文在 2012 年波士顿 TUG 会议上发表。
- 2012 年 TUG 会议(美国波士顿)
- 摘要的文本版本
- YouTube 上数字相机录制的演讲:E-TeX:未来 TeX 扩展指南 — 再探
1990 年,在 Donald Knuth 宣布 TeX 3.0 后不久,Frank 发表了一篇论文,分析了 TeX 作为排版引擎的能力。本文回顾了二十多年前的研究结果,以了解自那时以来取得了哪些成就,也许更重要的是,在计算机算力大幅提升以及大量 TeX 后继者出现(这些后继者已经克服了当时发现的一些限制)的情况下,现在可以实现什么。
LaTeX3:从局部到全局——简史和近期发展(幻灯片)
- Will Robertson 和 Frank Mittelbach
- 2012 年 TUG 会议(美国波士顿)
xtemplate 宏包:一个示例
- 已发表论文,《TUGboat》,第 33 卷(2012 年),第 3 期
- 关键词:LaTeX3、设计器界面、评估报告
Clemens Niederberger 对 LaTeX3 模板界面背后理念的评估。
2011 年出版物
2011 年 TUG 会议(印度,特里凡得琅)
LaTeX3 架构和当前进展(幻灯片)
- Frank Mittelbach
- 2011 年 TUG 会议(印度,特里凡得琅)
- LaTeX3 架构和当前进展(摘要)
- 演讲视频:LaTeX3 架构和当前进展(通过 River Valley TV)
本次演讲讨论了 LaTeX3 的架构,从 90 年代初期的最初想法开始。通过一个涵盖整个生产周期的示例,展示了将初始手稿草稿转化为最终产品需要几种不同的角色和不同的需求。LaTeX3 架构的目的是为这些不同的需求提供充分的支持,并解决或至少调解它们之间的冲突。
虽然这种架构的基本构建模块早已确定,但在 1992 年的初步实现表明,由于当时底层引擎处理能力的限制,在实践中使用它们是不可能的。此外,当时尝试的一些想法——虽然本身没错——但并不成熟,也没有经过充分的思考。因此,该项目放弃了更广泛的重新设计,转而专注于生产一个主要基于 LaTeX2.09 架构的整合 LaTeX 版本。这项相当成功的努力,被标记为 LaTeX2e,至今仍是当前的 LaTeX 标准。
那么为什么它仍然重要呢? 基本上,因为导致新架构的驱动因素和目标是其他排版系统尚未成功解决的问题。与 90 年代情况的不同之处在于,现在底层引擎的处理能力已经大幅提高,以至于在 TeX(或者说是它的一个后继者)中实现这种架构已成为可能。另一个原因是,从那时起,已经进行了进一步的工作,完善了许多最初不成熟的想法。结果是,对于一个基于 TeX 和 LaTeX 原则但将其提升到新水平的未来排版系统,形成了一个连贯的愿景。
本次演讲讨论了架构所提倡的关注点分离:逻辑结构、设计层以及编码和实现支持之间。与此同时,它表明,为了获得高质量的结果,这种分离需要伴随对格式调整的内置支持,以及架构如何支持这一点。
对于设计支持,该架构提供了两个主要的互补概念:模板和上下文管理。设计模板的使用提供了抽象,可以从中通过自定义参数派生出真实的设计。第二种方法是管理基于文档中实际元素关系的设计变化的一般概念。对于这两个概念,都讨论了理论,并给出了简短的现场演示。
关于 LaTeX 项目公共许可证 (LPPL) 历史的反思 - LaTeX 及更多软件的软件许可证
- Frank Mittelbach
- 已发表论文,《TUGboat》第 32 卷,第 1 期,2011 年
- 关键词:许可证、LaTeX 项目公共许可证、LPPL、LaTeX 历史
2010 年 8 月,LaTeX 项目公共许可证 (LPPL) 最终在开源促进会 (OSI) 网页上被列为自由软件许可证。这标志着围绕 TeX 社区主要许可证的长期讨论的终点。本文回顾了许可证的历史;它的产生方式以及其发展和内容的原因。它解释了为什么选择它,即使自 1990 年以来至少已经有其他自由许可证可用。它出现在周年纪念 TUGboat 第 100 期,TUGboat 第 32 卷,第 1 期。
2010 年出版物
2010 年 TUG 会议(美国,旧金山)
LaTeX 简史 — 以及一个预测
- Chris Rowley
- 2010 年 TUG 会议(美国,旧金山)
- 演讲视频:LaTeX 简史 — 以及一个预测(通过 River Valley TV)
从上个世纪挖掘棺材(幻灯片)
- Frank Mittelbach
- 2010 年 TUG 会议(美国,旧金山)
- 演讲视频:从上个世纪挖掘棺材(通过 River Valley TV)
本次演示介绍了 LaTeX3 的带句柄的盒子(又名棺材)的概念,并提供了一些示例。
LaTeX 中的 Unicode 数学:优势和挑战
- Will Robertson
-
已发表论文,《TUGboat》,第 31 卷(2010 年),第 2 期
- 2010 年 TUG 会议(美国,旧金山)
- 演讲视频:LaTeX 中的 Unicode 数学:优势和挑战(通过 River Valley TV)
- 演讲幻灯片:LaTeX 中的 Unicode 数学:优势和挑战
在本文和演讲中,Will 讨论了 LaTeX 上下文中的 Unicode 数学以及 unicode-math 宏包。
从 \newcommand 到 \DocumentNewCommand 与 xparse
- Joseph Wright
- 已发表论文,《TUGboat》,第 31 卷(2010 年),第 3 期
- 摘要
xparse 宏包为创建文档宏提供了一种新方法,超越了 \newcommand。借助 xparse,普通的 LaTeX 用户可以创建具有多个可选参数、星号以及这些混合的函数。这篇简短的文章重点介绍了为 LaTeX 用户(与 LaTeX 程序员不同)使用 xparse 方法。
Joseph Wright 讨论了 xparse 宏包与 \newcommand 相比提供的一些新可能性。
超越 \newcommand 与 xparse
- Joseph Wright
- 已发表论文,《TUGboat》,第 31 卷(2010 年),第 1 期
Joseph Wright 对 xparse 宏包的介绍,该宏包提供了一种强大的机制来定义具有不同数量的可选参数、星号等的新用户命令。
在 expl3 中进行键值编程
- Joseph Wright
- 已发表论文,《TUGboat》,第 31 卷(2010 年),第 1 期
在本文中,Joseph Wright 讨论了作为 LaTeX3 编程语言 expl3 一部分提供的键值实现。
2009 年及更早出版物
2009 年 TUG 会议(美国,印第安纳州,圣母大学)
无 TeX 的 LaTeX,概述
- Chris Rowley
- 2009 年 TUG 会议(美国,印第安纳州,圣母大学)
- 演讲视频:无 TeX 的 LaTeX,概述(通过 River Valley TV)
LaTeX 文档和处理器的标准
- Chris Rowley
- 2009 年 TUG 会议(美国,印第安纳州,圣母大学)
- 演讲视频:LaTeX 文档和处理器的标准(通过 River Valley TV)
breqn 的下一步(幻灯片)
- Morten Høgholm
- 2009 年 TUG 会议(美国,印第安纳州,圣母大学)
- 演讲视频:breqn 的下一步(通过 River Valley TV)
expl3 的整合(幻灯片)
- Morten Høgholm
- 2009 年 TUG 会议(美国,印第安纳州,圣母大学)
- 演讲视频:expl3 的整合(通过 River Valley TV)
- 代码示例:boolexpr 代码示例(pdf,上下文见幻灯片第 14 页)
LaTeX3 编程:外部视角
- Joseph Wright
- 已发表论文,《TUGboat》,第 30 卷(2009 年),第 1 期
Joseph Wright 对 LaTeX3 编程扩展 expl3 当前实现的介绍,重点介绍了最近的变化和改进。
2008 年 TUG 会议(爱尔兰,科克)
机遇之窗:LaTeX 发展二十年(有偏见的)个人历史 — 有什么经验教训可以汲取吗?
- Frank Mittelbach
- 2008 年 TUG 会议(爱尔兰,科克)
- 演讲视频:机遇之窗:LaTeX 发展二十年(有偏见的)个人历史 — 有什么经验教训可以汲取吗?(通过 River Valley TV)
galley 模块,或者:我如何学会不再担心并爱上 Whatsit
- Morten Høgholm
- 2008 年 TUG 会议(爱尔兰,科克)
- 演讲视频:galley 模块,或者:我如何学会不再担心并爱上 Whatsit(通过 River Valley TV)
2007 年 TUG 会议(美国,圣地亚哥)
LaTeX3 项目更新
- Morten Høgholm
- 2007 年 TUG 会议(美国,圣地亚哥)
- 演讲视频:LaTeX3 项目更新(通过 River Valley TV)
breqn 宏包:修订和复兴
- Morten Høgholm
- 2007 年 TUG 会议(美国,圣地亚哥)
- 演讲视频:breqn 宏包:修订和复兴(通过 River Valley TV)
TeX 的前景
- Chris Rowley
- 2007 年 TUG 会议(美国,圣地亚哥)
- 演讲视频:TeX 的前景(通过 River Valley TV)
对 Latin Modern 字体的探索
- Will Robertson
- 已发表论文,《TUGboat》,第 28 卷(2007 年),第 2 期
Will Robertson 对 Latin Modern 字体系列及其功能的考察。
Frank Mittelbach 访谈 – LaTeX 项目主管的联合访谈
- Frank Mittelbach、Gianluca Pignalberi、Dave Walden
- 已发表论文,2006 年,《Free Software Magazine》
- 关键词:LaTeX 历史,LaTeX 未来,LPPL,LaTeX3
- 摘要
Free Software Magazine (FSM) 和 TeX 用户组 (TUG) 都喜欢发表访谈。最近,《Free Software Magazine》的 Gianluca Pignalberi 和 TUG 的 Dave Walden 都联系了 Frank Mittelbach,希望采访他。Mittelbach、Pignalberi 和 Walden 没有进行两次单独的采访,而是决定进行一次联合采访,以符合《Free Software Magazine》和 TUG 已经分享的共同利益。
LaTeX3 中的页面设计
- Morten Høgholm
- 已发表论文,《TUGboat》,第 27 卷(2006 年),第 2 期 — 2006 年年会论文集
在本文中,Morten Høgholm 介绍了 LaTeX3 的页面设计概念。
关于字体资源我们需要了解的一切
- Chris Rowley
- 已发表论文,《TUGboat》,第 27 卷(2006 年),第 2 期 — 2006 年年会论文集
pdfTeX 工作坊 2005/09/24-26
Thanh The Han、Morten Høgholm 和 Frank Mittelbach 之间于 2005 年 9 月举行的 pdfTeX 工作坊的材料的 HTML 展示。工作坊的主要主题是网格排版。该材料可用于在线浏览和下载为 zip 文件 (1364 kB)。
请注意,在线浏览材料中包含的一些外部链接已不再有效。
EuroTeX 2005 笔记
LaTeX 项目团队在 EuroTeX 2005 期间完成的工作的 HTML 展示。它可用于在线浏览和下载为 zip 文件 (923 kB)。
关于模板的一些说明
- Lars Hellström
- 已发表论文,《TUGboat》,第 24 卷(2003 年),第 2 期
- 关键词:LaTeX3、设计器界面、评估报告
Lars Hellström 对当前模板概念实现的讨论。
trace 宏包
- Frank Mittelbach
- 已发表论文,《TUGboat》,第 22 卷(2001 年),第 1/2 期
本文介绍了 trace 宏包,该宏包在调试复杂(或不那么复杂)的 LaTeX 代码时非常有用。
来自 2001 年第二十届 ACM 分布式计算原理研讨会(美国,罗德岛州,纽波特)
LaTeX 的遗产
- Chris Rowley
- 已发表论文,《PODC ‘01 第二十届 ACM 分布式计算原理研讨会论文集》,第 17-25 页
- 关键词:LaTeX 历史、LaTeX 未来
- 摘要
《LaTeX 手册》第二版开头写道:“LaTeX 是一个用于排版文档的系统。它的第一个广泛可用的版本,神秘地编号为 2.09,出现在 1985 年。”
现在对 LaTeX 2.09 的影响进行全面的批判性评估还为时过早,因为其在全球范围内对许多文化(尤其是科学出版物)的许多方面的影响在 15 年后仍然强劲——这本身在一个技术世界中意义重大,在这个技术世界中,仅仅 15 个月的名声就可以成就或摧毁一个想法。
因此,本文仅对 TeX、LaTeX 与自 1985 年 LaTeX 2.09 发布以来高质量自动格式化领域的一些主要技术发展之间的关系进行回顾和评估。它既不是权威性的,也不是全面的,但我希望它是有益的。
使用浮动对象格式化文档 – LaTeX2e 的新算法
- Frank Mittelbach
- 已发表论文,2000 年
- 关键词:LaTeX3、页面布局、模型、概念、原型
在图卢兹举行的 GUTenberg 会议上,Frank 发表了一篇关于新输出例程的论文,该例程旨在增强 LaTeX 处理多列环境中浮动对象的方式。
上面的链接可以从 ACM 数字图书馆免费下载论文。(由于 ACM 的限制,它不幸地无法从“所有出版物”页面工作。如果您在那里,请使用主题页面上的链接代替。)
1999 年 TUG 会议(加拿大,温哥华)
TUG99 演讲:LaTeX 类设计的新界面
- David Carlisle、Frank Mittelbach 和 Chris Rowley
- 1999 年 TUG 会议(加拿大,温哥华)
- 已发表论文,1999 年
- 关键词:LaTeX3、模型、概念、用户界面、设计器界面、原型
项目团队成员在温哥华 TUG 会议上就 LaTeX3 中用户级界面、设计器级界面的模型发表的演讲。原型实现位于实验代码中(实验代码已于 2016 年退役:许多想法现在以某种方式在 expl3 代码和宏包中实现;有些已被其他想法取代;少数仍然存在于原型级别,等待进一步发展)。
TUG99 海报展:作为图形的天启文本
- Frank Mittelbach 和 Christina Thiele
- 1999 年 TUG 会议(加拿大,温哥华)
- Metafont 的 Meta 字体:介绍、字体样本 1、字体样本 2
- 天启图形样本:样本 1、样本 2、样本 3、样本 4
介绍 TUG99 会议期间举行的展览的论文和辅助材料。它展示了 Alban Grimm 教授使用 Metafont 从《启示录》文本生成图形的作品。
数学的明确表示对于人与人之间或计算机系统之间的通信至关重要。OpenMath 是一项旨在支持各种计算软件工具(如计算机代数系统、定理证明器以及用于可视化或编辑数学文本的工具)之间进行语义丰富的数学交换的标准。MathML 是 W3C 关于“网络上”数学编码的建议,其中还包括用于编码数学语义的机制。我们介绍了这两种语言,并描述了它们之间的关系。
上面的链接可以从 ACM 数字图书馆免费下载论文。(由于 ACM 的限制,它不幸地无法从“所有出版物”页面工作。如果您在那里,请使用主题页面上的链接代替。)
关于 Oldenburg e-TeX/LaTeX3/ConTeXt 会议的笔记
- 会议纪要,1998 年
- 关键词:TeX 扩展、LaTeX3
e-TeX/NTS 数学排版的想法
- 会议纪要,1998 年
- 关键词:TeX 扩展、LaTeX3
1998 年初,e-TeX 项目和 LaTeX3 项目举行了一次会议。从这次会议中,我们做了一些笔记。会议期间的一个单独主题是改进 TeX 的数学排版。
默认 docstrip 标头
- 已发表论文,1998 年
- 关键词:LaTeX2e 宏包的文档
一篇关于 docstrip 标头的文章发表在《TUGboat》第 19 卷第 2 期中。它描述了默认标头的措辞变化,并给出了一些关于如何在您的文件中设置自己的特定标头的提示。
LaTeX2e 的回归测试套件
- Frank Mittelbach
- 已发表论文,1997 年
- 关键词:维护 LaTeX2e
一篇描述过去几年为 LaTeX 构建的回归测试套件的文章。它描述了一些历史,并概述了我们从中获得的结果。
LaTeX3 编程语言——TeX 宏编程的语法提案
- David Carlisle、Chris Rowley 和 Frank Mittelbach
- 已发表论文,1997 年
- 关键词:一般研究、LaTeX 编程的拟议模型
一篇简要概述 expl3 第一个版本的文章:一种拟议的 LaTeX3 编程语言。这篇文章发表在《TUGboat》第 18 卷第 4 期中。如今,expl3 是名为“L3 编程层”的 LaTeX 格式的一部分。
1997 年多语言语言处理会议(日本,筑波)
结构化文档中的语言信息:标记和渲染的模型
- Frank Mittelbach
- 1997 年多语言语言处理会议(日本,筑波)
- 已发表论文,1997 年
- 关键词:一般研究、LaTeX(当前和未来版本)的拟议模型
- 在日本筑波举行的演讲的录像版本(YouTube 上的模拟录音)
在日本举行的多语言排版会议上,以及后来的 TUG 会议上,提出了一个处理结构化文档中语言信息的新模型。这篇文章发表在会议论文集中,《TUGboat》第 18 卷第 3 期。
1996 年 Unicode 会议(德国,美因茨)
用于文档处理的文本的应用程序无关表示——Unicode 足够吗?
- Frank Mittelbach 和 Chris Rowley
- 1996 年 Unicode 会议(德国,美因茨)
- 已发表论文,1996 年
- 关键词:一般研究、语言、文本表示
一篇关于用于文档处理的文本的应用程序无关表示的论文;它讨论了 Unicode 的一些缺点。
LaTeX2e 编码接口
- Frank Mittelbach
- 演示文稿,1995 年
- 关键词:LaTeX2e 接口、输入编码、字体编码
在布尔诺举行的关于 LaTeX 提供的编码接口的演示。它讨论了与输入和输出编码相关的各种问题。
1989 年 TUG 会议(美国,斯坦福)
与 LaTeX 一起进入 90 年代
- Frank Mittelbach、Rainer Schöpf
- 已发表论文,1989 年《TUGboat》第 10 卷会议论文集
- 关键词:LaTeX 2.09
- 摘要
在过去的三年中,LaTeX 已经广泛传播,甚至进入了商业应用等新领域。存在新的用户类别这一事实迫使人们重新考虑 LaTeX 的实现及其某些功能。在几年内,仅 LaTeX 2.09 将不足以满足用户日益增长的需求。因此,LaTeX 概念的重要特征之一——交换文档的可能性——有可能在本地更改和增强的祭坛上被牺牲。
从这些考虑以及我们多年 LaTeX 支持的经验出发,我们将提出一个关于 LaTeX 重新实现的提案。这个新版本不仅将保留当前用户界面的基本功能(以便与旧的 LaTeX 文件兼容),而且还将考虑到已经提出的请求以及未来的发展。
在 1989 年斯坦福会议上发表的演讲论文,该演讲启动了 LaTeX 项目。
按年份出版物
通过选择目录中的条目,您将找到由 LaTeX3 项目发布的各种文章和论文的便携式文档格式 (PDF) 版本的链接,以及其会议演示视频的链接。此列表中的某些内容是“事后”整理的;如果您发现任何遗漏,请告知我们。
按主题出版物
在按主题出版物页面上给出了不同的视图,其中出版物按重要主题排序。
项目成员和其他人的书籍
我们认为有用的书籍列表在书籍页面上给出。通过本网站购买文档,您可以支持项目成员的志愿者工作,以保持 LaTeX 对您有用。