我正在写一个大方程式,需要在其中添加换行符以使其更清晰易读。我使用以下代码:
\documentclass{report}
\usepackage{mathtools}
\begin{document}
\begin{align}
H &= \lambda_{R_x}V_x + \lambda_{R_y}V_y + \lambda_{R_z}V_z \nonumber \\
&\mathrel{\phantom{=}} \kern+\nulldelimiterspace +\,\lambda_{V_x}\left(\frac{T}{m}\cos{\psi}\cos{\phi}\right) \nonumber \\
&\mathrel{\phantom{=}} \kern+\nulldelimiterspace +\,\lambda_{V_y}\left(\frac{T}{m}\cos{\psi}\sin{\phi}\right) \nonumber \\
&\mathrel{\phantom{=}} \kern+\nulldelimiterspace +\,\lambda_{V_z}\left(\frac{T}{m}\sin{\psi} - g\right) \nonumber \\
&\mathrel{\phantom{=}} \kern+\nulldelimiterspace +\,\lambda_{m}\left(-\frac{T}{c}\right) \nonumber \\
&\mathrel{\phantom{=}} \kern+\nulldelimiterspace +\,\mu_{u}\left(u^2_x + u^2_y + u^2_z -1\right) \nonumber\\
\end{align}
\end{document}
输出如下:
我不知道应该在代码中修改什么才能使公式编号与最后一个数学表达式对齐。如您所见,公式编号出现在更下方。
答案1
如果您只想对最后一个等式进行编号,则使用说明符会更容易aligned
,[b]
这样就不必键入所有\nonumber
s。还请注意,您构造的对齐符号+
和获得正确间距的方法过于复杂。您可以&
在后面=
添加一个空组,以保留正确的间距={}&
。
\documentclass{report}
\usepackage{mathtools}
\begin{document}
\begin{equation}
\begin{aligned}[b]
H ={}& \lambda_{R_x}V_x + \lambda_{R_y}V_y + \lambda_{R_z} V_z \\
&+\lambda_{V_x}\left(\frac{T}{m} \cos\psi \cos\phi\right) \\
&+\lambda_{V_y}\left(\frac{T}{m} \cos\psi \sin\phi\right) \\
&+\lambda_{V_z}\left(\frac{T}{m} \sin\psi - g\right) \\
&+\lambda_{m}\left(-\frac{T}{c}\right) \\
&+\mu_{u} \left(u^2_x + u^2_y + u^2_z -1\right)
\end{aligned}
\end{equation}
\end{document}
我个人会删除所有\left
/ ,并用/\right
替换它们。(当然除了最后一个。)(但你真的需要它们吗?)还要注意\biggl
\biggr
\cos{\psi}
可能与你的想法不同,因为\cos
& Co. 不予置评。如果你不想写\cos(\psi)
,那\cos\psi
完全没问题。
答案2
这是另一个aligned
基于 的解决方案,无需产生大括号即可。
\documentclass{report}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\begin{aligned}[b]
H &= \lambda_{R_x}V_x + \lambda_{R_y}V_y + \lambda_{R_z}V_z \\
&\quad+\frac{T}{m}\bigl(\lambda_{V_x}\cos\psi\cos\phi
+\lambda_{V_y}\cos\psi\sin\phi
+\lambda_{V_z}(\sin\psi - g) \bigr) \\
&\quad-\frac{T}{c}\,\lambda_{m} +\mu_{u}(u^2_x + u^2_y + u^2_z -1)
\end{aligned}
\end{equation}
\end{document}