方程环境中的对齐

方程环境中的对齐

实际情况如下:

事态

目标是在方程环境中将符号水平居中于其表达式之上。因此,A位于第一个矩阵之上、x位于第一个向量之上以及b位于最后一个向量之上。

梅威瑟:

\documentclass{article}
\usepackage{amsmath}

\begin{document}

  \begin{equation}
    \begin{split}
      %
      {\bf{A}} x & = b \\
      %
       \left[
       \begin{array}{cc}
          1 & 0 \\ 0 & 1 \\
       \end{array}
       \right]
       %
       \left[
         \begin{array}{c}
            x_1 \\ x_2
         \end{array}
       \right] &=
       %
       \left[
         \begin{array}{c}
            b_1 \\ b_2
         \end{array}
       \right]
       %
    \end{split}
  \end{equation}

\end{document}

这些帖子似乎没有提供解决方案:

多线方程内的复杂对齐

对齐多行矩阵方程

使用 alignat 将方程式与文本对齐

align 和 alignat 环境之间的区别

TeXShop 3.58,发行版 TeXLive - 2015

答案1

有了它array您可以获得以下东西:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
    
\begin{document}
\begin{equation}\arraycolsep=1pt
    \begin{array}{cccc}
\mathbf{A}      &  \mathbf{x}       & = &   \mathbf{b}  \\
    \begin{bmatrix}
    1 & 0 \\ 0 & 1 \\
    \end{bmatrix}   &   \begin{bmatrix}
                        x_1 \\ x_2
                        \end{bmatrix}   & = &   \begin{bmatrix}
                                                b_1 \\ b_2
                                                \end{bmatrix}
    \end{array}
\end{equation}
\end{document}

附录: 七年后……

考虑的是下面的@Mico 评论。如果在矩阵中恢复默认\arraycolsep值(6pt),您将获得更正确的印刷结果。这可以通过添加

\AtBeginEnvironment{bmatrix}{\arraycolsep=6pt}

在文档序言中。如果您仍有较旧的LaTeX安装,则还需要加载\etoolbox包:

\documentclass{article}
\usepackage{mathtools}

%\usepackage{etoolbox} % activate if you have an older LaTeX instalation
\AtBeginEnvironment{bmatrix}{\arraycolsep=6pt}

% for show just the equation, don't use in the real document  ...
\usepackage[active,displaymath,tightpage]{preview}
\setlength\PreviewBorder{1em}

\begin{document}

\begin{equation}\arraycolsep=1pt
    \begin{array}{cccc}
\mathbf{A}      &   \mathbf{x}       & = &   \mathbf{b}  \\
\begin{bmatrix}
1 & 0 \\ 0 & 1 \\
\end{bmatrix}   &   \begin{bmatrix}
                    x_1 \\ x_2
                    \end{bmatrix}   & = &   \begin{bmatrix}
                                            b_1 \\ b_2
                                            \end{bmatrix}
    \end{array}
\end{equation}

\end{document}

在此处输入图片描述

答案2

显而易见的选择是array,但需要一些技巧来避免猜测空格。

\documentclass[twocolumn]{article}
\usepackage{amsmath}
\usepackage{array}

\newenvironment{lsarray}[1][c]% ls for 'linear system'
 {\begin{array}[#1]{@{} c @{} c @{} >{{}}c<{{}} @{} c @{}}}
 {\end{array}}

\begin{document}

Centered equation number:
\begin{equation}
\begin{lsarray}
  \mathbf{A} & \mathbf{x} & = & \mathbf{b} \\
  \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} &
  \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} &
  = &
  \begin{bmatrix} b_1 \\ b_2 \end{bmatrix}
\end{lsarray}
\end{equation}

Bottom equation number:
\begin{equation}
\begin{lsarray}[b]
  \mathbf{A} & \mathbf{x} & = & \mathbf{b} \\
  \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} &
  \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} &
  = &
  \begin{bmatrix} b_1 \\ b_2 \end{bmatrix}
\end{lsarray}
\end{equation}

\end{document}

twocolumn选项只是为了制作不太宽的图片,以便更好地看到两种情况下方程编号的位置。

在此处输入图片描述

相关内容