\overset 和 align 环境:如何获得正确的对齐?

\overset 和 align 环境:如何获得正确的对齐?

我正在使用align环境和\overset命令将一些文本放在关系符号上。这是我的 MWE:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{amsmath}

\begin{document}
\begin{align*}
f(x)&=g(x)\\
    &\overset{something}{=} h(x)
\end{align*}
\end{document}

输出是

错误对齐

如您所见,对齐方式是错误的,或者至少不是我想要的!我希望两个等号彼此对齐,而使用我的代码,我得到的是第一个等号与符号上方文本的开头对齐!

我已经尝试过了

\overset{something}{&=} h(x)

\overset{something}&{=} h(x)

但这两种解决方案都会导致错误。

我怎样才能获得正确的对齐?

编辑:最初的问题是关于的\buildrel,但是,正如@egreg 在评论中所说,LaTeX 不支持此命令,所以我用它代替了\overset

答案1

aligned-overset软件包现在提供了一个简单的解决方案:只需编写

\documentclass{article}
...
\usepackage{aligned-overset}
\begin{document}
\begin{align*}
  f(x)&=g(x)\\
  \overset{something}&{=} h(x)
\end{align*}
\end{document}

相应输出

答案2

\stackrel{<stack>}{<relation>}我会使用(类似的东西)将某些东西堆叠在关系之上\overset,然后使用mathtools\mathclap。可以使用适当的方法来进行空间校正\hspace

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools}

\begin{document}
\begin{align*}
  f(x) &= g(x) \\
       &\buildrel{something}\over{=} h(x)
\end{align*}

\begin{align*}
  f(x) &= g(x) \\
       &\stackrel{\mathclap{\text{something}}}{=} \hspace*{1.5em} h(x) \\
       &\overset{\mathclap{\text{something}}}{=} \hspace*{1.5em} h(x)
\end{align*}

\end{document}

但是,请避免使用冗长的符号短语。您可以定义一个新符号来表示关系。

答案3

您不应该使用\buildrel,因为它不受 LaTeX 的支持,但是\overset

您可以使用幻影进行对齐,但在我看来,最好添加一个附加条件:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{amsmath}

\begin{document}
Possible way
\begin{align*}
f(x)&\overset{\hphantom{\text{something}}}{=}g(x)\\
    &\overset{\text{something}}{=} h(x)
\end{align*}

Better way
\begin{alignat*}{2}
f(x) &= g(x) \\
     &= h(x) &&\qquad\text{(something)}
\end{alignat*}
\end{document}

在此处输入图片描述

答案4

这是使用 的版本\stackon。使用可选参数将重叠间隙设置为 2pt。文本已在 中设置\scriptsize

\documentclass{article}
%\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc}
%\usepackage[italian]{babel}
\usepackage{amsmath,stackengine}
\stackMath
\begin{document}
\begin{align*}
f(x)&\stackon{=}{\phantom{\text{\scriptsize something}}}g(x)\\
    &\stackon[2pt]{=}{\text{\scriptsize something}} h(x)
\end{align*}
\end{document}

在此处输入图片描述

相关内容