这可能是一个愚蠢的问题,但我还是要问:
在这种情况下,如何将文本 A 对齐到 bmatrix/pmatrix 下方?
我目前有这个代码:
\begin{equation*}
\begin{pmatrix}
3 & -1 & 1 \\
3 & 3 & 7 \\
3 & 6 & 2
\end{pmatrix}\begin{pmatrix}
x_1 \\
x_2 \\
x_3
\end{pmatrix} = \begin{pmatrix}
1 \\
4 \\
0
\end{pmatrix}
\end{equation*}
以及这个等式:
其中矩阵构成了 的方程Ax = b
。我想在矩阵下方写下相应的变量,例如x
、b
。A
帮助?
答案1
宏\underbrace
可能是你的朋友。
\documentclass{article}
\usepackage{amsmath} % for '\underbrace' macro and 'pmatrix' environment
\begin{document}
\[
{\underbrace{\begin{pmatrix}
3 & -1 & 1 \\
3 & 3 & 7 \\
3 & 6 & 2
\end{pmatrix}}_{A}} \,
{\underbrace{\begin{pmatrix}
x_1 \\
x_2 \\
x_3
\end{pmatrix}}_{x\vphantom{A}}} =
{\underbrace{\begin{pmatrix}
1 \\
4 \\
0
\end{pmatrix}}_{b}}
\]
\end{document}
答案2
使用\underbrace
似乎是最好的方法,但间距会很糟糕。更不用说输入语法了。
\documentclass{article}
\usepackage{amsmath}
\NewDocumentEnvironment{ubpmatrix}{m+b}
{% some space to compensate
\mspace{9mu}%
% a group to avoid \underbrace being a mathop
{\underbrace{%
\mspace{-9mu}%
\begin{pmatrix}#2\end{pmatrix}%
\mspace{-9mu}%
}_{\mathstrut#1}}
\mspace{9mu}%
}{}
\begin{document}
\[
\begin{ubpmatrix}{A}
3 & -1 & 1 \\
3 & 3 & 7 \\
3 & 6 & 2
\end{ubpmatrix}
\begin{ubpmatrix}{x}
x_1 \\
x_2 \\
x_3
\end{ubpmatrix}
=
\begin{ubpmatrix}{b}
1 \\
4 \\
0
\end{ubpmatrix}
\]
\end{document}
下支撑位于收缩物体的下方,在结构周围添加了相同的空间以掩盖我们的踪迹。
答案3
以下是使用{pNiceMatrix}
ofnicematrix
及其内置命令可以执行的操作\SubMatrix
。
\documentclass{article}
\usepackage{nicematrix}
\usepackage{lipsum} % for dummy text
\begin{document}
\lipsum[1]
\[
A = \begin{pNiceMatrix}[last-row=4]
4 & -1 & 1 \\
4 & -8 & 1 \\
-2 & 1 & 5 \\
\\
\CodeAfter \UnderBrace[yshift=1mm]{3-1}{3-3}{A}
\end{pNiceMatrix}
\hspace{2cm}
B = \begin{pNiceMatrix}[last-row=4]
4 & -1 & 1 \\
4 & -8 & 1 \\
-2 & 1 & 5 \\
\\
\CodeAfter \UnderBrace[yshift=1mm,shorten]{3-1}{3-3}{B}
\end{pNiceMatrix}
\]
\lipsum[2]
\end{document}
第二个矩阵使用的密钥shorten
是SubMatrix
。