我正在用 LNCS 样式文件写一篇论文,在尝试在表格中使用多列时遇到了麻烦。我无法让第二行的文本H (mm)
换行到下一行,我不知道如何修复它。我基本上希望后面的数字\pm
在新行上,因为没有空格。
目前看来
我希望一切都像这样均匀分布
有没有更有条理的方法来做到这一点,因为目前它看起来很丑陋?
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
.
.
\begin{table}[!ht]
\centering
\caption{Average error metrics.}
\smallskip
\begin{tabularx}{\columnwidth}{L{1cm} C{1.5cm}C{1.5cm}C{1.5cm} C{0.01cm} C{1.5cm}C{1.5cm}C{1.5cm}}
\toprule
& \multicolumn{3}{c}{UHFUS} & & \multicolumn{3}{c}{HFUS} \\
\cmidrule(){2-4} \cmidrule(){6-8}
Metric & {G1} & {G2} & {G3} & & {G1} & {G2} & {G3} \\
\midrule
D & 0.91$\pm$0.01 & 0.90$\pm$0.01 & 0.89$\pm$0.01 & & 0.91$\pm$0.01 & 0.91$\pm$0.02 & 0.91$\pm$0.02 \\
H ($mm$) & 0.0973$\pm$0.019 & 0.0917$\pm$0.019 & 0.105$\pm$0.02 & & 0.292$\pm$0.023 & 0.281$\pm$0.065 & 0.273$\pm$0.04\\
DFP & 1.35 & 5 & 4.93 & & 12.3 & 5 & 34.6 \\
DFN & 1.35 & 5 & 4.93 & & 12.3 & 5 & 34.6\\
\bottomrule
\end{tabularx}
\label{table1}
\end{table}
答案1
由于任何列都不需要换行,因此tabularx
不需要使用环境,甚至不建议使用环境。相反,请使用tabular*
环境。
请注意,通过切换到\footnotesize
,可以避免数字之间出现换行符。
\documentclass{llncs} % from ftp://ftp.springernature.com/cs-proceeding/llncs/llncs2e.zip
\usepackage{booktabs}
\begin{document}
\begin{table}[!ht]
\caption{Average error metrics.} \label{table1}
\setlength\tabcolsep{0pt} % let tabular&* figure out whitespace
\footnotesize
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} l *{6}{c} }
\toprule
Metric &\multicolumn{3}{c}{UHFUS} & \multicolumn{3}{c}{HFUS} \\
\cmidrule(l){2-4} \cmidrule(l){5-7}
& G1 & G2 & G3 & G1 & G2 & G3 \\
\midrule
D & 0.91$\pm$0.01 & 0.90$\pm$0.01 & 0.89$\pm$0.01 & 0.91$\pm$0.01 & 0.91$\pm$0.02 & 0.91$\pm$0.02 \\
H\,(mm) & 0.097$\pm$0.019 & 0.092$\pm$0.019 & 0.105$\pm$0.02 & 0.292$\pm$0.023 & 0.281$\pm$0.065 & 0.273$\pm$0.04\\
DFP & 1.35 & 5 & 4.93 & 12.3 & 5 & 34.6 \\
DFN & 1.35 & 5 & 4.93 & 12.3 & 5 & 34.6 \\
\bottomrule
\end{tabular*}
\end{table}
\end{document}
答案2
以下是一种替代方法siunitx
:
\documentclass{llncs}
\usepackage{booktabs}
\usepackage{siunitx}
\begin{document}
\begin{table}[!ht]
\caption{Average error metrics.}
\label{table1}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} l *{6}{S[table-format=1.3(3)]} }
\toprule
Metric &\multicolumn{3}{c}{UHFUS} & \multicolumn{3}{c}{HFUS} \\
\cmidrule(lr){2-4} \cmidrule(l){5-7}
& {G1} & {G2} & {G3} & {G1} & {G2} & {G3} \\
\midrule
D & 0.91(1) & 0.90(1) & 0.89(1) & 0.91(1) & 0.91(2) & 0.91(2) \\
H\,(\si{\mm}) & 0.097(19) & 0.092(19) & 0.105(20) & 0.292(23) & 0.281(65) & 0.273(40) \\
DFP & {1.35} & {5} & {4.93} & {12.3} & {5} & {34.6} \\
DFN & {1.35} & {5} & {4.93} & {12.3} & {5} & {34.6} \\
\bottomrule
\end{tabular*}
\end{table}
\end{document}