4

Working with the llncs document class and wanted to place a large table sideways.

Code:

\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}

Output:

enter image description here

This table does not fit even after adding \tabcolsep=0pt.

EDIT

I am wondering how this paper managed to add the following large table despite using the same document class.

enter image description here

  • 1
    You might not be able to fit a table like that on one page sadly, please see the solutions here by @Werner to see if they can assist - you can only fit so much in a table without reducing space or increasing page size. – JamesT Mar 16 '23 at 00:12
  • 1
    @JamesT - Please see the answer I posted. :-) – Mico Mar 16 '23 at 02:42

3 Answers3

6

You'll need to insert line breaks in almost all header cells. Since most of the headers appear to be acronyms, it's best to force the line breaks by hand; see the code below for how this may be done. But once you've created all the manual line breaks, there's no further need for a tabularx environment. Instead, use a tabular* environment (and set its width to \linewidth). Finally, the \centering instruction isn't doing anything useful and may (should!) be omitted.

enter image description here

\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}

Mico
  • 506,678
6

No sidewaystable if you avoid lengthy repetition.

\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}

enter image description here

A different possibility:

\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}

enter image description here

egreg
  • 1,121,712
2

I could not help myself: this is just a spin on egreg's answer with some finetuning, while not changing anything profound:

  • Streamlined legend (R: RF instead of (1) RF)
  • Grouped columns with accordingly shortened midrules

slender 16 column table with 3 groups à 5 columns with additional column separation

\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}

And here my final take - the cramped look did not let me rest:

  • Switched to % as the unit, dropping all 0.
  • Transposed the axes: Transportation mode and method swapped
  • Top left corner label switched from "mode" to "method". If not clear from context, the meaning from "walk" and "bike" could be made clear in the caption.

transposed axes version

\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}

ojdo
  • 2,125