Next Previous Contents

4. LaTeX 命令

4.1 文章架构

用 LaTeX 编排文章只有几个法则,但已够用来编排复杂的文章。 LaTeX也尽可能简化了编译的过程。

实际上 LaTeX 是一种文件标识语言,它把内文逻辑和输出形式分开来处理。例如,用TeX 制定,每一节标题的格式,为预留36 点的垂直距离,然后印上粗体两倍大的标题和页数,隔两个字元的垂直距离,再继续内文的输入。相对的,LaTeX 使用\section{}命令, 它会做上述的所有的工作。如果你要改变它的格式,可以修改\section{} 来代替更改文件内容。这将会使得重新格式超过数十页的文件时,会省下很多时间。

所有 LaTeX 文件包含三个部份 : 前文内文结尾, 这些都是 TeX 专家常用的语法。

在前文部份,最少要指定文件的型态 --- 文件的型态 --- 和文件内文开始的标志,就像:

\documentclass{article}
\begin{document}
文件的结尾通常很简单,除了某些特殊例子,它只有:
\end{document}
其中 \begin{document}\end{document} 必须成对使用,在 LaTeX 中,这就叫做环境,所有输入文章,都须要在环境中,而且许多命令,只有在呼叫它们的环境中,才有作用,然而,在使用 LaTeX, 一定要有 document的环境,即唯一须要的环境。( 除了letter 型态,须要宣告\begin{letter} \end{letter},参考section Letters信件 。 ) 还有许多格式的环境,在底下会再提到。

文件格式也叫做参数,内文内定字高度为 10 点,若要改变预定格式,可以更改参数,如:

\documentclass[12pt]{article}
字高度改为 12 点。 article,格式也做了一些必要的调整。

下列有一些常用的标准格式。report 格式是和article格式相似的,是报告格式预先设定一个主题名称,每一节由新的一页开始。letter 格式包含一些特别的 addresses , salutations 和 closings 定义,底下会提到一些。

你可以用\usepackage{}的命令,来加入包装好的 LaTeX 内文码,一般叫做程序集

\usepackage{fancyhdr}
上述命令,就是加入在TEXINPUTS子目录中的风格档,fancyhdr.sty,通常在装好TeX 系统后,就会有许多类似的风格档。

\documentclass{article}
\usepackage{fancyhdr}
\begin{document}

注意\usepackage{} 必须在\begin{document}之前, 即文件的前文。

其中fancyhdr.sty 会增加\pagestyle{} 的命令,使得用者可依须要,自己设计 headers 和 footers , 大多数 LaTeX 提供下列headers 和 footers 的标准格式:

\pagestyle{plain}       % 内定格式档 - 页数在底部中间
\pagestyle{empty}       % 没有 headers 和 footers
\pagestyle{headings}    % 节数和页数在每页顶端
\pagestyle{myheadings}  % 在每页顶端列印你要印的东
百分比符号右边是命令的注解。

\pagestyle{} 的命令,直到编译下页时才作用,因此要改变正在输入的地方的 headers 和 footers 可使用:

\thispagestyle{the_pagestyle}

4.2 字元与内文型态

一般LaTeX 会内定字元的型态,但是它也允许输出别的型态,例如粗体字、斜体字等 ,也可以画底线,详见 LaTeX 扩充程序集与其他资源

有几种方法表示内文要强调的部分,最常用的是 \em 命令,在它的范围里面所有的本文,都用强调体字型编排,例如:

This word will be {\em emphasized.}
如果你已经用调体字型编排某个段落,可以用 \/取消用调体字型的命令,是用,一个反斜线和一个向前的斜线。例如:
This example {\em will\/} print correctly.

This example will {\em not} print correctly.
另外,稍为缺少可携带性,但还可以接受的是, \it\bf,和\tt命令,在命令的范围里面,分别使用意大利斜体字,粗体字和打字机字体,例如:.
{\tt This text will be printed monospaced,}
{\it this text will be italic,} and
{\bf this text will be bold\dots} all in one paragraph.
命令 \dots 连续列印不分开的三个句点。

LaTeX 最近的版本,也是你有的版本,后用的指定命令,会代替前面的命令。

This is {\it not {\bf bold italic!}}
TeTeX 用意大利斜体字编排本文,直到它遇到那 \bf 命令,才改为粗体字。

为了要到达这目的,选择字型的 NFSS 方案需要考虑每种字体的三个参数: shape , series 和 family 。如果需要替换另外的字型, LaTeX先会警告你。你也可以先宣告使用下列各项字型:

You can specify the following font shapes:

\textup{text}           % 正常的形状 ( 预设值 )
\textit{text}           % 意大利斜体字
\textsl{text}           % 斜体字
\textsc{text}           % small caps
大部分的字型都可使用下列两种 series :
\textmd{text}           % 中等 series ( 预设值 )
\textbf{text}           % 黑体字 series.
有三个families的类型可用
\textrm{text}           % 罗马体 ( 预设值 )
\textsf{text}           % sans 字体
\texttt{text}           % 打字机字体 ( 类似 Courier )
你能使用这些参数设定字型,以组成想要的效果。
\texttt{\textit{This example likely will result in a font
substitution, because many fonts don't include a typewriter italic
typeface.}}
TeX系统内定使用点距阵的字型,即 Computer Modern,其他Postscript 格式的 Type 1 字型也常用到。使用的方法参考 使用 PostScript 字型

也有许多特别的字元可以使用,下列是少许例子,自己用印表机试试。

\'{o}   \`{e}   \^{o}   \"{u}   \={o}   \c{c}   `? `!
\copyright      \pounds         \dag
最后,在 TeX 和 LaTeX 也可以使用 meta 和 ESC 的字元可以使用,只要与一个反斜线一起使用就可以了。例如:
# $ % & _ { }

LaTeX 提供许多非英文的字母,像希腊字母和斯拉夫字母,其他参考会详述这些。

4.3 边缘和行距

TeX 或 LaTeX 文件里的边缘,不可以直接的变更,往往它跟你正在试著调整的内文有关系,放置变更命令的位置也是很重要的。

对于控制 LaTeX 文件宽度的命令,可使用\evensidemargin\oddsidemargin,他们分别会改变偶数页的左侧和奇数页的右侧。举例来说,

\evensidemargin=1in
\oddsidemargin=1in
使得正常离边缘一吋的偶数页的左侧和奇数页的右侧, 额外 再增加一吋到两吋, 而且这些命令会到影响全部的文件,不会被其他局部的命令影响到,所以诗文体列表,很适合使用这些命令。

下面是本文作者写的一组变更边缘的巨集指令,他们和上面提到的命令,有不同的效果,因为他们使用 plain TeX 命令,不保证在 LaTeX 文件中会有效,但是你还是可以把它放在开始想改变边缘的位置。

%%  margins.sty -- v. 0.1   by Robert Kiesling
%%  这个巨集指令可以自由地被散布及使用
%%
%% 一些基本的 plain TeX 变更边缘的命令. 长度单位为吋
%%
%%  \leftmargin{1}   %% 文件左边离边缘一吋
%%  \leftindent{1}   %% 段落左边离边缘一吋
%%  \rightindent{1}  %% 段落右边离边缘一吋
%%  \llength{3}      %% 下列各行的长度设定为 3 吋
%%
\message{Margins macros...}
\def\lmargin#1{\hoffset = #1 in}
\def\lindent#1{\leftskip = #1 in}
\def\rindent#1{\rightskip = #1 in}
\def\llength#1{\hsize = #1 in}
%%
%% (End of margins macros.}
把这个 margins.sty 放在$TEXINPUTS 的目录内。命令的作用如同注解,在一份文件前文中使用下列命令,就可以使用它们了:
\usepackage{margins}

由于 LaTeX 会自己调整每行右边的边缘,( 使每一行的尾端都对齐,但是有时会看起来怪怪的 ) ,可以使用下列命令取消这内定的功能:

\raggedright

设定行距也有些复杂。

baselineskip 的量是设定文章的行距,通常都会给一个正的数,举例来说:

\baselineskip=24pt
或使用较好的:
\setlength{\baselineskip}{24pt}
二者之间的差异是, setlength 会优先让其他会影响文章编排的命令执行。

使用 baselineskip 的问题是,它也会影响到区段的标题,注脚和相似的命令。如果使用 baselineskip ,必须随时注意它对你正在格式的文章的影响,有些 LaTeX 的巨集,像setspace.sty, ,对在这些环境中的使用将会帮助,请参考: LaTeX 扩充程序集与其他资源.

4.4 文章格式

LaTeX 提供标准化的格式提供给文件输入,诸如目录、引用段落、注脚及其他文件的格式供人使用,下列包含一些常用的标准格式。

文章与报告

如前面所提到, 文章格式和 报告格式是相似的。主要的不同是报告格式,预先设定一个主题名称,每一节由新的一页开始。虽然这样,两者大至上是相似的。,预先设定一个主题名称,每一节由新的一页开始。

举例来说,为了要制造主题名称,摘要和每一行,预先在前面输入:

\title{The Breeding Habits of Cacti}
\author{John Q. Public}
\abstract{Description of how common desert cacti search
for appropriate watering holes to perform their breeding
rituals.}
然后,这命令
\maketitle
会使得用报告格式的文章,在开始的地方或第一页的顶端,产生主题名称和摘要。

其他段落的命令定义如下:

\section
\subsection
\subsubsection
这些命令将会在文件中,产生标准并已编号的小节,若不让每小节自动编号,则使用:
\section*
\subsection*
\subsubsection*
以此类推。

LaTeX 提供许多表现输出文件的环境供人使用,你能用引述 环境,包括要引述的部分。

\begin{quotation}
Start of paragraph to be quoted...

... end of paragraph.
\end{quotation}
比较短的引述,可以使用 引述环境。

至于要格式化诗文,则用 诗文体环境。

\begin{verse}
Because I could not stop for death\\
He kindly stopped for me
\end{verse}
可以使用两个反斜线(\\),达到跳行的目的,否则LaTeX 会以这诗体的格式,继续编排直到这一行结束。

至于列表有几种方式,用list 环境的列举格式,

\begin{list}
\item
This is the first item of the list.
\item
This is the second item of the list...
\item
... and so on.
\end{list}

enumerate环境标识号码顺序的: A numbered list uses the enumerate environment:

\begin{enumerate}
\item
Item No. 1.
\item
Item No. 2.
\item
\dots
\end{enumerate}

description环境描述主题的:

\begin{description}
\item{Oven} Dirty, needs new burner.
\item{Refrigerator}  Dirty.  Sorry.
\item{Sink and drainboard}  Stained, drippy, cold water faucet.
\end{description}

信件格式

信件格式特别为商业信件制定一些特殊的用法。

信件格式有一点争论,即收信人的住址。 address 的命令,必须在文件前文中出现,而定义寄件人名字,signature 的命令,则在结束之后出现。.

一个使用 LaTeX 信件格式的简单例子就像:

\documentclass[12pt]{letter}
\signature{John Q. Public}
\address{123 Main St.\\Los Angeles, CA.  96005\\Tel: 123/456-7890}
\begin{document}
\begin{letter}{ACME Brick Co.\\100 Ash St.\\San Diego, CA 96403}
\opening{Dear Sir/Madam:}

With regard to one of your bricks that I found on my living room
carpet surrounded by shards of my broken front window...

(Remainder of the body of the letter.)

\closing{Sincerely,}

\end{letter}
\end{document}
注意住址中两个反斜线的地方,就是跳行的地方。


Next Previous Contents