字体适用于 \usepackage,但不适用于 \newfontfamily

字体适用于 \usepackage,但不适用于 \newfontfamily

我正在尝试运行其他人的论文模板,但 EBGaramond 字体不起作用。我也从未在 latex 中使用过 .cls 文件,所以我不确定我是否遗漏了什么。在 .cls 文件中,导致问题的行是:

\newfontfamily{\smallcaps}[RawFeature={+c2sc,+scmp}]{EB Garamond}

错误是:软件包 fontspec 错误:无法找到字体“EB Garamond”

我尝试将“EB Garamond”替换为“ebgaramond”和“EBGaramond”。我遵循这些方向以确保字体已安装。为了检查它是否正常工作,我尝试\usepackage{ebgaramond}在另一个文档中使用该命令,结果运行正常,因此上面的特定行似乎有问题。另外,我不确定这是否相关,但此模板的先前用户专门使用 Overleaf。

答案1

xelatex 将不会通过名称在 tex-live 树中查找字体,除非您已配置 fontconfig 来查找它们,因此您可以尝试用EB Garamond文件名替换内部字体名称EBGaramond-Regular.otf,以便可以通过 kpathsearch 而不是 fontconfig 找到该文件(luatex 应该以相同的方式使用任一形式)。

要配置 fontconfig,您需要一个文件,例如

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <dir>/usr/local/texlive/2021/texmf-dist/fonts/opentype</dir>
  <dir>/usr/local/texlive/2021/texmf-dist/fonts/truetype</dir>
</fontconfig>

“某处”(我的被调用了,local.conf但是/etc/fontsMac 上的细节会有所不同)。然后运行fc-cache以重建其字体缓存。

texdoc texlive

第 3.4.4 节 XeTeX 和 LuaTeX 的系统字体配置

相关内容