\overset 和對齊環境:如何獲得正確的對齊?

\overset 和對齊環境:如何獲得正確的對齊?

我將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}

在此輸入影像描述

相關內容