主要观点:比较 Typst 和 TeX 的布局模型,探讨各自的优缺点及未来发展方向。
关键信息:
- TeX 布局模型基于“盒子”和“胶水”,通过构建水平和垂直列表来处理内容,注重可移动性以优化布局,能有效处理段落布局等,但在处理跨页、可变容器宽度等方面存在限制。
- Typst 布局模型以“区域”为中心,将内容实现为“流”,能根据位置调整布局,目前受限于区域宽度一致和矩形形状,在处理跨页表格等方面更有优势,但在一些方面灵活性不足。
- TeX 和 Typst 的设计分别以可移动性和放置性为先,存在一定冲突。
- TeX 模型在一些方面存在不足,如可变容器宽度、侧浮元素、可断表格等,Typst 模型也有类似和其他问题。
- 未来可通过“重新布局”来统一可移动性和放置性,Typst 因其语言设计更适合进行重新布局,但存在复杂性和性能挑战,如尺寸预测不准确、垂直居中困难、性能成本高等。
重要细节: - TeX 构建段落时需先确定每行宽度,不知页面时无法支持跨页或可变宽度容器的文本布局。
- TeX 的
wrapfig包在处理侧浮元素时存在问题,可能导致未占用空间。 - TeX 难以处理可断表格,而 Typst 能在页面边界处断表。
- Typst 最近解决了布局的全局可变状态问题,使布局更纯且无副作用,为重新布局打开了大门。
- 重新布局存在尺寸预测不准确、垂直居中困难等问题,Typst 的增量编译机制可帮助应对性能挑战。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。