使用书页标签进行多标题列对齐

使用书页标签进行多标题列对齐

在查看了多个 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} 

相关内容