使用 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
) - 分组列并相应缩短中间规则
\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}