%% %% This is file `abbrevs.stq', %% generated with the docstrip utility. %% %% The original source files were: %% %% abbrevs.sty %% %% This program is part of the Frankenstein bundle for LaTeX. %% %% Copyright (C) 1995-2001 Matthew Swift %% %% This file may have one of TWO names, either %% abbrevs.sty or abbrevs.stq. This %% LaTeX package will work ONLY if it is called abbrevs.sty %% and placed in a proper directory. This file should have been %% distributed to you with a DIFFERENT file (also) called %% abbrevs.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{abbreviation macros (Frankenstein's briefs)} \def\DoXPackageS {abbrevs} \def\fileversion{v1.4} \def\filedate{2001/09/08} \def\docdate{2001/09/08} \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{abbrevs}[\PPOptArg] %% \NeedsTeXFormat{LaTeX2e}[1995/12/01] \RequirePackage{moredefs,slemph} \requirecommand\nospacelist {% ,.':;?-/\slash~!)]\bgroup\egroup\@sptoken\ \space\/\@xobeysp } \newcommand\maybe@ic@space {% \futurelet\@let@token\maybe@ic@space@ } \newcommand\maybe@ic@space@ {% \maybe@ic@ \maybe@space@ } \newcommand\maybe@space {% \futurelet\@let@token\maybe@space@ } \newcommand\maybe@space@ {% \@tempswatrue \expandafter \@tfor \expandafter \reserved@a \expandafter :% \expandafter =% \nospacelist \do \t@st@ic \if@tempswa \space \fi } \ReserveCS\TMResetAll \ReserveCS\TMHookAll \ReserveCS\TMFontAll \newcommand\NewAbbrevCategory [1] {% args: category \expandafter\ReserveCS\csname TMReset#1\endcsname \expandafter\ReserveCS\csname TMFont#1\endcsname \expandafter\ReserveCS\csname TMHook#1\endcsname \expandafter\g@addto@macro \expandafter\TMResetAll\csname TMReset#1\endcsname } \newcommand\ResetAbbrevs [1] {% args: category-list \@for\sc@t@a:=#1\do {% \@ifundefined{TMReset\sc@t@a} {% \FrankenWarning{abbrevs}{The abbreviation category \sc@t@a\space is not defined!}% }{% ELSE \@nameuse{TMReset\sc@t@a}% }% }% } \newcommand\TMInitialSuffix {% long% } \newcommand{\TMSubsequentSuffix} {% short% } \ReserveCS\TMCurrentMacro \newcommand\TMNewAbbrevPlain [3] {% args: \csname category body \NewRobustCommand #1 {% \@bsphack \TMHookAll \@nameuse{TMHook#2}% \@esphack \ifmmode \def\sc@t@a {% \nfss@text{\@nameuse{TMFont#2}#3}% }% \else \def\sc@t@a {% \leavevmode \begingroup \tm@check@nocorr #3\nocorr\@nil \TMFontAll \@nameuse{TMFont#2}% \tm@check@left #3% \tm@check@right \endgroup }% \fi \sc@t@a }% } \NewName{tm@check@nocorr} {#1#2\nocorr#3\@nil} {% \let\tm@check@left\maybe@ic \def\tm@check@right {\aftergroup\maybe@ic@space}% \def\reserved@a {\nocorr}% \def\reserved@b {#1}% \def\reserved@c {#3}% \ifx\reserved@a\reserved@b \ifx\reserved@c\@empty \let\check@icl\@empty \else \let\check@icl\@empty \def\check@icr {\aftergroup\maybe@space}% \fi \else \ifx\reserved@c\@empty\else \def\tm@check@right {\aftergroup\maybe@space}% \fi \fi } \newboolean{TMInhibitSwitching} % initially false \newboolean{TMAlwaysLong} % initially false \newcommand\TMNewAbbrevSwitcher [5] {% args: definer category csname \expandafter#1\csname #3\TMInitialSuffix\endcsname{#2}{#4} \expandafter#1\csname #3\TMSubsequentSuffix\endcsname{#2}{#5} \newboolean{@#3@mentioned} \expandafter\g@addto@macro\csname TMReset#2\endcsname {% \global\csname @#3@mentionedfalse\endcsname } \expandafter\@ifdefinable\csname #3\endcsname {% \EExpand\csname #3\endcsname\In {% \EExpand\csname if@#3@mentioned\endcsname\In {% \EExpand\csname #3\TMSubsequentSuffix\endcsname\In {% \EExpand\csname @#3@mentionedtrue\endcsname\In {% \EExpand\csname #3\TMInitialSuffix\endcsname\In {% \gdef ##1{% must be NO SPACE before `{' ! \@tempswafalse ####1% \ifTMAlwaysLong\else \@tempswatrue \fi \fi \if@tempswa \def\sc@t@a {########1}% \else \ifTMInhibitSwitching\else \global ################1% \fi \def\sc@t@a {################################1}% \fi \sc@t@a }% close \gdef }}}}}% close \EExpand...\In's }% close \@ifdefinable } \newcommand\TMDefineAbbrevStandard [3] {% args: category \csname % initial [subsequent] \@ifnextchar [ {% \tm@defineabbrevstandard{#1}{#2}{#3}% }{% ELSE \TMNewAbbrevPlain{#2}{#1}{#3}% }% } \NewName{tm@defineabbrevstandard} {#1#2#3[#4]} {% args: category \csname % initial subsequent \eExpand\expandafter\Gobble\string#2\In {% \TMNewAbbrevSwitcher\TMNewAbbrevPlain{#1}{##1}{#3}{#4}% }% } \newcommand\NewUserAbbrevDefiner [2] {% args: \csname category [definer] \@ifnextchar [ {% \tm@newuserabbrevdefiner{#1}{#2}% }{% ELSE \tm@newuserabbrevdefiner{#1}{#2}[\TMDefineAbbrevStandard]% }% } \NewName{tm@newuserabbrevdefiner}{#1#2[#3]} {% args: \csname category definer \newcommand #1 {% #3{#2}% }% } \NewAbbrevCategory{Generic} \NewAbbrevCategory{Name} \NewAbbrevCategory{Book} \NewAbbrevCategory{Work} \NewUserAbbrevDefiner{\newabbrev}{Generic} \NewUserAbbrevDefiner{\newname}{Name} \NewUserAbbrevDefiner{\newbook}{Book} \NewUserAbbrevDefiner{\newwork}{Work} \def\TMFontBook {% \itswitch } \def\TMFontWork {% \itswitch } \newcommand\DateMark [1] {% \hspace{.2em}{\DateMarkSize\scshape #1}% \@ifnextchar. {% \spacefactor\@m }{% ELSE .\maybe@ic@space }% } \newlet\DateMarkSize\small \newcommand{\PM} {% \DateMark{p.m}% } \newcommand{\AM} {% \DateMark{a.m}% } \newcommand{\BC} {% \DateMark{b.c}% } \newcommand{\AD} {% \DateMark{a.d}% } \@ifpackageloaded{acromake}{% \FrankenWarning{abbrevs}{LaTeX is about to fail because \protect\acromake is already defined.\MessageBreak Probably you have loaded acromake.sty, and if so,\MessageBreak you should simply not load it, since abbrevs.sty emulates\MessageBreak acromake.sty.} }{%ELSE } \NewAbbrevCategory{Acromake} \NewUserAbbrevDefiner{\acromake}{Acromake}[\TMAcromakeDefiner] \newcommand\TMAcromakeSecondarySuffix {secondary} \ReserveCS\tm@acromake@pageref \ReserveCS\TMHookAcromakeHook \newcommand\TMNewAbbrevSwitcherAcromake [5] {% args: definer category csname #1{#3}{\TMInitialSuffix}{#2}{#4} #1{#3}{\TMSubsequentSuffix}{#2}{#5} \newboolean{@#3@mentioned} \expandafter\g@addto@macro\csname TMReset#2\endcsname {% \global\csname @#3@mentionedfalse\endcsname } \expandafter\@ifdefinable\csname #3\endcsname {% \EExpand\csname #3\endcsname\In {% \EExpand\csname if@#3@mentioned\endcsname\In {% \EExpand\csname #3\TMSubsequentSuffix\endcsname\In {% \EExpand\csname @#3@mentionedtrue\endcsname\In {% \EExpand\csname #3\TMInitialSuffix\endcsname\In {% \gdef ##1{% must be NO SPACE before `{' ! \@tempswafalse ####1% \ifTMAlwaysLong\else \@tempswatrue \fi \fi \if@tempswa \def\sc@t@a {########1}% \else \ifTMInhibitSwitching\else \global ################1% \fi \def\sc@t@a {################################1}% \fi \sc@t@a }% close \gdef }}}}}% close \EExpand...\In's }% close \@ifdefinable } \newcommand\TMAcromakeDefiner [4] {% args: category csname acronym fulltext \ifnum \ACRcnta < 1\relax \def\ACRcnta {1}% \fi% \Global\NewName{tm@acromake@#2}{} {-1}% macro for counting occurrences \TMNewAbbrevSwitcherAcromake\TMNewAbbrevAcromake{#1}{#2}{#4 (#3)}{#3}% \expandafter\g@addto@macro\csname TMReset#1\endcsname {% \global\DefName{tm@acromake@#2}{} {-1}% }% \TMNewAbbrevAcromake{#2}{\TMAcromakeSecondarySuffix} {Acromake} {#3\ (see Page \pageref{TMacromake:#2})}% } \ReserveCS\TMCurrentMacroRootname \newcommand\TMNewAbbrevAcromake [4] {% args: csname-root csname-suffix category body \expandafter\NewRobustCommand\csname #1#2\endcsname {% \gdef\TMCurrentMacroRootname {#1}% \@bsphack \TMHookAll \@nameuse{TMHook#3}% \@esphack \ifmmode \def\sc@t@a {% \nfss@text{\@nameuse{TMFont#3}#4}% }% \else \def\sc@t@a {% \leavevmode \begingroup \tm@check@nocorr #4\nocorr\@nil \TMFontAll \@nameuse{TMFont#3}% \tm@check@left #4% \tm@check@right \endgroup }% \fi \sc@t@a }% } \ReserveCS\tm@t % temp \def\TMHookAcromake {% \edef\tm@t{\TMCurrentMacroRootname}% \ifnum\csname tm@acromake@\tm@t\endcsname = -1\relax \eExpand\tm@t\In{% \label{TMacromake:##1}% }% \tm@incmacro{\tm@t}% \fi \ifTMInhibitSwitching\else \tm@incmacro{\tm@t}% \fi \ifnum\csname tm@acromake@\tm@t\endcsname < \ACRcnta\relax \expandafter\global\csname @\tm@t@mentionedfalse\endcsname \else \ifnum\csname tm@acromake@\tm@t\endcsname = \ACRcnta\relax \ifTMInhibitSwitching\else \SaveName{\tm@t\TMSubsequentSuffix}% \global\EElet\csname \tm@t\TMSubsequentSuffix\endcsname \csname \tm@t\TMAcromakeSecondarySuffix\endcsname \fi \fi \ifnum\csname tm@acromake@\tm@t\endcsname = \ACRcntb\relax \RestoreName{\tm@t\TMSubsequentSuffix}% \fi \fi \TMHookAcromakeHook } \newcounter{tm@util} \newcommand{\tm@incmacro} [1] {% arg: acroabbrev \eExpand\csname tm@acromake@#1\endcsname\In {% \setcounter{tm@util}{##1}% }% \stepcounter{tm@util}% \expandafter\xdef\csname tm@acromake@#1\endcsname {\thetm@util}% } \newcommand\ACRcnta {1} \newcommand\ACRcntb {2} \newcommand\AcromakePageref {(see Page ##1)} \InputIfFileExists{abbrevs.cfg}{}{} \endinput %% %% End of file `abbrevs.stq'.