表格不相交线

表格不相交线

我正在使用 tabular 函数创建表格,但输出的行似乎断开了。如何在不更改函数的情况下修复此问题?我仍然需要使用 tabular。

\begin{table}
\centering
 \subfloat{%
   \begin{tabular}{|c|c|} \toprule
    A & 0.002s \\ 
    B & 0.05s \\
    C & \\ \bottomrule
   \end{tabular}
 }
 \caption{}
\end{table}

在此处输入图片描述

答案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\midrulebooktabs{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}

在此处输入图片描述

相关内容