表格中现在显示列分隔线

表格中现在显示列分隔线

我有以下代码,可生成所示的表格。我想做的是让第四列和第五列标题垂直对齐在顶部。这可能吗?

\documentclass{article}
\usepackage{multirow}
\usepackage{array}

\newcolumntype{x}[1]{%
>{\raggedright\hspace{0pt}}p{#1}}%

\begin{document}
\centering
\renewcommand{\arraystretch}{1.2}
\begin{tabular}{| m{2cm} | p{2cm} | p{2cm} | p{2cm} | p{2cm} | p{2cm} |} \hline
    \multirow{3}{1.7cm}{Data Set} &%
    \multicolumn{3}{c |}{Raw Data} &%
    Offline Processing Time &
    Index Size (KB)\\ \cline{2-4}
%
    & %
    RDF N3 File SizeKB (sec)    &%
    Number of Triples &%
    Number of Entities\\    \hline
\end{tabular}
\end{document}

在此处输入图片描述

答案1

最好根本不要使用它们(垂直线)!

我认为你的问题是缺少垂直线。即使这些单元格是空的,你也必须使用 & 符号,例如

Number of Entities & & \\    \hline

您已完成,因为这些标题已在顶部对齐。

答案2

不确定这是否是所需的布局:

\documentclass{article}
\usepackage{multirow}
\usepackage{array}

\newcolumntype{x}[1]{%
>{\raggedright\arraybackslash\hspace{0pt}}p{#1}}%

\begin{document}
\centering
\renewcommand{\arraystretch}{1.2}
\begin{tabular}{| m{2cm} | x{2cm} | x{2cm} | x{2cm} | x{2cm} | x{2cm} |} \hline
    \multirow{4}{*}{Data Set} &%
    \multicolumn{3}{c |}{Raw Data} &%
    \multirow{3}{2cm}{Offline Processing Time} &
    \multirow{3}{2cm}{Index Size (KB)}\\ \cline{2-4}
%
    & %
    RDF N3 File SizeKB (sec)    &%
    Number of Triples &%
    Number of Entities & &\\    \hline
\end{tabular}
\end{document}

在此处输入图片描述

一些备注:缺少行是因为您没有完成最后一行的列(添加必要的&字符)。另外,由于您的列较窄,因此最好包含内容\ragedright,因此我将 p{} 列更改为 x{} 列(添加\arraybackslash)。

您应该考虑不在表格中使用垂直线;booktabs包讨论了这一点并帮助您创建更好看的表格。

相关内容