为无单位值启用“指数到前缀”功能

为无单位值启用“指数到前缀”功能

使用siunitx包时,exponent-to-prefix选项似乎仅在存在具有给定数字的单位(\SI\SIrange\SIlist)时才有效。我希望该选项即使在无单位值(由\num\numrange、给出\numlist)的情况​​下也能工作。在下图中,所有无单位数字后面的数字指数都应替换为其标准符号

在此处输入图片描述

\documentclass{book}

\usepackage{siunitx}
\sisetup{scientific-notation=engineering,exponent-to-prefix=false,zero-decimal-to-integer=true}

\begin{document}

\num{10e6}

\numrange{3e3}{70e5}

\numlist{3e3; 70e5; 150e9}

\SI{10e6}{\meter}

\SIrange{3e3}{70e5}{\meter}

\SIlist{3e3; 70e5; 150e9}{\meter}

\end{document}

答案1

最接近你想要的是使用“不做任何事情”的单位

\documentclass{book}

\usepackage{siunitx}
\sisetup{scientific-notation = engineering, exponent-to-prefix = true, zero-decimal-to-integer = true}
\DeclareSIUnit{\noop}{\kern 0pt}
\begin{document}

\SI{10e6}{\noop}

\SIrange{3e3}{70e5}{\noop}

\SIlist{3e3; 70e5; 150e9}{\noop}

\end{document}

(前缀从根本上与单位相关。)

相关内容