什么是 KerTeX?

什么是 KerTeX?

有两处提到了一款名为压缩包在 TeX.SX 上()。这更像是 TeX Live 的替代品,还是 TeX 本身的替代品?与我们现在在 TeX Live 2011 中使用的相比,使用 KerTeX 有什么好处吗?

答案1

因为我是 kerTeX 的作者,所以我将对 kerTeX 的目标、kerTeX 的现状以及 kerTeX 的未来进行一些详细说明。

kerTeX 的首要目标是并且将继续是能够轻松地获得 Donald E. Knuth 给我们的东西:TeX 系统,它不仅是 TeX,而且是 METAFONT 和字体。因为 Donald E. Knuth 的目标是自由的能够在不依赖任何人或其他任何事物的情况下编写和制作他的书 - 这样他就不会再听到说不可能像以前那样制作他的书,因为字体和布局依赖于现在已经孤立的技术 - 我发现这一系列工具越来越难以在任何系统上获得和使用,因为针迷失在大海捞针中。

这是第一次;而且这仍然是 kerTeX 的主要目的。为了拥有一个相当舒适的最小系统,不仅提供了 DEK 的程序,还提供了 e-TeX(从右到左)、MetaPost、bibtex,当然还有 dvips 和 AMS 字体。

这个目标也意味着,如果我需要反馈来调整我不使用的系统的工具——我不想有义务安装所有现有系统的所有版本,因为即使报告对人们来说也太费劲了!——kerTeX 故意不排除任何系统。最低要求是 libc。对于构建,POSIX 实用程序的子集(最小子集)。这意味着通过交叉编译,几乎每个系统都可以得到支持。Windows 可以通过与 Mingw 的交叉编译得到支持,只需进行一些小的调整——我现在根本没有时间也没有个人需要关注这一点。

未来,下一步将通过 utf-8 实现 unicode 支持。但我确实认为,这可以在不对 TeX 程序核心进行巨大改动的情况下实现——对于字体,METAFONT 可以保持不变,而“支持”将是使用工具的外部支持。

通过 utf-8 实现的 Unicode 意味着与 tfm 相关的一些更改。但同样,这可以通过将 tfm 保留为 256 个字形子集,但使用字体作为目录来轻松完成。(稍后会详细介绍。)

我不希望 kerTeX 受到外部依赖的困扰,如果这些外部依赖不满足,将阻止 DEK 程序的使用。这并不排除修改或扩展,只要核心、内核仍然可用。

我不想从 DVI 切换到 PDF天生地正是出于这个原因,也出于许可或版权的原因:我不想有一天因为一些律师团伙以声称的专利侵权为由吓阻间接使用 PDF,而无法使用这些程序。

我已经把大海捞针放在一边。大多数人会发现,在 95% 的情况下,这些针都是他们使用或需要的。而剩下的 5% 则无需依赖数 GB 的外部设备即可满足。

我希望这能澄清一些事情。(请不要指望我参与很多讨论,因为我很忙,要处理 KerGIS、kerTeX 和所有其他事情,我希望大家可以想象……)

答案2

KerTeX 是一个最小源代码发行版,可从中构建 TeX 和相关工具。制作 KerTeX 的目的似乎是:

  • 生成 TeX 二进制文件而不需要链接库(例如 pdfTeX 需要链接库)
  • 拥有一套可以(广泛地)描述为在类似 BSD 许可证下可用的工具
  • 制作一个可以从源代码构建的非常小的 TeX 系统。

为此,源分发不包括任何预先打包的 (La)TeX 源或文档(例如没有、、.dtx文件,.pdf.styETC。)。构建脚本确实包含一个构建格式的部分,其中包括从 CTAN 获取 LaTeX2e 的基本部分。(在撰写本文时,构建脚本假设root在 Unix 系统上有一个激活的帐户,这使得在 Mac 或 Ubuntu 上构建具有挑战性:我无法进行全套测试。也没有在 Windows 或其他非 POSIX 操作系统上构建的脚本。)

KerTeX 的作者也提出了一些想法,例如使用 8 位范围之外的材料,但基于使用多种字体和文件布局的方法,而不是加载系统字体和使用 UTF-8 输入。因此,该项目在某些方面与 Knuth 的原始 TeX 更紧密相关,而不是后来的项目,例如 pdfTeX、Omega、XeTeX 或 LuaTeX。作者还提出了关于打包方法的建议,同样基于文件布局,而不是 TeX Live 或 MiKTeX 类方法。

至于好处,部分取决于你想要什么。KerTeX 项目非常关注开发者所在社区的需求,需要具有适当许可证的小型源代码分发。KerTeX 似乎不太可能采纳直接 PDF 输出、UTF-8 输入或加载系统字体等想法。因此,这种方法可能会吸引有特殊需求的用户。

相关内容