这optidef 包可以使用命令(文档第 9.9 节)来分解长目标函数\breakObjective
。我有一个约束太长了。下面的解决方法用于\breakObjective
约束并完成工作,但有没有更好的方法?
\documentclass{article}
\usepackage{optidef}
\begin{document}
The constraint below is too long:
\begin{maxi}
{ \{C_s\}_{s = t}^\infty }{ \sum_{s = t}^\infty \beta^{s-t} u(C_s) }{}{}
\addConstraint{ C_s + a + b + c + d + e + f + g }{ = h + i + j + k + l + m + n + o + p. }{}
\end{maxi}
Using the breakObjective command helps:
\begin{maxi}
{ \{C_s\}_{s = t}^\infty }{ \sum_{s = t}^\infty \beta^{s-t} u(C_s) }{}{}
\addConstraint{ C_s + a + b + c + d + e + f + g }
\breakObjective{= h + i + j + k + l + m + n + o + p. }
\end{maxi}
Adding qquad indents to the second line, conforming AMS style:
\begin{maxi}
{ \{C_s\}_{s = t}^\infty }{ \sum_{s = t}^\infty \beta^{s-t} u(C_s) }{}{}
\addConstraint{ C_s + a + b + c + d + e + f + g }
\breakObjective{ \qquad = h + i + j + k + l + m + n + o + p. }
\end{maxi}
\end{document}
答案1
刚刚找到一个简单的解决方案:打开一个新的约束并将第一个括号留空:
\begin{maxi}
{ \{C_s\}_{s = t}^\infty }{ \sum_{s = t}^\infty \beta^{s-t} u(C_s) }{}{}
\addConstraint{C_s + a + b + c + d + e + f + g = }{}
\addConstraint{}{ h + i + j + k + l + m + n + o + p. }
\end{maxi}
效果甚至比 \breakObjective 更好,因为它不会添加新的英石