有没有办法提取每个siunitx
前缀代表的乘法因子。基本上,我可以自动ExplainPrefix
生成正确的输出。当前输出x
用作指数:
梅威瑟:
\documentclass{article}
\usepackage{siunitx}
\usepackage{expl3}
%% http://tex.stackexchange.com/questions/100542/how-to-extract-the-name-of-a-macro
\ExplSyntaxOn
\newcommand{\CsToStr}[1]{\cs_to_str:N #1}
\ExplSyntaxOff
\newcommand{\ExplainPrefix}[1]{%
\par
The prefix \CsToStr{#1} (symbol: \si{#1}) representes multiplication by $10^x$.
}%
\DeclareSIPrefix\wacky{X}{41}
\begin{document}
\ExplainPrefix{\kilo}
\ExplainPrefix{\micro}
\ExplainPrefix{\wacky}
\end{document}
答案1
您正在寻找
\si[prefixes-as-symbols = false]{#1}
它会将前缀符号转换为值(这里允许使用单个独立前缀:我计划在图中引入某种“无操作”单元,以使逻辑更容易一些)。
此转换的数据存储在内部属性列表中\l__siunitx_prefix_forward_prop
,当然将来可能会发生变化,但如果您想做更复杂的事情,它就在那里。