fbpx
维基百科

TeX

TeX/tɛx/,常被读作/tɛk/,音译“泰赫”,“泰克”風格化後写作“TeX”),是一个由美国计算机教授高德纳Donald Ervin Knuth)编写的排版软件。TeX的MIME类型application/x-tex,是一款自由软件。它在学术界特别是数学物理学计算机科学界十分流行。TEX被普遍认为是一个优秀的排版工具,尤其是对于复杂数学公式的处理。利用LaTeX等终端软件,TeX就能够排版出精美的文本以幫助人們辨認和尋找。

TeX
開發者高德纳
首次发布1978年,​45年前​(1978
当前版本
  • 3.141592653 (2021年1月;穩定版本)[1]
源代码库
  • www.tug.org/svn/texlive/
编程语言WEB/Pascal
操作系统跨平台
类型排版
许可协议寬鬆自由軟體授權條款
网站www.tug.org/ 
TeX
扩展名.tex
互联网媒体类型application/x-tex
初始版本1978年,​45年前​(1978
格式类型文档文件格式

历史 编辑

高德纳最早开始自行编写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还使用了定点而不是浮点,以确保结果在不同的计算机硬件上重现。[2]并且在蓋伊·史提爾的大力游说下,TeX82包括一种真正的、图灵完全的编程语言。[3]1989年,高德纳发布了新版本的TeX和Metafont[4]尽管高德纳希望保持程序的稳定性,但他意识到,只能输入128个不同的字符不足以容纳外语;因此TeX 3.0版本的主要变化是能使用8位元输入,即在文本中允许输入256个不同的字符。

从TeX第三版开始,之后的升级是在小数点后加入一个新数位,使之越来越接近圆周率π」的值。TeX目前的版本是3.141592653。这显示了TeX已经十分稳定,任何的升级都十分细微。高德纳曾表示“最后一次升级是(于我过世后)将版本数改为『π』,那时任何余下的漏洞将被看作程序的功能。”

由于TeX的源代码基本上处于公共领域,其他程序员可以(并明确被鼓励)改进系统,但需要使用其他名称来分发修改后的TeX。例如,Omega项目是在1991年之后开发的,主要是为了提高TeX的多语种排版能力。高德纳创建了“非官方”修改版本,例如TeX-XeT,它允许用户在同一文档中混合写入从左到右和从右到左书写系统的文本。

范例 编辑

 
LaTeX巨集基於TeX,可以將純文字生成一個印刷樣頁

此乃一简易的TeX文本范例。 首先建立一名为myfile.tex的纯文本,并载有以下内容:

Hello, World \bye % marks the end of the file; not shown in the final output 

然后在命令行解释器(Command line interpreter)中输入tex myfile.tex,之后TeX便会建立一名为myfile.dvi的文件。此文件可用如雅浦島之类的检视器检视。此档于阅读器可见的是“hello”一词。“\bye”是一个TeX指令,相等于档案结束标记,是不会显示出来的。此DVI文件可在阅读器中直接打印或转换成更普遍的格式,例如PostScript

另外,使用指令pdftex myfile.tex亦能输出PDF文件。当初创造pdfTeX是因为把DVI转成PostScript再转成PDF所产生的字体显示质量很差(但打印则没问题)。这是由于TeX本身支持点阵字体(Type 3),而此远不及向量字体(Type 1)的显示质量好。

数学公式范例 编辑

二次方程为例,

代码 效果
The quadratic formula is $-b \pm \sqrt{b^2 - 4ac} \over 2a$ \bye 

 

所有方程式在TeX中都是以一对$符号围住。如果要使公式另起一行居中,那么就用$$取代$。例如:

代码 效果
The quadratic formula is $$-b \pm \sqrt{b^2 - 4ac} \over 2a$$ \bye 
 
 

LaTeX 编辑

LaTeX是一套以TeX描述的巨集软件。LaTeX有很多预设的模版、样式。它比TeX更为结构化,如包含了供建立索引表格列表等的巨集和公用软件。例如:

\documentclass[a4paper]{book} \begin{document} \section{ ... a title } \subsection{ ... a subtitle} %% Text goes here \end{document} 

执行

latex myfile.tex dvips myfile.dvi 

会建立一本为PostScript档的书。如要建立PDF档则可使用

pdflatex myfile.tex 

特性 编辑

TeX软件在当时拥有其他排版软件没有或不成熟的功能。其中有一些功能得益于排版算法的创新,其中很多成为了高德纳的学生的论文主题。尽管有些功能现在已经被其他排版系统所实现,但仍有部分功能是TeX所特有的,比如数学公式的自动间距调整。

数学公式的自动间距调整 编辑

 
TeX讓電腦形成一段段的數學公式,字體為AMS Euler

由于TeX的设计目标是实现高质量的书籍排版,高德纳在数学公式的排版上下了很大功夫。[5][6] 他研究了三种按照老方法排版、排版质量高的书籍:艾迪生韦斯利出版社(即高德纳的《计算机程序设计艺术》的出版商)的出版物,尤其是汉斯·沃尔夫和约瑟夫·拉格朗日的书籍《Thermodynamics Innovation》(1856)、数学期刊《Acta Mathematica英语Acta Mathematica》、和数学期刊《Indagationes Mathematicae英语Indagationes Mathematicae》。高德纳通过研究其数学公式的排版,总结出了一套数学公式内部间距的规则,并将其用于TeX。[7] TeX排版数学公式时只是提供了一个间距调整引擎,实际的间距大小由数学字体提供。比如TeX默认的Computer Modern字体提供了一套成熟的间距参数,可以直接使用。

TeX的数学排版功能并非十全十美,有时也招来部分批评。比如TeX诞生的时代的部分机器由于容量不够,不足以存储TeX的所有字体参数,在部分场合需要hack才能正常使用。在美学方面,TeX对根号的处理也招致批评。[8]

OpenType字体技术的数学字体参数基于TeX。[9][10][11]

断字与断行 编辑

与手动排版相比,计算机排版系统可以自动处理断行问题。大部分排版系统都采用首次拟合法处理断行,即一行一行处理,一行处理完就不管了,因此一旦遇到較長的專有名詞,前面排版正常,後面間距卻非常的寬。TeX的方法是一次处理一个自然段,尝试每一种断行方法,然后选出最优解。两种方法的差异如下:(此演示不考虑断字)

 The quick brown fox jumps over The quick brown fox jumps the lazy dog. The words here are over the lazy dog. The words quite short. Aren't they? But here are quite short. Aren't long ones such as they? But long ones such as perhydrocyclopentanophenanthrene perhydrocyclopentanophenanthrene may appear. may appear. 

左边的例子是首次拟合法的结果。第4行单词间的空集中在一处不美观,TeX的方法由于考虑了所有的情况,所以一般情况下能找出较好的方法(即把空分散在1~4行)。

TeX的断行算法裏有一个叫做badness(“不美观度”)的参数,空格伸缩量越大badness越大。每一种断行的方式都有一个总体的衡量标准,包括badness、断行、以及行与行之间的疏密差异等。TeX其实并不考虑所有的2n种情况,而是采用一种算法复杂度仅为O(n2)的最短路径算法,加上不考虑空格伸缩量太大的情况,断行所用的时间几乎和段落大小成正比。在分页问题上,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进制的100美分)开始,以后每发现一个bug,都会翻倍,直到目前的327.68美元封顶。然而高德纳从未因此而损失大笔金钱,因为TeX中的漏洞极少,而真正发现漏洞的人在获得支票后往往不愿将其兑现。[12][13][14]到目前为止,关于TeX的最后一个bug是被Oleg Bulatov发现的。

衍生软件 编辑

有许多衍生出来的文档处理程序就是基于TeX的,主要的有:

  • AMS-TeX英语AMS-TeX美国数学学会(American Mathematical Society)发表的TeX版本。绝大多数的AMS-TeX功能可以利用AMS包在LaTeX上实现,称为AMS-TeX。
  • ConTeXt英语ConTeXt
  • jadeTeX
  • LaTeX(Lamport TeX):流行的文档处理程序
  • LuaTeX
  • MacTeX英语MacTeX
  • MikTeX
  • pdfTeX
  • SyncTeX英语SyncTeX
  • Texinfo英语TexinfoGNU的文档处理系统
  • TeX Live
  • XeTeX

兼容工具 编辑

TeXmacs是一个所见即所得的科学文档编辑器,利用TeX字体作为显示字体,具有类似Emacs的编辑方式。它可以导出为TeX文本,PSPDF文档,以及HTMLXML页面。LyX也是一个类似的工具。

发音和拼写 编辑

TeX这个词的标准发音为/tɛx/,其中/x/相当于中文裡「赫」字的声母,或者苏格兰语“loch”一词中“ch”的发音(X其实是希腊字母 χ)。發音接近「泰赫」。在英语法语中实际通常读作/tɛk/,發音接近「泰克」。TeX这个词来自希腊文中的 τέχνη (TEXNH),希腊文意为“艺术”和“制造”,也是英语中 technical(技术)的词源。书写时,三个字母都是大写,字母E应当低于其他两个字母。而不支援下标的系统则只能这样书写:“TeX”。

TeX的用户喜欢创造一些和TeX有关的词汇,例如“TeXnician”(与英语单词“technician”,技工的发音相近,意为“TeX用户”),“TeXhacker”(“TeX程序员”,“TeX黑客”)和“TeXnique”(与英语单词“technique”,技巧的发音相近,意为“TeX水平”)等。另有人發明一詞為“TeXpert”(“TeX高手”),但是高德納本人反對這一名稱,因為這裡TeX一詞的讀法是錯誤的[15]

参见 编辑

脚注 编辑

  1. ^ https://www-cs-faculty.stanford.edu/~knuth/abcde.html.
  2. ^ Knuth and Plass, p. 144
  3. ^ Donald E. Knuth, Knuth meets NTG members (页面存档备份,存于互联网档案馆, NTG: MAPS. 16 (1996), 38–49. Reprinted as Questions and Answers, III, chapter 33 of Digital Typography, p. 648.
  4. ^ Donald E. Knuth. The New Versions of TeX and METAFONT (页面存档备份,存于互联网档案馆), TUGboat 10 (1989), 325–328; 11 (1990), 12. Reprinted as chapter 29 of Digital Typography.
  5. ^ Slater, Robert, Portraits in Silicon, MIT Press: 349, 1989 [2015-04-19], ISBN 9780262691314, (原始内容于2015-03-18) 
  6. ^ Syropoulos, Apostolos; Tsolomitis, Antonis; Sofroniou, Nick, Digital Typography Using LaTeX, Springer: 93, 2003 [2015-04-19], ISBN 9780387952178, (原始内容于2015-03-18) 
  7. ^ Donald E. Knuth. Questions and Answers II, TUGboat 17 (1996), p. 355–367. Reprinted as chapter 32 of Digital Typography, p. 620–624.
  8. ^ Ulrik Vieth (2001) Math typesetting in TEX: The good, the bad, the ugly (页面存档备份,存于互联网档案馆
  9. ^ High-Quality Editing and Display of Mathematical Text in Office 2007. [2015-04-19]. (原始内容于2011-08-05). 
  10. ^ LineServices. [2015-04-19]. (原始内容于2011-08-04). 
  11. ^ 存档副本 (PDF). [2015-04-19]. (原始内容 (PDF)于2014-09-11). 
  12. ^ Kara Platoni, Love at First Byte (页面存档备份,存于互联网档案馆). Stanford Magazine, May–June 2006
  13. ^ The History of TeX (页面存档备份,存于互联网档案馆
  14. ^ TeX — Beauty and Fun, http://www.ctex.org/documents/shredder/tex_frame.html (页面存档备份,存于互联网档案馆
  15. ^ Knuth, Donald Ervin. The TeXbook. Addison-Wesley. 1993. ISBN 0-201-13448-9. 

参考文献 编辑

  • 本條目部分或全部内容出自以GFDL授權發佈的《自由線上電腦詞典》(FOLDOC)。
  • Beebe, Nelson HF, (PDF), TUGboat, 2004, 25: 7–30 [2021-03-18], (原始内容 (PDF)存档于2021-01-18) .
  • Knuth, Donald Ervin, The TeXbook , Computers and Typesetting A, Reading, MA: Addison-Wesley, 1984, ISBN 0-201-13448-9 . The source code of the book in TeX (页面存档备份,存于互联网档案馆) (and a needed set of macros [1]) is available online on CTAN. It is provided only as an example and its use to prepare a book like The TeXbook is not allowed.
  • ———, TeX: The Program , Computers and Typesetting B, Reading, MA: Addison-Wesley, 1986, ISBN 0-201-13437-3 . The full source code of TeX; also available on CTAN. Being written using literate programming, it contains plenty of human-readable documentation.
  • ———, Digital Typography , Lecture notes (78), Center for the Study of Language and Information, 1999, ISBN 1-57586-010-4 .
  • ———; Plass, Michael F, Breaking Paragraphs into Lines, Software: Practice and Experience, 1981, 11 (11): 1119–84, S2CID 206508107, doi:10.1002/spe.4380111102 . Reprinted as Bigelow, Charles; Day, Donald. Chapter 3. Digital Typography 249. 1983: 67–155. Bibcode:1983SciAm.249b.106B. doi:10.1038/scientificamerican0883-106.  |journal=被忽略 (帮助); |issue=被忽略 (帮助).
  • ———, (source code), (原始内容 (WEB)存档于27 September 2011)  contains extensive documentation about the algorithms used in TeX.
  • Lamport, Leslie, LaTeX: A Document Preparation System 2nd, Reading, MA: Addison-Wesley, 1994, ISBN 0-201-52983-1 .
  • Liang, Franklin Mark, (PhD thesis), Department of Computer Science, Stanford University, August 1983 [2021-03-18], (原始内容存档于2021-05-07) .
  • Salomon, David, The Advanced TeXbook, Springer, 1995, Bibcode:1995adte.book.....S, ISBN 0-387-94556-3 .
  • Spivak, MD, The Joy of TeX (reference) 2nd, American Mathematical Society, 1990, ISBN 0-8218-2997-1  on AMS-TeX.
  • Vulis, Michael, , CRC Press, 1992 [2021-03-18], ISBN 0-8493-4431-X, (原始内容存档于2021-04-15) .

外部链接 编辑

  • 中文TeX用户组 (页面存档备份,存于互联网档案馆
  • TeX Users' Group (页面存档备份,存于互联网档案馆
  • (questions and answers), StackExchange, [2021-03-18], (原始内容存档于2021-06-12) .
  • Eijkhout, Victor. TeX by Topic (页面存档备份,存于互联网档案馆
  • TeX for the Impatient (页面存档备份,存于互联网档案馆

关于使用在維基百科中編排數學公式的指南, 请見help, 数学公式, 常被读作, 音译, 泰赫, 泰克, 風格化後写作, 是一个由美国计算机教授高德纳, donald, ervin, knuth, 编写的排版软件, 的mime类型为application, 是一款自由软件, 它在学术界特别是数学, 物理学和计算机科学界十分流行, tex被普遍认为是一个优秀的排版工具, 尤其是对于复杂数学公式的处理, 利用la, x等终端软件, 就能够排版出精美的文本以幫助人們辨認和尋找, x開發者高德纳首次发布1978年, 45年. 关于使用TeX在維基百科中編排數學公式的指南 请見Help 数学公式 TeX t ɛ x 常被读作 t ɛ k 音译 泰赫 泰克 風格化後写作 Te X 是一个由美国计算机教授高德纳 Donald Ervin Knuth 编写的排版软件 TeX的MIME类型为application x tex 是一款自由软件 它在学术界特别是数学 物理学和计算机科学界十分流行 TEX被普遍认为是一个优秀的排版工具 尤其是对于复杂数学公式的处理 利用La Te X等终端软件 TeX就能够排版出精美的文本以幫助人們辨認和尋找 Te X開發者高德纳首次发布1978年 45年前 1978 当前版本3 141592653 2021年1月 穩定版本 1 源代码库www wbr tug wbr org wbr svn wbr texlive wbr 编程语言WEB Pascal操作系统跨平台类型排版许可协议寬鬆自由軟體授權條款网站www wbr tug wbr org TeX扩展名 tex互联网 媒体类型application x tex初始版本1978年 45年前 1978 格式类型文档文件格式 目录 1 历史 2 范例 2 1 数学公式范例 2 2 LaTeX 3 特性 3 1 数学公式的自动间距调整 3 2 断字与断行 4 开发 4 1 衍生软件 4 2 兼容工具 5 发音和拼写 6 参见 7 脚注 8 参考文献 9 外部链接历史 编辑高德纳最早开始自行编写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还使用了定点而不是浮点 以确保结果在不同的计算机硬件上重现 2 并且在蓋伊 史提爾的大力游说下 TeX82包括一种真正的 图灵完全的编程语言 3 1989年 高德纳发布了新版本的TeX和Metafont 4 尽管高德纳希望保持程序的稳定性 但他意识到 只能输入128个不同的字符不足以容纳外语 因此TeX 3 0版本的主要变化是能使用8位元输入 即在文本中允许输入256个不同的字符 从TeX第三版开始 之后的升级是在小数点后加入一个新数位 使之越来越接近圆周率 p 的值 TeX目前的版本是3 141592653 这显示了TeX已经十分稳定 任何的升级都十分细微 高德纳曾表示 最后一次升级是 于我过世后 将版本数改为 p 那时任何余下的漏洞将被看作程序的功能 由于TeX的源代码基本上处于公共领域 其他程序员可以 并明确被鼓励 改进系统 但需要使用其他名称来分发修改后的TeX 例如 Omega项目是在1991年之后开发的 主要是为了提高TeX的多语种排版能力 高德纳创建了 非官方 修改版本 例如TeX XeT 它允许用户在同一文档中混合写入从左到右和从右到左书写系统的文本 范例 编辑 nbsp LaTeX巨集基於TeX 可以將純文字生成一個印刷樣頁此乃一简易的TeX文本范例 首先建立一名为myfile tex的纯文本 并载有以下内容 Hello World bye marks the end of the file not shown in the final output 然后在命令行解释器 Command line interpreter 中输入tex myfile tex 之后TeX便会建立一名为myfile dvi的文件 此文件可用如雅浦島之类的检视器检视 此档于阅读器可见的是 hello 一词 bye 是一个TeX指令 相等于档案结束标记 是不会显示出来的 此DVI文件可在阅读器中直接打印或转换成更普遍的格式 例如PostScript 另外 使用指令pdftex myfile tex亦能输出PDF文件 当初创造pdfTeX是因为把DVI转成PostScript再转成PDF所产生的字体显示质量很差 但打印则没问题 这是由于TeX本身支持点阵字体 Type 3 而此远不及向量字体 Type 1 的显示质量好 数学公式范例 编辑 以二次方程为例 代码 效果The quadratic formula is b pm sqrt b 2 4 ac over 2 a bye 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 nbsp 所有方程式在TeX中都是以一对 符号围住 如果要使公式另起一行居中 那么就用 取代 例如 代码 效果The quadratic formula is b pm sqrt b 2 4 ac over 2 a bye The quadratic formula is displaystyle hbox The quadratic formula is nbsp b b 2 4 a c 2 a displaystyle b pm sqrt b 2 4ac over 2a nbsp LaTeX 编辑 主条目 LaTeX LaTeX是一套以TeX描述的巨集软件 LaTeX有很多预设的模版 样式 它比TeX更为结构化 如包含了供建立索引 表格 列表等的巨集和公用软件 例如 documentclass a4paper book begin document section a title subsection a subtitle Text goes here end document 执行 latex myfile tex dvips myfile dvi 会建立一本为PostScript档的书 如要建立PDF档则可使用 pdflatex myfile tex特性 编辑TeX软件在当时拥有其他排版软件没有或不成熟的功能 其中有一些功能得益于排版算法的创新 其中很多成为了高德纳的学生的论文主题 尽管有些功能现在已经被其他排版系统所实现 但仍有部分功能是TeX所特有的 比如数学公式的自动间距调整 数学公式的自动间距调整 编辑 nbsp TeX讓電腦形成一段段的數學公式 字體為AMS Euler 由于TeX的设计目标是实现高质量的书籍排版 高德纳在数学公式的排版上下了很大功夫 5 6 他研究了三种按照老方法排版 排版质量高的书籍 艾迪生韦斯利出版社 即高德纳的 计算机程序设计艺术 的出版商 的出版物 尤其是汉斯 沃尔夫和约瑟夫 拉格朗日的书籍 Thermodynamics Innovation 1856 数学期刊 Acta Mathematica 英语 Acta Mathematica 和数学期刊 Indagationes Mathematicae 英语 Indagationes Mathematicae 高德纳通过研究其数学公式的排版 总结出了一套数学公式内部间距的规则 并将其用于TeX 7 TeX排版数学公式时只是提供了一个间距调整引擎 实际的间距大小由数学字体提供 比如TeX默认的Computer Modern字体提供了一套成熟的间距参数 可以直接使用 TeX的数学排版功能并非十全十美 有时也招来部分批评 比如TeX诞生的时代的部分机器由于容量不够 不足以存储TeX的所有字体参数 在部分场合需要hack才能正常使用 在美学方面 TeX对根号的处理也招致批评 8 OpenType字体技术的数学字体参数基于TeX 9 10 11 断字与断行 编辑 与手动排版相比 计算机排版系统可以自动处理断行问题 大部分排版系统都采用首次拟合法处理断行 即一行一行处理 一行处理完就不管了 因此一旦遇到較長的專有名詞 前面排版正常 後面間距卻非常的寬 TeX的方法是一次处理一个自然段 尝试每一种断行方法 然后选出最优解 两种方法的差异如下 此演示不考虑断字 The quick brown fox jumps over The quick brown fox jumps the lazy dog The words here are over the lazy dog The words quite short Aren t they But here are quite short Aren t long ones such as they But long ones such as perhydrocyclopentanophenanthrene perhydrocyclopentanophenanthrene may appear may appear 左边的例子是首次拟合法的结果 第4行单词间的空集中在一处不美观 TeX的方法由于考虑了所有的情况 所以一般情况下能找出较好的方法 即把空分散在1 4行 TeX的断行算法裏有一个叫做badness 不美观度 的参数 空格伸缩量越大badness越大 每一种断行的方式都有一个总体的衡量标准 包括badness 断行 以及行与行之间的疏密差异等 TeX其实并不考虑所有的2n种情况 而是采用一种算法复杂度仅为O n2 的最短路径算法 加上不考虑空格伸缩量太大的情况 断行所用的时间几乎和段落大小成正比 在分页问题上 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进制的100美分 开始 以后每发现一个bug 都会翻倍 直到目前的327 68美元封顶 然而高德纳从未因此而损失大笔金钱 因为TeX中的漏洞极少 而真正发现漏洞的人在获得支票后往往不愿将其兑现 12 13 14 到目前为止 关于TeX的最后一个bug是被Oleg Bulatov发现的 衍生软件 编辑 有许多衍生出来的文档处理程序就是基于TeX的 主要的有 AMS TeX 英语 AMS TeX 美国数学学会 American Mathematical Society 发表的TeX版本 绝大多数的AMS TeX功能可以利用AMS包在LaTeX上实现 称为AMS TeX ConTeXt 英语 ConTeXt jadeTeX LaTeX Lamport TeX 流行的文档处理程序 LuaTeX MacTeX 英语 MacTeX MikTeX pdfTeX SyncTeX 英语 SyncTeX Texinfo 英语 Texinfo GNU的文档处理系统 TeX Live XeTeX兼容工具 编辑 TeXmacs是一个所见即所得的科学文档编辑器 利用TeX字体作为显示字体 具有类似Emacs的编辑方式 它可以导出为TeX文本 PS PDF文档 以及HTML XML页面 LyX也是一个类似的工具 发音和拼写 编辑TeX这个词的标准发音为 tɛx 其中 x 相当于中文裡 赫 字的声母 或者苏格兰语 loch 一词中 ch 的发音 X其实是希腊字母 x 發音接近 泰赫 在英语和法语中实际通常读作 tɛk 發音接近 泰克 TeX这个词来自希腊文中的 texnh TEXNH 希腊文意为 艺术 和 制造 也是英语中 technical 技术 的词源 书写时 三个字母都是大写 字母E应当低于其他两个字母 而不支援下标的系统则只能这样书写 TeX TeX的用户喜欢创造一些和TeX有关的词汇 例如 TeXnician 与英语单词 technician 技工的发音相近 意为 TeX用户 TeXhacker TeX程序员 TeX黑客 和 TeXnique 与英语单词 technique 技巧的发音相近 意为 TeX水平 等 另有人發明一詞為 TeXpert TeX高手 但是高德納本人反對這一名稱 因為這裡TeX一詞的讀法是錯誤的 15 参见 编辑文档标记语言比较 公式编辑器 MathTime 英语 MathTime PGF TikZ 英语 PGF TikZ PSTricks 英语 PSTricks LaTeX脚注 编辑 https www cs faculty stanford edu knuth abcde html Knuth and Plass p 144 Donald E Knuth Knuth meets NTG members 页面存档备份 存于互联网档案馆 NTG MAPS 16 1996 38 49 Reprinted as Questions and Answers III chapter 33 of Digital Typography p 648 Donald E Knuth The New Versions of TeX and METAFONT 页面存档备份 存于互联网档案馆 TUGboat 10 1989 325 328 11 1990 12 Reprinted as chapter 29 of Digital Typography Slater Robert Portraits in Silicon MIT Press 349 1989 2015 04 19 ISBN 9780262691314 原始内容存档于2015 03 18 Syropoulos Apostolos Tsolomitis Antonis Sofroniou Nick Digital Typography Using LaTeX Springer 93 2003 2015 04 19 ISBN 9780387952178 原始内容存档于2015 03 18 Donald E Knuth Questions and Answers II TUGboat 17 1996 p 355 367 Reprinted as chapter 32 of Digital Typography p 620 624 Ulrik Vieth 2001 Math typesetting in TEX The good the bad the ugly 页面存档备份 存于互联网档案馆 High Quality Editing and Display of Mathematical Text in Office 2007 2015 04 19 原始内容存档于2011 08 05 LineServices 2015 04 19 原始内容存档于2011 08 04 存档副本 PDF 2015 04 19 原始内容存档 PDF 于2014 09 11 Kara Platoni Love at First Byte 页面存档备份 存于互联网档案馆 Stanford Magazine May June 2006 The History of TeX 页面存档备份 存于互联网档案馆 TeX Beauty and Fun http www ctex org documents shredder tex frame html 页面存档备份 存于互联网档案馆 Knuth Donald Ervin The TeXbook Addison Wesley 1993 ISBN 0 201 13448 9 参考文献 编辑本條目部分或全部内容出自以GFDL授權發佈的 自由線上電腦詞典 FOLDOC Beebe Nelson HF 25 Years of TeX and METAFONT Looking Back and Looking Forward PDF TUGboat 2004 25 7 30 2021 03 18 原始内容 PDF 存档于2021 01 18 Knuth Donald Ervin The TeXbook nbsp Computers and Typesetting A Reading MA Addison Wesley 1984 ISBN 0 201 13448 9 含有內容需登入查看的頁面 link The source code of the book in TeX 页面存档备份 存于互联网档案馆 and a needed set of macros 1 is available online on CTAN It is provided only as an example and its use to prepare a book like The TeXbook is not allowed TeX The Program nbsp Computers and Typesetting B Reading MA Addison Wesley 1986 ISBN 0 201 13437 3 含有內容需登入查看的頁面 link The full source code of TeX also available on CTAN Being written using literate programming it contains plenty of human readable documentation Digital Typography nbsp Lecture notes 78 Center for the Study of Language and Information 1999 ISBN 1 57586 010 4 含有內容需登入查看的頁面 link Plass Michael F Breaking Paragraphs into Lines Software Practice and Experience 1981 11 11 1119 84 S2CID 206508107 doi 10 1002 spe 4380111102 Reprinted as Bigelow Charles Day Donald Chapter 3 Digital Typography 249 1983 67 155 Bibcode 1983SciAm 249b 106B doi 10 1038 scientificamerican0883 106 journal 被忽略 帮助 issue 被忽略 帮助 TeX source code 原始内容 WEB 存档于27 September 2011 contains extensive documentation about the algorithms used in TeX Lamport Leslie LaTeX A Document Preparation System 2nd Reading MA Addison Wesley 1994 ISBN 0 201 52983 1 Liang Franklin Mark Word Hy phen a tion by Com put er PhD thesis Department of Computer Science Stanford University August 1983 2021 03 18 原始内容存档于2021 05 07 Salomon David The Advanced TeXbook Springer 1995 Bibcode 1995adte book S ISBN 0 387 94556 3 Spivak MD The Joy of TeX reference 2nd American Mathematical Society 1990 ISBN 0 8218 2997 1 on AMS TeX Vulis Michael Modern TeX and Its Applications CRC Press 1992 2021 03 18 ISBN 0 8493 4431 X 原始内容存档于2021 04 15 外部链接 编辑中文TeX用户组 页面存档备份 存于互联网档案馆 TeX Users Group 页面存档备份 存于互联网档案馆 TeX questions and answers StackExchange 2021 03 18 原始内容存档于2021 06 12 Eijkhout Victor TeX by Topic 页面存档备份 存于互联网档案馆 TeX for the Impatient 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title TeX amp oldid 77624429, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。