[Tex/LaTex] cite in caption of listings


I am trying to cite a paper in the caption of listings. I have the following code:


But this is giving me error! It says ! Illegal parameter number in definition of \reserved@a. Can anyone help me with this?

Best Answer

It seems a typical "fragile command in a moving argument problem". However the following document doesn't show any problem:

\begin{lstlisting}[caption=Example of something (Adapted from \cite{abc})]
\bibitem{abc} x

So I suspect that you're using some package that kill the robustness of \cite in some way.

A way to solve the issue is writing


in the caption, but probably it can be better addressed with a minimal example available.

As correctly remarks Gonzalo Medina in his comment, there's also the possibility of writing

  caption={[Example of something]Example of something (Adapted from \cite{abc})}

so that only "Example of something" will be sent to the list of listings (which is very important if the adopted bibliography style is "unsorted").