我正在使用以下代码来创建带有源代码的列表:
\begin{lstlisting}[caption={caption_text}\label{lst:a_label},language=Java]
// Code...
\end{lstlisting}
不幸的是,\ref{lst:a_label}
我的文本中的某个地方没有返回正确的数字,或者至少不是我期望的数字。标题本身显示了正确的数字。我该如何解决这个问题?
答案1
我认为lstlisting
环境更喜欢将标签作为普通参数插入:
根据您的需要调整以下代码,看看是否能获得您想要的内容:
\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[caption={Some Java code},label={lst:label},language=Java]
// Code...
\end{lstlisting}
See code~\ref{lst:label}.
\end{document}
答案2
问题在于,在lstlisting
声明中您应该使用label={example}
而不是\label{example}
。
\begin{lstlisting}[language={[Sharp]C}, caption={example is here}, label={example}]
如果您从外部调用脚本,则{lst:test}
向工作的参数添加标签(例如),而不是使用and块,如下所示:lstlisting
{test.py}
\begin{lstlisting}
\end{lstlisting}
\lstinputlisting[language=Python, caption=Example, label={lst:test}]{test.py}