Mac下XeLatex指定文本的字体

本人在MacOS (Catalina)下安装了TexLive,并使用TexShop软件编辑Latex文档,使用XeLatex进行编译生成PDF文件。

问题源于文中一处“赟”字编译成PDF后显示为带外框的“F”字,立即意识到“赟”是不常用文字,在默认的字体中不存在,所以不能正常显示。修改思路是指定文中的字体。

  • 如何指定Latex文档使用的字体
  • 可以使用哪些字体
  1. 如何指定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}
  2. 可以使用哪些字体
    Latex可以使用MacOS的系统字体。 通过 Cmd+空格,输入关键字 font 就可以找到字体册,如下图所示。
    Mac下XeLatex指定文本的字体_第1张图片
    在打开的字体册中选中需要的字体,在该字体的详细信息中找到“Postscript名称”,该名称就是可以使用的字体名称。 如下图中,“STHeitiTC-Light”就表示“黑体-繁”这种字体中的“细体”字体。
    Mac下XeLatex指定文本的字体_第2张图片

使用上述方法,我对Latex文档的中文主体字体进行了设置,重新编译后,“赟”就能正常显示了。

\usepackage{xeCJK}
\setCJKmainfont[BoldFont=STHeiti]{STXihei} % 主字体为“细黑”字体,它的粗体为“黑体”

你可能感兴趣的:(Mac下XeLatex指定文本的字体)