[Tex/LaTex] Strike through text does not work with multiple cites

errorstext-decorationsulem

I'd like to strike through some text in a paper with package ulem's \sout{}. However, when the text to be struck through contains multiple cites like \cite{a,b}, the compiler gives some error messages like Undefined control sequence. I'm using the TeXLive 2014, and this problem exists for latex as well as xelatex. How to solve this without resorting to tikz? I do not like the cancel package with its sloping lines.

As an MWE,

\documentclass{article}
\usepackage{ulem}

\begin{document}

Works: \sout{Lorem ipsum dolor sit amet~\cite{a}}

Compile error: \sout{Lorem ipsum dolor sit amet~\cite{a,b}}

\begin{thebibliography}{99}
\bibitem{a} Paper a
\bibitem{b} Paper b
\end{thebibliography}

\end{document}

Best Answer

use \mbox{} enter image description here

\documentclass{article}
\usepackage{ulem}

\begin{document}

Works: \sout{Lorem ipsum dolor sit amet~\mbox{\cite{a}}}

Compile error: \sout{Lorem ipsum dolor sit amet~\mbox{\cite{a,b}}}

\begin{thebibliography}{99}
\bibitem{a} Paper a
\bibitem{b} Paper b
\end{thebibliography}

\end{document}