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

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

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

  • Did you try \protect\cite{abc}?
    – egreg
    Commented Jun 18, 2012 at 22:42
  • I've added an answer, but please add a minimal example to your question, so that we can get a better insight into the issue.
    – egreg
    Commented Jun 18, 2012 at 22:53

1 Answer 1


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").


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .