在使用align*
环境中,如何使具体数字彼此对齐?
在下面的例子中,我希望顶部总和与底部总和的每个项彼此对齐:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
2S &= 1 &+ 2 &+ 3 &+ \ldots &+ (N-2) &+ (N-1) &+ N \\
&= N &+ (N-1) &+ (N-2) &+ \ldots &+ 3 &+ 2 &+ 1
\end{align*}
\end{document}
目前,这看起来很丑陋:
答案1
简单array
来说,有一些调整:
\documentclass{article}
\usepackage{amsmath,array}
\begin{document}
\[
\begin{array}{@{}r<{{}}@{}c*{6}{@{}>{{}}c<{{}}@{}c}@{}}
2S = & 1 & + & 2 & + & 3 & + & \cdots & + & (N-2) & + & (N-1) & + & N \\
{} + & N & + & (N-1) & + & (N-2) & + & \cdots & + & 3 & + & 2 & + & 1
\end{array}
\]
\end{document}
如果要将数字与减号对齐,请添加新列。
\documentclass{article}
\usepackage{amsmath,array}
\begin{document}
\[
\begin{array}{@{}r<{{}}*{21}{@{}>{{}}c<{{}}}@{}}
2S = & 1 &+& & 2 & &+& & 3 & &+& \cdots &+& (N & - & 2) &+& (N & - & 1) &+& N \\
{} + & N &+& (N & - & 1) &+& (N & - & 2) &+& \cdots &+& & 3 & &+& & 2 & &+& 1
\end{array}
\]
\end{document}
我也修正了数学问题。
答案2
使用正在开发的tabstackengine
,在根据最宽的列编写具有等间距列的表格(sty 文件位于测量对齐),这个过程很简单:
\documentclass{article}
\usepackage{tabstackengine}
\stackMath
\renewcommand\stackalignment{l}
\begin{document}
\tabbedLongstack{%
2S &= 1 &+ 2 &+ 3 &+ \ldots &+ (N-2) &+ (N-1) &+ N \\
&= N &+ (N-1) &+ (N-2) &+ \ldots &+ 3 &+ 2 &+ 1}
\end{document}
或者,按照 OP 的要求,稍微改变一下外观:
\documentclass{article}
\usepackage{tabstackengine}
\stackMath
\begin{document}
\tabbedLongstack{%
2S &=& 1 &+& 2 &+& 3 &+& \ldots &+& (N-2) &+& (N-1) &+& N \\
&=& N &+& (N-1) &+& (N-2) &+& \ldots &+& 3 &+& 2 &+& 1}
\end{document}