如何在不受 \emph 约束的情况下将数学中的文本用作宏

如何在不受 \emph 约束的情况下将数学中的文本用作宏

我正在写一本书,想让某些特殊地图标有“a”和“d”,但不使用通常的数学字体。标准 AMS 字体不支持太多特殊版本的小写字母,而且我不喜欢现有的字体。我也尽量避免安装更奇特的字体包。经过一段时间的尝试,我决定在这些情况下我喜欢使用普通文本字体的粗体版本,而且由于我会经常使用这些字体,所以我设置了一些基本的宏命令:

\renewcommand{\d}{\text{\textbf{d}}}

\renewcommand{\a}{\text{\textbf{a}}}

大部分情况下,这个方法都行得通,但我注意到,在定理语句环境中,我的 a 和 d 受当前环境斜体的影响,因此无法获得一致的字符。有没有办法改进我的宏以避免这种现象?

谢谢!

答案1

正确的方法是使用\mathbf而不是\text{\textbf{...}}

所以

\newcommand{\ba}{\mathbf{a}}
\newcommand{\bd}{\mathbf{d}}

\mathbf您选择一个数学字母时,它不会受到当前文本字体的影响。

不要重新定义\a\d你已经被警告了。;-)

相关内容