π entrée dans les commandes siunitx
Ce que j'essaie de faire est de composer la valeur μ₀ (4π × 10⁻⁷ SI) avec siunitx en utilisant une entrée unicode.
Sans unicode, cela ressemblerait à ceci:
\documentclass{standalone}
\usepackage{siunitx}
\begin{document}
\SI{4 \pi e-7}{SI}
\end{document}
Et cela fonctionne. Sur la base des symboles mathématiques et de l'entrée unicode-math dans les commandes siunitx ainsi que de la documentation siunitx définissant la valeur par défaut de input-symbolsto {\pi \dots}, j'ai essayé ce qui suit:
\documentclass{standalone}
\usepackage[input-symbols = {π}]{siunitx}
\usepackage{unicode-math}
\begin{document}
\SI{4πe-7}{SI}
\end{document}
Mais cela se traduit par: ! Package siunitx Error: Invalid token 'π' in numerical input.
Qu'est-ce que je rate?
Réponses
La question pourquoi vous ne pouvez pas mettre \sisetupdans \AtBeginDocumentvotre préambule, que le mauvais catcode est utilisé. Dans LuaTeX πest de catégorie 11 dans le préambule, mais avec unicode-mathce sera de catégorie 12 dans le document. Vous devez donc changer le catcode avant d'utiliser \AtBeginDocument(avec mathrm=symmerci à 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}