Referências não funcionam para \lstinputlisting

Referências não funcionam para \lstinputlisting

Posso estar fazendo algo errado, mas não consigo perceber o que...

Quero definir um rótulo para um trecho de código representado por:

\lstinputlisting[language=Python, label={lst:control_os_call}, firstline=231, lastline=257]{./code/server.py}

então, eu apenas tento vinculá-lo usando \ref

\ref{lst:control_os_call}

mas estou recebendo um erro de falta de rótulo o tempo todo (apenas para rótulos ativados \lstinputlisting). Então... Devo importar algum pacote específico para referenciar esse tipo de rótulo ou o que estou fazendo de errado?

Muito obrigado :)

Responder1

Você precisa adicionar um captionisso é tudo

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{server.py}
This is some python code
\end{filecontents*}

\usepackage{listings}
\lstset{basicstyle=\ttfamily}

\begin{document}
\lstinputlisting[language=Python,caption={some python code}, label={lst:control_os_call}, firstline=1, lastline=257]{server.py}

Here is the code~\ref{lst:control_os_call}
\end{document}

insira a descrição da imagem aqui

informação relacionada