按 x 右移对齐多项式

按 x 右移对齐多项式

我正在尝试对齐一些生成函数,以便直观地显示它们如何表示递归。当我尝试以看似自然的方式使用 时aligned,它会在常数项后放置一个令人讨厌的大空格,并且还会在加号周围留下一些空格。

我找到了一种按我想要的方式对齐它的方法,但它有很多\,看起来不自然且难以对齐的负空间。有没有更好的方法可以按我想要的方式对齐它?

\documentclass{article}
\usepackage{amsmath}

\begin{document}

Bad: $$
\begin{aligned}
    A(x) &= a_0 +& a_1 x + a_2 x^2 +& a_3 x^3 + a_4 x^4 + \cdots \\
x\, A(x) &=      & a_0 x + a_1 x^2 +& a_2 x^3 + a_3 x^4 + \cdots \\
x^3 A(x) &=      &                  & a_0 x^3 + a_1 x^4 + \cdots
\end{aligned}
$$

Good: $$
\begin{aligned}
    A(x) &= a_0 \,+&\negmedspace\negmedspace\!\! a_1 x + a_2 x^2 \,+&\, a_3 x^3 + a_4 x^4 + \cdots \\
x\, A(x) &=        &\negmedspace\negmedspace\!\! a_0 x + a_1 x^2 \,+&\, a_2 x^3 + a_3 x^4 + \cdots \\
x^3 A(x) &=        &                                                &\, a_0 x^3 + a_1 x^4 + \cdots
\end{aligned}
$$

\end{document}

上述代码在 TeXworks 中给出了以下结果(我使用的是 pdfLatex 设置):

上述代码在 Latex 中的渲染结果

我发现这个类似的问题,但我不需要任何前导加号,因为我只省略了前导项。

答案1

一个替代方法是使用数组。

\documentclass{article}
\usepackage{mathtools}
\begin{document}
\arraycolsep=0pt
\[
\begin{array}{rlll}
 A(x) &= a_0 +\null& a_1 x + a_2 x^2 +\null& a_3 x^3 + a_4 x^4 + \cdots \\
 x\, A(x) &=      & a_0 x + a_1 x^2 +\null& a_2 x^3 + a_3 x^4 + \cdots \\
 x^3 A(x) &=      &                  & a_0 x^3 + a_1 x^4 + \cdots
\end{array}
\]
\end{document}

大批

答案2

您可以利用系数占据相同空间的事实:

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{alignat*}{2}
    A(x) ={}&& a_0 + a_1 x + a_2 x^2 + a_3 x^3 + a_4 x^4 + \cdots \\
x\, A(x) ={}&&       a_0 x + a_1 x^2 + a_2 x^3 + a_3 x^4 + \cdots \\
x^3 A(x) ={}&&                         a_0 x^3 + a_1 x^4 + \cdots
\end{alignat*}

\end{document}

我们={}确保等号后的间距正确;然后我们跳过左对齐的列到右对齐的列。

在此处输入图片描述

答案3

我将使用一个简单的align*环境以及\hphantom第 2 行和第 3 行中的某些语句来指示需要插入的水平空格量。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath} % for 'align*' environment
\begin{document}
\begin{align*}
A(x) &= a_0 + a_1 x + a_2 x^2 + a_3 x^3 + a_4 x^4 + \cdots \\
x\, A(x) &= \hphantom{a_0 +{}}  a_0 x + a_1 x^2 + a_2 x^3 + a_3 x^4 + \cdots \\
x^3 A(x) &= \hphantom{a_0 +a_0 x + a_1 x^2+{}}a_0 x^3 + a_1 x^4 + \cdots
\end{align*}
\end{document}

相关内容