如何覆盖 siunitx 的二进制前缀

如何覆盖 siunitx 的二进制前缀

使用包覆盖二进制前缀是否需要做一些特殊的事情siunitx?覆盖 SI 前缀没有问题。MWE\sisetup{binary-units=true}产生:

在此处输入图片描述

\sisetup{binary-units=false}我得到了:

在此处输入图片描述

请注意,我可以轻松地重新定义\kilo,但无法重新定义\bit

参考:

梅威瑟:

\documentclass{article}
\usepackage{siunitx}
\usepackage{xcolor}

%% https://tex.stackexchange.com/questions/88848/how-do-i-typeset-units-like-mb-gb-megabytes-gigabytes
\sisetup{binary-units=true}%  

\DeclareSIUnit\bit{\textcolor{red}{bit}}%
\DeclareSIUnit\kilo{\textcolor{red}{k}}%

\begin{document}
    \si{\bit}
    \si{\kilo}
\end{document}

答案1

由于此处的单元是可选加载的,并且需要兼容 v1,因此实际加载是在文档开始时完成的。因此您需要

\documentclass{article}
\usepackage{siunitx}
\usepackage{xcolor}


\sisetup{binary-units=true}%  
\AtBeginDocument{
  \DeclareSIUnit\bit{\textcolor{red}{bit}}%
  \DeclareSIUnit\kilo{\textcolor{red}{k}}%
}
\begin{document}
    \si{\bit}
    \si{\kilo}
\end{document}

相关内容