方程:对齐几个在几个点处分裂的方程

方程:对齐几个在几个点处分裂的方程

如果这个帖子看起来与许多其他帖子相似,我很抱歉,但我无法找到一个很好的解决方案来解决我的问题。基本上,我想对齐一些方程式,但我还希望将这些方程式分成几行,并使用不同的点进行缩进(例如,参见具有两个断点的方程式 4):

在此处输入图片描述

主要问题是alignat&并不是一个简单的标记,表示“将此点与此点对齐”,而是&真正界定列。因此,如果前一行或后一行太长,则会使同一列中的所有其他元素变长。

现在,我通过将\nonumber(这意味着当行数为偶数时,等式数字(2)不在方程的中心)和放置\hspace{<find the good space in 5 tries>}在任何地方来解决我的问题,但这确实不实用/不优雅。

您有更好的解决方案吗?这是一个 MWE,开头是我的“理想语法”:

\documentclass{article}
\usepackage{mathtools}

\begin{document}
My ideal syntax:
% \begin{align}
%   2\times(1+\dots+10) &= 2 \times (1+2+3+4+5+6+7+8+9+10)\\
%   &=
%     \begin{split}
%       2 \times (&1+2+3+4\\
%                 &+5+6+7+8+9+10)\\
%     \end{split}
%   &=
%     \begin{split}
%       (1+1) \times (&3+7\\
%                     &+11+7+8+19)
%     \end{split}
%   &=
%     \begin{split}
%       (1+1) \times (&1+2+&(3
%                     &    &+4)\\
%                     &+ 11+7+8+19)
%     \end{split}
% \end{align}

My more or less ideal result:

\begin{align}
  2\times(1+\dots+10) &= 2 \times (1+2+3+4+5+6+7+8+9+10)\\
  &= 2 \times (1+2+3+4\\
  &\hspace{10mm} +5+6+7+8+9+10)\nonumber\\
  &= (1+1) \times (3+7\\
  &\hspace{20mm}+ 11+7+8+19)\nonumber\\
  &= (1+1) \times (1+2+(3\nonumber\\
  &\hspace{33mm}+ 4)\\
  &\hspace{20mm}+ 11+7+8+19)\nonumber
\end{align}
\end{document}

- 编辑 -

提出的解决方案很棒,除非我使用宏来为我添加括号。例如,考虑下图。我希望​​第一行右侧的括号位于第二行。如果我添加换行符,那么它会单独出现在第三行,这不是我所期望的。如果我在 之后添加内容,也会出现同样的问题。\pr是否可以在不将 插入alignedat宏内的情况下使此代码工作?(我喜欢有环境,因为它使缩进自动进行,但我找不到如何为pr...生成环境命令

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools}

\usepackage{etoolbox}
\newcommand*{\pr}[2][]{\Pr_{\substack{#1}}[\,#2\,]}
\begin{document}
\begin{align}
  &\pr[a \leftarrow \{0,1\}]{
    \begin{alignedat}[t]{2}
      &\forall x\\
      & \pr[b \leftarrow \{0,1\}]{b = a} \geq \delta
    \end{alignedat}}+\alpha\\
    &\geq \eta
  \end{align}
\end{document}

谢谢!

答案1

您可以嵌套alignedat环境。

\documentclass{article}
\usepackage{mathtools}

\begin{document}
 \begin{alignat}{2}
   2\times(1+\dots+10) &= 2 \times (1+2+3+4+5+6+7+8+9+10)\\
   &=
     \begin{alignedat}[t]{2}
       2 \times (&1+2+3+4\\
                 &+5+6+7+8+9+10)
     \end{alignedat}\\
   &=
     \begin{alignedat}[t]{2}
       (1+1) \times (&3+7\\
                     &+11+7+8+19)
     \end{alignedat}\\
   &=
     \begin{alignedat}[t]{2}
       (1+1) \times (&1+2+
            \begin{alignedat}[t]{2}
                &(3\\
                &+4)
            \end{alignedat}\\
                     &+ 11+7+8+19)
     \end{alignedat}
 \end{alignat}
\end{document}

相关内容