HOWTO: The Linux-teTeX Local Guide

Robert Kiesling

v3.7, 9 November 1998

轉為 Wiki: Ping (ping 'at' pingyeh 'dot' net), 2003 年 11 月 27 日


這份文件,主要涵蓋在英文 Linux 套件中的teTeX , TeX , LaTeX 的基本安裝和用法和其他的輔助程式集,例如 Ghostscript 。 teTeX HOWTO的內容: Linux-teTeX 部份指導的版權,屬於Robert A. Kiesling 1997 , 1998 ,確實內容,在簡介和附錄中,註冊的商標,分別屬於擁有者。任何抱怨,提議,錯誤和其他任何的事,請寄給



  1. 介紹
    1. 版權.
    2. 在這份文件中描述的軟體
      1. teTeX.
      2. 文字編輯器
      3. dvips
      4. 字型
  2. 附錄 3: 套件和版權
    1. 套件
    2. GNU GENERAL PUBLIC LICENSE
    3. How to Apply These Terms to Your New Programs
  3. 使用 teTeX.
    1. 列印文件
  4. TeX 命令
    1. 指令概論
    2. 字型命令
    3. 段落型態和尺寸大小
      1. 容忍度 ( 在每列末端那些黑色的長方形是什麼? )
    4. 頁面設計
    5. 頁數、標首和註腳
    6. 標題和巨集
  5. LaTeX 命令
    1. 文章架構
    2. 字元與內文型態
    3. 邊緣和行距
    4. 文章格式
      1. 文章與報告
      2. 信件格式
  6. LaTeX 擴充程式集與其他資源
  7. 用 dvips 混合文與圖
    1. 如果我的印表機不被支援,怎麼辦?
  8. 使用Postscript字型
  9. Appendix A: CTAN 網址位置目錄
  10. Appendix B: 安裝 CTAN 的 teTeX 套件
    1. 二進位檔案套件的安裝
      1. 最小的安裝
      2. 完整安裝
    2. 基本系統設定
    3. CTAN 來源碼套件的安裝
    4. 安裝完後設定的細節

1. 介紹

1.1. 版權.

teTeX-HOWTO 是屬於 Robert Kiesling (C) 1997 , 1998 的版權。在保有版權通告和許可通告下,允許製造並且散佈這本手冊,在附有原先

Free Software Foundation 認可的 Distribution 和 GNU General Public License

散佈與版權

1.2. 在這份文件中描述的軟體

TeX 只處理格式文件的部份。從TeX 產生輸出,就像把來源碼編成目的碼,還需要連結。準備一個用文字編輯程式輸入一個檔案


即大多數人所謂的 文書處理--- 再用 TeX ,把它編譯成一個與設備無關的輸出檔案,叫作dvi檔。你也需要一或二個程式,翻譯 TeX 的 dvi檔,由你的監視器或印表機輸出,這些程式被通稱為 dviware ,舉例來說, TeX 只發出使用字型要求,不管是由監視器或印表機輸出,都是dvi翻譯器提供真實的字型,以供輸出。這個額外的步驟,好像很複雜,但是它只要稍微更改或甚至不用改變,就可以在不同的裝置上,顯示相同的結果。

1.2.1. teTeX.

TeX可以被世界上每一個重要的電腦系統 --- 和相當多的 非重要的電腦系統 --- 所使用,因此一方面,基於teTeX's 本身的複雜性,另外考慮到安裝 TeX 的複雜性,必須提供安裝這些系統的工具,以便於使用。除非你已經熟悉 TeX系統,否則安裝這系統是一件艱鉅的工作,很容易在執行一大堆程式,及安裝 TeX 檔案,文件和字型中迷失掉。

幸運地, teTeX 是一個 GNU/Linux 套件,很容易利用 GNU/Linux 的安裝工具,就能裝好這程式集。你可能已經在你的系統上裝好了teTeX ,如果是這樣,你可跳過 使用 teTeX這一節。無論如何,安裝一個能用的 teTeX ,所需的檔案,都在網路上的 CTAN 資料庫找得到,在 CTAN 網址表有這些位址的目錄。 CTAN 是廣泛的 TeX Archive 網路,即一系列可使用匿名的FTP 網站,其中包含TeX 程式巨集,字型,和文件。在使用 TeX 中,你至少會熟悉一個 CTAN 位址,在這文件中,一個路徑像~CTAN/contrib/pstricks 名稱,代表到最靠近你的 CTAN 網站,找尋像contrib/pstricks的目錄。

安裝 CTAN teTeX 套件一節中,著重於在Intel 版的 Linux 中,安裝一般的teTeX 套件。想在其他的硬體上安裝teTeX ,只要在安裝程序裡,更換適當的可執行檔就可以了。除了可執行檔之外,這套件括所有的 TeX 和 LaTeX 的程式集,metafont 和來源碼,bibtex , makeindex 和 所有 的文件 ... 全部超過 4百萬個位元數。

這份說明文件,涵蓋了,在安裝開始之前,你必須知道的每件事,所以,你應該安裝所有的說明文件。不僅你以後會參考到他們,同時這些文件,本身也提供許多TeX 和 LaTeX 例子的來源碼。

TeX 由 Stanford 大學的 Donald Knuth 教授所寫的。它是讓像 LaTeX 那樣的高階程式集,用來排版的低階語言,實際上, LaTeX 是一個提供使用者,更方便,並預先定義文件格式的 TeX 巨集。如果你喜歡使用 LaTeX 提供的格式,你就不需要學習原始的 TeX 程式語言。二種語法之間的差異,就像組合語言和C 語言之間的差異。你可選擇 TeX 的速度和彈性,或者 LaTeX 的方便性。順便一提 TeX 是希臘的字母, tau-epsilon-chi ,它不是代表兄弟會,而是一個希臘字,techne,代表藝術及[或]科學。 TeX 的發音不像 Texas ,chi,也沒有類似的英文發音,依Knuth 所寫TeX 重要的參考書The TeXBook所言,它像 yecch 的發音,當我們提到 TeX 時,通常就用大寫,或者在排版時,用\TeX{} 巨集。

1.2.2. 文字編輯器

任何一個在 Linux之下工作的編輯器---jed , joe , jove , vi , vim , stevie , Emacs 和 microemacs --- 都可以用來編輯一個 TeX 輸入檔案,只要編輯器能夠讀寫一般 ASCII 本文就可以了。我自己偏愛使用 GNU Emacs ,這有幾個理由:

1.2.3. dvips

Tomas Rokicki 的dvips ,能從dvi 檔案產生 Postscript 檔案。除此之外,如果有需要,它會執行Metafont ,製造輸出時,所需要的點映射字型或 Postscript 字型。它也能分割,放大縮小每頁版面大小,來放置由 TeX 或 LaTeX 指令所產生的圖形的結果。 dvips 程式是 teTeX 套件的一部份在, 用 ttdvips/tt混合文與圖這一節中有完整的討論。

1.2.4. 字型

大部份 TeX,的複雜性,是由如何使用不同的字型系統,及指定字型的方式,所引起的,因此 LaTeX 也一樣複雜。

LaTeX 2e 比前身還要好的一個主要改進,就是採用了使用者指定字型的方法,New Font Selection Scheme,在 字元與內文型態字型命令使用Postscript 字型等小節中有討論。 teTeX 配置了許多標準字型,足夠你使用,也提供描述字型大小等資料的 tfm ,(TeX font metric) , 檔。為了要產生其他需要的字型,只要安裝 metafont 就夠了, teTeX 的dvi 公用程式,會呼叫 metafont ,自動產生所須的 Computer Modern 字型。

2. 附錄 3: 套件和版權

2.1. 套件

teTeX 為 自由軟體 ,這代表它在某些條件下,它可以自由被使用與散佈。這程式集不是公眾的,而是有版權的,和一些限制條件的,但是這些限制,被設計允許一個好的合作市民,將會做的每件事物。避免分享不到其他由此免費的軟體,所發展出來任何更進一步的版本。確實的情況,在與許多軟體一起包裹過來的GNU General Public License 中被找到,也出現在下一節中。

一個得到這程式集方法,就是跟有它的人要。你不需要我們的許可或告訴任何的人, 就可以拷貝它。如果你會使用網際網路存取,就藉由匿名的 FTP得到最近的套件版本,詳細情況請看 

當你買一部電腦的時候,你也可能得到這軟體。電腦製造業者,跟任何人適用的情況一樣,也可以免費取得這軟體。這些專有術語,保證他們要給你那些完整的來源,包括他們可能已經做的任何改變, General Public License 也允許你重新散佈這些從他們得來的套件。換句話說,這些不但對你是免費的,同時對製造業者也是。

你在可以向免費軟體基金會,訂購這個 GNU 軟體的光碟,這是一個取得軟體既方便又可靠的方法,它也可以幫助我們的基金會。 ( 基金會由此得到大多數的贊助基金 ) 訂購單會附在大多數的套件裏,或由我們網站 [WWW] http://www.gnu.ai.mit.edu/order/order.html. 找到。對於進一步的消息,請寫到

來自套件的收入,都用來支助基金會的目標:新的免費軟體的發展和改進已存在的軟體。

如果你在你的工作地點使用 GNU 軟體,請提議公司贊助。如果公司政策對此類贊助,是不表贊同的,你可提議偶而向基金會訂購光碟,或定期的更新使用的軟體。

2.2. GNU GENERAL PUBLIC LICENSE

Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble.

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software---to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and modification follow.

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  1. You must cause the modified files to carry prominent notices

  1. You must cause any work that you distribute or publish, that in

  1. If the modified program normally reads commands interactively

  1. Accompany it with the complete corresponding machine-readable

  1. Accompany it with a written offer, valid for at least three

  1. Accompany it with the information you received as to the offer

END OF TERMS AND CONDITIONS

2.3. How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the  line and a pointer to where the full notice is found.

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this when it starts in an interactive mode:

The hypothetical commands show w and show c should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than show w and show c; they could even be mouse-clicks or menu items---whatever suits your program.

You should also get your employer (if you work as a programmer) or your school, if any, to sign a  for the program, if necessary. Here is a sample; alter the names:

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.

3. 使用 teTeX.

理論上,到目前為何,每個過程都已經正確地被安裝好,而且可以使用了。 teTeX 是一個非常大的軟體程式集,和使用其他複雜的軟體程式集一樣,不要被其複雜性嚇到,而是要藉由慢慢地學習 teTeX 來開始。同時,我們要軟體做些有用的東西,因此不需看 TeX 排版,像

這樣的文件,而如同Knuth 教授提議一樣,我們自己將會為了測試它,而產生一些 teTeX's 的文件。

3.1. 列印文件

裝好teTeX 之後,頭幾次要以 root 的身份,執行程式,否則 Metafont 就不會產生放字型必需的目錄。texconfig內有包括一個選項,使那些字型目錄,能夠讓所有人使用,但是如果你在一個多人使用的系統使用的話,由於安全考慮,可能使這選項,變成不實用或不受歡迎。如果你沒有適當的那些字型儲存目錄的寫入許可, Metafont 將會一直反應,它無法製造這些目錄,因此你會有一長串零長度字型的字,所以你將看不見任何的輸出。這不是問題,只要簽出,再以root的身份,重複剛剛的操作,就可以了。

teTeX 最棒的事,就是你用壞了,也不會有實質上的傷害,不像翻譯器,如果弄掉了一個指標,有可能毀了root 的分割區。什麼,你還沒有讀過 teTeX 使用手冊 ? 當然你還沒有讀過,它仍然以來源碼狀態,存在套件裏,等待輸出。因此你不要再耽擱,要讀一下 teTeX 手冊,它位於下列目錄中:

LaTeX 手冊來源,被叫做TETEXDOC.tex ( TeX 和 LaTeX 檔案的副檔名,都為tex ,某些像Emacs 的編輯器,能分辨出它們之間的不同 )。 也有一個檔案 TETEXDOC.dvi 附在套件裏,如果稍後你要測試你的 .dvi驅動程式,可以把它保存在一個安全的地方 --- 例如,另外的一個目錄。接著執行:

LaTeX 會出現一些警告,首先出現:

這是正常的,一般須要藉由兩次 LaTeX 來編譯文件,建立文件內容表,所以忽略警告,重複命令。他們只是通知你,在文件中的一些 FTP 路徑太寬,以至於放不進去所分配到空間裏。 在 段落形態與尺寸大小容忍度小節裏,會更詳細地描述水平的空間間隔。 teTeX 將會從 TETEXDOC.tex.產生幾個檔案,令我們感到有興趣的是TETEXDOC.dvi.那一個檔案,它是一個與設備無關的輸出檔,你能將它輸出到監視器觀看,也可以由印表機輸出。如果你是在 X 視窗系統之下,使用 teTeX ,就可用 xdvi預覽文件。

暫時, 讓我們假定你有一台 HP LaserJet 2 印表機,你下命令

可以印出一個從 TETEXDOC.dvi 輸出的 PCL 檔案,其中包括將會被下載到 LaserJet的字型。這不 是 TeX 或 LaTeX 的一個特徵,而是dvilj2提供的特徵。其他的 .dvi驅動程式,也會提供與他們支援的裝置有關的特徵。dvilj2,會試著填上最接近原先在系統中 LaTeX 文件所要的字型。在一個像 TETEXDOC.tex簡單的本文,一點也不難做到這樣。如果所有被TETEXDOC.tex請求的字型不存在的話,都會自動地被 dvilj2呼叫metafont產生。 ( 如果你第一次執行dvilj2,這程式可能需要產生所有的字型 )。有幾個選項,可讓dvilj2用來控制產生字型,在手冊中有概略說明。在這裏,你不用直接地操作 metafont 。如果你要這樣做,除了安裝外,還要做一些事情。全部.dvi的驅動程式,都會直接地經由 kpathsea 尋找路徑的程式庫,呼叫metafont --- 這已超出這份文件討論的範圍 --- 而且,目前你暫時不用理會metafont --- 也有提供製造 Computer Modern font 的 metafont程式庫,全部的來源碼。

你能用下列命令,列印 TETEXDOC.lj :

你也可能需要安裝一個了解 PCL的印表機過濾器。

這九頁的teTeX Guide ,提供你一些想要進一步設定系統,有用的訊息,有一些我已經提到,還有很多不涵蓋在這份文件的東西。下一節裡的有一些訊息,我還沒有測試,因為我使用連接到電腦平行埠的非 Postscript HP Deskjet 400彩色噴墨印表機,然而沒有一部Postscript 印表機,一點也不影響到列印文件內文和圖形,在最大多數的 Linux 套件,都配有Ghostscript ,而且它可能已經安裝在你的系統上了。

4. TeX 命令

準備 TeX 可以排版的文件是很容易的,只要確定本文檔案的段落之間,都有一空白列,然後執行:

結果將會產生一個相同檔案名字,但副檔案為 .dvi 檔案。 TeX 內定用 10 點的 Computer Modern Roman 字型,單行行距的方式,格式化文件,並自動調整左邊和右邊的邊緣。如果你收到像 $ 一樣的錯誤信息,就在它的前面加一個反斜線 \,再一次執行TeX 。你應該能夠用前面選擇的 .dvi 翻譯器,列印產生的檔案。TeX 輸入的一個特質是,雙引號與單引號的前面和後面,分為開始和結束,兩種不同的符號,如果你使用 Emacs 的 TeX 模態輸入,它會自動幫你做這些:

4.1. 指令概論

TeX 中用一個反斜線 () ,當作命令的開始,舉例來說,改變列距的命令為:

基線是一條不含重音的字元底部的線,兩條基線之間的距離,就是 \baselineskip的量,這裏指定為 24 點。TeX 裡的測量或尺寸,常用下列的單位:

一些命令不指定尺寸的單位,舉例來說:

一個 \smallskip 在垂直的空間插入 3 pt 的距離,因為 TeX 會調整每一頁中斷位置,每一節標題和其他垂直的空間的單位尺寸,所以那些量都是大概量,這對水平的間隔也是相同的。

這個命令,設定列寬為 6.5吋, TeX 藉由調整字距,裝滿每一列,如果在容忍度內, TeX 不能夠裝滿一列,它會產生一個警告訊息,而且盡可能調整好水平的間隔,格式的容忍度設定,參考 容忍度 一節。

有許多指定水平,垂直和容忍度的命令,普遍使用的命令,在下面會被提及。

4.2. 字型命令

這個命令,會在他們出現的位置,開始改變文中的字形,就像:

為了要在你的文件指定字型,可使用 \font 命令:

這創造了字型命令 \romantwelve,將字型換成12 點 Computer Modern Roman 字型。

字型的資料可以看 teTeX 套件中的檔案:

如果你要列印一個字型的例子, TeX 下列檔案:

而且在你要在提示號中,填上要列印的字型名字。

你也能由改變字型的大小,得到不同的效果,字型是依指數函數,由字型規格命令之後的 scaled \magstep 命令,來改變大小。

這個命令將會使用1.2 倍的 12 點 sans serif 字型。字型從 0 到 5 ,分為五種倍率,可供放大縮小,每種倍率都以1.2 倍的大小增加。

4.3. 段落型態和尺寸大小

上面提到, TeX 內定以10 點 Computer Modern Roman 的字型排版,行距,\hsize 內定為 6.5 吋,如果你要改變 \hsize 為 5.5 吋,舉例來說,使用這個命令:

在 TeX 中,調整水平或垂直的單位,就是這個量, dimension ,能隨改變它的定義,而被增加或減少,跟尺寸大小有關的,是 skip ,它被放在 TeX 內在的暫存器, skip 與 \newskip 命令一起被定義, \smallskip在 TeX 定義是:

更簡潔的 \smallskip 命令為:

有許多的控制輸出頁的尺寸大小,這些都收集在 頁面設計 那一節。 TeX 格式段落時,會自動調整內文與左邊和右邊邊緣的距離,如果你只要調整左邊的邊緣的距離,使用這命令:

如果只要調整右邊的邊緣的距離,則使用 \rightline命令:

這 \line 命令,會儘量以填滿每一列的方法來排版:

\hfil 命令,會把它所在的那一列,都填滿,舉例來說, \rightline 命令等於: equivalent to:

要以對稱中間的方式排版,則用 \centerline命令:

為了要改變左邊邊緣的距離,如下例,改變 \hoffset的值:

\parindent 命令指定每個段落的第一行縮排的量:

二個其他尺寸命令, \leftskip 和 \rightskip使得在他們之後的段落,分別向左或向右縮排:

控制命令 \narrower 等於

也就是 \narrower ,會以 \parindent 的值,把段落邊緣變窄。

如前面所提 \baselineskip 內定行距為12 pt 。為了要使行距變成內定值的兩倍,可使用下列的命令:

\parskip 命令,除了保有 \baselineskip 的命令,還會額外增加段落之間的距離,其內定為不增加額外的空間,但在段落之間會多增加1 個點的距離,使內文更正確地填滿每一頁。如果要在段落之間,增加一空白列,則使用這命令:

4.3.1. 容忍度 ( 在每列末端那些黑色的長方形是什麼? )

TeX 通常會嚴格的在容忍度下格式文件。如果, 有一些理由,文件不能在容忍度下格式化,雖然 TeX 會產生一個警告訊息,它還是儘可能格式化文件。如果每一列本文太短,而被伸展太多, TeX 會警告你, \hbox 是 underfull 。如果每一列本文太長,而必須被壓縮,則會警告你, \hbox 是overfull 。

每一個 overfull \hbox, TeX 會在每列末端,產生 實心黑色的長方形。這實心的長方形,代表不能夠在 \hbadness 參數規定內,格式化這一列。文件在指定的尺寸大小下的適合性,是用 badness來衡量,它是一個介於 0 到 10000之間數字。badness 為0 ,代表最完美, 10000 代表適合性最差, \hbadness 內定為 1000。如果你把 \hbadness 設為 10000 , TeX 永遠不會報告 underfull 。有時 TeX 允許一列,能擴充到右邊的邊緣,這是 TeX作者的美學決定的一部份,這是由內定為 0.1 pt 的 \hfuzz 參數所決定的。如果本文裝不進一列內,\tolerance 的參數會處理\hbox overfull 的問題。 \tolerance 內定為 200 ,把設定改為1000 ,則會抑制 overfull \hbox 和實心黑色長方形的產生。

4.4. 頁面設計

除了早先提到的左邊的邊緣,和行寬之外, TeX 也讓你可以指定頂端,末端,和垂直的間隔。像在早先提到的 \hsize 和 \hoffset 尺寸大小一樣, TeX 也提供那 \vsize 和 \voffset 命令。\vsize 內定為 8.9 吋, \voffset 內定為 0 吋。

正常地, teTeX 會把本文第一行的開端,放在離頂端下面 1 吋,且離左邊的邊緣1 吋的位置。你能用命令,讓本文更靠近每頁的頂端:

如果你要增加一份文件裡的垂直空間,命令 \smallskip, \medskip, 和\bigskip 將會增加大約 3 , 6 , 或 12 點的空白垂直間隔。這些都是大約的量, TeX 將會以一個點,一個點的方式調整,正確地填滿每一頁。

\vfill命令,會在每一頁的段落之間,增加一個可調整的垂直間隔,它可以無限地伸展,所以它會把每一頁,剩下的垂直間隔填滿。如果你要指定一個尺寸大小,如下指定 \vskip 為:

\hss 和 \vss 命令類似 \hfil 和 \vfill,但是他們可以無限地收縮和伸展。

\vskip 和 \vfill 命令,可產生彈性的長度,如果沒有內文,他們不增加空間,舉例來說,在任一頁的頂端。如果你要增加一絕對的空間,使用 \vglue 。

TeX 會儘量去填滿 \vsize 的尺寸,直到新的一頁開始。 \vfill \eject 會強迫跳行,如果不用 \vfill ,內文會繼續填滿每一頁,直到 \break 出現。

如果你要 TeX 更能夠有彈性的使用垂直標示,在你的文件中,可用 \raggedbottom命令,然後 TeX 將會些微地調整每頁的底部邊緣,使垂直的間隔更一致。

4.5. 頁數、標首和註腳

teTeX 的頁數,內定放在每頁底部中心的位置,如果你要改變放頁數的位置和格式,你能藉由改變 \headline 和 \footline的定義,變更標首和註腳, \footline 內定包含 \folio 命令,因此會列印頁數, \headline 內定包含 \hfil命令,因此會列印一空白列。

\pageno命令,如同是TeX's 的內在頁數計算器。你能藉由變更\pageno ,而改變頁數,如果 \pageno 是負的,則頁數以羅馬數字列印:

不列印頁數的命令, \nopagenumbers ,可速記為:

內定的 footline ,也包含字型命令 \tenrm,將頁數字的字型,設定為 10 點羅馬字型,舉例來說,如果你要以 12 點羅馬字型,列印頁數,首先你先定義12 點羅馬字型,然後在 \footline定義中使用,字型命令在 Font commands 這一節中會討論。

你能藉由重新定義 \headline ,來制定一條 rule ,在每頁的頂端,放一個水平線:

使用 \ifodd,指定偶數頁和奇數頁放的位置不同,它的語法如下:

一個用 \headline 指定偶數頁和奇數頁擺法不同的例子,就如:

如果是奇數頁, \ifodd 就使用第一個參數,否則使用第二個參數。

4.6. 標題和巨集

TeX 只提供制定每節標題,使用 \beginsection 命令,它在內文之上,留一個空間,用粗體字列印標題,標題之後增加一個 \smallskip ,並使得下一個段落不縮排。

底下提到的LaTeX 標示章節的命令,會替每一節,標上節數,而且將會列印每一節名稱,並在標首,列印頁數,並自動地把這些章節,加入目錄表。

在 plain TeX 中你必須親自加上這些命令。\def ,允許你定義新的命令,假如你要列印章名,首先你要定義使用的字型,如果使用放大的sans serif 字型,則定義如下:

如果你要使用高約24 個點的字型,則使用 \chapterfontsans 命令,轉變到這個字型,然而,在這個例子中,它主要被用在\chaptertitlesans之中。它的定義為:

第一行中, \hbox{}\bigskip的\hbox{}指令,在每頁的頂端,放置一個 12 點的空間,這樣章名,既不縮排,也不會使得下個段落緊接在後,如果你在\sschaptertitle 巨集和下一個段落之間,要放置一條空白列,則最後的 \noindent ,會作用到這空白列,而非下列的段落。為了要正確地格式化,在這個例子中,使用 \sschaptertitle :

定義裡的 #1 陳述,由第一個參數,替換到 \chaptertitlesans; ,也就是章名, TeX 的參數以 #1, #2, #3,等等前後順序宣告,一個如何使用\chaptertitlesans 的例子如下:

5. LaTeX 命令

5.1. 文章架構

用 LaTeX 編排文章只有幾個法則,但已夠用來編排複雜的文章。 LaTeX也儘可能簡化了編譯的過程。

實際上 LaTeX 是一種文件標示語言,它把內文邏輯和輸出形式分開來處理。例如,用TeX 制定,每一節標題的格式,為預留36 點的垂直距離,然後印上粗體兩倍大的標題和頁數,隔兩個字元的垂直距離,再繼續內文的輸入。相對的,LaTeX 使用\section{}命令, 它會做上述的所有的工作。如果你要改變它的格式,可以修改\section{} 來代替更改文件內容。這將會使得重新格式超過數十頁的文件時,會省下很多時間。

所有 LaTeX 文件包含三個部份 : 前文 ,內文和 結尾, 這些都是 TeX 專家常用的語法。

在前文部份,最少要指定文件的型態 --- 文件的型態 --- 和文件內文開始的標誌,就像:

文件的結尾通常很簡單,除了某些特殊例子,它只有:

其中 \begin{document} 和 \end{document} 必須成對使用,在 LaTeX 中,這就叫做環境,所有輸入文章,都須要在環境中,而且許多命令,只有在呼叫它們的環境中,才有作用,然而,在使用 LaTeX, 一定要有 document的環境,即唯一須要的環境。( 除了letter 型態,須要宣告\begin{letter} 和 \end{letter},參考section Letters信件 。 ) 還有許多格式的環境,在底下會再提到。

文件格式也叫做參數,內文內定字高度為 10 點,若要改變預定格式,可以更改參數,如:

字高度改為 12 點。 article,格式也做了一些必要的調整。

下列有一些常用的標準格式。report 格式是和article格式相似的,是報告格式預先設定一個主題名稱,每一節由新的一頁開始。letter 格式包含一些特別的 addresses , salutations 和 closings 定義,底下會提到一些。

你可以用\usepackage{}的命令,來加入包裝好的 LaTeX 內文碼,一般叫做程式集 ,

上述命令,就是加入在TEXINPUTS子目錄中的風格檔,fancyhdr.sty,通常在裝好TeX 系統後,就會有許多類似的風格檔。

注意\usepackage{} 必須在\begin{document}之前, 即文件的前文。

其中fancyhdr.sty 會增加\pagestyle{} 的命令,使得用者可依須要,自己設計 headers 和 footers , 大多數 LaTeX 提供下列headers 和 footers 的標準格式:

百分比符號右邊是命令的註解。

\pagestyle{} 的命令,直到編譯下頁時才作用,因此要改變正在輸入的地方的 headers 和 footers 可使用:

5.2. 字元與內文型態

一般LaTeX 會內定字元的型態,但是它也允許輸出別的型態,例如粗體字、斜體字等 ,也可以畫底線,詳見 LaTeX 擴充程式集與其他資源

有幾種方法表示內文要強調的部分,最常用的是 \em 命令,在它的範圍裡面所有的本文,都用強調體字型編排,例如:

如果你已經用調體字型編排某個段落,可以用 \/取消用調體字型的命令,是用,一個反斜線和一個向前的斜線。例如:

另外,稍為缺少可攜帶性,但還可以接受的是, \it, \bf,和\tt命令,在命令的範圍裡面,分別使用意大利斜體字,粗體字和打字機字體,例如:.

命令 \dots 連續列印不分開的三個句點。

LaTeX 最近的版本,也是你有的版本,後用的指定命令,會代替前面的命令。

TeTeX 用意大利斜體字編排本文,直到它遇到那 \bf 命令,才改為粗體字。

為了要到達這目的,選擇字型的 NFSS 方案需要考慮每種字體的三個參數: shape , series 和 family 。如果需要替換另外的字型, LaTeX先會警告你。你也可以先宣告使用下列各項字型:

You can specify the following font shapes:

大部分的字型都可使用下列兩種 series :

有三個families的類型可用

你能使用這些參數設定字型,以組成想要的效果。

TeX系統內定使用點距陣的字型,即 Computer Modern,其他Postscript 格式的 Type 1 字型也常用到。使用的方法參考 使用 PostScript 字型

也有許多特別的字元可以使用,下列是少許例子,自己用印表機試試。

最後,在 TeX 和 LaTeX 也可以使用 meta 和 ESC 的字元可以使用,只要與一個反斜線一起使用就可以了。例如:

LaTeX 提供許多非英文的字母,像希臘字母和斯拉夫字母,其他參考會詳述這些。

5.3. 邊緣和行距

TeX 或 LaTeX 文件裡的邊緣,不可以直接的變更,往往它跟你正在試著調整的內文有關係,放置變更命令的位置也是很重要的。

對於控制 LaTeX 文件寬度的命令,可使用\evensidemargin 和\oddsidemargin,他們分別會改變偶數頁的左側和奇數頁的右側。舉例來說,

使得正常離邊緣一吋的偶數頁的左側和奇數頁的右側, 額外 再增加一吋到兩吋, 而且這些命令會到影響全部的文件,不會被其他局部的命令影響到,所以詩文體 和 列表,很適合使用這些命令。

下面是本文作者寫的一組變更邊緣的巨集指令,他們和上面提到的命令,有不同的效果,因為他們使用 plain TeX 命令,不保證在 LaTeX 文件中會有效,但是你還是可以把它放在開始想改變邊緣的位置。

把這個 margins.sty 放在$TEXINPUTS 的目錄內。命令的作用如同注解,在一份文件前文中使用下列命令,就可以使用它們了:

由於 LaTeX 會自己調整每行右邊的邊緣,( 使每一行的尾端都對齊,但是有時會看起來怪怪的 ) ,可以使用下列命令取消這內定的功能:

設定行距也有些複雜。

baselineskip 的量是設定文章的行距,通常都會給一個正的數,舉例來說:

或使用較好的:

二者之間的差異是, setlength 會優先讓其他會影響文章編排的命令執行。

使用 baselineskip 的問題是,它也會影響到區段的標題,注腳和相似的命令。如果使用 baselineskip ,必須隨時注意它對你正在格式的文章的影響,有些 LaTeX 的巨集,像setspace.sty, ,對在這些環境中的使用將會幫助,請參考: LaTeX 擴充程式集與其他資源.

5.4. 文章格式

LaTeX 提供標準化的格式提供給文件輸入,諸如目錄、引用段落、註腳及其他文件的格式供人使用,下列包含一些常用的標準格式。

5.4.1. 文章與報告

如前面所提到, 文章格式和 報告格式是相似的。主要的不同是報告格式,預先設定一個主題名稱,每一節由新的一頁開始。雖然這樣,兩者大至上是相似的。,預先設定一個主題名稱,每一節由新的一頁開始。

舉例來說,為了要製造主題名稱,摘要和每一行,預先在前面輸入:

然後,這命令

會使得用報告格式的文章,在開始的地方或第一頁的頂端,產生主題名稱和摘要。

其他段落的命令定義如下:

這些命令將會在文件中,產生標準並已編號的小節,若不讓每小節自動編號,則使用:

以此類推。

LaTeX 提供許多表現輸出文件的環境供人使用,你能用引述 環境,包括要引述的部分。

比較短的引述,可以使用 引述環境。

至於要格式化詩文,則用 詩文體環境。

可以使用兩個反斜線(\\),達到跳行的目的,否則LaTeX 會以這詩體的格式,繼續編排直到這一行結束。

至於列表有幾種方式,用list 環境的列舉格式,

用enumerate環境標示號碼順序的: A numbered list uses the enumerate environment:

用description環境描述主題的:

5.4.2. 信件格式

這信件格式特別為商業信件制定一些特殊的用法。

這信件格式有一點爭論,即收信人的住址。 address 的命令,必須在文件前文中出現,而定義寄件人名字,signature 的命令,則在結束之後出現。.

一個使用 LaTeX 信件格式的簡單例子就像:

注意住址中兩個反斜線的地方,就是跳行的地方。

6. LaTeX 擴充程式集與其他資源

上面提到,用劃底線的方式來強調文件重點的方式,有一點特殊。實際上,對 TeX  而言,劃底線是數學上常用編排的方法,LaTeX 則可用下列的方法劃底線:

問題是劃底線不會連接到下一行,因此在一些情況下,可能會不平順的。然而, LaTeX 有一個現成的巨集,會在強調的部分劃底線,它就是 ulem.sty,這是一個可以經由網際網路,自由傳遞及自由使用的巨集之一。

為了要使用 ulem.sty,可在前文使用:

那些提供LaTeX 使用的巨集指令還包括:

ifthen

在文件中包括有條件的陳述

定義字首字母的字型

用 Sanskrit 編排文件

一個 LaTeX2e 清單式的命令

不同的報告和文章格式

為了完整的給予目錄中 URL 正確的位址和目錄,可以把它分成主機和 CTAN archive 的目錄,舉例來說,位置 [WWW] ftp.tex.ac.uk 的最高階層的 CTAN 目錄是 ctan/tex-archive. 使用 refman 巨集中表示完整的 URL 的目錄就如下面一樣:

有些巨集不只一個檔案,所以必須指明它所在目錄的路徑。

當你有 URL 時,便能從後面 Appendix A中任何一個 CTAN archive 位置,取回巨集。你也能從archive 的最高層的目錄中,下載以 FILES.byname為名的檔案,它裏面有archive 全部檔案的目錄表,也可以在ftp中使用查詢的命令:

7. 用 dvips 混合文與圖

大體上,這節中的方法,可用於任何 TeX 或LaTeX 文件中,混合編排本文和圖形。 和最其他的 TeX 組件一樣,teTeX 預先設定使用Computer Modern fonts 。當用 Type 1 scalable fonts 或用畫圖的方式列印文件時,字型和描圖的方法,就是 dvips要作的事。 dvips 能使用點距陣型的Computer Modern fonts 或向量型的Type 1 scalable  fonts 或兩者混合使用。首先,讓我們著重於圖形的列印和預覽。

你或許會依照這個程序,在 LaTeX 文件的前文中,使用:

這指令要LaTeX在文件裡加入 graphics.sty 的指令集,其中有一些的命令可以用來畫圖,但是不管有沒有使用 dvips,在 plain-TeX 中這些命令可能不能用。這兩者最顯著的差別,在輸入文件時,後者會遺漏圖形。

因此,我們將會著重於 LaTeX 使用 graphics.sty 指令集。你可能須要看一看原始的 TeX 輸入,teTeX 不包含這部分,但是它會在下列網址中提供:

teTeX 和一般 TeX 一樣會輸出 .dvi 檔,這樣有一個理由,就是為了正常的輸出文件,而必須依照順序把Type 1 fonts 包括進來。如果要用LaTeX 的 grfguide.tex, ,請參考下一節。現在我們將會使用 dvips來處理輸出。

檔案 grfguide.dvi 位於目錄

輸出 grfguide.dvi 的第一個步驟,是將它翻譯成Postscript ,正如 dvips 的名字,這就是它的目的。呼叫 dvips, 有許多方法,但是最簡單的是:

dvips 中 -f選項,當作過濾器,由標準的輸入讀入,並由標準的輸出寫出來, dvips 的預設標準的輸出為lpr。

如果你能利用lpr,直接由印表機列印Postscript 檔,則只要輸入:

-r 選項,則要dvips 依相反順序輸出結果,那麼由印表機印出來時,文件正好由前至後,按照順序排好,就依你的輸出設備,決定要不要使用這選項。

dvips 和 metafont 會依編譯成dvi 時,dvilj2是否有必要的字型,自動決定要不要產生grfguide.dvi.需要的新的字型。之後,就會從預備好的輸出設備,輸出由 dvips 轉成的 Postscript 檔。

如果你夠幸運 ( 或富有 ) ,已經有一部Postscript的印表機,就能夠直接列印 grfguide.ps 。你能藉由使用 lpr 送到印表機的輸出。如果你的印表機軟體安裝不正確,也能使用下列命令列印:

但是不建議使用這方法。

這是手動呼叫 Ghostscript 運作的標準的程序:第一步是呼叫 Ghostscript 進入命令模式,像這樣:

你將會看見支援的輸出設備目錄,和其他的命令。選擇和你的印表機最相配的輸出設備。通常我都輸出黑白的文章,因此選擇cdjmono 驅動程式,作為彩色 Deskjet 的黑白模式的驅動程式。

我會使用這樣的命令:

這將會在 /tmp目錄裡產生HP 相容的輸出。使用一個目錄像 /tmp,,是一個好的主意,因為 gs 牽涉到使用權的問題,而且你當然不能 ( 也不應該 ) 以 root 的身份,進入系統使用。現在你能使用下列命令列印檔案:

明顯地,這些能被寫成一個shell 檔來使用。在我的系統上,我就寫了二個簡單的 shell 檔, pv 和 pr, ,輸出Postscript檔案到顯示器或印表機。不使用 X 視窗,也可以預覽結果,但是並不理想,所以想要好好預覽結果,最好安裝 XFree86 。

因為一些 gs 命令列的選項會告訴 Ghostscript 到那個程式庫 ,去找Postscript 的部分程式碼,所以命令列的選項次序非常重要的。

還記得 grfguide.dvi 會請求使用Computer Modern 點距陣字和Type 1向量字型,如果你能混合使用這兩種字型,你就成了一個TeX 專家了。

7.1. 如果我的印表機不被支援,怎麼辦?

teTeX 系統的DVI 輸出驅動程式,只有幾個選擇: dvips,HP 雷射印表機,就沒別的。如果你有一部不是 HP LaserJet 相容的印表機,你有二個選擇:使用 dvips和 Ghostscript ,這是我所能推薦的,或者找一下其他的 dviware 來源。

只有幾個 [WWW] DVI 驅動程式,被移植到Linux ,並預先編譯成二進位的執行檔。

這些 dviware 的程式,主要由猶他大學的檔案庫維護,如果在那裡,找不到一個支援你的印表機,那很可能就是它不存在。你也能藉由那裡提供的樣本, [WWW] 自己寫 DVI 驅動程式

8. 使用Postscript字型

通常Type 1 向量字型的列印品質比Computer Modern 點距陣字型差,最近幾年,這種情形雖有改善,但是使用那些字型,還是由你決定。在一部機器上,過多的字型是多餘的也是不必要的,而且浪費磁碟空間。正式 使用上, Computer Modern 字型較為適合,這提醒我,有時也要用好的容器餵狗,至少你不需要花費太多的時間,就能使用專業品質的字型。

LaTeX2e 比前身還要好的一個主要改進,就是加入新的字型選擇技巧,( 它現在被叫做 PSNFSS)。正常TeX 使用者會以這樣命令指定字型:

這命令非常明確的指定要那一種字型,但是想要運用自如,還需要有設計者和數學家的技巧,同時它的攜帶性也不好,如果一個系統沒有 cmr10, ( 即Computer Modern Roman 體的 10 字型 ) , 則它會以某個特定的字型規格,替全部的文件編碼。而這個 PSNFSS 允許由一系列的字型 ( Computer Modern, URW Nimbus,Helvetica, Utopia, 等等 ) 、字的粗細 ( 細體,中體,粗體 ) 、字的方位 ( 正直的或斜 ) 、字形 ( 羅馬體,斜體 ) 和基本字型大小,指定要用的字型。 ( 詳細使用方法,請參考 字元、字形形態 那小節 ) 有很多字型會被同時包含在同一字型集,舉例來說, Helvetica 字型集包含羅馬字型和 sans serif 字型, Courier 包含羅馬字型和 monospaced 字型。你也可和其他LaTeX 使用者一樣,用一個命令,就可以使用某一個字型集。

正如前面所提,有幾個高品質字型集供人自由使用,其中之一是 Adobe 的 Utopia 字型,另外之一是 Bitstream 的 Charter 字型,兩者都是已經被捐贈,讓人自由使用的具有商業化品質字型。

我也樂於見到下列兩個狀況發展,其中一個是,觀察周圍CTAN 資料庫,你會發現在那裡,不但有這些字型,而且還收錄了其他的字型。在那裡有充足的字型,供你用 LaTeX 設計文件,同時並不只限於使用英文。本來 TeX 被設計來作數學的排版,所以有完整可用的數學的字型,例如斯拉夫體、希臘體、 Kana 和其他太很多而不能提到的字母。

另一個重要的事是有關副檔名為.pfa 或 .pfb 的檔案,他們本身就是向量字型檔,而不是描述字型大小等資料的檔案,Type 1 向量字型使用副檔名為 .pfm 的檔案,當做描述字型大小等資料的檔案,不同於點距陣字型使用副檔名為.tfm 的檔案,這兩種字形集分別都放收在 teTeX 中。

正如我所言,用PSNFSS 選擇字型和下面的例子一樣,真的很容易,如果我們要在文件中,使用Charter 字型代替 Computer Modern 字型,只要在文件前文中,加入 LaTeX 指令就可以了:

其中 "bch" 指定使用 Bitstream Charter字型,這字型放在下列目錄中:

在那裡你將會看見Charter 字型的 .pfb 檔案:bchb8a.pfb 代表粗體Charter 字型, bchr8a.pfb 代表羅馬體Charter 字型, bchbi8a.pfb 代表斜體Charter 字型,"8a" 代表字元編碼。不同於 8 位元的字元,這些字採用 超過128 位元數的方法編碼,所以不要擔心不夠用,他們大概用來定義重音和非英文的字元。因為Type 1 字元的編碼和給國際字元使用的ISO 8859 標準一致,很適合使用西方的字元,所以這也是使用這一類字型的額外好處。

如果要用Charter 字型排版文件,你要下這樣的命令:

pslatex 是 teTeX 的標準 latex的一個變體命令,它定義Type 1 字型在那些目錄,和額外的latex 內碼,你將會在TeX 作用下,伴隨出來的訊息,看見執行 pslatex 的警示螢幕。過一會,就產生須要Charter 字型的 .dvi 檔案,然後你能用dvips列印檔案,如果有須要,就使用gs 。

只要你遵從一些基本的步驟,安裝一個Type 1 字型是不困難的。你應該解開在/usr/lib/teTeX/texmf/fonts/type1 中的 Type 1 字型,然後執行 texhash ,讓那些目錄搜尋程式知道那些字型已經被加入。然後在檔案psfonts.map 中,加入字型描述,讓dvips知道他們在系統中。psfonts.map 檔案的格式,在上述所提到不同地方的參考位址都有。要記得執行texhash 去更新 teTeX 目錄資料庫。

在X 視窗系統使用teTeX --- 在 Linux中的 XFree86 --- 的確很棒,因為它允許預覽 文件。雖然這並一定需要,但是容易預覽文件,有助於改善輸出的品質。但這會犧牲掉編輯的速度,必竟在文字模式執行速度會比較快。

9. Appendix A: CTAN 網址位置目錄

這裏是一份記載 CTAN.sites, 網址位置的文件,你可在每一個 CTAN 資料庫或映射位置的最上層目錄中找到。

10. Appendix B: 安裝 CTAN 的 teTeX 套件

一般而言,安裝 teTeX 套件並不比安裝 Linux 的程式集難,請看以下: 一般 CTAN 套件

如果你屬於下面情形之一,應該考慮安裝來自那些 CTAN的 teTeX 檔案套件:

可執行檔的完整安裝需要約 40-50 Mb 的磁碟空間,直接由來源碼安裝則需要大約 75 Mb,所以你應該在開始編譯之前,確定有足夠的磁碟空間。雖然在 X 視窗中,可以預覽結果,你不需要一定要安裝X 視窗系統,也不需要安裝 GCC 編譯程式,全部所你需要是一個能夠編輯簡單的 ASCII 文件的編輯程式。夠簡單吧 ?

你能從 附錄 A中,任何一個 CTAN 檔案庫,取回這些檔案, 在下面的例子中,那些檔案是從 CTAN 檔案庫, [WWW] ftp.tex.ac.uk,被取回的。

10.1. 二進位檔案套件的安裝

10.1.1. 最小的安裝

首先,用 FTP 連到 [WWW] ftp.tex.ac.uk 並 cd 到下列目錄:y

取回這些檔案

把他們放在你要安裝 teTeX 的最上層的目錄中,舉例來說, /var/teTeX 如果你計劃在 /var 中安裝 teTeX 。

把 INSTALL.bin 檔案印出來,並繼續保存它,因為它描述該如何安裝一個最小的 teTeX 系統。最小的安裝只需要 10-15 MB的磁碟空間, 但是如果有可能,建議你安裝完整的 teTeX 系統。對於最小的安裝,你將會需要那些檔案:

你也將會需要上述兩個檔案庫之一的 teTeX 的可執行檔,取回這個檔案:

如果你的系統使用 Linux ELF shared libraries , ld.so的版本至少要 1.73 以上, clibs 則至少要 5.09 以上,如果沒有,取回:

這是使用較老的 a.out 靜態程式庫編譯成的可執行檔。

然後,依 INSTALL.bin,指示,在最上層的 teTeX 安裝目錄中執行命令:

( 確定那些 teTeX 檔案也在那裡 ) ,片刻之後,安裝程式會警告你,你正在失去一些 teTeX 檔案,然而,你只想安裝一個最小的 teTeX 系統,所以你不用理睬警告,繼續 安裝。至於如何設定,參考底下 基本系統設定

要安裝那些其餘的程式集, 請參考下一節。

10.1.2. 完整安裝

為了要安裝完整teTeX 的系統,除了取回上述那些檔案,還要取回下列的檔案:

所有這些檔案,應該被放在你要安裝 teTeX 系統的最上層的目錄之內,和最小的安裝一樣,執行命令:

10.2. 基本系統設定

決定要那一種 teTeX 之後,執行 install.sh 會出現一些選項的目錄,唯一需要的設定,就是 " D " 選項,即選擇要在那裏安裝 teTeX 系統的最上層的目錄,當然在這個目錄中,你必須擁有寫入的權利,舉例來說,你正在你的家目錄裡安裝teTeX ,你必須指定teTeX 安裝的目錄為:

然後回到主要的目錄之後,再選 " I " 選項,繼續安裝,這目錄可以不存在,install.sh 會自動產生這目錄。

即使你計劃只使用 Postscript 格式、 Type 1 字型或偶而使用 Computer Modern 字型,你還是可以考慮另一個選項,設定一個其它的目錄,存放產生的字型,你還要有這目錄的寫入權利。接上面例子,你能指定:

或者,你想讓系統上的所有的使用者,都能使用這些產生的字型,就把這放字型的目錄令為:

我建議 不要 把這目錄令為/var/tmp/texfonts ,因為有可能在系統重新啟動之後,這些字型會被刪除掉,而在下次要使用這些字型時,又要重新製造。

在選了 " I " 選項後, install.sh 會繼續安裝,設定不同的允許權,連結檔案目錄,並編譯檔案,最後結束跳出,並會提醒你,把teTeX 的執行檔目錄,加入$PATH環境變數中,man pages 和 info 檔所在目錄,分別加入$MANPATH和$INFOPATH 環境變數中,例如,如果你使用bash shell ,則把下列指令加入~/.profile中:

如果你使用別種 shell ,則加入 /.profile 中。然後簽出再簽入,使環境變數重新登錄,再執行:

以確定安裝是正確的。

接著,你能為特定的硬體設定 teTeX ,參考底下 安裝完後設定的細節

10.3. CTAN 來源碼套件的安裝

要從程式碼自行編譯安裝 teTeX V. 0.4 ,先用 ftp 到 CTAN,如 [WWW] ftp://ftp.tex.ac.uk ,抓取:

先看 INSTALL.src中的指示,再用 su變為系統管理者,然後在一個你有讀,寫,執行等權利的目錄中,解開這些檔案。

記得tar要用p選項,而且也要記得在bash中 unset ,noclobber選項,你可以這樣下命令:

+o 就是 設定 取消一個變數,就像預期會作用,但是沒發生一樣。

解開 teTeX-lib-0.4pl8.tar.gz 會產生./teTeX的目錄,解開 teTeX-src-0.4pl7.tar.gz 會產生 teTeX-src-0.4 的目錄,列印INSTALL.src ,而且保存在手邊,以便為下列那些的步驟使用。再 切換 到 ./teTeX-src-0.4 的目錄,依 INSTALL.src 的說明,修改./Makefile。你還須要把 teTeX 所在的絕對目錄,令為 TETEXDIR 的環境變數,這目錄將會是你解開來源碼和程式庫檔案所在目錄的teTeX子目錄。舉例來說,如果你在自己的家目錄解開這些檔,就把TETEXDIR 令為:

剩下Makefile的其他選項就和一般差不多,除非你使用一個非標準化的編譯器和程式庫的設定,或者要編譯器做更多的最佳化,或其他原因,否則只要 GCC 的版本為 2.7.2或更新的就可以了。因為編譯過程,dialog程式使用到 ncurses 程式庫,所以還要檢查USE_DIALOG,USE_NCURSES和HAVE_NCURSES 的變數,是否設定正確。在安裝套件裏,就以經包含了ncurses 程式庫,所以 Makefile 可能會很順利,如果你沒有 ncurses ,可供連結編譯,texconfig 依然能執行。

如果到這裏,每件事都很正確,你就能在最上層的來源目錄裡,執行 make world ,等到teTeX 的執行檔造出來,安裝就完成了,這可能要花幾個小時。

在安裝完成之後,要把 teTeX 目錄加入 $PATH , $MANPATH, $INFOPATH那些環境變數之中,承上例,只要在~/.bash_profile 檔案加入:

用來源碼安裝和用以編譯好的二進位碼安裝, $PATH 變數是不同的,前者的可執行檔的路徑是 teTeX/bin/i386-linux ,而後者是teTeX/bin。

到這裏,你能執行 texconfig confall ,確定那些路徑已經正確地被設定,然後進行如同和用安裝可執行檔的步驟一樣,參考 安裝完後設定的細節

10.4. 安裝完後設定的細節

首先參考 Thomas Esser 的README 檔案,它包含許多,如何設定teTeX 的輸出裝置 ( 也就是,印表機 ) 的暗示。 README檔案位於目錄:

用下列命令瀏覽這檔案( 在此是使用 Slackware 套件 ):

或用這命令列印出來:

假定你的印表機被連接到 /dev/lp0。 如果不是,則適當的修改成連接的裝置。

或者使用 lpr命令:

你應該在安裝 Linux 時,已經順便安裝印表機 daemon 了,如果沒有,再依安裝過程,重新安裝一次。

印出 teTeX-FAQ. ,並放在手邊,它包含許多如何設定teTeX 的印表機驅動程式的暗示,在比較新的 teTeX 版本中,則可直接由texconfig看到 teTeX-FAQ 。

然後,你要定義一個目錄儲存你的自己的 TeX 格式檔案。teTeX 會搜尋,在系統內的/etc/profile檔,被列在 $TEXINPUTS 環境變數中那些目錄內的 TeX 輸入檔案:

個別的使用者,則把它加入他們的~/.profile 中,或加入~/.bash_profile ,如果使用 bash 的話。$TEXINPUTS 環境變數,告訴teTeX ,到使用者的家目錄之下的~/texinputs 目錄,去尋找使用者的個別 TeX 格式檔案,要確實的 在目錄前面和後面加上冒號,也就是把搜尋到的結果,附加到你的目錄。首先你必須使 teTeX 去搜尋部分的格式檔案,然後它再使用你編輯過的標準格式檔案的部分版本。

如果你以管理者的身份安裝teTeX ,把/usr/lib/teTeX/bin 目錄,加入系統的路徑,若你是自己個人要安裝,把 teTeX 的執行檔的目錄,放到~/.profile 或~/.bash_profile中$PATH的前面:

現在以 root身份簽入,並依teTeX-FAQ指示,執行texconfig,而且選擇與你系統連接的印表機,確定你在 teTeX 中,是否正確的設定好印表機和印表機解析度。

最後執行texhash ,以確定 teTeX 的內在資料庫是最新的,資料庫實際上是一個ls-lR檔案,每一次改變系統結構必須 執行 texhash,否則 teTeX 將不能夠找出你改變的地方。

last edited 2004-12-25 08:45:57 by PingYeh