π-Eingabe in siunitx-Befehlen

Aug 30 2020

Ich versuche, den μ₀-Wert (4π × 10⁻⁷ SI) mit siunitx unter Verwendung der Unicode-Eingabe zu setzen.

Ohne Unicode würde es so aussehen:

\documentclass{standalone}
\usepackage{siunitx}
\begin{document}
    \SI{4 \pi e-7}{SI}
\end{document}

Und das funktioniert. Basierend auf Maths-Symbolen und Unicode-Math-Eingaben in siunitx-Befehlen sowie der siunitx-Dokumentation, die den Standardwert von input-symbolsto definiert {\pi \dots}, habe ich Folgendes versucht:

\documentclass{standalone}
\usepackage[input-symbols = {π}]{siunitx}
\usepackage{unicode-math}
\begin{document}
    \SI{4πe-7}{SI}
\end{document}

Dies führt jedoch zu: ! Package siunitx Error: Invalid token 'π' in numerical input.

Was vermisse ich?

Antworten

1 Skillmon Aug 31 2020 at 21:44

Die Frage , warum man nicht setzen kann \sisetupin \AtBeginDocumentIhrer Präambel ist, dass die falsche catcode verwendet wird. In LuaTeX πist in der Präambel Kategorie 11, in unicode-mathDokument jedoch Kategorie 12. Sie müssen also den Catcode ändern, bevor Sie ihn verwenden \AtBeginDocument( mathrm=symdanke an Ulrike):

\documentclass{standalone}
\usepackage{siunitx}
\usepackage[mathrm=sym]{unicode-math}
\begingroup
\catcode`\π=12
\AtBeginDocument{\sisetup{input-symbols=π}}
\endgroup
\begin{document}
    \SI{4πe-7}{SI}
\end{document}