我正在尝试创建一个带有黑色边框的灰色三角形符号。我设法使用以下方法做到了这一点:
\newcommand{\factor}{{\color{gray} \blacktriangledown}\hspace{-1.6ex}\triangledown}
然而,当用作下标或上标时,两个三角形会不同步\factor
。也就是说,空间变得太大,黑色三角形不再位于灰色三角形上方。
有没有办法让空间相对于当前字体,以便考虑它是否是上标/下标?
答案1
\mathrlap
最简单的方法是使用数学工具
\usepackage{mathtools}
\newcommand{\factor}{\mathrlap{\color{gray}\blacktriangledown}\triangledown}
由于\mathrlap
您获得“没有进步”,因此两个符号会一个叠在另一个之上。
一对额外的括号允许说$a_\factor$
;另一方面,已经有许多命令不允许这样做(\notin
例如)。在这种情况下,可以安全地添加它们:
\newcommand{\factor}{{\mathrlap{\color{gray}\blacktriangledown}\triangledown}}
但是,额外的一对括号将使该符号相对于周围空间而言成为一个普通符号(这就是为什么\notin
它不是,因为它是一个关系符号)。因此,必须注意所请求符号的性质。
为了在数学模式下获得文本或下(上)标中自动变化的间距,您必须使用mu
单位和\mspace
;但在这种情况下这不是必需的。