(쉽나요?) 넓은 블록이 있는 매트릭스

(쉽나요?) 넓은 블록이 있는 매트릭스

다음과 같은 행렬을 만들고 싶습니다.

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

b하지만 벡터의 크기를 표시 하고 가로 또는 세로 두 필드에 배치하고 싶습니다 . D중앙에 이름이 있는 2×2 행렬처럼 넣고 싶은 행렬도 마찬가지입니다 .

목표

답변1

첫 번째 행의 두 번째 항목은 두 개의 일반 열만큼 넓다고 가정합니다. 마찬가지로 두 번째 행의 두 번째 항목은 두 개의 일반 행만큼 키가 큽니다.

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

여기에 이미지 설명을 입력하세요

괄호보다 높으면 마음에 들지 않기 때문에 수직선을 짧게하기 위해 및 to를 abovepos설정 했습니다 . 물론 마음에 들면 해당 설정을 제거할 수도 있습니다.belowpos-1

관련 정보