Typst 0.12 发布:全方位提升的排版系统
开源排版工具 Typst 推出了备受期待的 0.12 版本。本次更新不仅带来了多项重磅功能,涵盖布局、PDF 输出和性能优化,还对软件的底层架构进行了深入改进。Typst 0.12 版本的发布标志着该排版工具的进一步成熟,也让开发者和文档创作者们能够以更高效的方式处理复杂的排版任务。
持续创新的 Typst
自 2019 年推出以来,Typst 一直致力于打造一个从最简单到最复杂文档都能胜任的排版引擎。Typst 不仅继承了 LaTeX 等排版系统的优点,还融入了许多全新的设计理念,为用户提供了更直观且灵活的操作方式。本次发布的 Typst 0.12 版本是历时六个月的开发成果,它大幅优化了布局和排版性能,同时对 PDF 输出格式进行了改进,展示了 Typst 不断进步的实力。
Typst 0.12 的更新并不只局限于表面功能的提升。开发团队进行了大量底层重构,为未来的功能扩展和改进奠定了坚实的基础。值得注意的是,Typst 未来计划支持 HTML 输出、更加易访问的 PDF 以及更强大的布局能力,Typst 0.12 已经为这些功能打下了必要的基础。
强大的新布局功能
在 Typst 0.12 中,布局系统的最大亮点是支持跨多栏的浮动图形。通过为 figure
或其他浮动元素指定 scope: "parent"
,用户可以轻松将图形跨越多栏布局。这项功能对于报表、论文以及其他需要复杂排版的文档极为实用。为实现这一功能,Typst 团队对布局引擎进行了全面重构,而不仅仅是采用简单的补丁式改进。这样做的好处在于,不仅仅是多栏浮动图形受益,还修复了孤行标题和脚注定位等问题,并为将来可能推出的侧边浮动图形、图形绕排文本等功能奠定了基础。
#set page(columns: 2) #set columns(gutter: 15pt) #set par(justify: true) #place( top + center, float: true, scope: "parent", text(13pt)[*关于矩形的论述*] ) #figure( placement: bottom, scope: "parent", rect(width: 70%), caption: [一个标准矩形], ) 矩形因其多功能性、简单性和实用性,通常被认为是优越的形状。它们的四个直角和直边使它们易于堆叠、排列和排布...
同时,Typst 0.12 还新增了另一项备受用户期待的功能——自动行号。在学术论文或法律文档中,行号是一个极为实用的工具,尤其是在需要精确定位段落时。Typst 现在支持为文档中的任意文本添加行号,用户可以根据具体需要,灵活控制文档的不同部分是否显示行号。
#set par.line(numbering: "1") 行号非常有用,特别是在需要审阅文档时。它们能让审稿人明确指出某个问题的确切位置...
这项功能对于文档审阅、校对和协作工作极为有益。此外,Typst 的行号功能可以灵活开启或禁用,甚至可以在深度嵌套的结构中使用行号。
更优质的 PDF 输出
Typst 0.12 在 PDF 输出上也进行了重要改进。首先是PDF 文件体积显著缩减。过去,PDF 文件会将字体嵌入文档中,而嵌入的字体体积较大。Typst 0.12 通过改进字体子集化技术,只保留文档中实际使用的字体字形,显著减少了 PDF 文件的大小。尤其是在使用 .otf
字体时,文件体积的减小尤为显著。
其次,Typst 0.12 还解决了一个长期存在的问题:PDF 中的 Emoji 显示。由于 PDF 格式的历史原因,它并不原生支持 Emoji 字体。Typst 通过模拟多种标准,成功实现了 Emoji 的正确渲染,使文档输出更加现代化和多样化。
此外,Typst 0.12 还新增了对PDF/A-2b 标准的支持。PDF/A 是一种专门用于长久保存的 PDF 标准,许多机构要求文档必须符合该标准。Typst 通过在 Web 界面中增加 PDF/A 选项,以及通过命令行参数 --pdf-standard a-2b
,让用户轻松生成符合该标准的 PDF 文件。未来,Typst 还计划支持更多的 PDF 标准,包括专为辅助技术用户设计的 PDF/UA 标准。
性能显著提升
对于排版工具来说,性能至关重要。Typst 团队深知这一点,因此在 0.12 版本中,性能提升成为了一项核心改进。
Typst 0.12 的一个重要升级是多线程布局引擎。在此之前,Typst 的布局引擎几乎是单线程工作的,但现在在合适的条件下,Typst 可以充分利用所有 CPU 核心进行并行处理。虽然速度提升与 CPU 核心数量并非线性关系,但在较大文档中,Typst 0.12 仍能实现 2-3 倍的速度提升。如果用户习惯在章节开始时明确分页,那么性能提升将更加明显。
除了多线程支持,Typst 对段落对齐算法进行了优化。通过引入新的两步算法,段落对齐的速度最高可提升 6 倍,特别是在文档中段落较短的情况下表现尤为突出。此举不仅提高了文档生成速度,还让实时预览变得更加流畅。
内部架构的优化
除了表面的功能改进,Typst 0.12 还在内部系统上进行了大幅重构。这些改动可能在短期内不明显,但为未来的扩展打下了坚实基础。例如,Typst 新增了一个元素跟踪系统,使得布局引擎能够实现多线程处理。团队还重写了排版引擎中的样式和页面布局处理机制,解决了许多长期存在的样式和内省错误。此外,为了支持未来的 HTML 导出功能,Typst 对 set
和 show
规则的解析系统也进行了重新设计。
文档迁移指南
对于已经使用 Typst 的用户,Typst 0.12 的某些更新涉及一些破坏性变更,因此现有文档可能需要进行调整。最重要的变化之一是两栏布局的实现方式:0.12 版本中,用户应使用 page set
规则而非 columns
函数来设置两栏布局。这一改变确保了浮动图形、脚注和行号在多栏文档中的正确显示。
此外,段落间距的设置方式也有所变化。Typst 0.12 允许直接通过 par.spacing
来设置段落间距,而不再需要使用复杂的 show-set 规则。
// Typst 0.12 ✅ #set par(spacing: 1.5em) // Typst 0.11 及更早版本 ❌ #show par: set block(spacing: 1.5em)
虽然这些改动可能需要用户进行一些调整,但 Typst 提供了详尽的迁移文档和工具,帮助用户顺利升级到新版本。
结语
Typst 0.12 的发布无疑标志着该排版工具迈向更高的水平。通过对核心布局引擎的全面重构、多线程支持、PDF 输出优化以及性能提升,Typst 已成为一款功能强大且高效的开源排版工具。随着更多功能和标准的逐步支持,Typst 未来的发展前景令人期待。无论是学术写作、报告生成,还是复杂文档的编排,Typst 0.12 都为用户提供了更强大的工具和更便捷的体验。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
MySQL8 窗口函数是真的省事!
@[toc] MySQL9 已经出来了,MySQL8 相信也慢慢走进各位小伙伴的工作中了。 MySQL8 还是有很多重量级变化的,一些底层优化大家在使用中有时候不易察觉,但是有一些用法,还是带给我们耳目一新的感觉,今天松哥和大家分享一下 MySQL8 里边的窗口函数。 一 什么是窗口函数 在 MySQL 8 中,窗口函数(Window Functions)是一类强大的分析函数,允许你在查询结果集上执行计算,而无需将数据分组到多个输出行中。窗口函数通常与 OVER() 子句一起使用,以指定数据窗口,即窗口函数将要在其上执行计算的行集。 简单来说,窗口函数的作用类似于在查询中对数据进行分组,不同的是,分组操作会把分组的结果聚合成一条记录,而窗口函数是将结果置于每一条数据记录中。 窗口函数的格式类似下面这样: <窗口函数> OVER ([PARTITION BY <分组列> [, <分组列>...]] [ORDER BY <排序列> [ASC | DESC] [, <排序列> [ASC | DESC]]...] [<rows ...
- 下一篇
Zotero 7.0.8 发布,参考文献管理工具
Zotero 是一个参考文献管理软件,也是一个免费 Firefox 和 Google 浏览器扩展。Zotero 可以协助用户收集、管理及引用研究资源,包括期刊、书籍等各类文献和网页、图片等。 Zotero 7.0.8 现已发布, 该版本更新内容如下: 添加或更改的功能 添加了“Move To”和“Copy To”上下文菜单选项,相当于collection drag-and-drop “Copy To”还可用于复制同一库内的馆藏 添加了“Change Parent Item….”上下文菜单选项,相当于attachment/note drag-and-drop [Mac] 在 macOS Sequoia 上支持 Ctrl-Enter 上下文菜单快捷键 Reader:在链接上下文菜单中添加了“Copy Link”选项 Reader:现在可以通过上下文菜单中的滑块或 Shift-Up/Down-Arrow 调整文本注释字体大小 Reader:使用屏幕阅读器时,添加了阅读器键盘交互的语音指令(7.0.7 版新增) 如果已知文件类型缺少文件扩展名,“Rename File from Parent ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6