如何配置 MacTeX 的中文支持?
我使用的是 MacTeX 2014,編輯器是 TeXshop。
目前來說,結合 xeCJK 宏包使用 XeLaTeX 編譯,應該是最方便的方式了。
XeLaTeX 要求 .tex 文檔保存為 UTF-8 編碼。所以要做的事情只有兩件:- 配置一個 UTF-8 的編輯環境;
- 用 xeCJK 的語法選擇合適的字體。
1
印象中,TeXshop 的默認編碼不是 UTF-8(具體是什麼我不記得了),需要調整一下。
打開 TeXshop,按下 cmd + , 打開偏好設置。在「源代碼」標籤下找到編碼設置,調整為 UTF-8。
2XeTeX 在 Mac OS X 下的行為和 Windows / Linux 下不大一樣。Mac 底下,XeTeX 並不使用 fontconfig 庫來搜索字體,所以我們沒法在終端里通過 fc-list 命令來查看可用的字體列表。不過 Mac 里提供了名為「字體冊」的程序,來列出系統中所有可用的字體信息。
(其實這樣的設計挺討厭的,TeX Live 自帶了許多開源字體,因此沒有辦法很好地使用。必須用字體名而不是字族名來調用這些字體,實在是不太方便。)打開字體冊程序,找到需要的字體信息:
3
使用下列代碼,配置中文字體。usepackage{xeCJK}
setCJKmainfont[BoldFont=STZhongsong, ItalicFont=STKaiti]{STSong}
setCJKsansfont[BoldFont=STHeiti]{STXihei}
setCJKmonofont{STFangsong}
這裡,
- 文檔中文主字體是華文宋體,對應的 bfseries 字體是華文中宋,對應的 itshape 字體是華文楷體;
- 文檔的「無襯線」中文字體是華文新黑,對應的 bfseries 是華文黑體;
- 文檔的「等寬」中文字體是華文仿宋。
完整代碼的編譯效果截圖如下:
xeCJK 之解決了中文支持問題,以及一些關於標點的處理,並沒有提供和中文版式相關的解決方案。ctex 宏包和文檔類封裝了 xeCJK,同時提供了中文版式的相關支持。新版的 ctex 宏包和文檔類能夠自動檢測用戶使用的操作系統,自動選擇合適的字體配置,十分方便。
documentclass[UTF8]{ctexart}
egin{document}
中文
end{document}
測試截圖如下:
如果希望 ctex 只提供中文支持的功能不對版式做任何修改,也可以這樣使用:documentclass{article}
usepackage[UTF8, heading = false, scheme = plain]{ctex}
egin{document}
中文
end{document}
已存檔至「為 MacTeX 配置中文支持」。
%!TEX program = xelatex
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
documentclass[12pt]{article} %這個我就不多說了,頭文件
usepackage{url} %這個我也不多說了
usepackage{fontspec,xltxtra,xunicode} %最新的mactex都有
defaultfontfeatures{Mapping=tex-text}
setromanfont{Heiti SC} %設置中文字體
XeTeXlinebreaklocale 「zh」
XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt %文章內中文自動換行,可以自行調節
ewfontfamily{H}{Songti SC} %設定新的字體快捷命令
ewfontfamily{E}{Weibei SC} %設定新的字體快捷命令
egin{document}
hispagestyle{empty}
small{給一個比較簡單的方法,在mac上折騰CJK有點麻煩,其實XeTeX就可以解決中文的問題。編碼的改動其實不需要在mactex的設置裡面改,寫在前面然後注釋掉就好了。\
繁體字什麼的也是可以實現的。\
當你需要打不同字體的時候,就需要用到這個url{
ewfontfamily},這樣你可以在一行中顯示多種字體。比如說:\}
Huge{{H 宋體} {E 魏碑} 黑體}
end{document}
按照這個是親測成功顯示了中文且只有幾個中文字,但是因為沒有嘗試大量中文,不過可以嘗試下。TeX開始之旅 (Mac用戶)
同在sudo texhash沒有命令,求指教!
不知何故我在mac的終端上sudo texhash沒有反應,其他都步驟成功了。
推薦閱讀:
※為什麼 CTeX 好久沒有更新?
※請問如何部署 OS X 上 Sublime Text 3 + LaTeX 的中文環境?
※TeXShop 裡面的引擎(如 plain TeX, LaTeX,BibTeX)各適用於什麼情況?
※LaTeX的編輯器TeXStudio能夠識別中文嗎?為何添加字體庫中沒有中文的?
※LaTeX 中字體調用機制是怎樣的?