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 84 85 86 87 88 89 90 91
|
\documentclass[pagesize=auto]{scrartcl}
\usepackage{fixltx2e}
\usepackage{etex}
\usepackage{xspace}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{booktabs}
\usepackage{microtype}
\usepackage[unicode=true]{hyperref}
\newcommand*{\mail}[1]{\href{mailto:#1}{\texttt{<#1>}}}
\newcommand*{\pkg}[1]{\textsf{#1}}
\newcommand*{\cls}[1]{\textsf{#1}}
\newcommand*{\cs}[1]{\texttt{\textbackslash#1}}
\makeatletter
\newcommand*{\cmd}[1]{\cs{\expandafter\@gobble\string#1}}
\makeatother
\newcommand*{\env}[1]{\texttt{#1}}
\newcommand*{\opt}[1]{\texttt{#1}}
\newcommand*{\meta}[1]{\textlangle\textsl{#1}\textrangle}
\newcommand*{\marg}[1]{\texttt{\{}\meta{#1}\texttt{\}}}
\newcommand*{\oarg}[1]{\texttt{[}\meta{#1}\texttt{]}}
\newcommand*{\BibTeX}{Bib\kern-0.08em\TeX\@\xspace}
\newcommand*{\BigTeX}{Big\kern-0.08em\TeX\@\xspace}
\pdfstringdefDisableCommands{%
\def\BibTeX{BibTeX\xspace}%
\def\BigTeX{BigTeX\space}%
}
\addtokomafont{title}{\rmfamily}
\title{The \pkg{excludeonly} package}
\author{Dan Luecking \mail{luecking@uark.edu}\and Donald Arseneau \mail{asnd@triumf.ca}}
\date{2003/03/14}
\begin{document}
\maketitle
\noindent
This software is contributed to the public domain.
\section{Usage:}
In the document preamble, ``\verb+\excludeonly{+\meta{aaa}\verb+,+\meta{bbb}\verb+}+'' will prevent files
\texttt{\meta{aaa}.tex} and \texttt{\meta{bbb}.tex} from being typeset by \cmd{\include}\marg{aaa} and \cmd{\include}\marg{bbb}.
If both \cmd{\includeonly} and \cmd{\excludeonly} are used, then only the files
permitted by both declarations are used:
%
\begin{flushleft}
\verb+\includeonly{+\meta{aaa}\verb+,+\meta{bbb}\verb+}+\\
\verb+\excludeonly{+\meta{bbb}\verb+,+\meta{ccc}\verb+}+
\end{flushleft}
%
results in only \meta{aaa} being included.
This behavior contradicts the name ``exclude only'' but the name is
desirable anyway to show the relationship with \cmd{\includeonly}.
In case it is actually desireable that \cmd{\excludeonly} lives up
to its name, and causes \emph{all} parts to be included, except those
explicitly listed for exclusion, there is an \opt{[only]} package option
%
\begin{verbatim}
\usepackage[only]{excludeonly}
\end{verbatim}
%
The effect of this is to override any \cmd{\includeonly} commands.
\section{Conflicts:}
This package redefines the internal \cmd{\@include} command, so it could
conflict with other redefinitions. Known conflicts are with document
classes ``\cls{paper.cls}'' and ``\cls{thesis.cls}'' by Wenzel Matiaske.
A different method for implementing \cmd{\excludeonly} would be to
redefine \cmd{\@setckpt} to compile a file-inclusion list (\cmd{\@partlist})
that accounts for exclusions. Surprisingly, several packages
redefine \cmd{\@setckpt}, so this alternative would have more conflicts.
\end{document}
|