嵌套矩阵的问题

嵌套矩阵的问题

我曾多次尝试在 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环境有一个对齐可选参数来获取top 或bottom 对齐。

在此处输入图片描述

答案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 节点)。

上述代码的输出

相关内容