我如何创建这种格式的邻接矩阵?

我如何创建这种格式的邻接矩阵?

我怎样才能创建一个像这样带有空角和连续垂直线的表格?

在此处输入图片描述

以下是我目前所掌握的信息:

在此处输入图片描述

\documentclass[journal]{IEEEtran}
\usepackage{mathtools}
\usepackage{booktabs}

\begin{document}
  \begin{table}[!t]
  \centering
  \caption{Adjacency Matrix}
  \label{tab:Adjacency Matrix}
  \begin{tabular}{|c|c|c|c|c|c|}
  \toprule
$V_1$ & $V_2$ & $V_3$ & $V_4$ & $V_5$ \\
\midrule
$V_1$ \\
\midrule
$V_2$ \\
\midrule
$V_3$ \\
\midrule
$V_4$ \\
\midrule
$V_5$ \\
\bottomrule
\end{tabular}
\end{table}
\end{document}

如果您有好主意,也请提出建议。

答案1

我建议使用表格数组对于这种表格或 NiceMatrix,但我不熟悉后者,所以我给出了一个基于tabularray

在此处输入图片描述

\documentclass[journal]{IEEEtran}
\usepackage{mathtools}
\usepackage{tabularray}
    \UseTblrLibrary{booktabs}


\begin{document}
  \begin{table}[!t]
    \centering
    \caption{Adjacency Matrix}
    \label{tab:Adjacency Matrix}
    \begin{tblr}{
            colspec={*6{c}},
            vline{1} = {2-Z}{0.8pt},
            vline{2,Z} = {0.8pt},
            vline{3-Y} = {0.3pt},
            hline{1} = {2-Z}{0.8pt},
            hline{2,Z} = {0.8pt},
            hline{3-Y} = {0.3pt},
            row{1} = {mode=math},
            column{1} = {mode=math},
        }
        & V_1 & V_2 & V_3 & V_4 & V_5 \\
        V_1 & 1 & 1 & 0 & 0 & 1 \\
        V_2 & 1 & 0 & 1 & 0 & 1 \\
        V_3 & 0 & 1 & 0 & 1 & 0 \\
        V_4 & 0 & 0 & 1 & 0 & 1 \\
        V_5 & 1 & 1 & 0 & 1 & 0 \\
    \end{tblr}
  \end{table}
\end{document}

答案2

{NiceTabular}有了 的环境就很容易了nicematrix

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\renewcommand{\arraystretch}{1.2}
\begin{NiceTabular}{>{\bfseries}cccccc}[hvlines,corners=NW] % NW = north west 
\RowStyle{\bfseries}
  & 1 & 2 & 3 & 4 & 5 \\
1 &   &   & 1 & 1 &   \\
2 &   &   &   & 1 & 1 \\
3 & 1 &   &   &   & 1 \\
4 & 1 & 1 &   &   &   \\
5 &   & 1 & 1 &   &   \\
\end{NiceTabular}

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出


回答评论。通常,人们只在没有任何垂直规则的设计中使用(、、等)\booktabs规则\toprule......midrule\bottomrule

但是,如果您想添加粗细为(等于)的规则\toprulebooktabs\heavyrulewidth可以通过nicematrix使用键定义自定义线条样式来实现custom-line


\documentclass{article}
\usepackage{nicematrix,booktabs,tikz}

\begin{document}

\NiceMatrixOptions
  {
    custom-line = 
     {
       command = boldhline ,
       ccommand = cboldhline ,
       tikz = { line width = \heavyrulewidth } , 
       total-width = \heavyrulewidth 
     }
  }

\renewcommand{\arraystretch}{1.2}
\begin{NiceTabular}{>{\bfseries}cccccc}[hvlines,corners=NW] % NW = north west 
\cboldhline{2-last}
\RowStyle{\bfseries}
  & 1 & 2 & 3 & 4 & 5 \\
1 &   &   & 1 & 1 &   \\
2 &   &   &   & 1 & 1 \\
3 & 1 &   &   &   & 1 \\
4 & 1 & 1 &   &   &   \\
5 &   & 1 & 1 &   &   \\
\boldhline
\end{NiceTabular}

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

答案3

希望这可以帮助你:

\documentclass[journal]{IEEEtran}
\usepackage{mathtools}
\usepackage{booktabs}

\begin{document}
  \begin{table}[!t]
  \centering
  \caption{Adjacency Matrix}
  \label{tab:Adjacency Matrix}
  \begin{tabular}{|c|c|c|c|c|}
\cline{2-5}
\multicolumn{1}{c|}{$V_1$} & $V_2$ & $V_3$ & $V_4$ & $V_5$ \\
\hline
$V_1$ & & & & \\
\hline
$V_2$ & & & &\\
\hline
$V_3$ & & & &\\
\hline
$V_4$ & & & &\\
\hline
$V_5$ & & & &\\
\hline
\end{tabular}
\end{table}

\end{document}

在此处输入图片描述

相关内容