多重比对

多重比对

在下面的代码中

\begin{align*}
[x \mapsto s]x &= s \\
[x \mapsto s]y &= y \qquad \text{als } y\neq x \\
[x \mapsto s](\la{y}t_1) &= \la{y}[x \mapsto s]t_1 \qquad \text{als } y \neq x \text{ en   } y \not \in FV(s) \\
[x \mapsto s](t_1 \; t_2)&= ([x \mapsto s]t_1)\;([x \mapsto s]t_2)
\end{align*}

我目前只对齐 = 符号。但是,是否也可以在环境中的多个位置对齐?我还希望对齐 \text,以及每个新行的开头。

答案1

alignat使用来自的环境获得表达式之间没有间隙的多个对齐点amsmath。以下 MWE 说明:

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{alignat*}{3}
  &[x \mapsto s]x &&= s && \\
  &[x \mapsto s]y &&= y \qquad &&\text{als } y\neq x \\
  &[x \mapsto s](\lambda(y)t_1) &&= \lambda(y)[x \mapsto s]t_1 \qquad &&\text{als } y \neq x \text{ en   } y \not \in FV(s) \\
  &[x \mapsto s](t_1 \; t_2)&&= ([x \mapsto s]t_1)\;([x \mapsto s]t_2) &&
\end{alignat*}

\end{document}

我已擅自将未知的\la{<arg>}宏转换为\lambda(<arg>)

考虑读一下赫伯特的mathmode文档。它清楚地说明了各种“对齐环境” amsmath。具体来说,请参阅25align种环境,第 43 页起。

答案2

使用 justalign可以像这样完成:

\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\begin{document}
\begin{align*}
  [x \mapsto s]x &= s \\
  [x \mapsto s]y &= y &&\text{als } y\neq x \\
  [x \mapsto s](\lambda(y)t_1) &= \lambda(y)[x \mapsto s]t_1 &&\text{als } y \neq x \text{ en   } y \not \in FV(s) \\
  [x \mapsto s](t_1 \; t_2) &= (x \mapsto s]t_1)\;([x \mapsto s]t_2)
\end{align*}
\end{document}

得出以下结果:

具有多个对齐点的显示

答案3

上述建议(例如 )alignat都会为每一行生成一个参考编号。如果您需要通过一个编号引用整个块,请使用alignedatequation环境中:

\documentclass{article}

\usepackage{amsmath}

\begin{document}

% see other answer
\begin{alignat}{3}
  &[x \mapsto s]x &&= s && \\
  &[x \mapsto s]y &&= y \qquad &&\text{als } y\neq x \\
  &[x \mapsto s](\lambda(y)t_1) &&= \lambda(y)[x \mapsto s]t_1 \qquad &&\text{als } y \neq x \text{ en   } y \not \in FV(s) \\
  &[x \mapsto s](t_1 \; t_2)&&= ([x \mapsto s]t_1)\;([x \mapsto s]t_2) &&
\end{alignat}


\begin{equation}
  \begin{alignedat}{3}
    &[x \mapsto s]x &&= s && \\
    &[x \mapsto s]y &&= y \qquad &&\text{als } y\neq x \\
    &[x \mapsto s](\lambda(y)t_1) &&= \lambda(y)[x \mapsto s]t_1 \qquad &&\text{als } y \neq x \text{ en   } y \not \in FV(s) \\
    &[x \mapsto s](t_1 \; t_2)&&= ([x \mapsto s]t_1)\;([x \mapsto s]t_2) &&
  \end{alignedat}
\end{equation}

\end{document}

在此处输入图片描述

相关内容