我正在使用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}