Математические символы и ввод unicode-math внутри команд siunitx

Математические символы и ввод unicode-math внутри команд siunitx

Я пытаюсь вводить символы Unicode непосредственно внутри команд siunitx, например \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-numbersзначение false, чтобы разрешить произвольный код в числовых полях:

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

Связанный контент