将相同的变量对齐到彼此下方

将相同的变量对齐到彼此下方

这是我的代码

\documentclass{book}
\begin{document}
\begin{alignat*}{4}
   x_1 & {}+{} &  6x_2 & {}+{} & 2x_3 & {} -{} & 5x_4 & {} -{} &  2x_5 & {} = {} & -4 \\
    2x_3 & {} - {} &  8x_4 & {} - {} &  x_5 & {}={} &  3 \\
    x_5 & {} ={} & 7
\end{alignat*}
\end{document}

我想在所有行中将 $x_5$ 对齐到 $x_5$ 下方。另外,我想在 $x_1$ 下方留一个空白,因为第二个和第三个方程中没有 $x_1$,对于 $x_2$ 也是如此。有人能帮我这样做吗?

答案1

这看起来是一个很好的用例系统包裹。

在此处输入图片描述

\documentclass{book}
\usepackage{systeme}
\begin{document}

\sysalign{r,r} % right-alignment on both sides of '=' symbols
\sysdelim..    % no delimiters

\[
\systeme{ x_1+6x_2+2x_3-5x_4-2x_5=-4 , 2x_3-8x_4-x_5=3 , x_5=7 }
\]

\end{document}

答案2

这是一个amsmath方式alignat

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{alignat*}{6}
    x_1 + {}&&  6x_2 + {}&& 2x_3 - {}&& 5x_4 - {}&& 2x_5 = {}&& -4 \\
            &&           && 2x_3 - {}&& 8x_4 - {}&&  x_5 = {}&&  3 \\
            &&           &&          &&          &&  x_5 = {}&&  7
\end{alignat*}

\end{document}

答案3

基于array环境的解决方案在 旁边有一个额外的空格=,这可能是更好的选择:

\documentclass[12pt]{article}
\usepackage{amsmath}

\begin{document}

\begin{equation*}
    \setlength{\arraycolsep}{1.5pt}
    \renewcommand{\arraystretch}{1.2}
    \begin{array}{*4{rc} r @{{\ }={}} r}
        x_1 &+& 6x_2 &+& 2x_3 &-& 5x_4 &-& 2x_5 & -4 \\
            & &      & & 2x_3 &-& 8x_4 &-&  x_5 &  3 \\
            & &      & &      & &      & &  x_5 &  7
    \end{array}
\end{equation*}

\end{document}

在此处输入图片描述

相关内容