列表引用行号

列表引用行号

如何在 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}

在此处输入图片描述

相关内容