
Ich arbeite mit der LLCS-Dokumentenklasse und wollte eine große Tabelle seitlich platzieren.
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}
Ausgabe:
Diese Tabelle passt nicht, auch nicht nach dem Hinzufügen \tabcolsep=0pt
.
BEARBEITEN
Ich frage mich, wiedieses Papierkonnte trotz Verwendung derselben Dokumentklasse die folgende große Tabelle hinzufügen.
Antwort1
Ich konnte nicht anders: Das ist nur eine Abwandlung vonegregs Antwortmit einigen Feinabstimmungen, ohne etwas Tiefgreifendes zu ändern:
- Vereinfachte Legende (
R: RF
anstatt(1) RF
) - Gruppierte Spalten mit entsprechend verkürzten Mittellinien
\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}
Und hier mein abschließender Take - der beengte Blick ließ mir keine Ruhe:
%
Als Einheit umgeschaltet , alle fallenlassen0.
- Achsen vertauscht: Verkehrsmittel und -methode vertauscht
- Die Beschriftung in der oberen linken Ecke wurde von „Modus“ auf „Methode“ geändert. Falls die Bedeutung von „Gehen“ und „Fahrrad“ nicht aus dem Kontext klar wird, kann sie in der Bildunterschrift verdeutlicht werden.
\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}
Antwort2
Sie müssen in fast allen Kopfzeilen Zeilenumbrüche einfügen. Da die meisten Kopfzeilen Akronyme zu sein scheinen, ist es am besten, die Zeilenumbrüche manuell zu erzwingen; siehe den Code unten, wie das geht. Aber sobald Sie alle manuellen Zeilenumbrüche erstellt haben, ist keine Umgebung mehr erforderlich tabularx
. Verwenden Sie stattdessen eine tabular*
Umgebung (und setzen Sie ihre Breite auf \linewidth
). Schließlich \centering
bewirkt die Anweisung nichts Nützliches und kann (sollte!) weggelassen werden.
\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}
Antwort3
Nein sidewaystable
, wenn Sie lange Wiederholungen vermeiden.
\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}
Eine andere Möglichkeit:
\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}