summaryrefslogtreecommitdiffstats
path: root/manual/optional.sty
diff options
context:
space:
mode:
Diffstat (limited to 'manual/optional.sty')
-rw-r--r--manual/optional.sty158
1 files changed, 0 insertions, 158 deletions
diff --git a/manual/optional.sty b/manual/optional.sty
deleted file mode 100644
index 847589cb61..0000000000
--- a/manual/optional.sty
+++ /dev/null
@@ -1,158 +0,0 @@
-%
-% O P T I O N A L . S T Y
-% ~~~~~~~~~~~~~~~~~~~~~~~
-% ver 2.2b Jan 2005
-%
-% Enable multiple versions of a document to be printed from one source file,
-% especially if most of the text is shared between versions.
-%
-% Copyright 1993,1999,2001,2005 by Donald Arseneau (asnd@triumf.ca).
-% This software is released under the terms of the LaTeX Project Public
-% License (ftp://ctan.tug.org/tex-archive/macros/latex/base/lppl.txt).
-% (Essentially: Free to use, copy, distribute (sell) and change, but, if
-% changed, that fact must be made apparent to the user.) It has a
-% status of "maintained".
-%
-%
-% HOW TO USE
-% ~~~~~~~~~~
-% One way to use this package is to declare (for example)
-%
-% \usepackage[opta]{optional}
-%
-% at the beginning of your document, and flag optional text throughout
-% your document like:
-%
-% \opt{opta}{Do this if option opta was declared}
-% \opt{optb}{Do this if option optb was declared}
-% \opt{optx,opty}{Do this if either option optx or opty}
-% \opt{}{Never print this text!}
-% \opt{opta}{\input{appendices}}
-% \optv{xam}{Type: \verb|[root /]$ rm -r *|.}
-%
-% Note that both the package option and the "\opt" argument can contain
-% lists of options although, in practice, one or the other should be a
-% single option name. Lists are allowed in both places to allow more
-% flexibility in the style of use. (But making the definitions much more
-% difficult, Grrr.)
-%
-% Just as for "\includeonly", you will have to edit the main document
-% file to switch option codes (i.e., change the "\usepackage" line).
-% There are, however, several ways to use this package without altering
-% the main document file: separate files, file-name sensing, interactive
-% prompting, and command-line option selection.
-%
-% Typically, different versions of a document will require different
-% document class and package setup, besides the different tags for
-% optional.sty. In that case it is best to have a separate main file
-% for each version of the document. Each stub file will declare the
-% document class and load some packages (including this one) and then
-% input the rest of the document from a file common to all versions.
-%
-% \documentclass[A0]{poster}
-% \usepackage[poster]{optional}
-% \input{my_paper}
-%
-% If the different opt-tags match the different stub file names (file
-% poster.tex will typeset the "poster" version) then you can specify
-%
-% \usepackage[\jobname]{optional}
-%
-% Alternatively, this "\jobname" technique can make use of symbolic links,
-% if your computer system supports them, by having a single main input
-% file accessed under different names (and different "\jobname"s).
-%
-% Another scheme is to invoke LaTeX with the command line such as:
-%
-% latex "\def\UseOption{opta,optb}\input{file}"
-%
-% (with quoting appropriate to your operating system) then options "opta"
-% and "optb" will be used in addition to any options specified with the
-% "\usepackage" command.
-%
-% You can prompt yourself to specify the option(s) with every run
-% through LaTeX:
-%
-% \usepackage{optional}
-% \newcommand{\ExplainOptions}{man = users manual, check = checklist,
-% ref = reference card, post = poster.}
-% \AskOption
-%
-% The definition of "\ExplainOptions" is optional; it only serves to help
-% the person who answers the question. The "\AskOption" is also optional;
-% it will be executed automatically whenever optional.sty sees no list of
-% options. This method is too tedious to use much.
-%
-% The normal restrictions forbidding special characters in package options
-% and reference tags apply also the the tags used by the "\opt" command.
-%
-% These are not `comment' macros: The optional text must be well-formed
-% with balanced braces, even if not printed. The "\opt" command *IS*
-% completely `expandable' which means it is robust and can even be used
-% in messages ("\typeout").
-%
-% As usual, "\verb" commands and verbatim environments cannot be used
-% in the argument to "\opt". For this purpose there is a variant form
-% of "\opt" called "\optv" (optional verbatim) which may have a limited
-% class of verbatim material in the argument. It can do so by leaving
-% the braces around the argument, which may have undesired side effects.
-% For an "\optv" argument to be successfully ignored, the verbatim material
-% must have balanced braces etc.
-%
-% The "\opt" command is only intended for small sections of text. If you
-% need to optionally include whole sections or chapters, put that material
-% in a separate file, and "\opt"-ionally use an "\input" command:
-%
-% \opt{internal}{\input{prog_listings}}
-%
-%====================== END INSTRUCTIONS ========================
-
-\ProvidesPackage{optional}[2005/01/26 ver 2.2b; \space
- Optional inclusion/omission]
-% Initialize used-option-list to \@gobble to eat the comma when the first
-% entry is `appended'.
-\@ifundefined{UseOption}{\let\UseOption\@gobble}{}
-\DeclareOption*{\edef\UseOption{\UseOption,\CurrentOption}}
-\ProcessOptions
-\AtBeginDocument{\Opl@Setup}
-
-\newcommand*\opt[1]{\if\Opl@notlisted{#1}\expandafter\@gobble
- \else \expandafter\@firstofone \fi}
-
-\newcommand*\optv[1]{\if\Opl@notlisted{#1}\expandafter\@gobble\fi}
-
-% This initial definition forces immediate setup if \opt used in the preamble
-\def\Opl@notlisted{\fi \Opl@Setup \if\Opl@notlisted}
-
-\newcommand\AskOption{%
- \@ifundefined{ExplainOptions}{}{\typeout{\ExplainOptions}}%
- \typein[\UseOption]{Specify which optional text to process:}%
- }
-
-\def\Opl@Setup{%
- \ifx\UseOption\@gobble\AskOption\fi
- \let\Opl@notlisted\@empty % initialize list of checks
- \@for\@tempa:=\UseOption\do{%
- \ifx\@tempa\@empty\else\expandafter\Opl@oneop\expandafter{\@tempa}\fi}%
- \ifx\Opl@notlisted\@empty \PackageWarning{optional}%
- {No options were selected, so all optional text will be printed}%
- \let\opt\@secondoftwo
- \else
- \typeout{Using optional text marked with \UseOption. }%
- \toks@\expandafter{\Opl@notlisted}%
- \edef\@tempa{\def\noexpand\Opl@notlisted####1{,\the\toks@,}}\@tempa
- \fi
- \let\Opl@Setup\@empty \let\Opl@oneop\undefined
- \let\AskOption\undefined \let\ExplainOptions\undefined
-}
-\begingroup
-\catcode`\Z= 3 % special delimiter
-\gdef\Opl@oneop#1{%
- \@ifundefined{Opl@Match@#1}{%
- \toks@\expandafter{\Opl@notlisted}%
- \edef\Opl@notlisted{\the\toks@ \csname Opl@Match@#1\endcsname ,####1,#1,Z}%
- \@namedef{Opl@Match@#1}##1,#1,##2Z{##2}%
- }\relax
-}
-\endgroup
-\endinput