![避免负号前的空格被视为 mathord](https://linux22.com/image/234313/%E9%81%BF%E5%85%8D%E8%B4%9F%E5%8F%B7%E5%89%8D%E7%9A%84%E7%A9%BA%E6%A0%BC%E8%A2%AB%E8%A7%86%E4%B8%BA%20mathord.png)
有时我们写a=b\qquad -c=-d
那么负号将被视为减号,您知道发生了什么:符号周围的空格是不正确的。
虽然可以用{-}c=-d
或来完成\mathord{-}c=-d
,但我认为可能有一个优雅的解决方案。
答案1
使用起来并不是很难{-}
。不过,我很少需要a=b\qquad -c=-d
在我的文档中使用。
事实上,当您使用 时a=b\qquad -c=-d
,您可以使用:
$a=b$, $-c=-d$
或者
\begin{align*}
a&=b & -c&=-d
\end{align*}
答案2
问题是\qquad
不考虑数学间距,所以就像你输入了 一样a=b-c=-d
。要自动解决此问题,您可以重新定义\quad
和 ,方法是在它们之前和之后\qquad
添加。要使它们在文本模式下仍然可用,您需要使用 测试数学模式,从该情况下的标准开始:\mathclose{}
\mathopen{}
\ifmmode
\relax
\documentclass{article}
\usepackage{amsmath}
\renewcommand{\quad}{\relax\ifmmode\mathclose{}\fi
\hskip 1em\relax
\ifmmode\mathopen{}\fi}
\renewcommand{\qquad}{\relax\ifmmode\mathclose{}\fi
\hskip 2em\relax
\ifmmode\mathopen{}\fi}
\begin{document}
\[a=b{,}\qquad -c=-d.\]
or
\[a=b \quad \text{and} \quad -c=-d.\]
\end{document}