2007年9月10日 星期一

在LaTeX中使用中文

為了在Tex中使用中文,我們必須裝上CJK套件。在試過幾個方法之後,我發現最簡單的是直接裝texlive。我所使用的distribution是Fedora Core 5 (x86_64)

以下的內容我主要是參考這篇文章,只是做了點修改。
原文網址:http://www.nixsky.com/linux/redhat/2007-07/203.html

首先到 texlive 的網頁上下載 live dvd:
ftp://ftp.ccu.edu.tw/pub/tex/systems/texlive/Images/texlive2007-live-20070212.iso.zip
解壓縮之後記得先用md5sum檢查一下。

將映像檔掛載上去:
$ sudo mount -t iso9660 -o loop [path of iso] [mount point]
$ cd [mount point]
$ sudo ./install-tl.sh

輸入"S"選擇full install
輸入"R"返回主選單
輸入"L"選擇安裝的語言
輸入"-" 將所有語言去掉,再輸入"d",選擇Chinese, Japanese, Korean
([x]才是有選擇的項目,[ ]則是沒選擇的)
輸入"R"返回主選單
輸入"I"開始安裝

安裝完之後再設定PAHT
$vi ~/.bashrc
在 .bashrc 中加入以下兩行:
export PATH=/usr/local/texlive/2007/bin/x86_64-linux:$PATH
export TEXMFSYSVAR=/usr/local/texlive/2007/texmf-var

如果是i386的作業系統,則PATH會改為
export PATH=/usr/local/texlive/2007/bin/i386-linux:$PATH
重新登入使設定的PAHT生效。

建立一個測試目錄,
$ mkdir test; cd test
在 test 中建立測試文件 test.tex:
\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
This is a test.
\end{document}

執行 "pdflatex test.tex" 之後會產生 "test.pdf",用 xpdf 來看一下成果,如果可以正常顯示,那英文的部分應該沒有問題了。

再來可以到 "http://cle.linux.org.tw/fonts/cwttf/type1/" 下載 "cwTeX TrueType" 的中文字型。下載 "cwt1-1.0.tar.gz" 來解壓縮就行了,不用自己產生字型。
$ tar -zxvf cwt1-1.0.tar.gz
$ cd cwt1-1.0

其中有兩種不同的字型,baseline 是將標點符號放在 baseline 上再加上空白,而 center 則是將標點符號放在中央。關於字型的詳細說明,請參閱 "Readme-big5.cwt1"。

再來我以如何新增 center 的明體字(cwmu)為例:
先建立以下目錄:
$ sudo mkdir -p /usr/local/texlive/2007/texmf/fonts/map/dvips/CJK
$ sudo mkdir -p /usr/local/texlive/2007/texmf/fonts/tfm/CJK
$ sudo mkdir -p /usr/local/texlive/2007/texmf/fonts/type1/CJK/
$ sudo mkdir -p /usr/local/texlive/2007/texmf/tex/latex/CJK/UTF8

再進到 cwt1-1.0 的明體字資料夾:
$ cd center/cwming/cwmu/
$ sudo cp cwmu.map /usr/local/texlive/2007/texmf/fonts/map/dvips/CJK/
$ sudo cp *.tfm /usr/local/texlive/2007/texmf/fonts/tfm/CJK/
$ sudo cp *.pfb /usr/local/texlive/2007/texmf/fonts/type1/CJK/
$ sudo cp c70cwmu.fd /usr/local/texlive/2007/texmf/tex/latex/CJK/UTF8

更新 texlive:
$ sudo texhash
$ sudo updmap --enable Map song.map
$ texhash
$ updmap --enable Map song.map


再來就可以測試中文了。建立test2.tex:
\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{cwmu}
這是中文測試!
\end{CJK}
\end{document}


$ pdflatex test2.tex
$ xpdf test2.pdf

如果可以正常顯示中文就大工告成了!

最後特別感謝文章的原作者yanhualu2000及yulewang。
原文網址:http://www.nixsky.com/linux/redhat/2007-07/203.html

沒有留言:

張貼留言