在我的表格中设置一些水平边框

在我的表格中设置一些水平边框

我有一张大桌子,我想放一些东西,以便将桌子分成三个部分。

这是我的表格:

\begin{center}
\begin{large}
\begin{tabular}{|l|l||l|l|l|l|l|l|l|l|}
\hline
\multicolumn{10}{|c|}{Performance of RKD-forest vs FLANN} \\
\hline
Program & N & dim & p\_l & \#trees & max\_l & $\epsilon$ & miss & error & Speedup \\ \hline
\multirow{1}{*}{RKD} & 1.000 & 10.000 & 2 & 4 & 2 & 0 & 0.22 & 0.001 & 218.6 \\
\hline
\multirow{1}{*}{RKD} & 1.000 & 10.000 & 2 & 4 & 2 & 0 & 0.22 & 0.001 & 218.6 \\
\hline
...


\multirow{1}{*}{RKD} & 10.000 & 10.000 & 2 & 4 & 2 & 0 & 0.492 & 0.0015 & 3489.6 \\
\hline
\multirow{1}{*}{RKD} & 10.000 & 10.000 & 2 & 4 & 2 & 0 & 0.492 & 0.0015 & 3489.6 \\
\hline
...


\multirow{1}{*}{RKD} & 100.000 & 100 & 50 & 1 & 2 & 0 & 0.568 & 0.0068 & 836.8 \\
\hline
\multirow{1}{*}{RKD} & 100.000 & 100 & 50 & 1 & 2 & 0 & 0.568 & 0.0068 & 836.8 \\
\hline
...

\end{tabular}
\end{large}
\end{center}

所以,我想在留下空白行的地方放一些东西来分隔表格(当然我可以创建另一个表格),我只是想看看它是什么样子的。

答案1

这个例子使用 来\multicolumn{10}{c}{}作为分隔符,中间用灰色空间填充。第二个例子没有使用彩色分隔符。

\documentclass{book}

\usepackage{multirow}
\usepackage{xcolor}


\usepackage{colortbl}
\begin{document}

\begin{center}
\large
\begin{tabular}{|*{10}{l|}}%
\hline
\multicolumn{10}{|c|}{Performance of RKD-forest vs FLANN} \\
\hline
Program & N & dim & p\_l & \#trees & max\_l & $\epsilon$ & miss & error & Speedup \\ \hline
RKD & 1.000 & 10.000 & 2 & 4 & 2 & 0 & 0.22 & 0.001 & 218.6 \\
\hline
RKD & 1.000 & 10.000 & 2 & 4 & 2 & 0 & 0.22 & 0.001 & 218.6 \\
\hline
\multicolumn{10}{c}{\cellcolor{lightgray}} \tabularnewline
\hline
RKD & 10.000 & 10.000 & 2 & 4 & 2 & 0 & 0.492 & 0.0015 & 3489.6 \\
\hline
RKD & 10.000 & 10.000 & 2 & 4 & 2 & 0 & 0.492 & 0.0015 & 3489.6 \\
\hline
\multicolumn{10}{c}{\cellcolor{lightgray}} \tabularnewline
\hline
RKD & 100.000 & 100 & 50 & 1 & 2 & 0 & 0.568 & 0.0068 & 836.8 \\
\hline
RKD & 100.000 & 100 & 50 & 1 & 2 & 0 & 0.568 & 0.0068 & 836.8 \\
\hline

\end{tabular}

\end{center}

\begin{center}
\large
\begin{tabular}{|*{10}{l|}}%
\hline
\multicolumn{10}{|c|}{Performance of RKD-forest vs FLANN} \\
\hline
Program & N & dim & p\_l & \#trees & max\_l & $\epsilon$ & miss & error & Speedup \\ \hline
RKD & 1.000 & 10.000 & 2 & 4 & 2 & 0 & 0.22 & 0.001 & 218.6 \\
\hline
RKD & 1.000 & 10.000 & 2 & 4 & 2 & 0 & 0.22 & 0.001 & 218.6  \\
\hline
\multicolumn{10}{c}{} \tabularnewline
\hline
RKD & 10.000 & 10.000 & 2 & 4 & 2 & 0 & 0.492 & 0.0015 & 3489.6 \\
\hline
RKD & 10.000 & 10.000 & 2 & 4 & 2 & 0 & 0.492 & 0.0015 & 3489.6 \\
\hline
\multicolumn{10}{c}{} \tabularnewline
\hline
RKD & 100.000 & 100 & 50 & 1 & 2 & 0 & 0.568 & 0.0068 & 836.8 \\
\hline
RKD & 100.000 & 100 & 50 & 1 & 2 & 0 & 0.568 & 0.0068 & 836.8 \\
\hline

\end{tabular}

\end{center}


\begin{center}
\large
\renewcommand{\arraystretch}{1.2}%
\begin{tabular}{*{10}{l}}%
\multicolumn{10}{c}{Performance of RKD-forest vs FLANN} \\[2ex]
\hline
Program & N & dim & p\_l & \#trees & max\_l & $\epsilon$ & miss & error & Speedup \\ [2ex]
\hline
RKD & 1.000 & 10.000 & 2 & 4 & 2 &                     & 0.22 & 0.001 & 218.6 \\
RKD & 1.000 & 10.000 & 2 & 4 & 2 & \multirow{-2}{*}{0} & 0.22 & 0.001 & 218.6  \\ 
\hline
\multicolumn{10}{c}{} \tabularnewline
\hline
RKD & 10.000 & 10.000 & 2 & 4 & 2 &                     & 0.492 & 0.0015 & 3489.6 \\
RKD & 10.000 & 10.000 & 2 & 4 & 2 & \multirow{-2}{*}{0} & 0.492 & 0.0015 & 3489.6 \\
\hline
\multicolumn{10}{c}{} \tabularnewline
\hline
RKD & 100.000 & 100 & 50 & 1 & 2 &  & 0.568 & 0.0068 & 836.8 \\
RKD & 100.000 & 100 & 50 & 1 & 2 & \multirow{-2}{*}{0} & 0.568 & 0.0068 & 836.8 \\
\hline

\end{tabular}

\end{center}



\end{document}

在此处输入图片描述

答案2

平均能量损失

删除每个部分内的所有垂直线和水平线,以便两条简单的水平线足以将表格清楚地分成三个部分。

或者,您也可以在行尾使用一些类似的东西\\[2ex]来添加一些垂直空间。

我还删除了多列和多行单元格。保持表格尽可能简单。

但最好使用\hline软件包中的相应命令来更改剩余的 s booktabs。例如:

\documentclass{article}
\usepackage{booktabs}

\begin{document}

\centering Performance of RKD-forest vs FLANN\\[10pt]

\begin{tabular}{llllllllll}

\toprule

Program & N & dim & p\_l & \#trees & max\_l & $\epsilon$ & miss & error & Speedup \\

\midrule\addlinespace[2ex]

RKD & 1.000 & 10.000 & 2 & 4 & 2 & 0 & 0.22 & 0.001 & 218.6 \\
RKD & 1.000 & 10.000 & 2 & 4 & 2 & 0 & 0.22 & 0.001 & 218.6 \\

\midrule\addlinespace[2ex]

RKD & 10.000 & 10.000 & 2 & 4 & 2 & 0 & 0.492 & 0.0015 & 3489.6 \\
RKD & 10.000 & 10.000 & 2 & 4 & 2 & 0 & 0.492 & 0.0015 & 3489.6 \\

\midrule\addlinespace[2ex]

RKD & 100.000 & 100 & 50 & 1 & 2 & 0 & 0.568 & 0.0068 & 836.8 \\
RKD & 100.000 & 100 & 50 & 1 & 2 & 0 & 0.568 & 0.0068 & 836.\\
\bottomrule
\end{tabular}

\end{document}

当然,\midruleplus\addlinespace[2ex]只是一个例子,您可以随意使用规则、除 2ex 之外的任何其他垂直空间(包括无)或其他类型的规则。使用该包,arydshln您还可以使用自定义虚线,以便您可以输入一些类似的东西:

\addlinespace[.2ex]\hdashline[3pt/5pt]\addlinespace[.2ex]

但是,对于自定义实线 + 间距,使用起来更容易\specialrule(从booktabs包中)。例如:

\specialrule{.3pt}{.3ex}{.3ex}

哪一个更好是一个品味问题,但请注意,许多编辑和许多 TeX.SE 用户讨厌带有额外规则的表格(我也是,但问题是“设置边界”......)

答案3

一些变化和改进(至少在我看来)是使用 a captionS带有小数点逗号的列的列类型和\cmidrules (在适当的地方)而不是\midrules :

\documentclass{article}
\usepackage{array, multirow, booktabs, caption}
\usepackage{siunitx}
\usepackage{geometry}
\captionsetup{font = small, labelfont = sc}
\setlength\aboverulesep{1ex}
\setlength\belowrulesep{2ex}

\begin{document}

\begin{table}\centering
\caption{Performance of RKD-forest vs FLANN}

\begin{tabular}{l*{2}{S[table-format=3.3]}S[table-format=2.0]*{3}{c}S[table-format=1.3]S[table-format=1.4]S[table-format=4.1]}

\toprule

Program & {N} & {dim} & {p\_l} & {\#trees} & {max\_l} & {$\epsilon$} & {miss} & {error} & {Speedup} \\

\cmidrule[\lightrulewidth]{1-6}\cmidrule[\lightrulewidth]{8-10}

RKD & 1.000 & 10.000 & 2 & 4 & 2 &\multirow{6}{1em}[-3ex]{0} & 0.22 & 0.001 & 218.6 \\
RKD & 1.000 & 10.000 & 2 & 4 & 2 & & 0.22 & 0.001 & 218.6 \\

\cmidrule(lr){1-6}\cmidrule(r){8-10}

RKD & 10.000 & 10.000 & 2 & 4 & 2 & & 0.492 & 0.0015 & 3489.6 \\
RKD & 10.000 & 10.000 & 2 & 4 & 2 & & 0.492 & 0.0015 & 3489.6 \\

\cmidrule(lr){1-6}\cmidrule(r){8-10}

RKD & 100.000 & 100 & 50 & 1 & 2 & & 0.568 & 0.0068 & 836.8 \\
RKD & 100.000 & 100 & 50 & 1 & 2 & & 0.568 & 0.0068 & 836.\\
\bottomrule
\end{tabular}
\end{table}

\end{document} 

在此处输入图片描述

相关内容