Mac下XeLatex指定文本的字体
本人在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} % 主字体为“细黑”字体,它的粗体为“黑体”