# Manual de LaTeX/Formulas matemáticas avanzadas/Alineación vertical en matemáticas

Un problema que se encuentra a menudo con los entornos displaymath y equation es la falta de capacidad para abarcar varias líneas. Si bien es posible definir líneas individualmente, estas no se alinearán.

## Comandos para agregar símbolos o texto arriba y abajo en una ecuación

Los comandos \overset y \underset componen los símbolos de composición arriba y debajo de las expresiones. Sin AmsTex, se puede obtener el mismo resultado de \overset con \stackrel. Esto puede ser particularmente útil para crear nuevas relaciones binarias:
| \[ A \overset{!}{=} B; A \stackrel{!}{=} B \] | $A{\overset {!}{=}}B;~~A{\stackrel {!}{=}}B\,$ |
O para mostrar el uso de la Regla de L'Hôpital:
| \[ \lim_{x\to 0}{\frac{e^x-1}{2x}} \overset{\left[\frac{0}{0}\right]}{\underset{\mathrm{H}}{=}} \lim_{x\to 0}{\frac{e^x}{2}}={\frac{1}{2}} \] | $\lim _{x\to 0}{\frac {e^{x}-1}{2x}}{\overset {\left[{\frac {0}{0}}\right]}{\underset {\mathrm {H} }{=}}}\lim _{x\to 0}{\frac {e^{x}}{2}}={\frac {1}{2}}$ |
Es conveniente definir un nuevo operador que establezca el signo igual con H y la fracción proporcionada:
* \newcommand{\Heq}[1]{\overset{\left[#1\right]}{\underset{\mathrm{H}}{=}}}
que reduce el ejemplo anterior en:
* \lim_{x\to 0}{\frac{e^x-1}{2x}}
* \Heq{\frac{0}{0}}
* \lim_{x\to 0}{\frac{e^x}{2}}={\frac{1}{2}}
Si el propósito es hacer comentarios sobre partes particulares de una ecuación, los comandos \overbrace y \underbrace pueden ser más útiles. Sin embargo, tienen una sintaxis diferente (y se pueden alinear con el comando \vphantom):
| \[ z = \overbrace{ \underbrace{x}_\text{real} + i \underbrace{y}_\text{imaginario} }^\text{Número complejo} \] | $z=\overbrace {\underbrace {x} _{\text{real}}+i\underbrace {y} _{\text{imaginario}}} ^{\text{Número complejo}}$ |
A veces los comentarios son más largos que la fórmula que se está comentando, lo que puede causar problemas de espacio. Estos se pueden eliminar con el comando \mathclap:
* \[ y = a + f(\underbrace{b x}_{ \ge 0 \text{ by assumption}}) = a + f(\underbrace{b x}_{ \mathclap{\ge 0 \text{ by assumption}}}) \]
Alternativamente, para usar corchetes en lugar de llaves use los comandos \underbracket y \overbracket:
* \[ z = \overbracket[3pt]{ \underbracket{x}_{\text{real}} + \underbracket[0.5pt][7pt]{iy}_{\text{imaginary}} }^{\text{complex number}} \]
Los argumentos opcionales establecen el grosor de la regla y la altura del soporte respectivamente:
* \underbracket[rule thickness][bracket height]{argument}_{text below}
Los comandos \xleftarrow y \xrightarrow producen flechas que se extienden a lo largo del texto. Una vez más, la sintaxis es diferente: el argumento opcional (usando [ y ]) especifica el subíndice, y el argumento obligatorio (usando { y }) especifica el superíndice (que puede dejarse vacío insertando un espacio en blanco).
| \[ A \xleftarrow{\text{en este sentido}} B \xrightarrow[\text{o en este sentido}]{ } C \] | $A\xleftarrow {\text{en este sentido}} B{\xrightarrow[{\text{o en este sentido}}]}C\,$ |
Para flechas más extensibles, debe usar el paquete mathtools
* \begin{gather} a \xleftrightarrow[under]{over} b\\ % A \xLeftarrow[under]{over} B\\ % B \xRightarrow[under]{over} C\\ % C \xLeftrightarrow[under]{over} D\\ % D \xhookleftarrow[under]{over} E\\ % E \xhookrightarrow[under]{over} F\\ % F \xmapsto[under]{over} G\\ \end{gather}
y para arpones:
* \begin{gather} H \xrightharpoondown[under]{over} I\\ % I \xrightharpoonup[under]{over} J\\ % J \xleftharpoondown[under]{over} K\\ % K \xleftharpoonup[under]{over} L\\ % L \xrightleftharpoons[under]{over} M\\ % M \xleftrightharpoons[under]{over} N \end{gather}

## Entornos align y align*

Los entornos de align y align*, disponibles a través del paquete amsmath, se utilizan para organizar ecuaciones de varias líneas. Al igual que con las matrices y las tablas, \\ especifica un salto de línea y & se usa para indicar el punto en el que las líneas deben alinearse.
El entorno align* se usa como el entorno displaymath or equation*:
| \begin{align*} f(x) &= (x+a)(x+b) \\ &= x^2 + (a+b)x + ab \end{align*} | ${\begin{aligned}f(x)&=(x+a)(x+b)\\&=x^{2}+(a+b)x+ab\end{aligned}}\,$ |
Tenga en cuenta que el entorno align no debe estar anidado dentro de un entorno equation (o similar). En cambio, align es un reemplazo para tales entornos; El contenido dentro de una align se coloca automáticamente en modo matemático.
align* suprime la numeración. Para forzar la numeración en una línea específica, use el comando \tag{...} antes del salto de línea.
align es similar, pero numera automáticamente cada línea como el entorno equation. Se puede hacer referencia a las líneas individuales colocando una \label{...} antes del salto de línea. El comando \nonumber o \notag se puede usar para suprimir el número de una línea dada:
| \begin{align} f(x) &= x^4 + 7x^3 + 2x^2 \nonumber \\ &\qquad + 10x + 12 \end{align} | ${\begin{aligned}f(x)&=x^{4}+7x^{3}+2x^{2}\\&\qquad+10x+12\qquad \qquad (3)\end{aligned}}$ |
Tenga en cuenta que hemos agregado algunas sangrías en la segunda línea. Además, debemos insertar las llaves dobles () antes del signo +, de lo contrario, látex no creará el espaciado correcto después del signo +. La razón de esto es que sin las llaves, el látex interpreta el signo + como un operador unario, en lugar del operador binario que realmente es.
Son posibles alineaciones más complicadas, con & adicionales en una sola línea que especifica múltiples "columnas de ecuaciones", cada una de las cuales está alineada. El siguiente ejemplo ilustra la regla de alineación de align*:
| \begin{align*} f(x) &= a x^2+b x +c & g(x) &= d x^3 \\ f'(x) &= 2 a x +b & g'(x) &= 3 d x^2 \end{align*} | ${\begin{aligned}f(x)&=ax^{2}+bx+c&g(x)&=dx^{3}\\f'(x)&=2ax+b&g'(x)&=3dx^{2}\end{aligned}}\,$ |

## Corchetes que abarcan múltiples líneas

Si desea que una llave continúe a través de una nueva línea, haga lo siguiente:
| \begin{align} f(x) &= \pi \left\{ x^4 + 7x^3 + 2x^2 \right.\nonumber\\ &\qquad \left. + 10x + 12 \right\} \end{align} | ${\begin{aligned}f(x)&=\pi \left\{x^{4}+7x^{3}+2x^{2}\right.\\&\qquad \left.+10x+12\right\}\qquad \qquad (4)\end{aligned}}$ |
En esta construcción, los tamaños de las llaves izquierda y derecha no son automáticamente iguales, a pesar del uso de \left\{ y \right\}. Esto se debe a que cada línea está compuesta como una ecuación completamente separada: observe el uso de \right. y \left. así que no hay comandos \left and \right no emparejados dentro de una línea (estos no son necesarios si la fórmula está en una línea). Puede controlar el tamaño de los corchetes manualmente con los comandos \big, \Big, \bigg y \Bigg.
Alternativamente, la altura de la ecuación más alta se puede replicar en la otra usando el comando \vphantom:
| \begin{align} A &= \left(\int_t XXX \right.\nonumber\\ &\qquad \left.\vphantom{\int_t} YYY \dots \right) \end{align} | ${\begin{aligned}A&=\left(\int _{t}XXX\right.\\&\qquad YYY\dots {\biggr )}\qquad \qquad \mathrm {(5)} \end{aligned}}$ |

### Uso de corchetes alineados para funciones definidas a trozos

Puede usar \left y \right. para el tipo de funciones definidas a trozos
| \[f(x) = \left\{ \begin{array}{lr} x^2 & : x < 0\\ x^3 & : x \ge 0 \end{array} \right. \] | $f(x)=\left\{{\begin{array}{lr}x^{2}&:x<0\\x^{3}&:x\geq 0\end{array}}\right.$ |

## Entorno cases

El entorno cases es más eficiente para las funciones definidas a trozos o en partes:
| \[ u(x) = \begin{cases} \exp{x} & \text{if } x \geq 0 \\ 1 & \text{if } x < 0 \end{cases} \] | $u(x)={\begin{cases}\exp {x}&{\text{if }}x\geq 0\\1&{\text{if }}x<0\end{cases}}$ |
LaTeX se encargará de definir y/o alinear las columnas. Con el entorno cases estilo de texto matemático se usa con resultados como: $a={\begin{cases}\int x\,\mathrm {d} x\\b^{2}\end{cases}}$
El estilo de visualización se puede utilizar en su lugar, utilizando el entorno dcases de del paquete mathtools:
| \[ a = \begin{dcases} \int x\, \mathrm{d} x\\ b^2 \end{dcases} \] | $a={\begin{cases}\displaystyle \int x\,\mathrm {d} x\\\displaystyle b^{2}\end{cases}}$ |
A menudo, la segunda columna consiste principalmente en texto normal. Para establecerlo en la fuente romana normal del documento, se puede usar el entorno dcases*:
| \[ f(x) = \begin{dcases*} x & when $x$ is even\\ -x & when $x$ is odd \end{dcases*} \] | $f(x)={\begin{cases}x&{\text{when }}x{\text{ is even}}\\-x&{\text{when }}x{\text{ is odd}}\end{cases}}$ |

## Otros entornos para arreglos verticales

Aunque align y align* son los más útiles, existen otros entornos que también pueden ser de interés:
| Nombre del entorno | Descripción | Notas |
| eqnarray y eqnarray* | Similar a align y align* | No recomendado porque el espaciado es inconsistente |
| multline y multline* | Primera línea alineada a la izquierda, última línea alineada a la derecha | Número de ecuación alineado verticalmente con la primera línea y no centrado como con otros entornos |
| gather y gather* | Ecuaciones consecutivas sin alineación | |
| flalign y flalign* | Similar a align, pero alineó a la izquierda la primera columna de ecuación y alinea a la derecha la última columna | |
| alignat y alignat* | Takes an argument specifying number of columns. Allows control of the horizontal space between equations | Este entorno toma un argumento, el número de "columnas de ecuaciones": cuente el número máximo de & s en cualquier fila, agregue 1 y divida por 2 |
También hay algunos entornos que no forman un entorno matemático por sí mismos y pueden usarse como bloques de construcción para estructuras más elaboradas:
| Nombre del entorno matemático | Descripción |
| gathered | Permite que las ecuaciones de recopilación se establezcan una debajo de la otra y se les asigne un solo número de ecuación |
| split | Similar a align*, pero usado dentro de otro entorno matemático mostrado |
| aligned | Similar a align, para ser utilizado dentro de otro entorno matemático. |
| alignedat | Similar a alignat, y del mismo modo toma un argumento adicional que especifica el número de columnas de ecuaciones para establecer. |
Por ejemplo:
| \begin{equation} \left.\begin{aligned} B'&=-\partial \times E,\\ E'&=\partial \times B - 4\pi j, \end{aligned} \right\} \qquad \text{Maxwell's equations} \end{equation} | $\left.{\begin{aligned}B'&=-\partial \times E,\\E'&=\partial \times B-4\pi j,\end{aligned}}\right\$ |
| \begin{alignat}{2} \sigma_1 &= x + y &\quad \sigma_2 &= \frac{x}{y} \\ \sigma_1' &= \frac{\partial x + y}{\partial x} & \sigma_2' &= \frac{\partial \frac{x}{y}}{\partial x} \end{alignat} | ${\begin{aligned}\sigma _{1}&=x+y&\sigma _{2}&={\frac {x}{y}}&\qquad &\qquad &(1)\\\sigma _{1}'&={\frac {\partial x+y}{\partial x}}&\sigma _{2}'&={\frac {\partial {\frac {x}{y}}}{\partial x}}&&&(2)\end{aligned}}$ |
* \begin{gather*} a_0=\frac{1}{\pi}\int\limits_{-\pi}^{\pi}f(x)\,\mathrm{d}x\\[6pt] \begin{split} a_n=\frac{1}{\pi}\int\limits_{-\pi}^{\pi}f(x)\cos nx\,\mathrm{d}x=\\ =\frac{1}{\pi}\int\limits_{-\pi}^{\pi}x^2\cos nx\,\mathrm{d}x \end{split}\\[6pt] \begin{split} b_n=\frac{1}{\pi}\int\limits_{-\pi}^{\pi}f(x)\sin nx\,\mathrm{d}x=\\ =\frac{1}{\pi}\int\limits_{-\pi}^{\pi}x^2\sin nx\,\mathrm{d}x \end{split}\\[6pt] \end{gather*}
* ↑ requiere el paquete mathtools