对齐求和

对齐求和

在此处输入图片描述

我试图对齐每个“+”号以及每个术语,如果术语较短,则将其对齐在中间。例如,a_3 将直接位于 a_{n_2} 的上方和中间。我该怎么做?

\begin{align*} 
S_n &= &(a_1) &+ (a_2)     &+ &(a_3)     &+ \cdots + (a_1+[n-1]d)\\ 
S_n &= &(a_n) &+ (a_{n-1}) &+ &(a_{n-2}) &+ \cdots + (a_n+[n-1]d)
\end{align*}

答案1

您可以使用array

\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\begin{document}
\[
\begin{array}{c *{10}{@{\;}c}}
S_n &=& (a_1) &+& (a_2)     &+& (a_3)     &+& \cdots &+& (a_1+[n-1]d)\\ 
S_n &=& (a_n) &+& (a_{n-1}) &+& (a_{n-2}) &+& \cdots &+& (a_n+[n-1]d)
\end{array}
\]
\end{document}

答案2

您可以使用 来实现这一点alignat*,它在对齐列之间不插入空格,结合eqparbox,它定义框命令,就像标准命令一样,但有一点不同:它们使用标签系统代替宽度参数,并且共享相同标签的所有框的宽度都是最宽内容的自然宽度。请注意,这可能需要两次编译来调整宽度。

\documentclass{article}
\usepackage{eqparbox} 
\newcommand{\eqmathbox}[2][M]{\eqmakebox[#1]{$#2$}}
\usepackage{mathtools}

\begin{document}

\begin{alignat*}{4}
S_n &=\eqmathbox[1]{(a_1)} &&+\eqmathbox[2]{(a_2)} & & + \eqmathbox[3]{(a_3)} & & + \dots + (\eqmathbox[n-1]{a_1}+[n-1]d)\\
S_n &=\eqmathbox[1]{(a_n)}& &+ \eqmathbox[2]{(a_{n-1})} & & +\eqmathbox[3]{(a_{n-2})} & & + \dots + (\eqmathbox[n-1]{a_n}+[n-1]d)
\end{alignat*}

\end{document} 

在此处输入图片描述

相关内容