对齐在除加号之外的所有位置都有效

对齐在除加号之外的所有位置都有效

我尝试使用此代码来对齐线性系统:

\[\left\{
    \begin{aligned}
        &a_{11}x_1 & + & &a_{12}x_2 & + & &a_{13}x_3 & = & &b_1 \\
        &          &   & &a_{22}x_2 & + & &a_{23}x_3 & = & &b_2 \\
        &          &   & &          &   & &a_{33}x_3 & = & &b_3
    \end{aligned}
        \right.
    \]

一切运行良好,除了那两个加号,如您所见:有人可以解释一下为什么吗?

在此处输入图片描述

答案1

不需要额外的包。

问题的根源在于结构中列的对齐方式aligned:rlrlrlr...

为了同步对齐,在第二个标志&之前需要两个+

A

\documentclass{article}

\usepackage{amsmath}
\begin{document}
    
    \[\left\{
    \begin{aligned}
        &a_{11}x_1 & + & &a_{12}x_2 & + & &a_{13}x_3 & = & &b_1 \\
        &          &   & &a_{22}x_2 & + & &a_{23}x_3 & = & &b_2 \\
        &          &   & &          &   & &a_{33}x_3 & = & &b_3
    \end{aligned}
    \right.
    \]
        
    
    \[\left\{
    \begin{aligned}
        &a_{11}x_1 & + & &a_{12}x_2 && + & &a_{13}x_3 & = & &b_1 \\
        &          &   & &a_{22}x_2 && + & &a_{23}x_3 & = & &b_2 \\
        &          &   & &          &&   & &a_{33}x_3 & = & &b_3
    \end{aligned}
    \right. \]

    
\end{document}

看到很好的答案align 是一个类似表格的结构

答案2

根据您想要的外观,您只需在符号处对齐一次=,然后让 LaTeX 的自然数学间距处理剩下的事情:

在此处输入图片描述

\[\left\{
    \begin{aligned}
       a_{11}x_1  + a_{12}x_2  + a_{13}x_3 & = b_1 \\
       a_{22}x_2  + a_{23}x_3 & = b_2 \\
       a_{33}x_3 &= b_3
    \end{aligned}
\right.\]

答案3

我已经想出了一个解决方案array

\documentclass{scrarticle}

\usepackage{amsmath}
\usepackage{array}

\begin{document}
    \begin{equation*}
        \left\{
        \begin{array}{ccccccc}
            a_{11}x_{1} & + & a_{12}x_{2} & + & a_{13}x_{3} & = & b_1 \\ 
            & & a_{22}x_{2} & + & a_{23}x_{3} & = & b_2 \\
            & & & & a_{33}x_{3} & = & b_3
        \end{array}
        \right.
    \end{equation*}
\end{document}

输出如下 数组解决方案 如果你坚持要对环境进行处理aligned,那么这对你来说不是解决方案。但像你一样,我也经常为此苦恼,这里有人推荐了这个array包,我很喜欢,也许你也会喜欢。

答案4

这是一个使用IEEEeqnarraybox环境的解决方案IEEEtrantools(文档附录 F)包。本教程在排版方程式上也演示了环境的用法IEEEeqnarray

在此处输入图片描述

\documentclass{article}

\usepackage{IEEEtrantools}

\begin{document}
\[
\left\{
\begin{IEEEeqnarraybox}[\relax][c]{;r'r'r'r'r'C'l}
a_{11}x_1 &+& a_{12}x_2 &+& a_{13}x_3 &=& b_1 \\
          & & a_{22}x_2 &+& a_{23}x_3 &=& b_2 \\
          & &           & & a_{33}x_3 &=& b_3
\IEEEstrut
\end{IEEEeqnarraybox}
\right.
\]
\end{document}

可以使用不同的粘合类型来改变列之间的间隔。这里我使用了;粘合(插入 5/18em 空间){和第一列之间的粘合(插入 1em 空间),以及'其他列之间的粘合(插入 1em 空间)。有关其他粘合类型,请参阅文档。

相关内容