Оберните макрос \cite
в дополнительную группу фигурных скобок:
\documentclass{article}
\begin{filecontents*}[overwrite]{\jobname.bib}
@book{knuth,
author = {Knuth, Donald E.},
title = {The {\TeX} book},
date = 1984,
maintitle = {Computers \& Typesetting},
volume = {A},
publisher = {Addison-Wesley},
location = {Reading, Mass.},
langid = {english},
langidopts = {variant=american},
sortyear = {1984-1},
sorttitle = {Computers & Typesetting A},
indexsorttitle= {The TeXbook},
indextitle = {\protect\TeX book, The},
shorttitle = {\TeX book}
}
\end{filecontents*}
\usepackage{soul}
\begin{document}
\hl{{\cite{knuth}}}
\bibliographystyle{plain}
\bibliography{\jobname}
\end{document}
Для множественного цитирования можно заключить их в \mbox{...}
(это потеряет возможность иметь разрывы строк ) или используйте вместо него люалатекс:
% !TeX TS-program = lualatex
\documentclass{article}
\usepackage{lua-ul,luacolor}
\begin{filecontents*}[overwrite]{\jobname.bib}
@book{c1,
...
}
@book{c2,
...
}
@book{c3,
...
}
\end{filecontents*}
\begin{document}
\underLine{\cite{c1, c2, c3}}
\highLight{\cite{c1, c2, c3}}
\bibliographystyle{plain}
\bibliography{\jobname}
\end{document}