准备用于 TeX 排版的文件非常简单。确保纯文本文件的段落之间有一个空行,并使用以下命令通过 TeX 程序运行文件
tex your_text_file结果将是一个具有相同基本名称和扩展名
.dvi
的文件。TeX 使用 10 磅 Computer Modern Roman 字体,单倍行距,左右页边距对齐来格式化文本。如果您收到来自美元符号等特殊字符的错误消息,请使用反斜杠字符 \
对其进行转义,然后再次在文件上运行 TeX。您应该能够使用您选择的 .dvi
文件转换器(见上文)处理生成的文件,以获得打印输出。TeX 输入的一个特点是您必须使用开始和结束引号,这些引号在输入文件中用重音符和单引号字符表示。Emacs 的 TeX 模式会自动为您执行此操作。
"These are ASCII-type quotes." ``These are `TeX-style' quotes.''
TeX 中的命令以反斜杠 (``\'') 开头。例如,更改行间距的命令是
\baselineskip=24pt
基线是一行上字符的底部,不包括降部。一行基线与下一行基线之间的距离是 \baselineskip
,并被赋值为 24 磅。
TeX 中的测量值或尺寸通常以以下单位给出
pt % Point 1/72 in. pc % Pica: 12 pt. in % Inch: 72.27 pt. cm % Centimeter: 2.54 cm = 1 in. mm % Millimeter: 10 mm = 1 cm.
某些命令不接受赋值。例如
\smallskip % Approximately 3 pt. \medskip % Two \smallskips. \bigskip % Two \medskips.
\smallskip
在文档中插入 3 磅的垂直空间。测量值是近似值,因为 TeX 需要调整页面中断、节标题和其他垂直空间单位的尺寸。水平间距也是如此。
\hsize=6.5in此命令将行长设置为 6.5 英寸的宽度。TeX 尝试通过调整单词和某些字母之间的间距来填充行。如果 TeX 无法在公差范围内填充一行,它会生成警告消息,并尽力调整行内的水平间距。格式公差在公差部分中讨论。
还有许多其他命令可以指定水平和垂直尺寸以及公差,下面描述最常用的命令。
在 TeX 中,默认字体为 10 磅 Computer Modern Roman。要指定字体,如斜体、粗体或等宽字体,请使用以下命令。
\rm % Roman (the default). \it % Italics. \bf % Bold. \tt % Monospaced (teletype). \sl % Oblique (slanted).这些命令在文本中出现的位置更改字体,如本例所示。
This text is Roman, \it and this text is italic. \bf This text is bold, and \rm this text is in Roman again.
要为您的文档指定字体,请使用 \font
命令。
\font\romantwelve=cmr12这将创建字体命令
\romantwelve
,当在文本中使用时,它会将字体更改为 12 磅 Computer Modern Roman 字体。\romantwelve This is the Computer Modern Roman font at 12 points.有关 teTeX 发行版中字体的信息,请查看文件
/usr/lib/teTeX/texmf/doc/fonts/fontname/fontname.dvi
如果您想打印字体的示例,请 TeX 文件
/usr/lib/teTeX/texmf/tex/plain/base/fontchart.tex并在提示符处填写您要打印的字体的名称。
您还可以更改字体大小以获得不同的效果。字体放大率是指数级的,并使用 scaled \magstep
命令指定,该命令放置在字体规范之后。
\font\sfmedium=cmss12 scaled \magstep 1此命令将为您提供一个无衬线字体,其大小是 12 磅 Computer Modern 无衬线字体的 120%。字体可以以 0 到 5 的步长放大。每个步长都额外提供 120% 的放大率。
如上所述,TeX 默认以 10 磅 Computer Modern Roman 字体排版文本。行的长度是 \hsize
的值,默认为 6.5 英寸。例如,如果您想将 \hsize
的值更改为 5.5 英寸,请使用此命令。
\hsize=5.5in
在 TeX 中,尺寸是一个可调整的长度单位,可以是水平或垂直的。尺寸可以增加或减少的量可以在其定义中指定。与尺寸密切相关的是skip,它是一个放置在 TeX 内部寄存器之一中的尺寸。Skip 使用 \newskip
命令定义。\smallskip
尺寸,由 TeX 定义为
\newskip\smallskipamount \smallskipamount=3pt plus 1pt minus 1pt
\smallskip
命令是以下内容的简写\vskip\smallskipamount
有许多尺寸控制页面布局。它们在页面布局部分中进行了总结。
TeX 使用左右对齐的页边距格式化段落。如果您希望文本仅左对齐,请使用此命令
\raggedright
要排版右对齐页边距的行,请使用 \rightline
命令
\rightline{This is the line to be typeset.}
\line
命令排版其参数的文本以填充整行。
\line{This text will be spaced to fit the entire line.}
\hfil
命令添加空格以填充其所在行的位置。因此,例如,\rightline
命令等效于
\line{\hfilThis line will be right justified.}
要排版居中的行,请使用 \centerline
命令。
\centerline{This is the line to be centered.}
要更改左边距,请设置 \hoffset
的值,如本例所示
\hoffset=1.5in
\parindent
命令指定每个段落首行缩进的量。
\parindent=.5in
另外两个尺寸 \leftskip
和 \rightskip
将分别缩进其后段落的右边距和左边距。
\leftskip=.5in \rightskip=.5in控制字
\narrower
等效于\leftskip=\parindent \rightskip=\parindent也就是说,
\narrower
将段落边距缩小 \parindent
的值如上一节所述,\baselineskip
指定行之间的距离。默认值为 12 磅。要近似双倍行距文本,请使用以下命令。
\baselineskip=\baselineskip*1.6
\parskip
命令指定段落之间除 \baselineskip
之外的距离。默认情况下,不添加额外的空格,但段落之间的距离可以拉伸多达 1 磅,以正确填充页面。要在段落之间放置空行,请使用此命令
\parskip=\baselineskip
TeX 通常以严格的公差格式化文本。如果由于某种原因,文本无法在这些公差范围内格式化,TeX 会生成警告消息并尽力格式化文本。如果文本必须拉伸得太长才能适合该行,TeX 会警告您 \hbox
不足。必须挤压才能适合该行的文本会产生溢出的 \hbox
警告。
对于每个溢出的 \hbox
,TeX 会在该行后放置一个slug,即黑色矩形。Slug 表示该行无法在 \hbadness
参数设置的规范范围内格式化。
文本在其指定尺寸内的拟合程度由其badness来衡量,这是一个介于 0 到 10000 之间的数字。Badness 为 0 表示完美拟合,而 badness 为 10000 表示该行可能永远不适合。\hbadness
的默认值为 1000。如果您将 \hbadness
设置为 10000,TeX 将不会报告不足的行。
有时 TeX 允许一行延伸超过右边距。这是 TeX 作者做出的审美决定。数量由 \hfuzz
参数确定,该参数默认为 0.1 磅。如果文本不适合该行,则 \tolerance
参数确定 TeX 将如何处理溢出的 \hbox
。\tolerance
的默认值为 200。将 \tolerance
设置为 1000 会抑制溢出的 \hbox
警告和 slug 的打印。
除了上一节中描述的左边距和行长尺寸之外,TeX 还允许您指定顶部和底部边距以及垂直间距。
与上一节中描述的 \hsize
和 \hoffset
尺寸类似,TeX 还提供了 \vsize
和 \voffset
命令。\vsize
的默认值为 8.9 英寸,而 \voffset
默认为 0。
通常,teTeX 将文本第一行的开头放置在纸张顶部下方 1 英寸处,并距左边缘 1 英寸。您可以使用以下命令使文本更靠近页面顶部开始
\voffset=-0.5in
如果您想在文档中添加垂直空间,命令 \smallskip
、\medskip
和 \bigskip
将添加大约 3、6 和 12 磅的空白垂直空间。这些测量值是近似值;TeX 将最多调整 1 磅,以便正确填充页面。
\vfill
命令在页面上的段落之间添加可调整的垂直空间。它是无限可拉伸的,因此它将添加垂直空间以尽可能多地填充页面的其余部分。如果您想指定尺寸,请使用 \vskip
,如
\vskip 10pt
命令 \hss
和 \vss
类似于 \hfil
和 \vfill
,但它们提供的尺寸是无限可收缩和无限可拉伸的。
\vskip
和 \vfill
命令产生灵活的长度。它们不会在没有文本的地方添加空格;例如,在页面顶部。如果您想添加绝对空间,请使用 \vglue
。
TeX 用尽可能多的文本填充 \vsize
尺寸,然后再开始新页。要强制分页,请使用 \vfill \eject
序列。如果未使用 \vfill
,则 \break
之前的文本将被间隔以填充页面。
如果您希望 TeX 在垂直页面尺寸调整方面更灵活,请将 \raggedbottom
命令放在您的文档中。然后,TeX 将稍微调整每个页面的底部边距,以使垂直间距更加一致。
默认情况下,teTeX 将页码放置在页面底部的中心。如果您想更改页码的位置和样式,您可以通过更改 \headline
和 \footline
的定义来指定备用页眉和页脚。\footline
的默认值包含 \folio
命令,该命令打印页码。\headline
的默认值为 \hfil
,因此会打印空行。
\pageno
命令是 TeX 内部页码计数器的同义词。您可以通过更改 \pageno
的值来更改页码。如果 \pageno
为负数,则数字将以罗马数字打印。
\pageno=10 \pageno=-1
命令 \nopagenumbers
是以下内容的简写
\headline={\hfil} \footline={\hfil}
默认页脚还包含字体命令 \tenrm
,它将页码的字体设置为 10 磅 Roman 字体。例如,如果您想以 12 磅 Roman 字体打印页码,您首先需要定义一个 12 磅 Roman 字体,并在 \footline
的定义中使用它。字体命令在字体命令部分中讨论。
\font\twelvrm=cmr12 \footline={\hss\twelvrm\folio\hss}
您可以通过将 \headline
重新定义为以下内容,在每页顶部放置一条规则,即水平线
\headline={\hrulefill}
要为偶数页和奇数页指定不同的页眉,请使用 \ifodd
命令,其形式为
\ifodd[condition][true-action]\else[false-action使用偶数页和奇数页不同页眉的
\headline
示例为\headline={\ifodd\pageno odd-page-header \else even-page-header}如果页码为奇数,则
\ifodd
语句使用第一个参数,否则使用第二个参数。
TeX 仅提供用于节标题的 \beginsection
宏。它在其参数上方留出空格,以粗体类型打印标题的文本,在标题的文本后添加 \smallskip
,并开始下一个段落,不缩进。
下面描述的 LaTeX 章节和节命令添加了节编号,并将节名称和编号打印在页眉中,并自动将节添加到目录中。
在纯 TeX 中,您必须自己编写这些函数。\def
命令允许您定义新命令。假设您要打印章节标题。首先,您需要定义要使用的字体。章节标题的大型无衬线字体可以这样定义
\font\chapterfontsans=cmss12 scaled \magstep 4您可以在任何想要切换到此字体的地方使用
\chapterfontsans
命令,其高度约为 24 磅。但是,在本例中,它将主要在命令 \chaptertitlesans
中使用。以下是其定义\def\chaptertitlesans#1{\hbox{}\bigskip\bigskip \noindent{\leftline{\chapterfontsans#1}} \par\bigskip\bigskip\noindent}第一行
\hbox{}\bigskip
通过在此处放置一个空的 \hbox{}
来在页面顶部锚定 12 磅的空间。带有章节标题的行未缩进,紧随其后的段落也未缩进。如果您在 \sschaptertitle
宏和下一段之间放置一个空行,则最终的 \noindent
应用于空行,而不是以下段落的文本。要正确格式化,请使用 \sschaptertitle
,如本例所示定义中的 #1
语句被 \chaptertitlesans
的第一个参数替换;即章节的标题。参数 TeX 定义用 #1
、#2
、#3
等声明。\chaptertitlesans
的用法示例为
\chaptertitlesans{Chapter 1} This is the starting text of the first paragraph of the chapter. The paragraph will not be indented. The chapter's title is "Chapter 1."