Lo que estoy tratando de hacer es escribir el valor μ₀ (4π×10⁻⁷ SI) con siunitx usando entrada Unicode.
Sin Unicode se vería así:
\documentclass{standalone}
\usepackage{siunitx}
\begin{document}
\SI{4 \pi e-7}{SI}
\end{document}
Y eso funciona. Residencia enSímbolos matemáticos y entrada matemática Unicode dentro de los comandos de siunitxAdemás de la documentación de siunitx que define el valor predeterminado de input-symbols
to {\pi \dots}
, probé lo siguiente:
\documentclass{standalone}
\usepackage[input-symbols = {π}]{siunitx}
\usepackage{unicode-math}
\begin{document}
\SI{4πe-7}{SI}
\end{document}
Pero esto resulta en:! Package siunitx Error: Invalid token 'π' in numerical input.
¿Qué me estoy perdiendo?
Respuesta1
El problema por el que no puede incluirlo \sisetup
en \AtBeginDocument
su preámbulo es que se utiliza el código catcode incorrecto. En LuaTeX π
es de categoría 11 en el preámbulo, pero unicode-math
será de categoría 12 en el documento. Entonces debes cambiar el código cat antes de usarlo \AtBeginDocument
( mathrm=sym
gracias a 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}