Los corchetes alrededor de blkarray son demasiado grandes

Los corchetes alrededor de blkarray son demasiado grandes

Este es un seguimiento deestepregunta.

MWE (proporcionado por Henri Menke en la publicación vinculada):

\documentclass{article}
\usepackage{blkarray}
\begin{document}
\[
  \left[
  \begin{blockarray}{ccccccc}
    \begin{block}{[ccc]cccc}
      I_p \\
      & \ddots \\
      & & I_p \\
    \end{block}
    \begin{block}{c[ccc]ccc}
      & I_p \\
      & & \ddots \\
      & & & I_p \\
    \end{block}
    & & & \vdots & \ddots \\
    & & & \ddots & \vdots \\
    \begin{block}{cccc[ccc]}
      & & & & I_p \\
      & & & & & \ddots \\
      & & & & & & I_p \\
    \end{block}
  \end{blockarray}
  \right]
\]
\end{document}

Esto produce esto:ingrese la descripción de la imagen aquí

Esto es casi lo que quiero, excepto que los soportes producidos por \left[y \rightson demasiado largos en la parte inferior. Siento que debe haber una manera de hacer esto exclusivamente en un blockarray, pero la documentación del paquete no es lo suficientemente extensa como para llevarme rápidamente a esa solución.

Respuesta1

blkarrayes tan raro....

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage{blkarray}
\addtolength\textwidth{25pt}
\begin{document}
\[
  \left[
  \begin{blockarray}{ccccccc}
    \begin{block}{[ccc]cccc}
      I_p \\
      & \ddots \\
      & & I_p \\
    \end{block}
    \begin{block}{c[ccc]ccc}
      & I_p \\
      & & \ddots \\
      & & & I_p \\
    \end{block}
    & & & \vdots & \ddots \\
    & & & \ddots & \vdots \\
    \begin{block}{cccc[ccc]}
      & & & & I_p \\
      & & & & & \ddots \\
      & & & & & & I_p \\
    \end{block}
  \end{blockarray}
  \right]
+
 \left[
  \begin{blockarray}{ccccccc}
    \begin{block}{[ccc]cccc}
      I_p \\
      & \ddots \\
      & & I_p \\
    \end{block}
    \begin{block}{c[ccc]ccc}
      & I_p \\
      & & \ddots \\
      & & & I_p \\
    \end{block}
    & & & \vdots & \ddots \\
    & & & \ddots & \vdots \\
    \begin{block}{cccc[ccc]}
      & & & & I_p \\
      & & & & & \ddots \\
      & & & & & & I_p \\
    \end{block}
    \BAnoalign{\vspace{-20pt}}
  \end{blockarray}
  \right]
\]
\end{document}

Respuesta2

Con {NiceArray}de nicematrix.

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

Without modification of \verb|\delimiterfactor|.
%
\[ \left[\begin{NiceArray}{ccccccc}[margin]
      I_p \\
      & \ddots \\
      & & I_p \\
      & I_p \\
      & & \ddots \\
      & & & I_p \\
    & & & \vdots & \ddots \\
    & & & \ddots & \vdots \\
      & & & & I_p \\
      & & & & & \ddots \\
      & & & & & & I_p \\
\CodeAfter 
\SubMatrix[{1-1}{3-3}]
\SubMatrix[{4-2}{6-4}]
\SubMatrix[{9-5}{11-7}]
\end{NiceArray}\right]\]
%
With \verb|\delimiterfactor=1050| and \verb|\delimiterfactor=901| back in the \verb|\CodeAfter|.
%
\[\delimiterfactor=1050
   \left[\begin{NiceArray}{ccccccc}[margin]
      I_p \\
      & \ddots \\
      & & I_p \\
      & I_p \\
      & & \ddots \\
      & & & I_p \\
    & & & \vdots & \ddots \\
    & & & \ddots & \vdots \\
      & & & & I_p \\
      & & & & & \ddots \\
      & & & & & & I_p \\
\CodeAfter
\delimiterfactor=901 % default value
\SubMatrix[{1-1}{3-3}]
\SubMatrix[{4-2}{6-4}]
\SubMatrix[{9-5}{11-7}]
\end{NiceArray}\right]\]

\end{document}

Necesita varias compilaciones (porque nicematrixutiliza nodos PGF/Tikz bajo el capó).

Salida del código anterior

información relacionada