在实际矩阵下标记 Ax = b

在实际矩阵下标记 Ax = b

我希望在 Latex 中实现以下目标:

| a b | x | x1 | = | b1 |
| c d |   | x2 |   | b2 |
   A         x       b

我在各个矩阵下写下标签 A、x 和 b。我用来编写矩阵的代码是(请随意改进我的代码——我已经十多年没有使用过 LateX 了)。

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
\begin{pmatrix}
    a & b \\
    c & d
\end{pmatrix}
\times
\begin{pmatrix}
    x1 \\
    x2
\end{pmatrix}
=
\begin{pmatrix}
    b1  \\
    b2 
\end{pmatrix}
\end{align}
\end{document}

谢谢。

答案1

这是一个可能更好的版本,它有一个接受下标作为参数的新环境:

\documentclass{article}
\usepackage{amsmath}

\newenvironment{spmatrix}[1]
 {\def\mysubscript{#1}\mathop\bgroup\begin{pmatrix}}
 {\end{pmatrix}\egroup_{\textstyle\mathstrut\mysubscript}}

\begin{document}
\begin{equation}
\begin{spmatrix}{A}
    a & b \\
    c & d
\end{spmatrix}
\begin{spmatrix}{x}
    x_1 \\
    x_2
\end{spmatrix}
=
\begin{spmatrix}{b}
    b_1  \\
    b_2
\end{spmatrix}
\end{equation}
\end{document}

在此处输入图片描述

注意:下标太大可能会造成错位。

我不会将其\times用于矩阵乘法:通常不使用符号。

align对于单个方程来说也是错误的。


如果有人问为什么\def\mysubscript{#1}定义中有这个位,答案是 LaTeX 不允许#1在 的“结束”部分使用\newenvironment。此限制不适用于xparse

\usepackage{xparse}
\NewDocumentEnvironment{spmatrix}{ m }
  {\mathop\bgroup\begin{pmatrix}}
  {\end{pmatrix}\egroup_{\textstyle\mathstrut #1}}

答案2

通过将矩阵和向量放入 中即可实现\mathop。该示例还用于\textstyle更大的尺寸和\vphantom调整基线。

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
\mathop{\begin{pmatrix}
    a & b \\
    c & d
\end{pmatrix}}_{\textstyle A} 
\times
\mathop{\begin{pmatrix}
    x1 \\
    x2
\end{pmatrix}}_{\textstyle x\vphantom{A}}
=
\mathop{\begin{pmatrix}
    b1  \\
    b2
\end{pmatrix}}_{\textstyle b\vphantom{A}}
\end{align}
\end{document}

补充:宏形式。

\documentclass{article}
\usepackage{amsmath}
\newcommand*{\putunder}[2]{%
  {\mathop{#1}_{\textstyle #2}}%
}
\begin{document}
\begin{gather}
\putunder{
  \begin{pmatrix}
    a & b \\
    c & d
  \end{pmatrix}
}{A}
\times
\putunder{
  \begin{pmatrix}
    x1 \\
    x2
  \end{pmatrix}
}{x\vphantom{A}}
=
\putunder{
  \begin{pmatrix}
    b1  \\
    b2
  \end{pmatrix}
}{b\vphantom{A}}
\end{gather}
\end{document}

结果

答案3

以下是滥用mathtools(对功能的补充和一些修正amsmath。请查看文档)我经常使用它。它实际上是在绘制一个括号,但将其线宽归零会使其不可见。它并不优雅,但我还没有遇到任何问题(并不意味着我不会遇到)。

命令是\underbracket[<rule thickness>] [<bracket height>]{<arg>}

\documentclass{article}
\usepackage{mathtools}
\begin{document}
\[
\underbracket[0pt][0pt]{%
\begin{pmatrix}
    a & b \\
    c & d
\end{pmatrix}}_{\mathstrut A}
\times
\underbracket[0pt][0pt]{%
\begin{pmatrix}
    x_1 \\
    x_2
\end{pmatrix}}_{\mathstrut x}
=
\underbracket[0pt][0pt]{%
\begin{pmatrix}
    b_1  \\
    b_2 
\end{pmatrix}}_{\mathstrut b}
\]
\end{document}

标签的内容是顶部对齐的,所以我将x标签向下推了一点。感谢 egreg,现在内容无论高度如何都固定在基线上。

在此处输入图片描述

答案4

在普通的 TeX 中我会使用 \atop:

$$
{\pmatrix{a  &b \cr c &d\cr}\atop A}
{\pmatrix{x_1\cr x_2}\atop \mathstrut x}
\raise8pt\hbox{=} {\pmatrix{b_1\cr b_2}\atop b}
$$
\bye

但我必须手动调整等号的位置。

相关内容