我曾多次尝试在 Google 上寻找此问题的解决方案。我有一个如下所示的矩阵。
但我希望它看起来像这样。
注意 B、C、D 和 E 如何“紧密地集中在”A 周围。这是我的代码。
\documentclass[12pt,a4paper]{article}
\usepackage{amsmath}
\begin{document}
\newcommand{\matt}[5] {
$
\begin{bmatrix}
\begin{array}{ c c c }
\begin{bmatrix}
2+r & -1 \\
-1 & 2+r & -1 \\
& \ddots & \ddots & \ddots \\
& & \ddots & \ddots & \ddots \\
& & & -1 & 2+r & -1 \\
& & & & -1 & 2+r \\
\end{bmatrix} & {#3} & \\
{#4} & {#1} & {#2} \\
& {#5} & \begin{bmatrix}
2+r & -1 \\
-1 & 2+r & -1 \\
& \ddots & \ddots & \ddots \\
& & \ddots & \ddots & \ddots \\
& & & -1 & 2+r & -1 \\
& & & & -1 & 2+r \\
\end{bmatrix} \\
\end{array}
\end{bmatrix}
$
}
\matt {A} {B} {C} {D} {E}
\end{document}
有什么想法吗?
谢谢,鲍勃。
答案1
使用adjustbox
以获得正确的垂直对齐:
\documentclass[12pt,a4paper]{article}
\usepackage{amsmath,adjustbox}
\newenvironment{Pbmatrix}[1][c]
{\begin{adjustbox}{valign=#1}$\begin{bmatrix}}
{\end{bmatrix}$\end{adjustbox}}
\newcommand{\matt}[5]{
\begin{bmatrix}
\begin{Pbmatrix}[b]
2+r & -1 \\
-1 & 2+r & -1 \\
& \ddots & \ddots & \ddots \\
& & \ddots & \ddots & \ddots \\
& & & -1 & 2+r & -1 \\
& & & & -1 & 2+r \\
\end{Pbmatrix} & #3 \\
\hfill #4 & #1 & #2\hfill \\
& #5 & \begin{Pbmatrix}[t]
2+r & -1 \\
-1 & 2+r & -1 \\
& \ddots & \ddots & \ddots \\
& & \ddots & \ddots & \ddots \\
& & & -1 & 2+r & -1 \\
& & & & -1 & 2+r \\
\end{Pbmatrix}
\end{bmatrix}
}
\begin{document}
\[
\matt {A} {B} {C} {D} {E}
\]
\end{document}
辅助Pbmatrix
环境有一个对齐可选参数来获取t
op 或b
ottom 对齐。
答案2
供参考,以下是您可以使用的操作nicematrix
。
\documentclass[12pt,a4paper]{article}
\usepackage{nicematrix}
\begin{document}
\begin{equation*}
\setlength{\arraycolsep}{4pt}
\left[\begin{array}{@{}rcl@{}}
\begin{bNiceMatrix}[b]
2+r & -1 \\
-1 & 2+r & -1 \\
& \Ddots & \Ddots & \Ddots \\
& & \Ddots & \Ddots & \Ddots \\
& & & -1 & 2+r & -1 \\
& & & & -1 & 2+r \\
\end{bNiceMatrix} & C \\
D & A & B \\
& E & \begin{bNiceMatrix}[t]
2+r & -1 \\
-1 & 2+r & -1 \\
& \Ddots & \Ddots & \Ddots \\
& & \Ddots & \Ddots & \Ddots \\
& & & -1 & 2+r & -1 \\
& & & & -1 & 2+r \\
\end{bNiceMatrix}
\end{array}\right]
\end{equation*}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。