我的文档 MWE:
\documentclass[12pt,a4paper]{mwrep}
\usepackage{minted}
\begin{document}
\inputminted[gobble=4,firstnumber=3,firstline=3,lastline=9,linenos,tabsize=4]{java}{Foo.java}
\end{document}
Foo.java的内容:
public class Foo
{
public static void main(String[] args)
{
for(int i=0; i<10; i++)
{
System.out.println(i);
}
}
}
呈现的 TeX 文档将显示和格式化方法main
。当我更改类的代码Foo
(例如,在上面添加新方法main
或扩展它)时,我需要手动更改要显示的行的范围。可以以某种方式自动完成吗?我认为注释是 Java 代码中的标记。类似于以下示例之一:
public class Foo
{
//start-main
public static void main(String[] args)
{
for(int i=0; i<10; i++)
{
System.out.println(i);
}
}
//end-main
}
或者
public class Foo
{
public static void main(String[] args) //start-main
{
for(int i=0; i<10; i++)
{
System.out.println(i);
}
} //end-main
}
是否可以将其传递给 LaTeX(或在本例中为 Pygments)?我希望在呈现较大部分代码(例如整个Foo.java
文件)时能够忽略这些标记,但这并不像主要问题那么重要。也许还有其他不带任何标记的方法?例如,告诉 Pygments从类中打印main
方法。 当然,我不想仅限于方法。我希望能够以这种方式标记代码的任何部分。Foo
答案1
以下内容摘自listings
手册第 51 和 52 页。