是否可以使用 \inputminted 在源代码中查找方法?

是否可以使用 \inputminted 在源代码中查找方法?

我的文档 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 页。

在此处输入图片描述

相关内容