如何在 Latex 中实现“楼梯对齐”?

如何在 Latex 中实现“楼梯对齐”?

我想创建类似的东西

在此处输入图片描述

或者

在此处输入图片描述

其中 = 与前一个等式的最后一个字符对齐。但我不确定如何实现这一点。

我试过了,

\begin{align} a = b & \\ 
                    & = c & \\
                          & = d  \end{align}

但这并没有给我我想要的

答案1

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{alignat}{2}
a = b & &&\\ 
                  & {}= c &&\\
                  &     &{} = d &\\
                  &     &      &{} = e 
\end{alignat}
\end{document}

在此处输入图片描述

答案2

您可以使用array环境。

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[ \begin{array}{*5{l@{\;}}}
    a = & b \\
        & = & c \\
        &   & = & d \\
        &   &   & = & e
\end{array} \]
\end{document}

答案3

您可以使用alignat,但如果我们不必计算必要的数量&并让 TeX 来做的话会更方便。

主要的左侧作为环境的参数给出,其余部分在环境中,各行用 分隔\\

\documentclass{article}
\usepackage{amsmath}

\ExplSyntaxOn

\NewDocumentEnvironment{staircase}{mb}
 {
  \procyonic_staircase:nnn { } { #1 } { #2 }
 }
 {}
\NewDocumentEnvironment{staircase*}{mb}
 {
  \procyonic_staircase:nnn { * } { #1 } { #2 }
 }
 {}

\cs_new_protected:Nn \procyonic_staircase:nnn
 {
  \seq_set_split:Nnn \l__procyonic_staircase_seq { \\ } { #3 }
  \begin{alignat#1}{ \int_eval:n { \seq_count:N \l__procyonic_staircase_seq + 1 } }
  #2 ={} &
  \seq_map_indexed_function:NN \l__procyonic_staircase_seq \__procyonic_staircase:nn 
  \end{alignat#1}
 }

\seq_new:N \l__procyonic_staircase_seq

\cs_new_protected:Nn \__procyonic_staircase:nn
 {
  \prg_replicate:nn { #1*2 } { & }
  \int_compare:nF { #1 = 1 } { \negthickspace = }
  #2
  \int_compare:nF { #1 = \seq_count:N \l__procyonic_staircase_seq } { \\ }
 }

\ExplSyntaxOff

\begin{document}

\begin{staircase}{a}
 b \\ c \\ d
\end{staircase}

\begin{staircase*}{a}
 b \\ c \\ d
\end{staircase*}

\end{document}

在此处输入图片描述

相关内容