此代码
\begin{bmatrix}
a_{11} & a_{12} & a_{13} & a_{14} \\
a_{21} & a_{22} & a_{23} & a_{24} \\
a_{31} & a_{32} & a_{33} & a_{34}
\end{bmatrix}
\begin{bmatrix}
5 & 6 & 7 & 8 \\
4 & 3 & 2 & 1 \\
6 & 7 & 8 & 9
\end{bmatrix}
生成两个并排的矩阵。如何让它们相互叠加?
答案1
我建议您将两个bmatrix
环境都放在一个gather*
环境中。
\documentclass{article}
\usepackage{amsmath} % for 'bmatrix' and 'gather*' environments
\begin{document}
\begin{gather*}
\begin{bmatrix}
a_{11} & a_{12} & a_{13} & a_{14} \\
a_{21} & a_{22} & a_{23} & a_{24} \\
a_{31} & a_{32} & a_{33} & a_{34}
\end{bmatrix} \\ % <-- force a line break
\begin{bmatrix}
5 & 6 & 7 & 8 \\
4 & 3 & 2 & 1 \\
6 & 7 & 8 & 9
\end{bmatrix}
\end{gather*}
\end{document}
答案2
这里有一些选项;原则上,将两个矩阵包装在里面,array
并使用常规换行符将它们分开\\
:
\documentclass{article}
\usepackage{amsmath,eqparbox}
% https://tex.stackexchange.com/a/34412/5764
\makeatletter
\NewDocumentCommand{\eqmathbox}{o O{c} m}{%
\IfValueTF{#1}
{\def\eqmathbox@##1##2{\eqmakebox[#1][#2]{$##1##2$}}}
{\def\eqmathbox@##1##2{\eqmakebox{$##1##2$}}}
\mathpalette\eqmathbox@{#3}
}
\makeatother
\begin{document}
\[
\begin{bmatrix}
a_{11} & a_{12} & a_{13} & a_{14} \\
a_{21} & a_{22} & a_{23} & a_{24} \\
a_{31} & a_{32} & a_{33} & a_{34}
\end{bmatrix}
\begin{bmatrix}
5 & 6 & 7 & 8 \\
4 & 3 & 2 & 1 \\
6 & 7 & 8 & 9
\end{bmatrix}
\]
\[
\begin{array}{@{} c @{}}
\begin{bmatrix}
a_{11} & a_{12} & a_{13} & a_{14} \\
a_{21} & a_{22} & a_{23} & a_{24} \\
a_{31} & a_{32} & a_{33} & a_{34}
\end{bmatrix} \\
\begin{bmatrix}
5 & 6 & 7 & 8 \\
4 & 3 & 2 & 1 \\
6 & 7 & 8 & 9
\end{bmatrix}
\end{array} \qquad
\begin{array}{@{} c @{}}
\begin{bmatrix}
\eqmathbox[aa]{a_{11}} & \eqmathbox[aa]{a_{12}} & \eqmathbox[aa]{a_{13}} & \eqmathbox[aa]{a_{14}} \\
a_{21} & a_{22} & a_{23} & a_{24} \\
a_{31} & a_{32} & a_{33} & a_{34}
\end{bmatrix} \\
\\[\dimexpr-\normalbaselineskip+\jot]
\begin{bmatrix}
\eqmathbox[aa]{5} & \eqmathbox[aa]{6} & \eqmathbox[aa]{7} & \eqmathbox[aa]{8} \\
4 & 3 & 2 & 1 \\
6 & 7 & 8 & 9
\end{bmatrix}
\end{array}
\]
\end{document}
添加eqparbox
(和\eqmathbox
)取决于您是否希望条目在 -es 之间对齐bmatrix
。您还可以考虑blkarray
。
答案3
也许 OP 希望第一个矩阵的列与第二个矩阵的列对齐。使用 是可能{NiceMatrix}
的nicematrix
。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\[\begin{NiceMatrix}
a_{11} & a_{12} & a_{13} & a_{14} \\
a_{21} & a_{22} & a_{23} & a_{24} \\
a_{31} & a_{32} & a_{33} & a_{34} \\[1mm]
5 & 6 & 7 & 8 \\
4 & 3 & 2 & 1 \\
6 & 7 & 8 & 9
\CodeAfter
\SubMatrix[{1-1}{3-4}]
\SubMatrix[{4-1}{6-4}]
\end{NiceMatrix}\]
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。