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