Referenzen funktionieren nicht für \lstinputlisting

Referenzen funktionieren nicht für \lstinputlisting

Vielleicht mache ich etwas falsch, aber mir ist nicht klar, was ...

Ich möchte eine Bezeichnung für einen Codeabschnitt festlegen, der wie folgt dargestellt wird:

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

also versuche ich einfach, es mit \ref zu verknüpfen

\ref{lst:control_os_call}

aber ich erhalte ständig die Fehlermeldung „Etikett fehlt“ (nur für Etiketten auf \lstinputlisting). Also ... Soll ich ein bestimmtes Paket importieren, um auf diese Art von Etiketten zu verweisen, oder was mache ich falsch?

Vielen Dank :)

Antwort1

Sie müssen hinzufügen, captiondas ist alles

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

Bildbeschreibung hier eingeben

verwandte Informationen