Las referencias no funcionan para \lstinputlisting

Las referencias no funcionan para \lstinputlisting

Puede que esté haciendo algo mal pero no me doy cuenta de qué...

Quiero establecer una etiqueta para un fragmento de código representado por:

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

Entonces, intento vincularlo usando \ref

\ref{lst:control_os_call}

pero recibo un error de falta de etiqueta todo el tiempo (solo para las etiquetas en \lstinputlisting). Entonces... ¿Debo importar algún paquete específico para hacer referencia a ese tipo de etiquetas o qué estoy haciendo mal?

Muchas gracias :)

Respuesta1

Necesitas agregar un captioneso es todo

\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}

ingrese la descripción de la imagen aquí

información relacionada