19

When I'm debugging a big multifile project, it's often useful to make extensive use of \includeonly to narrow down where the problem is. but today I found myself using: \includeonly{chap1,chap2,chap4,chap5}. Surely \exclude{chap3} would be a simpler way to achieve this functionality? But that particular command doesn't seem to exist. Is there a command with this functionality?

Seamus
  • 73,242

2 Answers2

21

The excludeonly package defines an \excludeonly command that does what you want. Package description:

The package defines an \excludeonly command, which is (in effect) the opposite of \includeonly. If both \includeonly and \excludeonly exist in a document, only files "allowed" by both will be included.

The package redefines the internal \@include command, so it conflicts with packages that do the same. Examples are the classes paper.cls (paper) and thesis.cls (thesis).

lockstep
  • 250,273
  • The link to CTAN is broken on that page. Here is one that works: http://www.ctan.org/tex-archive/macros/latex/contrib/excludeonly/ – Seamus Sep 07 '10 at 13:53
  • I'm actually surprised this is a package, rather than part of the core workings of LaTeX like \includeonly is... – Seamus Sep 07 '10 at 14:10
  • 1
    There are other cases like that - \@addtoreset is part of the LaTeX kernel, \@removefromreset needs (e.g.) the remreset package. – lockstep Sep 07 '10 at 14:17
  • @Seamus: Remember that in 1993/4 the amount of memory required by LaTeX as it is was already too much for many systems! – Joseph Wright Mar 17 '11 at 08:18
0

Just comment out \include{chap3}. The way I understand it, the purpose of \includeonly is when you'd like to include just one or two things, it's simpler to use \includeonly than to comment out a bunch of lines. But if you're keeping everything and just including one thing, why use a special command just to exclude something?

Thorsten
  • 12,872
Aaron
  • 83
  • 11
    That's a bad idea, Aaron, the \include{chap3} is needed! Otherwise LaTeX doesn't include chap3.aux, and you get lots of undefined references. That's what \includeonly is all about: to get the correct references. – Hendrik Vogt Mar 17 '11 at 09:50