![使用 \mathversion{bold} 时,kpfonts-otf 中出现“TU/KpMath-Regular.otf(4)/b/n”未定义错误](https://linux22.com/image/468092/%E4%BD%BF%E7%94%A8%20%5Cmathversion%7Bbold%7D%20%E6%97%B6%EF%BC%8Ckpfonts-otf%20%E4%B8%AD%E5%87%BA%E7%8E%B0%E2%80%9CTU%2FKpMath-Regular.otf(4)%2Fb%2Fn%E2%80%9D%E6%9C%AA%E5%AE%9A%E4%B9%89%E9%94%99%E8%AF%AF.png)
\documentclass{article}
\usepackage{kpfonts-otf}
\begin{document}
Some text.\mathversion{bold}$a$
\end{document}
代码编译正常,没有任何错误,并给出了预期的输出。但我收到了一个警告
LaTeX Font Warning: Font shape `TU/KpMath-Regular.otf(4)/b/n' undefined
(Font) using `TU/KpMath-Regular.otf(4)/m/n' instead on input line
6.
LaTeX Font Warning: Some font shapes were not available, defaults substituted.
我不明白为什么。粗体数学字体KpMath-Bold.otf
可用,它包含所需的字形,并且 pdf 输出也正确。
答案1
我的理解是,使用\mathversion{xyz}
需要在序言中有一个适当的定义(这是文档中描述的方式unicode-math
)。
添加\setmathfont{KpMath-Bold.otf}[version=bold]
到序言中可以抑制警告。
尽管如此,Ulrike 是对的……
在 中,我最近在 的主定义中kpfonts-otf.sty
添加了,它适用于命令(而不是)。我天真地以为 定义的变体会自动继承它,但显然不会。我会在下一个版本中修复它 --- 除非出现另一个更严重的错误,否则可能要过几周才会发布。最好的方法可能是添加定义、和的 BoldFont 的文件,这样它也能帮助那些没有加载样式文件的用户。BoldFont=KpMath-Bold.otf
KpMath-Regular
\boldmath
\mathversion{bold}
range={cal,bfcal}
.fontspec
KpMath-Regular
KpMath-Light
KpMath-Sans
kpfonts-otf