%% %% 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. %% This file should have been distributed with the source listed above. %% %% Copyright (C) 1995 Matthew Swift %% %% This program is free software; you can redistribute it and/or modify %% it under the terms of the GNU General Public License as published by %% the Free Software Foundation; either version 2 of the License, or %% (at your option) any later version. %% %% 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 %% GNU General Public License for more details. %% %% You should have received a copy of the GNU General Public License %% along with this program; if not, write to the Free Software %% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. %% %% \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\DoXNeeDME{} \def\fileversion{v1.0} \def\filedate{1996/03/21} \def\docdate{1996/03/21} \edef\PPOptArg {% \filedate\space \fileversion\space \fileinfo } \makeatletter \@ifundefined{JuStLoAdInFoRmAtIoN} {% }{% \@ifundefined{DoXNeeDME} {% }{% \usepackage{abbrevs}% } \makeatother \endinput } \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{abbrevs}[\PPOptArg] %% \NeedsTeXFormat{LaTeX2e}[1995/12/01] \RequirePackage{moredefs} \newcommand\nospacelist {% ,.':;?-~!)]\bgroup\egroup } \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 \newcommand\TMNewCategory [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} {% \MonsterWarning{abbrevs}{The abbreviation category \sc@t@a\space is not defined!}% }{% ELSE \@nameuse{TMReset\sc@t@a}% }% }% } \newcommand\TMLongSuffix {% long% } \newcommand\TMShortSuffix {% short% } \newcommand\TMNewAbbrevPlain [3] {% args: \csname category body \@ifdefinable #1 {% \DeclareRobustCommand #1 {% \@bsphack \@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 \@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: maker category csname initial subseq. \expandafter#1\csname #3\TMLongSuffix\endcsname{#2}{#4} \expandafter#1\csname #3\TMShortSuffix\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\TMShortSuffix\endcsname\In {% \EExpand\csname @#3@mentionedtrue\endcsname\In {% \EExpand\csname #3\TMLongSuffix\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\TMDefineAbbrevPlain [3] {% args: category \csname % initial [subsequent] \@ifnextchar [ {% \tm@defineabbrevplain{#1}{#2}{#3}% }{% ELSE \TMNewAbbrevPlain{#2}{#1}{#3}% }% } \NewName{tm@defineabbrevplain} {#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}[\TMDefineAbbrevPlain]% }% } \NewName{tm@newuserabbrevdefiner}{#1#2[#3]} {% args: \csname category definer \newcommand #1 {% #3{#2}% }% } \newcommand\DateMark [1] {% \hspace{.2em}{\DateMarkSize\scshape #1}% \@ifnextchar. {% \spacefactor\@m }{% ELSE .\maybe@ic@space }% } \newlet\DateMarkSize\small \InputIfFileExists{abbrevs.cfg}{}{} \endinput %% %% End of file `abbrevs.stq'.