siunitx 命令中的数学符号和 unicode-math 输入

siunitx 命令中的数学符号和 unicode-math 输入

我想做的是在 siunitx 命令中直接输入 Unicode 字符,例如\SIrange{≳9}{≈40}{\kilogram}。但它不起作用,我收到类似 的错误! Package siunitx Error: Invalid token '≳' in numerical input.

进一步查看,输入这些符号的标准命令并不适用于所有符号:\SIrange{\gtrsim9}{\approx40}{\kilogram};\gtrsim中断但\approx被接受。

一些 MNWE:

\documentclass{standalone}

\usepackage{siunitx}
\usepackage{unicode-math}

\begin{document}
    \SIrange{≳9}{≈40}{\kilogram}\\
    \SIrange{\gtrsim9}{\approx40}{\kilogram}
\end{document}

我尝试做的事情有意义吗?有办法吗?

答案1

您可以将其他比较器添加到默认列表中:

\documentclass{article}

\usepackage{siunitx}
\usepackage{unicode-math}

\sisetup{
  input-comparators = {
    < = > \approx \ge \geq \gg \le \leq \ll \sim % default
    \gtrsim ≳ ≈
  },
}

\begin{document}

\SIrange{≳9}{≈40}{\kilogram}

\SIrange{\gtrsim9}{\approx40}{\kilogram}

\end{document}

在此处输入图片描述

答案2

您可以设置parse-numbersfalse允许数字字段中的任意代码:

\documentclass{standalone}

\usepackage{siunitx}
\usepackage{unicode-math}

\begin{document}
  \SIrange[parse-numbers = false]{≳9}{≈40}{\kilogram}\\
  \SIrange[parse-numbers = false]{\gtrsim9}{\approx40}{\kilogram}
\end{document}

或者,您可以在中明确声明符号\sisetup

\documentclass{standalone}

\usepackage{siunitx}
\sisetup{
  input-symbols=≈≳\gtrsim\approx
}
\usepackage{unicode-math}

\begin{document}
  \SIrange{≳9}{≈40}{\kilogram}\\
  \SIrange{\gtrsim9}{\approx40}{\kilogram}
\end{document}

相关内容