可以重新声明/重新定义现有的 siunitx 单元一般的\bit
。但是,对于二进制单位(和) ,这似乎失败了,\byte
如下面的 MWE 所示。
只有在序言之后通过声明完成声明才有效\AtBeginDocument
。
\documentclass{article}
\usepackage[
binary-units,
]{siunitx}
% \AtBeginDocument{
\DeclareSIUnit\bit{b}
% }
\begin{document}
\SI{8}{\bit}
\end{document}
为什么会出现这种情况?这是一个错误吗?为什么首先\bit
定义为,而只是?这会产生相当难以阅读的输出,带有 IEC 前缀,如bit
\byte
B
吉比特。
我正在使用 TexLive 2016 的 2.7a 版本(2017-01-01)。
答案1
加载时间当然是故意的。binary-units
选项代码(为 true)是:
binary-units / true .code:n = { \AtBeginDocument { \__siunitx_load_binary: } },
正如代码所示,这基本上是可行的\AtBeginDocument{\input{siunitx-binary.cfg}}
(只需做一些工作就可以将文件作为包加载)。
目前尚不清楚为什么会加载这个文件\AtBeginDocument
,而不是在加载时加载siunitx
(至少我在源代码中没有找到任何提示)。但有这个:
\changes{v2.5m}{2012/11/27}{Modified loading of \opt{binary-units}}
但它没有说什么改变了......
只有约瑟夫知道:-)
至于代表性\bit
,SI 手册,用作 的参考siunitx
,没有提到数字存储单元,因此可能归结为您所说的内容:
其中 [
bit
] 是官方 IEC/ISO 单位象征(b
当时/现在由 IEEE 推广)
所以这基本上是两者之间的选择问题。虽然我认为书面文字中8 bit
比 更清晰8 b
,但前者与前缀/其他单位结合时会变得很奇怪,所以这是一个艰难的选择......