在某些 LaTeX 安装中,xkeyval 与 siunitx 发生错误

在某些 LaTeX 安装中,xkeyval 与 siunitx 发生错误
\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根本不加载。)

相关内容