From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/excludeonly/excludeonly.pdf | Bin 0 -> 224457 bytes macros/latex/contrib/excludeonly/excludeonly.sty | 83 +++++++++++++++++++++ macros/latex/contrib/excludeonly/excludeonly.tex | 91 +++++++++++++++++++++++ 3 files changed, 174 insertions(+) create mode 100644 macros/latex/contrib/excludeonly/excludeonly.pdf create mode 100644 macros/latex/contrib/excludeonly/excludeonly.sty create mode 100644 macros/latex/contrib/excludeonly/excludeonly.tex (limited to 'macros/latex/contrib/excludeonly') diff --git a/macros/latex/contrib/excludeonly/excludeonly.pdf b/macros/latex/contrib/excludeonly/excludeonly.pdf new file mode 100644 index 0000000000..aeaeb0ed3f Binary files /dev/null and b/macros/latex/contrib/excludeonly/excludeonly.pdf differ diff --git a/macros/latex/contrib/excludeonly/excludeonly.sty b/macros/latex/contrib/excludeonly/excludeonly.sty new file mode 100644 index 0000000000..91c07aef02 --- /dev/null +++ b/macros/latex/contrib/excludeonly/excludeonly.sty @@ -0,0 +1,83 @@ +% excludeonly.sty +% Dan Luecking and Donald Arseneau +% +% 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 diff --git a/macros/latex/contrib/excludeonly/excludeonly.tex b/macros/latex/contrib/excludeonly/excludeonly.tex new file mode 100644 index 0000000000..fa13a83f61 --- /dev/null +++ b/macros/latex/contrib/excludeonly/excludeonly.tex @@ -0,0 +1,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} + + + + + -- cgit v1.2.3