我用它来收集一些关于使用的想法,exponent-to-prefix
因为我知道开发人员就在这里。我的问题可以是“这三个问题会在 的未来版本中得到修复吗siunitx
?”我可以将其作为错误报告提交,但我想并非所有这些问题都可能得到修复,所以答案可能包括原因。我也在寻找最后一个示例的短期解决方法。
\documentclass{article}
\usepackage{siunitx}
\begin{document}
% infinite loop:
%\SIlist[exponent-to-prefix=true]{1e3}{m}
% should maybe print a warning, not an error:
% \SIlist[scientific-notation=true,exponent-to-prefix=true]{10000; 20000}{\m}
% this works as expected:
\SIlist[scientific-notation=engineering,exponent-to-prefix=true]{10000; 20000}{\m}
% does not work as expected. **Edit** I would love to see "10.000 and 20.000 km" here:
\SIlist[scientific-notation=engineering,exponent-to-prefix=true,list-units=single]{10000; 20000}{\m}
% this is closer, but still does not work:
\SIlist[scientific-notation=fixed,fixed-exponent=3,exponent-to-prefix=true,list-units=single]{10000; 20000}{\m}
\end{document}
我认为第一行导致了不应该这么容易发生的无限循环。
第二行会引发错误,但我认为这应该是一个警告,因为手册上明确指出
当 exponent-to-prefix 选项设置为 true 时,该包将试图将数量中的任何指数转换为单位前缀,并将它们附加到给定的第一个单位。仅当指数具有前缀且保留输入中的有效数字的数量时,此过程才有可能。
所以在我看来,警告就足够了。
最后,我想知道如何(通过补丁或未来版本)exponent-to-prefix
才能成功结合list-units=single
。
答案1
仅针对第一点的部分回应:使用\meter
而不是m
单位似乎可以修复无限循环(但我无法解释原因)。
\SIlist[exponent-to-prefix=true]{1e3;2e3}{\metre}
% Produces "1 km and 2 km"