1.8大型文档 13 ind经过处理后的idx文件。可在下次编译运行时加入到你的文档中。 ,ilg运行makeindex时生成的记录文件。 1.7.1页面式样 TEX支持三种预定的页眉、页脚(header/footer)格式,称为页面式 样(page styles)。命令 \pagestyle{style} 中的参数定义了所使用页面式样。表1.4列出了预先定义的页面式样。 1.4:The Predefined Page Styles of ITEX plain页眉为空,页脚由居中的的页码组成。这是默认的页面式样。 headings页眉由当前的章节标题和页码组成,页脚为空。(这是本文 档所使用的页面式样) empty设置页眉、页脚均为空。 可以使用下面的命令改变当前页的页面式样: \thispagestyle{style} 有关如何创建你自己的页眉和页脚的详细说明可参见The LTEX Com- panion[)和第4.4节。 1.8 大型文档 当处理大型文档时,最好将源文件分成几个部分。TX有两条命令来 处理这种情况。 \include{filename} 在文档的正文中使用此命令可将文件名为filename.tex的内容包括进来。注 意TEX在开始处理filename.tec的内容之前将会开始一新页
1.8 大型文档 13 .ind 经过处理后的 .idx 文件。可在下次编译运行时加入到你的文档中。 .ilg 运行 makeindex 时生成的记录文件。 1.7.1 页面式样 LATEX 支持三种预定的页眉、页脚(header/footer)格式,称为页面式 样(page styles)。命令 \pagestyle{style} 中的参数定义了所使用页面式样。表 1.4 列出了预先定义的页面式样。 表 1.4: The Predefined Page Styles of LATEX. plain 页眉为空,页脚由居中的的页码组成。这是默认的页面式样。 headings 页眉由当前的章节标题和页码组成,页脚为空。(这是本文 档所使用的页面式样) empty 设置页眉、页脚均为空。 可以使用下面的命令改变当前页的页面式样: \thispagestyle{style} 有关如何创建你自己的页眉和页脚的详细说明可参见 The LATEX Companion [3] 和第 4.4 节。 1.8 大型文档 当处理大型文档时,最好将源文件分成几个部分。LATEX 有两条命令来 处理这种情况。 \include{filename} 在文档的正文中使用此命令可将文件名为 filename.tex 的内容包括进来。注 意 LATEX 在开始处理 filename.tex 的内容之前将会开始一新页
14 基本知识 第二个命令可用在文档的导言区,它允许你指导X仅仅读入某些 included文件。 \includeonly{filename,filename,...} 这条命令在导言区被TEX读入执行后,在所有的\include命令中, 只有\includeonly命令参数中列出的文件才会被执行。注意在参数中,文 件名和逗号之间不能有空格。 \include命令在新页上排版包括进来的文本,这对于使用\includeonly 命令很有帮助。应为即使一些包括的文件被忽略,分页处也不会变更。如 果不想在新页排版包括进来的文本,可使用下面的命令: \input{filename} 该命令只是简单地将指定的文件包括进来,并没有其它限制。 使用syntonly宏包可以让TEX快速的检查你的文档:TEX浏览你的 文档,仅仅检查语法和所使用的命令是否正确,不会产生DVI输出。在这 种模式下,TX运行的非常快,可以节省可观的时间。使用方法非常简 单: \usepackage{syntonly} \syntaxonly
14 基本知识 第二个命令可用在文档的导言区,它允许你指导 LATEX 仅仅读入某些 \included 文件。 \includeonly{filename,filename,. . . } 这条命令在导言区被 LATEX 读入执行后,在所有的 \include 命令中, 只有 \includeonly 命令参数中列出的文件才会被执行。注意在参数中,文 件名和逗号之间不能有空格。 \include 命令在新页上排版包括进来的文本,这对于使用 \includeonly 命令很有帮助。应为即使一些包括的文件被忽略,分页处也不会变更。如 果不想在新页排版包括进来的文本,可使用下面的命令: \input{filename} 该命令只是简单地将指定的文件包括进来,并没有其它限制。 使用 syntonly 宏包可以让 LATEX 快速的检查你的文档:LATEX 浏览你的 文档,仅仅检查语法和所使用的命令是否正确,不会产生 DVI 输出。在这 种模式下,LATEX 运行的非常快,可以节省可观的时间。使用方法非常简 单: \usepackage{syntonly} \syntaxonly
第二章文档排版 阅读前一章后,就可以了解TEX2ε文档的基本结构了。在这一章我将 补充其余的部分,以使你能够生成实用的文档。 2.1文档和语言的结构 写作文档(一些现代DAAC文学除外)的主旨在于向读者传递观点、 信息或知识。如果这些观点组织得很好,读者将能更好地理解。如果排版 风格反映了内容的逻辑和语义结构,读者就能看见和感觉到文章的这种脉 络。 TX与其他排版系统的不同在于你只要告诉它文档的逻辑和语义结 构,它就按照文档类型和各种格式文件指定的“规则”导出文档的排版风 格。 在TX(在印刷术)中段落是最重要的文档单位。我们之所以称之 为“文档单位”,因为段落是反映一个连贯思想或观点的排版风格形式。在 下面的章节中你将学习如何用小强行断行,通过在源文件中留一空行强行 转段。所以,如果开始一个新思想,就另起一段,否则,只应使用断行。 如果还犹豫是否应转段,可以把文档想象为观点和思想的传递者。如果旧 的思路还在继续,就不应转段。如果同一段中出现了全新的思路,就应该 另起一段。 大多数人完全低估恰当设置转段点的重要性。许多人甚至不知道转段 点的含义是什么,或者在TX中引进了转段点却浑然不知。如果在文档 中使用了公式,后一个错误特别容易发生。看看下面的例子,想想为什 么有时在方程前后使用多个空行(转段点),有时却不用。(如果你还不 完全理解这些例子中的命令,请阅读本章和下一章,然后重新阅读本节内 容。) Example 1 1为标新立异不计代价,译自Swiss German UVA(Um's Verrecken Anders)
第二章 文档排版 阅读前一章后,就可以了解 LATEX 2ε 文档的基本结构了。在这一章我将 补充其余的部分,以使你能够生成实用的文档。 2.1 文档和语言的结构 写作文档(一些现代 DAAC1文学除外)的主旨在于向读者传递观点、 信息或知识。如果这些观点组织得很好,读者将能更好地理解。如果排版 风格反映了内容的逻辑和语义结构,读者就能看见和感觉到文章的这种脉 络。 LATEX 与其他排版系统的不同在于你只要告诉它文档的逻辑和语义结 构,它就按照文档类型和各种格式文件指定的“规则”导出文档的排版风 格。 在 LATEX(在印刷术)中段落是最重要的文档单位。我们之所以称之 为“文档单位”,因为段落是反映一个连贯思想或观点的排版风格形式。在 下面的章节中你将学习如何用 \\ 强行断行,通过在源文件中留一空行强行 转段。所以,如果开始一个新思想,就另起一段,否则,只应使用断行。 如果还犹豫是否应转段,可以把文档想象为观点和思想的传递者。如果旧 的思路还在继续,就不应转段。如果同一段中出现了全新的思路,就应该 另起一段。 大多数人完全低估恰当设置转段点的重要性。许多人甚至不知道转段 点的含义是什么,或者在 LATEX 中引进了转段点却浑然不知。如果在文档 中使用了公式,后一个错误特别容易发生。看看下面的例子,想想为什 么有时在方程前后使用多个空行(转段点),有时却不用。(如果你还不 完全理解这些例子中的命令,请阅读本章和下一章,然后重新阅读本节内 容。) % Example 1 1为标新立异不计代价,译自 Swiss German UVA (Um’s Verrecken Anders)
16 文档排版 \ldots when Einstein introduced his formula \begin{equation} e m \cdot c"2 \ \endfequation} which is at the same time the most widely known and the least well understood physical formula. Example 2 \ldots from which follows Kirchoff's current law: \beginfequation} \sum_{k=1)^{n}I_k=0\;· \end{equation} Kirchhoff's voltage law can be derived \ldots Example 3 \ldots which has several advantages. \begin{equation} I_D=I_F-I_R \end{equation} is the core of a very different transistor model.\ldots 下一个较小的文档单位是句子。在英语文档中,在一个句子结尾处句 号后的空间大于缩写词句号后的空间。X试图分辨出你需要那一个。如 果TX给错了,你必须告诉TX你到底需要什么。在本章的后面将对 此予以解释。 句子也有结构。大多数语言具有非常复杂的标点符号系统,但是在很 多语言中(包括德语和英语)只要你记住它表示什么:语言流中的短暂 停顿,你就能近乎完美地使用逗号。如果你不肯定在哪里使用逗号,就大 声地朗读这个句子,在每个逗号处做一短呼吸。在什么地方如果你感到别 扭,就删掉这个逗号:如果在什么地方,你感到必须呼吸(或做了短暂停 顿)就插入一个逗号。 最后,通过分成章、节、子节等形式,文档中的段落应该按逻辑在更 高的层次进行组织。但是,使用\section{The Structure of Text and
16 文档排版 \ldots when Einstein introduced his formula \begin{equation} e = m \cdot c^2 \; , \end{equation} which is at the same time the most widely known and the least well understood physical formula. % Example 2 \ldots from which follows Kirchoff’s current law: \begin{equation} \sum_{k=1}^{n} I_k = 0 \; . \end{equation} Kirchhoff’s voltage law can be derived \ldots % Example 3 \ldots which has several advantages. \begin{equation} I_D = I_F - I_R \end{equation} is the core of a very different transistor model. \ldots 下一个较小的文档单位是句子。在英语文档中,在一个句子结尾处句 号后的空间大于缩写词句号后的空间。LATEX 试图分辨出你需要那一个。如 果 LATEX 给错了,你必须告诉 LATEX 你到底需要什么。在本章的后面将对 此予以解释。 句子也有结构。大多数语言具有非常复杂的标点符号系统,但是在很 多语言中(包括德语和英语)只要你记住它表示什么:语言流中的短暂 停顿,你就能近乎完美地使用逗号。如果你不肯定在哪里使用逗号,就大 声地朗读这个句子,在每个逗号处做一短呼吸。在什么地方如果你感到别 扭,就删掉这个逗号;如果在什么地方,你感到必须呼吸(或做了短暂停 顿)就插入一个逗号。 最后,通过分成章、节、子节等形式,文档中的段落应该按逻辑在更 高的层次进行组织。但是,使用 \section{The Structure of Text and
2.2断行和分页 17 Language}.的排版效果是如此明显,以致如何使用这些高水平的结构几乎 是不证自明的。 2.2 断行和分页 2.2.1段落整理 通常书籍是用等长的行来排版的。为了优化整个段落的内容,TX 在单词之间插入必要的断行点(linebreak)和间隔。如果一行的单词排不 下,灯X也会进行必要的断字。段落如何排版依赖于文档类别。通常,每 一段的第一行有缩进,在两段之间没有额外的间隔。更多的信息请参考第 5.3.2节。 在特殊情形下,有必要命令TX断行 \or \newline 另起一行,而不另起一段。 * 在强行断行后,还禁止分页。 \newpage 另起一新页。 \linebreak[n],\nolinebreak[n],\pagebreak[n]and \nopagebreak[n] 上述命令的效果可以从它们的名称看出来。通过可选参数,作者可以影响 这些命令的效果。n可以置为0和4之间的数。如果命令的效果看起来非 常差,把n取为小于4的数,可以让TEX选择忽略这个命令。不要这些 “break'”命令与new”命令混淆。即使你给出了break'”命令,TEX仍然 试图对齐页面的右边界。如果你真想另起一行,就使用相应的命令。猜猜 该是什么命令! TX总是尽可能产生最好的断行效果。如果断行无法达到TX的高 标准,就让这一行在段落的右侧溢出。然后在处理输入文件的同时,报告 溢出的消息(“overfull hbox'”)。这最可能发生在TX找不到合适的地方
2.2 断行和分页 17 Language} 的排版效果是如此明显,以致如何使用这些高水平的结构几乎 是不证自明的。 2.2 断行和分页 2.2.1 段落整理 通常书籍是用等长的行来排版的。为了优化整个段落的内容,LATEX 在单词之间插入必要的断行点(linebreak)和间隔。如果一行的单词排不 下,LATEX 也会进行必要的断字。段落如何排版依赖于文档类别。通常,每 一段的第一行有缩进,在两段之间没有额外的间隔。更多的信息请参考第 5.3.2 节。 在特殊情形下,有必要命令 LATEX 断行 \\ or \newline 另起一行,而不另起一段。 \\* 在强行断行后,还禁止分页。 \newpage 另起一新页。 \linebreak[n], \nolinebreak[n], \pagebreak[n] and \nopagebreak[n] 上述命令的效果可以从它们的名称看出来。通过可选参数 n,作者可以影响 这些命令的效果。n 可以置为 0 和 4 之间的数。如果命令的效果看起来非 常差,把 n 取为小于 4 的数,可以让 LATEX 选择忽略这个命令。不要这些 “break” 命令与 “new” 命令混淆。即使你给出了 “break” 命令,LATEX 仍然 试图对齐页面的右边界。如果你真想另起一行,就使用相应的命令。猜猜 该是什么命令! LATEX 总是尽可能产生最好的断行效果。如果断行无法达到 LATEX 的高 标准,就让这一行在段落的右侧溢出。然后在处理输入文件的同时,报告 溢出的消息(“overfull hbox”)。这最可能发生在 LATEX 找不到合适的地方