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