奇数对齐的嵌套矩阵

奇数对齐的嵌套矩阵

我试图让我的代码看起来像这样。 在此处输入图片描述

任何帮助,将不胜感激。

\documentclass[12pt,a4paper]{article}
\usepackage{amsmath,adjustbox}
\begin{document}


\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  \\
  -1  & 2+r_1 & -1 \\
      & \ddots & \ddots & \ddots \\
      &        & \ddots & \ddots & \ddots \\
      &        &        &  -1 & 2+r_1 & -1  \\
      &        &        &   & -1 & 2+r_1  \\    
  \end{Pbmatrix} & \begin{Pbmatrix}[b] #3 \end{Pbmatrix} & \\
  \hfill \begin{Pbmatrix}[b] #4 \end{Pbmatrix} & \begin{Pbmatrix}[b] #1 \end{Pbmatrix} & \begin{Pbmatrix}[b] #2 \end{Pbmatrix} \hfill\hfill \\ 
  & \begin{Pbmatrix}[b] #5 \end{Pbmatrix} & \begin{Pbmatrix}[t]
    2+r_2 & -1  \\
    -1  & 2+r_2 & -1 \\
        & \ddots & \ddots & \ddots \\
        &        & \ddots & \ddots & \ddots \\
        &        &        &  -1 & 2+r_2 & -1  \\
        &        &        &   & -1 & 2+r_2  \\    
    \end{Pbmatrix}
  \end{bmatrix}
}

\begin{figure}
\resizebox{\linewidth}{!}{%
$\displaystyle
\matt {A_1+A_4} {A_2} {-1} {A_3} {-1}
$}
\end{figure}


\end{document}

答案1

编辑鉴于 OP 的评论,我重写了它并简化了它。我已将单行行向量和单列列向量放入\myRow\myColumn宏中,这些宏只是 a bmatrices。由于 a 的大小取决于其条目,因此仅使它们与更大的角矩阵的大小相同是不够的,我使用和分别添加水平和垂直空间来bmatrix伪造它。\hspace\vspace

在此处输入图片描述

我首先将两个大块矩阵放入一个单独的宏中,以使代码易于阅读。接下来,我不再使用adjustbox 包因为这似乎只会破坏对齐。

代码如下:

 \documentclass[12pt,a4paper]{article}
\usepackage{amsmath,adjustbox,mathtools}
\begin{document}
%\newcommand\Bigger[2][7]{\left#2\rule{0mm}{#1truemm}\right.}
%\newcommand\pbmatrix[2][18]{\Bigger[#1]{[}#2\Bigger[#1]{]}}
\newcommand\myRow[2]{\bmatrix#1&\hspace*{59.5mm}&#2\endbmatrix}
\newcommand\myColumn[3][18]{\bmatrix#2\\ \vspace*{#1mm}\\ #3\endbmatrix}
\newcommand\myMatrix[1]{\bmatrix%
      2+#1& -1  \\
      -1  & 2+#1 & -1 \\
          & \ddots & \ddots & \ddots \\
          &        & \ddots & \ddots & \ddots \\
          &        &        &  -1 & 2+#1 & -1  \\
          &        &        &   & -1 & 2+#1  \\
\endbmatrix}

\newcommand{\matt}[5]{
  \begin{bmatrix}
    \myMatrix{r_1}& \myColumn{}{#3}&\\
    \myRow{}{#4}  & [#1]           &\myRow{#2}{}\\
                  & \myColumn[23]{#5}{}& \myMatrix{r_2}
  \end{bmatrix}
}

\begin{figure}
\resizebox{\linewidth}{!}{%
$\displaystyle
\matt {A_1+A_4} {A_2} {-1} {A_3} {-1}
$}
\end{figure}

\end{document}

请注意,两个列向量的垂直调整略有不同。这是使用可选参数来实现的

\myColumn[vertical height]{top entry}{bottom entry}

而行向量的水平调整相同。据推测这是因为bmatrix创建矩阵的方式。我通过反复试验找到了水平和垂直调整。

相关内容