Figures with citations show wrong numbers in list of figures

  • Topic: LaTeX 
  • Thread starter Thread starter marraneth
  • Start date Start date
  • Tags Tags
    Latex List
Join the discussion
Registration is free. Start your own thread to ask a follow-up.
8 replies · 10K views
marraneth
Messages
3
Reaction score
0
I'm creating a large document in LaTeX, with several figures. Some of these figures have citations within the captions, which is causing problems since I am creating a list of figures, with captions, at the start of the document. A figure that appears midway through has a reference that should be number 30 based on its appearance in the main text, but because the list of figures is compiled first, it is labelled number 1. How do I get around this?
 
Physics news on Phys.org
If you only have several figures, manually input the citation numbers into the captions.

eg. don't use \cite but type out ''[3]''
 
Thanks for the help, I had hoped there was some way to do it automatically, rather than just typing it out. I'm sure LaTeX must be capable of doing it somehow, I had thought maybe something using \protect. Oh well, I'll just have to admit defeat I guess.
 
Latex should not have a problem with citation in a caption (footnotes is a whole other matter). Can you recreate the problem in a minimal example and post it?
For eksample the following seems to work

Code:
\documentclass[article]{memoir}
\begin{document}
\listoffigures*\newpage
\begin{figure}\caption{ddfg 1\cite{citation-here}}\end{figure}
\begin{figure}\caption{ddfg 2}\end{figure}
\begin{figure}\caption{ddfg 3}\end{figure}
\begin{figure}\caption{ddfg 4}\end{figure}
\begin{figure}\caption{ddfg 5\cite{citation-here}}\end{figure}
\begin{figure}\caption{ddfg 6}\end{figure}
\bibliography{bib-file-here}
\bibliographystyle{plain} 
\end{document}

otherwise news:comp.text.tex might be able to help (but they will most likely ask for a minimal example as well).
 
There would be no problem ordinarily, but the references appear in the text also, and not in the same order as the figures appear. So perhaps an example would be something like:

Code:
\documentclass[article]{memoir}
\begin{document}
\listoffigures*\newpage
Blah blah blah \cite{citation-two}.
\begin{figure}\caption{ddfg 1\cite{citation-one}}\end{figure}
\begin{figure}\caption{ddfg 2}\end{figure}
\begin{figure}\caption{ddfg 3}\end{figure}
\begin{figure}\caption{ddfg 4}\end{figure}
\begin{figure}\caption{ddfg 5\cite{citation-two}}\end{figure}
\begin{figure}\caption{ddfg 6}\end{figure}
Blah blah blah \cite{citation-one}.
\bibliography{bib-file-here}
\bibliographystyle{plain} 
\end{document}

I want the order of the references to be as they are in the text.
 
\bibliographystyle{unsrt}
and
\usepackage{notoccite} should do the trick. Se the documentation in notoccite.sty for how it works,
http://www.tug.org/tex-archive/macros/latex/contrib/misc/notoccite.sty
 
Last edited by a moderator:
Follow up on nottocite.sty

As pointed out in nottocite.sty, all you really need to do is provide a short version of the caption (to be used in the list of figures) that does not include the citation:

\caption[short version in square brackets without citation, to appear in list of figures]{long version in curly braces with \cite{entrylabelx}, to appear in body with actual figure}

Therefore, the number assigned to \cite{entrylabelx} corresponds to the citation counter value when the long version of the caption is processed in the body of the document. There is no need to use nottocite.sty if you are ok with providing captions this way.