Estoy intentando escribir un problema de optimización atractivo en LaTeX usando amsmath. El MWE es este:
\documentclass[letter, 10pt, conference]{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
& \underset{x,u}{\text{minimize}} & & \frac{1}{2} \sum_{k=0}^{N-1}
\text{some looooooooooooooooooooooooong function of } x,u \\
& \text{subject to} & &
\begin{aligned}
& \text{constraint 1}, & & k = 0,\ldots,N{-}1, \\
& \text{constraint 2}, & & k = 0,\ldots,N{-}1\\
\end{aligned}
\end{align*}
\end{document}
donde anidé el entorno alineado en el entorno de alineación, porque necesito que 'k=...' esté alineado horizontalmente entre sí y no quiero introducir caracteres de alineación en mi función objetivo (la que está después del signo de suma ).
El problema es este: el 'sujeto a' no está alineado con la 'restricción 1', como debería. ¿Existe alguna forma no sucia de solucionar este problema?
Respuesta1
Unopodríareemplace el aligned
con un TABstack. Se cambiaron los caracteres de tabulación y EOL cuando se anidan dentro de un entorno de alineación.
O simplemente podrías usar la [t]
opción en el archivo aligned
.
\documentclass[letter, 10pt, conference]{article}
\usepackage{amsmath,tabstackengine}
\stackMath
\setstackTAB{\&}
\setstackEOL{\#}
\begin{document}
\begin{align*}
& \underset{x,u}{\text{minimize}} & & \frac{1}{2} \sum_{k=0}^{N-1}
\text{some looooooooooooooooooooooooong function of } x,u \\
& \text{subject to} & &
\alignLongunderstack{%
\& \text{constraint 1}, \& \& k = 0,\ldots,N{-}1, \#
\& \text{constraint 2}, \& \& k = 0,\ldots,N{-}1
}
\end{align*}
\end{document}
Aquí se usa la [t]
opción en alineado para obtener lo mismo:
\documentclass[letter, 10pt, conference]{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
& \underset{x,u}{\text{minimize}} & & \frac{1}{2} \sum_{k=0}^{N-1}
\text{some looooooooooooooooooooooooong function of } x,u \\
& \text{subject to} & &
\begin{aligned}[t]
& \text{constraint 1}, & & k = 0,\ldots,N{-}1, \\
& \text{constraint 2}, & & k = 0,\ldots,N{-}1\\
\end{aligned}
\end{align*}
\end{document}