在对齐环境中重置对齐

在对齐环境中重置对齐

我有几个对齐的系数列表。一组系数有三列,另一组有四列。目前,我用两种align环境显示它们:

\begin{align}
   \gamma_1 &= 8/15 & \gamma_2 &= 5/12   & \gamma_3 &= 3/4 \\
   \zeta_1  &= 0    & \zeta_2  &= -17/60 & \zeta_3  &= -5/12 \\
   \beta_1  &= 4/15 & \beta_2  &= 1/15   & \beta_3  &= 1/6
\end{align}
\begin{align}
   a_0 &= 0 & a_1 &= 8/15 & a_2 &= 2/3 & a_3 &= 1
\end{align}

每行元素之间的对齐和间距完全符合我的要求,但三列系数和四列系数之间的间距太大。本质上,我希望对齐在某个点重置,以便环境的下一行align有四列并居中。

我了解了aligned环境在我寻找答案时。那里提出的问题基本上就是我要问的,但那里提供的代码不能满足我的要求。我还没有成功地编写出能完全满足我要求的代码。

这是我能得到的最接近的答案:

\begin{align}
   \begin{aligned}
      \gamma_1 &= 8/15 & \gamma_2 &= 5/12   & \gamma_3 &= 3/4 \\
      \zeta_1  &= 0    & \zeta_2  &= -17/60 & \zeta_3  &= -5/12 \\
      \beta_1  &= 4/15 & \beta_2  &= 1/15   & \beta_3  &= 1/6 \\
   \end{aligned} \\
   \begin{aligned}
      a_0 &= 0 & a_1 &= 8/15 & a_2 &= 2/3 & a_3 &= 1
   \end{aligned}
\end{align}

这有两个问题:

  1. 由于有两个aligns,因此系数被压缩而不是扩展。
  2. 每个aligned环境都有一个方程编号。我更喜欢直接引用每组系数(gamma、zeta、beta 和 a)。

我可能可以操纵对齐环境底部和/或顶部的间距并使用我原来的代码,但这很草率,而且我相信存在一种简单的方法可以做我想做的事情,但我不知道。

此外,根据定义,a0 和 a3 系数分别需要为 0 和 1,因此我可以省略一个,但为了清楚起见,我想将它们都包括在内。

答案1

你可以尝试使用列来欺骗对齐机制,如下所示:

\begin{align}
   \gamma_1 &= 8/15 &&& \gamma_2&= 5/12         &&& \gamma_3 &= 3/4 &\\
   \zeta_1  &= 0    &&& \zeta_2&= -17/60        &&& \zeta_3  &= -5/12& \\
   \beta_1  &= 4/15 &&& \beta_2&= 1/15          &&& \beta_3  &= 1/6&\\
     a_0 ={}&0      &&& a_1 = 8/15 && a_2 = 2/3 &&&\qquad a_3 = 1
\end{align}

在此处输入图片描述

但恕我直言,你想做的事情读​​起来不太好。我会做类似下面的事情

\begin{align}
   \gamma_1 &= 8/15 & \gamma_2&= 5/12  & \gamma_3 &= 3/4 \\
   \zeta_1  &= 0    & \zeta_2&= -17/60 & \zeta_3  &= -5/12 \\
   \beta_1  &= 4/15 & \beta_2&= 1/15   & \beta_3  &= 1/6\\
        a_0 &= 0    & a_1    &= 8/15   & a_2      &= 2/3 \\ \notag
            &       & a_3    &= 1      &          &
\end{align}

在此处输入图片描述

您可以刻意在前三个和最后一个之间留出一些垂直空间,以突出分组效果,在我看来,这对于传达信息比能够命令 LaTeX 数组更为重要。

答案2

为了完全控制对齐,您可以使用环境alignat

\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{mathtools}   % loads »amsmath«

\begin{document}
  \begin{alignat}{4}
        &          & \gamma_1  &= 8/15\qquad & \gamma_2 &= 5/12         & \gamma_3 &= 3/4 \\
        &          & \zeta_1   &= 0          & \zeta_2  &= -17/60\qquad & \zeta_3  &= -5/12 \\
        &          & \beta_1   &= 4/15       & \beta_2  &= 1/15         & \beta_3  &= 1/6 \\
    a_0 &= 0\qquad & a_1       &= 8/15       & a_2      &= 2/3          & a_3      &= 1
  \end{alignat}
\end{document}

在此处输入图片描述

答案3

这是解决对齐问题的一个可行替代方案:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\begin{document}
\begin{align}
   \smash{\begin{array}[t]{*{2}{r@{\;}l@{\qquad}}r@{\;}l}
     \gamma_1 &= 8/15 & \gamma_2 &= 5/12   & \gamma_3 &= 3/4 \\[\jot]
     \zeta_1  &= 0    & \zeta_2  &= -17/60 & \zeta_3  &= -5/12 \\[\jot]
     \beta_1  &= 4/15 & \beta_2  &= 1/15   & \beta_3  &= 1/6 
   \end{array}} \label{gammas} \\ \label{zetas} \\ \label{betas} \\
  \begin{array}[t]{*{3}{r@{\;}l@{\qquad}}r@{\;}l}
    a_0 &= 0 & a_1 &= 8/15 & a_2 &= 2/3 & a_3 &= 1
  \end{array} \label{as}
\end{align}
$\gamma$ is~\eqref{gammas}, $\zeta$ is~\eqref{zetas}, $\beta$ is~\eqref{betas} and $a$ is~\eqref{as}.
\end{document}​

方程元素放在 内array。使用 可以确保正确的垂直对齐\\[\jot],而通过 可以调整\qquad列间距的水平方向。修改它以满足您的需要(例如\quad,或\hspace{<len>}其中<len>是任何已知的 TeX 长度单位)。

答案4

一个非常粗鲁的解决方案就是简单地减去一些垂直空间。

\begin{align}
   \gamma_1 &= 8/15 & \gamma_2 &= 5/12   & \gamma_3 &= 3/4 \\
   \zeta_1  &= 0    & \zeta_2  &= -17/60 & \zeta_3  &= -5/12 \\
   \beta_1  &= 4/15 & \beta_2  &= 1/15   & \beta_3  &= 1/6
\end{align}
\vspace{-\belowdisplayskip}
\vspace{-\abovedisplayskip}
\vspace{-3\jot}
\begin{align}
   a_0 &= 0 & a_1 &= 8/15 & a_2 &= 2/3 & a_3 &= 1
\end{align}

在此处输入图片描述

但它并不完美。有人知道行与行之间的分隔align是什么吗?

相关内容