![Необязательный заголовок в листингах (для списков листингов)](https://rvso.com/image/286340/%D0%9D%D0%B5%D0%BE%D0%B1%D1%8F%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D0%B7%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BE%D0%BA%20%D0%B2%20%D0%BB%D0%B8%D1%81%D1%82%D0%B8%D0%BD%D0%B3%D0%B0%D1%85%20(%D0%B4%D0%BB%D1%8F%20%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%BE%D0%B2%20%D0%BB%D0%B8%D1%81%D1%82%D0%B8%D0%BD%D0%B3%D0%BE%D0%B2).png)
У меня есть несколько цитат в подписях. Но я не хочу, чтобы они отображались в таблице рисунков или листингов. С рисунками мне удалось отобразить другую подпись, например, такую:
\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}
Но с lstlisting у меня возникли некоторые проблемы, потому что заголовок является опцией списков, а у него, похоже, нет необязательной метки заголовка.
\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}
Есть идеи, как это решить? Спасибо заранее!
решение1
Это описано в разделе 4.9.listings
документация; вы можете использовать
caption={[short caption]long caption}
Ниже приведен полный пример MWE для демонстрации:
% 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}