如何在 Mac 下的 LaTeX 中使用中文字體?
Mac OS X Lion 下使用 MacTeX 套件,寫簡歷,希望能夠使用多種中文字體,比如黑體楷體這種基礎的就好。純 LaTeX 小白,我看到網上說下載 CTeX 套件等等,這是跟 MacTeX 功能相同的一個套件么。我能對 MacTeX 加一點組件然後使用中文字體么?
請使用最新的xeCJK或者LuaTeX-ja宏包,我推薦後者。documentclass{article}usepackage{luatexja-fontspec}setmainjfont{SimSun}
egin{document}
中文測試。end{document}documentclass[11pt,a4paper]{article}
XeTeXlinebreaklocale "zh"XeTeXlinebreakskip = 0pt plus 1pt minus 0.1ptusepackage[top=1in,bottom=1in,left=1.25in,right=1.25in]{geometry}usepackage{float}usepackage{fontspec}ewfontfamilyzhfont[BoldFont=Adobe Heiti Std]{Adobe Song Std}
ewfontfamilyzhpunctfont{Adobe Song Std}
setmainfont{Times New Roman}usepackage{indentfirst}usepackage{zhspacing}zhspacingegin{document}.....end{document}這樣,中文使用 Adobe Song 字體,英文使用 Times New Roman 字體。請用 XeLaTex 進行編譯。
fc-list
fc-list ;lang=zh-cn
這兩個命令可以查看電腦上都安裝了哪些字體(中文字體)。
PS:搜索《XeTeX 和 LaTeX 中文排版之胡言亂語》xelatex mac下中文亂碼,
1)編譯不過, 提示 SIMKAI.TTF找不到, 可以按照此文 修改vim /usr/local/texlive/2014/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-winfonts.def 文件即可。
2)不修改全局的上面那個文件,當前文件使用nofonts選項,如 documentclass[a4paper,nofonts]{article}, 然後自定義類型如setCJKmainfont[BoldFont={Adobe Heiti Std},ItalicFont={Adobe Kaiti Std}]{SimSun} 再編譯即可。 // 或者 setCJKmainfont[BoldFont={SimHei},ItalicFont={KaiTi_GB2312}]{SimSun} 改成本機有的 若編譯過了,還是亂碼,記得看你tex源文件的編碼,是不是UTF-8。
提供一個比較全的模板供參考,編譯用xelatex:
documentclass[11pt,a4paper]{article}
% documentclass[11pt,a4paper]{report}
% documentclass[11pt,a4paper]{book}defmathfamilydefault{
mdefault}% 設置頁面%==================================================linespread{1} %行距% usepackage[top=1in,bottom=1in,left=1.25in,right=1.25in]{geometry}% headsep=2cm% extw=16cm exth=24.2cm
%==================================================% 使用中文xeCJK宏包%==================================================usepackage{fontspec,xltxtra,xunicode}usepackage[slantfont,boldfont,CJKnumber,CJKtextspaces]{xeCJK}%==================================================% 其它需要使用的宏包%==================================================
usepackage[colorlinks,linkcolor=blue,anchorcolor=red,citecolor=green,urlcolor=blue]{hyperref} usepackage{tabularx}usepackage{authblk} % 作者信息usepackage{algorithm} % 演算法排版usepackage{amsmath} % 數學符號與公式usepackage{amsfonts} % 數學符號與字體usepackage{graphics}usepackage{color}usepackage{fancyhdr} % 設置頁眉頁腳usepackage{fancyvrb} % 抄錄環境
usepackage{float} % 管理浮動體usepackage{geometry} % 定製頁面格式usepackage{hyperref} % 為PDF文檔創建超鏈接usepackage{lineno} % 生成行號usepackage{listings} % 插入程序源代碼usepackage{multicol} % 多欄排版usepackage{natbib} % 管理文獻引用usepackage{rotating} % 旋轉文字,圖形,表格usepackage{subfigure} % 排版子圖形usepackage{titlesec} % 改變章節標題格式
usepackage{moresize} % 更多字體大小usepackage{anysize}usepackage{indentfirst} % 首段縮進usepackage{booktabs} % 使用multicolumnusepackage{multirow} % 使用multirowusepackage{graphicx} usepackage{wrapfig}usepackage{xcolor}usepackage{titlesec} % 改變標題樣式usepackage{enumitem}
%==================================================% 將默認的英文目錄等改為中文,設置圖號和公式號與章節對應,縮進大小%==================================================% itleformat{part}[display]{centeringHuge}{ extbf{第~ hepart~部分}}{0.2cm}{ extbf}% itleformat{chapter}[hang]{huge}{ extbf{第~ hechapter~章}}{0.2cm}{ extbf}%
enewcommand{contentsname}{目 quad 錄}%
enewcommand{abstractname}{摘 quad 要}%
enewcommand{appendixname}{附 quad 錄}%
enewcommand{ heequation}{arabic{section}.arabic{equation}} %公式號與章節對應%
enewcommand{figurename}{
ormalsize{圖 arabic{section}.arabic{figure}}} %改figure為圖%
enewcommand{
efname}{參考文獻}%
enewcommand{ibname}{參考文獻}% makeatletter%
enewcommand{fnum@figure}[1]{ extbf{figurename~}hspace{10pt} sffamily} %圖號與章節對應% makeatothersetlength{parindent}{2em} %設置縮進為兩個大寫M的寬度,大約為兩個漢字的寬度%==================================================% 設置頁眉頁腳%==================================================
enewcommand{headrulewidth}{0.4pt}
enewcommand{footrulewidth}{0.4pt}pagestyle{headings}% pagestyle{fancy}% lhead{}% chead{}%
head{}% lfoot{}% cfoot{}%
foot{}%==================================================% 加入VBA代碼高亮%==================================================lstdefinelanguage{VBA}{morekeywords={And, As, Byte, Call, Case, Compare, CDbl, Datebase, Date, Dim, Else, ElseIf, End, Error, Exit, Explicit, False, Function, GoTo, If, IIF, Integer, Not, Nothing, Null, Object, On, Option, Or, Private, Resume, String, Single, Select, Set, Static, Sub, Then, True, To,}, sensitive=false, morecomment=[l]Rem, morecomment=[l]", morestring=[b]", emph={acFormBar, acEditMenu, acCurrent, acEntire, acMenuVer70, acSaveYes, acViewNormal, acForm, acDataErrAdded, acNewRec, acDataErrContinue, Cancel, CancelEvent, Close, CurrentDb, DefaultValue, DateValue, DAO, Description, DoCmd, DoMenuItem, Err, Error, Error$, $, Execute, FindRecord, Forms, FindFirst, IsNull, Me, MsgBox, GoToControl, GoToRecord, NewData, Nz, Maximize, Number, OpenForm, Parent, Recordset, Requery, Response, SetFocus, stDocName, stLinkCriteria, Value, vbExclamation, vbOK, vbOKCancel, vbInformation, vbYes, vbNo, vbYesNo, vbCancel, vbQuestion, vbYesNoCancel, Visible,}, emphstyle=color{blue!100!}}%==================================================lstset{basicstyle= tfamily,breaklines,numberstyle= iny, keywordstyle=color{red}, stringstyle=color{green!100!},commentstyle=color{red!20!green!20!blue!20}, frame=single, rulesepcolor=color{red!20!green!20!blue!20},numbers=left, numberstyle= iny} %==================================================% 設置中文字體%==================================================%setCJKmainfont[BoldFont=SimHei,ItalicFont=KaiTi]{SimSun}setCJKmainfont[BoldFont={Adobe Heiti Std}, ItalicFont={Adobe Kaiti Std}]{Adobe Song Std}%setCJKmainfont[BoldFont={STHeiti}, ItalicFont={STKaiti}]{STSong}%setCJKsansfont{SimHei}setCJKsansfont{Adobe Heiti Std} %setCJKsansfont{STHeiti} %setCJKmonofont{FangSong}setCJKmonofont{Adobe Fangsong Std}%setCJKmonofont{STFangsong}%-------------------------------------------------%setCJKfamilyfont{zhsong}{SimSun}setCJKfamilyfont{zhsong}{Adobe Song Std}%setCJKfamilyfont{zhsong}{STSong}%setCJKfamilyfont{zhhei}{SimHei}setCJKfamilyfont{zhhei}{Adobe Heiti Std}%setCJKfamilyfont{zhhei}{STHeiti}%setCJKfamilyfont{zhfs}{FangSong}setCJKfamilyfont{zhfs}{Adobe FangSong Std}%setCJKfamilyfont{zhfs}{STSong}%setCJKfamilyfont{zhkai}{KaiTi}setCJKfamilyfont{zhkai}{Adobe Kaiti Std}%setCJKfamilyfont{zhkai}{STKaiti}%-------------------------------------------------
ewcommand*{songti}{CJKfamily{zhsong}} % 宋體
ewcommand*{heiti}{CJKfamily{zhhei}} % 黑體
ewcommand*{kaishu}{CJKfamily{zhkai}} % 楷書
ewcommand*{fangsong}{CJKfamily{zhfs}} % 仿宋% !使用如下命令:{songti 宋體} 可以臨時使用宋體(要加大括弧)%==================================================% 設置英文字體%==================================================%defaultfontfeatures{Scale=MatchLowercase} % 這個參數保證 serif、sans-serif 和 monospace 字體在小寫時大小匹配setmainfont[Mapping=tex-text]{CMU Serif} % 使用 XeTeX 的 text-mapping 方案,正確顯示 LaTeX 樣式的雙引號(`` "")% setmainfont[Mapping=tex-text]{Palatino Linotype}setsansfont[Mapping=tex-text]{CMU Sans Serif} % setsansfont[Mapping=tex-text]{DejaVu Sans YuanTi} setmonofont{Courier New}% setmonofont{Monaco}% setmonofont{DejaVu Sans YuanTi}%==================================================% 題目,作者,日期%================================================== itle{}% Style 1% -------------------------------author[*]{author1}affil[*]{affil1}author[**]{author2}affil[**]{affil2}% Style 2% -------------------------------%author{author1}%affil{affil1}%author{author2}%affil{affil2}date{}%==================================================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 正文%==================================================egin{document}% pagenumbering{Roman} %頁碼為大寫羅馬數字% pagenumbering{arabic} %頁碼為阿拉伯數字maketitle
ewpage ableofcontents
ewpageend{document}%==================================================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
其實,Mac 下的TeX發展套件中,利用CJK宏包安裝中文字體的步驟與Linux發行套件Ubuntu下安裝的過程大同小異。主要的問題是如何按中文排版習慣來排版。相關的安裝文檔URL : http://lifeng.telebyte.com.cn/ 。TeX 排版對於中文來說,主要是如何處理新新體,以及現有字型檔中沒有的字。相關的文章之前在網上發現台灣李果正先生有相關的Blog,但好象是由於提供服務的機器硬碟損壞,相關數據在網上消失了。這方面的工作對於中文教育與古籍電子化是非常重要的。但不清楚現在有沒有人做這方面的工作?對於CJK宏包的字體安裝,主要有幾個問題對於中文沒有處理的太好,尤其是簡體中文。大約十年前,北京大字的張林波搞過一些中文LaTeX排版的模板工作。但這個工作好象在大陸沒有後續的有組織的發展。這個問題好比是買新車,新車當然好,但沒有後續的運行與維護支持。N年後還是需要重新再來!另外,還有一個問題我非常奇怪。大學需要LaTeX之類的中文排版工作,但中文小學教育這方面就沒有人來做這樣的工作?現在小學中文識字教育方面還是處於蠟紙刻版的狀態。
MacTeX裡面編譯器用XeLaTeX就行了,記得把設置裡面的文件編碼方式設置成UTF8。
推薦閱讀:
※iOS 上默認的中文字體是什麼?
※微軟雅黑在某些電腦上是不是不能顯示?
※OS X 下第三方字體往往不能選擇字重,而是不同字重分成獨立的字體,為什麼?
※台灣的文檔有些字無法改字體怎麼辦?
※華文系列字體當中的非漢字部分是華文自己設計的嗎?