2 %% This is file `doafter.tex',
3 %% generated with the docstrip utility.
5 %% The original source files were:
7 %% doafter.dtx (with options: `package,plain')
11 %% doafter package -- insert a token really after a group
12 %% Copyright (c) 1996 Peter Schmitt and Mark Wooding
14 %% This program is free software; you can redistribute it and/or modify
15 %% it under the terms of the GNU General Public License as published by
16 %% the Free Software Foundation; either version 2 of the License, or
17 %% (at your option) any later version.
19 %% This program is distributed in the hope that it will be useful,
20 %% but WITHOUT ANY WARRANTY; without even the implied warranty of
21 %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 %% GNU General Public License for more details.
24 %% You should have received a copy of the GNU General Public License
25 %% along with this program; if not, write to the Free Software
26 %% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
29 %% {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
30 %% 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
31 %% Digits \0\1\2\3\4\5\6\7\8\9
32 %% Exclamation \! Double quote \" Hash (number) \#
33 %% Dollar \$ Percent \% Ampersand \&
34 %% Acute accent \' Left paren \( Right paren \)
35 %% Asterisk \* Plus \+ Comma \,
36 %% Minus \- Point \. Solidus \/
37 %% Colon \: Semicolon \; Less than \<
38 %% Equals \= Greater than \> Question mark \?
39 %% Commercial at \@ Left bracket \[ Backslash \\
40 %% Right bracket \] Circumflex \^ Underscore \_
41 %% Grave accent \` Left brace \{ Vertical bar \|
42 %% Right brace \} Tilde \~}
45 \let\@@aftergroup
\aftergroup
47 \def\@tempa
{\@@aftergroup
#1}%
48 \afterassignment\doafter@i
\let\@let@token
%
52 \let\aftergroup\@my@aftergroup
%
53 \@@aftergroup\@prepare@after\@tempa
%
56 \let\ag@cnt@global
\ag@cnt@local
61 \xdef\ag@cnt@global
{\the\count@
\space}%
63 \let\ag@cnt@local
\ag@cnt@global
%
64 \@@aftergroup\@after@token\@@aftergroup
%
70 \def\@start@after@group
{%
72 \count@
\ag@cnt@global
%
73 \clubpenalty\ag@cnt@local
%
74 \let\@after@token\@after@token@i
%
78 \ifnum\count@=
\clubpenalty%
79 \global\let\ag@cnt@global
\ag@cnt@local
%
80 \expandafter\@after@aftertoken
\expandafter\@after@all
%
82 \expandafter\@@aftergroup
%
85 \let\@after@all
\endgroup
87 \ifx\ag@cnt@local
\ag@cnt@global
\else%
88 \expandafter\@prepare@after@i
%
91 \def\@prepare@after@i
#1{%
93 \def\@after@all
{\@@aftergroup
#1\endgroup}%
95 \def\@after@aftertoken
#1{%
96 \let\bgroup\relax\let\egroup\relax%
98 \futurelet\@let@token\@after@aftertoken@i
%
100 \def\@after@aftertoken@i
{%
101 \ifcat\noexpand\@let@token
{%
103 \else\ifcat\noexpand\@let@token
}%
106 \def\@tempa#
#1{\@@aftergroup#
#1\the\toks@
}%
107 \expandafter\expandafter\expandafter\@tempa
%
113 %% End of file `doafter.tex'.