這大概是多數人比較感頭疼的部份(包括我個人在內 :),在能力所及,我盡量朝原理方面來述說,因為作業系統的煩多及各種發行套件的差異,目前實在還沒有把握做到全自動的偵測、安裝,大概只能達到半自動的目標,希望有興趣的朋友,共同來想辦法達到全自動的境界。
這應該是所有 GNU/Linux distribution 都會有,要注意的是,TeX 系統的設定相當複雜,有時一個錯誤訊息,對於剛接觸的朋友而言,會是有字天書,不知從何查起。因此,這裡建議把 distribution 裡頭,凡是和 tetex 有關的 packages 都安裝起來,一般就是開頭是 tetex-* 的套件。
想自行編譯的朋友,可在以下 ftp 站取得原始碼:
ftp://tug.ctan.org/tex-archive/systems/unix/teTeX/2.0/distrib/
原始碼會分成三個部份:
tetex-src-2.x.x.tar.gz
tetex-texmf-2.x.x.tar.gz
tetex-texmfsrc-2.x.x.tar.gz
其中 x 是真正的版本編號,第三個非必要,但建議抓下來參考用。
當然,前面已交待過,本文主要是說明以前的舊版本,在使用 teTeX 2.x 的版本,如果有碰到什麼問題,再提出來大家討論看看。
在其他 OS 的話,例如 MS Windows 系統,則是使用 MikTeX 或是 fpTeX 所發行包裝的發行本,都可以很方便的達到自動安裝,但是 CJK package 則不一定會安裝,有時可能得自行選擇以才能完整安裝。在其他 Un*x 系統及 Mac OS X 的話,則可以和 GNU/Linux 一樣的安裝 teTeX 系統。
這是處理 Type1 字型的工具集,其中的 t1asm 會在由 TTF 製作 Type1 字型時要用到。t1utils 的原始網站在:
http://www.lcdf.org/~eddietwo/type/#t1utils
如果,您系統上就已經有 t1asm,那這個 package 可以不必安裝。Mandrake 系統的話,他有收錄這個工具,因此把安裝光碟 mount 上來,安裝上去就可以了。
我們需要用到的是 t1utils 裡頭的 t1asm 這支程式,這支程式在 ttf2pfb 及 ttf2pt1 中都會附上,但在 t1utils 的版本比較新,建議使用這個版本,由於 dvips 的 partial font download 的功能很敏感,請使用最新版本的 t1asm 來製作中文 Type1 字型。
這是轉 TTF 為 Type1 的工具,原始網站在:
http://ttf2pt1.sourceforge.net
這是 ttf2pt1 在轉中文 TTF 時所要的 Unicode 對應表,原始網站同 ttf2pt1。
這是由 George Williams 所發展的一個相當棒的字型編輯軟體,可以編輯大多數的向量字型及一般常用的點陣字型,在 FS/OSS 社群而言,這是一個不可多得的字型工具,集各種字型處理的工具於一身。以前稱為 PfaEdit 但由於也可以用於其他種類的向量字型,因此改名稱為 FontForge。
這個工具不僅有 GUI 的圖型界面可以使用,而且還可以當 script interpreter 來使用,也就是說,可以寫 FonForge 的 script 檔,在命令列就可以執行,不必叫出 GUI 出來,請參考第 4 章,第 4.3 節,頁 的說明。
可在 FonForge 的網站下載原始碼,或打包好的 package。
http://pfaedit.sourceforge.net/index.html
也有其他平台的版本。但由於 FonForge 尚未對記憶體運用做最佳化,如果要處理中文字型的話,你的系統最少需要有 256MB 以上 RAM。如果是大字集的 Unicode 字型,可能需要更多的 RAM 才行。
這就是使用 TTF/CID-Keyed 字型,內嵌或不內嵌字型於 PDF 的工具,原始站在:
http://project.ktug.or.kr/dvipdfmx/
如果是製作 PDF 檔的話,其實,整個重頭戲就是在這個 DVIPDFM,這要感謝韓國及日本朋友的幫忙。
這裡要非常注意的是 teTeX 系統,在舊版本並沒有包括 dvipdfmx 所需要的 map 檔,所以要自行想辦法,可由 Adobe 公司下載,或者由底下這個網址取得:
http://info.sayya.org/edt1023/tex/slk91/source/
把他置於 $TEXMF/dvipdfm/config 目錄下即可,如果你的 teTeX 是 2.x 以前的舊版本,那要在 dvipdfmx.cfg 裡頭加入:
f cmr.map
f psbase14.map
f lw35urw.map
如果是 teTeX 2.x 的版本,則無需以上舊版本的 map 檔,只在 dvipdfmx.cfg 加入:
f dvipdfm_ndl14.map
即可。其中那個 ndl 就是代表 no download 的意思,就是字型不會內嵌(當然,要配合一般 Type1 字型的套件,例如 pslatex/times 等),如果無論如何一定要內嵌,那要換成 dvipdfm_dl14.map
。
中文字型的部份則加在 cid-x.map 檔裡頭,如果是使用 mkfont.sh 來製作中文 Type 1 字型的話,那會自動產生給 dvipdfmx 使用的設定,只要把這些設定加進去就可以了,請參考第 4 章,第 4.2 節的說明。如果 cid-x.map 沒有定義所需要的 TTF 字型,則會取自 dvips 所能取到的字,可能是 pk 或 Type1 字型,有 Type1 的話,會優先使用。
由於各種 distribution 置放 TTF 字型的位置不一樣,所以,這裡請手動連結一下:
cd /usr/share/texmf/fonts/truetype (如果沒有這個目錄,請自行建立) ln -s yourpath/bsmi00lp.ttf bsmi00lp.ttf (請找出實際字型放在哪裡) ln -s yourpath/bkai00mp.ttf bkai00mp.ttf ln -s yourpath/gbsn00lp.ttf gbsn00lp.ttf ln -s yourpath/gkai00mp.ttf gkai00mp.ttf
然後執行一次 texhash(或 mktexlsr)。
這就是 CJK 套件了,由於他預設並沒有附字型,字型是要由使用者想辦法,這也是本文的目的之一,原始網站在:
ftp://ftp.ffii.org/pub/cjk/
請參考所附文件來編譯、安裝。
這是新版的 hyperref package,原始檔案在:
http://www.tug.org/applications/hyperref/
這有寫好的 Makefile,應該不難編譯安裝。這個 package 主要的功用是可以配合 CJK 來產生中文的目錄的超連結交互參照及 PDF 檔的 bookmarks。
這個在 Mandrake Linux 已經有附上,可以自安裝光碟安裝即可。Red Hat Linux 的話,他所附的是日本方面修改過的版本,可能會無法用於中文,其他沒有附上的 distro,請由 source code 編譯安裝,原始網站在:
http://www.latex2html.org/
這是 Perl 語言寫的,所以系統上要安裝有 Perl 才行。
由於目前 teTeX 已全面成為自由軟體(Free Software),因此有些套件並沒有附上,有需要用到的話,要自行從 CTAN(Comprehensive TeX Archive Network)下載安裝:
ftp://ftp.tex.ac.uk/tex-archive/ (英)
ftp://ftp.dante.de/tex-archive/ (德)
ftp://ftp.tug2.cs.umb.edu/tex-archive/ (美)
http://tug.ctan.org/CTANfind.html (可搜尋的網頁)
絕大部份的 LaTeX macro 都採用 literate programming 的風格在書寫,也就是說文件、macro 程式碼是層次分明的混在一起的,經處理後才會分開來。簡單的 macro 通常就只有兩個檔 *.ins (installation script) 及 *.dtx (documented LaTeX source),甚至只有一個 *.sty 檔。如果是大型的 macro/package3.1,則可能會有寫好的 Makefile,只要使用編輯器打開這個 Makefile,修改成適合自己的系統,然後:
make;make install
就可以了(舊套件要先移除)。
至於 *.ins/*.dtx 可以使用 latex/makeindex 來編譯,以下是一般的執行方法:
latex newpkg.ins latex newpkg.dtx latex newpkg.dtx (執行第二次,編譯 toc,如果有的話) makeindex -s gind.ist -o newpkg.ind newpkg.idx makeindex -s gglo.ist -o newpkg.gls newpkg.glo latex newpkg.dtx
然後手動 copy *.sty 檔至適當目錄即可(可仿原來存在的 package 來置放)。
dvips -Ppdf -o newpkg.ps newpkg (產生 newpkg.ps 文件) 或 dvipdfm[x] newpkg (產生 newpkg.pdf 文件)
將文件置放於 $TEXMF/doc
目錄下適當位置即可。
這是在沒有 README/INSTALL 之類的文件之下的方法,如果有這些文件則以文件內的說明為準。最後,別忘了執行 texhash(或 mktexlsr),在 Windows 系統的 MiKTeX3.2 則執行 initexmf -u。然後,測試一下是否可以正常使用。
以上只是簡單套件的安裝,複雜的可能會需要產生字型或 *.fmt 檔,這時有時要等一下,可能會執行一段時間。沒有必要,當然是不建議手動安裝,請教一下有經驗的人會更保險。
Compiled by Edward G.J. Lee (2004-05-18)