diff options
Diffstat (limited to 'language/chinese/CJK/cjk-4.8.5/doc/chinese/READMEb5.tex')
-rw-r--r-- | language/chinese/CJK/cjk-4.8.5/doc/chinese/READMEb5.tex | 1150 |
1 files changed, 1150 insertions, 0 deletions
diff --git a/language/chinese/CJK/cjk-4.8.5/doc/chinese/READMEb5.tex b/language/chinese/CJK/cjk-4.8.5/doc/chinese/READMEb5.tex new file mode 100644 index 0000000000..ac1fff7b50 --- /dev/null +++ b/language/chinese/CJK/cjk-4.8.5/doc/chinese/READMEb5.tex @@ -0,0 +1,1150 @@ +%%% The file READMEb5.tex . This file is part of LaTeX2e CJK package. +%%% +%%% Note that this document is a very first version. Therefore, lots +%%% of installation steps and issues are still left blank. Please be +%%% patient and wait for the next new release. I'm sorry for any +%%% inconveniences. I also deeply expect that everyone who is +%%% interested in this topic gives me suggestions and corrections in +%%% any respects. Thanks in advance. +%%% +%%% Revision 1.5 1996/11/22 10:49:00 d791013 +%%% * modify some context presentations. +%%% +%%% Revision 1.4 1996/10/23 03:59:40 d791013 +%%% Revision control by CVS. +%%% +%%% Revision 1.3 1996/07/27 11:19:20 d791013 +%%% 1. In compliance with CJK version 4.0.0 +%%% 2. Fill up some unfinished sections in previous versions of this +%%% file. +%%% 3. Add more usages for MULE and AUCTeX. +%%% + +\documentclass[12pt,a4paper]{article} +\usepackage{array,CJK} +\RequirePackage{shortvrb} +\MakeShortVerb{\|} + +% enlarge text width and height (for saving number of pages) +\addtolength{\textwidth}{1in} +\addtolength{\oddsidemargin}{-.5in} +\addtolength{\textheight}{1in} +\addtolength{\topmargin}{-.5in} + +\begin{document} +\begin{CJK*}{Bg5}{bsmi} +\CJKtilde + +% local commands +\newcommand{\ntutocjk}{~\textsf{ntu2cjk}~} +\newcommand{\ttftopk}{~\textsf{ttf2pk}~} +\newcommand{\hookstroke}{\raisebox{2pt}{\scriptsize $\surd$}} +\newcommand{\crossmark}{$\times$} +\newcommand{\bigfive}{~\textrm{Big-5}~碼} +\renewcommand{\figurename}{圖~} +\renewcommand{\tablename}{表~} + +%% end of header + +\title{\bigfive中文系統下的~CJK \LaTeXe~排版系統\\ + (For CJK version 4.1.0)} +\author{ + 李君宇\thanks{The author of the \textsf{ntu2cjk} package. + \textsf{E-mail:} d791013@ce.ntu.edu.tw}\ (Chun-Yu Lee) \and + Werner Lemberg\thanks{The author of the \LaTeXe\ CJK package. + \textsf{E-mail:} wl@gnu.org}} +\date{20 Nov. 1996} +\maketitle + +\tableofcontents + +\section{簡介} +\label{sec:introduction} + +本文主要針對內容以\bigfive為主的中文文件(當然亦可包含外文及圖形等), +欲使用~\LaTeXe~及~CJK~系統進行排版列印,其所需的基本要求與安裝步驟等, +做一簡要的介紹。其範圍雖不能涵蓋要編好一篇(或一本)圖文並茂的文章所需 +之主題,但也足夠應付一般性的文件\footnote{本文將會在日後慢慢地修正與補 + 充相關主題,以加強其結構及內容。同時也期待讀者能提供寶貴的意見,以為 + 下一次出版之參考。}。 + +本文的內容以配合~CJK 4.x.x~系統的設定為主。修改本文之同時,CJK~的版本 +是~4.1.0。 + +\subsection{閱讀指引} +\label{sec:reading-guides} + +下面是簡單的閱讀指引: +\begin{itemize} +\item 先確定你欲安裝的~CJK~版本是否是本文所描述的,若不同,請取得與本 + 文相容的~CJK~版本,或取得最新的~CJK~版本,並閱讀其所包含的本文件檔案。 +\item 若因版本之不同,您亦可以~CJK~文件中的~INSTALL~為主,佐以字型安裝 + 系統(\textsf{ntu2cjk}~或~\textsf{ttf2pk})中相關的說明文件,再瀏覽 + 本文內容作為參攷性質,適當地安裝整個中文排版系統。 +\item 若您曾經安裝過~CJK,您可直接參考第~\ref{sec:steps}~節“安裝步驟”。 +\item 若在您的系統中,尚未安裝有中文~TFM、PK、或~PFB~等檔案,可參考第~ + \ref{sec:install-fonts}~節“字型安裝”。 +\item 若您覺得上述的安裝步驟不夠具體,請參考第~\ref{sec:my-settings}~ + 節“我的例子”。 +\item 若想知道如何取得相關檔案,請參考附錄~\ref{sec:getting-files}“檔 + 案取得”。 +\item 若想對本文所使用之字詞有所疑惑,請參考附錄~\ref{sec:terms}“名詞 + 解釋”。 +\end{itemize} + +注意:本文內容在字型的安裝方面,對於\ttftopk的介紹較少\footnote{因本文 + 的主要作者只有使用\ntutocjk來安裝字型,對一些\ttftopk新的改變已不熟悉。} +讀者可自~CJK~的文件套件中有關中文的說明檔~|NTeXb5.doc|~(與本檔案置於同 +一目錄中)得到詳細的解說。 + +另外本文在對於~em\TeX~環境下的安裝解說,也只是翻譯自~CJK~文件中的~ +|INSTALL|~這個檔,本文作者並未實作過。 + +\subsection{進一步的資訊來源} +\label{sec:further-information} + +\begin{itemize} +\item 文獻~\cite{latex2nd}~為基本手冊。 +\item 文獻~\cite{latex-companion:1993}~可為進階手冊。 +\item 參考~Newsgroup |comp.text.tex|~的~FAQ。 +\item 有關~\TeX/\LaTeX~常問的問題,可參攷文獻~\cite{tex-faq:1.9c}(版本 + 稍舊)。 +\end{itemize} + +\section{系統需求} +\label{sec:requirements} + +\subsection{硬體環境} +\label{sec:hardware-requirements} + +\TeX/\LaTeX~系統目前幾乎絕大部分的作業系統皆有支援。在~RAM~的需求上則 +視欲編排檔案的大小,小則數十萬位元,大則數百萬位元。雖然~\TeX/\LaTeX~ +系統在~286~以前的機器就能跑(沒記錯的話),但最好還是有~8MB~以上的記憶 +體,以應付中文字之所需。至於硬碟空間,在中文字型的使用需下,最好能有~ +150MB~的空間(\TeX~系統約~30MB,8~種~NTU~全真字型及其轉換字型,PS~及~ +PK~字型等,約~80MB)。 + +\subsection{軟體需求} +\label{sec:software-requirement} + +\begin{itemize} +\item 對~\LaTeX~系統有概括的認識與對此系統具基本操作的能力。最好你有文 + 獻~\cite{latex2nd,latex-companion:1993}~這兩本書在手邊。 +\item \LaTeXe~的執行環境。包括~\TeX/\LaTeX~的相關環境。 +\item \LaTeXe\ CJK~系統。 +\item 若想安裝~PS~字型\footnotemark\addtocounter{footnote}{-1},您需要 + \begin{enumerate} + \item \textsf{ntu2cjk}~系統。 + \item NTU TrueType~字型。 + \item gcc~編譯器及相關環境、GNU make。 + \item GhostScript(3.12~以上的版本)。 + \item |afm2tfm|。 + \item 解壓縮程式: |arj|、|gzip|、|tar|。 + \item 若想從~PS~字型建立~PK~字型,則需~|ps2pk|~或~|gsftopk|。 + \end{enumerate} +\item 若欲安裝~PK~字型\footnote{就中文文件的排版、預覽及列印所需的字型 + 而言,可以單獨只存在有~PK~字型或~PS~字型;但就方便性與可攜性而言, + 筆者建議,以動態的方式產生~PK~字型並保有完整(或常用及動態)的~PS~ + 字型,是較佳的組合。},參考第~\ref{sec:install-pk-fonts}~節之描述。 +\item 輸出:|dvips|、|dvi2xx|、及其他~dvi~格式的轉換程式與其下游的轉換 + 程式。 +\end{itemize} + + +\section{安裝步驟} +\label{sec:steps} + +本節將主要的安裝流程,條列如下,各項中詳細的安裝指引,將在以後的各節中 +闡述: +\begin{enumerate} +\item 若是~\TeX/\LaTeX~系統己安裝好,請跳下一步。否則根據自己使用的作 + 業系統,決定應使用何種~\TeX~系統,並參考系統需求(第~ + \ref{sec:requirements}~節)、檔案取得(附錄~\ref{sec:getting-files}) + 及其他於附錄中各節之資料,取得相關檔案,並按所取得資料中的指示安裝。 + 若取得的系統沒有~\LaTeXe~系統,或是您想更新至較近的版本,則可另外自~ + CTAN~取得,在已安裝好的~\TeX~環境中架上~\LaTeXe。 +\item 確定~\LaTeXe~己安裝妥當。可以一~\LaTeXe~格式且內容為英文的檔案 + (如~|sample.|\linebreak[1]|tex|),從執行~|latex|~編譯,以~|xdvi|~ + 或~|dviscr|、|dvisvga|~等等)預視、到~|dvips|~或~|dvilj|~轉成印表格 + 式(PostScript~或~PCL~等格式)並印出,以判斷是否安裝正確。 +\item 安裝~CJK~中文~\LaTeXe~系統(參考第~\ref{sec:install-CJK}~節)。 +\item 選擇安裝~PK~或~PS~字型或二者皆安裝(參考第~ + \ref{sec:install-pk-fonts}~節或第~\ref{sec:install-ps-fonts}~節)。 +\item 以~CJK~系統中所提供之中文~\LaTeXe~檔,|READMEb5.tex|,做測試(參 + 考第~\ref{sec:my-settings}~節)。 +\item 若有問題,請參考第~\ref{sec:trouble-shooting}~節“問題解決”。 +\end{enumerate} + + +\section{安裝~CJK~中文~\LaTeXe~系統} +\label{sec:install-CJK} + +請針對您所使用作業系統,參考下面對應的小節。 + +\subsection{在~UNIX~系統下~(web2c)} +\label{sec:install-under-unix} + +\begin{enumerate} +\item 找個適當的目錄將取回的~CJK~壓縮檔解開。例如您將其解開至~ + |/tmp/CJK|。 +\item 如果您能以系統管理者的身份(root)安裝,則可將解壓後的~CJK~目錄 + 中~|texinput|~目錄下的所有檔案(保持原目錄結構)移至~\TeX~系統能找到 + 的地方(通常是~ + |${TEXMF}/|\linebreak[1]|tex/|\linebreak[1]|latex/|\ldots, + |${TEXMF}|~是~web2c~的~home,一般為~ + |/usr/|\linebreak[1]|local/|\linebreak[1]|lib/|\linebreak[1]|texmf|), + 並將此目錄名改成~CJK~或適當的名稱。如果您不是使用較新版的~\TeX~(像~ + web2c,這些~\TeX~系統,提供了遞迴搜尋子目錄檔案的能力),則將~ + |texinput|~目錄下的所有檔案移至~\TeX~系統能找到的地方。例如: + \begin{verbatim} + $ cd /usr/local/lib/texmf/tex/latex + $ mv CJK CJK.old + $ cd /tmp/CJK + $ cd 4_1.0 + $ mv texinput /usr/local/lib/texmf/tex/latex/CJK + \end{verbatim} + 如果您不能以~root~的權限安裝,請以類似於下面的指令稍作修改(如果使用~ + |csh|),並建議將之加入~|.login|(用於~|/bin/csh|)或~|.profile|(用 + 於~|/bin/sh|)中,使得~\TeX~能搜尋到~CJK~目錄: + \begin{verbatim} + setenv TEXINPUTS: 你的 CJK 目錄名// + \end{verbatim} + 注意,若您所使用的~\TeX~系統不支援多層子目錄搜尋,則將確切的目錄名稱 + 群,加入至~|TEXINPUTS|~的環境變數中;或者將~|texinput|~目錄下及~ + |Bg5|~目錄下的所有檔案移至某個目錄中,並視此目錄為~CJK~目錄。 + + 例如(以~|sh|~指令為例): + \begin{verbatim} + (假設您想將 CJK 的 texinput 目錄移至 ~/CJK/texinput) + # cd ~/CJK (至 CJK 子目錄) + # mv texinput texinput.old (如果您有舊的 texinput 目錄,先備份) + # cd /tmp/CJK (至解開 CJK 的地方) + # cd 4_1.0 (至目前的版本下) + # mv texinput ~/CJK (將 texinput 子目錄移至 ~/CJK) + # TEXINPUTS=":~/CJK/texinput//" (定義環境變數) + # export TEXINPUTS (設為通用的環境變數) + \end{verbatim} +\item 參考第~\ref{sec:install-fonts}~節字型安裝,將~|.tfm|~檔,PK~字型 + 或~PS~字型安裝至適當的目錄下。 +\item 參考第~\ref{sec:install-.fd}~節安裝~|.fd|~檔,或參考~|fonts.txt|, + 並根據字型安裝的結果,設定相關的~|.fd|~檔。以本文針對的\bigfive中文而 + 言,必須修改~|c00kai.fd|(如果您將楷書字族設為~|kai|)、|c00fs.fd| + (如果您使用仿宋字族並定為~|fs|)…等相關檔案(亦可參考\ttftopk或 + \ntutocjk所提供的範例)。 +\item 在解開的~CJK~目錄中,進入~\texttt{utils/Bg5conv}~目錄中,編譯~ + |bg5conv.c|,如: + \begin{verbatim} + gcc -O -s -o bg5conv bg5conv.c + \end{verbatim} + 將產生的執行檔~|bg5conv|~連同~|bg5latex|~這個檔,移至~\TeX~系統中放 + 置執行檔的目錄中(如果權限足夠)。或置於個人的目錄中,並確定此目錄存 + 在於環境變數~|PATH|~中(或在~|PATH|~中增加一執行路徑,建議將此路徑的 + 設定加到~login~的啟始檔中)。 + + 例如: + \begin{verbatim} + # cd /tmp/CJK/4_1.0 + # cd utils/Bg5conv + # gcc -O -s -o bg5conv bg5conv.c + # mv bg5conv bg5latex ~/bin + # export PATH=$PATH:~/bin + \end{verbatim} + 注意,如果您有舊的~|bg5conv|~執行檔,請務必更新,因~4.0~以上的版本與 + 較早的版本不同(以~``|^^FF|''~為分界字元而不是~``|.|'')。 + +\item 進入子目錄~|doc/chinese|~中,測試您的設定: + \begin{verbatim} + # cd /tmp/CJK/4_1.0 + # cd doc/chinese + # bg5latex READMEb5.tex + \end{verbatim} + 看是否能順利完成編繹。 +\end{enumerate} + +\subsection{在~DOS~或~OS/2~系統下} +\label{sec:install-under-dos} + +\begin{enumerate} +\item 找個適當的目錄將取回的~CJK~壓縮檔解開。 +\item 將~CJK~系統中~|texinput|~目錄下的所有檔案(保持原目錄結構)移至~ + \TeX~系統能找到的地方,並將此目錄名改成~|CJK|~或適當的名稱。如果您不 + 是使用較新版的~\TeX(像~em\TeX,這些~\TeX~系統,提供了遞迴搜尋子目錄 + 檔案的能力),則將~|texinput|~目錄下與及您要使用的內碼目錄(Bg5)下 + 的所有檔案移至~\TeX~能找到的地方。 + + 以~em\TeX~系統為例,將~CJK~的~|texinput|~中的檔案移至~ + |c:\emtex\|\linebreak[1]|texinput\|\linebreak[1]|CJK\|\ldots,並以 + 下面的指令稍作修改,以使得~\TeX~能搜尋到~CJK~目錄: + \begin{verbatim} + set emtexdir=c:\emtex + set texinput=%emtexdir%\texinput!! + \end{verbatim} +\item 在~CJK~系統中的~|utils\|\linebreak[1]|Bg5conv|~目錄中,將~ + |bg5conv.|\linebreak[0]|exe|~連同~|bg5latex.|\linebreak[0]|bat|~移至~ + \TeX~的執行路徑~(|PATH|)~中的某個目錄(或增加一執行路徑)。 +\item 參考~\ref{sec:install-fonts}~安裝字型一節,將~|.tfm|~檔,PK~字型 + 或~PS~字型安裝至適當的目錄下。 +\item 參考~\ref{sec:install-.fd}~安裝~|.fd|~檔一節,根據字型安裝的結果, + 設定相關的~|.fd|~檔。(可參考\ttftopk或\ntutocjk所提供的範例)。 +\end{enumerate} + + +\section{字型安裝} +\label{sec:install-fonts} + +本文僅以由~True Type~字型產生的~PK~字型或~PS~字型為說明。字型之取得參 +考附錄~\ref{sec:getting-files}~之說明。 + +PK~字型(或~PS~字型)最好安裝在當你要升級~\TeX/\LaTeX~系統時不會影響的 +位置\footnote{事實上,最好將那些正常安裝~\TeX/\LaTeX~系統以後,你必需 + 額外修改或安裝的檔案及程式,都放在另外較私有的目錄中,然後再以~link~ + 的方式置放於原本應處的位置。在~DOS~下,字型檔以加在環境變數的路徑中 + 為主,其它的則以複製的方式取代~link。},因為一旦此類字型產生後,即可 +長時期的使用;另外,如果每次要升級~CJK~系統或~\TeX/\LaTeX~系統時,也可 +放心大膽的下手。 + +\subsection{PK~字型} +\label{sec:install-pk-fonts} + +\subsubsection{自動產生~PK~字型} +[尚未完成,請參考\ttftopk或\ntutocjk的安裝說明] + +\subsubsection{預先產生~PK~字型} +[尚未完成,請參考\ttftopk的安裝說明] + +\subsubsection{由~PS~字型產生~PK~字型} +參考~\ref{sec:install-ps-fonts} PS~字型一節。 + +\subsection{PS~字型} +\label{sec:install-ps-fonts} + +此處所指的~PS~字型為中文~PostScript Type 1~字型,如果再加上一個或二個 +的~PS~字型(以這些中文~Type 1~字型為基底所構成的字型),可組成~ +PostScript Type 0~的字型。但~\TeX~系統目前仍無法取用~Type 0~的字,所以 +本文也不會提及。另外直接取用~TTF~字型在未來也可能實現,例如~ +Ghostscript~在新的版本中(4.01)已能使用~TTF~字型。 + +以安裝楷書~PS~字型為例,簡述其流程如下(詳細請參考\ntutocjk中的~ +|README|~檔): +\begin{enumerate} +\item 每次針對一個字族(font family,如楷書)產生~|.tfm|~及~|.pfb|~檔 + 案。 +\item 修改字族相關的~makefile~檔,如修改~|kai.mak|~的內容(以下以楷書 + 為例)。 +\item 若您使用~UNIX~系統,輸入下面的指令 + \begin{verbatim} + make unix FONTMAK=kai.mak + \end{verbatim} + 若您在~DOS~下,請下: + \begin{verbatim} + make dos FONTMAK=kai.mak + \end{verbatim} + 若一切順利,應有~55~個的~|.pfb|~檔案和~55~個(或~110~個,如果~ + |EXTENDED_FONT|~是設~|YES|)|.tfm|~檔案,且~TFM~檔案的大小,每個約為~ + 1.2kB~左右。 +\item 下~|make install-fonts|~此指令,可將所有產生的字型安裝至您設定在~ + |kai.mak|~檔案中所指定的目錄中。您可能也需要以~|make install-maps|~ + 這個指令安裝~|Fontmap|~及~|psfonts.map|~等。 +\item 根據以上所定義字型相關的名稱,您必須修改~|c00kai.fd|~並移至~ + \TeX~找得到的目錄。或者修改~|c00kai.fdx|,如果~|EXTENDED_FONT|~是設 + 為~|YES|,移至適當目錄後,必須將其名稱改為~|c00kai.fd|。 +\end{enumerate} + +\subsubsection{由~PS~字型產生~PK~字型} + +由~PS~字型產生~PK~字型,通常您需要藉~|gsftopk|~或~|ps2pk|~來完成。 + +如果以~|gsftopk|~產生~PK~字,還需要~|gs|(Ghostscript)的輔助,因此在 +您案裝好~PS~字型後,記住要將字型所在的目錄名,加到~|GS_LIB|~這個環境變 +數中,或者將由\ntutocjk所產生~|.pfb|~檔,以~symbolic link~的方式,全部~ +link~到~|gs|~所定義的字型目錄中。 + +如果用~|ps2pk|,您需要~AFM~檔(在\ntutocjk製造~|.pfb|~檔案的過程中,會 +產生~AFM~檔)。最好取得最新的版本,以保証在讀取~PS~字型與~AFM~檔時,不 +致產生問題。 + +在您所使用的~\TeX/\LaTeX~系統中,大概都有~|MakeTeXPK|~這個檔,它的功用 +即是在系統發現某個~PK~字型不存在時,自動產生之。而此檔似乎不需特別的額 +外設定,都有自動由~PS~檔產生~PK~字型的功能。當然前提是這些~PS~字型必須 +出現在~|psfonta.map|~中,|MakeTeXPK|~用此檔中的字型判斷正要產生字是否 +為~PS~字型(其實這需要視您所安裝的相關系統而定)。 + +%\section{不同電腦平臺下之注意事項} +%\label{sec:platforms} + +%\subsection{DOS} +%\label{sec:platform-dos} + +%\subsection{UNIX} +%\label{sec:platform-unix} + +\subsection{安裝~\texttt{.fd}~檔} +\label{sec:install-.fd} + +當你要的字型(TFM~檔案、PK~字型、或~PS~字型)按照上述幾節方式安裝妥當 +後,您也須要適當地設定相關的~|.fd|~檔。本節將簡述之。 + +\LaTeXe~的~\textsf{NFSS}~規格中,要描述一種字型包含有下列參數: +\begin{enumerate} +\item Encoding:編碼方式,如~|T1|、|OT1|、|DC|~等。|U|~表示~unknown。 + CJK~系統的編碼方式(參考~|fonts.txt|)一為文件介面所用,如~|Bg5|、 + |GB|、|Bg5pmC|~等,一為~\textsf{NFSS}~所使用,如~|C00|、~|C10|、 + |C01|~等。此處,即定義在~|.fd|~檔中的編碼方式需使用後者。以吾人所使 + 用的\bigfive為例,~|C00|~是必需定義的。 +\item Family:字族,如~|cm|、|cmss|、|cmtt|~等,CJK~系統在安裝\bigfive的 + 字型需自行定義,但需符合~\textsf{NFSS}~的規定,即定義字族的字數不可 + 超過五個字母。您可參考包含在解開檔案中的範例,如~|c00kai.fd|。CJK~系 + 統以楷書、明體、棣書等表示字族。吾人可用~|kai|、|song|、|ming|、|fs|、 + |black|、|round|~等等表示\bigfive的字族。 +\item Series:字系列(橫向的尺寸),如~|m| (medium)、|b| (bold)、|bx| + (extended bold)~等,CJK~沿用此規格。 +\item Shape:字形狀,如~|n|、|sl|、|ol|、|it|~等。CJK~沿用之。 +\item Size:字大小(點數),如~|10|、|12|~等 +\item |\baselineskip|:相鄰兩行的基準線間距,大部分情況用不到此參數。 +\end{enumerate} + +根據以上的敘述,以下簡單介紹該檔的結構與語法,以~|c00kai.fd|(在~ +\texttt{texinput/Bg5}~目錄下)檔包含三個主要的指令: +\begin{enumerate} +\item |\ProvidesFile{c00kai.fd}{|{\em release-info}|}|:說明本檔名並避 + 免重複載入。 +\item |\DeclareFontFamily{C00}{kai}{}|:說明此檔以~|C00|~的編碼且描述~ + |kai|~字族。其中~|C00|~是~\textsf{NFSS} encoding。 +\item |\DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * b5ka}{}|:此命令的 + 第五個參數較複雜,可參考~|fonts.txt|~的說明。其中~|*|~號右的參數即是 + 一組字型檔名的字首,CJK~系統會在尾端加上二位數字,成為字型名稱 + (sub-font name),不論是~|.tfm|~檔、|.pfb|~檔或~|pk|~檔皆需與此名一 + 致。|CJK|~則是字型大小函數(size function),CJK~系統定義了數個此類 + 函數,如: + \begin{verbatim} + CJK 相當於 `' (empty) 意指使用字的大小與 latex 編譯的一致。 + sCJK 相當於 `s' 同上,但取字有誤時不警告(silent)。 + CJKfixed 相當於 `fixed' 若需求的字大小在定義的範圍內,一律 + 使用指定的字。 + sCJKfixed 相當於 `sfixed' 同上,但 keep silent。 + CJKsub 相當於 `sub' 以另一類字型替代。 + CJKssub 相當於 `ssub' 同上,但 keep silent。 + \end{verbatim} + 如此可以很方便的同時使用點陣字及向量字。 +\end{enumerate} + +最簡單的安裝方式就是,如果你是用\ttftopk來產生字型,則將其所提供的~ +|c00?????.fd|~複製到~\texttt{texinput/Bg5}~下;若是以\ntutocjk為主,亦 +同理為之;以此類推。 + +\subsection{輸出中文~\LaTeX~文件與字型的關係} +\label{sec:portability} + +此處所指的輸出包括從螢幕、檔案及紙張等。表~\ref{tab:soft-vs-fonts}~是 +本文所提及的一些軟出軟體與其所使用字型間的關係(除了特別說明外,軟體之 +版本大致皆為本文撰寫時最近的版本)。由此表可知,PK~字在預視時是不可或 +缺的,而~PS~字在列印包含有~PostScript~檔案(|.eps|、|.ps|~等)的文件時 +亦必需用到。 +\begin{table}[htbp] + \begin{center} + \leavevmode + + \begin{tabular}{|>{\ttfamily}c|c|c|c|} \hline + 輸出軟體 & 功能 & CJK PK~字型 + & CJK PS~字型 \\ \hline + xdvi & 預視 & \hookstroke + & \crossmark \\ + & & + & (能有一個預設字) \\ \hline + dvisvga & 預視 & \hookstroke + & \crossmark \\ \hline + dvips & 輸出至檔案或印表機 & \hookstroke + & \hookstroke \\ + (5.60~版本以下) & & + & (但為全部載入) \\ \hline + dvihp & 輸出至檔案或印表機 & \hookstroke + & \crossmark \\ \hline + gs & 預視及輸出 & \crossmark + & \hookstroke \\ \hline + \end{tabular} + + \caption{~\TeX~相關軟體與使用~CJK~字型間之關係。} + \label{tab:soft-vs-fonts} + \end{center} +\end{table} + +要產製一篇圖文並茂的文章,尤其是中文文章,字族(font family)與其尺寸 +大小(font size)的變化是不可或缺的。對輸出時必須的~PK~與~PS~字型而言, +若在此狀況下比較二者的差別,印表的方便性也可說是各有千秋;若在磁碟空間 +的使用上,可能就有所差異。因為同一字族但不同大小的字,PK~字型必需每種 +使用到的尺寸皆載入至其輸出檔中,而~PS~字型只需一次。 + +目前,文章中所有使用到的~PFB~字型,若要產生內含式的~PS~檔案 +(self-contained Postscript output),|dvips|~會全部載入至其輸出中。而 +下一次出版的~|dvips|~程式中,將可能針對其輸出檔中的此項缺點有所改進; +意即新的版本只會載入在文章中有使用到的字其在~|.pfb|~檔中所對應之定義的 +部分。(在筆者測試~|dvips| 5.60~版時,暫時無法成功地使用中文~CJK PS~字 +型,不過相信快了。) + +目前暫時可用~|fontload|~這個軟體,達成這個功能。 + + +\section{我的例子} +\label{sec:my-settings} + +目前我使用的是~Linux~作業系統,\TeX/\LaTeX~則使用~te\TeX~環境,相關的 +目錄如下: +\begin{itemize} +\item |/usr/local/lib/texmf| 存放~\TeX/\LaTeX~系統。 +\item |/usr/local/lib/ghostscript| 存放~Ghostscript。 +\item |/usr/local/lib/ntuttf| 存放~NTU TrueType~字型及由\ntutocjk所產 + 生的相關字型。 +\item |~/CJK/4_1.0| 存放解開的~CJK~系統。 +\end{itemize} + +我以正常的安裝程序,將~te\TeX~安裝在~|/usr/local/lib/texmf|;之後將~ +CJK~在我的~|$HOME/CJK|~下解開,CJK~軟體中所有的檔案便產生在~|CJK|~子目 +錄中\footnote{之所以將~CJK 安裝在自己個人的目錄下,是因為~CJK~常更新, + 不方便常請系統管理者頻頻改變設定。再加上為了自己檔案流通性的考慮,有 + 自己一份~CJK~的設定,個人認為,自己的~CJK~文件才會有較高程度的移植性。 + 若你又是系統中負責~CJK~軟體的人,甚或是整個~\TeX/\LaTeX~的維護者,在 + 自己私人的目錄下管理並定期更新~CJK,是個不錯的方式},例如: +\begin{verbatim} + % cd + % gunzip CJK-4.1.0.src.tar.gz | tar xvf - +\end{verbatim} +並做以下的處理: +\begin{enumerate} +\item 在~|~/CJK|~下建立一符號式的檔案連結(symbolic link),名為~ + |texinput|~且連結至目前~CJK~版本名下的~|texinput| , + \begin{verbatim} + % cd ~/CJK + % rm -f texinput + % ln -s 4_1.0/texinput texinput + \end{verbatim} +\item 編譯一個新的~|bg5conv|~執行檔。 + \begin{verbatim} + % cd ~/CJK/4_1.0/utils/Bg5conv + % gcc -O -o bg5conv bg5conv.c + % mv bg5conv bg5latex ~/bin + \end{verbatim} + 若不只是安裝給自己用,則可以~|root|~的身份~|cp|~至~|/usr/local/bin|~ + 目錄下。 +\item 在我的~|$HOME|~目錄下~|.cshrc|~檔中(因為我用的是~tcsh),增加一 + 行 + \begin{verbatim} + setenv TEXINPUTS ":~/CJK/texinput//" + \end{verbatim} +\item 產生~|.tfm|~檔及~|.pfb|~字型。在此我按照\ntutocjk中,一一~ + ``make''~出相對的~|.pfb|~字型,共~8~組,每組~55~個~ |.tfm|~及~|.pfb|~ + 檔。我將這些檔案移至~ + \texttt{/usr/local/lib/\linebreak[1]ntuttf/\linebreak[1]type1/}~及~ + \texttt{/usr/local/lib/ntuttf/afm/}~相關於其字族的目錄下。並將 + ~|config.CJK|~及~|CJK.map|~移至~|$TEXMF/dvips|~下。 +\item 設定~|.fd|~檔。因為我使用的是以~PS~字型為主的~PFB(由\ntutocjk產 + 生)及由其產生的~PK~字型(由~|gsftopk|~產生),所以我直接採用 + \ntutocjk所提供的~|c00|*|.fd|~檔,沒有作任何更改(因為我有責任使它與 + 我的工作環境一致 :-)。我將其移至~|~/CJK/texinput/Bg5/|~目錄下。 +\end{enumerate} + +\subsection{建立文稿} +\label{sec:creating-tex} + +中文~CJK \TeX~文稿與一般~\TeX~文稿的不同主要在於: +\begin{itemize} +\item 在所謂~\LaTeX~文件的~preamble(|\documentclass|~至~ + |\begin{document}|)區域中,必須有~|\usepackage{CJK}|~這個命令,即必 + 須載入~|CJK.sty|。 +\item 中文字必須在~|CJK|~或~|CJK*|~的中文環境中。即: + \begin{verbatim} + \begin{CJK*}{}{} + 中文段落、章節、圖形、表格、參考文獻、…等 + ... + \newpage + \end{CJK*} + \end{verbatim} +\item 要變換字型可用~|\CJKfamily|~命令,如~|\CJKfamily{fs}|~將以下的字 + 型改成仿宋字(當然~|fs|~這個字形名稱必須定義在~|c00fs.fd|~中)。 +\end{itemize} + +我的用法都是以一個中文環境包住所有的文章內容,如圖~ +\ref{fig:my-example}~所示。 + +\newsavebox{\myex} +\begin{lrbox}{\myex} + \begin{minipage}{.9\textwidth} + \footnotesize + \begin{verbatim} + \documentclass[12pt]{article} + \usepackage{CJK} + + \begin{document} + \begin{CJK*}{Bg5}{fs} + \CJKtilde + + \section{第一節} + \label{sec:section-1} + 參考圖~\ref{fig:apply-pk-and-ps-fonts}。 + + \begin{figure}[htbp] + \begin{center} + \leavevmode + \includegraphics{pkpsapps.eps} + \caption{|pk|~字型與~|.pfb|~字型的應用對應圖} + \label{fig:apply-pk-and-ps-fonts} + \end{center} + \end{figure} + + \bibliographystyle{plain} + \bibliography{mybib} + + \newpage %使有正確的中文輸出。 + \end{CJK*} + \end{document} + \end{verbatim} + \end{minipage} +\end{lrbox} + +\begin{figure}[htbp] + \begin{center} + \leavevmode + \fbox{\usebox{\myex}} + \caption{我的~CJK~文件範例。} + \label{fig:my-example} + \end{center} +\end{figure} + +\subsection{以~\LaTeXe\ CJK~編排版面} +\label{sec:clatexing} + +就同一般的~\LaTeX~檔一樣,但以~|bg5latex|~取代~|latex|,如: +\begin{verbatim} + % bg5latex mylatex.tex + 或者 + % bg5latex mylatex +\end{verbatim} + +\subsection{預覽} +\label{sec:preview} + +大部分情況下我以~|xdvi|~預覽~|.dvi|~檔(在~Emacs~或~Mule~中若使用~ +AUC\TeX~這套軟體,更能顯出其突出的地方,尤其是只預覽文章中的一塊區域, +隨時可檢視該區域的排版情形)。 + +另外,我也會視情況用不同的預視程式。比如在~Linux~的~virtual terminal +mode~我以~|dvisvga|~預視。在缺乏~|pk|~字型或沒有~|xdvi|~的少數情形下, +我也用~|ghostview|~預視經由~|dvips|~產生的~|.ps|~檔案。 + +\subsection{列印} +\label{sec:printing} + +產生及列印~|PostScript|~檔案是我最常用的方式,因為在我的文章中,圖形是不 +可少的資料,而它們幾乎都是~|.eps|~的格式(由~|xfig|、AutoCAD、|GnuPlot|、 +|xv|、…等所產生)。所產生的~|.ps|~檔,或者是由~PostScript~印表機,亦或 +者透過~ Ghostscript~的轉換,而輸出到~Laserjet~或~Deskjet~甚或到點陣式印 +表機去。 + +一般而言,以~|dvips cjk-doc|~會產生可列印的輸出,再以~|lpr cjk-doc.ps|~ +的印表指令列印即可。但您若不願產生中文~PK~字型,且您不是使用~PostScript~ +印表機,又用\ntutocjk安裝~PS~字型,也針對~ Ghostscript~的設定安裝好這些 +字型,而且您的印表趨動程式能以~|gs|~為主(Linux系統上多數都以此方式設定), +則你可以直接以~|lpr|~這個命令列印~ |.ps|~檔(甚至是~|.dvi|~檔)。如: +\begin{verbatim} + % dvips -P CJK cjk-doc + % lpr cjk-doc.ps +\end{verbatim} + +以~|dvihp|~產生列印檔也是方式之一,其輸出格式為~PCL,或是~HP~印表機的格 +式。但因無法處理文章中包含的~PostScript~檔案,所以我並不常用。 + +當要產生可攜的列印檔案格式(self-contained PostScript file),我會以產生~ +Post\-Script~(|.ps|)的格式為主。字型來源之一是由預視後自動產生的~PK~ +字型作為~ |dvips|~的輸入字型。此方式可以下列命令完成: +\begin{verbatim} + % dvips cjk_doc -o cjk-doc-contains-pk-fonts.ps +\end{verbatim} +此時~|psfonts.map|~中需不含\ntutocjk所產生的中文字型(CJK 4.0 以上的版本 +中所含的\ntutocjk,預設為此情形),|dvips|~才會取用中文~PK~字,或如果中 +文~PK~字型不存在的話,會自動產生之。在使用~|xdvi|~或相關軟體預視時,因以~ +PK~字型為主,在字型找不到的情況下,亦會自動產生之。 + +另外則是令~|dvips|~取用中文~PS~字,在按照\ntutocjk中說明安裝後,所有的中 +文~PS~字的對應檔會存在於~|CJK.map|~檔中。若要以此方式產生可攜式的~|.ps|~ +檔,必須進一步地以~|gs|~或~|fontload|~等類似的軟體,將~PS~字型載入到輸出 +的檔案中。若以~|fontload|~而言,在~UNIX~系統下,可以下面的指令達成: +\begin{verbatim} + % dvips -P CJK -o cjk-doc-no-ps-fonts-contained.ps cjk_doc.dvi + % fload cjk-doc-no-ps-fonts-contained.ps > cjk-doc-contains-ps-fonts.ps + % lpr cjk-doc-contains-ps-fonts.ps +\end{verbatim} +此時~|cjk-doc-contains-ps-fonts.ps|~或~|cjk-doc-contains-ps-fonts.ps|~就 +是完整的~PS~檔案了,也就是說,您可以丟到任何一台支援有列印~PostScript~檔 +案的印表機或程式了。 + +以上就是我個人對~CJK~中文~\LaTeX~系統的設定,有人願意提供自己的安裝經驗嗎﹖ + + +\section{問題解決} +\label{sec:trouble-shooting} + +在使用預覽程式的時候,可能會遇到的問題與其解決的方式如下: +\begin{itemize} +\item PK~字型找不到。 +\item 不會自動產生~PK~字型。 +\end{itemize} + +[許多問題與其解決方式尚未整理納入] + + +%\section{其他} +%\label{sec:misc} + + +\section{感謝} +\label{sec:acknowledgements} + +\begin{itemize} +\item 有這麼多人,貢獻許多心力,完成許多方便且內容豐富的程式。 +\item 有更多的使用者,使用這些程式,使他們更上層樓。 +\item 這種特別的相互影響,生生不息地循環著,才提升了我們的生活層面。 +\end{itemize} + + +%\section{本文作者} +%\label{sec:the-author} + +%李君宇 (Chun-Yu Lee) +%d791013@ce.ntu.edu.tw 或 \\ +%chunylee@ms1.hinet.net + + +%\bibliography{READMEb5} +%\bibliographystyle{plain} + + +\begin{thebibliography}{1} + +\bibitem{latex-companion:1993} +Michel Goossens, Frank Mittelbach, and Alexander Samarin. +\newblock {\em The \LaTeX Companion}. +\newblock Addison Wesley, 1993. + +\bibitem{tex-faq:1.9c} +Bobby Bodenheimer. +\newblock The new \TeX\ FAQ --- your 100 questions answered: + Version 1.9c, date 1994/12/06. +\newblock 1994. + +\bibitem{latex2nd} +Leslie Lamport. +\newblock {\em \LaTeX\ --- A Document Preparation System --- User's + Guide and Reference Manual}. +\newblock Addison Wesley, 2 edition, 1994. + +\end{thebibliography} + + +\appendix +\section{名詞解釋} +\label{sec:terms} + +下列名詞為本文中所使用,並局限於下列意思: + +\begin{description} +\item[PK~字型:] PK fonts。一種壓縮過的點陣字型格式。廣泛使用在~ + TeX/\LaTeX~需要輸出點陣字的地方。如預視或列印輸出。在此偏指中文~CJK + PK~字型。 +\item[PS~字型:] PostScript Type 1 fonts。PostScript~字有數種型式,本文 + 意指~Type 1~字型。其有兩種格式:PFA (Printer Font Ascii)~及~PFB + (Printer Font Binary)。在此偏指中文~CJK PS~字型。 +\item[主機、工作站:] A host computer, work station, etc。泛指某臺提供 + 資源或服務的電腦。如~FTP~站。 +\item[CTAN:] Comprehensive \TeX\ Archive Network。本文指收集幾乎所有有 + 關~TeX/\LaTeX~系統及文件的~FTP~站。目前已知的~CTAN~詳列於附錄~ + \ref{sec:ctan-mirrors}。 +\item[IFCSS:] The CCIC (Chinese Community Information Center) of IFCSS + (Independent Federation of Chinese Students and Scholars)。附錄~ + \ref{sec:ifcss-mirrors}~中是幾個有名的~ifcss~站。 +\item[AFM~檔案:] Adobe Font Metrics。存有編碼及字範圍等資料。 +\item[TFM~檔案:] \TeX\ Font Metrics。 +\item[|.fd|~檔案:] 字型描述檔~(font description files)。記錄相關於某一 + 種內碼。 +\item[GS~或~GhostScript:] 常用的~PostScript~語言解譯器(interpreter) + 之一。 +\item[|afm2tfm|:] 將~AFM~檔案格式轉換成~TFM~檔案格式的程式。 +\item[一組字型檔:] 如果是使用壓縮過的字型,即不是使用~pmC~開頭的字族, + 共有~55~個子字型檔。例如:|b5ka01.pfb|、|b5ka02.pfb|、…、 + |b5ka55.pfb|。 +\item[\textsf{NFSS}:] New Font Selection Scheme。由~Frank Mittelbach~ + 和~Rainer Sch\"opf~所提出的字型選擇系統。 +\end{description} + +\section{檔案取得} +\label{sec:getting-files} + +\begin{description} +\item[\LaTeXe~執行環境:] 一般皆有成套的系統供使用者簡單安裝,如在~DOS~ + 下的~em\TeX;在~Linux~下有~N\TeX、~te\TeX~等;UNIX~上則如~web2c~的版 + 本等。這些都散在~CTAN~的目錄下。譬如~em\TeX~在~ + |systems/|\linebreak[1]|msdos/|\linebreak[1]|emtex|~中;N\TeX~在﹖﹖; + web2c~的版本在﹖﹖。\LaTeXe~系統本身則在~CTAN: + |macros/|\linebreak[1]|latex/|\linebreak[1]|base|~下。 +\item[\LaTeXe~CJK~系統:] CTAN: |language/chinese/CJK|~或~IFCSS host: + |tex/|\linebreak[1]|CJK.X_X.|\linebreak[1]|tar.gz|。 +\item[NTU TrueType~字型:] IFCSS host: |fonts/big5/ms-win|。將楷書、明 + 體、仿宋體等部分(或全部)的~ARJ~檔取回後,參考與這些字型在同一目錄 + 的說明檔(或參考附在\ntutocjk中的~|README|~檔),將其還原成個別~TTF~ + 字型。 +\item[\textsf{ntu2cjk, ttf2pk}:] 字型產生程式。它包含在~“\LaTeXe\ CJK~ + 系統”中。 +\item[GhostScript:] CTAN: + |support/|\linebreak[1]|ghostscript/|\linebreak[1]|aladdin|~或~ + |support/|\linebreak[1]|ghostscript/|\linebreak[1]|gnu|。 +\item[|dvips|:] CTAN host: UNIX~版在~|dviware/dvips|;DOS~版在~ + |systems/msdos/|\linebreak[1]|dviware/|\linebreak[1]|dvips/|% + \linebreak[1]|dvips558.pc|。 +\item[|afm2tfm|:] 包含在~dvips~系統中。 +\item[|ps2pk|:] CTAN: |fonts/utilities/ps2pk|,或包含在一般套裝的~ + \TeX/\LaTeX~系統中。 +\item[|gsftopk|:] CTAN: |fonts/utilities/gsftopk|,或包含在一般套裝的~ + \TeX/\LaTeX~系統中。 +\item[|dvi2|xx:] 如~|dvilj|、|dvidm|、…。在~CTAN: |dviware|~目錄下。 +\item[AUC\TeX:] CTAN: |support/auctex|~目錄中的~ + |auctex.tar.gz|\linebreak[1](~unix~)或~|auctex.zip|~(dos)。 +\item[|fontload|:] CTAN: |fonts/utilities/fontload|。 +\item[Mule~的中文輸入法:] IFCSS: |mule/lisp/quail-b5|。 +\end{description} + + +\section{其他相關的軟體與工具} +\label{sec:other-stuffs} + +\subsection{在~Linux~系統上的\bigfive中文系統及模擬終端機程式} +\label{sec:chinese-systems} + +\begin{itemize} +\item chdrv +\item yact +\item CXterm +\item xcin +\end{itemize} + +\subsection{中文編輯\ -- Mule} +\label{sec:mule} + +使用~Mule~為編輯中文~\LaTeX~文件的工具的使用者,可將下面的設定加至~ +|$HOME/|\linebreak[1]|.emacs|~檔中: +\begin{verbatim} + ;;; Chinese Big-5 environment + (set-primary-environment 'chinese) + (set-default-file-coding-system '*big5*) + (setq display-coding-system '*big5*) + (setq keyboard-coding-system '*big5*) + ;; input methods + (add-hook 'quail-package-alist '("tsangchi-b5" "quail/tsangchi-b5")) + (add-hook 'quail-package-alist '("quick-b5" "quail/quick-b5")) + ; the default input method + (setq-default quail-current-package + (assoc "tsangchi-b5" quail-package-alist)) +\end{verbatim} + +切換中英文輸入可按~|C-]|,要選擇其他的輸入法可按~|M-s|(|Alt-s|)。 + +設定輸入法時可選擇自己習慣的。在~IFCSS Mule~的目錄中(參考第~ +\ref{sec:getting-files}~節)有一些中文輸入法,其中包括有: +\begin{center} + \begin{tabular}{ll}\hline + 檔案 & 對應之輸入法 \\\hline + cns-b5-input.tar.gz & 內含~|tsangchi-b5.el|(倉頡)及 \\ + & |quick-b5.el|(簡易)等輸入法 \\ + zozy.el.gz & 零壹注音 \\ + cj.el.gz & 倉頡 \\ + simplex.el.gz & 簡易 \\ + punct-b5.el.gz & 標點符號 \\ + qj-b5.el.gz & 全形 \\ + etzy.el.gz & 倚天注音 \\ + boshiamy.el.gz & 嘸蝦米 \\ + array30.el.gz & 行列~30 \\\hline + \end{tabular} +\end{center} + +以上為較常見的輸入法。該目錄中亦包含下列輸入法: +\begin{center} + \begin{tabular}{ll} \hline + 檔案 & 對應之輸入法 \\\hline + 4corner.el.gz & 四角號碼 \\ + ctlaub.el.gz & 劉錫祥式粵音 \\ + ecdict.el.gz & 英漢辭典 \\ + hs.el.gz & 華象 \\ + hsu.el.gz & 許氏注音 \\ + py-b5.el.gz & 漢語拼音 \\ + roman.el.gz & 羅馬拼音 \\\hline + \end{tabular} +\end{center} + + +鍵好的~\LaTeX~文件檔,可執行~|bg5latex|~編譯。亦可利用~|cjk-enc.el|~這個~ +Emacs Lisp~檔,將文件先行轉換成~|.cjk|~檔,再以~|latex|~進行編譯。作法是 +在~|~/.emacs|~檔案中加入下列數行(其中函數~ |write-cjk-file|~請參考~ +|cjk-enc.txt|~): +\begin{verbatim} + (load-library "cjk-enc") + + (defun write-cjk-file () + "Save current buffer and <buffername>.cjk in *cjk-coding*" + (interactive) + (setq coding file-coding-system) + (setq bufname (buffer-file-name)) + (string-match "\\(.*\\)\\.[^/]*$" bufname) + (setq body (substring bufname 0 (match-end 1))) + (setq newbufname (concat body ".cjk")) + (message "Saving %s and %s" bufname newbufname) + (write-file newbufname *cjk-coding*) + (write-file bufname coding)) +\end{verbatim} +之後便可在每次要執行~|latex|~前,用~|M-x write-cjk-file|~命令先存檔, +然後再以~|latex|~編繹主檔名與您的文件主檔名一樣,但延伸檔名為~|.cjk|~ +的檔案。 + +\subsection{\TeX/\LaTeX~的好幫手\ -- AUC\TeX} +\label{sec:auctex} + +簡易指引: +\begin{enumerate} +\item 照第~\ref{sec:mule}~節的方式將~Mule~設定妥當。 +\item 按照~AUC\TeX~的安裝指示安裝。或按照~AUC\TeX~的~default~方式安裝。 + 下列數項可做可不做。 +\item 建立一個~|bg5latex-batch|~檔,分別如下: + \begin{verbatim} + #! /bin/sh + f=`echo $1 | sed -e 's|\(.*\)\.[^/]*$|\1|'` + bg5conv < $1 > $f.cjk + latex \\nonstopmode\\input{$f.cjk} + \end{verbatim} +\item \label{CJK-C-cC-c}在~|.emacs|~中加入: + \begin{verbatim} + (setq TeX-command-list + (append TeX-command-list + '(("CLaTeX" "bg5latex-batch %s " TeX-run-LaTeX nil t) + ("CLaTeX Interactive" "bg5latex %s " TeX-run-interactive nil t) + ("CPrint" "fload %f | lpr" TeX-run-command t nil) + ))) + \end{verbatim} + 則可在執行~|C-c C-c|~或~|C-c C-r|~時,在要輸入~|LaTeX|~的時機,輸入~ + |CLaTeX|。 +\item 在~|.emacs|~中加入下列數行,以便您的文件在排版時(全文則執行 + ~|C-c C-c CLaTeX|~,區域用~|C-c C-r CLaTeX|),若有錯誤可用~|C-c `|~ + 查驗錯誤所在,並可更正之。 + \begin{verbatim} + (add-hook 'TeX-translate-location-hook + '(lambda () + (if (string-match "\\(.*\\)\.cjk$" file) + (setq file + (concat + (substring file + (match-beginning 1) + (match-end 1)) + ".tex"))))) + \end{verbatim} +\item 或者您考慮用~|cjk-enc.el|,則在~|.emacs|~中加入下列數行: + \begin{verbatim} + (defun TeX-run-CJK-LaTeX (name command file) + "Create a process for NAME using COMMAND to format + FILE with CJK/LaTeX." + (write-cjk-file) + (TeX-run-LaTeX name command file)) + + (if (not (assoc "CJKLaTeX" TeX-command-list)) + (setq TeX-command-list + (append TeX-command-list + '(("CJKLaTeX" "%l '\\nonstopmode\\input{%s.cjk}'" + TeX-run-CJK-LaTeX nil t) + )))) + \end{verbatim} + 只要將上述使用~|CLaTeX|~的時機,改成使用~|CJKLaTeX|~即可。查錯同樣用 + ~|C-c `|~。 + + 但要注意,使用~|CJKLaTeX|~時,文件中請不要使用~|\usepackage{CJK}|~或 + 類似的命令。 +\end{enumerate} + +注意,上述步驟只適用單一~CJK \LaTeXe~文件。 + +% Not ready yet... +%如果在您的文件中有用到~|\include|~這個命令,而您仍想用到~AUC\TeX~的功能, +%可作如下的目錄安排: + +% ./ ==> 本層目錄,原始文件之放置目錄。 +% ../ ==> 上層目錄,置放由~latex~前由~bg5conv~轉換過的~|.cjk|~檔(因此 +% 若在此上層目錄中有原始文件,則需特別注意,不要使用與本層目錄中同名的 +% 文件)。另外包含一~|Makefile|~(參考圖~ +% \ref{fig:makefile-for-multifile-latexing}~之例子),其內容主要為在每 +% 次~latex~前,更新~|.cjk|~檔。 + +% \begin{verbatim} +% #! /bin/sh +% make bg5conv +% cd CJK +% latex \\nonstopmode\\input{$1} +% \end{verbatim} + + +% \begin{lrbox}{\myex} +% \begin{minipage}{.9\textwidth} +% \footnotesize +%\begin{verbatim} +%TEXs = abstract.tex archi.tex codebase.tex conclude.tex details.tex \ +% dsgnbase.tex engtool.tex examples.tex introd.tex kb_lsp.tex \ +% pjfinal.tex prg_gi.tex prg_s2c.tex related.tex represnt.tex \ +% sscdcb.tex sscddb.tex sscdgi.tex sta2con.tex title_pg.tex +%MISC = Makefile LaTeXsrc +%RCSs = $(wildcard $(SRCDIR)/*,v) + +%SRCDIR = CJK + +%.PHONY: check_srcdir bg5conv default + +%.DEFAULT: .tex .sty .bib .dvi .ps .lj .toc .lof .lot + +%default: +% @echo "There are the following targets:" +% @echo " bg5conv : Big5 CJK LaTeX file converted to LaTeX file." + +%bg5conv: check_srcdir $(TEXs) + +%check_srcdir: +% @if [ -f LaTeXsrc ]; then \ +% echo "Don't make at the LaTex source directory!"; \ +% echo "Copy the Makefile to upper directory and make there."; \ +% echo "e.g., cp Makefile ..; cd ..; make"; \ +% exit 1; \ +% fi +% @if [ ! -d $(SRCDIR) ]; then \ +% echo "$(SRCDIR) not found!"; \ +% exit 1; \ +% fi + +%$(TEXs): %.tex : $(SRCDIR)/%.tex +% bg5conv < $< > $@ +%\end{verbatim} +% \end{minipage} +% \end{lrbox} + +% \begin{figure}[htbp] +% \begin{center} +% \leavevmode +% \framebox[.9\texwidth]{\myex} +% \caption{應付多重~CJK~文件檔的~Makefile~範例。} +% \label{fig:makefile-for-multifile-latexing} +% \end{center} +% \end{figure} + + + +\section{CTAN在各地的檔案區} +\label{sec:ctan-mirrors} +(本節摘自~CTAN host~上的~README.mirrors) + +為減少網路上的負荷,建議所有使用~CTAN~資源的網友,能使用當地的或最近的~ +CTAN host。 + +目前已知複製部分~CTAN~檔案的~FTP~站: +\begin{verbatim} + ftp.fcu.edu.tw (Taiwan) /pub2/tex + gate.sinica.edu.tw (Taiwan) /TeX + ftp.adfa.oz.au (Australia) /pub/tex/ctan + ftp.germany.eu.net (Deutschland) /pub/packages/TeX + ftp.uu.net (Virginia, USA) /pub/text-processing/TeX + nic.switch.ch (Switzerland) /mirror/tex + sunsite.dsi.unimi.it (Italia) /pub/TeX + sunsite.snu.ac.kr (Korea) /shortcut/CTAN +\end{verbatim} + +目前已知複製全部~CTAN~檔案的~FTP~站: +\begin{verbatim} + dongpo.math.ncu.edu.tw (Taiwan) /tex-archive + ftp.ccu.edu.tw (Taiwan) /pub/tex + cis.utovrm.it (Italia) /TeX + ctan.unsw.edu.au (NSW, Australia) /tex-archive + ftp.center.osaka-u.ac.jp (Japan) /CTAN + ftp.cdrom.com (West coast, USA) /pub/tex/ctan + ftp.comp.hkbu.edu.hk (Hong Kong) /pub/TeX/CTAN + ftp.cs.rmit.edu.au (Australia) /tex-archive + ftp.cs.ruu.nl (The Netherlands) /pub/tex-archive + ftp.cstug.cz (The Czech Republic) /pub/tex/CTAN + ftp.duke.edu (North Carolina, USA) /tex-archive + ftp.ee.up.ac.za (South Africa) /tex-archive + ftp.funet.fi (Finland) /pub/TeX/CTAN + ftp.gwdg.de (Deutschland) /pub/dante + ftp.jussieu.fr (France) /pub4/TeX/CTAN + ftp.loria.fr (France) /pub/unix/tex/ctan + ftp.mpi-sb.mpg.de (Deutschland) /pub/tex/mirror/ftp.dante.de + ftp.nada.kth.se (Sweden) /pub/tex/ctan-mirror + ftp.rge.com (New York, USA) /pub/tex + ftp.riken.go.jp (Japan) /pub/tex-archive + ftp.tu-chemnitz.de (Deutschland) /pub/tex + ftp.uni-augsburg.de (Deutschland) /tex-archive + ftp.uni-bielefeld.de (Deutschland) /pub/tex + ftp.unina.it (Italia) /pub/TeX + ftp.uni-stuttgart.de (Deutschland) /tex-archive (/pub/tex) + ftp.univie.ac.at (\"Osterreich) /packages/tex + ftp.u-aizu.ac.jp (Japan) /pub/tex/CTAN + ftpserver.nus.sg (Singapore) /pub/zi/TeX + kadri.ut.ee (Estonia) /pub/tex + src.doc.ic.ac.uk (England) /packages/tex/uk-tex + sunsite.icm.edu.pl (Poland) /pub/CTAN + sunsite.queensu.ca (Canada) /pub/tex-archive + sunsite.unc.edu (North Carolina, USA) /pub/packages/TeX + wuarchive.wustl.edu (Missouri, USA) /packages/TeX +\end{verbatim} + +兩個主要的~CTAN~主機: +\begin{verbatim} + ftp.dante.de (Deutschland) + -- anonymous ftp + /tex-archive (/pub/tex /pub/archive) + -- gopher on node gopher.dante.de + -- e-mail via ftpmail@dante.de + -- World Wide Web access on www.dante.de + -- Administrator: <ftpmaint@dante.de> + + ftp.tex.ac.uk (England) + -- anonymous ftp + /tex-archive (/pub/tex /pub/archive) + -- gopher on node gopher.tex.ac.uk + -- NFS mountable from + nfs.tex.ac.uk:/public/ctan/tex-archive + -- World Wide Web access on www.tex.ac.uk + -- Administrator: <ctan-uk@tex.ac.uk> +\end{verbatim} + + +\section{IFCSS~在各地的~FTP~站} +\label{sec:ifcss-mirrors} + +主要的~IFCSS~站: \verb|ftp.ifcss.org:/pub/software| + +其他的~FTP~站: +\begin{verbatim} +Taiwan: ftp.edu.tw:/Chinese/ifcss/software [full] + ftp.ntu.edu.tw:/Chinese/ifcss/software [full] + iiiafs.iii.org.tw:/Chinese/ifcss/software [full] +CHINA, + Beijing: info.bta.net.cn:/pub/software [partial] + Guangdong: + info.gz.gdpta.net.cn:/pub/mirror/chnsoftware [partial] + Shanghai: info.sta.net.cn:/pub/software [partial] +HONG KONG,: ftp.cuhk.hk:/pub/chinese/ifcss/software [full] +SINGAPORE,: ftp.technet.sg:/pub/chinese [full] +USA, + California: cnd.org:/pub/software [full] + New Mexico: phaiakon.nmsu.edu:/pub/software [full] +\end{verbatim} + +%% start of trailer +\newpage +\end{CJK*} + +\end{document} + +%% Local Variables: +%% TeX-header-end: "%+ *[Ee]nd[ -]*[oO]f[ -]*[hH]eader" +%% TeX-trailer-start: "%+ *[Ss]tart[ -]*[oO]f[ -]*[tT]railer" +%% TeX-command-default: "CLaTeX" +%% TeX-master: t +%% End: |