三三文章网 - 科技知识大全是专业科技新媒体网站。网站著眼于新一代科技新闻的全面及时处理报导,让网民在外面第二时间交待全球新一代的科技资讯。内容涵括AI+、互联网、IT、创业投资、核定、区块链、智能硬件等领域

LaTeX历史:图灵奖得主1977年启动的计划,引发学术圈重大变革量子比特

  • 时间:
  • 浏览:0

△LaTeX用于记笔记的超能力操作

世界上许多人类都受益于LaTeX。

经过它布置的论文,无论有多复杂的公式,格式都不会乱。

但是,人们可能不知道,LaTeX有1977年出生的TeX的祖先。

而且在没有网络的时代,在全世界都大受欢迎。

那么,世界上最古老的开源项目之一TeX到底是如何诞生的呢。又象进化形LaTeX一样,几十年活跃不败?

专业排字师,找不到故事,从《计算机编程艺术》(The Art of Computer Programming)一书开始。

作者是斯坦福计算机系教授Donald Knuth,中文名字高德纳。后来也因为这本书,他获得了图灵奖。

1968年,初版问世。此前,他向出版商Addison-Wesley递交了数千页的手写稿件。出版社是传统的金属布局装置,需要专家手动操作。

那时计算机还没有图形界面。

书中有各种各样的编程例子,高德纳一点一点地向排字者说明他想要什么样的效果。当它成为一本书时,他非常满意。

转换发生在1976年,这本书准备再版,扩充了一些内容。此次,出版社变更为廉价的电子版面设计方法,样品完全没有达到高德纳要求。

我们知道高分辨率的数字排字机可以产生精确的形状,但以前没有专门的排字者。

用电脑软件代替专家怎么样?他认为。

于是,1977年高德纳用了一个夏天,再加上一年的学术假期,执行他的数字布局计划:和学生一起写布局程序,名字是TeX。

第二年,《计算机编程艺术》的修订版在《TeX》中完成了排版。

那时的高德纳可能不知道,TeX会引起学术布局的巨大变革。

原来你有这样的TeXTeX,论文的作者即使没有排版的专业知识,也能把自己想要的效果,直接传达给电脑。

只需在原稿中加入简单的markup代码:

叮当法的变化:

这是TeX输出的样子。

像60年代的高德纳教授一样,可以与版面设计人员密切沟通。此外,与计算机的交流还可以避免人与人之间的误解。

其实在markup中,这并不是什么稀奇的事情。但是TeX的新鲜之处在于,能够捕捉到非常实用的布局知识和概念,将它们系统化和表现出来:

高德纳定义了数百个合成命令。用于理解这些命令的排版机是能够读取作者的原稿,生成文件,直接到手的TeX引擎。

然而,高德纳还知道,无论理解多少指令,都不能满足原稿制作者的所有需要。

于是,他写了一篇具有扩展性的TeX,让用户随意添加自己想要的功能:

只需提供新宏即可定义新命令。因为每个人都可以自己创建宏文件,所以可以在不更改引擎的情况下扩展TeX的功能。

当然,高德纳因为也是自己写的工具,所以肯定可以自己使用。1984年还出版了TheTeXbook。这本书详细说明了所有原始命令的含义、通常的宏命令(Plain Macro Commands)以及引擎内部的工作原理。

这本书问世是为了鼓励开发者,写下自己的宏观。

在高德纳的坚持下,TeX引擎源代码40年免费,任何人都可以修改。

但是,规定所有不兼容的修改版都不能称为TeX。为了使用“TeX”这个名字,修正引擎还发布了必须通过测试的自动测试。

在没有互联网的时代,生于斯坦福的“TeX”走向了世界。它被移植到各种计算机系统、各种语言和各种打印设备上,为越来越多的人类布局。

1982年和1989年,“高德纳”对“TeX”进行了两次修改。

1992年,教授退出了项目,写下了《计算机编程艺术》。这本促进TeX诞生的书,不断扩充内容。

高德纳项目不会更新,但还有其他人继续他的工作。

从TeX到LaTeX,更简单的TeX命令集是低级的,并且适合那些希望从细节了解布局效果的人,如高德纳教授。

但这几百条命令,对大多数人来说可能太多了。

“你可以让电脑做的决定,不要问我。”

用户往往认为手写的合成命令越少越好,需要上层的命令,更容易使用的markup语言。

最好是一种可以将内容(内容)和表达形式(Presentation)分开的工具。

Scribe:爆炸的前奏,1980年Scribe诞生了。卡内基梅隆大学(CMU)布莱恩里德博士论文项目。

在80年代初期,Scribe得到了许多学术作者的支持。但不是免费的。这一点妨碍了传播。

尽管如此,这不仅仅是一个小故事。

Scribe有一位来自斯坦福大学Leslie Lamport(简称“兰博”)的忠实用户,当时他已经是一位著名的计算机科学家。

他在尝到便利之后,为了将Scribe的易用性转移到TeX,发明了LaTeX。

LaTeX:大爆炸1984年,兰伯特自己创建了一个名为“lplain”的宏,“l”是他姓的首字母。

其中的一系列命令比TeX中的原始命令容易使用得多。

推出新宏免费使用:运行一个LaTeX程序,只需让TeX引擎先读取这个宏。

兰伯特还写了《a Document Preparation System(a Document Preparation System)》一书,教学术作者如何按照他写的命令布置文章。

当然,即使有LaTeX,用户也可以使用TeX的下位命令,实现复杂的需求。

由此,TeX用户数大爆发。

许多人长期使用“LaTeX”这个命令,甚至不知道有“TeX”这个名字。

整个学术布局行业也因LaTeX的诞生而受到深远影响:

在这个领域,精确的布局很重要,以前只有手动布局才能满足需求。但在现代世界,论文、期刊、书籍和其他出版物大量产出,远远超过了可以手动布局的吞吐量。

LaTeX在实现自动化的同时,不会损害布局的质量。

目前,许多学术出版机构接受由LaTeX布置的原稿。

此外,ArXiv这片机器学习论文的肥沃土地,也在LaTeX的营养下,有着更加旺盛的生机。

因为即使没有出版社的版面设计,作者也能把严谨、井然有序的研究成果送给世界人类。

真是一个美好的世界。

One More Thing是个问题,为什么LaTeX的鼻祖高德纳会有中文这个名字呢。

1977年夏天,他在中国度过了三个星期。名在该时刻被解除锁定。

巧合的是,布局计划也在那个夏天开始了。

文本传输门:

https://increment.com/open-source/the-lingua-franca-of-LaTeX/