解决前:

解决后:

给Latex段落高亮的时候,一般会采用下面命令
\usepackage{soul} % 用于文本荧光标记
\sethlcolor{yellow} % 设置高亮颜色为黄色
\hl{In this study} %段落中当段落中没有其他命令的时候,可以正常高亮

可当段落中出现了其他命令,比如参考文献、图、表格,则会出现各种问题,比如对下面代码
\hl{In this study, the analysis of Table \ref{tab2} and Figure \ref{fig:Fig3} demonstrates that the method proposed in \cite{bib35} exhibits significant effectiveness.}结果图如下,可以看到表格处和图序号没有正常显示,参考文献[35]及之后都没能正常显示

使用
soul宏包的\hl{...}来高亮一大段文本时,如果中间包含了\cite、\ref、\footnote等命令,往往需要一些额外处理,否则就可能导致高亮“断开”或报错。这是因为soul默认对这些命令的解析不完整,需要“注册”或手动保护它们。
\cite 等命令“注册”在开头加上
\soulregister\cite7、\soulregister\ref7这类命令即可
soul 宏包提供了 \soulregister 命令,可以让 soul 正确识别某些命令,从而在高亮时避免被截断或报错。
正确代码如下所示:
\usepackage{soul} % 用于文本荧光标记
\sethlcolor{yellow} % 设置高亮颜色为黄色
\soulregister\cite7
\soulregister\ref7
\soulregister\cite7的含义是:告诉soul,\cite这个命令包含 7 个字符(大多数情况下写 7 就够了),并允许它在高亮时正常显示。
正文和之前一样:
\hl{In this study, the analysis of Table \ref{tab2} and Figure \ref{fig:Fig3} demonstrates that the method proposed in \cite{bib35} exhibits significant effectiveness.}正确的效果如下:

如果段落中还有其他命令,比如\footnote 等,需要一并注册:
\soulregister\footnote7如果依旧不成功,或者文本特别长且包含复杂命令,或需要跨页,最好使用 \colorbox{yellow}{\begin{minipage}{...} ...\end{minipage}} 方式,避免冲突和断开。