我想创建一个如下所示的表格:
我仍然无法正确插入标题行。代码如下:
\documentclass[10pt,conference]{IEEEtran}
\begin{document}
\begin{table}
\caption{Time taken for full encryption/decryption using different crypto algorithms}
\centering
\begin{tabular}{|*{7}{c|}}
\hline
\textbf{CPU} & \multicolumn{3}{c}{\textbf{Encryption}} & \multicolumn{3}{|c|}{\textbf{Decryption}}
\\\textbf{Time}
& \multicolumn{3}{c}{} &\multicolumn{3}{|c|}{}
\\\textbf{(seconds)}
& \textbf{\textit{TLS}} & \textbf{\textit{CTR}} & \textbf{\textit{CBC}} & \textbf{\textit{TLS}} & \textbf{\textit{CTR}} & \textbf{\textit{CBC}}\\ \hline
Minimum & 2.2612 & 1.4145 & 2.0110 & 2.1037 & 1.4267 & 1.4002\\ \hline
Maximum & 3.0849 & 1.4156 & 2.0232 & 2.7585 & 1.4339 & 1.4059\\ \hline
Average & 2.6684 & 1.4150 & 2.0154 & 2.4186 & 1.4324 & 1.4026\\ \hline
\end{tabular}
\end{table}
\end{document}
这将生成下表:
你能告诉我如何插入那条缺失的行吗?
答案1
<a>
要插入跨列的行<b>
,可以使用\cline{<a>-<b>}
。我建议使用booktabs
尽管:
\documentclass[10pt,conference]{IEEEtran}
\usepackage{booktabs}
\begin{document}
\begin{table}
\caption{Time taken for full encryption/decryption using different crypto algorithms}
\centering
\begin{tabular}{|*{7}{c|}}
\hline
\textbf{CPU} & \multicolumn{3}{c}{} & \multicolumn{3}{|c|}{} \\
\textbf{Time} & \multicolumn{3}{c}{\textbf{Encryption}} &\multicolumn{3}{|c|}{\textbf{Decryption}} \\
\cline{2-7}
\textbf{(seconds)} & \textbf{\textit{TLS}} & \textbf{\textit{CTR}} & \textbf{\textit{CBC}} & \textbf{\textit{TLS}} & \textbf{\textit{CTR}} & \textbf{\textit{CBC}} \\
\hline
Minimum & 2.2612 & 1.4145 & 2.0110 & 2.1037 & 1.4267 & 1.4002 \\
\hline
Maximum & 3.0849 & 1.4156 & 2.0232 & 2.7585 & 1.4339 & 1.4059 \\
\hline
Average & 2.6684 & 1.4150 & 2.0154 & 2.4186 & 1.4324 & 1.4026 \\
\hline
\end{tabular}
\end{table}
\begin{table}
\caption{Time taken for full encryption/decryption using different crypto algorithms}
\centering
\begin{tabular}{ *{7}{c} }
\toprule
& \multicolumn{3}{c}{\textbf{Encryption}} &\multicolumn{3}{c}{\textbf{Decryption}} \\
\cmidrule(lr){2-4}\cmidrule(lr){5-7}
\raisebox{\dimexpr1.25\normalbaselineskip-.5\height}[0pt][0pt]{\begin{tabular}{@{}c@{}}
\textbf{CPU time} \\ \textbf{(seconds)}
\end{tabular}} & \textbf{\textit{TLS}} & \textbf{\textit{CTR}} & \textbf{\textit{CBC}} & \textbf{\textit{TLS}} & \textbf{\textit{CTR}} & \textbf{\textit{CBC}} \\
\midrule
Minimum & 2.2612 & 1.4145 & 2.0110 & 2.1037 & 1.4267 & 1.4002 \\
Maximum & 3.0849 & 1.4156 & 2.0232 & 2.7585 & 1.4339 & 1.4059 \\
Average & 2.6684 & 1.4150 & 2.0154 & 2.4186 & 1.4324 & 1.4026 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案2
这是@Werner 的第二个解决方案的补充方法。我建议您摆脱不必要的(和边缘粗俗的)大胆的和斜体在标题单元格中。如果标题结构良好,则根本不需要使用粗体和斜体。另外,为了确保表格自动跨越整个列宽,您可能需要使用环境tabular*
而不是环境tabular
。
\documentclass[10pt,conference]{IEEEtran}
\usepackage{booktabs}
\begin{document}
\begin{table}
\setlength\tabcolsep{0pt} % let tabular* figure out intercolumn whitespace
\caption{CPU time taken for full encryption/decryption using different crypto algorithms}
\begin{tabular*}{\columnwidth}{@{\extracolsep{\fill}}l*{6}{c}}
\toprule
CPU Time & \multicolumn{3}{c}{Encryption} & \multicolumn{3}{c}{Decryption}\\
\cmidrule{2-4} \cmidrule{5-7}
(seconds)
& TLS & CTR & CBC & TLS & CTR & CBC\\
\midrule
Minimum & 2.2612 & 1.4145 & 2.0110 & 2.1037 & 1.4267 & 1.4002\\
Maximum & 3.0849 & 1.4156 & 2.0232 & 2.7585 & 1.4339 & 1.4059\\
Average & 2.6684 & 1.4150 & 2.0154 & 2.4186 & 1.4324 & 1.4026\\
\bottomrule
\end{tabular*}
\end{table}
\end{document}