Estou tentando escrever um problema de otimização bonito em LaTeX usando amsmath. O MWE é 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}
onde aninhei o ambiente alinhado no ambiente de alinhamento, porque preciso que o 'k= ...' esteja alinhado horizontalmente entre si e não quero introduzir caracteres de alinhamento na minha função objetivo (aquele após o sinal de soma ).
O problema é este: o 'sujeito a' não está alinhado com a 'restrição 1', como deveria. Existe uma maneira não suja de consertar isso?
Responder1
Umpoderiasubstitua aligned
por um TABstack. Os caracteres de tabulação e EOL foram alterados quando aninhados dentro de um ambiente de alinhamento.
OU você pode simplesmente usar a [t]
opção no arquivo 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}
Aqui está usando a [t]
opção alinhada para obter a mesma coisa:
\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}