对于特定类别的对象,任何特殊数学符号的目的都是为了让读者在表达式中立即识别出该类别的对象。
例如,向量的经典箭头符号在这方面效果很好,当你看到如下表达式时
您知道 x 是一个向量变量,而 t 是一个标量变量。
MWE 重现上述结果
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage[math-style=ISO,bold-style=ISO]{unicode-math}
\setmathfont{[Asana-Math]}
\begin{document}
\begin{equation}
\Psi(\vec{x}, t)
\end{equation}
\end{document}
现在让我们尝试按照 ISO 规定将向量排版为粗斜体(参见 PS)。我们在上例中唯一需要添加的是重新定义 \vec 宏
\renewcommand{\vec}[1]{\mathbf{#1}}
结果如下
问题在于很难说 x 是否粗体,因此我怀疑读者是否能理解 x 是一个向量变量,而 t 是一个标量变量。
是的,这取决于数学字体的选择。Asana Math 确实很糟糕,但使用 Cambria Math 等字体看起来要好得多
但是 Cambria Math 并不免费(就像免费啤酒一样),并且有它自己的问题(没有直立的偏导数、巨大的总和和乘积符号),所以我想使用 Asana Math,如果可能的话,让粗体斜体“更粗”。
是否可以?
PS 有人真的能确认 ISO 80000-2:2009 要求使用粗斜体排版矢量吗?这种说法基本上无处不在,但所提及的文件花费了 140,00 瑞士法郎,这对我来说太贵了。我找到了相关的俄罗斯技术标准 (ГОСТ Р 54521-2011),它是免费提供的,并且已经开发为与 ISO 80000-2:2009 兼容。根据这个标准可以使用老箭头而不是矢量的粗体斜体。
答案1
以下是不同数学字体的比较:
Palatino 类字体(Asana 和 TG Pagella)的问题在于,只有其中一种X线条更粗。r看起来大胆甚至与吨。类似 Times 的字体(TG Termes 和 XITS)看起来更粗,因此如果您可以选择切换字体,您可能需要尝试其中一种。
如果您想使用 Asana,我会选择 TeX 样式并使用粗体直立数学,许多书籍和期刊都使用这种样式,因此仅仅因为有一个书面标准并不意味着没有许多人遵循的不成文标准。
最后,如果您考虑使用箭头来指示矢量,我会使用 TG Pagella 而不是 Asana,因为在我看来它的箭头更具吸引力。
% !TEX TS-program = xelatex
\documentclass{article}
\usepackage{amsmath}
\usepackage[math-style=ISO,bold-style=ISO]{unicode-math}
\setmainfont[Ligatures=TeX]{TeX Gyre Pagella}
\newcommand{\test}[1]{\setmathfont{#1}$\Psi(\mathbf{x}, x, \mathbf{r}, r, %
\mathbf{k}, t)$& #1\\
}
\begin{document}
\begin{tabular}{ll}
\test{Asana Math}
\test{TeX Gyre Pagella Math}
\test{TeX Gyre Termes Math}
\test{XITS Math}
%\test{Tex Gyre Bonum Math}
\test{Cambria Math}
\test{Latin Modern Math}
\end{tabular}
\end{document}
答案2
到目前为止,我发现的唯一解决方法是使用假粗体来表示粗体斜体
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage[math-style=ISO,bold-style=ISO]{unicode-math}
\setmathfont{[Asana-Math]}
\setmathfont[range=\mathbfit,FakeBold=2.0]{[Asana-Math]}
\renewcommand{\vec}[1]{\mathbf{#1}}
\begin{document}
\begin{equation}
\Psi(\vec{x}, t)
\end{equation}
\end{document}
结果如下