7.2.13 syntonly
syntonly package 提供 \syntaxonly 指令,他可以檢查語法是否正確,並不會有 *.dvi 檔 的輸出。但這個 \syntaxonly 指令一定要放在 preamble 區。
7.2.14 tracefnt
這是追蹤字型使用情形的 package。通常編譯時所產生的資訊已經很足夠,但如果希望有 更詳細的字型使用資訊的話,可以使用這個 package:
...
\usepackage[debugshow]{tracefnt}
...
請注意,這樣會增加編譯的時間,而且 *.log 檔會很大。
7.3 L
ATEX 官方文件中的工具組
這些巨集套件,LATEX 官方文件是歸類在相關軟體(relative software)中,可能會比上一 節提到的標準巨集套件來得實用些。但也同時可以看得出來 LATEX 非內建的套件不少,加 上其他外來的巨集套件,那真的是套件滿天飛,我們很希望在可能的情形下 LATEX team 可以考慮將一些必要的套件納入內建,更加落實版面處理和文稿寫作分開的理念。
7.3.1 AMS-L
ATEX
LATEX 本身就有排版數學式子的能力,但在比較專業使用時,可能會需要增強他的功 能,AMS-LATEX 是美國數學協會(American Mathematical Society, AMS)所發展的一個 增強 LATEX 數學式子編輯的巨集組,是由 AMS-TEX
indexamstex@AMS-TEX 移植過來給 LATEX 使用的,他主要分成兩個部份:amscls 及 amsmath,前者提供符合 AMS 的文件規格的文稿類別,後者可加強原來 LATEX 的數學模 式。我們會在第 10章,頁 125 加以介紹。
第7 章 巨集套件 7.3. LATEX官方文件中的工具組
7.3.2 babel
如果想排版英文以外的其他歐洲國家的語文,例如:德文、法文,那可以利用 babel 巨集 套件。
7.3.3 cyrillic
這是專為排版斯拉夫民族語文,例如:俄文,那可以使用這個套件。
7.3.4 graphics
這是處理圖形要用到的巨集套件。但目前一般都使用功能較完善的 graphicx 巨集套件來 取代 graphics 了,事實上,引用 graphicx 會自動的引用 graphics,而在指令使用的方便性 上,graphicx 較佳,因此我們往後都是以 graphicx 為主來說明的。這兩個套件屬於 LATEX 的圖形工具組,這個工具組包括了和顏色、圖形相關的各種巨集,我們會在第 9章,頁 93 來討論。
7.3.5 psnfss
這是 Type1 字型的巨集套件組,例如:times, charter, mathptmx 等等,他會去使用這些 Type1 字型。但通常這些字型有許多是商業字型,系統上不一定會有,如果沒有的話,會 去使用 free 的代替字型,或者就不嵌入這些字型了。如果沒有這些商業字型,又想要嵌 入替代的 Type1 字型的話,可以考慮使用 txfonts 或 pxfonts 巨集套件及其所附字型。當 然,如果專業使用的話,可能得考慮購買專業的商業字型來使用。
7.3.6 array
這是加強原來的 array, tabular 環境的巨集套件,可增許多細部微調的功能。這在第 8.4
節,頁 83,時會討論到。
第7 章 巨集套件 7.3. LATEX官方文件中的工具組
7.3.7 calc
這個套件可以讓 LATEX 接受一些簡單的代數運算。主要用於微調一些原始預設的長度及計 數器(counter)。
7.3.8 dcolumn
這是讓表格中具有小數點的數字對齊的巨集套件。我們會在第8.9節,頁88中詳細討論。
7.3.9 delarray
這是加強 array 巨集套件的功能,讓矩陣或行列式的大分界符號可以使用較簡單的指令。
這個套件要配合 array 巨集套件來使用。通常在 array 巨集套件中,這些矩陣或行列式的大 分界符號是由 \left 及 \right 來引導才會出來,但使用 delarray 巨集則不必如此麻煩。
這在第 10章會討論到。
7.3.10 hhline
這個巨集套件會方便在畫橫線時也可以插入表格的縱線。
7.3.11 longtable
longtable 是用在跨頁表格。通常在 LATEX 中的 tabular 表格是當做一個 box 來處理,因 此無法再分割,所以無法跨頁來表現。這也會在第 8.10,頁 90談到表格時提及。
7.3.12 tabularx
這是 tabular 表格環境的加強版,他可以方便的排版指定寬度的表格。同樣的,這會在第 8.3 節,頁79 時提及。
第7 章 巨集套件 7.3. LATEX官方文件中的工具組
7.3.13 afterpage
這個件主要在調整 LATEX 的浮動環境(floating environment)時,置放浮動物件,例如:
圖、表的位置。
7.3.14 bm
bm 的意思,就是 bold math(symbol),這會讓數學式子以粗體的方式來顯示。這個巨集套 件,提供一個 \bm{} 指令,只要把數學式子置於大括號中就會由粗體來顯示。
7.3.15 enumerate
這是加強 enumerate 列舉式條列環境的巨集套件。他可以很方便的指定要使用什麼方式來 起頭,原始的 enumerate 環境,預設第一層是阿拉伯數目字,雖然也可變更,但要重新定 義,不是很方便。這裡舉個例子:
% example15.tex
\documentclass{article}
\usepackage{enumerate}
\begin{document}
\begin{enumerate}[Example-1.]
\item This is a item 1.
\item This is a item 2.
\begin{enumerate}[(1)]
\item This is a item (1).
\item This is a item (2).
\end{enumerate}
\item This is a item 3.
\item This is a item 4.
\end{enumerate}
\end{document}
可以指定會順延顯示的有:A, a, I, i, 1,如果這些是屬於固定顯示的部份,則要以大 括號括起來,否則他會順序計算顯示。請試著和第 5.5.2 小節,頁 53 的標準 enumerate 環境比較一下。編譯後的結果如下:
http://edt1023.sayya.org/tex/latex123/example15.tex http://edt1023.sayya.org/tex/latex123/example15.pdf
第7 章 巨集套件 7.3. LATEX官方文件中的工具組
這裡請注意一下一些同名的環境、巨集套件,例如 array 巨集套件及 array 環境,這裡的 enumerate 巨集套件也是一樣。
7.3.16 fontsmpl
這是字型 sample 測試 package,他可以是互動的,也可以引用這個 package 後直接使用
\fontsample 這個指令來印出目前使用的字型 sample。
互動的話,要自行輸入字族名稱。sample 檔在 $TEXMF/tex/latex/tools 目錄下,只要 下:
latex fontsmpl.tex 就可以了,他會出現:
This is TeX, Version 3.14159 (Web2C 7.4.5) (./fontsmpl.tex
LaTeX2e <2001/06/01>
Babel <v3.7h> and hyphenation patterns for american, french, german, ngerman, nohyphenation, loaded.
(/usr/share/texmf/tex/latex/base/article.cls
Document Class: article 2001/04/21 v1.4e Standard LaTeX document class (/usr/share/texmf/tex/latex/base/size10.clo)) (./fontsmpl.sty)
Please enter a family name (for example ‘cmr’).
\family=
只要輸入要測試的字型字族,例如 cmr,他就會產生 fontsmpl.dvi 這個檔,然後就可以 使用 dvips 或 dvipdfm[x] 把他轉成 ps/pdf 格式的檔案。他只會測試 OT1 及 T1 兩種字 型編碼。
7.3.17 ftnright
LATEX 在兩欄式排版(two-column mode)時,他的腳註是置放在各自欄位底部。ftnright 會將兩欄式排版時,把所有的腳註都置放在右欄底部。這樣可以將腳註集中,看起來不會 那麼凌亂。
第7 章 巨集套件 7.3. LATEX官方文件中的工具組
7.3.18 indentfirst
通常,LATEX 的章節開頭的第一個段落是不縮排的,在第二個段落起才會縮排。如果習慣 每個段落都有縮排,可以使用 indentfirst package。這個套件也是引入就可以了,無需任何 指令。
7.3.19 layout
這是顯示目前版面配置的 package。引入這個 package 後,只要在本文區下 \layout 指 令,他就會畫出目前的版面配置,也會將各種數據顯示出來。我們在第 5.2.1 小節,頁 44,裡頭所顯示的版面圖,就是這樣畫出來的。
7.3.20 multicol
在 LATEX 宣告文稿類別的同時,我們可以選用 twocolumn 來選擇兩欄式的排版,再多則 不行。在兩欄式的排版時,我們可以使用 \onecolumn 及 \twocolumn 指令,在單欄及兩 欄間變換,但這有一個很嚴重的缺點,那就是欄位變換也會迫使換新頁,原來的頁面將會 顯得空曠。
multicol 的目的,不僅突破兩欄,可以做多欄式的排版(最多可至十欄的排版),也可以 在變換欄位編排時在同一頁面變換,而不必換新頁。他提供了 multicols 環境來做欄位的 變換。他的使用方法很簡單,欄位數目及變換完全由環境來控制:
...
\usepackage{multicol}
...
\begin{multicols}{欄數}
...
內容,依正常單欄方式書寫即可 ...
\end{multicols}
請注意,引入時 multicol 是沒有 ‘s’ 的,而環境中的 multicols 是有 ‘s’ 的。multicol package 處理腳註的方式,和單欄排版相同,就是通通置於本頁底部,不分左右欄位。
第7 章 巨集套件 7.3. LATEX官方文件中的工具組
7.3.21 rawfonts
這是模擬 LATEX 2.09 舊版的低階字型指令,例如 \texrm 代表 10pt 的羅馬字族的字。在 新版的 LATEX 2ε 並沒有定義這些指令。
7.3.22 somedefs
這是寫 LATEX 巨集的一些範例定義,可以很容易的更改其中設定來寫自己的 package。這 不在這篇文章的討論範圍,因此就不多談了。
7.3.23 showkeys
這個 package 會把 \label, \ref, \pageref 等交互參照的指令內容,或文獻引用內容,
在指令所在處印出來。
7.3.24 varioref
這是加強型的交互參照的方式,我們會在第 11 章來討論。
7.3.25 verbatim
這是加強 LATEX 原來的 verbatim 環境的同名套件。可以在裡頭使用註解,也可以利用
\verbatiminput{檔案名} 指令來引入外來檔案,當然,引入後會自動進入 verbatim 環 境中。
7.3.26 xr
xr 是 eXternal References 的縮寫,意思就是交互參照外部的檔案。這會在第 11.2 節,頁 140 來討論。