
Я пытаюсь вводить символы 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}