如何在多行方程中将个位数与多位数字对齐?

如何在多行方程中将个位数与多位数字对齐?

我想要获得以下结果。

在此处输入图片描述

我的以下尝试产生了如下不太好的结果。

在此处输入图片描述

\documentclass[preview]{standalone}
\usepackage{amsmath}

\begin{document}
\abovedisplayskip=0pt\relax
\begin{alignat*}{3}
S   &=   1      &+   2      &+ \cdots &+  99    &+ 100 \\
S   &= 100    &+  99        &+ \cdots &+   2    &+   1\\
2S  &= 101    &+ 101      &+ \cdots &+ 101  &+ 101
\end{alignat*}
\end{document}

答案1

使用array功能。将列间距设置为零并强制 TeX 自动调整二进制关系或操作的间距很简单。

在第二个例子中,我更喜欢这个例子,我还添加了一条规则,你可能会喜欢。

twocolumn选项只是为了获得一张较小的图片。

\documentclass[twocolumn]{article}
\usepackage{amsmath,array}

\begin{document}

Right alignment
\[
\setlength{\arraycolsep}{0pt}
\renewcommand{\arraystretch}{1.2}
\begin{array}{ r *{5}{ >{{}}c<{{}} r} }
 S &=&   1 &+&   2 &+& \cdots &+&  99 &+& 100 \\
 S &=& 100 &+&  99 &+& \cdots &+&   2 &+&   1 \\
2S &=& 101 &+& 101 &+& \cdots &+& 101 &+& 101
\end{array}
\]
Center alignment
\[
\setlength{\arraycolsep}{0pt}
\renewcommand{\arraystretch}{1.2}
\begin{array}{ r *{5}{ >{{}}c<{{}} c} }
 S &=&   1 &+&   2 &+& \cdots &+&  99 &+& 100 \\
 S &=& 100 &+&  99 &+& \cdots &+&   2 &+&   1 \\ \cline{3-11}
2S &=& 101 &+& 101 &+& \cdots &+& 101 &+& 101
\end{array}
\]

\end{document}

在此处输入图片描述

您可以按如下方式添加行:

\documentclass[twocolumn]{article}
\usepackage{amsmath,array}

\begin{document}

\[
\setlength{\arraycolsep}{0pt}
\renewcommand{\arraystretch}{1.2}
\begin{array}{ r *{5}{ >{{}}c<{{}} c} }
 S &=&   1 &+&   2 &+& \cdots &+&  99 &+& 100 \\
 S &=& 100 &+&  99 &+& \cdots &+&   2 &+&   1 \\
2S &=& 101 &+& 101 &+& \cdots &+& 101 &+& 101 \\
2S &=& \multicolumn{9}{l}{101\cdot100} \\[1ex]
 S &=& \multicolumn{9}{l}{\!\dfrac{101\cdot100}{2}}
\end{array}
\]

\end{document}

在此处输入图片描述

除此之外,唯一的技巧\multicolumn\!在最后一行抵消 TeX 在分数前面添加的细空格。

答案2

这看上去似乎相当“手动”,但实际上最终使用的标记比通过对齐单元格强制对齐要少。

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath}

\mathcode`\:="8000
{\catcode`\:\active\gdef:{\phantom{0}}}

\begin{document}


\begin{align*}
S   &= ::1 + ::2 + \cdots + :99 + 100 \\
S   &= 100 + :99 + \cdots + ::2 + ::1 \\
2S  &= 101 + 101 + \cdots + 101 + 101
\end{align*}

\end{document}

答案3

使用 alignat{5}

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{alignat*}{5}
S  &=   &   1 &+ {}&   2 &+ \cdots +{} &  99 &+ {}& 100 \\
S  &= & 100 &+ {}&  99 &+ \cdots +   &   2 &+ {}&   1 \\
2S &={} & 101 &+ {}& 101 &+ \cdots +   & 101 &+ {}& 101
\end{alignat*}

\end{document}

在此处输入图片描述

答案4

使用“蛮力” \phantom{}

\documentclass[preview]{standalone}
\usepackage{amsmath}

\begin{document}
\abovedisplayskip=0pt\relax
\begin{alignat*}{3}
S   &=  \phantom{00}1      &+   \phantom{00}2      &+ \cdots &+  \phantom{0}99    &+ 100 \\
S   &=  100    &+  \phantom{0}99        &+ \cdots &+   \phantom{00}2    &+   \phantom{00}1\\
2S  &=  101    &+ 101      &+ \cdots &+ 101  &+ 101
\end{alignat*}
\end{document}

在此处输入图片描述

相关内容