ULon 和 siunitx 之间的冲突

ULon 和 siunitx 之间的冲突

我正在尝试创建一个自动编号的注释,并将注释突出显示。它确实产生了预期的结果,但它崩溃了,我不明白哪里出了问题。以下是最低限度的工作示例。

\documentclass[review,5p,sort&compress]{elsarticle}
\usepackage[english]{babel}
\usepackage{siunitx}
\usepackage[rgb]{xcolor}
\usepackage[normalem]{ulem}
\newcounter{HLcounter}
\show\ULon
\newcommand{\hl}[1]{\stepcounter{HLcounter}%
    \bgroup\markoverwith{\textcolor{yellow}{\rule[-.5ex]{2pt}{2.5ex}}}%
    \ULon{\,R\arabic{HLcounter}: {#1}\,}}
\begin{document}
efe \hl{testing} test \hl{\SI{60}{\minute}} bla bla
\end{document}

谢谢,

鲁弗斯

答案1

使用的分解输入方法ulem与跳转的环相冲突siunitx。最好的解决方法是添加一个\mbox,要么添加到\hl

\documentclass[review,5p,sort&compress]{elsarticle}
\usepackage[english]{babel}
\usepackage{siunitx}
\usepackage[rgb]{xcolor}
\usepackage[normalem]{ulem}
\newcounter{HLcounter}
\show\ULon
\newcommand{\hl}[1]{\stepcounter{HLcounter}%
    \bgroup\markoverwith{\textcolor{yellow}{\rule[-.5ex]{2pt}{2.5ex}}}%
    \ULon{\,R\arabic{HLcounter}: {\mbox{#1}}\,}}
\begin{document}
efe \hl{testing} test \hl{\SI{60}{\minute}} bla bla
\end{document}

或者在每次使用\SI内部时\hl如果您想手动执行此操作。

相关内容