A ‘report’ from lots of ‘article’s

This is a requirement, for example, if one is preparing the proceedings of a conference whose papers were submitted in LaTeX.

The nearest things to canned solutions are Peter Wilson’s combine and Federico Garcia’s subfiles classes.

Combine defines the means to ‘\import’ entire documents, and provides means of specifying significant features of the layout of the document, as well as a global table of contents, and so on. An auxiliary package, combinet, allows use of the \titles and \authors (etc.) of the \imported documents to appear in the global table of contents.

Subfiles is used in the component files of a multi-file project, and the corresponding subfiles is used in the master file; arrangements may be made so that the component files will be typeset using different page format, etc., parameters than those used when they are typeset as a part of the main file.

A more ‘raw’ toolkit is offered by Matt Swift’s includex and newclude packages, both part of the frankenstein bundle. Note that Matt believes includex is obsolete (though it continues to work for this author); furthermore, its replacement, newclude remains “in development”, as it has been since 1999.

Both includex and newclude enable you to ‘\includedoc’ complete articles (in the way that you ‘\include’ chapter files in an ordinary report). The preamble (everything up to \begin{document}), and everything after \end{document}, is ignored by both packages. Thus the packages don’t “do the whole job” for you, though: you need to analyse the package use of the individual papers, and ensure that a consistent set is loaded in the preamble of the main report. (Both packages require moredefs, which is also part of the bundle.)

A completely different approach is to use the pdfpages package, and to include articles submitted in PDF format into a a PDF document produced by PDFLaTeX. The package defines an \includepdf command, which takes arguments similar to those of the \includegraphics command. With keywords in the optional argument of the command, you can specify which pages you want to be included from the file named, and various details of the layout of the included pages.

combine.cls
macros/latex/contrib/combine (gzipped tar, browse)
combinet.sty
macros/latex/contrib/combine (gzipped tar, browse)
includex.sty
Distributed in the “unsupported” part of macros/latex/contrib/frankenstein (gzipped tar, browse)
moredefs.sty
Distributed as part of macros/latex/contrib/frankenstein (gzipped tar, browse)
newclude.sty
Distributed as part of macros/latex/contrib/frankenstein (gzipped tar, browse)
pdfpages.sty
macros/latex/contrib/pdfpages (gzipped tar, browse)
subfiles.cls, etc.
macros/latex/contrib/subfiles (gzipped tar, browse)

This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multidoc