控制文本数学模式下的水平间距

控制文本数学模式下的水平间距

我在 MacBook Air 上使用最新版本的 TexLive。除了 journal 包外, 我还使用了amsmathamssymbscalefntgraphicx和包。subcaption

与之前的查询类似如何在数学模式中减少间距,我想在数学模式下减少空白,但仅当文本中出现公式时才这样做,因为$a=b.$ 我不想在显示数学模式下自动减少空白,例如

$$a=b$$

或者

\begin{align}
a&=b\\
c&=d
\end{align}

我知道我可以在单个方程式中做各种事情,例如 $a{=}b$或,$ a \!=\! b,$但我不想每次都这样做,并且期刊可能会坚持在出版物中进行更改,或者我的合著者可能希望出于其他目的做不同的事情。

我看不出如何使用\newcommandor\stackrel来区分文本中的方程式和 displaymath 中的方程式,但使用 {displaystyle} 或类似的东西应该很简单。我搞不懂。

帮助?

答案1

有以下可能性:

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\everymath{\if@display\else\thickmuskip=2mu plus 2mu\fi}
\makeatother

\begin{document}

\begin{center}% just to show the effect
$a=b$
\end{center}
\[
a=b
\]

\end{document}

或者(最好),但这需要使用\(...\)内联数学:

\documentclass{article}
\usepackage{amsmath}
\usepackage{xpatch}

\xpatchcmd{\(}{$}{$\thickmuskip=2mu plus 2mu }{}{}

\begin{document}

\begin{center}% just to show the effect
\(a=b\)
\end{center}
\[
a=b
\]

\end{document}

请注意,$$...$$如果使用第一种方法,将产生减少的空间。但无论如何,这种构造永远不应该在 LaTeX 中使用。

在此处输入图片描述

相关内容