
Ich verwende die align
Umgebung zusammen mit dem \overset
Befehl, um Text über ein Beziehungssymbol zu legen. Hier ist mein 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}
Und die Ausgabe ist
Wie Sie sehen, ist die Ausrichtung falsch oder zumindest nicht das, was ich möchte! Ich möchte, dass die beiden Gleichheitszeichen aneinander ausgerichtet sind, während ich mit meinem Code die Ausrichtung des ersten Gleichheitszeichens mit dem Anfang des Textes über dem Symbol erhalte!
Ich habe es bereits versucht mit
\overset{something}{&=} h(x)
Und
\overset{something}&{=} h(x)
aber beide Lösungen führten zu einem Fehler.
Wie erreiche ich die richtige Ausrichtung?
Bearbeiten: Die ursprüngliche Frage bezog sich auf \buildrel
, aber wie @egreg in einem Kommentar sagte, wird dieser Befehl in LaTeX nicht unterstützt, deshalb habe ich ihn durch ersetzt \overset
.
Antwort1
Deraligned-overset
Paket bietet nun eine einfache Lösung dafür: Schreiben Sie einfach
\documentclass{article}
...
\usepackage{aligned-overset}
\begin{document}
\begin{align*}
f(x)&=g(x)\\
\overset{something}&{=} h(x)
\end{align*}
\end{document}
Antwort2
Ich würde etwas auf eine Relation stapeln, indem ich \stackrel{<stack>}{<relation>}
(von etwas Ähnlichem wie \overset
) verwende undmathtools
's \mathclap
. Platzkorrekturen können durch die Verwendung eines geeigneten \hspace
: vorgenommen werden.
\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}
Vermeiden Sie jedoch lange Ausdrücke zu Symbolen. Stattdessen können Sie ein neues Symbol definieren, um die Beziehung darzustellen.
Antwort3
Sie sollten nicht verwenden \buildrel
, da dies kein unterstützter Befehl von LaTeX ist, sondern \overset
.
Sie können die Ausrichtung mithilfe eines Phantoms erreichen, aber meiner Meinung nach ist es besser, eine Nebenbedingung hinzuzufügen:
\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}
Antwort4
Hier ist eine Version mit \stackon
. Der Übersatzabstand wird mit dem optionalen Argument auf 2pt eingestellt. Der Text wurde in gesetzt \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}