我在用希尼奇排版不确定的值,在某些情况下,我得到的是(我认为的)错误值。我之所以使用,是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 中)生成一个数据丰富的表。如果小数点后要打印的位数为零,则仍会打印小数点。我可以修改这个特定的行为 - 如果尾随字符是小数,则将其删除 - 我可能会进行此更改。但是,我想更好地理解这种行为,如果可能的话,通过其他方式避免它,并让其他人知道这个问题。