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 上录制的会议演讲视频:穿过镜子,约瑟夫在那边发现了什么
宏包和类的回滚概念
- 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 Wright
- 2018 年 TUG 会议(巴西里约热内卢)
- 摘要
LaTeX3 编程语言
expl3
在过去十年中不断发展壮大,形成了一个强大而稳定的环境,用于解决 TeX 中的问题。一个关键目标是扩展这项工作,以涵盖更广泛的领域。在最近的工作中,该团队一直在现有代码的基础上进行构建,特别是可扩展的 FPU,以开发颜色、绘图和图像支持的方法。在本次演讲中,我将探讨为什么这项工作有用,我们可以从哪些模型入手,以及这项工作迄今为止将我们带向何方。
发表于 TUGboat 39:2, 2018 的会议论文:在 expl3 中支持颜色和图形
IMPA 在 YouTube 上录制的演讲视频:穿过镜子,约瑟夫在那边发现了什么
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 学习管理系统创建教学材料
带我飞向月球:(La)TeX 使用 Lua 进行测试(以及更多)(幻灯片)
- Joseph Wright
- 2018 年 TUG 会议(巴西里约热内卢)
- 摘要
测试自 LaTeX 团队成立以来一直很重要,多年来,为内核创建了一套复杂的测试文件。运行测试的方法在过去的四分之一个世纪中有所不同,这与团队工作方式的变化有关。
近年来,Lua 作为所有 TeX 系统中的脚本语言的可用性意味着它已成为支持这项工作的自然选择。以此为驱动力,该团队开发了
l3build
用于自动运行测试。在核心工作的基础上,l3build
已发展成为为可靠地发布宏包(和 LaTeX 内核)提供强大方法。在这里,我将回顾我们的测试方法的背景,然后展示 Lua 如何以及为何在此处为我们工作。
IMPA 在 YouTube 上录制的演讲视频:带我飞向月球:(La)TeX 使用 Lua 进行测试(以及更多)
用于全局优化分页的通用 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 错误数据库的退役。
按年份发布的出版物
通过选择目录中的条目,您将找到 LaTeX3 项目发布的各种文章和论文的便携式文档格式 (PDF) 版本的链接,以及其会议演示视频的链接。此列表中的某些内容是在“事后”组装的;如果您发现任何遗漏,请告知我们。
按主题发布的出版物
在按主题发布的出版物页面上给出了不同的视图,其中出版物按重要主题排序。
项目成员和其他人的书籍
我们认为有用的书籍列表在书籍页面上给出。通过本网站购买文档,您可以支持项目成员的志愿工作,以保持 LaTeX 对您的有用性。