diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/frankenstein/moredefs.stq')
-rw-r--r-- | Master/texmf-dist/tex/latex/frankenstein/moredefs.stq | 577 |
1 files changed, 577 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/frankenstein/moredefs.stq b/Master/texmf-dist/tex/latex/frankenstein/moredefs.stq new file mode 100644 index 00000000000..81752d699c5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/frankenstein/moredefs.stq @@ -0,0 +1,577 @@ +%% +%% This is file `moredefs.stq', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% moredefs.sty +%% +%% This program is part of the Frankenstein bundle for LaTeX. +%% +%% Copyright (C) 1995-2001 Matthew Swift <swift@alum.mit.edu> +%% +%% This file may have one of TWO names, either +%% moredefs.sty or moredefs.stq. This +%% LaTeX package will work ONLY if it is called moredefs.sty +%% and placed in a proper directory. This file should have been +%% distributed to you with a DIFFERENT file (also) called +%% moredefs.sty which functions identically to this one +%% but contains documentation in comments. This file works faster, +%% but the other should be kept because it contains the documentation +%% for this LaTeX package. Files called README and INSTALL should have +%% also been distributed to you with this file; see them for more +%% information. +%% +%% This program is free software; you may redistribute it and/or +%% modify it under the conditions of the LaTeX Project Public +%% License, either version 1.2 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.2 or later is +%% part of all distributions of LaTeX version 1999/12/01 or later. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% LaTeX Project Public License for more details. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\def\fileinfo{more defining commands (Frankenstein's brain)} +\def\DoXPackageS {} +\def\fileversion{v1.8} +\def\filedate{2001/08/31} +\def\docdate{2001/08/31} +\edef\PPOptArg {% + \filedate\space \fileversion\space \fileinfo +} +\makeatletter% A special comment to help create bst files. Don't change! +\@ifundefined{JusTLoaDInformatioN} {% + }{% ELSE (we know the compsci package is already loaded, too) + \UndefineCS\JusTLoaDInformatioN + \SaveDoXVarS + \eExpand\csname DoXPackageS\endcsname\In {%use \csname in case it's undefined + \usepackage{#1}% + }% + \RestoreDoXVarS + \makeatother + \endinput +}% A special comment to help create bst files. Don't change! +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{moredefs}[\PPOptArg] +%% +\newcommand*\@ifundefined@cs [1] {% + \edef\reserved@a{% + \expandafter\@gobble\string #1% + }% + \@ifundefined\reserved@a + \@firstoftwo + \@secondoftwo +} +\newcommand\IfElement{} +\def\IfElement #1\In#2{% + \@tempswafalse + \expandafter \@tfor + \expandafter \sc@t@a + \expandafter :% + \expandafter =#2\do {% + \ifx #1\sc@t@a + \@tempswatrue + \@break@tfor + \else + \fi + }% + \if@tempswa + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} +\newcommand*\sc@star@nothing{} +\newcommand*\sc@star@or@long [1] {% args: defining-command + \@ifstar {% + \let\l@ngrel@x\relax + \def\sc@star@nothing {*}% + #1% + }{% ELSE + \let\l@ngrel@x\long + \def\sc@star@nothing {}% + #1% + }% +} +\newcommand\md@check@star {% + \@ifstar {% + \def\sc@star@nothing {*}% + }{% ELSE + \let\sc@star@nothing \ShortEmpty + }% +} +\newcommand\requirecommand {% + \sc@star@or@long\require@command +} +\newcommand\require@command [1] {% args: \csname + \@ifundefined@cs{#1} {% + \expandafter\newcommand\sc@star@nothing + }{% ELSE + \expandafter\CheckCommand\sc@star@nothing + }% + {#1}% +} +\newcommand\InitCS {% + \@star@or@long\Init@CS +} +\newcommand\Init@CS [1] {% args: \csname + \l@ngrel@x\def#1{}% +} +\newcommand\InitName {% + \sc@star@or@long\Init@Name +} +\newcommand\Init@Name [1] {% args: csname + \expandafter\DefName\sc@star@nothing{#1}{}{}% +} +\newcommand\ReserveCS {% + \sc@star@or@long\Reserve@CS +} +\newcommand\Reserve@CS [1] {% args: \csname + \expandafter\newcommand\sc@star@nothing{#1} {}% +} +\newcommand\ReserveName {% + \sc@star@or@long\Reserve@Name +} +\newcommand\Reserve@Name [1] {% args: csname + \expandafter\NewName\sc@star@nothing{#1}{} {}% +} +\InitCS*\ShortEmpty +\InitCS\LongEmpty +\ReserveCS\sc@t@a +\ReserveCS\sc@t@b +\ReserveCS\sc@t@c +\ReserveCS\sc@t@d +\ReserveCS\sc@t@e +\ReserveCS\sc@t@f +\ReserveCS\sc@t@g +\newcommand\newtokens [1] {% args: \csname + \@ifdefinable #1 {% + \@nameuse{newtoks}#1% + }% +} +\newcommand*\newlet [2] {% args: \csname-a \csname-b + \@ifdefinable #1 {% + \let #1#2% + }% +} +\newcommand*\providetokens [1] {% args: \csname + \@ifundefined@cs{#1} {% + \@nameuse{newtokens}#1% + }{% ELSE + \FrankenInfo{moredefs}{\protect\providetokens\space is not reallocating + token variable \protect#1.\MessageBreak + The existing contents are [\the#1]}% + }% +} +\newcommand*\providelength [1] {% args: \csname + \@ifundefined@cs{#1} {% + \newlength{#1}% + }{% ELSE + \FrankenInfo{moredefs}{\protect\providelength\space is not reallocating + \protect#1.\MessageBreak + The existing value is [\the#1]}% + }% +} +\newcommand*\providesavebox [1] {% args: \csname + \@ifundefined@cs{#1} {% + \newsavebox{#1}% + }{% ELSE + \FrankenInfo{moredefs}{\protect\providesavebox\space is not reallocating + box \protect#1.}% + }% +} +\newcommand*\providecounter [1] {% args: string + \@ifundefined{c@#1} {% + \newcounter{#1}% + }{% ELSE + \FrankenInfo{moredefs}{\protect\providecounter\space is not reallocating + counter #1.\MessageBreak + The existing value is [\expandafter\number\csname c@#1\endcsname]}% + }% +} + + +\requirecommand*\newboolean [1] {% args: string + \expandafter + \@ifdefinable\csname if#1\endcsname {% + \expandafter\newif\csname if#1\endcsname + }% +} + +\@ifpackageloaded{ifthen} {% + }{% ELSE + \requirecommand*\provideboolean [1] {% args: string + \@ifundefined {if#1} {% + \newboolean{#1}% + }{% ELSE + \FrankenInfo{moredefs}{\protect\provideboolean\space is not reallocating + \protect#1.\MessageBreak + The value is [\@nameuse{if#1}TRUE\else FALSE\fi]}% + }% + }% +} +\newtokens\sc@toks@a +\newtokens\sc@toks@b + +\newcommand\addto@macro [2] {% + \sc@toks@a=\expandafter{#1#2}% + \edef#1{% + \the\sc@toks@a + }% +} +\newcommand\lg@addto@macro [2] {% + \sc@toks@a=\expandafter{#1#2}% + \long\xdef#1{% + \the\sc@toks@a + }% +} +\newcommand\prependto@macro [2] {% + \sc@toks@a={#2}% + \sc@toks@b=\expandafter{#1}% + \edef#1{% + \the\sc@toks@a\the\sc@toks@b + }% +} +\newcommand\g@prependto@macro [2] {% + \sc@toks@a={#2}% + \sc@toks@b=\expandafter{#1}% + \xdef#1{% + \the\sc@toks@a\the\sc@toks@b + }% +} +\newcommand\lg@prependto@macro [2] {% + \sc@toks@a={#2}% + \sc@toks@b=\expandafter{#1}% + \long\xdef#1{% + \the\sc@toks@a\the\sc@toks@b + }% +} +\newcommand\UndefineCS [1] {% args: \csname + \let#1\@undefined +} +\newcommand\UndefineName [1] {% args: csname + \expandafter\let\csname#1\endcsname\@undefined +} +\newcommand\defcommand {% + \@star@or@long\def@command +} +\newcommand\def@command {% + \let\@ifdefinable\@rc@ifdefinable + \new@command +} +\newcommand\DefName {% + \@star@or@long\def@name +} +\newcommand\def@name [3] {% args: arglist csname body + \sc@global\l@ngrel@x\@namedef{#1}#2{#3}% +} +\newcommand\NewName {% + \@star@or@long\new@name +} +\newcommand\new@name [3] {% args: arglist csname body + \@ifundefined{#1} {% + \sc@global\l@ngrel@x\@namedef{#1}#2{#3}% + }{% ELSE + \defcommand\reserved@a {% + #1% + }% + \@notdefinable + }% +} +\newcommand\sc@global {% + \relax +} +\newcommand\Global {% + \def\sc@global {% + \global\let\sc@global\relax\global + }% +} +\newcommand\CheckName {% + \@star@or@long\check@name +} +\newcommand\check@name [3] {% args: arglist csname body + \expandafter\DefName\sc@star@nothing{reserved@a}{#2}{#3}% + \expandafter\@check@eq\csname #1\endcsname\reserved@a +} +\newcommand\RequireName {% + \sc@star@or@long\require@name +} +\newcommand\require@name [3] {% args: arglist csname body + \@ifundefined{#1} {% + \expandafter\DefName\sc@star@nothing{#1}{#2}{#3}% + }{% ELSE + \expandafter \expandafter + \expandafter \CheckName + \expandafter \sc@star@nothing + \csname #1\endcsname + {#2}{#3}% + }% +} +\newcommand\NewTextFontCommand [2] {% args: \csname font-command + \NewRobustCommand#1[1]{% + \ifmmode + \nfss@text{#2##1}% + \else + \leavevmode + {\text@command{##1}% + #2\check@icl ##1\check@icr + \expandafter}% + \fi + }% +} +\newcommand\NewRobustCommand {% + \@star@or@long\new@robustcommand +} +\newcommand\new@robustcommand [1] {% + \let\sc@t@a\relax + \@ifdefinable #1 {% + \def\sc@t@a {% + \new@@robustcommand #1% + }% + }% + \sc@t@a +} +\newcommand\new@@robustcommand [1] {% + \edef\reserved@a {\string#1}% + \def\reserved@b {#1}% + \edef\reserved@b {% + \expandafter\strip@prefix\meaning\reserved@b + }% + \edef#1{% + \ifx\reserved@a\reserved@b + \noexpand\x@protect + \noexpand#1% + \fi + \noexpand\protect + \expandafter\noexpand\csname + \expandafter\@gobble\string#1 \endcsname + }% + \let\@ifdefinable\@rc@ifdefinable + \expandafter\new@command\csname + \expandafter\@gobble\string#1 \endcsname +} +\newcommand\Elet {% + \expandafter\let\expandafter +} +\newcommand*\EElet {% + \expandafter\expandafter\expandafter\let\expandafter\expandafter +} +\newcommand\NewUserInfo {% + \sc@star@or@long\new@userinfo +} +\newcommand*\new@userinfo [2][] {% args: [\csname] \csname + \expandafter\ReserveCS\sc@star@nothing{#2}% + \def\sc@t@b {#1}% + \ifx\sc@t@b\ShortEmpty + \edef\sc@t@a {% + \edef\noexpand\sc@t@b{% + \E@cdr\string#2\@nil + }% + }% + \lowercase\expandafter{\sc@t@a}% + \else + \edef\sc@t@b {\E@cdr\string#1\@nil}% + \fi + \edef\sc@t@a {% + \noexpand\NewName\sc@star@nothing{\sc@t@b}{####1} + {\noexpand\renewcommand\sc@star@nothing\noexpand#2{####1}} + }% + \sc@t@a +} +\newcommand\SaveCS [1] {% args: \csname + \expandafter\newlet\csname MDSaved\E@cdr\string#1\@nil\endcsname#1% +} +\newcommand\RestoreCS [1] {% args: \csname + \Elet#1\csname MDSaved\E@cdr\string#1\@nil\endcsname + \UndefineName{MDSaved\E@cdr\string#1\@nil}% +} +\newcommand\SaveName [1] {% args: csname + \ReserveName{MDSaved#1}% + \EElet\csname MDSaved#1\endcsname + \csname #1\endcsname +} +\newcommand\RestoreName [1] {% args: csname + \EElet\csname #1\endcsname + \csname MDSaved#1\endcsname + \UndefineName{MDSaved#1}% +} +\newcommand\eExpand {% + \sc@star@or@long\sc@eExpand +} +\NewName{sc@eExpand} {#1\In#2} {% args: object body + \l@ngrel@x\edef\sc@t@a{#1}% + \expandafter\defcommand\sc@star@nothing\sc@t@b [1] {#2}% + \expandafter \sc@t@b + \expandafter {\sc@t@a}% +} +\newcommand\EExpand {% + \sc@star@or@long\sc@EExpand +} +\NewName{sc@EExpand}{#1\In#2} {% args: object body + \let\sc@t@c\sc@star@nothing + \expandafter \expandafter + \expandafter \defcommand + \expandafter \sc@t@c + \expandafter \sc@t@a + \expandafter {#1}% + \expandafter\defcommand\sc@t@c\sc@t@b [1] {#2}% + \expandafter\sc@t@b + \expandafter{\sc@t@a}% +} +\newcommand\eExecute {% + \sc@star@or@long\sc@eExecute +} +\newcommand\sc@eExecute [1] {% args: body + \l@ngrel@x\edef\sc@t@a {#1}% + \sc@t@a +} +\NewName{E@cdr} {#1\@nil} {% + \expandafter\@cdr #1\@nil +} +\NewName{E@car} {#1\@nil} {% + \expandafter\@car #1\@nil +} +\newlet\Gobble\@gobble +\newlet\GobbleM\@gobble +\newcommand\GobbleO {% + \@ifnextchar [ + \sc@gobbleO + \relax +} +\newlet\GobbleMM\@gobbletwo +\newcommand\GobbleOM {% + \@ifnextchar [ + \sc@gobbleOM + \Gobble +} +\newcommand\GobbleMO [1] {% + \@ifnextchar [ + \sc@gobbleO + \relax +} +\NewName{sc@gobbleOM} {[#1]#2} + {} +\NewName{sc@gobbleO} {[#1]} + {} +\newcommand\DeclareBooleanOptions [2] {% args: on off + \newboolean{@#1@}% + \DeclareOption{#1} {% + \@nameuse{@#1@true} + }% + \DeclareOption{#2} {% + \@nameuse{@#1@false} + }% +} +\newcommand\DeclareBooleanUserOptions [2] {% args: on off + \DeclareBooleanOptions{#1}{#2}% + \ReserveName{#1}% + \ReserveName{#2}% + \EElet \csname#1\endcsname\csname @#1@true\endcsname + \EElet \csname#2\endcsname\csname @#1@false\endcsname +} +\newcommand\ToggleBoolean [1] {% arg: boolean + \csname if#1\endcsname + \sc@global\csname #1false\endcsname + \else + \sc@global\csname #1true\endcsname + \fi +} +\newcommand*\VerboseErrors [1][\@M] {% args: [number] + \c@errorcontextlines #1% + \showboxbreadth #1% + \showboxdepth #1% +} +\newcommand*\GVerboseErrors [1][\@M] {% args: [number] + \global\c@errorcontextlines #1% + \global\showboxbreadth #1% + \global\showboxdepth #1% +} +\ReserveCS\md@maybe@global +\newcommand*\Debug {% + \let\md@maybe@global\relax + \md@debug +} +\newcommand*\GDebug {% + \let\md@maybe@global\global + \md@debug +} +\newcommand*\md@debug [1] {% args: debug-level + \ifnum #1 > 0% + \let\sc@t@a\@M + \md@maybe@global\def\DTypeout ##1{% + \typeout{##1}% + }% + \md@maybe@global\def\DGobbleM ##1{% + \typeout{DGobbleM: [##1]}% + }% + \ifnum #1 > 1% + \md@maybe@global\def\DDTypeout ##1{% + \typeout{##1}% + }% + \ifnum #1 > 2% + \md@maybe@global\def\DDDTypeout ##1{% + \typeout{##1}% + }% + \fi + \fi + \else + \let\sc@t@a\m@ne + \md@maybe@global\let\DTypeout\GobbleM + \md@maybe@global\let\DDTypeout\GobbleM + \md@maybe@global\let\DDDTypeout\GobbleM + \md@maybe@global\let\DGobbleM\GobbleM + \fi + \md@maybe@global\tracingoutput#1 % + \md@maybe@global\tracingpages#1 % + \md@maybe@global\tracingmacros#1 % + \md@maybe@global\tracingcommands#1 % + \ifx\md@maybe@global\relax + \VerboseErrors[\sc@t@a]% + \typeout{++++ Debugging [#1]\on@line}% + \else + \GVerboseErrors[\sc@t@a]% + \typeout{++++ Global debugging [#1]\on@line}% + \fi +} +\newlet\DTypeout\GobbleM +\newlet\DDTypeout\GobbleM +\newlet\DDDTypeout\GobbleM +\newlet\DGobbleM\GobbleM +\newcommand\FrankenWarning [2] {% args: package warning + \GenericWarning % continuation message + {(#1)\@spaces\@spaces\@spaces\@spaces\@spaces} + {Frankenstein (#1) WARNING: #2}% +} +\newcommand\FrankenError [3] {% args: package error-message help-text + \GenericError % args: continuation message where-help what-help + {(#1)\@spaces\@spaces\@spaces\@spaces\@spaces} + {Frankenstein (#1) error: #2} + {See the documenation for the #1 package for more information.} + {#3}% +} +\newcommand\FrankenInfo [2] {% args: package info + \GenericInfo % continuation message + {(#1)\@spaces\@spaces\@spaces\@spaces\@spaces} + {Frankenstein (#1) says: #2}% +} +\endinput +%% +%% End of file `moredefs.stq'. |