例子.java

例子.java

我正在为我们的小项目(计算机科学)创建大量代码,并发现自己将我的评论复制/粘贴到文档中。

是否可以在代码文件中创建一个引用点以将该特定部分包含到\listinputlisting段落中?


例子.java

// #标识符1#
// 这是我们的班级 [...]
// #标识符1#
公共类Anyclass{


// #标识符2#
// 构造函数在这里...
// #标识符2#
  
  公共Anyclass(){
    }
}

答案1

选项linerange允许\lstlistinginput您指定任意的开始和结束文本(适当转义)。因此,这是一个有效的版本:

\documentclass{article}

\usepackage{listings}

\begin{document}

\lstinputlisting[linerange=//\ Begin\ Identifier1-//\ End\ Identifier1]{a.jar}

\end{document}

包含a.jar

// Begin Identifier0
// #Identifier0#
// This is our class [...] 
// #Identifier0#
public class Anyclass{

// #Identifier0#
// the constructor is here...

}
// End Identifier0

// Begin Identifier1
// #Identifier1#
// This is our class [...] 
// #Identifier1#
public class Anyclass{


// #Identifier1#
// the constructor is here...
// #Identifier2#

  public Anyclass(){
    }
}
// End Identifier1

// Begin Identifier3
// #Identifier3#
// This is our class [...] 
// #Identifier3#
public class Anyclass{


// #Identifier3#
// the constructor is here...
// #Identifier2#

  public Anyclass(){
    }
}
// End Identifier3

生产

示例输出

请注意,我添加了注释行,这些注释行显然是为此目的而独有的。还请注意空格字符的转义。

如果你不想在输出中包含开始和停止文本,你可以将选项添加到调用includerangemarker=false\lstinputlisting,或者通过以下方式全局设置此选项

\lstset{includerangemarker=false}

相关内容