我正在为我们的小项目(计算机科学)创建大量代码,并发现自己将我的评论复制/粘贴到文档中。
是否可以在代码文件中创建一个引用点以将该特定部分包含到\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}