![矩阵中的框式条目](https://linux22.com/image/265807/%E7%9F%A9%E9%98%B5%E4%B8%AD%E7%9A%84%E6%A1%86%E5%BC%8F%E6%9D%A1%E7%9B%AE.png)
我想创建如下公式或图形:
我尝试了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 节点)。