我在格式化包含某些合并单元格的表格时遇到了问题。这是我目前拥有的代码:
\begin{table}[h]
\caption{Results}
\label{table_example}
\begin{center}
\begin{tabular}{ | *{9}{c|} }
\hline
& \multicolumn{3}{c|}{PMX} & \multicolumn{3}{c|}{CX} \\ \cline{4-9}
Number of Nodes in Graph & Heuristic Cost (NN) & Iterations & Average Cost & Cost Difference & Iterations & Average Cost & Cost Difference \\ \hline
10 &230.60& 0 & 0 & 0 & 0 & 0 & 0 \\ \hline
50 &260.88& 0 & 0 & 0 & 0 & 0 & 0 \\ \hline
100 &349.65& 0 & 0 & 0 & 0 & 0 & 0 \\ \hline
500 & 442.81& 0 & 0 & 0 & 0 & 0 & 0 \\ \hline
1000 & 488.13 & 0 & 0 & 0 & 0 & 0 & 0 \\ \hline
\end{tabular}
\end{center}
\end{table}
但当我想要 PMX 标题位于“迭代”、“平均成本”、“成本差异”上方,并且 CX 标题也位于上方时,我得到的却是这样的结果。我也不确定为什么表格中缺少很多水平线。
答案1
我在这里绝对是个初学者,但只是玩弄你的代码,我就得到了下表:
\begin{table}[h]
\caption{Results}
\label{table_example}
\centering
\begin{tabular}{ *{9}{c} }
\hline
\addlinespace
&& \multicolumn{3}{c}{PMX} & \multicolumn{3}{c}{CX} \\
\cmidrule(lr){3-5} \cmidrule(lr){6-8}
Nodes & HCost (NN) & It & Av Cost & Cost Diff & It & Av Cost & Cost Diff \\ \hline
\addlinespace
10 &230.60& 0 & 0 & 0 & 0 & 0 & 0 \\ \hline
50 &260.88& 0 & 0 & 0 & 0 & 0 & 0 \\ \hline
100 &349.65& 0 & 0 & 0 & 0 & 0 & 0 \\ \hline
500 & 442.81& 0 & 0 & 0 & 0 & 0 & 0 \\ \hline
1000 & 488.13 & 0 & 0 & 0 & 0 & 0 & 0 \\ \hline
\end{tabular}
\end{table}
我确信有人可以让它看起来更专业。
我删除了垂直线以使表格不那么杂乱,还添加了一个额外的“&”符号以使 PMX 和 CX 位于您想要的列的中心。再加上几个 \addlinespace 以使其不那么紧凑。我缩写了您的标题,这样我就可以在我的 Latex -pdf 编辑器中看到完整的表格。
答案2
您为表格定义了 9 列,并且在第一行中使用了 7 列。但如果我正确理解了您的表格,它应该是 8 列。
以下是我的做法:
% arara: pdflatex
\documentclass{IEEEtran}
\usepackage{blindtext}
\usepackage{siunitx}
\usepackage{booktabs}
\begin{document}
\Blindtext
\begin{table*}
\caption{Results}\label{tab:table_example}
\centering
\begin{tabular}{%
S[table-format=4.0]
S[table-format=3.2]
*{6}{S[table-format=1.0]}
}
\toprule
& & \multicolumn{3}{c}{PMX} & \multicolumn{3}{c}{CX} \\
\cmidrule(lr){3-5}\cmidrule(lr){6-8}
{Number of Nodes in Graph} & {Heuristic Cost (NN)} & {Iterations} & {Average Cost} & {Cost Difference} & {Iterations} & {Average Cost} & {Cost Difference} \\
\midrule
10 & 230.60 & 0 & 0 & 0 & 0 & 0 & 0 \\
50 & 260.88 & 0 & 0 & 0 & 0 & 0 & 0 \\
100 & 349.65 & 0 & 0 & 0 & 0 & 0 & 0 \\
500 & 442.81 & 0 & 0 & 0 & 0 & 0 & 0 \\
1000 & 488.13 & 0 & 0 & 0 & 0 & 0 & 0 \\
\bottomrule
\end{tabular}
\end{table*}
\Blindtext
\Blindtext
\end{document}