Ссылки не работают для \lstinputlisting

Ссылки не работают для \lstinputlisting

Возможно, я делаю что-то не так, но не могу понять что...

Я хочу установить метку для фрагмента кода, представленного следующим образом:

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

поэтому я просто пытаюсь сделать ссылку, используя \ref

\ref{lst:control_os_call}

но я все время получаю ошибку отсутствия метки (только для меток на \lstinputlisting). Так что... Должен ли я импортировать какой-либо конкретный пакет для ссылки на такие метки или что я делаю не так?

Большое спасибо :)

решение1

Вам нужно добавить captionвот и все

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

введите описание изображения здесь

Связанный контент