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, caption
das 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}