矩阵中的框式条目

矩阵中的框式条目

我想创建如下公式或图形: 矩阵中的框式条目

我尝试了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 节点)。

上述代码的输出

相关内容