Я пытаюсь написать красивую задачу оптимизации в LaTeX с использованием amsmath. MWE таков:
\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}
где я вложил выровненную среду в среду выравнивания, потому что мне нужно, чтобы «k= ...» были выровнены по горизонтали друг с другом, и я не хочу вводить символы выравнивания в свою целевую функцию (тот, что после знака суммы).
Проблема в следующем: «subject to» не согласован с «constraint 1», как должно быть. Есть ли негрязный способ исправить это?
решение1
Одинмогзамените aligned
на TABstack. Символы табуляции и EOL были изменены при вложении в среду выравнивания.
ИЛИ вы можете просто использовать [t]
опцию на 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}
Вот использование [t]
опции Aligned для получения того же самого результата:
\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}