![我如何创建这种格式的邻接矩阵?](https://linux22.com/image/453786/%E6%88%91%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%E8%BF%99%E7%A7%8D%E6%A0%BC%E5%BC%8F%E7%9A%84%E9%82%BB%E6%8E%A5%E7%9F%A9%E9%98%B5%EF%BC%9F.png)
我怎样才能创建一个像这样带有空角和连续垂直线的表格?
以下是我目前所掌握的信息:
\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
但是,如果您想添加粗细为(等于)的规则\toprule
,booktabs
则\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}