The teTeX HOWTO: Linux-teTeX 部份指導: LaTeX 命令

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