(¿fácil?) Matriz con bloques anchos

(¿fácil?) Matriz con bloques anchos

Me gustaría crear una matriz como esta:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
$$ \begin{bmatrix}
    a & b' \\
    b & D
\end{bmatrix} $$
\end{document}

pero me gustaría indicar el tamaño del vector by ponerlo en dos campos, horizontal o verticalmente. Lo mismo con la matriz Dque me gustaría poner como una matriz de 2×2 con un nombre en el centro.

Meta

Respuesta1

Pretendo que el segundo elemento de la primera fila sea tan ancho como dos columnas normales. De manera similar, el segundo elemento de la segunda fila tiene la altura de dos filas normales.

\documentclass{article}
\usepackage{amsmath,mathtools}

\begin{document}

\[
\sbox0{$\begin{matrix} D & D\end{matrix}$}
\left[\begin{array}{c|c}
a & \mathmakebox[\wd0]{b'} \\
\hline
b & \vphantom{\begin{matrix} D \\ D \end{matrix}} D
\end{array}\right]
\]

\end{document}

ingrese la descripción de la imagen aquí

Agregado en diciembre de 2022

Ha aparecido una herramienta mucho mejor, a saber nicematrix.

\documentclass{article}
\usepackage{amsmath}
\usepackage{nicematrix}

\begin{document}

\[
\begin{bNiceArray}{c|w{c}{3em}}[margin]
a & b' \\
\hline
\Block{2-1}{b} & \Block{2-1}{D} \\
&
\end{bNiceArray}
\]

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Una alternativa con tabularray:

\documentclass{article}
\usepackage{tabularray}
\UseTblrLibrary{amsmath}
\begin{document}
\[
\begin{+bmatrix}[
    vline{2} = {1}{abovepos = -1},
    vline{2} = {2}{belowpos = -1},
    colspec={cm{3em}},
    rowspec={Q[m]|m{3em}},
    ]
    a & b' \\
    b & D
\end{+bmatrix}
\]
\end{document}

ingrese la descripción de la imagen aquí

Configuré aboveposy belowpospara -1acortar la línea vertical, porque no me gusta cuando está más alta que el paréntesis. Si te gusta, puedes eliminar esa configuración, por supuesto.

información relacionada