
Eu tenho uma página de lista de figuras. Algumas das legendas dessas figuras possuem citação. Como posso remover a citação da página de lista de figuras e manter a citação nas páginas normais? Cumprimentos
:::::::::::::::::::::::: Adendo Estou usando o seguinte comando:
\newcommand{\munepsfig}[3][scale=1.0]{%
\begin{figure}[!htbp]
\centering
\vspace{2mm}
\includegraphics[#1]{figures/#2.eps}
\caption{#3}
\label{fig:#2}
\end{figure}
}
Uso de amostra:
\munepsfig[scale=0.5,angle=90]{barchart}{Population over time}
Responder1
Use o argumento opcional para \caption
:
\caption[Text to the LoF]{Text for the document \cite{xx}}
Com a edição da pergunta original, sugiro esta definição de \munepsfig
(usando o xparse
pacote):
\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}%
}
E use assim:
\munepsfig[scale=0.5,angle=90]{image}[Text for the LoF]{Text for the document}
se você quiser ter um texto diferente no LoF, ou simplesmente como
\munepsfig[scale=0.5,angle=90]{image}{Text for the document and the LoF}
ter o mesmo texto no documento e no LoF.
Observe que o novo terceiro argumento é opcional, portanto você só precisará usá-lo se quiser usar o argumento opcional de \caption
.
Responder2
Se você usar apenas \cite
na legenda e não em outros comandos de citações e nenhum argumento opcional, uma alternativa é usar etoolbox
para adicionar um gancho pré e pós \listoffigures
e para redefinir\cite
\usepackage{etoolbox}
\makeatletter
\let\oldcite\cite
\pretocmd{\listoffigures}{\def\cite{\ignorespaces\@gobble}}{}{}
\apptocmd{\listoffigures}{\let\cite\oldcite}{}{}
\makeatother
Responder3
Se você quiser fazer isso por causa da sua classificação bibliographystyle
(por aparência), sugiro usar o pacotenotoccite
.
Deixa a citação no toc, mas sua numeração segue onde aparece no corpo.
Responder4
Você precisa alterar a configuração do seu comando personalizado para obter um argumento adicional, ou seja, o material a ser gravado na Lista de Figuras. No código abaixo, o conteúdo de #4
é o que aparecerá na Lista de Figuras; deve ser bastante semelhante, #3
exceto pelo comando de citação.
\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}
}
Você usaria este comando modificado da seguinte maneira:
\munepsfig[scale=0.5,angle=90]{barchart}{Population over time
\cite{some-source}}{Population over time}
Uma desvantagem desta abordagem é a seguinte: se o material a ser mostrado na Lista de Figuras for idêntico ao que será mostrado na legenda, você ainda precisará fornecer o quarto argumento. Caso contrário, o LaTeX continuará olhando no fluxo de entrada para o próximo token - que pode ser literalmente qualquer coisa - e tratará isso como o quarto argumento do comando. Espere mensagens de erro estranhas e travamentos estranhos se você fizer isso...