Use the range-phrase
option, either for the package or the \SIrange
command. Note that you have to add the spaces before and after bis
, e.g. using \,
for 1/2 space.
\listfiles
\documentclass{beamer}
\usepackage[ngerman]{babel}
\usepackage[range-phrase={\,bis\,}]{siunitx}
\begin{document}
\begin{frame}
$\dot{V}=\SIrange{0}{650}{\litre\per\hour}$
\end{frame}
\end{document}
One possibility to keep being flexible would be to redefine \ang
with an xparse argument signature like the following {omo}
to add the optional unit in the third argument. This macro then could easily be redefined.
Unfortunately this would either include a call to \SI
and thus loosing the possibilities of anglular minutes and angular seconds of the original \ang
macro or include a call to the old \ang
macro. The latter is to my knowledge not possible without code duplication, as neither the \let
nor the \LetLtxMacro
commands can cope with macros defined by xparse (which is the case for \ang
defined in siunitx).
As a workaround it is possible to use the following definition until there is a better solution:
\NewDocumentCommand{\angsi}{omom}{%
\ang[#1]{#2}\si[#3]{#4}%
}
Then it is possible to write
\angsi{42}{\per\second}
or
\angsi{1;2;3}{\per\second}
and add spacing as \,
to the macro definition later, if that should be needed.
Update:
I contacted Joseph Wright (siunitx package author) and he proposes
<num>°\,s^{-1}
according to the NIST standard:
There is a space between the numerical value and unit symbol, even
when the value is used in an adjectival sense, except in the case
of superscript units for plane angle.
So that's the way to go, which can be achieved by
\NewDocumentCommand{\angsi}{omom}{%
\ang[#1]{#2}\,\si[#3]{#4}%
}
Best Answer
This:
Or this:
With both ways you avoid situations where
product-units=single
as a global option would give wrong results on other values and you avoid repeating this option on every single angular frequency when not using it as a global option.