LNCS:sidewaystable 中的大桌子

LNCS:sidewaystable 中的大桌子

使用 llncs 文档类并希望侧面放置一个大表格。

代码:

\documentclass[runningheads]{llncs}
\usepackage{graphicx} % Required for inserting images
\usepackage{tabularx}
\usepackage{rotating}
\usepackage{booktabs}

\begin{document}

\title{Paper Title Here ... }

\begin{sidewaystable}
     \caption{Classification results of imbalance techniques}
     \centering
     \begin{tabularx}{\linewidth}{lccccccccccccccc}%
     \toprule
     Transportation Mode & \multicolumn{5}{c}{Precision} & \multicolumn{5}{c}{Recall} & \multicolumn{5}{l}{F1\-Score} \\
     \cline{2-15}
     & RF & RF-SMOTEd & AdaBoost & SMOTEBoost & DECOC & RF & RF-SMOTEd & AdaBoost & SMOTEBoost & DECOC & RF & RF-SMOTEd & AdaBoost & SMOTEBoost & DECOC \\
     \midrule
     Walk & 0.88 & 0.78 & 0.65 & 0.59 & 0.45 & 0.38 & 0.73 & 0.95 & 0.83 & 0.57 & 0.52 & 0.07 & 0.22 & 0.66 & 0.88 \\
     Bike & 0.88 & 0.78 & 0.65 & 0.59 & 0.45 & 0.38 & 0.73 & 0.95 & 0.83 & 0.57 & 0.52 & 0.07 & 0.22 & 0.66 & 0.88 \\
     \bottomrule
     \end{tabularx}
\end{sidewaystable}

\end{document}

输出:

在此处输入图片描述

即使添加了,此表仍不适合\tabcolsep=0pt

编辑

我想知道这张纸尽管使用相同的文档类,仍设法添加了以下大表。

在此处输入图片描述

答案1

我忍不住说:这只是一个旋转egreg 的回答进行一些微调,但不改变任何深刻的内容:

  • 流线型图例(R: RF代替(1) RF
  • 分组列并相应缩短中间规则

细长的 16 列桌子,分为 3 组,每组 5 列,并带有额外的列分隔

\documentclass[runningheads]{llncs}
\usepackage{booktabs,siunitx}

\begin{document}
  \title{Paper Title}
  
  \begin{table}[htp]
    \caption{Classification results of imbalance techniques}
    \setlength{\tabcolsep}{0pt}
    
    \begin{tabular*}{\textwidth}{
        @{\extracolsep{\fill}}
        l
        @{\hskip 1ex}
        *{5}{S[table-format=1.2]}
        @{\hskip 1ex}
        *{5}{S[table-format=1.2]}
        @{\hskip 1ex}
        *{5}{S[table-format=1.2]}
        @{}
      }
      \toprule
      TM &
      \multicolumn{5}{c}{Precision} &
      \multicolumn{5}{c}{Recall} &
      \multicolumn{5}{c}{F1-Score} \\
      \cmidrule(r{1ex}){2-6} \cmidrule(r{1ex}){7-11} \cmidrule{12-16}
      & {R} & {S} & {A} & {B} & {D}   & {R} & {S} & {A} & {B} & {D}   & {R} & {S} & {A} & {B} & {D}\\
      \midrule
      Walk & 0.88 & 0.78 & 0.65 & 0.59 & 0.45 & 0.38 & 0.73 & 0.95 & 0.83 & 0.57 & 0.52 & 0.07 & 0.22 & 0.66 & 0.88 \\
      Bike & 0.88 & 0.78 & 0.65 & 0.59 & 0.45 & 0.38 & 0.73 & 0.95 & 0.83 & 0.57 & 0.52 & 0.07 & 0.22 & 0.66 & 0.88 \\
      \bottomrule
    \end{tabular*}

    \medskip

    TM: Transportation mode

    R: RF; S: RF-SMOTEd; A: AdaBoost; B: SMOTEBoost; D: DECOC
  \end{table}
\end{document}

这是我最后的看法——局促的样子让我无法休息:

  • 切换到%单位,放弃所有0.
  • 转轴:运输方式和方法互换
  • 左上角的标签从“模式”改为“方法”。如果从上下文中看不清楚,“步行”和“骑自行车”的含义可以在标题中明确说明。

转置轴版本

\documentclass[runningheads]{llncs}
\usepackage{booktabs,siunitx}

\begin{document}
    \title{Paper Title}
    
    \begin{table}[htp]
        \centering
        \caption{Classification results of imbalance techniques (\%)}        
        \begin{tabular}{
                @{\extracolsep{\fill}}
                l
                *{2}{S[table-format=2]}
                *{2}{S[table-format=2]}
                *{2}{S[table-format=2]}
                @{}
            }
            \toprule
            &
            \multicolumn{2}{c}{Precision} &
            \multicolumn{2}{c}{Recall} &
            \multicolumn{2}{c}{F1-Score} \\
            \cmidrule(r{1ex}){2-3} \cmidrule(r{1ex}){4-5} \cmidrule{6-7}
            Method & {Walk} & {Bike}      & {Walk} & {Bike}      & {Walk} & {Bike} \\
            \midrule
            RF         & 88 & 88 & 38 & 88 & 52 & 88 \\
            RF-SMOTEd  & 78 & 78 & 73 & 78 & 07 & 78 \\
            AdaBoost   & 65 & 65 & 95 & 65 & 22 & 65 \\
            SMOTEBoost & 59 & 59 & 83 & 59 & 66 & 59 \\
            DECOC      & 45 & 45 & 57 & 45 & 88 & 45 \\
            \bottomrule
        \end{tabular}

    \end{table}
\end{document}

答案2

您需要在几乎所有标题单元格中插入换行符。由于大多数标题看起来都是首字母缩略词,因此最好手动强制换行;请参阅下面的代码以了解如何执行此操作。但是,一旦您创建了所有手动换行符,就不再需要环境了tabularx。相反,使用tabular*环境(并将其宽度设置为\linewidth)。最后,该\centering指令没有做任何有用的事情,可以(应该!)省略。

在此处输入图片描述

\documentclass[runningheads]{llncs}
\usepackage{graphicx}
%\usepackage{tabularx} % no longer needed
\usepackage{rotating}
\usepackage{booktabs}

% new code:
\usepackage{amsmath} % for \smash[b] macro
% handy shortcut macros for line breaks in cells
\newcommand{\mytabL}[1]{\smash[b]{%
  \begin{tabular}[t]{l} #1 \end{tabular}}}
\newcommand{\mytabC}[1]{%
  \begin{tabular}[t]{c} #1 \end{tabular}}

\begin{document}

\begin{sidewaystable}
\setlength\tabcolsep{0pt} % let LaTeX figure out intercol. whitespace
\caption{Classification results of imbalance techniques\strut}

\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}} l *{15}{c} }
  \toprule
  \mytabL{Transpor-\\tation\\Mode} 
  & \multicolumn{5}{c}{Precision} 
  & \multicolumn{5}{c}{Recall} 
  & \multicolumn{5}{c}{F1-Score} \\
  \cmidrule{2-6} \cmidrule{7-11} \cmidrule{12-16}
  & RF & \mytabC{RF-\\SMOTEd} & \mytabC{Ada\\Boost} & \mytabC{SMOTE\\Boost} & \mytabC{DE\\COC} 
  & RF & \mytabC{RF-\\SMOTEd} & \mytabC{Ada\\Boost} & \mytabC{SMOTE\\Boost} & \mytabC{DE\\COC} 
  & RF & \mytabC{RF-\\SMOTEd} & \mytabC{Ada\\Boost} & \mytabC{SMOTE\\Boost} & \mytabC{DE\\COC} \\
  \midrule
  Walk 
  & 0.88 & 0.78 & 0.65 & 0.59 & 0.45 & 0.38 & 0.73 & 0.95 & 0.83 & 0.57 & 0.52 & 0.07 & 0.22 & 0.66 & 0.88 \\
  Bike 
  & 0.88 & 0.78 & 0.65 & 0.59 & 0.45 & 0.38 & 0.73 & 0.95 & 0.83 & 0.57 & 0.52 & 0.07 & 0.22 & 0.66 & 0.88 \\
  \bottomrule
\end{tabular*}
\end{sidewaystable}

\end{document}

答案3

sidewaystable如果避免长时间重复的话就不会。

\documentclass[runningheads]{llncs}
\usepackage{booktabs,siunitx}

\begin{document}

\title{Paper Title Here ... }

\begin{table}[htp]

\caption{Classification results of imbalance techniques}

\setlength{\tabcolsep}{0pt}

\begin{tabular*}{\textwidth}{
  @{\extracolsep{\fill}}
  l
  *{15}{S[table-format=1.2]}
  @{}
}
\toprule
TM &
  \multicolumn{5}{c}{Precision} &
  \multicolumn{5}{c}{Recall} &
  \multicolumn{5}{c}{F1-Score} \\
\cmidrule{2-6} \cmidrule{7-11} \cmidrule{12-16}
& {(1)} & {(2)} & {(3)} & {(4)} & {(5)}
& {(1)} & {(2)} & {(3)} & {(4)} & {(5)}
& {(1)} & {(2)} & {(3)} & {(4)} & {(5)} \\
\midrule
Walk & 0.88 & 0.78 & 0.65 & 0.59 & 0.45 & 0.38 & 0.73 & 0.95 & 0.83 & 0.57 & 0.52 & 0.07 & 0.22 & 0.66 & 0.88 \\
Bike & 0.88 & 0.78 & 0.65 & 0.59 & 0.45 & 0.38 & 0.73 & 0.95 & 0.83 & 0.57 & 0.52 & 0.07 & 0.22 & 0.66 & 0.88 \\
\bottomrule
\end{tabular*}

\medskip

TM: Transportation mode

(1) RF; (2) RF-SMOTEd; (3) AdaBoost; (4) SMOTEBoost; (5) DECOC

\end{table}

\end{document}

在此处输入图片描述

另一种可能性:

\documentclass[runningheads]{llncs}
\usepackage{booktabs,siunitx}

\begin{document}

\title{Paper Title Here ... }

\begin{table}[htp]

\caption{Classification results of imbalance techniques}

\begin{tabular}{
  @{\quad}
  l
  *{5}{S[table-format=1.2]}
  @{}
}
\toprule
Mode &
  \multicolumn{1}{wc{6em}}{RF} &
  \multicolumn{1}{wc{6em}}{RF-SMOTEd} &
  \multicolumn{1}{wc{6em}}{AdaBoost} &
  \multicolumn{1}{wc{6em}}{SMOTEBoost} &
  \multicolumn{1}{wc{6em}}{DECOC} \\
\midrule
& \multicolumn{5}{c@{}}{Precision} \\
\cmidrule(l{2em}r{2em}){2-6}
Walk & 0.88 & 0.78 & 0.65 & 0.59 & 0.45 \\
Bike & 0.88 & 0.78 & 0.65 & 0.59 & 0.45 \\
\midrule
& \multicolumn{5}{c@{}}{Recall} \\
\cmidrule(l{2em}r{2em}){2-6}
Walk & 0.38 & 0.73 & 0.95 & 0.83 & 0.57 \\
Bike & 0.38 & 0.73 & 0.95 & 0.83 & 0.57 \\
\midrule
& \multicolumn{5}{c@{}}{F1-Score} \\
\cmidrule(l{2em}r{2em}){2-6}
Walk & 0.52 & 0.07 & 0.22 & 0.66 & 0.88 \\
Bike & 0.52 & 0.07 & 0.22 & 0.66 & 0.88 \\
\bottomrule
\end{tabular}

\end{table}

\end{document}

在此处输入图片描述

相关内容