如何在方程组内获得多线型对齐?

如何在方程组内获得多线型对齐?

我想要实现类似以下的目标(目前使用 Microsoft Paint 实现):

替代文本

也就是说,我想在单个方程式环境中对多个多行方程进行分组(即它们具有相同的数量),并让每个方程都像在“多行”环境中一样对齐(第一行左对齐,最后一行右对齐)。这可能吗?

答案1

\shoveleft和命令\shoveright允许刷新multline环境方程的左侧或右侧。

\documentclass{article}
\usepackage{amsmath}
\usepackage{lipsum}
\begin{document}
    \lipsum[1]
    \begin{multline}
      a_1 + b_1 + c_1 + d_1 + e_1 + f_1\\ 
      \shoveright{g_1 + h_1 + i_1 + j_1 + k_1 + l_1}\\
        \shoveleft{a_2 + b_2 + c_2 + d_2 + e_2 + f_2}\\ 
      g_2 + h_2 + i_2 + j_2 + k_2 + l_2
    \end{multline}
    \lipsum[2]  
\end{document}

在此处输入图片描述

附录

正如@barbara beeton 指出的那样,方程编号的位置不明确。这可以通过使用insidemultlined提供的辅助环境来解决(由@egreg 首次提出)。这种方法还受益于环境间距的改善。mathtoolsequationequation

在此处输入图片描述

\usepackage{mathtools}

\begin{equation}
\begin{multlined}[.7\textwidth]
    a_1 + b_1 + c_1 + d_1 + e_1 + f_1\\ 
    \shoveright{g_1 + h_1 + i_1 + j_1 + k_1 + l_1}\\
    \shoveleft{a_2 + b_2 + c_2 + d_2 + e_2 + f_2}\\ 
    g_2 + h_2 + i_2 + j_2 + k_2 + l_2
\end{multlined}
\end{equation}

答案2

array如果需要的话,可以使用常规方法:

在此处输入图片描述

\documentclass{article}
\usepackage{array}% http://ctan.org/pkg/array
\begin{document}
\begin{equation}
  \begin{array}{>{$}p{.55\textwidth}<{$}}
    a_1+b_1+c_1+d_1+e_1+f_1 \\
    \hfill g_1+h_1+i_1+j_1+k_1+l_1 \\[\jot]
    a_2+b_2+c_2+d_2+e_2+f_2 \\
    \hfill g_2+h_2+i_2+j_2+k_2+l_2
  \end{array}
\end{equation}
\end{document}

p字型列是关键,因为\hfill它具有固定宽度。但是,它还会在文本模式的框中格式化其内容。切换回数学模式是通过array和规范。出于演示目的,我选择了。在方程之间增加了一点更大的间隙>{<before>}<{<after>}.55\textwidth\jot

答案3

由于不知道文档的文本块有多宽,我认为不可能给出一种完全通用或自动的方法来实现您在示例中说明的外观。但是,正如下面的 MWE 所建议的那样,在环境中使用包split提供的环境似乎相当接近于完全自动化的方法。amsmathequation

相对于您提供的视觉示例,这种方法的优点(在我看来...)是允许您对齐+方程式所有四行上的符号。还请注意,由于环境split不提供自己的方程式行编号,因此输出自动只有一个方程式编号,该编号在方程式的第 2 行和第 3 行之间垂直居中。

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
  \begin{split}
    a_1+b_1+c_1+d_1+{}&e_1+f_1 \\
    &g_1+h_1+i_1+j_1+k_1+l_1 \\
    a_2+b_2+c_2+d_2+{}&e_2+f_2 \\
    &g_2+h_2+i_2+j_2+k_2+l_2
  \end{split}
\end{equation}
\end{document}

在此处输入图片描述

请注意,在等式代码的第 1 行和第 3 行中,必须在对齐点{}之前放置一个构造&,以便 TeX 不会认为前面的+符号是一元运算符。

相关内容