我想在siunitx
宏中使用 unicode“π”符号。和许多其他人一样,我遇到了几个问题,并使用 TeX StackExchange 逐一了解并解决这些问题。
但是,仍然存在一个问题:如果我使用组分隔符siunitx
就会产生混淆,因为“π”被认为是类似于常规数字的符号,数字无法正确分隔。
以下 MWE 有助于形象化地描述这种情况:
代码
\documentclass[11pt,landscape]{standalone}
\usepackage{siunitx}
\usepackage{fontspec}
\usepackage[mathrm=sym]{unicode-math}
\setmainfont{Libertinus Serif}
\setmathfont{Libertinus Math}
\sisetup{
group-separator = {.},
input-symbols=π,
}
\begin{document}
\SI{2000π}{\radian\per\second}
\end{document}
编译后将得到以下输出(就lualatex
我的情况而言):
输出
因此,数字部分显示为“20.000”,这显然是错误的。
一个明显的解决方法是输入\num{2000}π \si{\radian\per\second}
,但我想知道是否有更好的解决方案。
答案1
您不想在第一个参数中解析数字。
\documentclass[11pt,border=4]{standalone}
\usepackage{siunitx}
\usepackage{fontspec}
\usepackage[mathrm=sym]{unicode-math}
\setmainfont{Libertinus Serif}
\setmathfont{Libertinus Math}
\sisetup{
group-separator = {.},
}
\begin{document}
\SI[parse-numbers=false]{2000π}{\radian\per\second}
\end{document}