我碰到构造。除了根据需要下载文件之外,latexmk / arara 还有什么不能做的吗?是什么让它成为引擎?
答案1
好吧,作为《Tectonic》的主要作者......
Tectonic 包含多种目标。目前,与其他 TeX 引擎相比,最明显的区别在于用户体验。确实,借助类似工具latexmk
以及各种命令行选项的正确组合,您可以通过多种方式模拟 Tectonic 体验。但是,我认为拥有一个明确认识到拥有良好用户体验的重要性并将在未来继续这样做的 TeX 引擎具有真正的价值。
另一个目标是可重现的文档编译。自动下载支持文件是一个不错的功能,但这些文件也确实来自一个单一的、版本化的“支持文件包”。这是迈向更广阔愿景的第一步,在这个愿景中,编译过程将记录所有需要的上下文信息,以便以后精确地重现文档。作为一名科学家,这对我来说是一个非常重要的目标。(技术愿景类似于 Cargo 的Cargo.{toml,lock}
模型)然而,在这方面还有很多工作要做。
第三个目标是可嵌入性。通过使用捆绑文件,将 Tectonic 引擎作为库嵌入到其他应用程序中变得更加可行 - 当前版本不依赖于环境变量、硬编码路径等。Tectonic 以 Rust “crate” 的形式提供,可从任意其他代码片段中使用。是的,您可以latex
从库中将其作为可执行文件调用,但如果没有确保可重现编译的工作,就很难知道这样做时会发生什么;并且在某些情况下您无法执行随机系统程序。(例如:从浏览器。)Tectonic 的这个方面尚未得到深入探索,但很多技术基础设施都存在。
最后,目标是使用 Tectonic 作为平台将 TeX 文档编译成令人惊叹的现代 HTML。从我以前的工作中,我开始相信,要充分做到这一点,唯一的方法是对引擎内部的几个方面进行更改。我还没有开始在 Tectonic 引擎中实现所需的基础设施,但我希望有一天这会成为使用它的最令人信服的理由。