blob: 91c07aef022a2e2361fa1ffcb9a1e6721a0e212c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
% excludeonly.sty
% Dan Luecking <luecking@uark.edu> and Donald Arseneau <asnd@triumf.ca>
%
% This software is contributed to the public domain.
%
% Usage:
% ~~~~~~
% In the document preamble, "\excludeonly{aaa,bbb}" will prevent files
% aaa.tex and bbb.tex from being typeset by \include{aaa} and \include{bbb}.
% If both \includeonly and \excludeonly are used, then only the files
% permitted by both declarations are used:
% \includeonly{aaa,bbb}
% \excludeonly{bbb,ccc}
% results in only aaa being included.
%
% This behavior contradicts the name "exclude only" but the name is
% desirable anyway to show the relationship with \includeonly.
% In case it is actually desireable that \excludeonly lives up
% to its name, and causes *all* parts to be included, except those
% explicitly listed for exclusion, there is an [only] package option
% \usepackage[only]{excludeonly}
% The effect of this is to override any \includeonly commands.
%
% Conflicts:
% ~~~~~~~~~~
% This package redefines the internal \@include command, so it could
% conflict with other redefinitions. Known conflicts are with document
% classes "paper.cls" and "thesis.cls" by Wenzel Matiaske.
% A different method for implementing \excludeonly would be to
% redefine \@setckpt to compile a file-inclusion list (\@partlist)
% that accounts for exclusions. Surprisingly, several packages
% redefine \@setckpt, so this alternative would have more conflicts.
%
\ProvidesPackage{excludeonly}[2003/03/14 v1.0 %
eponymous command opposite to \string\includeonly]
%
\newif\if@excludesw \@excludeswfalse
\let\ExOn@swaset\relax
%
\DeclareOption{only}{\let\ExOn@swaset\@tempswatrue}
\ProcessOptions
%
\newcommand*{\excludeonly}[1]{%
\@excludeswtrue
\edef\@excllist{\zap@space#1 \@empty}}
\@onlypreamble\excludeonly
%
\def\@include#1 {%
\clearpage
\if@filesw
\immediate\write\@mainaux{\string\@input{#1.aux}}%
\fi
\@tempswatrue
\if@partsw
\@tempswafalse
\edef\reserved@b{#1}%
\@for\reserved@a:=\@partlist\do
{\ifx\reserved@a\reserved@b\@tempswatrue\fi}%
\fi
\if@excludesw
\ExOn@swaset
\edef\reserved@b{#1}%
\@for\reserved@a:=\@excllist\do
{\ifx\reserved@a\reserved@b\@tempswafalse\fi}%
\fi
\if@tempswa
\let\@auxout\@partaux
\if@filesw
\immediate\openout\@partaux #1.aux
\immediate\write\@partaux{\relax}%
\fi
\@input@{#1.tex}%
\clearpage
\@writeckpt{#1}%
\if@filesw
\immediate\closeout\@partaux
\fi
\else
\deadcycles\z@
\@nameuse{cp@#1}%
\fi
\let\@auxout\@mainaux}
\endinput
|