Awhile ago I discovered the siunitx package as an answer to this question and it kind of blew my mind. For instance, if I'm using fp to compute a numerical result (in, say, a homework solution), then I can do the following:

\sisetup{exponent-product = \times,round-mode = figures,%
  round-precision = 3, scientific-notation = engineering}



To get "715 x 10^3 J", properly typeset.

This is swell, and the tabular stuff is especially powerful.

But it is not really what I want as engineering notation-- that would be "715 kJ". I know siunitx knows the metric prefixes, but I can't find anything in the documentation that will get it to use them automatically (i.e. without me saying \kilo in the \SI statement).

Am I missing a key option, or is this not something the package does? And can anyone suggest a work-around?

  • 3
    I don't think siunitx can do this, and I think it would be pretty hard to implement, because it's not as simple as replacing 10^3 with k, but the exponent of the units would have to be taken into account as well: If you have 1000 m^2, that would be 0.001 km^2. I'd be really interested in a solution for this.
    – Jake
    Commented Oct 27, 2011 at 21:19
  • good point. But the pkg already knows all the metric prefixes and their exponents so I don't think it would be too hard. The hard part would be specifying which prefix to modify. But if it defaulted to the "most forward" prefix then situations like 10^3 kJ/kg would resolve correctly to MJ/kg .. I should look at the source. Commented Oct 27, 2011 at 21:45
  • You could write a feature request to Christian Feuersänger which wrote the \pgfmathprintnumber for PGF to support something like this or to Joseph Wright, the maintainer of sinunitx. Commented Oct 27, 2011 at 22:25
  • 5
    Feature request opened: bitbucket.org/josephwright/siunitx/issue/173/…. I should be able to sort this for v2.4.
    – Joseph Wright
    Commented Oct 28, 2011 at 7:06
  • @Jake It doesn't have to be a completely automated solution. I think that the best compromise between ease of use and flexibility is to define the basic Unit you want to use, e.g. m or mm, MPa or Pa. Usually, in each problem, there is a widely accepted convention for units. If you need to typeset something differently, you can always do it manually.
    – pmav99
    Commented Oct 28, 2011 at 7:13

1 Answer 1


Version 2.4 of siunitx has now been submitted to CTAN. With this version, you can use the option exponent-to-prefix to achieve this

    exponent-to-prefix = true        ,
    round-mode         = figures     ,
    round-precision    = 3           ,
    scientific-notation = engineering



The option adds the prefix to the first unit given, and will only work if the exponent is 'convertable' (a multiple of three and in the range of SI prefixes).

  • Just noticed that it is also "offsetable" by a fixed power.. i.e. in the example above, if I used the command \SI{\Ek}{\tera\joule} then the answer comes out in PJ- fantastic. This allows me to make brilliant homework solutions, and has made my night! Commented Nov 16, 2011 at 6:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .