在多个点处拆分单个方程

在多个点处拆分单个方程

我希望将一个方程拆分成 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}

输出: 上述源的输出

相关内容