我有一张表格,需要自动将所有数字格式化为小数点后两位。这可能吗?还是我需要格式化整个文档?
编辑:
我已经应用了答案中建议的代码,但不幸的是,它似乎不适用于我的特定表格!有人知道如何相应地调整它吗?
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\sisetup{
table-number-alignment = center,
table-figures-integer = 1,
table-figures-decimal = 2
}
\begin{table}[thb]
\caption{\label{labelname}Table Caption}
\scriptsize
{\centering \begin{tabular
{lr@{\hspace{0cm}}c@{\hspace{0cm}}rr@{\hspace{0cm}}c@{\hspace{0cm}}r@{\hspace{0.1cm}}cr@{ space{0cm}}c@{\hspace{0cm}}r@{\hspace{0.1cm}}cr@{\hspace{0cm}}c@{\hspace{0cm}}r@{\hspace{0
1cm}}cr@{\hspace{0cm}}c@{\hspace{0cm}}r@{\hspace{0.1cm}}cr@{\hspace{0cm}}c@{\hspace{0cm}}r
{\hspace{0.1cm}}cr@{\hspace{0cm}}c@{\hspace{0cm}}r@{\hspace{0.1cm}}cr@{\hspace{0cm}}c@{\hs
ace{0cm}}r@{\hspace{0.1cm}}c}
\\
\hline
Dataset & \multicolumn{3}{c}{ConjunctiveRule }& \multicolumn{4}{c}{DecisionTable } &
\multicolumn{4}{c}{DTNB } & \multicolumn{4}{c}{JRip} & \multicolumn{4}{c}{NNge} &
\multicolumn{4}{c}{OneR} & \multicolumn{4}{c}{PART} & \multicolumn{4}{c}{Ridor} \\
\hline
Number correct & 9.5900 & $\pm$ & 1.16 & 9.5600 & $\pm$ & 1.22 & & 9.5600 & $\pm$ &
1.22 & & 9.5000 & $\pm$ & 1.24 & & 8.9500 & $\pm$ & 1.34 & & 9.6000
& $\pm$ & 1.16 & & 9.3000 & $\pm$ & 1.34 & & 9.1700 & $\pm$ & 1.42 & \
\end{tabular} \scriptsize \par}
\end{table}
\end{document}
答案1
您必须将每列带有小数的数字定义为“ S
-columns”。
您的表格中有 31 列,有些带有小数,有些带有数学符号,有些则为空。在空的一列中,我放了一个emdash
(以便跟踪)。
这是一个 MWE(最小工作示例)。我使用scrartcl
高 DIV 因子和横向模式将表格挤在页面边缘之间。您可以使用geometry
带有正确参数的 -package 来实现相同的效果:
\documentclass[a4paper,landscape,DIV=20]{scrartcl}
\usepackage{siunitx}
\begin{document}
\sisetup{
table-number-alignment = center,
table-figures-integer = 1,
table-figures-decimal = 2
}
\begin{table}[thb]
\caption{\label{labelname}Table Caption}
\centering\tiny
\begin{tabular}{
l
S[table-auto-round]
c
S[table-auto-round]
S[table-auto-round]
c
S[table-auto-round]
l
S[table-auto-round]
c
S[table-auto-round]
l
S[table-auto-round]
c
S[table-auto-round]
l
S[table-auto-round]
c
S[table-auto-round]
l
S[table-auto-round]
c
S[table-auto-round]
c
S[table-auto-round]
c
S[table-auto-round]
c
S[table-auto-round]
c
S[table-auto-round]
l}
Dataset & \multicolumn{3}{c}{ConjunctiveRule }& \multicolumn{4}{c}{DecisionTable } &
\multicolumn{4}{c}{DTNB } & \multicolumn{4}{c}{JRip} & \multicolumn{4}{c}{NNge} &
\multicolumn{4}{c}{OneR} & \multicolumn{4}{c}{PART} & \multicolumn{4}{c}{Ridor} \\
Number correct &
9.5900 &
$\pm$ &
1.16 &
9.5600 &
$\pm$ &
1.22 &
--- &
9.5600 &
$\pm$ &
1.22 &
--- &
9.5000 &
$\pm$ &
1.24 &
--- &
8.9500 &
$\pm$ &
1.34 &
--- &
9.6000 &
$\pm$ &
1.16 &
--- &
9.3000 &
$\pm$
& 1.34 &
--- &
9.1700 &
$\pm$ &
1.42 &
--- \\
\end{tabular}
\end{table}
\end{document}
答案2
请参阅第 57 页siunitx
文档。
一个小例子:
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\sisetup{
table-number-alignment = center,
table-figures-integer = 1,
table-figures-decimal = 2
}
\begin{tabular}{
S[table-auto-round]
}
2.\\
2.3\\
2.34\\
2.345
\end{tabular}
\end{document}