![如何在不受 \emph 约束的情况下将数学中的文本用作宏](https://linux22.com/image/281845/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%8D%E5%8F%97%20%5Cemph%20%E7%BA%A6%E6%9D%9F%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E5%B0%86%E6%95%B0%E5%AD%A6%E4%B8%AD%E7%9A%84%E6%96%87%E6%9C%AC%E7%94%A8%E4%BD%9C%E5%AE%8F.png)
我正在写一本书,想让某些特殊地图标有“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
你已经被警告了。;-)