垂直线没有完全跨越

垂直线没有完全跨越

我试图让垂直线跨越到水平线(已标记),并且不出现我目前面临的间隙。制表规则是{l@{~}c@{~}c@{~}|c@{~}c@{~}},因此我很难理解为什么线会停在它停止的地方。有什么想法吗?

\documentclass[10pt,twocolumn,letterpaper]{article}

\usepackage{graphicx}
\usepackage{varwidth}
\usepackage{floatrow}
\usepackage{float}
\usepackage{array}
\usepackage[export]{adjustbox}
\usepackage{subcaption}
\usepackage{cuted}
\usepackage[font=small,labelfont=bf,tableposition=top]{caption}
\usepackage{arydshln}
\usepackage{amsmath}
\usepackage{booktabs, caption, multirow, siunitx}
\begin{document}

%%%%%%%%% TITLE
\title{Title}

\author{1\\2\\{\tt\small 3}
\and4\\5\\{\tt\small 6}
}


\maketitle

\begin{table}[t!]
%~\\
% \smallskip
\centering
\resizebox{1\textwidth}{!}{%
\begin{tabular}{l@{~}c@{~}c@{~}|c@{~}c@{~}}
\toprule
& \multicolumn{2}{c|}{SO(3)\textsubscript{45}/SO(3)\textsubscript{45}}& \multicolumn{2}{c}{SO(3)\textsubscript{45}/SO(3)}\\
\cmidrule(lr){2-3}
\cmidrule(lr){4-5}
\textbf{a}  &\textbf{b}&\textbf{c}
&\textbf{d}&\textbf{e}

\\
\midrule
a
&0\%&0\%&0\%&0\%\\
 
b
&0\%&0\%&0\%&0\%\\

\noalign{\vskip 2mm}  
  \bottomrule 
  \noalign{\vskip 2mm} 
 
c
&0\%&0\%&0\%&0\%\\
 
d
&0\%&0\%&0\%&0\%\\

e
&0\%&0\%&0\%&0\%\\
 
f
&0\%&0\%&0\%&0\%\\

g
&0\%&0\%&0\%&0\%\\

\noalign{\vskip 2mm}  
  \bottomrule 
  \noalign{\vskip 2mm} 
  
h
&0\%&0\%&0\%&0\%\\
 
 
\bottomrule
\end{tabular}%
}
\caption{.
}
\label{Tab:faustso3}
\end{table}

\end{document}

在此处输入图片描述

答案1

如果你确实想使用 的垂直规则booktabs(这完全不符合 的精神booktabs),你应该使用{NiceTabular}nicematrix该环境(类似于{tabular}包的经典环境array)与 兼容booktabs

该命令\Block{2-*}{}在表格的第一行和第二行上创建一个空块。根据设计,在 中{NiceTabular},垂直规则不会绘制在这样的块中。

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

\begin{document}
\begin{table}[t!]
\centering
\begin{NiceTabular}{l@{~}c@{~}c@{~}|c@{~}c@{~}}
\toprule
\Block{2-*}{}
& \multicolumn{2}{c}{SO(3)\textsubscript{45}/SO(3)\textsubscript{45}}& \multicolumn{2}{c}{SO(3)\textsubscript{45}/SO(3)}\\
\cmidrule(lr){2-3}
\cmidrule(lr){4-5}
\textbf{a} &\textbf{b}&\textbf{c}&\textbf{d}&\textbf{e}\\
\midrule
a&0\%&0\%&0\%&0\%\\
b&0\%&0\%&0\%&0\%\\
\noalign{\vskip 2mm}  
\bottomrule 
\noalign{\vskip 2mm} 
c&0\%&0\%&0\%&0\%\\
d&0\%&0\%&0\%&0\%\\
e&0\%&0\%&0\%&0\%\\
f&0\%&0\%&0\%&0\%\\
g&0\%&0\%&0\%&0\%\\
\noalign{\vskip 2mm}  
\bottomrule 
\noalign{\vskip 2mm} 
h&0\%&0\%&0\%&0\%\\
\bottomrule
\end{NiceTabular}
\end{table}
\end{document}

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

上述代码的输出

相关内容