siunitx - 区分有前缀和无前缀的单位

siunitx - 区分有前缀和无前缀的单位

我想区分使用该装置时的两种情况\byte

  1. 如果使用没有前缀在文本中应写为“Byte”
  2. 如果使用前缀,例如\kilo\byte,我想获得“kB”

我是否需要声明使用/不使用前缀的不同单位,或者这可以由包来处理?

答案1

\documentclass[preview,border=12pt,varwidth]{standalone}
\usepackage[binary-units]{siunitx}
\DeclareSIUnit\mybyte{Byte}

\begin{document}

One thousand bytes is \SI{1}{\kibi\byte}

One byte is \SI{1}{\mybyte}

\end{document}

在此处输入图片描述

建议:

  • 当单位不缩写时,使用byte而不是。Byte

答案2

您提到的第二种情况:

如果与前缀一起使用,例如 \kilo\byte,我希望得到“kB”

是 的默认行为siunitx,因此您不必担心。例如

\SI{1}{\kilo\byte}

对于第一个:

如果不使用前缀,则在文本中应写为“Byte”

我建议你定义自己的宏,并\mybyte以你的序言命名。例如

\newcommand{mybyte}{Byte}

因此,当您想要前缀时,只需输入:

One thousand bytes is \SI{1}{\kilo\byte}

或者:

 One byte is \SI{1}{\mybyte}

代码示例:

\documentclass{article}

\usepackage{siunitx}

\newcommand{\mybyte}{Byte}

\begin{document}

One thousand bytes is \SI{1}{\kilo\byte}

One byte is \SI{1}{\mybyte}

\end{document}

结果:

在此处输入图片描述

相关内容