答案1
如此处所述:https://tex.stackexchange.com/a/88939/231952,在表格中使用垂直线不是一个好主意。无论如何,要回答您的问题,以下命令就足够了:
\setlength{\aboverulesep}{0pt}
\setlength{\belowrulesep}{0pt}
表 1. 有booktabs
和没有垂直线(最佳选择):
\begin{tabular}{cc} \toprule
A & 0.002s \\
B & 0.05s \\
C & \\ \bottomrule
\end{tabular}
表2. 无booktabs
(即有标准规则):
\begin{tabular}{|c|c|} \hline
A & 0.002s \\
B & 0.05s \\
C & \\ \hline
\end{tabular}
表 3. 带有垂直线和booktabs
:
\setlength{\aboverulesep}{0pt}
\setlength{\belowrulesep}{0pt}
\begin{tabular}{|c|c|} \toprule
A & 0.002s \\
B & 0.05s \\
C & \\ \bottomrule
\end{tabular}
答案2
如果您确实想要绘制与 booktabs 规则(、、\toprule
等)兼容的垂直规则,尽管这完全不符合 的精神,但您应该使用。bottomrule
\midrule
booktabs
{NiceTabular}
nicematrix
\documentclass{article}
\usepackage{nicematrix}
\usepackage{booktabs}
\begin{document}
\begin{table}
\centering
\begin{NiceTabular}{|c|c|} \toprule
A & 0.002s \\
B & 0.05s \\
C & \\ \bottomrule
\end{NiceTabular}
\caption{}
\end{table}
\end{document}
您需要多次编译(因为nicematrix
使用 PGF/Tikz 节点)。
答案3
正如前面提到的,表格中定义的规则booktabs
不适用于垂直线。
如果您希望表格中的水平规则与垂直规则相连,并且水平规则具有不同的厚度,并且与单元格内容具有一定的垂直距离,则可以使用该makecell
包来实现这一点,该包提供了一种在单元格内容周围添加更多垂直空间的方法,也可以定义不同厚度的水平规则:
\documentclass{article}
\usepackage{makecell}
\begin{document}
\begin{table}
\centering
\setcellgapes{3pt}
\makegapedcells % <---
\begin{tabular}{|c|c|}
\Xhline{1pt} % <---
A & 0.002s \\
B & 0.05s \\
C & \\
\Xhline{1pt}
\end{tabular}
\caption{My lovely table}
\label{tab:mlt}
\end{table}
\end{document}