π entrada dentro de los comandos de siunitx

π entrada dentro de los comandos de siunitx

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-symbolsto {\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 \sisetupen \AtBeginDocumentsu preámbulo es que se utiliza el código catcode incorrecto. En LuaTeX πes de categoría 11 en el preámbulo, pero unicode-mathserá de categoría 12 en el documento. Entonces debes cambiar el código cat antes de usarlo \AtBeginDocument( mathrm=symgracias 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}

información relacionada