如何在 lstlisting 环境(通过 listinputlisting 命令导入和格式化的外部文件)内放置“标签”标记,以便我可以交叉引用特定的行号?
换句话说,我希望能够在我的文档中使用以下类型的文本内容。
“通过引用行电话号码,在列出 ABC 时,使用 DEF 对象已导致 GHI 目标得到满足”等等...
其中电话号码将在文件中标记为\label{line:marker}
,然后在文档中使用\ref{line:marker}
。
它可能需要使用封装标志,以便<\label{line:marker}>
与周围的实际代码区分开来,这对我来说没问题。
干杯。
答案1
您可以escapechar=<char>
使用命令。
\documentclass{scrartcl}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[
language=Java,escapechar=|] %language and your escape char
public class Main {
public static void main(String [] args) {
System.out.println("Hello world !");|\label{line:sp}| %% <--- label here
}
}
\end{lstlisting}
By referring to line~\ref{line:sp}, in listing ABC, the use of DEF object has resulted in GHI objectives being met" etc...
\end{document}