
Estoy usando el align
entorno junto con el \overset
comando para poner texto sobre un símbolo de relación. Aquí está mi 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}
Y la salida es
Como puedes ver la alineación está mal, ¡o al menos no es lo que quiero! ¡Me gustaría que los dos signos iguales estén alineados uno con el otro, mientras que con mi código obtengo la alineación del primer signo igual con el inicio del texto sobre el símbolo!
ya lo he probado con
\overset{something}{&=} h(x)
y
\overset{something}&{=} h(x)
pero ambas soluciones condujeron a un error.
¿Cómo puedo conseguir la alineación correcta?
Editar: la pregunta original era sobre \buildrel
, pero, como dijo @egreg en un comentario, este comando no es compatible con LaTeX, así que lo sustituí por \overset
.
Respuesta1
Elaligned-overset
El paquete ahora proporciona una solución fácil para esto: simplemente escriba
\documentclass{article}
...
\usepackage{aligned-overset}
\begin{document}
\begin{align*}
f(x)&=g(x)\\
\overset{something}&{=} h(x)
\end{align*}
\end{document}
Respuesta2
Apilaría algo encima de una relación usando \stackrel{<stack>}{<relation>}
(de algo similar como \overset
) y usaríamathtools
's \mathclap
. Las correcciones de espacio se pueden realizar utilizando un apropiado \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}
Sin embargo, evite frases largas sobre símbolos. En su lugar, podría definir un nuevo símbolo para representar la relación.
Respuesta3
No deberías utilizar \buildrel
, que no es un comando compatible con LaTeX, pero \overset
.
Puedes alinearte usando un fantasma, pero en mi opinión es mejor agregar una condición lateral:
\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}
Respuesta4
Aquí hay una versión que usa \stackon
. La brecha desbordada se establece en 2 puntos usando el argumento opcional. El texto ha sido ambientado en \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}