如何定义矩阵元素之间的适当空间?

如何定义矩阵元素之间的适当空间?

我需要绘制一个简单的矩阵,其中的列对应一些集合。我尝试了以下方法:

\[D^{4}_{2}=
\left[\begin{array}{cc} 
       \diagdown & {\begin{array}{cccccc} \{1,2\} & \{1,3\} & \{2,3\} & \{1,4\} & \{2,4\} & \{3,4\} \end{array}} \\ 
      {\begin{array}{c} 
     \{1,2\} \\
     \{1,3\} \\
     \{2,3\} \\
     \{1,4\} \\
     \{2,4\} \\
     \{3,4\}
      \end{array}} & 
      {\left(\begin{array}{cccccc}
         0 & 0 & 0 & 0 & 0 & 1 \\
         0 & 0 & 0 & 0 & 1 & 0 \\
         0 & 0 & 0 & 1 & 0 & 0 \\   
         0 & 0 & 1 & 0 & 0 & 0 \\
         0 & 1 & 0 & 0 & 0 & 0 \\
         1 & 0 & 0 & 0 & 0 & 0 \\
  \end{array}\right)}
\end{array}\right] 
\]

结果是: 带标题的矩阵

我怎样才能将内部矩阵元素分隔开来,以便它能够适合整个表的行和列?

答案1

这是一种可能的方法;\overmat将其第一个参数写在第二个参数中包含的条目上方;使用10ptfor增加了内部矩阵中列之间的间隔arraycolsep

\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\usepackage{xcolor}

\newcommand\overmat[2]{%
  \makebox[0pt][c]{$\smash{\color{white}\overbrace{\vphantom{%
    \begin{matrix}{c}#2\end{matrix}}}^{\mkern12mu \text{\color{black}#1}}}$}#2}

\newcommand\diagdown{}% temporal definition

\begin{document}

\[D^{4}_{2}=
\left[\begin{array}{c@{}c} 
       \diagdown &  \\ 
      {\begin{array}{>{\scriptstyle}c}
     \{1,2\} \\
     \{1,3\} \\
     \{2,3\} \\
     \{1,4\} \\
     \{2,4\} \\
     \{3,4\}
      \end{array}} &
    \setlength\arraycolsep{10pt} 
      {\left(\begin{array}{@{\mkern5mu}cccccc@{\mkern5mu}}
         \overmat{\{1,2\}}{0} & \overmat{\{1,3\}}{0} 
           & \overmat{\{2,3\}}{0} & \overmat{\{1,4\}}{0} 
           & \overmat{\{2,4\}}{0} & \overmat{\{3,4\}}{1} \\
         0 & 0 & 0 & 0 & 1 & 0 \\
         0 & 0 & 0 & 1 & 0 & 0 \\   
         0 & 0 & 1 & 0 & 0 & 0 \\
         0 & 1 & 0 & 0 & 0 & 0 \\
         1 & 0 & 0 & 0 & 0 & 0 \\
  \end{array}\right)}
\end{array}\right] 
\]

\end{document}

在此处输入图片描述

由于我不知道 的定义\diagdown,因此我提供了部分定义\newcommand\diagdown{}。请在您的文档中使用您的实际定义。

答案2

这是第二个答案kbordermatrix- 也许不是你现在想要的,但却是一个很好的工具。(kbordermatrix.styhttp://ctan.math.utah.edu/ctan/tex-archive/macros/generic/misc/kbordermatrix.sty必要时。

\documentclass{article}
\usepackage{amsmath}
\usepackage{kbordermatrix}
\begin{document}
\begin{equation*}
\kbordermatrix{
& \{1,2\} & \{1,3\} & \{2,3\} & \{1,4\} & \{2,4\} & \{3,4\} \\
 \{1,2\} &  0 & 0 & 0 & 0 & 0 & 1 \\
 \{1,3\} &  0 & 0 & 0 & 0 & 1 & 0 \\
 \{2,3\} &  0 & 0 & 0 & 1 & 0 & 0 \\   
 \{1,4\} &  0 & 0 & 1 & 0 & 0 & 0 \\
 \{2,4\} &  0 & 1 & 0 & 0 & 0 & 0 \\
 \{3,4\} &  1 & 0 & 0 & 0 & 0 & 0           
}
\end{equation*}
\end{document}

在此处输入图片描述

答案3

这是使用scalerel

\documentclass{article}
\usepackage{amsmath}
\usepackage{scalerel}
\begin{document}


\setlength\arraycolsep{.5ex}
\def\x{\begin{array}{c} x\\x\\x\\x\\x\\x\end{array}}

\begin{equation}
\begin{bmatrix}
\begin{array}{c}
\\ \{1,2\} \\ \{1,3\} \\ \{2,3\} \\ \{1,4\} \\ \{2,4\} \\ \{3,4\}
\end{array}
&
\begin{array}{c}
 \\ \scalerel*[1.2ex]{(}{\x}
\end{array}
&
\begin{array}{c}
\{1,2\} \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \\ 1\\
\end{array}
&
\begin{array}{c}
\{1,3\} \\ 0 \\ 0 \\ 0 \\ 0 \\ 1 \\ 0\\
\end{array}
&
\begin{array}{c}
\{2,3\} \\ 0 \\ 0 \\ 0 \\ 1 \\ 0 \\ 0\\
\end{array}
&
\begin{array}{c}
\{1,4\} \\ 0 \\ 0 \\ 1 \\ 0 \\ 0 \\ 0\\
\end{array}
&
\begin{array}{c}
\{2,4\} \\ 0 \\ 1 \\ 0 \\ 0 \\ 0 \\ 0\\
\end{array}
&
\begin{array}{c}
\{3,4\} \\ 1 \\ 0 \\ 0 \\ 0 \\ 0 \\ 0\\
\end{array}
&
\begin{array}{c}
 \\ \scalerel*[1.2ex]{)}{\x}
\end{array}
\end{bmatrix}
\end{equation}

\end{document}

在此处输入图片描述

相关内容