easybmat 矩阵两侧的括号

easybmat 矩阵两侧的括号

我创建了以下矩阵easybmat,我想在底部(分别在右侧)添加类似于下括号(分别在右侧)的内容,以及指定块的列数(分别在行数)的数字。这相当于底部有两个括号,右侧有两个括号,并且每个括号的下方(分别在右侧)都应该有一个数字。

我在手册上没有找到任何关于这方面的内容easybmat。我想我知道如何使用blkarray包,但是我首先无法创建矩阵的块结构。

\documentclass{article}
\usepackage{easybmat}
\begin{document}
\[ 
M(z)= \left[
\begin{BMAT}[5pt]{c|c}{c}
\begin{BMAT}[5pt]{c:c:c}{ccccccc}
& & \\
& & \\
& & \\
v_1 & \dots & v_m \\
& & \\
& & \\
& &
\end{BMAT}
&
\begin{BMAT}{c}{c|c}
\begin{BMAT}[5pt]{c:c:c}{ccc}
& & \\
w_1(a) & \dots & w_n(a) \\
& &
\end{BMAT}
\\
\begin{BMAT}[10pt]{c}{c}
B(z)
\end{BMAT}
\end{BMAT}
\end{BMAT} 
\right]
\]
\end{document}

矩阵

这或多或少就是我的愿望: 在此处输入图片描述

答案1

对于垂直括号,您可以使用bigdelim包;水平括号是使用\underset\underbrace以及可变宽度和无高度的“规则”制作的:

\documentclass{article}
\usepackage{amsmath}
\usepackage{easybmat}
\usepackage{multirow,bigdelim}

\newcommand*\hexbrace[2]{%
  \underset{#2}{\underbrace{\rule{#1}{0pt}}}}

\begin{document}
\[ 
M(z)= 
\begin{array}{c@{}c}
\left[
  \begin{BMAT}[5pt]{c|c}{c}
    \begin{BMAT}[5pt]{c:c:c}{ccccccc}
      & & \\
      & & \\
      & & \\
      v_1 & \dots & v_m \\
      & & \\
      & & \\
      & &
    \end{BMAT}
    &
    \begin{BMAT}{c}{c|c}
      \begin{BMAT}[5pt]{c:c:c}{ccc}
        & & \\
        w_1(a) & \dots & w_n(a) \\
        & &
      \end{BMAT}
      \\
      \begin{BMAT}[10pt]{c}{c}
        B(z)
      \end{BMAT}
    \end{BMAT}
  \end{BMAT} 
\right] 
& 
\begin{array}{l}
  \\[-8mm] \rdelim\}{4}{6mm}[$J$] \\ \\ \\[4mm]  \rdelim\}{3}{6mm}[$H$] \\ \\
\end{array} \\[-1ex]
\hexbrace{2.7cm}{m}\hexbrace{3.8cm}{n}
\end{array}
\]

\end{document}

在此处输入图片描述

答案2

你是指这样的吗?

在此处输入图片描述

\documentclass{article}
\usepackage{easybmat}
\begin{document}
\[ 
M(z)= \left[
\begin{BMAT}[5pt]{c|c}{c}
\underbrace{\left.\begin{BMAT}[5pt]{c:c:c}{ccccccc}
& & \\
& & \\
& & \\
v_1 & \dots & v_m \\
& & \\
& & \\
& &
\end{BMAT}\right\}6}_5
&
\begin{BMAT}{c}{c|c}
\begin{BMAT}[5pt]{c:c:c}{ccc}
& & \\
w_1(a) & \dots & w_n(a) \\
& &
\end{BMAT}
\\
\begin{BMAT}[10pt]{c}{c}
B(z)
\end{BMAT}
\end{BMAT}
\end{BMAT} 
\right]
\]
\end{document}

(如果您的意思确实是那样,那么支架的位置需要进行一些调整,但如果这基本上是您所需要的,那么这很容易做到)

答案3

供参考,这里有一种用构建该矩阵的方法{bNiceArray}nicematrix您需要多次编译)。

\documentclass{article}
\usepackage{nicematrix,tikz}

\NiceMatrixOptions
  {
    custom-line = 
      {
        letter = : , 
        tikz = dashed
      }
  }

\begin{document}

\[
M(z) =
\begin{bNiceArray}[last-col,margin]
  {>{\rule[-7mm]{0pt}{15mm}}c:c:c|c:c:c}
    \Block{2-1}{v_1} & \Block{2-1}{\ldots}&\Block{2-1}{v_m} & w_1(a) & \ldots & w_n(a) & \quad J\\
    \Hline
    & & & \Block{1-3}{B(z)} & & & \quad H \rule[-7mm]{0pt}{15mm}\\
\CodeAfter
    \SubMatrix{.}{1-1}{1-6}{\}}[xshift=1em]
    \SubMatrix{.}{2-1}{2-6}{\}}[xshift=1em]
    \UnderBrace{2-1}{2-3}{m}[yshift=1mm]
    \UnderBrace{2-4}{2-6}{n}[yshift=1mm]
\end{bNiceArray}\]

\end{document}

上述代码的输出

相关内容