为什么 siunitx 排版正零(+0)或负零(-0)时不带符号?

为什么 siunitx 排版正零(+0)或负零(-0)时不带符号?

当我编写 TeX 文档并使用siunitx格式化正零和负零时,符号不会被排版。即使使用此retain-explitcit-plus=true选项也是如此。

梅威瑟:

\documentclass[12pt]{article}
% !TeX program = lualatex
% !TeX TXS-program:lualatex = lualatex -interaction=nonstopmode -synctex=1 -output-directory="outdir" -aux-directory="auxdir" -shell-escape %.tex
% !TeX encoding = utf8
\usepackage{siunitx}
\begin{document}
    \begin{tabular}{ *{2}{S[retain-explicit-plus=true]}}
        {Number} & {Workaround} \\
        \hline
        -2 \\
        -1 \\
        -0 & {$-0$} \\
        +0 & {$+0$} \\
        +1 \\
        +2 \\
    \end{tabular}
\end{document}

在此处输入图片描述

在某些情况下,此解决方法可能会导致错位。

为什么会发生这种情况?这是故意的吗?有没有比我的解决方法更好的解决方案?

答案1

引用@JosephWright 的评论:

在实施层面,首先siunitx要做的就是规范化输入:如果值为零,则删除符号,因为它没有意义。

所以答案是:这种行为是经过设计的,是有目的的,因为siunitx它关注的是物理量,而不是理论构造或计算机数学。

相关内容