Estoy tratando de alinear un conjunto de ecuaciones largas, que son align entornos ya que la mayoría de ellos se están extendiendo en varias líneas.

Actualmente solo tengo una secuencia de align entornos, con cada ecuación adentro para alinear las piezas de cada ecuación. Adjunto una captura de pantalla del resultado:

No alineado

Lo que me gustaría obtener en su lugar es algo que se parezca más a

Alineado

que es el mismo conjunto de ecuaciones después de pasar por la oficina de corrección de estilo de una revista y se ve mucho mejor.

Aquí hay un MWE. Me gustaría que las tres ecuaciones se alineen en el signo igual.

\documentclass{article} \usepackage{amsmath} \begin{document} \begin{align} a & = b + c + d \nonumber \\ & \qquad + e + f + g \label{eq:1} \end{align} \begin{align} k & = l + m + n + m + n + m + n \nonumber \\ & \qquad + o + p + q \label{eq:2} \end{align} \begin{equation} r = s + t (u + v + w) \label{eq:3} \end{equation} \end{document} 

Comentarios

  • ¡Bienvenido a TeX.sx! Como nuevo usuario sin privilegios de publicación de imágenes, simplemente incluya la imagen como de costumbre y elimine el ! al frente para convertirlo en un enlace. Un moderador u otro usuario con privilegios de edición pueden volver a insertar el ! para convertirlo en una imagen nuevamente.
  • Sería mucho más fácil si proporcionara el código en términos de un MWE completamente compilable que ilustra el problema, incluido el \documentclass y los paquetes adecuados para que aquellos que intentan ayude a que no ‘ no tenga que volver a crearlo.
  • Quizás Cómo alinear texto normal; como dividir matrices, conjuntos de ecuaciones, tablas podría ser útil.
  • Creo que ‘ es mejor usar split para ecuaciones largas únicas en lugar de align. según el documento, split es para ecuaciones largas únicas, align es para ecuaciones múltiples. La numeración debería verse afectada.

Responda

sin un ejemplo real, así es como interpreto lo que quiero.

salida de código de ejemplo

y aquí está la entrada:

\documentclass{article} \usepackage{mathtools} \begin{document} This example shows \verb|aligned| equations within an \verb|align| environment. \begin{align} \phantom{i + j + k} &\begin{aligned} \mathllap{a} &= b + c + d\\ &\qquad + e + f + g + x + y + z \end{aligned}\\ &\begin{aligned} \mathllap{i + j + k} &= l + m + n\\ &\qquad + o + p + q \end{aligned} \end{align} \end{document} 

el elemento más largo de la izquierda se inserta al principio como un \phantom y las longitudes de los elementos de la izquierda del los segmentos se hacen» invisibles «al traslaparlos hacia la izquierda usando \mathllap del paquete mathtools.

La respuesta original se anotó (correctamente) para alinear los segmentos correctamente solo cuando los lados izquierdos tenían la misma longitud. Esta modificación supera ese problema.

Comentarios

  • ¡Uy! Olvidé un par de símbolos de unión. Se acerca la versión actualizada.
  • ¿solo funciona si los lados izquierdos tienen la misma longitud?
  • @ user1834164 – – usted ‘ re correcto acerca de las longitudes de los elementos de la izquierda. pero se puede salvar. agregando eso …
  • por qué necesitamos \ phantom {i + j + k} .. No pude entender ..
  • @PraphullaKoushik – el \phantom es necesario para que el ancho del lado izquierdo del grupo de ecuaciones se incluya en el ancho de todo el grupo, de modo que el grupo quede centrado.
  • Respuesta

    También puede utilizar el entorno split dentro del align, usando un ampersand (&) donde desea que tenga lugar la alineación. Aquí hay un MWE:

    \documentclass{article} \usepackage{amsmath} \begin{document} \begin{align} \begin{split}\label{eq:1} a ={}& b + c + d\\ & + e + f + g \end{split}\\ \begin{split}\label{eq:2} k ={}& l + m + n + m + n + m + n\\ & + o + p + q \end{split}\\ r ={}& s + t (u + v + w)\label{eq:3} \end{align} \end{document} 

    Observe que la última ecuación no está dentro de un entorno split, pero aún se alinea con el resto, ya que todavía está dentro del entorno align.

    El resultado se ve así:

    Salida de un entorno dividido dentro de un entorno de alineación

    Tenga en cuenta los grupos vacíos ({}) antes de los símbolos de unión. Sin estos, habría No se debe aplicar kerning entre los signos iguales y el carácter posterior, porque la alineación rompe el cuadro. Si bien los grupos vacíos no hacen nada por sí mismos, en el modo matemático los símbolos antes de ellos agregan kerning como si los grupos vacíos fueran caracteres ordinarios. Esto permite a TeX elegir el espaciado más apropiado. Si los símbolos de unión se colocaran antes de los signos iguales, el entorno de alineación se centraría alrededor de los signos iguales como debería sin tal molestia, pero entonces el signo de adición de la ecuación dividida quedaría incómodamente atrás, requiriendo algún tipo de ajuste manual de su propio.

    Comentarios

    • Lo bueno de esta solución es que no hay necesidad de jugar con \phantom o \mathllap.
    • ¡Vaya!De hecho, parece que no ‘ ni siquiera necesita las divisiones, reemplazando &= con ={}& hace el truco!
    • Cuando trato de hacer eso, aparece el error » La pestaña de alineación adicional se ha cambiado a \ cr. » Recibo este error cuando intento usar más de un signo comercial dentro de split. ¿Alguna idea?
    • @Blaisorblade: el motivo de las divisiones es aplicar correctamente los números de la ecuación a cada grupo. sí, \notag podría usarse, pero no ‘ t da el resultado deseado si el número de ecuación debe estar centrado en el grupo.
    • Probé esta técnica y funcionó al convertir a PDF, pero no funcionó al convertir a HTML usando el flujo de trabajo mk4ht htlatex test.tex "xhtml,mathml". Supongo que ‘ es un error en el convertidor html.

    Respuesta

    Como una extensión de la respuesta de Barbara, puede envolver solo el lado derecho de sus ecuaciones en aligned subambientes. Esto le permite alinear los signos iguales de los ecuaciones independientes del tamaño de los lados izquierdo o derecho.

    \documentclass{article} \usepackage{amsmath} \begin{document} This example shows \verb|aligned| equations within an \verb|align| environment. \begin{align} a &= \begin{aligned}[t] &b + c + d +\\ &c + e + f + g + h + i \end{aligned}\\ k &= \begin{aligned}[t] &l + m + n\\ &+ o + p + q \end{aligned} \end{align} \end{document} 

    El signo más en la segunda línea de la segunda ecuación no coincide exactamente porque es «un símbolo mathbin. Tal vez alguien con más conocimiento de TeX pueda comentar cómo solucionarlo mejor.

    Comentarios

    • Gracias, eso también funciona. La diferencia que veo es que los números de ecuación están en la línea superior de cada ecuación, mientras que cuando la ecuación completa está en la ‘ alineada ‘ entorno los números de la ecuación están centrados verticalmente. ¿Hay alguna manera de controlar eso?
    • @eldering: para obtener el espaciado correspondiente después del primer signo más en la última línea, precedalo con un grupo vacío, {}.

    Respuesta

    Aquí hay un align -sólo versión de sus ecuaciones:

    ingrese la descripción de la imagen aquí

    \documentclass{article} \usepackage{amsmath}% http://ctan.org/pkg/amsmath \newcommand{\myvec}[1]{\hat{\mathbf{#1}}}% Vector notation \begin{document} \begin{align} f_{\textit{P},\textit{P}}\left(\myvec{n};\myvec{m}\right) &= \frac{\omega^2}{4\pi\rho\alpha^4} \textit{AF}\left(k_\alpha\left(\myvec{n}-\myvec{m}\right)\right) \nonumber \\ &\mathrel{\phantom{=}} \times\left\{\left(\lambda+\mu\right)^2\eta_N+\left(\lambda+\mu\right)\mu\eta_N\left(\cos 2\phi+\cos 2\theta\right)\right. \nonumber \\ &\mathrel{\phantom{=}} \left.\kern-\nulldelimiterspace +\;\mu^2\eta_N\cos 2\phi\cos 2\theta+\mu^2\eta_T\sin 2\phi\sin 2\theta\cos\varphi\vphantom{\left(\lambda\right)^2}\right\}, \\ f_{\textit{P},\textit{SH}}\left(\myvec{n};\myvec{m},\myvec{q}\right) &= \frac{\omega^2}{4\pi\rho\alpha\beta^3} \textit{AF}\left(k_\alpha\myvec{n}-k_\beta\myvec{m}\right) \nonumber \\ &\mathrel{\phantom{=}} \times\left(-\mu^2\eta_T\right)\sin 2\phi\cos\theta\sin\varphi, \\ f_{\textit{P},\textit{SV}}\left(\myvec{n};\myvec{m},\myvec{q}\right) &= \frac{\omega^2}{4\pi\rho\alpha\beta^3} \textit{AF}\left(k_\alpha\myvec{n}-k_\beta\myvec{m}\right) \nonumber \\ &\mathrel{\phantom{=}} \times\left\{\left(\lambda+\mu\right)\mu\eta_N\sin 2\theta+\mu^2\eta_N\cos 2\phi\sin 2\theta\right. \nonumber \\ &\mathrel{\phantom{=}} \left.\kern-\nulldelimiterspace -\;\mu^2\eta_T\sin 2\phi\cos 2\theta\cos\varphi\right\}, \end{align} \end{document} ​ 

    Algunos de los ajustes incluyen

    • El uso de \mathrel para el espacio adecuado alrededor de = oculto (incluido a través de \phantom);
    • Algunos \nulldelimiter kerning negativos alrededor de los delimitadores \left. faltantes (de lo contrario se introduciría un espacio adicional entre el operador / operando);
    • Ajuste de altura para \left\{ y \right\} de varias líneas pares.

    Como hilo conductor, puede ser útil leer detenidamente Herbert Voß « mathmode documento .

    Respuesta

    Este es un manera de lograr esto para pequeñas cantidades de texto usando el comando \intertext.

    \documentclass{article} \usepackage{amsmath} \begin{document} This example shows \verb|aligned| equations within an \verb|align| environment. \begin{align} \begin{aligned} a &= b + c + d\\ &\qquad + e + f + g \end{aligned}\\ \begin{aligned} k &= l + m + n + m + n + m + n\\ &\qquad + o + p + q \end{aligned} \end{align} This example shows text and equations within an \verb|align| environment. \begin{align} a &= b + c + d\\ &\qquad + e + f + g \intertext{A small amount of text can go here with $x=2$ inline math and $$\int_a^b f(x)\,dx=F(b)-F(a)$$ (even inline math). But not a lot of text. } k &= l + m + n + m + n + m + n\\ &\qquad + o + p + q \end{align} \end{document} 

    Comentarios

    • La parte relevante es sobre \qquad, que ‘ he usado, pero eso no ‘ t funciona lo suficientemente bien.
    • (+1) ¡Ah! 🙂 Estuve buscando algo así por un tiempo. Muchas gracias. 🙂
    • En caso de que los párrafos dividan las ecuaciones para alinearlas, ¿cuál es la mejor solución?

    Respuesta

    Si en lugar de alinear las ecuaciones finales desea justificarlas a la derecha (de forma similar a como el entorno \multiline maneja las ecuaciones finales), puede utilizar lo siguiente truco, que recogí de esta respuesta de Ulrike Fischer.

    \documentclass{article} \usepackage{amsmath} \begin{document} \begin{align} a & = b + c + d + e + f + g + h \nonumber \\ & \hspace{7cm} + i + j + k \\ a & = b + c + d + e + f + g + h \nonumber \\ & \omit\hfill ${} + i + j + k$ \end{align} \end{document} 

    omitir + hfill

    Responder

    \begin{align} \ni Tdij (Ti,Tj,Sk,t) & = Tdij(Ti,Tj,Sk,t) \nonumber \\ & Tddir (Ti,Tj,Sk,t) \bigoplus \nonumber \\ & Tdrecom (Ti,Tj,Sk,t) \bigoplus \nonumber \\ & Tdiv (Ti,Tj,Sk,t) \label{eq:1} \end{align} 

    proporcionará el siguiente resultado ingrese la descripción de la imagen aquí

    Comentarios

    • ¿Cómo aborda esto la publicación original de tal manera que no ‘ ya haya sido abordado por las otras respuestas?

    Respuesta

    Esta respuesta funciona cuando usa el

    paquete. El siguiente ejemplo define dos macros LaTeX\mymidliney\mylastline. Ambas macros esencialmente se expanden a su primer argumento dentro de entornosalign*. La macro\mymidlinela centra y la macro\mylastlinela alinea a la derecha. Por lo tanto, el ancho del material en el segundo argumento se resta del «ancho de visualización» disponible. Para entornosalign*, este debería ser el lado izquierdo (más largo) de la ecuación. El siguiente ejemplo muestra cómo puede hacerlo de manera más eficiente con una macro\LHS.

     \documentclass{article} \usepackage[DIV15]{typearea} \usepackage{amsmath,amsfonts} \usepackage{fleqn} \usepackage{ulem} \makeatletter \newdimen\@tzadima \newdimen\@tzadimb \newbox\@tzaboxa \def\mylinemeasures#1#2{% \@tzadima\displaywidth% \advance\@tzadima-\tagwidth@% \advance\@tzadima-\alignsep@% \setbox\@tzaboxa\hbox{$\displaystyle#1$}% \@tzadimb\wd\@tzaboxa% \advance\@tzadima-\@tzadimb% \setbox\@tzaboxa\hbox{$\displaystyle#2$}% \@tzadimb\wd\@tzaboxa% \advance\@tzadima-\@tzadimb% } \def\mymidline#1#2{% \mylinemeasures{#1}{#2}% \divide\@tzadima2% \hbox to \@tzadima{}#1\notag } \def\mylastline#1#2{% \mylinemeasures{#1}{#2}% \hbox to \@tzadima{}#1% } \makeatother \begin{document} \begin{align*} \gdef\LHS{(L\cdot R)^{(i)}[i+1:n,i+1:n]}\LHS &= \underbrace{L^{(i-1)}[i+1:n,1:i-1]\cdot R^{(i-1)}[1:i-1,i+1:n]}_{\text{untouched}}+\\ &\mymidline{+ L^{(i)}[i+1:n,i] \underbrace{R^{(i)}[i,i+1:n]}_{\text{untouched pivot row}}+}\LHS\\ &\mylastline{+ \underbrace{L^{(i)}[i+1:n,i+1:n]}_{=1_{n-i-1}}\cdot R^{(i)}[i+1:n,i+1:n]}\LHS\\ &= L^{(i-1)}[i+1:n,1:i-1]\cdot R^{(i-1)}[1:i-1,i+1:n] +\\ &\mymidline{+ \uwave{L^{(i)}[i+1:n,i]\cdot R^{(i-1)}[i,i+1:n]}+}\LHS\\ &\mylastline{+R^{(i-1)}[i+1:n,i+1:n]\uwave{\strut- L^{(i)}[i+1:n,i]\cdot R^{(i-1)}[i,i+1:n]}}\LHS\\ &=L^{(i-1)}[i+1:n,1:i-1]\cdot R^{(i-1)}[1:i-1,i+1:n] +\\ &\mymidline{+ \underbrace{L^{(i-1)}[i+1:n,i]}_{=0}\cdot R^{(i-1)}[i,i+1:n] +}\LHS\\ &\mylastline{+ \underbrace{L^{(i-1)}[i+1:n,i+1:n]}_{=1_{n-i}}\cdot R^{(i-1)}[i+1:n,i+1:n]}\LHS\\ &= A[i+1:n,i+1:n]. \end{align*} \end{document}  

    Formateo multilínea dentro de align *

    Si tiene la versión numerada align* también debe considerar la ancho de la etiqueta de la ecuación y el separador de etiquetas en el segundo argumento de \mymidline y \mylastline. No encontré una medida predefinida para el ancho de la etiqueta. Después de algunas pruebas, resultó que \quad\quad(1) es un marcador de posición apropiado para la etiqueta.

     \documentclass{article} \usepackage[DIV15]{typearea} \usepackage{amsmath,amsfonts} \usepackage{fleqn} \usepackage{ulem} \makeatletter \newdimen\@tzadima \newdimen\@tzadimb \newbox\@tzaboxa \def\mylinemeasures#1#2{% \@tzadima\displaywidth% \advance\@tzadima-\tagwidth@% \advance\@tzadima-\alignsep@% \setbox\@tzaboxa\hbox{$\displaystyle#1$}% \@tzadimb\wd\@tzaboxa% \advance\@tzadima-\@tzadimb% \setbox\@tzaboxa\hbox{$\displaystyle#2$}% \@tzadimb\wd\@tzaboxa% \advance\@tzadima-\@tzadimb% } \def\mymidline#1#2{% \mylinemeasures{#1}{#2}% \divide\@tzadima2% \hbox to \@tzadima{}#1\notag } \def\mylastline#1#2{% \mylinemeasures{#1}{#2}% \hbox to \@tzadima{}#1% } \makeatother \begin{document} \begin{align} \gdef\LHS{(L\cdot R)^{(i)}[i+1:n,i+1:n]}\LHS &= \underbrace{L^{(i-1)}[i+1:n,1:i-1]\cdot R^{(i-1)}[1:i-1,i+1:n]}_{\text{untouched}}+\notag\\ &\mymidline{+ L^{(i)}[i+1:n,i] \underbrace{R^{(i)}[i,i+1:n]}_{\text{untouched pivot row}}+}\LHS\\ &\mylastline{+ \underbrace{L^{(i)}[i+1:n,i+1:n]}_{=1_{n-i-1}}\cdot R^{(i)}[i+1:n,i+1:n]}{\LHS\quad\quad(1)}\\ &= L^{(i-1)}[i+1:n,1:i-1]\cdot R^{(i-1)}[1:i-1,i+1:n] +\notag\\ &\mymidline{+ \uwave{L^{(i)}[i+1:n,i]\cdot R^{(i-1)}[i,i+1:n]}+}{(L\cdot R)^{(i)}[i+1:n,i+1:n]}\\ &\mylastline{+R^{(i-1)}[i+1:n,i+1:n]\uwave{\strut- L^{(i)}[i+1:n,i]\cdot R^{(i-1)}[i,i+1:n]}}{\LHS\quad\quad(1)}\\ &=L^{(i-1)}[i+1:n,1:i-1]\cdot R^{(i-1)}[1:i-1,i+1:n] +\notag\\ &\mymidline{+ \underbrace{L^{(i-1)}[i+1:n,i]}_{=0}\cdot R^{(i-1)}[i,i+1:n] +}{(L\cdot R)^{(i)}[i+1:n,i+1:n]}\\ &\mylastline{+ \underbrace{L^{(i-1)}[i+1:n,i+1:n]}_{=1_{n-i}}\cdot R^{(i-1)}[i+1:n,i+1:n]}{\LHS\quad\quad(1)}\\ &= A[i+1:n,i+1:n]. \end{align} \end{document}  

    ingrese la descripción de la imagen aquí

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *