[Tex/LaTex] How to use the ‘qualifiers’ in siunitx

siunitx

This question is extention of Including 'of' in unit qualifiers with siunitx

I need

10 kg of water/m^3 of air

How to get this…following code does not give this…

\documentclass{article}
\usepackage{siunitx}
\DeclareSIQualifier{\air}{of air}
\DeclareSIQualifier{\water}{of water}
\sisetup{per-mode = symbol,qualifier-mode = space}
\begin{document}
\SI{10}{\kg\water\per\kg\air}
%
10~kg of water/m$^3$ of air\\
\SI{10}{\kg\water\per\m\cubed\air}\\
\end{document}

Best Answer

'Quantifiers' are essentially tied to a particular unit, for expressing the idea that a unit is related to one part of a system. This is not the way these things are 'officially' supposed to be dealt with, but are common enough to be useful. On the other hand, there is a limit to the amount that can be covered by an automated system. In particular, raising a 'qualified' unit to a power is normally taken as applying the power to the entire thing, for example

\documentclass{article}
\usepackage{siunitx}
\DeclareSIQualifier{\cat}{cat}
\begin{document}
\SI{10}{\mmol\per\kg\cat}
is the same as
$10$\,mmol\,kg$_{\textrm{cat}^{-1}}
\end{document}

Dealing with a case where you want to 'qualify' a unit raised to a power is probably beyond the boundaries of what can be squeezed into the standard interface. I would therefore set up a special 'unit' for this

\documentclass{article}
\usepackage{siunitx}
\DeclareSIUnit{\mcubedair}{m^{3}\text{ of air}}
\sisetup{per-mode = symbol}
\begin{document}
\SI{10}{\kg\per\mcubedair}
\end{document}
Related Question