当我编写 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
它关注的是物理量,而不是理论构造或计算机数学。