为了好玩,我想把源代码作为附录。是的,这有点多余,但令人费解。
我通常有如下结构的文档:
main.tex
includes: part_1.tex
includes: subsection_a.tex
includes: subsection_b.tex
.... etc
includes: part_2.tex
.... etc ....
includes: appendix.tex
我想以编程方式遍历我的文档(作为一个整体),并提取除代码清单之外的所有内容的源代码,然后将提取的源代码作为代码清单包含在附录中。有人知道从哪里开始吗?
答案1
您可以使用文档条程序来执行此操作。这仍然是一个完全技术性的解决方案!
但是,不要像以前那样拆分文档,而是使用\input
使用文档条将所有文件按正确顺序合并在一起。(当然,您仍然可以使用\input
它来找出在多个位置出现的文本。)
文档条允许您选择性地包含/排除部分代码。对于您的列表,您可以编写
A common operating system is basically coded like this:
%<*listings>
\begin{lstlisting}[language={[Sharp]C}]
try
{
do_weired_stuff();
}
catch (Exception e)
{
show_blue_screen();
}
\end{lstlisting}
%</listings>
现在,如果你告诉文档条到\generate{\file{doc.tex}{\from{doc.dtx{listings}}}
它将写入完整的代码,如上所示doc.tex
(当然假设示例在文件中doc.dtx
)。如果listings
省略,<*listings>
则和之间的所有内容</listings>
之间的所有内容。这样您就可以制作文档条将两个文档合并在一起,然后\lstinputlisting
将后者放在前者的末尾。
我做了一个简单的演示,基本上就是你帖子的结构。我似乎无法将其上传到这里,但你可以从这里。
不幸的是,我还没有找到解决 cookies 问题的办法。如果其他人有想法,请发布!