Differences between SIunits and siunitx packages
To add to Seamus's answer, siunitx
combines the functionality of SIstyle
and SIunits
, hence having a new name. As a result, both SIstyle
and SIunits
now have 'bug-fix only' status.
siunitx
can operate in two ways. The recommended way is to require that units are used within the arguments to macros \SI
and \si
:
\SI{10}{\metre}
\si{\kilogram\metre\per\second} % Note no `\usk' here
It is possible to load the package such that 'free-standing' units are defined (\usepackage[free-standing-units]{siunitx}
), but this can lead to some macro-naming awkwardness and also makes some functions less reliable.
The package defines a number of units 'out of the box', but these are all SI units. For the next release (v2.3), I will be adding abbreviated units to the set that are defined automatically (currently these are a load-time option):
\SI{13.4}{\kg\per\V}
Binary units are available as a load-time option. (I may make these automatic for v2.3: I have not yet decided.) New units can be defined in the preamble
\DeclareSIUnit\lb{lb}
...
\SI{100}{\lb}
or you can include units without any definition
\SI{60}{mph}
\SI{100}{\SIUnitSymbolDegree F}
\si{psi}
Settings in siunitx
are controlled by the \sisetup
macro. For the spacing you load with SIunits
, the options needed are
\sisetup{number-unit-product = \:, inter-unit-product = \:}
siunitx
is written by Joseph Wright who did, for a time, maintain SIunits
. siunitx
replaces SIunits
and another package called SIstyle
. It is a complete reimplementation of the basic idea.
It can handle non-SI units with ease. The documentation has the details of how to define new units.