如何让 mathbf 在 unicode-math 中正常工作

如何让 mathbf 在 unicode-math 中正常工作

示例 I

简而言之,我试图重现以下内容:

在此处输入图片描述

\documentclass{article}
\usepackage{unicode-math}
\setmathfont[bold-style=ISO]{xits-math.otf}
\begin{document}
\[
PV=nRT\left(1+\mathbf{\frac{B(T)}{\left(V/n\right)}}+\frac{C(T)}{\left(V/n\right)^2}+\dots\right)
\]
\end{document}

上面的代码完全符合我的要求,除了不支持任意字体。


示例 II

unicode-math手册中,我找到了几个命令来构建我自己的数学字体,但对于任何不是的字体XITS,我都无法让它工作。例如,请考虑以下代码:

http://i.imgur.com/YzseRs5.png?1

\documentclass{article}
\usepackage{unicode-math}
\usepackage{bm}
\setmathfont{Georgia}
\setmathfont[range=\mathit]{Georgia Italic}
\setmathfont[range=\mathbf]{Georgia Bold}%%%%%%%%
\begin{document}
All of these produce a different result, none of which are desirable:
\[
B(T)=\bm{B(T)}=\mathbf{B(T)}
\]
\end{document}

如您所见,每个命令的结果都不同(第一个和第二个命令除了括号外看起来相似,括号略有不同),并且所有内容似乎都呈粗体。即使我排除带有百分号的行%%%%%%,或者我尝试使用例如

\setmathfont[range=\mathit/{latin,Latin}]{Georgia Italic}
\setmathfont[range=\mathbf/{latin,Latin}]{Georgia Bold}

示例 III

[range=\mathbf]如果我使用和键删除这些行[range=\mathit],我就会突然得到想要的结果:

http://i.imgur.com/gHOSbwM.png?1

极好的!


那么,如果字体组织得不太好*(在这种情况下,我必须手动声明每个形状),我该如何构建我的数学字体?更具体地说,如果我想获得最后的结果(如示例 III 中所述),我该如何使用按键[range=\math*]一步一步地声明整个数学字母表?

* = 我的意思是,字体的形状并不都放在一个文件夹中,而是每个形状都是手动定义的。这种情况通常出现在具有几种不同粗细的字体中,这些字体不遵循我们通常称为“SemiBold”、“Bold”、“BoldExtended”等的名称方案。

相关内容