2

What is the proper way to typeset an entity of number plus unit if the unit contains characters such as '.' or '-' ?

Of course I could just type like 16\,Std. or 5\,Mol-\% but for consistency I put all entities of number+unit in \SI{}{}. For dots I found that putting it in brackets works \SI{16}{{Std.}}. But for hyphens it doesn't.

\documentclass[12pt,a4paper]{scrartcl}
\usepackage[british,ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{siunitx}
\begin{document}
Fünf Gramm Uranhexafluorid (\SI{1.0}{eq.}) und \SI{100}{mg} Katalysator (\SI{5}{Mol-\%} wurden hinzugefügt. Das Gemisch wurde dann für \SI{16}{Std.} gerührt.
\end{document}
  • 2
    I don't recommend this but I think you should use \DeclareSIUnit{\molproz}{Mol-\percent} and \SI{5}{\molproz} etc. Similar for Std. and eq. By the way, why are you using \SI{100}{mg} instead of \SI{100}{\milli\gram}? – user31729 May 6 '17 at 13:11
  • Or \num{16} Std. if there should be unusual abbreviations of units... – user31729 May 6 '17 at 13:15
4

With the standard settings, the font used to print units is the math mode one; this means that - will be interpreted as a minus. As detailed in the documentation, one may use \text to ensure text mode is always used

\documentclass{article}
\usepackage{siunitx}
\begin{document}

\SI{10}{Mol\text{-}\%}

\end{document}
| improve this answer | |

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.