4

I have several SI units in my document which I would like to typeset using the siunitx package. According to the documentation the default mode for the \per command is 'reciprocal' meaning \si{m\per s} should produce output akin to ms$^{-1}$ but on my system it is producing m/s.

I have tried setting \sisetup{per=reciprocal} and \sisetup{per-mode=reciprocal} but it seems to ignore this and continues to use '/'.

Specifying the mode for individual units works but I don't want to have to type [per-mode=reciprocal] every time I want to typeset a unit.

Am I missing something or is there a way to fix this (preferably without \newcommand)?

3
  • Could you add a minimal example?
    – egreg
    Jan 17 '14 at 13:52
  • You only get reciprocals in 'interpreted' mode: did you try \si{\m\per\s} or similar?
    – Joseph Wright
    Jan 17 '14 at 13:53
  • @JosephWright It seems this is the issue. It wasn't clear to me despite referring to the documentation.
    – Dan
    Jan 17 '14 at 13:56
6

The 'unit parser' in siunitx only operates on 'symbolic' units such as

\si{\m\per\s}
\si{\metre\per\second}

where the behaviour of \per is selectable. For the 'literal' input

\si{m\per s}

parsing is not possible ('literal' input could be anything), and instead \per switches to simply inserting a /. Thus while the 'interpreted' mode requires slightly more typing, as it is more 'programmable' it's the recommended approach.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.