Como definir argumento opcional para legenda em um ambiente lstlisting

Como definir argumento opcional para legenda em um ambiente lstlisting

Normalmente, se eu definir uma legenda, costumo \caption[short]{long}ter apenas uma breve descrição na minha lista de figuras, por exemplo. Mas como faço isso com listings?

Aqui está um MWE que tem uma legenda muito longa na lista de listagens:

\documentclass{article}
    \usepackage{listings}

\begin{document}

    \lstlistoflistings

    \clearpage
    \section{A section}
    \begin{lstlisting}[frame=ltrb,caption={This is a very long caption. This is a very long caption. This is a very long caption. This is a very long caption. This is a very long caption. This is a very long caption. This is a very long caption. This is a very long caption. This is a very long caption. This is a very long caption. This is a very long caption.}]
    1=1
    \end{lstlisting}
\end{document}

Responder1

Legendas curtas para lstlistingambientes podem ser fornecidas quase da mesma maneira, \caption={[short caption]long caption}consulte a seção 4.9 do listingsmanual.

Observe o {}par a ser protegido para o []argumento, que é frágil.

Talvez seja melhor usar {...}também para legendas longas.

\documentclass{article}
    \usepackage{listings}

\begin{document}
\lstlistoflistings

\clearpage
\section{A section}
\begin{lstlisting}[frame=ltrb,caption={[short caption]{This is a very long caption. This is a very long caption. This is a very long caption. This is a very long caption. This is a very long caption. This is a very long caption. This is a very long caption. This is a very long caption. This is a very long caption. This is a very long caption. This is a very long caption.}}]
1=1
\end{lstlisting}
\end{document}

insira a descrição da imagem aqui

insira a descrição da imagem aqui

informação relacionada