• 沒有找到結果。

8 段落編排

在文檔中 cwTEX 排版系統 (頁 109-131)

上一章說明文稿結構與章節設計, 本章將說明排版局部段落之指令,如迷你版 面、 註解、 列舉項目等等。 從排版的角度來看,版面上最基本的元素是單字。 由 單字組成句子、 句子再組成段落、 眾多的段落則構成章節。 因此,段落編排是很 重要的一部分。 要編排普通的文字段落很簡單,我們在文稿中留出一行空白,表 示上一段落結束,以下為新段落開始。 LATEX會將此段文字排得整整齊齊。

但是,有些段落需要特別的設計,譬如,引述一段話、 排版詩歌、 條列說明等。

這些特別的段落都是利用指令環境來編排。 除此之外,本章也將介紹照列原文 verbatim指令環境,對於排版原始程式碼而言,此一工具非常方便。 最後,我們 也簡單說明如何排版多欄式版面。

8.1 段落格式

一般文稿在新段落開始處會內縮一小段距離, 在英文中這稱為indent。 此一工 作可以由 \indent 指令來完成。 輸入文稿時,空一行(或多行)即表示要起新段 落。 當LATEX碰到一空白行時即結束本段,同時在下一段開頭自動加上 \indent 指令。 因此,除非有特殊的情況,我們不須再下 \indent 指令。

若以12點之字體排版,則段落開頭內縮之距離約為0.6公分。 不過,此一距離 可以自行選擇。 內縮之距離若要拉長為0.8公分,請在全文設定區加入下列指令:

\parindent=0.8cm

如果某一段落之行首不要內縮,必須在段落開始之處加上 \noindent 指令。 如果 是全文之行首都不要內縮,則須把上述之 \parindent 設為0cm

上面說明,若要起新段落,輸入文稿時必須留一空行。 另外一個辦法是在上 一段落結束處加上 \par 指令,其作用和留空行完全相同。 段落之間距與一般行 距相同,並不特別加大。 如果要加大段落間的行距,可以使用 \parskip 指令。 譬 如,要將段落間距改成20,只要在全文設定區加入以下指令即可:

109

\parskip=20pt

段落內若要新起一行,可以將換行指令 \\ 加於本行之末;下一行之文字將齊 頭編排,不會內縮。 本行與下一行之間的行距若要比正常行距加大0.5公分,可以 加上選項:\\[.5cm]。 如果行距要縮小,則選項應為負值,例如 \\[-3pt] 可以把 行距減小3pt。 另一個對應的指令是 \\*。 這個指令的作用也是換行,不過它可 以防止在換行處換頁。 另外,\newline指令與 \\ 功能完全相同,但前者不能加 上變更行距之選項。

8.1.1 居中與靠邊

排版時, LATEX會儘可能讓每一行文字之右沿切齊。 在西文排版中,這稱為

justifi-cation。 但是,我們也可以取消右沿切齊之設定,讓每一行文字居中、 靠左或靠右

編排。

首先,若在文稿某處輸入 \centering 指令,則底下的每一行文字將居中編 排。 若要左沿對齊,右沿不切齊,可使用 \raggedright。 反之,若要右沿對齊,左 沿不切齊,則使用 \raggedleft 指令,請見底下例子。

標題居中

可靠左 或靠右

\centering標題居中\\

\raggedright可靠左\\

\raggedleft 或靠右

本例子之前兩行文字末端都加入換行指令,故排版成3行。 排版兩欄式版面時, 因為每一行文字較短,一般常採用右沿不切齊的格式排版。 若右沿對齊, LATEX須 努力調整文字之間距;有時候被迫把文字間距拉得太大,版面反而不美觀。 要設 定讓右沿不對齊,僅須在文稿前端加入 \raggedright 指令即可。

以上三個指令會影響指令以下所有文字段落之編排。 如果是要將某幾段文 字或圖表居中或靠邊排版,則以指令環境排版較為方便。 要將某段落居中排版, 可使用 center 指令環境,靠邊則使用 flushright 或 flushleft 指令環境。 底下 以鄭愁予的詩說明指令之用法。

我打江南走過, 那等在季節裡的容顏. . .

東風不來, . . .

\begin{center}

我打江南走過,\\

那等在季節裡的容顏 \dots{} \\

東風不來, \dots

\end{center}

本例中,center指令環境內全部為普通文字,但也可以包含其他的指令環境。 第 10章將說明排版表格之指令,若要把表格排版於版面中央,只要將整個表格之指 令與文字置於 center 指令環境內即可。

如果要靠左排版,應使用 flushleft 指令環境: 我打江南走過,

那等在季節裡的容顏. . . 東風不來, . . .

\begin{flushleft}

我打江南走過,\\

那等在季節裡的容顏 \dots{} \\

東風不來, \dots

\end{flushleft}

若要靠右編排,則使用 flushright 指令環境。

以上所說明之居中排版是指將段落安排於橫向的中間位置。 如果是要將某 一段落安排於版面垂直方向的中間位置,我們可以使用 \vfill 指令。 首先,在 上一段落之後加上 \newpage 指令,底下之文字段落將另起新的一頁。 然後,在 段落文字之前後各加上 \vfill 指令,即可產生縱向居中之段落。

\vfill指令的作用是將文稿段落往上頂或往下擠。 舉例來說,若文稿最後 一頁的文字並未填滿整頁,而我們希望在該頁底部的左方記錄文稿檔名及日期, 一個簡單的方法是在 \end{document} 之前一行輸入底下的指令:

\par\vfill\noindent \jobname.ctx (\today)

以上指令中,\par指令用於結束上一段落,\vfill\noindent指令則把檔名及當 天日期往下擠壓至最底端,且靠左編排。 \jobname 是TEX指令,代表排版文稿的 主檔名,我們須在其後自行加上附加檔名 .ctx。

8.2 調整間距

排版時,我們經常須控制單字、 句子或表格之位置,或者段落間之距離。 上面曾 經說明,我們可以使用 \parskip 指令控制段落之間距;本節將進一步介紹調整 段落內間距之指令。

8.2.1 插入空白

LATEX有三個現成的垂直空白指令:\bigskip,\medskip,與 \smallskip。 其中,

\smallskip所產生之間距最小,\medskip所產生之間距為 \smallskip 的兩倍;

\bigskip所產生之間距又為 \medskip 的兩倍。 事實上,\smallskip指令相當 於是: \vspace{\smallskipamount}, 其中 \smallskipamount 是一個內定之數

8.2 調整間距 ·111·

值。 在正常情況下,其值為3pt (1公分)。 我們之所以說 「在正常情況下」,原因 是此數值事實上是在2pt4pt之間伸縮。 換言之,其伸縮彈性為1pt。 當LATEX 碰到 \smallskip 指令時,它會先考慮整個版面之空間,情況許可的話,它將空出 3pt之垂直空白。 若加入3pt之垂直空白會使版面變成太擁擠,空白可能縮小為 2.4pt。 反之,3pt之垂直空白使版面顯得太空盪,則空白可能加大到3.8pt

若要自行設定間距大小,可直接使用 \vspace 或 \vspace* 指令。 前一項指 令如果下在本頁末端,或者新一頁之起頭處,指令即失效。 相對的,後一指令不 管是下在什麼地方,都產生垂直空白。 要注意的是,垂直空白指令若下在段落中 間,則空白是在本行之後才出現。 我們在本段結尾加上 \vspace*{1.0cm} 指令, 因此段落間的空白比正常間距多了1.0公分。

LATEX亦提供幾個現成的水平空白指令,較常用的是 \quad 與 \qquad。 前者 所產生之水平空白恰等於正文字體之點數。 正文若使用10pt字體,則 \quad 產 生10pt (3.5公分)水平空白;\qquad則產生兩倍之距離。

若要直接控制水平間距,可直接使用 \hspace 與 \hspace* 指令。 譬如:

距離 1公分 距離 1公分 距離 1公分 後退0.3公分

距離\hspace{1cm}1公分\\

距離 \hspace{1cm}1公分\\

距離 \hspace{1cm} 1公分\\

\hspace*{-0.3cm}後退0.3公分

若距離值為負數,文字將左移。 此例中,4行開頭之 \hspace{-0.3cm} 指令讓 句子左移0.3公分。

仔細比較例子的前三行,可發現句子中間水平空白的大小和 \hspace 指令 前後是否留有空白有關。 如果指令之前留一空白,版面上所產生的空白為1公分 加上空白鍵之距離。 如果後面也留空白,空白為1公分加上左右兩個空白鍵之距 離。 和 \hspace 指令相近的是 \hspace*。 前一指令若恰好出現在一行開頭處,指 令即失效。 反之,後一指令不論是在什麼地方出現,都將產生水平空白。

有時候,我們要把一行文字拆開為兩段,並儘量往左右兩邊靠,或者是要將垂 直空白插入一頁當中;此時可應用 \hfill 或 \vfill 指令。 我們可將 \hfill 指 令想像成是一個有力的彈簧,如果加在一行中央,它會將前後的文字往左右兩邊 推擠,請見以下的例子。

2005年 台大

2005年 經濟 台大

2005年\hfill 台大\\

2005年\hfill 經濟\hfill 台大

本例中,\hfill指令事實上等於是 \hspace{\fill}。 \hspace 指令的作用是留 出水平空白,但我們設定留出的空白是一個會往外伸張的彈簧 \fill。 第一行指 令中,彈簧左右兩邊的文字都被往外推。 第2行指令裡有兩個彈簧,因此 「經濟」

兩個字就從兩邊往中間擠壓。 上一節曾介紹居中排版指令 \centering,由以上 例子可知,兩個 \hfill 指令也可產生同樣效果。

若要將文字靠左排版,可以利用下列指令:

\noindent ... \hfill\par,

其中 ... 代表排版文字。 以上指令相當於上一節所介紹之 \raggedright。 類似 的,靠右排版 \raggedleft 的對應指令是:\hfill ...\par。

8.2.2 填入細點或直線

在一行文字中加入水平方向之空白,可使用 \hfill 指令;相對的,\dotfill指令 可以在加入的空白中填入細點。 最後,如果要畫出一水平線,應使用 \hrulefill 指令。 以上的指令中,\dotfill的應用之一是排版目錄,如下例所示。

1.前言. . . 1 2.例子. . . 5 3.排版方法 . . . 17

1. 前言 \dotfill 1\\

2. 例子 \dotfill 5\\

3. 排版方法 \dotfill 17

若使用 \hrulefill,點線將變成實線: 名字: \hrulefill

職稱: \hrulefill\hspace{1cm} 公司: \hrulefill

本例中,「職稱」 之後有兩個 \hrulefill 指令,其中夾著1公分的空白及 「公司」

兩個中文字。 排版結果為:

名字:

職稱: 公司:

8.2 調整間距 ·113·

8.3 引文與詩詞

指令環境 quote 通常用於簡短的引文。 如果引文甚長,分開成好幾段,則使用 quotation指令環境較為方便。 在此環境之下,各文字段落也是以空白行區隔。

排版之後,引文的每一新段落開始將內縮一些。 相對的,在 quote 指令環境下,新 起之段落行首不會內縮。

8.4 條列指令環境

文稿中常常出現條列式文字,或作列舉,或作摘要式說明。LATEX提供三種條列指 令環境:itemize,enumerate,與 description。 每一種條列指令環境各有特定格 式。 必要時,我們還可以自行定義格式。 不過,以下僅說明三種現成的指令環境 之用法。

不管是那一種指令環境,每一列舉項都是以 \item 指令起頭。 排版之後,每 一條列項之前會有一文字或符號標籤(label)。 在 itemize 與 enumerate 指令環

不管是那一種指令環境,每一列舉項都是以 \item 指令起頭。 排版之後,每 一條列項之前會有一文字或符號標籤(label)。 在 itemize 與 enumerate 指令環

在文檔中 cwTEX 排版系統 (頁 109-131)