具有单个方程编号的多个对齐点

具有单个方程编号的多个对齐点

我有以下等式:

\begin{align}
\begin{split}
     &\phantom{{}={}} [ (1,1,1) : (1,1) : (1,2) : (1) : (2,2,2) : (2,2) : (2) :  (3) ] \\
     \textsc{one} &= [ 0 : 3 : 0 : 0 : 0 : 0 : 0 : 0 ] \\
     \textsc{two} &= [ 1 : 0 : 3 : 0 : -1 : 0 : 0 : 0 ] \\
     \textsc{three} &= [ 0  : 0 : 3 : 0 : -1 : 0 : 0 : 0 ] \\
\end{split}
\end{align}
\end{document}

我希望开头[、每个:和结尾]垂直对齐以匹配顶行。

我尝试了 align、alignat、equation 和 alignedat 的各种组合,但找不到任何有效的方法。

任何指示都将不胜感激。

我尝试了其他答案中的alignedat:

\begin{equation}
    \begin{alignedat}{9}
     &[ (1,1,1) &: (1,1) &: (1,2) &: (1) &: (2,2,2) &: (2,2) &: (2) &:  (3) & & ] \\
     \textsc{one} = &[ 0 &: 3 &: 0 &: 0 &: 0 &: 0 &: 0 &: 0 & &] \\
     \textsc{two} = &[ 1 &: 0 &: 3 &: 0 &: -1 &: 0 &: 0 &: 0 & & ] \\
     \textsc{three} = &[ 0  &: 0 &: 3 &: 0 &: -1 &: 0 &: 0 &: 0 & &] \\
\end{alignedat}
\end{equation}

但它实际上似乎没有进行对齐(仅对齐一些:)。

在此处输入图片描述

答案1

您可以使用autoaligne

\documentclass{article}
\usepackage{amsmath}
\usepackage{autoaligne}

\begin{document}

\begin{equation}
\definirseparateurs{\\}{}{:||[||]}
\autoaligne[*d]{
                  [\, (1,1,1) : (1,1) : (1,2) : (1) : (2,2,2) : (2,2) : (2) :  (3) \,] \\
\textsc{one}={}   [\, 0 : 3 : 0 : 0 : 0 : 0 : 0 : 0 \,] \\
\textsc{two}={}   [\, 1 : 0 : 3 : 0 : -1 : 0 : 0 : 0 \,] \\
\textsc{three}={} [\, 0  : 0 : 3 : 0 : -1 : 0 : 0 : 0 \,]
}
\end{equation}

\begin{equation}
\definirseparateurs{\\}{}{:||[||]}
\autoaligne[*c]{
                        [\, (1,1,1) : (1,1) : (1,2) : (1) : (2,2,2) : (2,2) : (2) :  (3) \,] \\
\hfill\textsc{one}={}   [\, 0 : 3 : 0 : 0 : 0 : 0 : 0 : 0 \,] \\
\hfill\textsc{two}={}   [\, 1 : 0 : 3 : 0 : -1 : 0 : 0 : 0 \,] \\
\hfill\textsc{three}={} [\, 0  : 0 : 3 : 0 : -1 : 0 : 0 : 0 \,]
}
\end{equation}

\end{document}

在此处输入图片描述

答案2

我会使用数组

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath,array}


\begin{document}

\begin{equation}
    \begin{array}{r<{{}}@{[}r@{:}r@{:}r@{:}r@{:}r@{:}r@{:}r@{:}r@{]}}
     & (1,1,1) & (1,1) & (1,2) & (1) & (2,2,2) & (2,2) & (2) &  (3) \\
     \textsc{one} = & 0 & 3 & 0 & 0 & 0 & 0 & 0 & 0   \\
     \textsc{two} = & 1 & 0 & 3 & 0 & -1 & 0 & 0 & 0   \\
     \textsc{three} = & 0  & 0 & 3 & 0 & -1 & 0 & 0 & 0  \\
\end{array}
\end{equation}
\end{document}

答案3

以下是正确的代码alignedat

\documentclass[]{article}
\usepackage{mathtools}
\begin{document}

\begin{equation}
    \begin{alignedat}{9}
     &[ (1,1,1) & & : (1,1) & & : (1,2) & & : (1) & & : (2,2,2) & & : (2,2) & & : (2) & & : (3) & & ] \\
     \textsc{one} = {}&[ 0 & & : 3 & & : 0 & & : 0 & & : 0 & & : 0 & & : 0 & & : 0 & &] \\
     \textsc{two} = {}&[ 1 & & : 0 & & : 3 & & : 0 & & : -1 & & : 0 & & : 0 & & : 0 & & ] \\
     \textsc{three} = {}&[ 0 & & : 0 & & : 3 & & : 0 & &: -1 & & : 0 & & : 0 & & : 0 & &] \\
\end{alignedat}
\end{equation}

\end{document} 

在此处输入图片描述

答案4

这是一个 TABstack。

\documentclass[12pt]{article}
\usepackage{tabstackengine,amsmath}
\begin{document}
\begin{equation}
    \setstacktabbedgap{3pt}
    \tabbedCenterstack[r]{
     [& (1,1,1) :& (1,1) :& (1,2) :& (1) :& (2,2,2) :& (2,2) :& (2) :&  (3) & ] \\
     \textsc{one} = [& 0 :& 3 :& 0 :& 0 :& 0 :& 0 :& 0 :& 0 &] \\
     \textsc{two} = [& 1 :& 0 :& 3 :& 0 :& -1 :& 0 :& 0 :& 0 & ] \\
     \textsc{three} = [& 0  :& 0 :& 3 :& 0 :& -1 :& 0 :& 0 :& 0 &]
}
\end{equation}
\end{document}

在此处输入图片描述

相关内容