LuaTeX 实现 1ms 实时编译大文档

Real-Time LuaTeX: Recompiling Large Documents in 1ms [pdf]

长期以来,LuaLaTeX 编译大文档需要数十秒,让实时编辑成为奢望。本文揭示了突破这一瓶颈的关键:行距调整是局部的,而分页是全局的。通过直接从 LuaTeX 节点结构提取显示列表,绕过 PDF 生成步骤,我们实现了单段落约 1ms 的极速重编译。基于此,我们开发了浏览器端工具 texlode,其性能表现远超 Typst 的线性增长模式,实现了与文档大小无关的 O(1) 延迟。这意味着,像 Word 那样的实时编辑体验,终于可以在保持 LuaLaTeX 完美排版质量的前提下实现,无需在编辑反馈和排版精度之间做妥协。

像素级完美的 LaTeX 输出与实时编辑并非水火不容,而是可以完美共存。
  1. froh

    论文中提到的目的(原文摘录):

    > texlode 是一款基于该架构构建的浏览器端书籍编辑器,计划于 2026 年 10 月公开发布。它通过无冲突复制数据类型(CRDTs)提供协同编辑功能,支持从 Word 导入手稿、会议论文管理、封面设计工具,并能生成与标准 LuaLATEX 完全一致的印刷就绪 PDF。配套的会议演讲将展示该编辑器的实际操作。详情见:texlode.com。

    另外还提到了:

    > (章节)6 与 Typst 的对比

  2. gucci-on-fleek

    这个主题今天早些时候已经展示过了,你可以观看录制的视频 [0]。

    [0]: https://www.youtube.com/live/6riWbnT0grs?si=zIePpHrC6TEZpc_I...(从 2:52:46 开始)[1]

    [1]: 等会议结束后,我会把每个演讲单独剪辑成视频,不过我现在正忙着拍摄当前的演讲内容 :)。

  3. VorpalWay

    > 基准测试表明,按段落重新编译的延迟为 O(1),与文档大小无关;而 Typst [3] 的增量编译则呈线性增长(O(n))。

    > 代价是暂时的不一致性:用户未查看的页面可能会滞后,直到后台编译收敛,[...]

    不过,似乎没有任何理由阻止 Typst 也加入类似的功能。总体而言,这篇论文的作者对 Typst 似乎有些不屑一顾,但 Typst 也修复了 LaTeX 的许多问题,比如那糟糕的语法。真不明白他们为什么表现得那样。

同日更多故事

2026-07-18