siunitx 中的小数和不确定性值错误

siunitx 中的小数和不确定性值错误

我在用希尼奇排版不确定的值,在某些情况下,我得到的是(我认为的)错误值。我之所以使用,是separate-uncertainty=true因为它使我的示例更清晰,但无论哪种方式都会出现问题。

首先,请注意,\num{3}produces3\num{3.}produces 3.0。我不太同意这种选择,但它是合理的,因为否则小数就没有任何意义了。这与我遇到的问题直接相关。

正如我所料,该数字\num{3 \pm 3}产生了结果3±3然而,\num{3. \pm 3.}收益3.0 ± 0.3却是我所没有预料到的。对于科学计数法中的值也是如此;\num{3. \pm 3. e10}得出(3.0 ± 0.3) × 10^{10}。不确定性值是否有小数似乎并不重要:\num{3. \pm 3.}给出与 相同的错误结果\num{3. \pm 3}

一个简单的例子是:

\documentclass{article}
\usepackage{siunitx}

\begin{document}
\num[separate-uncertainty=true]{3  \pm 3}
\num[separate-uncertainty=true]{3. \pm 3.}
\num[separate-uncertainty=true]{3. \pm 3. e10}
\num[separate-uncertainty=true]{3. \pm 3}
\end{document}

从日志文件中可以看出,siunitx 的版本是:

Package: siunitx 2016/03/01 v2.6q A comprehensive (SI) units package

思考这意味着在另一个问题关于整数值用小数排版的问题已经修复,但我不确定。

我的问题是,这是怎么回事?有没有办法避免这种行为?

编辑:这个问题的出现是因为我正在使用浮点格式说明符((fX.Y)在 Fortran 中)生成一个数据丰富的表。如果小数点后要打印的位数为零,则仍会打印小数点。我可以修改这个特定的行为 - 如果尾随字符是小数,则将其删除 - 我可能会进行此更改。但是,我想更好地理解这种行为,如果可能的话,通过其他方式避免它,并让其他人知道这个问题。

相关内容