\begin{table}[H]
\centering
\sisetup{table-format=1.3e-2, table-alignment=center, tight-spacing}
\setlength{\tabcolsep}{3pt}
\small
\centering
\sisetup{detect-weight,mode=text}
\renewrobustcmd{\bfseries}{\fontseries{b}\selectfont}
\renewrobustcmd{\boldmath}{}
% abbreviation
\newrobustcmd{\B}{\bfseries}
% shorten the intercolumn spaces
\addtolength{\tabcolsep}{-4.1pt}
\begin{tabularx}{\linewidth}{X cSS[table-format=1.5] SS[table-format=1.5]}
\toprule
\thead {Algorithm\\ Name} & {\thead{ABC Dataset \\ Name} }& {\thead{Bxxx ABS Txx\\ aaaa $80\%$ }} & {\thead{Mxxx YYYYYYY Tcxx\\ Tzzz $80\%$} }
& {\thead{Bxxx sdsdf Tfds\\Tdfs $90\%$}} \\ [0.5ex]
\midrule
ABCD & XXXXX YYY & 0.222 & 0.228 & \B 0.230 \\
ABCD & DEFG & 0.222 & \B 0.282 & 0.222 \\
ABCD & ABCD & 0.992 & 0.992 & \B 0.998 \\
ABCD & XXXXX Y & 0.992 & 0.992 & \B 0.992 \\
DEF & XXXXX Hand & 0.220 & \B 0.222 & 0.222 \\
DEF & DEFG & 0.223 & 0.232 & \B 0.22 \\
DEF & ABCD & 0.999 & \B 2.000 & 0.999 \\
DEF & XXXXX YY & 0.998 & \B 0.999 & 0.998 \\ [2ex]
\bottomrule
\end{tabularx}
\caption{Cfdfsd (In \textbf{Bold} the gsfdsd per line)}
\label{table:4}
\end{table}
答案1
您的S
列不一致table-format
:默认情况下,您的格式为科学计数法,表格中的一些列有 5 位小数,但您实际上只有 3 位。此外,您有一列未使用S
。另外,最好将第二列设置为X
列。
这是我建议的代码:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{siunitx}
\usepackage{etoolbox}
\usepackage{tabularx, booktabs, makecell} %
\begin{document}
\begin{table}[!htb]
\centering
\sisetup{table-format=1.3, table-number-alignment=center, tight-spacing,}% table-column-width =2.5cm
\setlength{\tabcolsep}{3pt}
\small
\centering
\sisetup{detect-weight,mode=text}
\renewrobustcmd{\bfseries}{\fontseries{b}\selectfont}
\renewrobustcmd{\boldmath}{}
% abbreviation
\newrobustcmd{\B}{\bfseries}
% shorten the intercolumn spaces
\setlength{\tabcolsep}{4pt}
\begin{tabularx}{\linewidth}{l>{\centering}XSSS}
\toprule
\thead {Algorithm\\ Name} & {\thead{ABC Dataset \\ Name} }& {\thead{Bxxx ABS Txx \\ aaaa $80\%$ }} & {\thead{Mxxx YYYYYYY\\ Tcxx Tzzz $80\%$} }
& {\thead{Bxxx sdsdf Tfds \\Tdfs $90\%$}} \\ [0.5ex]
\midrule
ABCD & XXXXX YYY & 0.222 & 0.228 & \B 0.230 \\
ABCD & DEFG & 0.222 & \B 0.282 & 0.222 \\
ABCD & ABCD & 0.992 & 0.992 & \B 0.998 \\
ABCD & XXXXX Y & 0.992 & 0.992 & \B 0.992 \\
DEF & XXXXX Hand & 0.220 & \B 0.222 & 0.222 \\
DEF & DEFG & 0.223 & 0.232 & \B 0.22 \\
DEF & ABCD & 0.999 & \B 2.000 & 0.999 \\
DEF & XXXXX YY & 0.998 & \B 0.999 & 0.998 \\ [2ex]
\bottomrule
\end{tabularx}
\end{table}
\end{document}
答案2
我想你喜欢这样的餐桌:
它基于我的答案对于你之前的问题
\documentclass{article}
\usepackage{booktabs, makecell}
\usepackage{siunitx}
\usepackage{etoolbox}% <---
\newcommand{\B}{\fontseries{b}\selectfont} % <---
\robustify\B% <---
\begin{document}
\begin{table}
\centering
\sisetup{detect-weight} % <---
\centering
\begin{tabular}{l c *{3}{S[table-format=1.3]}} % <---
\toprule
\thead{Algorithm\\ Name}
& \thead{ABC Dataset \\ Name}
& {\thead{Bxxx ABS Txx \\
aaaa \SI{80}{\%} }}
& {\thead{Mxxx YYYYYYY\\
Tcxx Tzzz \SI{80}{\%} }}
& {\thead{Bxxx sdsdf Tfds \\
Tdfs \SI{90}{\%}}}
\\
\midrule
ABCD & XXXXX YYY & 0.222 & 0.228 & \B 0.230 \\
ABCD & DEFG & 0.222 & \B 0.282 & 0.222 \\
ABCD & ABCD & 0.992 & 0.992 & \B 0.998 \\
ABCD & XXXXX Y & 0.992 & 0.992 & \B 0.992 \\
DEF & XXXXX Hand & 0.220 & \B 0.222 & 0.222 \\
DEF & DEFG & 0.223 & 0.232 & \B 0.22 \\
DEF & ABCD & 0.999 & \B 2.000 & 0.999 \\
DEF & XXXXX YY & 0.998 & \B 0.999 & 0.998 \\
\bottomrule
\end{tabular}
\caption{11 my caption}
\label{table:3}
\end{table}
\end{document}
笔记:
- 总是提供完整的小文档,我们可以在计算机中复制和编译。例如,你的代码片段没有提供序言中的重要信息,或者你把它们放在了文档中的错误位置
- 如果你有后续问题(如你的问题),请提供上一个问题的链接
- 如果您接受上一个问题的答案,请在类似的表格设计中使用它
编辑: 抱歉,在第一个版本的回答中我没有考虑你的表格主体,现在我纠正一下。这样你会遇到一些新的问题:
- 表格明显比你之前的问题更宽
- 对于列标题使用
theads
来自makecell
包(类似于伯纳德在他的回答中做)因为你使用siunitx
包,所以你应该在设置百分比值时使用它。