合并具有不同前言的 Latex 文件

合并具有不同前言的 Latex 文件

我正在编写一个 Python 程序,该程序从网站上抓取 tex 文件中的考试问题,并将它们组合起来以创建新试卷。这些问题是从电子表格中随机挑选出来的,因此可以组合来自不同年份(因此来自不同的 latex 文件)的问题。这里是此类论文的一个例子(1987),并且这里是一篇较新的论文(2018)中的一个例子。

序言非常不同,这使得将它们简单地包含到同一个 latex 文件中非常困难。例如,我如何从旧论文中取出一个特定问题,从新论文中取出另一个问题并生成单个 pdf 文件?我曾尝试使用和subfilesstandalone,但错误不断。我也考虑过分别编译每个 latex 文件,然后使用pdfpages或类似的命令行实用程序将它们连接起来,但我想避免每页只有一个问题。我曾考虑过以编程方式从两个(或更多)文件中检索序言的“并集”,然后在单个\questionlatex 文件中简单地替换每个序言,但这是最后的手段。

答案1

我选择使用组合文档类并构建类似下面的主文档:

\documentclass{combine}

\begin{document}

\begin{papers}

\let\clearpage\relax

\import{question-file-1}

\import{question-file-2}

\end{papers}

\end{document}

事实证明,使用papers环境是必要的,确保文档不会简单地从下一页开始的行也是如此\let\clearpage\relax。编译主文档会产生一致的 pdf 文件,但会出现许多“X 已定义!”错误,幸运的是,这些错误不会中断 pdf 的编译(尤其是在将参数传递interaction=nonstopmode给之后latexmk)。

相关内容