我怎样才能禁止\numrange{}{}
命令中的换行siunitx
?
下面的例子是用 chemmacros 的光谱模块完成的,但这并不重要,因为命令\val{}
使用了命令\numrange{}{}
。输入
\sisetup{range-phrase = \nolinebreak--\nolinebreak}
不起作用
\documentclass[12pt,a4paper]{scrartcl}
\usepackage[left=1.5cm,right=1.5cm,top=2cm,bottom=2cm,includeheadfoot]{geometry}
\usepackage{lmodern}
\usepackage{siunitx}
\sisetup{range-phrase = --}
\usepackage{chemmacros}
\chemsetup{
modules={spectroscopy},
greek=chemgreek,
spectroscopy/format = \bfseries,
spectroscopy/list = true,
spectroscopy/coupling-pos = sub,
}
\begin{document}
\begin{experimental}
\vspace{-\baselineskip}\data{\NMR*{1,H} (ac\_prakt.794.1)} (\SI{400}{\mega\hertz}, \SI{298}{K}, \ch{CDCl3}, $\delta$/ppm):
\val{7.74--7.83}~(m,~\#{12},~\pos{4}),
\val{7.36--7.50}~(m,~\#{24},~\pos{2,3}),
\val{7.14--7.32}~(m,~\#{24},~\pos{2,3}).
\end{experimental}
\end{document}
答案1
使用
\sisetup{range-phrase = \mbox{--}}
因此破折号不会被考虑为换行符。A\nolinebreak
是无效的,因为已经-
是一个可行的断点。