# xkeyval gives error with siunitx on some LaTeX installations

\documentclass{article}

\usepackage{siunitx}

\begin{document}

\SI[per-mode = fraction]{3.00e8}{\meter\per\second}

\end{document}


I've tested this on three different computers, all running TexLive 2009 (the one that comes with Ubuntu or Linux Mint), and got an error message on one of them:

! Package xkeyval Error: per-mode' undefined in families key'.


More generally, any attempt to provide an extra option to siunitx (e.g., output-decimal-marker = {,}, which I also need) leads to the same error.

I suspect this is a clash of versions between xkeyval and siunitx, but so far haven't been able to pinpoint what is different in that computer that produces the error. I even removed the LaTeX3 package to no avail.

A similar question was asked on Error: "per-mode" is undefined, but the question is now closed.

• Have you tried just using \SI[per=fraction]...? – Jake Jun 8 '13 at 3:20
• You must use \sisetup{decimalsymbol=comma} – user36578 Sep 12 '13 at 8:59

You are trying to use an option for version 2 of siunix but have version 1 installed. You should always check the manual for the version of siunitx (or any other package) you have installed to see what is valid. Here
texdoc siunitx

at the Terminal will show you that there is no per-mode option in version 1, but rather an option simply called per.
As you might expect, version 1 is more limited than version 2, and so you will have fewer abilities available. You may wish to do a 'local installation' of the latest release (v2.5q at the time of writing): that certainly will require an up-to-date LaTeX3 support package set. (Version 2 uses native LaTeX3 keyval processing, and does not load xkyeval at all.)