(簡単?)幅広ブロックのマトリックス

(簡単?)幅広ブロックのマトリックス

次のようなマトリックスを作成したいと思います。

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

しかし、ベクトルのサイズを示して、それを水平または垂直の 2 つのフィールドに配置したいと思いますb。行列についても同様でD、中央に名前がある 2×2 行列のように配置したいと思います。

ゴール

答え1

最初の行の 2 番目の項目の幅が通常の列 2 つ分であると仮定します。同様に、2 番目の行の 2 番目の項目の高さが通常の行 2 つ分であると仮定します。

\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}

ここに画像の説明を入力してください

2022年12月追加

はるかに優れたツールが登場しました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}

ここに画像の説明を入力してください

答え2

代替案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}

ここに画像の説明を入力してください

縦線が括弧より高くなるのが気に入らないので、縦線を短くするために と を設定aboveposしました。気に入らなければ、もちろんその設定を削除できます。belowpos-1

関連情報