![Legenda opcional em listagens (para listoflistings)](https://rvso.com/image/286340/Legenda%20opcional%20em%20listagens%20(para%20listoflistings).png)
Tenho algumas citações em minhas legendas. Mas não quero que apareçam na tabela de números ou listagens. Com figuras consegui exibir uma legenda diferente como esta:
\begin{figure}
\centering
\includegraphics[width=0.55\linewidth]{images/FIPA_Message-Transport-Reference-Model}
\caption[FIPA Message Transport Reference Model]{FIPA Message Transport Reference Model (\cite{FIPA2000}).}
\label{fig:FIPA_Message-Transport-Reference-Model}
\end{figure}
Mas com lstlisting tenho alguns problemas porque a legenda é uma opção das listagens e parece não ter um rótulo de legenda opcional.
\begin{lstlisting}[ language=Scala,
label={lst:Publisher},
caption={Publisher notify\cite{Zenger2013}}]
protected def publish(event: Evt) {
filters.keys.foreach(sub =>
if (!suspended.contains(sub) && filters.entryExists(sub, p => p(event)))
sub.notify(self, event)
)
}
\end{lstlisting}
Alguma idéia de como resolver isso? Desde já, obrigado!
Responder1
Isto é abordado na Seção 4.9 dolistings
documentação; você pode usar
caption={[short caption]long caption}
Aqui está um MWE completo para demonstrar:
% arara: pdflatex
% !arara: indent: {overwrite: yes}
\documentclass{article}
\usepackage{listings}
\begin{document}
\lstlistoflistings
\begin{lstlisting}[
label={lst:Publisher},
caption={[caption for lol]Publisher notify\cite{Zenger2013}}]
protected def publish(event: Evt) {
filters.keys.foreach(sub =>
if (!suspended.contains(sub) && filters.entryExists(sub, p => p(event)))
sub.notify(self, event)
)
}
\end{lstlisting}
\end{document}