本人在MacOS (Catalina)下安裝了TexLive,並使用TexShop軟件編輯Latex文檔,使用XeLatex進行編譯生成PDF文件。
問題源於文中一處“贇”字編譯成PDF后顯示為帶外框的“F”字,立即意識到“贇”是不常用文字,在默認的字體中不存在,所以不能正常顯示。修改思路是指定文中的字體。
- 如何指定Latex文檔使用的字體
- 可以使用哪些字體
-
如何指定Latex文檔使用的字體
Latex文檔中可以分別指定西文和中文的字體。
西文字體設置如下:\setmainfont{ } % 西文默認字體,默認值 Times New Roman中文字體設置如下:
\setsansfont{ } % 西文默認無襯線字體,如大標題等。常用 Helvetica/Arial
\setmonofont{ } % 西文默認等寬字體,如程序代碼
\usepackage{xeCJK}
\setCJKmainfont[BoldFont={ },ItalicFont={ }]{ } %指定中文默認字體
\setCJKmainfont[BoldFont=STZhongsong, ItalicFont=STKaiti]{STSong}
\setCJKsansfont[BoldFont=STHeiti]{STXihei}
\setCJKmonofont{STFangsong}
-
可以使用哪些字體
Latex可以使用MacOS的系統字體。 通過 Cmd+空格,輸入關鍵字 font 就可以找到字體冊,如下圖所示。
在打開的字體冊中選中需要的字體,在該字體的詳細信息中找到“Postscript名稱”,該名稱就是可以使用的字體名稱。 如下圖中,“STHeitiTC-Light”就表示“黑體-繁”這種字體中的“細體”字體。
使用上述方法,我對Latex文檔的中文主體字體進行了設置,重新編譯后,“贇”就能正常顯示了。
\usepackage{xeCJK}
\setCJKmainfont[BoldFont=STHeiti]{STXihei} % 主字體為“細黑”字體,它的粗體為“黑體”
\setCJKmainfont[BoldFont=STHeiti]{STXihei} % 主字體為“細黑”字體,它的粗體為“黑體”