为什么 \mathbin{} 在间距方面与二进制数学运算符不同?

为什么 \mathbin{} 在间距方面与二进制数学运算符不同?

我正在尝试重新定义二进制数学运算符,更具体地说,我想用 替换\geq\geqslant据我从网站上的几个页面了解,您需要使用\mathbin来获得正确的间距。但是,在一行中的文本太长的特殊情况下,间距仍然会有所不同。 在此处输入图片描述

重新定义的运算符 with 与原始二元运算符有何区别\mathbin?如何解决这个问题?

以下是 MWE:

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}

\let\geq\relax
\newcommand\geq{\mathbin{ \geqslant }}

\begin{document}
Normally, the new command works: $a\geq b$ vs. $a\geqslant b$ and $X_{a\geq b}$ vs. $X_{a\geqslant b}$.\\
But $a\geqslant b$ if the text in the line is way too long, it gets all messed up $ABC_{mnopqr}$.\\
But $a{\geq} b$ if the text in the line is way too long, it gets all messed up $ABC_{mnopqr}$.\\
\end{document}

答案1

你需要\mathrel,因为你想要一个关系符号,而\mathbin对于像+这样的符号则遵循不同的规则。

但是,\geqslant已经被定义为关系符号,所以

\renewcommand{\geq}{\DOTSB\geqslant}

有效且容易得多。 用于\DOTSB正确放置点的自动位置。 您还可以使用

\let\geq\geqslant

如果您对使用低级命令有信心。

请注意,$a{\geq}b$符号会失去其类型并变成普通符号(因此周围没有空格)。

相关内容