我只写了长方程式,它比页面宽,所以 LaTex 不会延续到下一行,我需要它以某种方式执行此操作。例如,如何使用我的长方程式来做到这一点:
\begin{equation}
min J = P(0)m_0^2+P(0) \cdot D_0^x+P(1)\cdot R_1(0)+P(2)\cdot R_1(1)+P(3)R_1(2)+
\Gamma (0) L^T(0)\cdot(B^T(0)\cdotP(1)B(0)+Q)\cdot L(0)+
\Gamma (1) L^T(1)\cdot(B^T(1)\cdot P(2)B(1)+Q(1))\cdot L(1)+
\Gamma (2) L^T(2)\cdot(B^T(2)\cdotP(3)B(2)+Q(2))\cdot L(2)
\end{equation}
cmd\newline
不起作用\\
答案1
我建议使用这个解决方案aligned
(没有任何&符号,它是右对齐的)。我擅自将第二行中的 Q 替换为 Q(0)(我以为你打错了,但也许我错了)。另外,我认为最终效果+
在以下行的开头看起来更好
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\begin{aligned} \min J =P(0)m_0^2+P(0) \cdot D_0^x+P(1)\cdot R_1(0)+P(2)\cdot R_1(1)+P(3)R_1(2) \\
{} + \Gamma (0) L^T(0)\cdot\bigl(B^T(0)\cdot P(1)B(0)+Q(0)\bigr)\cdot L(0) \\
{} + \Gamma (1) L^T(1)\cdot\bigl(B^T(1)\cdot P(2)B(1)+Q(1)\bigr)\cdot L(1) \\
{} + \Gamma (2) L^T(2)\cdot\bigl(B^T(2)\cdot P(3)B(2)+Q(2)\bigr)\cdot L(2)
\end{aligned}
\end{equation}
\end{document}
答案2
您可以使用包IEEEeqnarray
中的环境IEEEtrantools
。
\documentclass{article}
\usepackage{amsmath}
\usepackage{IEEEtrantools}
\usepackage{showframe}
\begin{document}
\begin{IEEEeqnarray*}{rCl}
\min J &=& P(0)m_0^2+P(0) \cdot D_0^x+P(1)\cdot R_1(0)+P(2)\cdot R_1(1)+P(3)R_1(2)\\
& & \negmedspace {}+\Gamma (0) L^T(0)\cdot(B^T(0)\cdot P(1)B(0)+Q)\cdot L(0)\\
& & \negmedspace {}+\Gamma (1) L^T(1)\cdot(B^T(1)\cdot P(2)B(1)+Q(1))\cdot L(1)\\
& & \negmedspace {}+\Gamma (2) L^T(2)\cdot(B^T(2)\cdot P(3)B(2)+Q(2))\cdot L(2)\IEEEyesnumber\\
\end{IEEEeqnarray*}
\end{document}
黑线表示页边距。
答案3
如果节省(垂直)空间对您来说很重要,您可以将等式放在\parbox
指令中,并在需要时使用\linebreak
指令。
哦,我会去掉\cdot
“拐杖”。如果目标是让长表达式易于解析,我建议用方括号替换第 2 至第 4 行的“外”圆括号。
\documentclass{article}
\begin{document}
\begin{equation}
\min J = \parbox[t]{0.75\textwidth}{$
P(0)m_0^2+P(0)D_0^x + P(1)R_1(0) + P(2)R_1(1) + P(3)R_1(2)+
\linebreak\Gamma(0) L^T(0)[B^T(0) P(1)B(0)+Q(0)] L(0)+
\linebreak\Gamma(1) L^T(1)[B^T(1) P(2)B(1)+Q(1)] L(1)+
\linebreak\Gamma(2) L^T(2)[B^T(2) P(3)B(2)+Q(2)] L(2)$}
\end{equation}
\end{document}