1.2TX基础 3 在TX环境中,TX代替了图书设计者的角色,TX则是它的排版 者。但是TX“仅仅”是一个计算机程序,它需要更多的指导。作者必 须在他的作品中提供附加信息,用于描述作品的逻辑结构。这些信息是以 “TX命令”的形式写入文章中的。 这种方式和所见即所得(WYSIWYG)方式是相当不同的。很多现代 文字处理程序都采用所见即所得方式,例如MS Word和Corel Wordper- fct。作者可以利用这些应用程序,在向输入文章的同时,通过与计算机互 动的方式决定整个文档的排版形式。在整个过程中,作者随时可以在屏幕 上看到作品最终打印出来的效果。 在使用X的时候,一般来说是不能在输入文章的同时看到最终的 输出效果的。但是将文章用TX处理过之后,是可以在屏幕上预览最终 的输出效果的。因此在真正打印文档之前是可以对其进行修正的。 1.2.2版面设计 排版设计是一门艺术。缺乏经验的作者常常会犯严重的排版格式错 误,只因为他们认为图书设计仅仅是个美学问题一一“如果排印好的文档 从艺术角度看来不错,就说明设计是成功的。”但是既然文档是用来阅读 而不是用来挂在画廊里展览的,它的可读性和可理解性就比好看的外观要 重要的多。例如: ·必须为标题选择适当的字体大小和序号,使得读者能够清楚地理解章 节结构。 ·行宽既要足够短以避免读者的眼睛疲劳,又要足够长以维持页面美 观。 使用所见即所得系统时,作者经常会写出看上去很漂亮,但却缺乏清 晰结构或结构不连贯的文档来。为了避免这样的排版格式错误,TX要求 作者明确说明其文档的逻辑结构。然后,灯X再根据文档结构选择最适当 的版面格式。 1.2.3优势和不足 使用“所见即所得”(WYSIWYG)的人和使用TEX的人在一起时 经常谈论的一个话题就是“TX到底比一般的字处理软件强还是弱”。 面对这种讨论,你最好是保持低调,因为这样的辩论很容易失去控制。不 过,很多时候你也不能逃避… What you see is what you get
1.2 LATEX 基础 3 在 LATEX 环境中,LATEX 代替了图书设计者的角色,TEX 则是它的排版 者。但是 LATEX “仅仅”是一个计算机程序,它需要更多的指导。作者必 须在他的作品中提供附加信息,用于描述作品的逻辑结构。这些信息是以 “LATEX 命令”的形式写入文章中的。 这种方式和所见即所得(WYSIWYG1)方式是相当不同的。很多现代 文字处理程序都采用所见即所得方式,例如 MS Word 和 Corel Wordperfect。作者可以利用这些应用程序,在向输入文章的同时,通过与计算机互 动的方式决定整个文档的排版形式。在整个过程中,作者随时可以在屏幕 上看到作品最终打印出来的效果。 在使用 LATEX 的时候,一般来说是不能在输入文章的同时看到最终的 输出效果的。但是将文章用 LATEX 处理过之后,是可以在屏幕上预览最终 的输出效果的。因此在真正打印文档之前是可以对其进行修正的。 1.2.2 版面设计 排版设计是一门艺术。缺乏经验的作者常常会犯严重的排版格式错 误,只因为他们认为图书设计仅仅是个美学问题——“如果排印好的文档 从艺术角度看来不错,就说明设计是成功的。”但是既然文档是用来阅读 而不是用来挂在画廊里展览的,它的可读性和可理解性就比好看的外观要 重要的多。例如: • 必须为标题选择适当的字体大小和序号,使得读者能够清楚地理解章 节结构。 • 行宽既要足够短以避免读者的眼睛疲劳,又要足够长以维持页面美 观。 使用所见即所得系统时,作者经常会写出看上去很漂亮,但却缺乏清 晰结构或结构不连贯的文档来。为了避免这样的排版格式错误,LATEX 要求 作者明确说明其文档的逻辑结构。然后,LATEX 再根据文档结构选择最适当 的版面格式。 1.2.3 优势和不足 使用“所见即所得”(WYSIWYG)的人和使用 LATEX 的人在一起时 经常谈论的一个话题就是“LATEX 到底比一般的字处理软件强还是弱”。 面对这种讨论,你最好是保持低调,因为这样的辩论很容易失去控制。不 过,很多时候你也不能逃避…… 1What you see is what you get
基本知识 所以,这里给你提供一些武器。TX优于一般的字处理软件之处可以简单 归纳为如下几点: 。提供专业级的排版设计,使你的文档开起来如同印刷好的一样。 ·可以更方便地排版数学公式。 ·用户仅仅需要掌握少数容易理解的,用来说明文档之逻辑结构的命 令,而无须对实际的页面设计做胡乱的修补。 。可以很容易的生成脚注、索引、目录和参考文献等复杂的结构。 。有大量免费地可添加宏集,协助你完成许多基本的TX未直接支持 的排版任务。例如,支持在文档中插入POSTSCRIPT图形的宏集和排 版符合各类标准的参考文献的宏集,等等。The ETEX Companion[3) 中给出了大量的宏集说明。 。TX鼓励作者写作具有良好结构的文章,因为TX就是通过详细 地说明文章的结构来进行其排版工作的。 。TX作为TX的格式化引擎是免费软件,且具有极高的可移植性。 因此,他几乎可以在任何硬件平台上运行。 TX当然也有一些不足之处。仅管我可以确定其他人能够列出上百条,我 却很难找出一条比较明智的。;-) 。对于出卖其灵魂的人来说,TX不能很好的工作2。 ·尽管在预先定义好的版面中可以调节一些参数,设计全新的版面还是 很困难的,需要耗费大量的时间3。 ·TX不适合于排版非结构化的、无序的文档。 。即使有一个令人振奋的开始,但你也有可能无法完全掌握其精髓。 1.31 TX源文件 TX源文件的格式为普通的ASCI文件,你可以使用任何文本编辑 器来创建。TX源文件不仅包括你所要排版的文本,还包括TEX所能识 别的,如何排版这些文本的命令。 2原文为:TEX does not work well for people who have sold their souls.”,,不知 译的是否正确。 3传闻这将是未来的灯X3系统的一个重要组成部分
4 基本知识 所以,这里给你提供一些武器。LATEX 优于一般的字处理软件之处可以简单 归纳为如下几点: • 提供专业级的排版设计,使你的文档开起来如同印刷好的一样。 • 可以更方便地排版数学公式。 • 用户仅仅需要掌握少数容易理解的,用来说明文档之逻辑结构的命 令,而无须对实际的页面设计做胡乱的修补。 • 可以很容易的生成脚注、索引、目录和参考文献等复杂的结构。 • 有大量免费地可添加宏集,协助你完成许多基本的 LATEX 未直接支持 的排版任务。例如,支持在文档中插入 PostScript 图形的宏集和排 版符合各类标准的参考文献的宏集,等等。The LATEX Companion [3] 中给出了大量的宏集说明。 • LATEX 鼓励作者写作具有良好结构的文章,因为 LATEX就是通过详细 地说明文章的结构来进行其排版工作的。 • TEX 作为 LATEX 的格式化引擎是免费软件,且具有极高的可移植性。 因此,他几乎可以在任何硬件平台上运行。 LATEX 当然也有一些不足之处。仅管我可以确定其他人能够列出上百条,我 却很难找出一条比较明智的。 ;-) • 对于出卖其灵魂的人来说,LATEX 不能很好的工作2。 • 尽管在预先定义好的版面中可以调节一些参数,设计全新的版面还是 很困难的,需要耗费大量的时间3。 • LATEX 不适合于排版非结构化的、无序的文档。 • 即使有一个令人振奋的开始,但你也有可能无法完全掌握其精髓。 1.3 LATEX 源文件 LATEX 源文件的格式为普通的 ASCII 文件,你可以使用任何文本编辑 器来创建。LATEX 源文件不仅包括你所要排版的文本,还包括 LATEX 所能识 别的,如何排版这些文本的命令。 2原文为:“LATEX does not work well for people who have sold their souls . . . ”,不知 译的是否正确。 3传闻这将是未来的 LATEX3 系统的一个重要组成部分
1.3TX源文件 5 1.3.1 空白距离 TEX将空格和制表符等空白字符视为相同的空白距离(space)。多 个连续的空白字符等同为一个空白字符。在如X文件中,每行开始的空 白字符将被忽略,而单个的回车符被视为一空格。 TX使用空行来结束段落,两行文本中的空行标志上一段落的结束和 新段落的开始。如同空格一样,多个空行所起的作用和一个空行的作用是 相同的。下面例子中,左边是源文件中的文本,右边则是排版后的输出结 果。 It does not matter whether you enter one or several spaces It does not matter whether you enter one or after a word. several spaces after a word. An empty line starts a new An empty line starts a new paragraph. paragraph 1.3.2 特殊字符 下面的这些字符是TX的保留字符,它们或在TX中有特定的用 处,或不一定包含在所有的字库中。如果你直接在文本中使用它们,通常 在排版结果中将不会得到这些字符,而且还会导致虹X做一些你不希望 发生的事情。 #$%&-{}”\ 当然,这些字符前面加上反斜线,就可以在文本中得到它们。 \#1$1%1)1&\\[1\0 #$%&-{} 另外一些符号可以由特殊的命令或作为重音命令得到。反斜线\不能 够通过在其前添加另外的反斜线来得到,相反的,\小是一个用来断行的命 令。4 1.3.3TX命令 TX命令(commands)是大小写敏感的并有下面两种格式: 4试试命令$\backslash$,它将生成\
1.3 LATEX 源文件 5 1.3.1 空白距离 LATEX 将空格和制表符等空白字符视为相同的空白距离(space)。多 个连续的空白字符等同为一个空白字符。在 LATEX 文件中,每行开始的空 白字符将被忽略,而单个的回车符被视为一空格。 LATEX 使用空行来结束段落,两行文本中的空行标志上一段落的结束和 新段落的开始。如同空格一样,多个空行所起的作用和一个空行的作用是 相同的。下面例子中,左边是源文件中的文本,右边则是排版后的输出结 果。 It does not matter whether you enter one or several spaces after a word. An empty line starts a new paragraph. It does not matter whether you enter one or several spaces after a word. An empty line starts a new paragraph. 1.3.2 特殊字符 下面的这些字符是 LATEX 的保留字符,它们或在 LATEX 中有特定的用 处,或不一定包含在所有的字库中。如果你直接在文本中使用它们,通常 在排版结果中将不会得到这些字符,而且还会导致 LATEX 做一些你不希望 发生的事情。 # $ % ^ & _ { } ~ \ 当然,这些字符前面加上反斜线,就可以在文本中得到它们。 \# \$ \% \^{} \& \_ \{ \} \~{} # $ % ˆ & { } ˜ 另外一些符号可以由特殊的命令或作为重音命令得到。反斜线 \ 不能 够通过在其前添加另外的反斜线来得到,相反的,\\ 是一个用来断行的命 令。4 1.3.3 LATEX 命令 LATEX 命令(commands)是大小写敏感的并有下面两种格式: 4试试命令 $\backslash$,它将生成 \
基本知识 。以一反斜线1开始,加上只包含字母字符命令名组成。命令名后的空 格符、数字或其它非字母字符标志该命令的结束。 。由一反斜线和一特殊字符组成。 TX忽略命令后面的空格。如果你希望在命令后面得到一空格,可以 在命令后面加上)和一个空格,或者加上一个特殊的空白距离命令。)将 阻止TX吞噬掉命令后面的空格。 I read that Knuth divides the people working with \Tex{}into I read that Knuth divides the people working \Tex{}nicians and \Tex perts.\\ with TEX into TEXnicians and TEXperts. Today is 8th March 2003. Today is \today. 许多命令需要一个参数(parameter)并用一对大括号(curly braces)【} 将其括起来置于命令名称的后面。也有一些命令支持用方括号(square brace)括起来的可选参数。下面的例子中使用了一些TX命令,并将在 以后对他们进行解释。 You can \textsl{lean}on me! You can lean on me! Please,start a new line Please,start a new line right here! right here!\newline Thank you! Thank you! 1.3.4注释 当TX在处理源文件时,如果遇到一个百分号字符%,那么TX 将忽略%后的该行文本,分行符以及下一行开始的空白字符。这样,我们 就可以在源文件中写一些注释,而不会担心他们会出现在最后的排版结果 中。 This is an stupid Better:instructive <--- example:Supercal This is an example:Supercalifragilisticexpi- alidocious ifragilist% icexpialidocious %也可以用来分割不允许有空格或分行的较长输入文本
6 基本知识 • 以一反斜线 \ 开始,加上只包含字母字符命令名组成。命令名后的空 格符、数字或其它非字母字符标志该命令的结束。 • 由一反斜线和一特殊字符组成。 LATEX 忽略命令后面的空格。如果你希望在命令后面得到一空格,可以 在命令后面加上 {} 和一个空格,或者加上一个特殊的空白距离命令。{} 将 阻止 LATEX 吞噬掉命令后面的空格。 I read that Knuth divides the people working with \TeX{} into \TeX{}nicians and \TeX perts.\\ Today is \today. I read that Knuth divides the people working with TEX into TEXnicians and TEXperts. Today is 8th March 2003. 许多命令需要一个参数(parameter)并用一对大括号(curly braces){ } 将其括起来置于命令名称的后面。也有一些命令支持用方括号(square brace)括起来的可选参数。下面的例子中使用了一些 LATEX 命令,并将在 以后对他们进行解释。 You can \textsl{lean} on me! You can lean on me! Please, start a new line right here!\newline Thank you! Please, start a new line right here! Thank you! 1.3.4 注释 当 LATEX 在处理源文件时,如果遇到一个百分号字符 %,那么 LATEX 将忽略 % 后的该行文本,分行符以及下一行开始的空白字符。这样,我们 就可以在源文件中写一些注释,而不会担心他们会出现在最后的排版结果 中。 This is an % stupid % Better: instructive <---- example: Supercal% ifragilist% icexpialidocious This is an example: Supercalifragilisticexpialidocious % 也可以用来分割不允许有空格或分行的较长输入文本
1.4源文件的结构 7 如果需要较长的注释,你可以使用verbatim宏集所提供的comment环 境。当然,你需要在源文件的导言区里加上命令\usepackage-[verbatim}。 %This is another Z\begin{comment} %rather stupid, %but helpful %\end{comment} %example for embedding %comments in your document. 这是另一个 这是另一个在你的文档中使用注释的例子。 \begin{comment} 非常笨拙的, 然而却很有效。 \end{comment} 在你的文档中 使用注释的例子。 注意这个方法不能使用在像数学环境等一些复杂的环境中。 1.4源文件的结构 灯X需要所处理的源文件遵从一定的结构,每个TX文档必须以如 下的命令开始: \documentclass{...} 这个命令指定了你所写的文档的类别。在此之后,你可以加入控制文档式 样的命令,或者使用如下的命令来调入一些宏集,进而为TX系统增添 一些新的功能。 \usepackage{...} 当完成所有的设置5后,你可利用如下的命令来开始你的文档: \begin{document} 现在你可以输入你所希望排版的文本和所使用的一些TX命令。在 文档的最后键入下面的命令来告诉TX你的文档到此结束,从而使TX 忽略文档在此命令之后的部分。 5\documentclass和\begin{document}之间的区域称作导言区
1.4 源文件的结构 7 如果需要较长的注释,你可以使用 verbatim 宏集所提供的 comment 环 境。当然,你需要在源文件的导言区里加上命令 \usepackage{verbatim}。 %This is another %\begin{comment} %rather stupid, %but helpful %\end{comment} %example for embedding %comments in your document. 这是另一个 \begin{comment} 非常笨拙的, 然而却很有效。 \end{comment} 在你的文档中 使用注释的例子。 这是另一个在你的文档中使用注释的例子。 注意这个方法不能使用在像数学环境等一些复杂的环境中。 1.4 源文件的结构 LATEX 需要所处理的源文件遵从一定的结构,每个 LATEX 文档必须以如 下的命令开始: \documentclass{...} 这个命令指定了你所写的文档的类别。在此之后,你可以加入控制文档式 样的命令,或者使用如下的命令来调入一些宏集,进而为 LATEX 系统增添 一些新的功能。 \usepackage{...} 当完成所有的设置5后,你可利用如下的命令来开始你的文档: \begin{document} 现在你可以输入你所希望排版的文本和所使用的一些 LATEX 命令。在 文档的最后键入下面的命令来告诉 LATEX 你的文档到此结束,从而使 LATEX 忽略文档在此命令之后的部分。 5 \documentclass 和 \begin{document} 之间的区域称作导言区