如何在 MacTeX 中使用中文 LaTeX 模版?
MacTeX 的中文支持的設置比較複雜,如何設置以使用中文 LaTeX 模版??如自動化學報模版。
註:目前已經把所需要的宏包加入 MacTeX 環境中了。
謝 @李阿玲 邀。
0
在 LaTeX 中使用中文,不嚴謹地說,主要需要解決編碼和字體調用的問題。
國內 LaTeX 圈子流行過 GBK 編碼和 UTF-8 編碼。前者是國標,是過去的主流,但是問題多多。現在推薦使用後者。
字體調用方面,原來的 CCT(新版)、CJK 還有現在的 xeCJK、LuaTeX-ja 和李阿玲的 pTeX-ng 在 TeX Live(MacTeX)底下都能正常工作。只不過,Mac 默認的字體和 Windows 默認的字體有一些不同,在這方面需要做一些調整。
國內期刊的模板大多數是 CCT 和 CJK 方式,其他一些模板可能比較先進,使用 xeCJK 方式。LuaTeX-ja 國內用的少,使用方法和 xeCJK 比較類似;pTeX-ng 尚在開發中。所以這裡只介紹 使用 CCT、CJK 或 xeCJK 三種中文支持方式在 TeX Live 里如何進行調整。
1 xeCJK
xeCJK 通過 setCJKmainfont 等命令(luatexja-fontspec 則是 setmainjfont)來調用操作系統內的字體,並設置為文檔字體。在 Windows 底下編寫的中文模板,慣常使用 Windows 自帶的中易系列字體,比如setCJKmainfont[Boldfont = SimHei, ItalicFont = KaiTi]{SimSun}
setCJKsansfont{SimHei}
setCJKmonofont{FangSong}
setCJKmainfont[BoldFont=STZhongsong, ItalicFont=STKaiti]{STSong}
setCJKsansfont[BoldFont=STHeiti]{STXihei}
setCJKmonofont{STFangsong}
具體的含義可參考:
為 MacTeX 配置中文支持使用 xeCJK 的模板,應該都保存為 UTF-8 編碼,所以不需要進行編碼調整。
(部分模板使用 GBK 編碼,在文檔頭會有 XeTeXinputencoding "CP936" 的 XeTeX 原語。此時最好將文件另存為 UTF-8 編碼,並刪除這些原語。)
2 CJK
在不適用 zhmetrics 技術的時候,CJK 需要 Type 1 字體。將中易字體拆分成許多 sub-fonts 並轉換為 Type 1 字體是個費時費力的工作。CTeX 套裝打包了已經配置好的 CJK 字體,它的 song、hei、kai、fs、li 和 you 等六套字體,流傳甚廣。國內使用 CJK 的模板,大都使用了這幾套字體。
不過,CJK 宏包本身並不含有這些字體,所以在使用 TeX Live 的時候,直接編譯這些模板會報錯。
我們看一段最簡單的使用 CJK 宏包做中文支持的例子。documentclass{article}
usepackage{CJKutf8}
egin{document}
egin{CJK*}{UTF8}{song}
中文。
clearpage
end{CJK*}
end{document}
documentclass{article}
usepackage{CJKutf8}
AtBeginDvi{input{zhwinfonts}}
egin{document}
egin{CJK*}{UTF8}{song}
中文。
clearpage
end{CJK*}
end{document}
此時,使用 pdfLaTeX 或 LaTeX - DVIPDFMx 編譯文檔,即可得到正確的結果。
對於 Mac/Linux 系統的 TeX Live(MacTeX)用戶而言,簡單地載入 zhwinfonts.tex 是不會奏效的。zhwinfonts.tex 是為 Windows 系統配置的文件,在 Mac/Linux 系統中缺少這些字體。我自己買了方正系列字體在 Mac 上使用,所以寫了一個 zhfzfonts.tex 來調用這些字體。
需要做的事情:- 安裝下列字體(涉及到版權,這裡就不提供了)
- 方正書宋 GBK:FZSSK.TTF
- 方正楷體 GBK:FZKTK.TTF
- 方正黑體 GBK:FZHTK.TTF
- 方正仿宋 GBK:FZFSK.TTF
- 華文隸體:STLITI.ttf(Mac 自帶)
- 華文琥珀:STHUPO.TTF(Mac 自帶)
documentclass{article}
usepackage{CJKutf8}
AtBeginDvi{input{zhfzfonts}}
egin{document}
egin{CJK*}{UTF8}{song}
中文。
clearpage
end{CJK*}
end{document}
這裡 TEXMFLOCAL 指的是 TeX Live 供用戶使用的 TDS 根目錄,在 MacTeX 里是 /usr/local/texlive/texmf-local。
因此對於題主提到的自動化學報來說,做好上述 1--4 步之後,只需要在導言區的末尾添加usepackage{ifpdf}
AtBeginDvi{input{zhfzfonts}}
即可。(這裡載入 ifpdf 宏包是模板的 bug)
CJK 支持 GBK,也支持 UTF-8。請注意將文檔編碼保存為與 CJK 環境相同的編碼格式。
3 CCT
以系統工程理論與實踐為代表的一些國內期刊,使用 CCT 模板。前年為此寫過一篇博客,專門討論此類模板。參見:
國內期刊 CCT 模板編譯經驗CCT 只支持 GBK 編碼。
4 ctex 宏包/文檔類
ctex 宏包/文檔類在使用 XeLaTeX 編譯的時候,使用 xeCJK 作為中文支持方式;在使用 LaTeX/pdfLaTeX 的時候使用 CJK 作為中文支持方式。因此,使用 ctex 宏包/文檔類的模板,在 TeX Live 系統下的配置方式需要根據所選的編譯方式做調整。
使用 XeLaTeX 的時候,需要給 ctex 加上 nofonts 選項(將來的 2.0 版本則是 fontset = none),然後再用 setCJKmainfont 配置字體。
使用 LaTeX/pdfLaTeX 的時候,則可以使用 zhfzfonts.tex 來映射字體。
使用 ctex 宏包/文檔類的時候,需要根據所選的編譯方式和宏包/文檔類選項來確定源文件的編碼格式。- 使用 XeLaTeX 的時候,不論選項為何,源文件都需要保存為 UTF-8 編碼。
- 使用 LaTeX/pdfLaTeX 的時候,則需要根據宏包/文檔類選項來確定源文件的編碼格式。
ShareLaTeX, the Online LaTeX Editor
推薦閱讀:
※如何使用BibTeX引用中文參考文獻?
※對於勉強過六級的人如何提高讀英文文獻以及寫英文論文的能力?
※史學論文寫作規範?
※文科論文比理科論文更容易寫?
※如何寫出一篇優秀的碩士畢業論文?
TAG:LaTeX | 論文寫作 | LaTeX排版與設計 |