\documentclass{article}
\usepackage{siunitx}
\begin{document}
\SI[per-mode = fraction]{3.00e8}{\meter\per\second}
\end{document}
我已经在三台不同的计算机上测试了这一点,所有计算机都运行 TexLive 2009(Ubuntu 或 Linux Mint 自带的计算机),其中一台计算机上出现了错误消息:
! Package xkeyval Error: `per-mode' undefined in families `key'.
更一般地说,任何试图提供额外选项的尝试siunitx
(例如,,output-decimal-marker = {,}
我也需要)都会导致同样的错误。
xkeyval
我怀疑这是和之间的版本冲突siunitx
,但到目前为止还无法确定该计算机中产生错误的不同之处。我甚至删除了 LaTeX3 包也无济于事。
有人问过类似的问题错误:“per-mode”未定义,但该问题现已结束。
答案1
您正在尝试使用版本 2 的选项,但已安装版本 1。您应该始终检查已安装的版本(或任何其他软件包)siunix
的手册,以了解哪些是有效的。这里siunitx
texdoc siunitx
在终端将显示版本 1 中没有per-mode
选项,而是有一个名为的选项per
。
正如您所预料的,版本 1 比版本 2 受到的限制更多,因此可用的能力会更少。您可能希望对最新版本(撰写本文时为 v2.5q)进行“本地安装”:这肯定需要最新的 LaTeX3 支持包集。(版本 2 使用本机 LaTeX3 键值处理,并且xkyeval
根本不加载。)