![Математические символы и ввод unicode-math внутри команд siunitx](https://rvso.com/image/392311/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5%20%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8B%20%D0%B8%20%D0%B2%D0%B2%D0%BE%D0%B4%20unicode-math%20%D0%B2%D0%BD%D1%83%D1%82%D1%80%D0%B8%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%20siunitx.png)
Я пытаюсь вводить символы 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}