行列内のボックス項目

行列内のボックス項目

次のような数式または図を作成したいと思います。 行列内のボックス項目

pmatrix環境とコマンドだけで簡単にやってみました\boxedが、間隔がひどい感じでした。TikZ でできるのではないかと思いますが、あまり詳しくありません。

編集:

右側については、これまでに得た結果は次のとおりです。

\documentclass{article}

\usepackage{amsmath,amsthm,amsfonts,amssymb}
\usepackage{tikz}
\usetikzlibrary{arrows,matrix,positioning}

\begin{document}
\begin{tikzpicture}
    \matrix [matrix of math nodes,left delimiter=(,right delimiter=)] (m)
    {
           A_1           & \phantom{A_1} & \phantom{A_1} & \\
           \phantom{A_1} & \phantom{A_1} &               & \\
           \phantom{A_1} &               & A_2           & \\
                         &               &               & A_2           & \phantom{A_3}\\
                         &               &               & \phantom{A_2} & A_3          \\
    };  
    \draw (m-1-1.north west) -- (m-1-2.north east) -- (m-2-2.south east) -- (m-2-1.south west) -- (m-1-1.north west);
    \draw (m-3-3.north west) -- (m-3-3.north east) -- (m-3-3.south east) -- (m-3-3.south west) -- (m-3-3.north west);
    \draw (m-4-4.north west) -- (m-4-4.north east) -- (m-4-4.south east) -- (m-4-4.south west) -- (m-4-4.north west);
    \draw (m-1-1.north west) -- (m-1-3.north east) -- (m-3-3.south east) -- (m-3-1.south west) -- (m-1-1.north west);
    \draw (m-5-5.north west) -- (m-5-5.north east) -- (m-5-5.south east) -- (m-5-5.south west) -- (m-5-5.north west);
    \draw (m-4-4.north west) -- (m-4-5.north east) -- (m-5-5.south east) -- (m-5-4.south west) -- (m-4-4.north west);
\end{tikzpicture}

\end{document}

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

私が達成したいのは

  • 四角い箱、
  • $A_1$ボックスの中央に配置され$2\times 2$
  • 左側と$\subset$中央の標識も同様です。

コメント: この質問のフォーマットで何を間違えたのか全く分かりません。

答え1

TikZ ソリューション:

\documentclass{article}
\usepackage{amsmath,tikz}
\usetikzlibrary{matrix}

\begin{document}
\[
\begin{tikzpicture}[baseline=(current bounding box.center)]%
\matrix[matrix of math nodes,
inner sep=0,
nodes={draw,outer sep=0,inner sep=2pt},
every left delimiter/.style={xshift=1ex},%tighter delimiter spacing
every right delimiter/.style={xshift=-1ex},
left delimiter={(},right delimiter={)},
column sep=-\pgflinewidth,row sep=-\pgflinewidth] (r) {
|[inner sep=5mm]|A_1&&\\&A_2&\\&&A_3\\};
\end{tikzpicture}
\subset
\begin{tikzpicture}[baseline=(current bounding box.center)]%
\matrix[matrix of math nodes,
inner sep=0,
nodes={draw,outer sep=0,inner sep=2pt},
every left delimiter/.style={xshift=1ex},%tighter delimiter spacing
every right delimiter/.style={xshift=-1ex},
left delimiter={(},right delimiter={)},
column sep=-\pgflinewidth,row sep=-\pgflinewidth] (l) {
|[inner sep=5mm]|A_1&&&\\&A_2&&\\&&A_2&\\&&&A_3\\};
\draw (l-2-2.north east) |- (l-1-1.north east) (l-2-2.south west) -| (l-1-1.south west)
      (l-3-3.north east) -| (l-4-4.north east) (l-3-3.south west) |- (l-4-4.south west);
\end{tikzpicture}
\]
\end{document}

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

答え2

TikZを使わないソリューション。easybmatパッケージ:

\documentclass{article}
\usepackage{amsmath}
\usepackage{easybmat}

\begin{document}

\[ 
\left(
\begin{array}{c@{}c@{}c}
\begin{BMAT}{|ccc|}{|ccc|}
& & \\
& \mbox{\LARGE$A_1$} & \\
& &  
\end{BMAT} & & \\
&
\begin{BMAT}{|c|}{|c|}
A_2 
\end{BMAT} & \\
& &
\begin{BMAT}{|c|}{|c|}
A_3 
\end{BMAT}
\end{array}
\right)
\subset
\left(
\begin{array}{c@{}c@{}c}
\begin{BMAT}{|ccc|c|}{|ccc|c|}
& & & \\
& \mbox{\LARGE$A_1$} & & \\
& &  & \\
& & & A_2
\end{BMAT} & & \\
&
\begin{BMAT}{|c|c|}{|c|c|}
A_2 & \\
& A_3
\end{BMAT}
\end{array}
\right)
\]

\end{document}

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

答え3

の解決策は次の{pNiceMatrix}とおりですnicematrix

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\begin{center}
\renewcommand{\arraystretch}{1.5}
\NiceMatrixOptions{columns-width=5mm,margin=0.7em}
$\begin{pNiceMatrix}
\Block[draw]{2-2}{A_1} \\
\\
& & \Block[draw]{}{A_2} \\
& & & \Block[draw]{}{A_3} 
\end{pNiceMatrix}
\subset 
\begin{pNiceMatrix}
\Block[hvlines]{3-3}{}\Block{2-2}{A_1} & & \Block{2-1}{} \\
\\
\Block{1-2}{} & & A_2 \\
& & & \Block[hvlines]{2-2}{} A_2 \\
& & & & A_3
\end{pNiceMatrix}$
\end{center}

\end{document}

複数のコンパイルが必要です (nicematrix内部で PGF/Tikz ノードを使用しているため)。

上記コードの出力

関連情報