如何即时编译?

如何即时编译?

我使用 tex 来打印论文。编写一篇 30 页的论文(包括图片)大约需要 10 秒钟。虽然还不错,但我希望它更顺畅。

我以为这只是编译器的自然限制。然而,最近我看到一位同事使用特克帕德(无意添加广告),它可以即时编译并显示最终结果!我想知道它背后的技术是什么,以及如何在 Linux 中实现这样的编译速度。

答案1

以下答案取自 Manuel Kuehner 博士在评论中分享的官方博客文章。


除了以下改进

  1. 无需通过磁盘传输数据
  2. 用 C++ 编写编译器
  3. 使用 Apple 的 Metal 框架将输出的字符和形状直接写入图形内存(而不是创建这种中间表示)

改变游戏规则的是,他们设法进行了增量排版,如下面的引文所示

更令人兴奋的是,更深层次的编辑器/排版机集成使我们能够从传统排版模型转变为 Texpad 1.8 中的“实时排版”。TexpadTeX 不是从文档开头开始,每次排版都一直排到结尾,而是可以咨询编辑器和查看器,只排版用户光标和输出查看器中可见内容结尾之间的文档部分。通过只排版用户预览其工作所需的内容,这种增量模型大大减少了排版所需的时间。这使我们能够在每次击键时运行排版,在大多数情况下,用户可以几乎实时地预览输出。从每隔几分钟排版一次转变为每秒排版一次以上的缺点是,额外的计算会使 Texpad 非常耗电。

相关内容