嚴格說起來,我現在已經不會建議初學者使用 cwTeX 來編寫中文 LaTeX 文件,;這並不是說 cwTeX 不好,而是與 unicode-based 的 XeLaTeX 系統相比 cwTeX 的體質顯得不夠好,入門難度較高(如果想使用 Winedit 或 Crimson Editor 以外的文字編輯器,你就必須自己編寫 batch script 來呼叫 cwTeX 跟其他的 LaTeX 指令來幫你編譯,對於基礎不佳的初學者來說真的很頭大),甚至有某個早期版本的 cwTeX 可以編出無法搜尋無法複製文字內容的 pdf 文件,比如下面這個例子:
|
這種奇妙的 bug 主要在於 cwTeX 是類似超級外掛一樣的存在,將中文字碼轉譯成 LaTeX 可以處理的字碼並且嵌入版面,使最終得到的向量描述頁面缺少最原始的中文編碼資訊,所以直接複製會得到亂碼,因為打開的 pdf 檔中根本沒有 cwTeX 轉譯的規則。當初覺得這個缺點很討厭,甚至一度改用 CJK package 來避開這個缺點(在網路上找到把 cwTeX 的字型轉成 CJK 套件可以使用的方式,沒記錯的話應該是蔡炎龍的教學),現在想想這搞不好才是 cwTeX 最強大的應用: 你可以用它編出無法被簡單複製的 LaTeX 版面 PDF 文件耶! 對於很討厭 copy&paste 的人來說這個根本是超強的防盜功能(比如說編寫講義的老師很討厭學生寫作業的時候直接 copy 引用大量講義內容,覺得學生這樣很沒誠意),不需要額外轉檔與程式就可以輕易製作此類文件,實在是居家旅遊必備良品哪!
我並不是在酸 cwTeX 系統有多差,相反地,我使用 cwTeX 編輯過的文件量相當大(超過生涯總量的三分之一)。在 2009 年以前 cwTeX 幾乎打遍天下無敵手,安裝難度遠低於其他中文解決方案(主要原因在於作者吳聰敏、吳聰慧老師編寫的中文使用說明手冊過於強大,強大只要你接受他對於中文字體的排版邏輯,你就可以照本宣料用 cwTeX 編出一本完整的書籍),即便你對於 LaTeX 一無所知,還是可以透過它的使用手冊學習 TeX 排版系統的核心概念,等你熟悉 cwTeX 的操作之後(標題、章節名都需要重定義,還用了不少 \renewcommand ),要跳槽到其他系統或者使用更多 package 都不成問題。
整體上我使用中文 LaTeX 系統的歷史大概是這樣子:
cwTeX (2007-2011) -> CJK package (2010-2011) -> XeLaTeX (2011 - now)
有一段時期我 cwTeX 跟 CJK package 混用,大約是 MikTeX 2.8版之後, XeLaTeX 開始流行的時候才固定使用 XeLaTeX(畢竟 MikTeX 一裝好就可以直接用,非常方便)。每個時期都有編過 50 頁 up 的文件,基本上只要整個環境(程式,字體安裝與相關設定等等)建立好,編寫過程都差不多,只不過 cwTeX 需要事先呼叫 cwTeX 來預編譯 TeX 文檔罷了。 只要使用同樣的字型,同樣排版指令製造出來的中文文件看起來簡直完全相同。
一個典型 cwTeX 的全文設定大概是這個樣子:
\documentclass[12pt,twoside,a4paper]{book}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{amsmath}
%\usepackage{srcltx}
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{bm}
\makeindex
%\usepackage[cam]{crop}
%\usepackage[sf]{titlesec}
%\titleformat{\chapter}[hang]{\LARGE}{\thechapter}{0.3 cm}{}
%\includeonly{preamble,chap10}
\usepackage{fancyhdr}
\pagestyle{headings}
\renewcommand{\chaptermark}[1]{\markboth{\ctxff 第\thechapter章 #1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\usepackage{titlesec}
\titleformat{\chapter}[hang]{\LARGE\bf}{\ctxfmu 第\ \thechapter\ 章}{0.9cm}{}
\usepackage[textwidth=14cm,textheight=21cm,left=3cm,top=5cm,bottom=4cm,twoside]{geometry}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand{\tablename}{\m13 表}
\renewcommand{\figurename}{\m13 圖}
\renewcommand{\contentsname}{\f21 目次}
\renewcommand{\bibname}{\f21 參考文獻}
%\renewcommand{\appendixname}{\f21 附錄}
%\renewcommand{\headrulewidth}{0pt}
%\renewcommand{\footrulewidth}{0pt}
\ctxfdef{\chapter}{\ctxff}
\ctxfdef{\section}{\ctxff}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
%\bibliographystyle{unsrt}
%\include{preamble}
%\frontmatter
%\include{preface}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\fontsize{12}{20pt}\selectfont
%\mainmatter
%\include{chap1}
%\include{chap2}
%\include{chap3}
%\include{chap4}
%\include{chap5}
\include{chap6}
%\include{chap7}
%\include{chap8}
%\include{chap9}
%\include{chap10}
%\include{chap11}
%\include{chap12}
\include{appendix1}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\backmatter
%\bibliography{gp}
%\printindex
\end{document}
至於指令我就不細講了,中文使用說明手冊 說的絕對比我清楚;對於一個新手來說,\renewcommand 根本看不懂(至少我剛開始寫的時候真的不懂,導致我第一份 10 來頁 嘗試性的 cwTeX 文件編了七八個小時才好,可以出問題的程式碼太多以至於很難 debug),即便是 2009 年以前我也很少建議新手使用 cwTeX, 寧願教他們直接寫英文 LaTeX,畢竟要在自己的電腦上建立一個完整的 cwTeX 環境(軟體、適合自己使用的範本)並不容易。
一個完整的 cwTeX 書籍編寫範例(200 page+)
比較諷刺地方在於我沒有保留當初編譯出來的 pdf,居然只能在網路上找到某個時間點更新放出的檔案,我還沒有辦法把它載下來 Orz...(最近找到了 20130529) http://www.doc88.com/p-332430433213.html 仔細想想其實只要把全文設定改掉,用 XeLaTeX 的範本重新載入各個章節就好了(不過當初的設定的一些格式就消失了) |
|
CJK package 時期的寫的一些中文檔案如果要重製我多半會改成 XeLaTeX (裝字型很麻煩,當初找來的那套 cwTeX 專用自行現在也越來越難找),以下還是留個簡單的例子讓大家回味一下:
\documentclass[a4paper,oneside,12pt]{book}
%\usepackage{CJK}
%\usepackage{xeCJK}
\usepackage{fontspec}
\setmainfont{cwTeX 明體}
%\setCJKmainfont{cwTeX 明體}
\usepackage{multicol,amsmath}
%\usepackage[left=2cm, right=2.5cm, top=1.5cm, bottom=1.5cm]{geomertry}
\usepackage{graphicx}
\usepackage{url}
\usepackage{appendix}
\voffset=-0.5cm
\hoffset=-0.5cm
%\setlength{\topmargin}{-0.15in}
\setlength{\topmargin}{0.5cm}
\setlength{\headheight}{0in}
\setlength{\headsep}{0.5in}
\setlength{\footskip}{1in}
\setlength{\textwidth}{17cm}
\setlength{\textheight}{23cm}
\setlength{\marginparsep}{0in}
\setlength{\marginparwidth}{0in}
\setlength{\oddsidemargin}{0in}
%\setlength{\evensidemargin}{-0in}
\usepackage{fancyhdr}
\usepackage{booktabs}
%\usepackage[cam,a4,center]{crop}
%\usepackage{geometry}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0.4pt}
%\renewcommand{\headrulelength}{\textwidth}
\renewcommand{\sectionmark}[1]{\markright{\sl{\thesection.\ #1}}}
\renewcommand{\leftmark}{{\sl Chapter}.\thechapter }
%\lhead{\footnotesize\rightmark}
%\rhead{\thepage}
\fancyfoot{}
\fancyhead[RE]{\footnotesize\leftmark}
\fancyhead[LO]{\footnotesize\rightmark}
\fancyhead[LE,RO]{\thepage}
\XeTeXlinebreaklocale "zh"
\XeTeXlinebreakskip = 0pt plus 1pt
\setlength{\parskip}{0.3cm}
\linespread{1.3}
\begin{document}
%\begin{CJK}{UTF8}{cwmu}
%%%%%%%%%%%%%%
\newcommand{\btn}[1]{
\fboxrule=0.7pt
\fboxsep=1.2pt
\fbox{#1}}
\newcommand{\ex}{\addtocounter{subsection}{+1}
\subsubsection{Ex~\underline{\thesubsection}}}
\newcommand{\ans}{
\subsubsection*{\underline{Ans:}}}
%%%%%%%%%%%%%%%
\title{普通物理實驗講義\\
Scientific Writing \& Programming}
\author{中央大學物理學系}
\maketitle
\input{matternew}
\tableofcontents
%\chapter*{課程總介}
\input{abstract}
\input{exp1}
%\input{scilab1}
%\input{mech1}
%\input{model}
%\input{scilab2}
%\input{mech2}
%\input{scilab3}
%\input{mech3}
%\input{scilab4}
%\input{glue}
%\input{scilab5}
\appendix
\appendixpage
\chapter{補充教材}
\input{appendix_fdm}
\input{rk4proof}
%\end{CJK}
\end{document}
|
|
被註解掉的就是當初 %\begin{CJK}{UTF8}{cwmu} 就是當初曾經用 pdfLaTeX 編輯過 CJK package 的痕跡。到了這個時期由於不太需要擔心字體問題,我就開始把自己的範本弄的越來越花俏(頁首、頁眉、標題格式與特製段落圖塊等等)。