用 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}
一般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 提供许多非英文的字母,像希腊字母和斯拉夫字母,其他参考会详述这些。
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 扩充程式集与其他资源.
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}注意住址中两个反斜线的地方,就是跳行的地方。