查看代码:
\documentclass{scrartcl}
\usepackage[per-mode = fraction]{siunitx}
\begin{document}
Text. \numrange{1}{3} experiments.\\[\baselineskip]
Text. \SIrange{1}{5}{\kg} text.\\[\baselineskip]
Text. $k = \numrange{1}{3}$ experiments text.\\[\baselineskip]
Text. $v = \SIrange{1}{5}{\cubic\m\per\kg}$ text.\\[\baselineskip]
\end{document}
结果如下:
在文本模式下,它可以正常工作。但在数学模式下,前后没有空格到并且它具有斜体形状。为什么会这样?我做错了什么?
提前感谢您的帮助和努力!
答案1
命令\SIrange
和\numrange
的实现方式使得它们只能在文本模式下可靠地使用:这涉及在命令输出中出现换行符时处理空格。因此,它们在数学模式下的行为是未定义的。(我正在研究所有命令的新实现,siunitx
这是一个需要研究的领域。目前,我不能确定 v3 是否能够在这里提供更好的结果。)
答案2
\documentclass{scrartcl}
\usepackage[per-mode = fraction]{siunitx}
\sisetup{mode=text,range-phrase = {\text{~to~}}}
\begin{document}
Text. \numrange{1}{3} experiments.\\[\baselineskip]
Text. \SIrange{1}{5}{\kg} text.\\[\baselineskip]
Text. $k = \numrange{1}{3}$ experiments text.\\[\baselineskip]
Text. $v = \SIrange{1}{5}{\cubic\m\per\kg}$ text.\\[\baselineskip]
\end{document}