我正在嘗試使用 amsmath 在 LaTeX 中編寫一個好看的優化問題。 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=...”彼此水平對齊,並且我不想在目標函數中引入對齊字元(求和符號後面的對齊字元) )。
問題是這樣的:「服從」與「約束 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]
對齊的選項來獲得相同的結果:
\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}