我正在尝试这个arev
包,看看它如何处理无衬线数学,特别是考虑到这个文件除标准的 CM-Bright 之外,它是唯一可用的免费无衬线字体,具有匹配的数学字体,并且我遇到了无法摆脱的警告,
LaTeX Font Warning: Font shape `OMS/zavm/b/n' undefined
(Font) using `OMS/zavm/m/n' instead on input line 7.
这显然是通过使用粗体符号数学来触发的,例如
\documentclass{article}
\usepackage{amsmath}
\usepackage{arev}
\begin{document}
$$\boldsymbol\omega$$
\end{document}
这种警告是不可避免的吗?如果不是,那么人们如何才能避开它呢?如果是,那么为什么会这样?这意味着什么?它有多严重?
答案1
这意味着不存在 OMS 编码字体的粗体版本。这不会影响\omega
但例如\in
或\infty
。您可以使用 fonttable 打印 OMS 编码的字形表:
\documentclass{article}
\usepackage{amsmath}
\usepackage{arev,fonttable}
\begin{document}
$\omega \in \infty$
\mathversion{bold}
$\omega \in \infty$
\xfonttable{OMS}{zavm}{m}{n}
\end{document}
您可以通过明确告诉 LaTeX 使用非粗体版本(\mathversion{bold})来避免警告:
\SetSymbolFont{symbols} {bold}{OMS}{zavm}{m}{n}
答案2
不可以。包装上写着
\SetSymbolFont{symbols}{bold}{OMS}{zavm}{b}{n}
但omszavm.fd
文件仅包含
\DeclareFontFamily{OMS}{zavm}{}
\DeclareFontShape{OMS}{zavm}{m}{n}{
<-> zavmr7y
}{}
后缀对应于 Karl Berry 命名约定中的 OMS 编码; TeX 树中y
没有文件。除非您使用相应的文件构建一个,否则没有机会获得粗体符号。zavmb7y.tfm
.pfb
可以通过以下方式消除警告
\SetSymbolFont{symbols}{bold}{OMS}{zavm}{m}{n}
加载包后。