从哪里开始使用 CMU Serif Upright Italic 字体?

从哪里开始使用 CMU Serif Upright Italic 字体?

我尝试在使用 XeLaTeX 处理的文档中使用 CMU Serif Upright Italic 来表示一些直立符号,但出现错误“找不到字体 CMU Serif Upright Italic”。

这个字体不是 TeXLive 的一部分吗?如果不是,那么从哪里可以得到它?

\documentclass{article}

 \usepackage{fontspec}
  \usepackage{polyglossia}
  \usepackage[math-style=ISO]{unicode-math}
  \setdefaultlanguage[variant=american]{english}
  \setotherlanguages{french,german,polish,russian}
  %% Choose Latin Modern...
  \defaultfontfeatures{Scale=MatchLowercase, Ligatures=TeX}
  \setmainfont{Latin Modern Roman}[Scale=1.0]
  \setmathfont{Latin Modern Math}
  \setmathfont{CMU Serif Upright Italic}[range=up]

  \newcommand\upi{\symup{i}}
  \newcommand\upe{\symup{e}}
  \newcommand{\uppi}{\symup{\pi}}

\begin{document}

$\upe^{\uppi \upi} = - 1$
\end{document}

答案1

如果您不确定文件安装在哪里,请先运行fc-match "CMU Serif Upright Italic"复制 XeLaTeX 的字体搜索,然后luaotfload-tool --find="CMU Serif Upright Italic"复制 LuaLaTeX 的字体搜索。我怀疑后者会起作用,但如果不行,下一步要尝试的是kpsewhich cmunui.otf。如果找不到,请确保cm-unicode安装了 TeX Live 或 MikTeX 包。特别是,使用查找字体\setmathfont通常不足以提醒 MikTeX 应该安装包。

在 Linux 上,此问题通常是由系统字体数据库不知道索引您的自定义 TeX Live 字体目录引起的。在 Debian 或 Ubuntu 上启用此功能所需的文件包含在 TeX Live 发行版中,但您必须自行将其安装到正确的系统目录中。

kpsewhich texlive-fontconfig.conf

看看你是否有这个文件,然后

sudo cp $(kpsewhich texlive-fontconfig.conf) /etc/fonts/conf.d/09-texlive.conf

以合理的优先级将其安装在系统配置目录中。我另外在自己的机器上为texmf-local目录中的字体创建了另一个具有相同格式的文件,但您可以选择将 OpenType 字体安装到TEXMFLOCAL/usr/local/share/fonts/~/.fonts/替代 TEXMFLOCAL。

然后运行

fc-cache -f -s -v

更新字体缓存。

您也可以改用 LuaLaTeX,它应该可以开箱即用。

最后,即使 XeTeX 没有索引其显示名称,通过文件名加载文件仍然有效:

\setmathfont{cmunui.otf}[range=up,
                         Scale=MatchLowercase]

相关内容