我目前正在尝试删除表中包含任何内容的行。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{caption}
\usepackage{float}
\begin{document}
\begin{table}[H]
\begin{tabular}{ |p{3cm}||p{3cm}|p{3cm}|p{3cm}|p{3cm}| }
\hline
\multicolumn{4}{|c|}{Title} \\
\hline
Window size: 9 & Results & Window size: 15 & Results \\
\hline
Accuracy & 0.70 & Accuracy & 0.60 \\
Validation accuracy& 0.19 & Validation accuracy& 0.16 \\
\hline
Window size: 32 & Results \\
\hline
Accuracy & 0.14 \\
Validation accuracy& 0.07 \\
\hline
\end{tabular}
\end{table}
\end{document}
我如何删除该表中的空行?
有没有简单的方法可以去除它?
答案1
您可以使用它\cline{x-y}
为指定的列制作水平线。
有一个未使用的列,因此我删除了最后一个p{3cm}|
。
对于 4 个相等的列,您还可以使用:*4{p{3cm}|}
。
\documentclass{article}
\usepackage{caption}
\begin{document}
\begin{table}
\begin{tabular}{ |*4{p{3cm}|} }
\hline
\multicolumn{4}{|c|}{Title} \\
\hline
Window size: 9 & Results & Window size: 15 & Results \\
\hline
Accuracy & 0.70 & Accuracy & 0.60 \\
Validation accuracy& 0.19 & Validation accuracy& 0.16 \\
\hline
Window size: 32 & Results \\
\cline{1-2}
Accuracy & 0.14 \\
Validation accuracy& 0.07 \\
\cline{1-2}
\end{tabular}
\end{table}
\end{document}
答案2
在这种情况下,问题不是行太长,而是表格的设计留下了不必要的空白单元格和多余的行标题。解决方案是重新设计表格。我强烈建议也避免全部垂直线并使用包的命令booktabs
。然后,您可以仅在选定的列中使用\cmidrule
而不是\cline
水平线。
\documentclass{article}
\usepackage{booktabs,caption,siunitx}
\begin{document}
\begin{table}
\centering
\caption*{Meaningful Title About the Results}
\begin{tabular}{S[table-format=2.0]cc}
\toprule
{Window size} & Accuracy & {Validation}\\
\cmidrule(rl){1-1}\cmidrule(rl){2-2}\cmidrule(rl){3-3}
% ... or simply \midrule
9 & 0.70 & 0.19\\
15 & 0.60 & 0.16\\
32 & 0.14 & 0.07\\\bottomrule
\end{tabular}
\end{table}
\end{document}