我正在创建一个块对角矩阵,并想使用沿对角线的框,但框彼此不接触,因此看起来很有趣。
有什么办法可以解决这个问题?
这是我的代码:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\begin{bmatrix}
\fbox{$B_1$} & 0 & 0 \\
0 & \fbox{$B_2$} & 0 \\
0 & 0 & \fbox{$B_3$} \\
\end{bmatrix}
\]
\end{document}
类似于这个答案中间的矩阵(但没有红色和颜色填充)
谢谢,
答案1
列之间的空间由 dimen 寄存器控制\arraycolsep
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\setlength{\arraycolsep}{0pt}
\begin{bmatrix}
\fbox{$B_1$} & 0 & 0 \\
0 & \fbox{$B_2$} & 0 \\
0 & 0 & \fbox{$B_3$} \\
\end{bmatrix}
\]
\end{document}
不触及分隔符:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\setlength{\arraycolsep}{0pt}
\begin{bmatrix}
\,\fbox{$B_1$} & 0 & 0\, \\
\,0 & \fbox{$B_2$} & 0\, \\
\,0 & 0 & \fbox{$B_3$}\, \\
\end{bmatrix}
\]
\end{document}
分隔符的大小至少\delimiterfactor
为公式高度的千分之一或公式高度减去\delimitershortfall
。全尺寸可通过以下方式实现:
\delimiterfactor=1000\放松
或者
\setlength{\delimitershortfall}{0pt}
例子:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\setlength{\arraycolsep}{0pt}
% \delimiterfactor=1000 %
\setlength{\delimitershortfall}{0pt}
\begin{bmatrix}
\,\fbox{$B_1$} & 0 & 0\, \\
\,0 & \fbox{$B_2$} & 0\, \\
\,0 & 0 & \fbox{$B_3$}\, \\
\end{bmatrix}
\]
\end{document}
彩色盒子也可以像 Zarko 的一样回答:
\documentclass{article}
\usepackage{amsmath}
\usepackage{xcolor}
\begin{document}
\[
\setlength{\arraycolsep}{0pt}
\setlength{\delimitershortfall}{0pt}
\newcommand*{\myfbox}[1]{%
\fcolorbox{red}{red!20!white}{$#1$}%
}
\begin{bmatrix}
\,\myfbox{B_1} & 0 & 0\, \\
\,0 & \myfbox{B_2} & 0\, \\
\,0 & 0 & \myfbox{B_3}\, \\
\end{bmatrix}
\]
\end{document}
答案2
像这样?
好了,这个矩阵就画出来了……
\documentclass[border=3mm,tikz,preview]{standalone}
\usetikzlibrary{matrix}
\begin{document}
\[
\begin{tikzpicture}
\matrix (m1) [matrix of nodes,
left delimiter={[}, right delimiter={]},
row sep=-0.5pt,column sep=-0.5pt,
every node/.style={inner sep=5pt}
]
{
|[draw]| $B_1$ & 0 & 0 \\
0 & |[draw]| $B_2$ & 0 \\
0 & 0 & |[draw]| $B_3$ \\
};
\end{tikzpicture}
\]
\end{document}
通过tikz
使用 TikZ 库matrix
。矩阵单元格之间的距离以及到其括号的距离由 设置inner sep=5pt
。带有“框架”的单元格有选项|[draw]|
。
附录: 由于矩阵现在实际上是图像,因此可以很容易地以更奇特的方式呈现。例如:
上述矩阵版本的 MWE 为:
\documentclass[border=3mm,tikz,preview]{standalone}
\usetikzlibrary{matrix}
\begin{document}
\[
\begin{tikzpicture}
\matrix (m1) [matrix of nodes,
left delimiter={[}, right delimiter={]},
row sep=-0.5pt,column sep=-0.5pt,
every node/.style={inner sep=5pt},
F/.style = {draw=red, line width=0.5pt, fill=red!20}
]
{
|[F]| $B_1$ & 0 & 0 \\
0 & |[F]| $B_2$ & 0 \\
0 & 0 & |[F]| $B_3$ \\
};
\end{tikzpicture}
\]
\end{document}