我将接受大量的讲义,然后将它们编入LaTeX,这样我就可以获得优秀的文档,以便将来让我查看。我正在尝试组织一些事情,这样我就可以得到一些包含讲座笔记的小文档,然后在学期结束时将它们编译成一个包含所有文档的大文档。我过去成功使用了import / include等,但是在编译主文档之前我必须删除子文档的头部和脚部的内容。例如,我必须删除:
\begin{document}
和
\end{document}
在编译主文档之前,从每个子文档中。这对于包含5个左右的部分的报告来说很好,但对于100多个部分的东西来说,这很麻烦。使用import命令时以编程方式忽略LaTeX文件内容的任何建议?
答案 0 :(得分:5)
我在这里看到两种方法。要么仔细构建你的文档,要么使用一些hacky TeX魔法:
将较小的文档分成标题部分,页脚部分和内容部分。
header.tex:
\documentclass{article}
...
\begin{document}
footer.tex:
\end{document}
FOO-content.tex:
In this paper, we discuss an new approach to metasyntactic variables...
foo.tex(小纸版):
\include{header}
\include{foo-content}
\include{footer}
在收集的文章文档的.tex中:
\include{foo-content}
将它放在一些常用的包含文件中,由您的个人文件使用:
\ifx\ismaindoc\undefined
\newcommand{\inbpdocument}{\begin{document}}
\newcommand{\outbpdocument}{\end{document}}
\else
\newcommand{\inbpdocument}{}
\newcommand{\outbpdocument}{}
\fi
在您的个人文件中使用\inbpdocument
和\outbpdocument
代替\begin{document}
和\end{document}
。在您的主文件中,在包含或导入任何内容之前输入\def \ismaindoc {}
。
答案 1 :(得分:2)
这是另一种可能的方法:如果你在单个文件中放入魔术字符串(即“%% BEGIN LECTURE %%”...“%% END LECTURE %%”),你可能会弄清楚个人的胆量文件,使用make / sh组装它们,然后\包含它们。
答案 2 :(得分:1)
你可以使用另一个hack,它不需要修改单个文件......只是暂时重新定义{document}环境(对于良性的东西,即无操作),\包括单个文件,然后恢复{document}环境定义。
如果我没记错的话,执行此操作的命令是\ let和\ renewenvironment。
嗯。您可能还必须暂时重新定义\ documentclass和\ usepackage。这是一个黑客,是的,但我认为它应该有用。
答案 3 :(得分:0)
我没有使用它,但看起来“子文件”包完全符合您的要求: http://en.wikibooks.org/wiki/LaTeX/Modular_Documents#Subfiles_package