在下面的例子中, 的存在\mycommand
将第一个减号变成了二元运算原子,从而增加了-
和之间的间距。1
\documentclass{article}
\newcommand\mycommand{\mbox{ abc } }
\begin{document}
\[
\mycommand -1 = -1
\]
\end{document}
我知道这可以根据具体情况处理,但我想更改宏定义,以便 a 之后的第一个原子\mycommand
表现得就像方程中的第一个原子一样。这可能吗?
答案1
\mathbin
原子转换的规则\mathord
与您想象的不同:
如果一个
\mathbin
原子位于两个不相容的原子之间,并且它是二元运算符号(或者它是数学列表中的第一个原子),则将其视为\mathord
。
因此在 中$-1=-1$
,两个-
符号都将转换为普通原子。第一个是因为它是第一个,第二个是因为它介于关系和普通之间。
你可以尝试
\newcommand{\mycommand}[1]{\mathopen{\mbox{ #1 }}}
因此\mathopen
原子的性质不允许紧随\mathbin
其后。TeX 永远不会在原子后插入空格\mathopen
。
假设此文本之前的是一个普通原子或\mathclose
,则间距方面不会发生任何不好的事情。
不过我只会使用
\[
1 = 1 \text{ and } {-1}=-1
\]