该示例显示了该问题:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{siunitx}
\usepackage{booktabs,tabularx,multirow}
\sisetup{
range-phrase = --,
separate-uncertainty = true,
retain-zero-uncertainty = true
}
\begin{document}
\num{439 \pm 1} and \num{1.23+-0.02}
\begin{table}[htbp]
\caption{Table}
\begin{tabular}{
S
S}
\toprule
439 \pm 4 & 0.53 \pm 0.04 \\
\bottomrule
\end{tabular}
\label{tab}
\end{table}
\end{document}
如何使列实现相同的形式S
以便周围也\num
留出良好的空间?\pm
tabular
答案1
这是表格代码的一个疏忽,它必须将数字拆分开才能排版。这里,没有小数标记/部分,周围的间距\pm
是错误的,因为它最终排版时前面没有任何空格。目前,修复方法是
\ExplSyntaxOn
\cs_gset:Npn \__siunitx_table_print_marker_aux:w
#1 \q_nil #2 \q_nil #3 \q_nil #4 \q_nil #5
\q_nil #6 \q_nil #7 \q_nil #8 \q_stop
{
\bool_lazy_and:nnTF
{ \tl_if_blank_p:n {#1#2} }
{ ! \tl_if_blank_p:n {#3} }
{ { } }
{ \exp_not:n {#1#2} }
\exp_not:n {#3#4#5#6}
\tl_if_blank:nT {#1#2#3#4#5#6} { { } }
\exp_not:n {#7#8}
}
\ExplSyntaxOff
我将在一两天内将一些东西送到 CTAN。