TeX(/tɛx/,常被读作/tɛk/,音译“泰赫”,“泰克”,写作“TeX”),是一个由美国计算机教授高德纳(Donald Ervin Knuth)编写的排版软件。TeX的MIME类型为application/x-tex
,是一款自由软件。它在学术界特别是数学、物理学和计算机科学界十分流行。TeX被普遍认为是一个优秀的排版工具,尤其是对于复杂数学公式的处理。利用LaTeX等终端软件,TeX就能够排版出精美的文本以帮助人们辨认和查找。
高德纳最早开始自行编写TeX的原因,是因为当时的电脑排版技术十分粗糙,已经影响到他的巨著《计算机程序设计艺术》的印刷质量。他以典型的黑客思维模式,决定自行编写一个排版软件:TeX。
他计划在1978年的学术休假时完成这项工作,但事实上,直到十多年之后的1989年,TeX语言才被“冻结”(可以使用)。1978年夏天,盖伊·史提尔二世在高德纳编写其第一版的TeX程序时,正好在高德纳所工作的斯坦福大学,当他回到麻省理工学院(MIT)时他在ITS(英语:Incompatible Timesharing System)下重写了TeX的输出输入系统。TeX的第一版是用SAIL编程语言(英语:SAIL programming language)写成的,运行于PDP-10型计算机(英语:PDP-10),采用斯坦福大学的WAITS(英语:WAITS)操作系统。在之后的TeX版本中,高德纳(Knuth)发明了所谓的“文学编程”(literate programming),一种从同一源文件自动生成可编译的源代码和高质量的文档的编程方法。这种语言被称为WEB,它所生成的源代码是使用Pascal编程语言。
一个从头开始重写的新版TeX于1982年发布,它被称为TeX82。除了其他修改之外,原本的断字算法被Frank Liang(英语:Frank Liang)编写的新算法所取代。TeX82还使用了定点而不是浮点,以确保结果在不同的计算机硬件上重现。并且在盖伊·史提尔的大力游说下,TeX82包括一种真正的、图灵完全的编程语言。1989年,高德纳发布了新版本的TeX和Metafont。尽管高德纳希望保持程序的稳定性,但他意识到,只能输入128个不同的字符不足以容纳外语;因此TeX 3.0版本的主要变化是能使用8位输入,即在文本中允许输入256个不同的字符。
从TeX第三版开始,之后的升级是在小数点后加入一个新数位,使之越来越接近圆周率“π”的值。TeX目前的版本是3.14159265。这显示了TeX已经十分稳定,任何的升级都十分细微。高德纳曾表示“最后一次升级是(于我过世后)将版本数改为‘π’,那时任何余下的漏洞将被看作程序的功能。”
由于TeX的源代码基本上处于公共领域,其他程序员可以(并明确被鼓励)改进系统,但需要使用其他名称来分发修改后的TeX。例如,Omega项目是在1991年之后开发的,主要是为了提高TeX的多语种排版能力。高德纳创建了“非官方”修改版本,例如TeX-XeT,它允许用户在同一文档中混合写入从左到右和从右到左书写系统的文本。
此乃一简易的TeX文本范例。首先创建一名为myfile.tex
的纯文本,并载有以下内容:
Hello, World\bye % marks the end of the file; not shown in the final output The quadratic formula is − b ± b 2 − 4 a c 2 a {\displaystyle {\hbox{The quadratic formula is }}\textstyle {-b\pm {\sqrt {b^{2}-4ac}} \over 2a}} 种情况,而是采用一种算法复杂度仅为(2)的最短路径算法,加上不考虑空格伸缩量太大的情况,断行所用的时间几乎和段落大小成正比。在分页问题上,TeX并不采用一种考虑所有情况,得出最优解的算法,而是用一页一页处理的方法,因为一是分页的灵活性没有断行那样高,二是当时的计算机没有足够的速度。但是,TeX仍然有避免寡行和孤行的功能。Michael Plass(英语:Michael Plass)的一篇论文指出,考虑到图表的放置位置的完美分页算法可能为NP完全。TeX的断行算法后来被Adobe InDesign等桌面出版软件所采用。
在断行时,如果一遍不成功,TeX会尝试断字,即把一个诸如“computer”的多音节单词断成“com-”和“puter”或“compu-”和“ter”分在两行。TeX82采用了一套Frank Liang于1983年发明的断字算法。这套算法采用“匹配项”的方法。“匹配项”的作用是找到单词中可能出现的一些字母组合,然后在适当的位置插入数字来表示可能/不可能的断字点。这些“匹配项”对单词的字母与字母之间会给予是否为断字点提示。提示有相对的强弱。如果提示互相冲突,则强的会覆盖弱的。最后留下来的提示决定一处是否为断行点。TeX自带4447条“匹配项”,从.ach4开始到z4zy结束。所有“匹配项”使用1到5这5个数字,其中奇数表示可能为可断字点,偶数表示不为可断字点,大的数字的话语权强于小的数字。例如,h5elo的含义是,单词中如果出现“helo”,那么在“h”和“e”之间有很大把握为可断行点(例如“bach-e-lor”和“ech-e-lon”);hach4的含义是,单词中如果有“hach”,则“h”后面很可能不是断字点(如“tooth-aches”),虽然把握没有数字5的那么大。例如,对于单词“encyclopedia”,对得上的匹配项有1c4l4, 1cy, 1d4i3a, 4edi, e3dia, 2i1a, ope5d, 2p2ed, 3pedi, pedia4, y1c
。插入完所有数字后,留下来的数字中的最大值为en1cy1c4l4o3p4e5d4i3a4
,最后奇数处为可断行点:“en-cy-clo-pe-di-a”。
这种方法可以找到约90%的正确断字点,几乎从不出错。而且,TeX有一个“断字特例表”的功能,对于自带断字算法出错的单词可以手动处理。TUG(TeX用户组)有一份英语单词的特例表。另外,TeX默认不会把单词在前两个字母或后三个字母之间断开,所以encyclopedia一词不会断成“encyclopedi-”和“a”(这样不好看)。
TeX是非常稳定的程序,高德纳悬赏奖励任何能够在TeX中发现程序漏洞(bug)的人。每一个漏洞的奖励金额从2.56美元(16进制的一美元)开始,以后每发现一个bug,都会翻倍,直到目前的327.68美元封顶。然而高德纳从未因此而损失大笔金钱,因为TeX中的漏洞极少,而真正发现漏洞的人在获得支票后往往不愿将其兑现。到目前为止,关于TeX的最后一个bug是被Oleg Bulatov发现的。
有许多派生出来的文档处理程序就是基于TeX的,主要的有:
TeXmacs是一个所见即所得的科学文档编辑器,利用TeX字体作为显示字体,具有类似Emacs的编辑方式。它可以导出为TeX文本,PS,PDF文档,以及HTML,XML页面。LyX也是一个类似的工具。
TeX这个词的标准发音为/tɛx/,其中 /x/相当于中文里“赫”字的声母,或者苏格兰语“loch”一词中“ch”的发音(X其实是希腊字母 χ)。发音接近“泰赫”。在英语和法语中实际通常读作 /tɛk/,发音接近“泰克”。TeX这个词来自希腊文中的 τέχνη (TEXNH),希腊文意为“艺术”和“制造”,也是英语中 (技术)的词源。书写时,三个字母都是大写,字母E应当低于其他两个字母。而不支持下标的系统则只能这样书写:“TeX”。
TeX的用户喜欢创造一些和TeX有关的词汇,例如“TeXnician”(与英语单词“technician”,技工的发音相近,意为“TeX用户”),“TeXhacker”(“TeX程序员”,“TeX黑客”)和“TeXnique”(与英语单词“technique”,技巧的发音相近,意为“TeX水平”)等。另有人发明一词为“TeXpert”(“TeX高手”),但是高德纳本人反对这一名称,因为这里TeX一词的读法是错误的。
相关 超分子化学 超分子化学(英语:Supramolecular chemistry)是化学的一门分支,专注于分子之间的非共价键结作用。相较于传统化学上所研究的共价键,超分子化学的研究对象是一些较弱且较具可恢复性安达曼-尼科巴群岛 安达曼-尼科巴群岛(英语:Andaman and Nicobar Islands;孟加拉语:আন্দামান ও নিকোবর দ্বীপপুঞ্জ;泰米尔语:அந்தமான் நிக்கோபார் தீ恩基 其他传说恩基(Enki,/ˈɛŋki/; 苏美语: dEN.KI(G)),又译为恩奇,是苏美神话中的一位水神,后在阿卡德和巴比伦神话中被称为埃亚。他原本是埃利都的守护神,但后来对他的崇拜遍及整个樟芝 见本文牛樟芝(Antrodia cinnamomea),俗名牛樟芝,又名牛樟菇、樟菇、窟内菰、神明菇,是一种药用真菌,为拟层孔菌科 (Fomitopsidaceae)薄孔菌属 (Antrodia)的一种真菌,仅原生于台湾。牛樟庞雄飞 庞雄飞(1930年8月1日-2004年3月25日),广东佛山市南海人,昆虫学分类专家,昆虫生态学家,中国科学院院士。庞雄飞1953年毕业于中山大学农学院,1955年至1959年间就留学苏联莫斯科季米里哈米提·阿尔滕托普 哈米提·阿尔滕托普(土耳其语:Hamit Altıntop,1982年12月8日-),土耳其足球运动员,目前是土超俱乐部加拉塔沙雷的球员。哈米提·阿尔滕托普与其双胞胎兄哈利勒·阿尔滕托普同时出生水仙 (越南女歌手) 水仙(越南语:Thủy Tiên;1985年11月25日-),原名陈氏水仙(越南语:Trần Thị Thủy Tiên),是越南流行音乐女歌手。她出生在坚江省迪石市一个华裔越南人家庭,有法国血统。1994年,父亲因非洲冕豪猪 非洲冕豪猪()是一种豪猪。 它们主要分布在意大利、西西里岛、北非及撒哈拉以南非洲。非洲冕豪猪约长60-90厘米。差不多整个身体都由鬃毛所覆盖,颜色呈深褐色或黑色。它们头部、贝特朗-弗朗索瓦·马埃·德·拉布尔多内 贝特朗-弗朗索瓦·马埃·德·拉布尔多内(Bertrand-François Mahé de La Bourdonnais),1699年2月11日生于法国圣马洛,1753年11月10日殁于巴黎,是一位法国海军军官和地方长官,服役埃莫马利·拉赫蒙 埃莫马利·拉赫蒙(塔吉克语:Эмомалӣ Раҳмон,1952年10月5日-),原名埃莫马利·拉赫莫诺夫(Эмомалӣ Шарифович Раҳмонов),塔吉克斯坦政治家,自1992