我希望将一个方程拆分成 3 行,将第一行的开头与第二行的开头对齐,将第三行的结尾与第二行的结尾对齐。此方程需要一个在中间垂直对齐的数字。我最接近的方法是使用 align:
\begin{align}\label{e:5.39}
\bigg(&y_{tt}(x,t)+2v(t)y_{xt}(x,t)+v(t)^2y_{xx}(x,t)\nonumber\\
&\begin{split}+\Big(\dot{v}(t)+\frac{L_0\rho v(t)^2}{m}+\big(\frac{g t_c^2}{L_0}-\epsilon_a\dot{v}(t)\big)+\frac{c_m t_c v(t)^2}{m}\Big)y_{x}(x,t)&\\
+\Big(\frac{L_0\rho v(t)}{m}+\frac{c_m t_c}{m}\Big)y_{t}(x,t)-\frac{t_c^2}{L_0m}\big(\bar{P}(t t_c)+\bar{R}(L_0 x)\big)&\bigg)_{x=l(t)}=0
\end{split}\end{align}
红线表示所需的对齐方式。如果可以的话,有人能给我一个简单的例子来说明如何正确地做到这一点吗?
谢谢你,
答案1
我更改了几个括号(这是我的喜好,当然你也可以改回来)。请注意,你永远不应该使用\big
而是\bigl
/ \bigr
,否则你可能会得到错误的间距。
\documentclass{article}
\usepackage{amsmath}
% for snapshot
\usepackage{xcolor}
\newcommand*{\foo}{\setbox0=\hbox to 0pt{\hss\textcolor{red}{\vrule width.2pt depth1.5cm\hss}}\dp0=0pt\box0}
\begin{document}
\begin{equation}
\begin{aligned}
\biggl[
& \foo y_{tt}(x,t) + 2v(t) y_{xt}(x,t) + v(t)^2 y_{xx}(x,t) \\
& \begin{aligned}[t]
{}+ \biggl(\dot{v}(t) + \frac{L_0\rho v(t)^2}{m} +
\Bigl(\frac{g t_c^2}{L_0}-\epsilon_a\dot{v}(t)\Bigr) + \frac{c_m t_c v(t)^2}{m} \biggr) y_{x}(x,t) \foo & \\
{}+ \Bigl(\frac{L_0\rho v(t)}{m}+\frac{c_m t_c}{m}\Bigr)y_{t}(x,t)
-\frac{t_c^2}{L_0m}\bigl(\bar{P}(t t_c)+\bar{R}(L_0 x)\bigr)&\biggr]_{x=l(t)}=0
\end{aligned}
\end{aligned}
\end{equation}
\end{document}
如果你真的想要加号与上线对齐,您需要手动校正间距
\begin{equation}
\begin{aligned}
\biggl[
& \foo y_{tt}(x,t) + 2v(t) y_{xt}(x,t) + v(t)^2 y_{xx}(x,t) \\
& \begin{aligned}[t]
+ \mkern\medmuskip \biggl(\dot{v}(t) + \frac{L_0\rho v(t)^2}{m} +
\Bigl(\frac{g t_c^2}{L_0}-\epsilon_a\dot{v}(t)\Bigr) + \frac{c_m t_c v(t)^2}{m} \biggr) y_{x}(x,t) \foo & \\
{}+ \Bigl(\frac{L_0\rho v(t)}{m}+\frac{c_m t_c}{m}\Bigr)y_{t}(x,t)
-\frac{t_c^2}{L_0m}\bigl(\bar{P}(t t_c)+\bar{R}(L_0 x)\bigr)&\biggr]_{x=l(t)}=0
\end{aligned}
\end{aligned}
\end{equation}
答案2
align
通常用于区分单个方程和方程组。如果要将单个方程拆分为多行,可以使用环境split
中的环境equation
。
您在示例中所做的基本上是告诉 LaTeX 您有一个包含两个方程的方程系统,其中第一个方程应该没有数字,而第二个方程有一个数字并分为两行(因此,数字放在“行”2 和 3 之间)。
为了解决这个问题,您需要告诉 LaTeX 只有一个方程式(equation
-environment),该方程式分为三行(split
环境有两个\\
)。这会将该单个方程式的数字垂直放置在三行的中央。您还需要告诉 LaTeX 将这些方程式行对齐到哪里,方法是放置&
:拆分只能有一个&
,并且它们位于彼此的正下方。左侧的文本&
右对齐;&
右侧的文本左对齐:
\documentclass{book}
\RequirePackage{amsmath}
\begin{document}
\begin{equation}\label{e:5.39}
\begin{split}
\bigg(&y_{tt}(x,t)+2v(t)y_{xt}(x,t)+v(t)^2y_{xx}(x,t)\\
&+\Big(\dot{v}(t)+\frac{L_0\rho v(t)^2}{m}+\big(\frac{g t_c^2}{L_0}-\epsilon_a\dot{v}(t)\big)+\frac{c_m t_c v(t)^2}{m}\Big)y_{x}(x,t)\\
&+\Big(\frac{L_0\rho v(t)}{m}+\frac{c_m t_c}{m}\Big)y_{t}(x,t)-\frac{t_c^2}{L_0m}\big(\bar{P}(t t_c)+\bar{R}(L_0 x)\big)\bigg)_{x=l(t)}=0
\end{split}
\end{equation}
\end{document}