如何通过指向文件路径(递归)来包含源代码

如何通过指向文件路径(递归)来包含源代码

我正在寻找一种将源代码包含在我的论文附录中的方法。

是否有机会通过指向目录并通过包递归添加 java 文件来添加源代码?

我确实使用过mintedlistings。也许我错过了这些包的某个功能。但由于 Java 源代码可能会更改,我想避免复制粘贴,这会增加错过某些内容的可能性。最好是它自动完成。

答案1

为了扩展我的评论,你总是可以做这样的事情:

\documentclass{article}
\usepackage{pgffor}
\usepackage{listings}
\begin{document}

\foreach \java in  {hello, hello} {
   \begin{figure}[htpb]
        \lstinputlisting[language=java]{\java.java}
        \caption{Source code for \textsf{\java.java}}
     \label{fig:\java}
   \end{figure}
}

\end{document}

输出:

在此处输入图片描述

这不会递归搜索文件,但它会在源文件更改时更新,并且仅要求您将文件名添加到循环中,从而最大限度地减少您需要输入的内容。

MWE 更适合概念验证,因为您可能想要调整代码的格式和布局。就我个人而言,我从来不会使用图形或浮动,因为我喜欢文本/环境出现在我输入它们的地方:)。我刚刚检查了一下,正如我所怀疑的那样,figure当源文件太长而无法放在一页上时,使用会导致问题。

答案2

使用 minted 包含单个文件很容易。如软件包文档中所述。

\inputminted[autogobble]{C++}{myfile.cpp}

使用安德鲁的回答包含多个源文件。

相关内容