siunitx 错误计算单位转换

siunitx 错误计算单位转换

我正在使用 siunitx 来显示我的计算中的值。

\documentclass{report}
\usepackage[exponent-to-prefix]{siunitx}
\begin{document}
\begin{equation}
 \SI{2.5e-7}{\meter\cubed\per\second} 
\end{equation}
\end{document}

然而,当我编译它时,我最终得到

在此处输入图片描述

据我所知,这是不正确的,因为它应该是 0.25 cm³/s。是我使用 siunitx 的方式不对,还是它的单位转换逻辑存在错误?导致转换的功能是exponent-to-prefixsiunitx 的标志。

这是运行 Latex 的输出:

This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Arch Linux) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
(./thesis.tex
LaTeX2e <2019-10-01> patch level 1
(/usr/share/texmf-dist/tex/latex/base/report.cls
Document Class: report 2019/08/27 v1.4j Standard LaTeX document class
(/usr/share/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texmf-dist/tex/latex/siunitx/siunitx.sty
(/usr/share/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/share/texmf-dist/tex/latex/l3kernel/expl3-code.tex
(/usr/share/texmf-dist/tex/latex/l3kernel/l3deprecation.def))
(/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def))
(/usr/share/texmf-dist/tex/latex/l3packages/xparse/xparse.sty)
(/usr/share/texmf-dist/tex/latex/amsmath/amstext.sty
(/usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty))
(/usr/share/texmf-dist/tex/latex/tools/array.sty)
(/usr/share/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty)
(/usr/share/texmf-dist/tex/latex/translator/translator.sty
(/usr/share/texmf-dist/tex/latex/graphics/keyval.sty))) (./thesis.aux)
(/usr/share/texmf-dist/tex/latex/base/ts1enc.dfu)
(/usr/share/texmf-dist/tex/latex/translator/translator-basic-dictionary-English
.dict) (/usr/share/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg)
[1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./thesis.aux) )</usr/sh
are/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/texmf-dist
/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texmf-dist/fonts/type1/pu
blic/amsfonts/cm/cmr7.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm
/cmsy7.pfb>
Output written on thesis.pdf (1 page, 33373 bytes).
Transcript written on thesis.log

答案1

正如您所说,在版本 2 中,这是有缺陷的。版本 3 可以更好地处理这些情况,但在这里您仍然需要手动干预。如果您使用 v3 尝试您的示例,您会得到


! Package siunitx Error: Exponent '-2.333333333333333' cannot be converted
(siunitx)                into a symbolic prefix.

For immediate help type H <return>.
 ...                                   

因为这里的转换不会尝试在范围内移动数字——这是一个单独的概念。

相关内容