siunitx 명령 내부의 π 입력

siunitx 명령 내부의 π 입력

내가 하려는 것은 유니코드 입력을 사용하여 siunitx로 μ₀ 값(4π×10⁻⁷ SI)을 조판하는 것입니다.

유니코드가 없으면 다음과 같습니다.

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

그리고 그것은 효과가 있습니다. 기반siunitx 명령 내 수학 기호 및 유니코드 수학 입력input-symbolsto 의 기본값을 정의하는 siunitx 문서뿐만 아니라 {\pi \dots}다음을 시도했습니다.

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

그러나 결과는 다음과 같습니다.! Package siunitx Error: Invalid token 'π' in numerical input.

내가 무엇을 놓치고 있나요?

답변1

프리앰블에 넣을 수 없는 문제는 잘못된 catcode가 사용되었기 때문 \sisetup입니다 . \AtBeginDocumentLuaTeX는 π전문에서 카테고리 11에 속하지만 unicode-math문서에서는 카테고리 12에 속합니다. 따라서 사용하기 전에 catcode를 변경해야 합니다 \AtBeginDocument( mathrm=symUlrike 덕분에).

\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}

관련 정보