TeX Live 和 MiKTeX:根本的基本区别

TeX Live 和 MiKTeX:根本的基本区别

(La)TeX 的两个标准发行版:MiKTeX 和 TeX Live。为了了解它们之间的区别,我搜索了这个网站,发现了各种不同之处,其中一些是

  • MiKTeX 基于 Windows,而 TeX Live 则针对多种平台开发
  • TeX Live 比 MiKTeX 更安全
  • MiKTeX 不会冻结,并且始终有更新

现在,我想知道的是,在 TeX 的底层开发中,TeX Live 和 MiKTeX 的实现方式是否存在差异。深入来说,我想知道的是,

  1. TeX Live 和 MiKTeX 在算法实现上有什么不同吗
  2. 以上哪项在执行和优化方面是高效的

答案1

问题在于你在说什么,我会说(至少)有三个不同的层次:

  • 引擎的实际程序代码(pdftex、luatex 等)
  • TeX、MetaFont、MetaPost、字体、支持文件
  • 基础设施-更新管理器等

关于第一项,即程序代码,我认为他们同意的程度超过 90%。以 pdftex 引擎为例:代码是独立开发的,并定期拉入 TeX Live 以及 MikTeX。实现换行、分页等的算法 100% 相同。改变的是使其在不同架构上编译的调整。话虽如此,我认为速度没有任何明显的差异。

至于第二项,支持文件,它们也是 99.99% 相同,因为我们都从 CTAN 中提取。

唯一真正的区别在于基础设施,即:集成到操作系统、更新管理器等等。这里 MikTeX 的 Windows GUI 可能看起来更好,或者集成得更好(我不知道,我只使用 TeX Live),因为他只针对 Windows,而我们有一个在所有平台上看起来都相同的 GUI。

我想补充一点区别在于 updmap 文件、格式​​文件、树、texmf.cnf 文件的处理。这里我们采用了不同的方法和不同的脚本。但这些文件仅用于产生其他输入文件,然后由各种引擎进行评估。这意味着只有在安装/删除软件包时,这些事情才重要。

在我看来,底线是:从引擎算法上看,它们完全相同。从管理算法上看,它们完全不同 ;-)

希望有帮助

Norbert TeX 现场团队

相关内容