align* 环境问题

align* 环境问题

我在尝试在align*环境中对齐一些方程式时遇到了一些问题。输出应该是这样的:

如您所见,所有+符号都垂直对齐,后面的字母也是如此。我尝试使用环境align*来获得类似的结果,但我无法对齐符号和字母。这是我的代码和输出:

\begin{align*}
a &+2\alpha az &+3\alpha^2 az^2 &+4\alpha^3az^3 &+5\alpha^4az^4 +\mbox{ecc.}\\
&+bz &+2\alpha bz^2 &+3\alpha^2 bz^3 &+4\alpha^4bz^4,
\end{align*}

有没有办法得到更优雅的结果,而不需要总数中的空格?谢谢!

答案1

我认为你不需要中心化,而是需要彼此对齐。

为了避免&+{}&为每个加法符号都输入一次,我定义了一个方便的快捷方式。

\documentclass{article}
\usepackage{amsmath}

\begin{document}

With all variables spelled out
\begin{equation*}
\begingroup\lccode`~=`+ \lowercase{\endgroup\edef~}{&\mathchar\the\mathcode`+{}&}
\mathcode`+=\string"8000
\begin{alignedat}{6}
a + 2\alpha az + 3\alpha^2 az^2 + 4\alpha^3 az^3 + 5\alpha^4 az^4 + \text{ecc.}\\
  +         bz + 2\alpha   bz^2 + 3\alpha^2 bz^3 + 4\alpha^4 bz^4 &,
\end{alignedat}
\end{equation*}
and like the original
\begin{equation*}
\begingroup\lccode`~=`+ \lowercase{\endgroup\edef~}{&\mathchar\the\mathcode`+{}&}
\mathcode`+=\string"8000
\begingroup\lccode`~=`* \lowercase{\endgroup\def~}#1{\hphantom{#1}}
\mathcode`*=\string"8000
\begin{alignedat}{6}
a + 2\alpha az + 3\alpha^2 az^2 + 4\alpha^3 az^3 + 5\alpha^4 az^4 + \text{etc.,}\\
  +         b*{z} + 2\alpha   b*{z^2} + 3\alpha^2 b*{z^3} + 4\alpha^4 b*{z^4}
\end{alignedat}
\end{equation*}

\end{document}

在此处输入图片描述

答案2

align 提供交替的左对齐和右对齐,但在这里我认为你想要居中,所以

在此处输入图片描述

\documentclass{article}

\usepackage{array,amsmath}

\begin{document}

\[
  \begin{array}{*{20}{@{}>{{}}c<{{}}@{}}}
a &+&2\alpha az &+&3\alpha^2 az^2 &+&4\alpha^3az^3 &+&5\alpha^4az^4 &+&\mbox{ecc.}\\
&+&bz &+&2\alpha bz^2 &+&3\alpha^2 bz^3 &+&4\alpha^4bz^4,
  \end{array}
\]
\end{document}

答案3

alignat*以下是与环境和包相关的方法eqparbox

\documentclass{article}

\usepackage{mathtools, eqparbox}
\newcommand{\eqmathbox}[2][T]{\eqmakebox[#1]{$\displaystyle#2$}}

\begin{document}

\begin{alignat*}{4}
a &+\eqmathbox{2\alpha az} & & +\eqmathbox[T2]{3\alpha^2 az^2}& & + \eqmathbox[T3]{4\alpha^3az^3} & & +\eqmathbox[T4]{5\alpha^4az^4} +\mbox{\&c.}\\
&+\eqmathbox{bz} & & +\eqmathbox[T2]{2\alpha bz^2} & & +\eqmathbox[T3]{3\alpha^2 bz^3} & & +\eqmathbox[T4]{4\alpha^4bz^4},
\end{alignat*}

\end{document} 

在此处输入图片描述

答案4

相同array但更简单且右对齐。我用\setlength{\arraycolsep}{0pt}它来保持二元运算符的自然间距+

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

\begin{document}

\[\setlength{\arraycolsep}{0pt}
\begin{array}{*6{>{{}}r<{{}}}}
a +& 2\alpha az +& 3\alpha^2 az^2 +& 4\alpha^3az^3  +& 5\alpha^4az^4 +& \mbox{ecc.},\\
  +& bz         +& 2\alpha bz^2   +& 3\alpha^2 bz^3 +& 4\alpha^4bz^4 \phantom{{}+{}}&
\end{array}
\]

\end{document}

在此处输入图片描述

相关内容