我可以将 \fbox 沿着对角线放置,以便它们互相接触吗?

我可以将 \fbox 沿着对角线放置,以便它们互相接触吗?

我正在创建一个块对角矩阵,并想使用沿对角线的框,但框彼此不接触,因此看起来很有趣。

有什么办法可以解决这个问题?

这是我的代码:

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

相关内容