使用纯 TeX 的原因

使用纯 TeX 的原因

鉴于 LaTeX 和 ConTeXt 的积极发展,以及 LaTeX使作者免受印刷细节的困扰和 ConTeXt让用户能够对格式进行广泛的控制从而采取有益的互补方法(见ConTeXt 维基那么,有什么理由使用纯 TeX 吗?

答案1

在不反对其他答案的情况下,让我尝试回答您的实际问题。

我认为迄今为止使用 Plain TeX 的最佳理由是它可以在 20 年后编译并产生与现在和 20 年前完全相同的输出。(好的,Knuth 已经修复了一些非常小的错误。)

考虑一下如今 LaTeX 的情况。不同版本的软件包可能会产生截然不同的结果。我曾与他人一起写论文,在截止日期前的 15 分钟内,我们收到了三份外观不同的 PDF,其中一份超出了页数限制,而这些 PDF 均来自相同的代码,因为分页决策已被更改某物。这是针对所有使用 LaTeX 2e 的人。今天就尝试编译 LaTeX 2.09 文件吧。Lamport 的原始 LaTeX 怎么样?

ConTeXt 的情况似乎更糟。它仍然处于紧张而积极的开发阶段。

答案2

两个词:输出例程。

LaTeX 的大部分重担都集中在其极其复杂的输出例程上,这基本上没有给用户留下任何自定义空间。使用普通的 TeX,您可以轻松覆盖默认的输出例程,从而让您在精确输出方面拥有极大的权力。

这只是我使用纯 TeX 的更普遍体验的一个例子对阵 LaTeX。(我没有用过 ConTeXt,但我想情况应该类似。)如果核心团队或软件包作者已经明确或通过参数化预见到了您的需求,那么一切都很好。但如果没有,您就完全倒霉了。事情往往以这样一种方式设置,即您无法在不重新实现大量脚手架的情况下覆盖它们。有人可能会说这是抽象泄漏的反问题:抽象通常防止你下降到更低的层次,即使那是你必须做的。

Plain TeX 采用完全相反的方法。一切都是低级的,因此在需要时很容易更改或覆盖。这种方法的缺点是显而易见的:它往往会给文档或格式作者带来更多工作,因为你通常不能直接使用已经准备好的包来做X对您来说。但好处是您可以更好地控制文档的排版方式。如果您不关心这一点(并且有完全合理的理由不关心),那很好;但如果您关心,纯 TeX 可以更轻松地实现这一点。

自从我放弃 LaTeX 转而使用纯 TeX 后,我注意到了另一件很少被提及的事情。有一种非常优雅的“最小标记”(这个术语来自基斯·范德兰 [PDF]) 往往用于纯 TeX 文档,我发现这比相当冗长的 LaTeX 命令和环境好得多。本质上,你最终会得到很多微小的领域特定语言,让你能够清晰简洁地表达文档的结构和样式。这使得纯 TeX 文档的自动处理几乎不可能,但它使它们成为一种人类非常令人愉快。混乱少了;命令逐渐消失在背景中,只留下文本。

我更喜欢纯 TeX 的原因还有很多,但其他人已经提出了很多。但请记住,学习曲线很陡峭,而且 TeXbook(仍然是掌握 TeX 的最佳方式)并不容易。但至少对我来说,这是一次非常值得和愉快的经历——现在仍然是。让 LaTeX 按照我的意愿行事总是令人沮丧和恼火;让纯 TeX 按照我的意愿行事有时很困难,但更令人满意。

答案3

LaTeX 满足了我 90% 的需求,但有时我还是需要深入了解。它是整个漏洞抽象事情。因此,尽管我不建议学习纯 TeX 格式,但我认为学习核心 TeX 语言可以让你成为更好的 LaTeX 或 ConTeXt 用户。

答案4

为什么要使用 Plain?我这样做的原因如下:

我一直使用 Plain TeX,出于历史原因(我原来的计算机没有足够的内存来支持 LaTeX)。

现在,这是出于美观的原因,类似于上面其他人提到的一些原因:文档更易于阅读和输入(至少在我看来)。我有一个纯宏文件来提供文档结构(标题、部分、章节、节、小节、颜色支持、双/三列、字体大小[包括文本和数学字体以及修复行距和标题等的相对大小],图形包含。(其中许多是我生成的,许多使用其他人发布的宏。)

我承认学习 TeX 需要付出努力,但对我来说,回报是一种直观的方式来控制文档并“调整”它。

遗憾的是,用于编辑 TeX 的集成环境通常不提供简单的 Plain Tex 选项,需要付出更多的努力才能支持 Plain Tex。

相关内容