在查看了多个 tex.stackexchange 问题之后,我仍然无法正确对齐多列。
这是我的代码
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{@{}lcccc@{}}
\toprule
& \multicolumn{2}{@{}c}{Ignoring Unlabeled Detections}
& \multicolumn{2}{c@{}}{Approving Unlabeled Detections}\\
\cmidrule(r){2-3}
\cmidrule(r){4-5}
& Recall & Precision & Recall & Precision \\
\cmidrule(r){2-3}
\cmidrule(r){4-5}
% \midrule
count & 513 & 446 & 529 & 484 \\
mean & 0.428 & 0.787 & 0.507 & 0.841 \\
std & 0.343 & 0.365 & 0.337 & 0.310 \\
min & 0.000 & 0.000 & 0.000 & 0.000 \\
\ensuremath{Q_1}& 0.000 & 0.667 & 0.286 & 0.800 \\
\ensuremath{Q_2}& 0.500 & 1.000 & 0.500 & 1.000 \\
\ensuremath{Q_3}& 0.667 & 1.000 & 0.750 & 1.000 \\
max & 1.000 & 1.000 & 1.000 & 1.000 \\
\bottomrule
\end{tabular}
\end{document}
我自然希望召回率和准确率列在各自的标题下等距分布。
答案1
这是一个保留标题原样并根据相应多行标题的宽度设置第二至第五列的列宽的版本。
不过我个人更喜欢Mico 的解决方案因为我的表格版本中有相当大的空白。
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{calc}
\usepackage{array}
\begin{document}
\begin{tabular}{@{}l*{4}{>{\centering\arraybackslash}p{\widthof{Approving Unlabeled Detections}/2 - 2\tabcolsep}}@{}}
\toprule
& \multicolumn{2}{@{}c}{Ignoring Unlabeled Detections}
& \multicolumn{2}{c@{}}{Approving Unlabeled Detections}\\
\cmidrule(r){2-3}
\cmidrule(r){4-5}
& Recall & Precision & Recall & Precision \\
\cmidrule(r){2-3}
\cmidrule(r){4-5}
% \midrule
count & 513 & 446 & 529 & 484 \\
mean & 0.428 & 0.787 & 0.507 & 0.841 \\
std & 0.343 & 0.365 & 0.337 & 0.310 \\
min & 0.000 & 0.000 & 0.000 & 0.000 \\
$Q_1$ & 0.000 & 0.667 & 0.286 & 0.800 \\
$Q_2$ & 0.500 & 1.000 & 0.500 & 1.000 \\
$Q_3$ & 0.667 & 1.000 & 0.750 & 1.000 \\
max & 1.000 & 1.000 & 1.000 & 1.000 \\
\bottomrule
\end{tabular}
\end{document}
答案2
您可以按照以下示例的思路,通过创建附加行来为表头提供更直观的结构。当然,您可以完全自由地修改建议的整体标题“有关未标记检测的操作”。
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\begin{document}
\begin{center}
\begin{tabular}{@{} l cccc @{}}
\toprule
& \multicolumn{4}{c@{}}{Actions regarding unlabeled detections}\\
\cmidrule(l){2-5}
& \multicolumn{2}{c}{Ignore} & \multicolumn{2}{c@{}}{Approve}\\
\cmidrule(lr){2-3} \cmidrule(l){4-5}
& Recall & Precision & Recall & Precision \\
\midrule
count & 513 & 446 & 529 & 484 \\
\addlinespace
mean & 0.428 & 0.787 & 0.507 & 0.841 \\
std & 0.343 & 0.365 & 0.337 & 0.310 \\
\addlinespace
min & 0.000 & 0.000 & 0.000 & 0.000 \\
$Q_1$ & 0.000 & 0.667 & 0.286 & 0.800 \\
$Q_2$ & 0.500 & 1.000 & 0.500 & 1.000 \\
$Q_3$ & 0.667 & 1.000 & 0.750 & 1.000 \\
max & 1.000 & 1.000 & 1.000 & 1.000 \\
\bottomrule
\end{tabular}
\end{center}
\end{document}