数学等式中的对齐

数学等式中的对齐

我怎样才能像下图这样对齐方程式?

在此处输入图片描述

我知道

\begin{equation}
    \begin{split}
        x_1'(t) &= x_1(t)+2 x_2(t) \\
        x_2'(t) &= 3 x_1(t)
    \end{split}
\end{equation}

但它只会对齐等号,而不会对齐变量。

答案1

您可以使用

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{alignat*}{3}
  x_{1}'(t) &=  &x_{1}(t) &{}+{}& 2&x_{2}(t)\\
  x_{2}'(t) &= 3&x_{1}(t) &     &  &
\end{alignat*}

\end{document}

输出

请注意,我添加了三个对齐点,以防您也需要在右侧垂直对齐第二个因素。

我希望清楚如何将其扩展到三个以上的对齐点。(对于 n 个对齐点,&需要 2n-1 个。)

PS 记住使用 来{}获得 周围的正确间距+

更新

如果您不需要超过两个对齐点,则可以使用以下方法:

\begin{alignat*}{2}
  x_{1}'(t) &={}&  &x_{1}(t) + 2x_{2}(t)\\
  x_{2}'(t) &={}& 3&x_{1}(t)
\end{alignat*}

答案2

尤其是如果您的方程组相当小(就像您发布的示例一样),您可以简单地使用\phantom指令:它们插入与其参数等同的空格。(但是,如果方程组变得更大,则可能值得承担与其他提议方法相关的开销。)

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
    \begin{split}
        x_1'(t) &= \phantom{3}x_1(t)+2 x_2(t) \\
        x_2'(t) &= 3 x_1(t)
    \end{split}
\end{equation}
\end{document}

答案3

简单的array

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
%    \begin{split}
\begin{array}{r@{\;}r@{}l}
        x_1'(t) =& x_1(t)&{}+2 x_2(t) \\
        x_2'(t) =& 3 x_1(t)&
%    \end{split}
\end{array}
\end{equation}
\end{document}

在此处输入图片描述

垂直间距可能需要在 后添加适当的长度进行一些校正\\。顺便说一句:可以推断出您示例中的图像只是 的效果array,但没有 的校正。和符号\arraycolsep周围的间距太大。+=

答案4

也可以使用systeme

在此处输入图片描述

\documentclass{article}
\usepackage{systeme,mathtools}
\sysdelim..
\newlength\mylen
\settowidth\mylen{$x_2'(t)$}
\begin{document}
\[
\systeme{
x_1'(t) \hspace{-\mylen} = x_1(t)+2 x_2(t),
x_2'(t)  = 3 x_1(t)}
\]
\end{document}

相关内容