Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I have list of figures page. Some of these figures' captions have citation. How can I remove the citation from the list of figures page and keep the citation on the normal pages ? Regards

::::::::::::::::::::::::: Addendum I am using the following command :

\newcommand{\munepsfig}[3][scale=1.0]{%
    \begin{figure}[!htbp]
        \centering
        \vspace{2mm}
        \includegraphics[#1]{figures/#2.eps}
        \caption{#3}
        \label{fig:#2}
    \end{figure}
}

Sample Usage:

\munepsfig[scale=0.5,angle=90]{barchart}{Population over time}
share|improve this question
add comment

3 Answers

Use the optional argument for \caption:

\caption[Text to the LoF]{Text for the document \cite{xx}}

With the edit to the original question, I would suggest this definition of \munepsfig (using the xparse package):

\usepackage{xparse}

\NewDocumentCommand\munepsfig{O{scale=1.0}mom}
{% 
\begin{figure}[!htbp] 
  \centering 
  \vspace{2mm} 
  \includegraphics[#1]{figures/#2.eps}
  \IfNoValueTF {#3}
    {\caption{#4}}
    {\caption[#3]{#4}} 
  \label{fig:#2} 
\end{figure}%
}

And use it like this:

\munepsfig[scale=0.5,angle=90]{image}[Text for the LoF]{Text for the document}

if you want to have a different text in the LoF, or simply as

\munepsfig[scale=0.5,angle=90]{image}{Text for the document and the LoF}

to have the same text in both the document and the LoF.

Note that the new third argument is optional so you only have to use it if you want to use the optional argument of \caption.

share|improve this answer
    
I am using this command in a predefined style : \newcommand{\munepsfig}[3][scale=1.0]{% \begin{figure}[!htbp] \centering \vspace{2mm} \includegraphics[#1]{figures/#2.eps} \caption{#3} \label{fig:#2} \end{figure} } % Sample Usage: % \munepsfig[scale=0.5,angle=90]{barchart}{Population over time} –  M.A Aug 18 '12 at 22:57
1  
@Mohammed Please edit your question adding this information (and all other info that is relevant to the problem at hand) in a minimal, but complete document. –  Gonzalo Medina Aug 18 '12 at 23:00
    
@Mohammed I updated my answer with a new solution. –  Gonzalo Medina Aug 18 '12 at 23:26
add comment

If you use only \cite in the caption and not other citations commands and no optional arguments, an alternative is to use the etoolbox to add a pre and post hook to \listoffigures and to redefine \cite

\usepackage{etoolbox}

\makeatletter
\let\oldcite\cite
\pretocmd{\listoffigures}{\def\cite{\ignorespaces\@gobble}}{}{}
\apptocmd{\listoffigures}{\let\cite\oldcite}{}{}
\makeatother
share|improve this answer
add comment

You need to change the setup of your custom command to take one additional argument, viz., the material to be written to the List of Figures. In the code below, the content of #4 is what will show up in the List of Figures; it should be quite similar to #3 except for the citation command.

\newcommand{\munepsfig}[4][scale=1.0]{%
    \begin{figure}[!htbp]
        \centering
        \vspace{2mm}
        \includegraphics[#1]{figures/#2.eps}
        \caption[#4]{#3}
        \label{fig:#2}
    \end{figure}
}

You'd use this modified command as follows:

\munepsfig[scale=0.5,angle=90]{barchart}{Population over time 
      \cite{some-source}}{Population over time}

A downside of this approach is this: if the material to be shown in the List of Figures is identical to what's to be shown in the caption, you still need to provide the fourth argument. If you don't, LaTeX will keep looking ahead in the input stream for the next token -- which could literally be anything -- and treat that as the command's fourth argument. Expect weird error messages and odd crashes if you do this...

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.