我正在编写以下优化模型:
\documentclass{article}
\usepackage[cmex10]{amsmath}
\DeclareMathOperator*{\Min}{min}
\begin{document}
\begin{align}
&Q_t(v_{t-1},a_{ti\omega}) = \notag \\
&\min_{\substack{g_t,~y_t,f_t,~\theta_t,~\\\Delta u^{up},~\Delta u^{dn},\\\Delta g^{up},~\Delta g^{dn},\\g_t^c,~y_t^c,~f_t^c,~\theta_t^c}} c^\top_{t}g_{t,i}+\sum_{i \in \mathcal{I}^T}(c^{U}_i \Delta g^{up}_{t,i}+c^{D}_i \Delta g^{dn}_{t,i})+ \notag \\
&\hspace{19mm}\sum_{i \in \mathcal{I}^H}(c^{U}_i \Delta u^{up}_{t,i}+c^{D}_i \Delta u^{dn}_{t,i})+\mathcal{Q}_{t+1}(v_t)
\end{align}
\end{document}
但是,我希望目标函数的两个部分都接近。我不希望它们之间有垂直间隙。有办法吗?
答案1
如果你确实需要align
,你可以在换行时添加或删除空格。在本例中,在第二个换行符处,用 替换\\
可以\\[-2em]
减少垂直间距:
\documentclass{article}
\usepackage[cmex10]{amsmath}
\DeclareMathOperator*{\Min}{min}
\begin{document}
\begin{align}
&Q_t(v_{t-1},a_{ti\omega}) = \notag \\
&\min_{\substack{...} c^\top_{t}g_{t,i}+\sum_{i \in \mathcal{I}^T}(c^{U}_i \Delta
g^{up}_{t,i}+c^{D}_i \Delta g^{dn}_{t,i})+ \notag \\[-2em] % here
&\hspace{19mm}\sum_{i \in \mathcal{I}^H}(c^{U}_i \Delta u^{up}_{t,i}+c^{D}_i \Delta u^{dn}_{t,i})+\mathcal{Q}_{t+1}(v_t)
\end{align}
\end{document}
align
如果您想切换,这也可以在 以外的环境中工作。
答案2
我认为它实际上是一个单行方程,所以我会使用方程不对齐,然后用它aligned
来包装子项。
\documentclass{article}
\usepackage[cmex10]{amsmath}
\DeclareMathOperator*{\Min}{min}
\begin{document}
\begin{equation}
Q_t(v_{t-1},a_{ti\omega}) =
\min_{
\substack{g_t,~y_t,f_t,~\theta_t,~\\\Delta u^{up},~\Delta u^{dn},\\
\Delta g^{up},~\Delta g^{dn},\\g_t^c,~y_t^c,~f_t^c,~\theta_t^c}}
c^\top_{t}g_{t,i}+{}
\begin{aligned}[t]
& \sum_{i \in \mathcal{I}^T}(c^{U}_i \Delta g^{up}_{t,i}+c^{D}_i \Delta g^{dn}_{t,i})+\\
&\sum_{i \in \mathcal{I}^H}(c^{U}_i \Delta u^{up}_{t,i}+c^{D}_i \Delta u^{dn}_{t,i})+\mathcal{Q}_{t+1}(v_t)
\end{aligned}
\end{equation}
\end{document}
答案3
还有一个解决方案:-),基于multlined
包中环境的使用mathtools
:
\documentclass{article}
\usepackage[cmex10]{mathtools}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{align}
\setlength\PreviewBorder{1em}
\begin{document}
\begin{align}
Q_t(v_{t-1},a_{ti\omega}) = \notag \\
\min_{\substack{g_t,~y_t,f_t,~\theta_t,~\\
\Delta u^{up},~\Delta u^{dn},\\
\Delta g^{up},~\Delta g^{dn},\\
g_t^c,~y_t^c,~f_t^c,~\theta_t^c}}
& \begin{multlined}[t][75mm]
c^\top_{t}g_{t,i} +
\sum_{i \in \mathcal{I}^T}(c^{U}_i
\Delta g^{up}_{t,i}+c^{D}_i \Delta g^{dn}_{t,i}) + \\
\sum_{i \in \mathcal{I}^H}(c^{U}_i
\Delta u^{up}_{t,i}+c^{D}_i \Delta u^{dn}_{t,i})+\mathcal{Q}_{t+1}(v_t)
\end{multlined}
\end{align}
\end{document}
编辑:我刚刚发现我的代码中有一个愚蠢的错误……的位置\notag
在了错误的一侧\\
。现在这个问题已经得到纠正,方程的编号也得到了改进。
答案4
我会使用multline
环境而不是align
。为了减少由于过长而产生的间距\substack
,请使用\smash[b]
。
平均能量损失
\documentclass{article}
\usepackage[cmex10]{amsmath}
\DeclareMathOperator*{\Min}{min}
\begin{document}
\begin{multline}
Q_t(v_{t-1},a_{ti\omega}) =
\min_{\smash[b]{\substack{g_t,~y_t,f_t,~\theta_t,~\\\Delta u^{up},~\Delta u^{dn},\\\Delta g^{up},~\Delta g^{dn},\\g_t^c,~y_t^c,~f_t^c,~\theta_t^c}}} c^\top_{t}g_{t,i}+\sum_{i \in \mathcal{I}^T}(c^{U}_i \Delta g^{up}_{t,i}+c^{D}_i \Delta g^{dn}_{t,i})+ \\
\hspace{19mm}\sum_{i \in \mathcal{I}^H}(c^{U}_i \Delta u^{up}_{t,i}+c^{D}_i \Delta u^{dn}_{t,i})+\mathcal{Q}_{t+1}(v_t)
\end{multline}
\end{document}