使用 `\underset` 和 `\overset` 时减少垂直间距

使用 `\underset` 和 `\overset` 时减少垂直间距

尝试使用形式的符号(a, b)\underset{{+}}{\bumpeq}(c, d),我发现组合符号\underset{{+}}{\bumpeq}在垂直方向上分布过多,不适合我的目的:

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
$(a, b)\underset{{+}}{\bumpeq}(c, d)$
\end{document}

\underset如何控制和的垂直间距\overset

答案1

您可以使用低级对齐工具。

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

\makeatletter
\DeclareRobustCommand{\bumpeqplus}{\mathrel{\mathpalette\bumpeq@{+}}}
\newcommand{\bumpeq@}[2]{%
  \vtop{\offinterlineskip
    \ialign{\hfil##\hfil\cr
      $\m@th#1\bumpeq$\cr % top
      \noalign{\sbox\z@{$\m@th#1\mkern2mu$}\kern-\wd\z@}
      $\m@th\alexey@demote{#1}#2$\cr
    }%
  }%
}
\newcommand{\alexey@demote}[1]{%
  \ifx#1\displaystyle\scriptstyle\else
  \ifx#1\textstyle\scriptstyle\else
  \scriptscriptstyle\fi\fi
}
\makeatother

\begin{document}

\[
(a, b)\bumpeqplus(c, d)_{x\bumpeqplus y}
\]

\end{document}

2mu试验一些值之后进行改变(始终以单位为mu单位)。

在此处输入图片描述

如果你还需要其他符号,+你可以定义其他命令,例如

\DeclareRobustCommand{\bumpeqminus}{\mathrel{\mathpalette\bumpeq@{-}}}

无需其他任何操作。

相关内容