siunitx 不确定值 - 小数位数不同(例如 98.5 +/- 0.98 %)

siunitx 不确定值 - 小数位数不同(例如 98.5 +/- 0.98 %)

我正在使用 siunitx 来报告一个值加上一个“不确定性”(如 siunitx 包中所定义)。我在设置所需格式时遇到了问题,我认为问题在于我希望得到的不确定性的小数位数与不确定性所属的值不同。例如 98.5(一位小数)+/- 0.98(两位小数)。请注意,在此示例中,值有一个单位(%),这意味着使用 的解决方案\SI优于num

有人知道如何生成与下面第一次尝试相等的结果,但第一个数字(98.5)报告到小数点后一位而不是两位吗?

上下文是我引用科学期刊文章中的值,因此无论不同的小数位数是否“正确”,我都希望准确反映报告的值。此处的“不确定性”表示平均值的标准偏差。

以下是 MWE:

\documentclass{article}
\usepackage{textcomp}
\usepackage{siunitx}

\sisetup{range-units=single,
        separate-uncertainty = true,
        multi-part-units = single}

\begin{document}

\noindent\SI{98.5 \pm 0.98}{\percent} : Spacing correct, precision wrong (desired 98.5, not 98.50)

\noindent\SIrange[range-phrase=\ \textpm\ ]{98.50}{0.98}{\percent} : Workaround. Note different (wrong) spacing around plus/minus sign

\noindent\ \SIrange[range-phrase=\ \textpm\ ]{98.5}{0.98}{\percent} : Workaround with desired numbers. Incorrect spacing maintained

\noindent\SI{98.5 (98)}{\percent} : Precision correct, uncertainty value wrong.

%\noindent\SI{98.5 (9.8)}{\percent} : Expected to fix uncertainty value of above, returns error instead

\end{document}

MWE 的输出

答案1

说服解析系统做的事情是有限的:当发生这种情况时,您需要手动执行操作。根据您希望标记的外观,您可以选择

\documentclass{article}
\usepackage{siunitx}

\begin{document}
\SI[parse-numbers = false]{98.5 \pm 0.98}{\percent}
\end{document}

或者

\documentclass{article}
\usepackage{siunitx}

\begin{document}
$98.5 \pm \SI{0.98}{\percent}$
\end{document}

答案2

虽然 Joseph Wright 提出的答案都是可行的选择,但我更喜欢使用我在原始问题中提出的解决方法,\SIrange因为它保留了将单位是否重复(range-units)作为变量的功能(即 A +/- B% 与 A% +/- B%)。

感谢 Joseph Wright 确认此问题没有更优雅的解决方案。

首选答案如下,后面跟着 MWE,说明range-units对所提解决方案的影响。

首选答案:\SIrange[range-phrase=\ \textpm\ ]{98.50}{0.98}{\percent}

平均能量损失

\documentclass{article}
\usepackage{textcomp}
\usepackage{siunitx}

\sisetup{separate-uncertainty = true}
\begin{document}

\sisetup{range-units=single}
Single Units in Setup: \\
\SIrange[range-phrase=\ \textpm\ ]{98.5}{0.98}{\percent} \\
\SI[parse-numbers = false]{98.5 \pm 0.98}{\percent} \\
$98.5 \pm \SI{0.98}{\percent}$ \\

\sisetup{range-units=repeat}
Repeat Units in Setup: \\
\SIrange[range-phrase=\ \textpm\ ]{98.5}{0.98}{\percent}  - Functionality Maintained\\
\SI[parse-numbers = false]{98.5 \pm 0.98}{\percent} - Functionality NOT Maintained\\
$98.5 \pm \SI{0.98}{\percent}$ - Functionality NOT Maintained\\

\end{document}

MWE 输出显示了范围单位对替代解决方案的影响

相关内容