?? chinese-howto-7.html
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7">
<TITLE>Linux Chinese HOWTO 中文版: 中文排版軟體</TITLE>
<LINK HREF="Chinese-HOWTO-8.html" REL=next>
<LINK HREF="Chinese-HOWTO-6.html" REL=previous>
<LINK HREF="Chinese-HOWTO.html#toc7" REL=contents>
</HEAD>
<BODY>
<A HREF="Chinese-HOWTO-8.html">Next</A>
<A HREF="Chinese-HOWTO-6.html">Previous</A>
<A HREF="Chinese-HOWTO.html#toc7">Contents</A>
<HR>
<H2><A NAME="s7">7. 中文排版軟體</A></H2>
<H2><A NAME="ss7.1">7.1 LaTeX + CJK</A>
</H2>
<P>TeX/LaTeX 是一套的幕後排版軟體。其優秀的輸出品質早已為廣大的學術界朋友所喜愛及采用。
CJK 是一個 LaTeX2e 的巨集套件(macro package),能讓你在 TeX 文件中使用 CJK (Chinese/Japanese/Korean) 的文字編碼。
<P>你的系統必須先安裝好 teTeX/LaTeX. 許多的 Linux 發行套件都已包含了 teTeX/LaTeX.
如果沒有的話,你也可以自己裝。請參考
<A HREF="http://sunsite.unc.edu/LDP/HOWTO/TeTeX-HOWTO.html">teTeX HOWTO</A> 的說明。
<P>
<H3>取得軟體</H3>
<P>在下面地點取回 CJK 4.1.3
<BLOCKQUOTE>
<A HREF="ftp://nctuccca.edu.tw/Chinese/ifcss/software/tex/">ftp://nctuccca.edu.tw/Chinese/ifcss/software/tex/CJK-4.1.3.src.tar.gz</A></BLOCKQUOTE>
<P>在此取回你要的 TTF 字型:
<BLOCKQUOTE>
<A HREF="ftp://nctuccca.edu.tw/Chinese/ifcss/software/fonts/big5/ms-win/">ftp://nctuccca.edu.tw/Chinese/ifcss/software/fonts/big5/ms-win/</A></BLOCKQUOTE>
<P>
<H3>安裝</H3>
<P>你必須知道你 teTeX/LaTeX 的安裝目錄 <CODE>$TEXMF</CODE>, 例如 <CODE>/usr/lib/texmf</CODE>.
我還假設你用的字型是 <CODE>ntu_kai.ttf</CODE>, 如果你用別的請自行對應。
<P>
<UL>
<LI>將你抓回來的字型
<A HREF="Chinese-HOWTO-11.html#ntuttf">解壓縮</A> 後放到 <CODE>$TEXMF/fonts/truetype/chinese</CODE> 下。</LI>
<LI>解開 CJK-4.1.3.src.tar.gz, 將 <CODE>texinput</CODE> 子目錄移至 <CODE>$TEXMF/tex/latex</CODE>, 改名為 <CODE>CJK</CODE>, 并建立字型目錄。
<BLOCKQUOTE><CODE>
<PRE>
# cd 4_1.3/; mv ./texinput $TEXMF/tex/latex/CJK
# mkdir -p $TEXMF/fonts/tfm/chinese/ntukai
# mkdir $TEXMF/ttf2pk
# mkdir $TEXMF/hbf2gf
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>接下來這個可能是最難的步驟。將 <CODE>4_1.3/doc/teTeX</CODE> 目錄下的 <CODE>*.diff</CODE> 以 <CODE>patch</CODE> 指令施加到這幾個檔案上:
<BLOCKQUOTE><CODE>
<PRE>
/usr/bin/MakeTeX*
$TEXMF/web2c/texmf.cnf
$TEXMF/fontname/special.map
</PRE>
</CODE></BLOCKQUOTE>
例如:
<BLOCKQUOTE><CODE>
<PRE>
# cd /usr/bin
# patch -s < 4_1.3/doc/teTeX/MakeTeXPK.diff
</PRE>
</CODE></BLOCKQUOTE>
由於 TeX 的版本眾多,你的 <CODE>patch</CODE> 可能會失敗。這樣的話你就要自己手動地將失敗的地方補上(失敗的地方會記錄在 <CODE>.rej</CODE> 中)。如果你不太了解 <CODE>patch</CODE> 運作的原理,最好請教一下有經驗的人。
</LI>
<LI>編譯及安裝 <CODE>bg5conv</CODE>
<BLOCKQUOTE><CODE>
<PRE>
# cd 4_1.3/utils/Bg5conv; gcc -o bg5conv bg5conv.c
# chmod 755 bg5latex
# cp bg5conv bg5latex /usr/local/bin/
# gzip bg5conv.1; cp bg5conv.1.gz /usr/local/man/man1/
</PRE>
</CODE></BLOCKQUOTE>
由於含 BIG5 碼的 TeX 文件中某些中文編碼可能含有 <CODE>{</CODE>, <CODE>}</CODE>, <CODE>\</CODE> 等對 TeX 具有特殊含義的符號,<CODE>bg5conv</CODE> 能將這些編碼轉換為 TeX 能處理的形式。
</LI>
<LI>編譯及安裝 <CODE>ttf2pk</CODE>, 這是一個將 TrueType 字型轉換為 TeX's pk 字型的工具。
<BLOCKQUOTE><CODE>
<PRE>
# cd 4_1.3/utils/ttf2pk/src
# make all OS=unix
# cp ttf2pk /usr/local/bin/
# cd ..
# cp config/ttf2pk.cfg $TEXMF/ttf2pk/
# gzip ttf2pk.1; cp ttf2pk.1.gz /usr/local/man/man1/
# cp c00kai.fd $TEXMF/tex/latex/CJK/Bg5/
# cp MakeTTFPK /usr/local/bin
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>如果你還想直印的話在 <CODE>$TEXMF/tex/latex/CJK/Bg5/</CODE> 上自己編一個 <CODE>c00kair.fd</CODE> 檔:
<HR>
<PRE>
\def\fileversion{4.1.0}
\def\filedate{1996/11/20}
\ProvidesFile{c00kair.fd}[\filedate\space\fileversion]
% traditional Chinese characters in Big 5 encoding scheme.
% font shape: kai
% ntu_kai.ttf is Kai3 Shu1 (&quotmodel book")
\DeclareFontFamily{C00}{kair}{}
\DeclareFontShape{C00}{kair}{m}{n}{<-> CJK * ntukar}{}
\DeclareFontShape{C00}{kair}{bx}{n}{<-> CJKb * ntukar}{\CJKbold}
\endinput
</PRE>
<HR>
</LI>
<LI>執行 <CODE>texconfig</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
# texconfig rehash
# texconfig hyphen
</PRE>
</CODE></BLOCKQUOTE>
</LI>
</UL>
<P>
<H3>測試</H3>
<P>
<UL>
<LI>橫印測試:
<BLOCKQUOTE><CODE>
<PRE>
# cd 4_1.3/examples
# bg5latex Big5.tex (看看有沒有產生 Big5.dvi ?)
# xdvi Big5.dvi (是否能看到中文? 當然你要先進 X Window)
# dvips Big5.dvi -o Big5.ps (轉換成 PostScript 格式)
# ghostview Big5.ps (用 ghostview 觀看)
# lpr Big5.ps (送到印表機,看看是否印出中文)
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>直印測試: 用 <CODE>examples</CODE> 目錄中的 <CODE>Big5vert.tex</CODE> 來重覆上述過程。</LI>
</UL>
<P>
<H3>增加新字型</H3>
<P>例如,你想改用明體字型 <CODE>ntu_mm.ttf</CODE>
<P>
<UL>
<LI>將你的 TrueType 字型放在 <CODE>$TEXMF/fonts/truetype/chinese</CODE> 下。</LI>
<LI>在 <CODE>$TEXMF/ttf2pk/ttf2pk.cfg</CODE> 中增加兩行:
<BLOCKQUOTE><CODE>
<PRE>
ntumm: -e Big5 $TEXMF/fonts/truetype/chinese/ntu_mm.ttf
ntummr: -r 1 -e Big5 $TEXMF/fonts/truetype/chinese/ntu_mm.ttf
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>建立 <CODE>c00ming.fd</CODE> 檔:
<BLOCKQUOTE><CODE>
<PRE>
# cd 4_1.3/utils/ttf2pk
# cp c00ming.fd $TEXMF/tex/latex/CJK/Bg5/
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>再次執行 <CODE>texconfig</CODE>.</LI>
<LI>將 <CODE>4_1.3/examples/Big5.tex</CODE> 中的 kai 改為 ming, 重覆上面 <CODE>bg5latex</CODE>, <CODE>xdvi</CODE>, <CODE>dvips</CODE> 等測試看看結果正不正確。</LI>
<LI>如果要直印,同樣重覆安裝一節所述,建立 <CODE>c00mingr.fd</CODE> 如下,并將 <CODE>Big5vert.tex</CODE> 中的 kair 改為 mingr, 重覆測試過程。
<HR>
<PRE>
\def\fileversion{4.1.0}
\def\filedate{1996/11/20}
\ProvidesFile{c00kair.fd}[\filedate\space\fileversion]
\DeclareFontFamily{C00}{mingr}{}
\DeclareFontShape{C00}{mingr}{m}{n}{<-> CJK * ntummr}{}
\DeclareFontShape{C00}{mingr}{bx}{n}{<-> CJKb * ntummr}{\CJKbold}
\endinput
</PRE>
<HR>
</LI>
</UL>
<P>
<H3>建立 CJK 文件</H3>
<P>中文 CJK TeX 文件與一般 LaTeX 主要不同之處在於:
<UL>
<LI>所謂 LaTeX 的 preamble (\documentclass 至 \begin{document})區域中, 必須有 \usepackage{CJK} 這個命令,即必須載入 CJK.sty。 </LI>
<LI> 中文字必須在 CJK 或 CJK* 的中文環境中。</LI>
<LI>要變換字型可用 \CJKfamily 命令,如 \CJKfamily{fs} 將以下的字型改成仿宋字(當然 <CODE>fs</CODE> 這個字形名稱必須定義在 <CODE>c00fs.fd</CODE> 中)。 </LI>
</UL>
下面是一個 CJK 文件的□例:
<HR>
<PRE>
\documentclass[12pt]{article}
\usepackage{CJK}
\begin{document}
\begin{CJK*}{Bg5}{kai}
\section{第一節}
\section{第二節}
中文段落、章節、圖形、表格、參考文獻、…等
...
\end{CJK*}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -