毫无疑问,TeX 的原始 Pascal/WEB 实现是一个杰作,我通过阅读源代码(既有复杂的也有复杂的)学到了很多东西,但它确实显示出了它的年代感。大多数代码处理诸如低级数据结构和内存管理之类的事情,而这些事情在具有良好库的更现代的语言中会简单得多或没有必要。
是否曾经努力用 Python 等现代语言重新实现 TeX,同时保持完全向后兼容性?
我曾经多次尝试过,并且一些进展,但如果存在其他工作我也很感兴趣。
答案1
有数百个部分的重新实施和没有人可以吃完!真的启动这样的项目很容易,但要完成它似乎真的是不可能的...是的,LuaTeX 可能不仅仅是一个开始,但此时它有很多错误。
答案2
答案3
我正在用 Haskell 重新实现:十六进制。目前除了处理非常简单的文件之外,它没有做太多事情,但它一直在进步。
答案4
LuaTeX(C)
如今(十多年后),LuaTeX 已完全转换为 C 并且相当稳定。
TeXifier(C++)
TexpadTeX/Texifier声称可以将 TeX 源代码完全转换为 C++。(尽管这个只有 C++ 版本)
(免责声明:我与 TexpadTeX 没有任何关联,也不是它的用户,只是为了补充完整而在这里发帖。)
Tectonic(C/C++/Rust 的混合)
主页:https://tectonic-typesetting.github.io/
从https://tectonic-typesetting.github.io/en-US/contribute.html#working-on-the-source-code:
由于历史原因,Tectonic 是用 C、C++ 和 Rust 的组合编写的。目标是最终将其完全转换为用 Rust 编写,但这将需要一段时间长的时间。
基于 XeTeX。(我很惊讶之前没有提到这一点。)