防止原子改变种类

防止原子改变种类

在下面的例子中, 的存在\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
\]

相关内容