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一词的读法是错误的。
相关 印度火山列表 所有坐标的地图 - OSM
所有坐标的地图 - Google
所有上至200个坐标的地图 - Bing本列表列出印度的活火山与死火山。辉蠊科 辉蠊科(学名:Lamproblattidae)是蜚蠊目之下的一个小科,其物种分布于中、南美洲,其下包含三个属和所属的十个种。本科只有三个属,分别如下:哺乳行为 哺乳是指雌性哺乳动物通过乳腺分泌的乳汁给后代的幼体喂食的行为,在人类的场合此过程称为母乳喂养。无论时期有多久远,只要是哺乳动物的雌性都具有这种特性,无一例外。乳汁分泌历元 历元,在天文学是一些天文变数作为参考的时刻点,例如天球座标或天体的椭圆轨道要素,因为这些会受到摄动而随着时间变化。这些会随着时间变动的天文变量可能包括天体的平黄经或平气象站 气象站(英语:weather station)指为了取得气象资料而建成的观测站,不少气象站内设有气压计、温度计及雨量计等被动式感应器来量度各种气象要素,部分气象站还设有地表及不同深度之骆文智 骆文智(1960年8月-),广东佛山人。男,汉族。1977年8月参加工作,1985年7月加入中国共产党。暨南大学经济学院毕业,中南财经大学(现中南财经政法大学)财经学专业在职研究生学历,经济学硕民族统一主义引起的纷争 虽然领土争议未必与收复失地有关,但某些国家往往用民族统一主义措辞,在国内外证明其合法性。以下是不完整的列表,包括现在与历史上(已不存在)的民族统一主义实体与设想。齿鼻搭嘴音 齿鼻搭嘴音(Dental nasal click)是一种辅音,主要出现于南非的一些口语中。表示此音的国际音标(IPA)是⟨ǀ̃⟩或⟨ᵑǀ⟩,亦有部分语言学家偏好使用已废弃的音标⟨ʇ̃⟩或⟨ᵑʇ萨卡拉哈区 萨卡拉哈区(马达加斯加语:Sakaraha),是马达加斯加的行政区,位于该国南部,由阿齐莫-安德列发那区负责管辖,首府设于萨卡拉哈,面积8,447平方公里,2011年人口107,147,人口密度每平方公里1录像带格式战 录像带格式战指的是在1970年代末期至1980年代发生之数种不兼容的录像机格式的竞争。它被认为是市场销售竞争的经典案例。家用录像机最早于1970年代初期问世—1972年由飞利浦