使用 siunitx 的标准差的自定义格式?

使用 siunitx 的标准差的自定义格式?

我已阅读此网站上的帖子,但找不到解决问题的方法。我想使用siunitx来设置我的单位,包括标准差。对于以年份给出的数字,我必须使用以下格式:

50.1(标准差:11.1)岁

有没有办法通过可重复使用的命令来实现这一点?

答案1

在此处输入图片描述

\documentclass{article}

\usepackage[separate-uncertainty=true]{siunitx}
\sisetup{output-decimal-marker={,}}

\newcommand\uncertaintyYears[2]{\SI{#1} (SD: #2) years}

\begin{document}
\uncertaintyYears{50,2}{11,1}
\uncertaintyYears{20.2}{6,3}
\uncertaintyYears{8,2}{2,05}
\end{document}

答案2

您可以设置不确定性,以便使用output-open-uncertainty如下选项实现所需的输出:

\documentclass{article}

\usepackage{siunitx}
\sisetup{output-decimal-marker={,},
        output-open-uncertainty={\mathrm{(SD\colon}\ },     
        uncertainty-mode=full}
\DeclareSIUnit{\y}{years}

\begin{document}

\qty{50,1(11,1)}{\y}

\end{document}

uncertainty-mode=full不确定项中显示小数点标记。默认情况下(模式:),compact不会打印小数点标记(见代码文档第 12 页和/或这个问题)。

也可以调整之前建议的单独命令,以便对任意单位执行相同操作,如下所示:\newcommand{\qtySD}[3]{\num{#1}(SD: \num{#2})\,\unit{#3}}%。然后调用\qtySD{50,1}{11,1}{\y}。如果还想使用不确定性的标准形式,这可能会派上用场,尽管可以简单地将选项改回单个数量,如下所示\qty[output-open-uncertainty=(]{50,1(11,1)}{\y}

相关内容