我正在使用该listings
包将源代码包含在我的.tex
文档中。现在我想引用这些lstinputlisting
代码。因此,我正在使用此包
lstinputlisting[label=lst:mat.h, title=\textbf{src:} mat.h]{src/mat.h}
包含文件和
\ref{list:mat.h}
来引用它。现在我没有收到错误消息,但我只得到了(子)部分的编号,而不是此列表的编号。有什么办法可以解决这个问题吗?
答案1
如果不使用该caption
选项,则\label
应用\@currentlabel
上次修改的设置\refstepcounter
,显然在 OP 中这是某种\subsection
操作。
解决方案:caption=...
作为可选参数中的一个选项应用\lstinputlisting
——这也将打印列表编号并将列表添加到List of Listings
。
\documentclass{article}
\usepackage{listings}
\begin{document}
\lstinputlisting[label={foo},caption={A difficult example in C}, language={C}]{helloworldexample.c}
In \ref{foo} we saw that \dots
\end{document}
非常hellowordexample.c
简短,但足以进行测试:
#include<stdio.h>
int main(int argc,char **argv)
{
printf("Hello World!\n");
return(0);
}