You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
152 lines
5.0 KiB
152 lines
5.0 KiB
%%
|
|
%% 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.
|
|
%%
|
|
%% The source is maintained by the LaTeX Project team and bug
|
|
%% reports for it can be opened at https://latex-project.org/bugs.html
|
|
%% (but please observe conditions on bug reports sent to that address!)
|
|
%%
|
|
%%
|
|
%% Copyright (C) 1993-2020
|
|
%% 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.3c
|
|
%% of this license or (at your option) any later version.
|
|
%% The latest version of this license is in
|
|
%% https://www.latex-project.org/lppl.txt
|
|
%% and version 1.3c or later is part of all distributions of LaTeX
|
|
%% version 2008 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}
|
|
[2014/09/29 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'.
|
|
|