我知道 TeX 和 LaTeX 的基本历史,以及 Knuth 博士创建 TeX 的动机。主要是,在 1977 年单版印刷系统被照相排版系统取代后,他对自己书的第二版样稿的质量感到失望。此后,他开始研究 TeX,并于 1978 年正式发布。
我假设创建 TeX 是一个相当大的项目。除了创建 TeX 之外,没有其他解决方案吗?到那时,贝尔实验室已经为 Unix 开发了 troff(1973 年)和 eqn(1974 年),如果我没有记错的话,它们在那个时候(70 年代末)开始授权给学术机构。Donald Knuth 是否知道这些或可以使用它们?我还想知道是否还有其他类似的替代方案。
我知道那些文本处理程序不如 TeX,但我确信如果他能用这些程序,它们应该能很好地为他提供写书的绝佳工具。因此,我的问题归结为:他还有其他可用的程序吗?如果有,是什么促使他创建了 TeX?他觉得它们不够好还是只是想制作自己的程序?
答案1
我回答的是文本中的问题,而不是标题中的问题。
他知道几个系统,如 troff 和 EQN 等。其中一些系统在 1978 年的 Gibbs 讲座(1979 年出版)中被提及和引用。在这篇文章中,他研究了其中两个系统的输入格式,并解释了为什么他更喜欢 \TeX 的反斜杠符号。
Knuth 回答了你关于 troff 的问题: https://www.tug.org/TUGboat/tb17-4/tb53knun.pdf;参见第 349 页左栏,Andries Lenstra 提出的问题。
Andries Lenstra:为什么不从 troff 开始?这完全不合适?
唐纳德·克努斯:是的,是的。您知道,troff 是在……上打补丁的。我的意思是,有一个完整的系统,它是第五代,每个系统都是另一个系统的补丁。所以是时候放弃它并重新开始了:“这就是语言应该的样子,所以让我们为它设计一些好的数据结构。”而不是“让我们尝试兼容。”我的优势在于我不在贝尔实验室,在那里我不会因为说“让我们把一切都扔掉”而伤害任何人的感情。[笑声] 贝尔实验室的人不可能做这样的事情——这不太好。但我突然想到,既然我们已经证明这个目标是可能的,我应该重新开始,重新思考如何从输入到输出,这样程序就可以更加统一,更小,并且也可以工作。我的意思是,troff 一直在崩溃。许多最早使用 TeX 的用户都因 troff 一再出现问题而感到沮丧,因此它变得难以使用。但它也证明了隧道尽头有光明。
我还不得不放弃 TeX,然后重新开始;五年后,我决定最好回去重新做这个程序。但如果是我隔壁办公室的朋友做了这件事,那就很难做到了。[笑声] 所以,我的理念就是总会有一些人比其他人更关心质量,我想让 TeX 对他们有好处。我看不出有什么好办法可以避免编写出糟糕的文档,除非你的系统只有一个选项菜单;这对一大群用户来说是件好事,可以创建一个非常简单的系统,让你不可能在其中做任何丑陋的事情。