导入源文件的代码高亮显示

导入源文件的代码高亮显示

我有几个源代码文件想要包含在我的文档中。

我知道我可以使用verbatiminput从文件中获取行,并使用lstlisting突出显示代码,但我似乎无法同时使用它们。我想到的是这样的:

\usepackage{listings}
\usepackage{verbatim}
\begin{document}
    \lstset{language=Java}
    \begin{lstlisting}[frame=single]
        \verbatiminput{filename.java}
    \end{lstlisting}
\end{document}

但这自然是行不通的,因为\verbatiminput{filename.java}不会在内部执行lstlisting

答案1

listings提供以下命令:

  1. \lstinline-- 用于代码片段(类似\verb但可以突出显示代码)
  2. \lstlisting -- 您可以将代码置于显示模式的环境。
  3. \lstinputlisting-- 用于包含standalone文件。

以下是一个例子:

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{filename.java}
  public class HelloWorld {
   public static void main(String[] args) {
      System.out.println("Hello, World");
   }
}
\end{filecontents*}
\usepackage{listings}

\begin{document}
    \lstset{language=Java}
    This is where a code snippet: \lstinline!public static HelloWorld {! comes

    And here is the displayed code:

    \begin{lstlisting}[frame=single]
          public class HelloWorld {
   public static void main(String[] args) {
      System.out.println("Hello, World");
   }
}
    \end{lstlisting}

    And now to include an external source file:
    \lstinputlisting[frame=single]{filename.java}
\end{document}

在此处输入图片描述

对于你的情况,使用\lstinputlisting

相关内容