diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/base/ifthen.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/base/ifthen.sty | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/base/ifthen.sty b/Master/texmf-dist/tex/latex/base/ifthen.sty new file mode 100644 index 00000000000..34c2af26312 --- /dev/null +++ b/Master/texmf-dist/tex/latex/base/ifthen.sty @@ -0,0 +1,147 @@ +%% +%% This is file `ifthen.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% ifthen.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 +%% The LaTeX3 Project and any individual authors listed elsewhere +%% in this file. +%% +%% This file was generated from file(s) of the LaTeX base system. +%% -------------------------------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% This file has the LPPL maintenance status "maintained". +%% +%% This file may only be distributed together with a copy of the LaTeX +%% base system. You may however distribute the LaTeX base system without +%% such generated files. +%% +%% The list of all files belonging to the LaTeX base distribution is +%% given in the file `manifest.txt'. See also `legal.txt' for additional +%% information. +%% +%% The list of derived (unpacked) files belonging to the distribution +%% and covered by LPPL is defined by the unpacking scripts (with +%% extension .ins) which are part of the distribution. +%% +%% File `ifthen.dtx'. +%% Copyright (C) 1991 by Leslie Lamport +%% Copyright (C) 1994-2001 LaTeX3 project, David Carlisle +%% all rights reserved. +%% +\NeedsTeXFormat{LaTeX2e}[1994/12/01] +\ProvidesPackage{ifthen} + [2001/05/26 v1.1c Standard LaTeX ifthen package (DPC)] +\def\TE@throw{\@ne=\@ne\noexpand\fi} +\def\boolean#1#2{% + \TE@throw\expandafter\noexpand\csname if#1\endcsname#2} +\def\TE@length#1#2{\TE@throw\noexpand\ifdim#1#2} +\def\TE@odd#1#2{% + \TE@throw\noexpand\TE@@odd#1\noexpand\@nil\noexpand\ifodd\count@#2} +\def\TE@@odd#1#2\@nil{% + \@defaultunits + \count@\if-#1-0\else0\expandafter#1\fi#2\relax\@nnil} +\def\TE@repl#1#2{% + \long\def\@tempc##1#1##2{% + \def\@tempa{##2}\def\@tempb{\@tempc}% + \ifx\@tempa\@tempb + \toks@\expandafter{\the\toks@##1}% + \expandafter\@gobble + \else + \toks@\expandafter{\the\toks@##1#2}% + \expandafter\@tempc + \fi + ##2}% + \expandafter\toks@\expandafter{\expandafter}% + \expandafter\@tempc\the\toks@#1\@tempc} +\long\def\ifthenelse#1{% + \toks@{#1}% + \TE@repl\or\TE@or + \TE@repl\and\TE@and + \TE@repl\not\TE@neg + \TE@repl\OR\TE@or + \TE@repl\AND\TE@and + \TE@repl\NOT\TE@neg + \begingroup + \let\protect\@unexpandable@protect + \def\@setref##1##2##3{% + \ifx##1\relax\z@\else\expandafter##2##1\fi}% + \def\value##1{\the\csname c@##1\endcsname}% + \let\equal\TE@equal \let\(\TE@lparen \let\)\TE@rparen + \let\isodd\TE@odd \let\lengthtest\TE@length + \let\isundefined\TE@undef + \begingroup + \let\@tempa\relax\let\@tempb\relax + \xdef\@gtempa{\expandafter\TE@eval\the\toks@\TE@endeval}% + \endgroup + \@gtempa + \expandafter\endgroup\ifTE@val + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\def\TE@eval{\noexpand\TE@negatefalse\noexpand\iftrue\noexpand\ifnum} +\newif\ifTE@val +\newif\ifTE@negate +\def\TE@endeval{\relax + \noexpand\TE@setvaltrue\noexpand + \else + \noexpand\TE@setvalfalse\noexpand + \fi + \noexpand\TE@negatefalse\noexpand + \fi} +\def\TE@setvaltrue{% + \ifTE@negate\TE@valfalse\else\TE@valtrue\fi} +\def\TE@setvalfalse{\let\ifTE@val\ifTE@negate} +\def\TE@or{\TE@endeval\noexpand\ifTE@val\noexpand\else\noexpand\ifnum} +\def\TE@and{\TE@endeval\noexpand\ifTE@val\noexpand\ifnum} +\def\TE@neg{\TE@throw\noexpand\TE@negswitch\noexpand\ifnum} +\def\TE@negswitch{\ifTE@negate\TE@negatefalse\else\TE@negatetrue\fi} +\def\TE@lparen#1{\TE@throw\begingroup\TE@eval#1} +\def\TE@rparen#1{% + \TE@endeval + \noexpand\expandafter\endgroup\noexpand\ifTE@val#1} +\long\def\TE@equal#1#2#3{\TE@throw + \def\@tempa{#1}\def\@tempb{#2}% + \noexpand\ifx\@tempa\@tempb#3} +\def\setboolean#1#2{% + \lowercase{\def\@tempa{#2}}% + \@ifundefined{@tempswa\@tempa}% + {\PackageError{ifthen}% + {You can only set a boolean to `true' or `false'}\@ehc}% + {\@ifundefined{#1\@tempa}% + {\PackageError{ifthen}{Boolean #1 undefined}\@ehc}% + {\csname#1\@tempa\endcsname}}} +\def\newboolean#1{% + \expandafter\@ifdefinable\csname if#1\endcsname{% + \expandafter\newif\csname if#1\endcsname}} +\def\provideboolean#1{% + \@ifundefined{if#1}{% + \expandafter\newif\csname if#1\endcsname}\relax} +\long\def\whiledo#1#2{% + \ifthenelse{#1}% + {\@whiledotrue + \@whilesw\if@whiledo\fi + {#2% + \ifthenelse{#1}\@whiledotrue\@whiledofalse}}% + {}% + } +\def\TE@undef#1#2{% + \TE@throw\noexpand\ifx\noexpand\@undefined\noexpand#1#2} +\newif\if@whiledo +\endinput +%% +%% End of file `ifthen.sty'. |