josephwright / siunitx

A comprehensive (SI) units package for LaTeX
LaTeX Project Public License v1.3c
350 stars 25 forks source link

`qualifier-mode` ignored, always `bracket` #724

Closed gustaphe closed 3 months ago

gustaphe commented 3 months ago
\documentclass{article}
\usepackage{siunitx}
%\usepackage[qualifier-mode=subscript]{siunitx}
\DeclareSIQualifier\RMS{RMS}

%\sisetup{qualifier-mode=phrase, qualifier-phrase={ of }}
%\sisetup{qualifier-mode=subscript}

\begin{document}
\unit[qualifier-mode=subscript]{nm\RMS},
\unit{nm\RMS}
\unit{nm\of{RMS}}

\end{document}

All of these things, including toogling the commented out lines, results in the same: $\mathrm{nm}(\mathrm{RMS})$. I would expect $\mathrm{nm}_\mathrm{RMS}$ or $\mathrm{nm}\,\mathrm{of}\,\mathrm{RMS}$.

My siunitx.tex has \ProvidesExplPackage {siunitx} {2024-02-15} {3.3.12}

josephwright commented 3 months ago

qualifier-mode applies only when units are parsed. As you have a literal nm, everything is typeset without parsing. You want something like

\documentclass{article}
\usepackage{siunitx}
%\usepackage[qualifier-mode=subscript]{siunitx}
\DeclareSIQualifier\RMS{RMS}

\sisetup{qualifier-mode=phrase, qualifier-phrase={~\mathrm{of}~}}
%\sisetup{qualifier-mode=subscript}

\begin{document}
\unit[qualifier-mode=subscript]{\nm\RMS},
\unit{\nm\RMS}
\unit{\nm\of{RMS}}

\end{document}
gustaphe commented 3 months ago

Ah, of course.