Ich versuche, den μ₀-Wert (4π×10⁻⁷ SI) mit siunitx unter Verwendung einer 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 aufMathematische Symbole und Unicode-Mathe-Eingabe in siunitx-Befehlensowie der siunitx-Dokumentation, in der der Standardwert von definiert wird input-symbols
, {\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?
Antwort1
\sisetup
Das Problem, warum Sie es nicht in Ihre Präambel einfügen können \AtBeginDocument
, ist, dass der falsche Catcode verwendet wird. In LuaTeX π
ist es in der Präambel Kategorie 11, aber mit unicode-math
ihm ist es im Dokument Kategorie 12. Sie müssen also den Catcode ändern, bevor Sie ihn verwenden \AtBeginDocument
(mit mathrm=sym
Dank 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}