From: mdw Date: Wed, 24 Sep 1997 13:30:13 +0000 (+0000) Subject: No longer necessary. Not actually sure what it was doing in the X-Git-Tag: 1.3.3~69 X-Git-Url: https://git.distorted.org.uk/~mdw/become/commitdiff_plain/d6c74786e5fe77c64b93fab756486d64b2d6293d No longer necessary. Not actually sure what it was doing in the repository anyway. --- diff --git a/manual/syntax.sty b/manual/syntax.sty deleted file mode 100644 index e1270db..0000000 --- a/manual/syntax.sty +++ /dev/null @@ -1,817 +0,0 @@ -%% -%% This is file `syntax.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% syntax.dtx (with options: `package') -%% doafter.dtx (with options: `macro') -%% -%% IMPORTANT NOTICE -%% -%% syntax package -- typesetting syntax descriptions -%% Copyright (c) 1996 Mark Wooding -%% -%% 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. -%% -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{syntax} - [1996/05/17 1.9 Syntax typesetting (MDW)] -%% \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 \~} -%% -\DeclareOption{rounded}{\sd@roundtrue} -\DeclareOption{square}{\sd@roundfalse} -\DeclareOption{nounderscore}{\@uscorefalse} -\newif\ifsd@round -\newif\if@uscore\@uscoretrue -\ExecuteOptions{square} -\ProcessOptions -\def\addspecial#1{% - \remspecial{#1}% - \expandafter\def\expandafter\dospecials\expandafter{\dospecials\do#1}% - \expandafter\def\expandafter\@santize\expandafter{% - \@sanitize\@makeother#1}% -} -\def\remspecial#1{% - \def\do##1{\ifnum`#1=`##1 \else\noexpand\do\noexpand##1\fi}% - \edef\dospecials{\dospecials}% - \def\@makeother##1{\ifnum`#1=`##1 \else% - \noexpand\@makeother\noexpand##1\fi}% - \edef\@sanitize{\@sanitize}% - \def\@makeother##1{\catcode`##112}% -} -\def\underscore{% - \leavevmode% - \kern.06em% - \vbox{% - \hrule\@width.6em\@depth.4ex\@height-.34ex% - }% - \ifdim\fontdimen\@ne\font=\z@% - \kern.06em% - \fi% -} -\let\usc@builtindischyphen\- -\def\@uscore.{% - \ifmmode% - \expandafter\@firstoftwo% - \else% - \expandafter\@secondoftwo% - \fi% - \sb% - {\textunderscore\@ifnextchar_{}{\usc@builtindischyphen}}% -} -\if@uscore - \AtBeginDocument{% - \catcode`\_\active% - \begingroup% - \lccode`\~`\_% - \lowercase{\endgroup\def~{\protect\@uscore.}}% - } -\fi -\expandafter\let\csname?\string\textunderscore\endcsname\underscore -\def\shortverb#1{% - \@ifundefined{cc@\string#1}{% - \addspecial#1% - \begingroup% - \lccode`\~`#1% - \lowercase{% - \endgroup% - \expandafter\let\csname mn@\string#1\endcsname~% - \expandafter\edef\csname cc@\string#1\endcsname{% - \catcode`\noexpand#1\the\catcode`#1% - \let\noexpand~\expandafter\noexpand% - \csname mn@\string#1\endcsname% - \noexpand\remspecial\noexpand#1% - \let\csname cc@\string#1\endcsname\relax% - }% - \def~{\verb~\syn@ttspace}% - }% - \catcode`#1\active% - }{% - \PackageWarning{syntax}{Character `\expandafter\@gobble\string#1' - is already a verbatim\MessageBreak - delimiter}% - }% -} -\def\unverb#1{% - \@ifundefined{cc@\string#1}{% - \PackageWarning{syntax}{Character `\expandafter\@gobble\string#1' - is not a verbatim\MessageBreak - delimiter}% - }{% - \csname cc@\string#1\endcsname% - }% -} -\newcommand{\syntleft}{$\langle$\normalfont\itshape} -\newcommand{\syntright}{$\rangle$} -\newcommand{\ulitleft}{\normalfont\ttfamily\syn@ttspace\frenchspacing} -\newcommand{\ulitright}{} -\newcommand{\litleft}{`\bgroup\ulitleft} -\newcommand{\litright}{\ulitright\egroup'} -\def\synt#1{\mbox{\syntleft{#1\/}\syntright}} -\def\lit{\@ifstar{\lit@i\ulitleft\ulitright}{\lit@i\litleft\litright}} -\def\lit@i#1#2#3{\mbox{#1{#3\/}#2}} -\def\syn@ttspace@{\spaceskip.35em\@plus.2em\@minus.15em\relax} -\def\ttthinspace{\let\syn@ttspace\syn@ttspace@} -\def\ttthickspace{\let\syn@ttspace\@empty} -\ttthinspace -\def\readupto#1#2#3{% - \bgroup% - \verb@eol@error% - \let\do\@makeother\dospecials% - #2% - \catcode`#1\active% - \lccode`\~`#1% - \gdef\verb@balance@group{\verb@egroup% - \@latex@error{\noexpand\verb illegal in command argument}\@ehc}% - \def\@vhook{\verb@egroup#3}% - \aftergroup\verb@balance@group% - \lowercase{\let~\@vhook}% -} -\def\syn@assist#1#2#3#4#5{% - \mbox\bgroup% - \chardef\\`\\% - \chardef\>`\>% - \chardef\'`\'% - \chardef\"`\"% - \chardef\ `\ % - \def\ch##1{\char`##1}% - \def\act##1{% - \catcode`##1\active% - \begingroup% - \lccode`\~`##1% - \lowercase{\endgroup\def~}% - }% - #1% - \begingroup% - \readupto#3{% - \catcode`\\0% - \catcode`\ 10% - #2% - }{% - \/\endgroup#4\egroup#5% - }% -} -\begingroup -\catcode`\<\active -\catcode`\|\active -\catcode`\"\active -\catcode`\`\active -\gdef\syn@shorts#1#2{% - \def<{% - #1% - \syn@assist% - \syntleft% - {\act_{\@foundunderscore}}% - >% - \syntright% - {#2}% - }% - \def`{% - #1% - \syn@assist% - \litleft% - \relax% - '% - \litright% - {#2}% - }% - \def"{% - #1% - \syn@assist% - \ulitleft% - \relax% - "% - \ulitright% - {#2}% - }% - \def|{\textbar}% -} -\endgroup -\def\syntaxShortcuts#1#2{% - \syn@shorts{#1}{#2}% - \addspecial\`% - \addspecial\<% - \addspecial\|% - \addspecial\"% - \catcode`\|\active% - \catcode`\<\active% - \catcode`\"\active% - \catcode`\`\active% -} -\def\synshorts{\syntaxShortcuts\relax\relax} -\def\synshortsoff{% - \catcode`\|12% - \catcode`\<12% - \catcode`\"12% - \catcode`\`12% -} -\def\syntax#{\bgroup\syntaxShortcuts\relax\relax\let\@let@token} -\newskip\grammarparsep - \grammarparsep8\p@\@plus\p@\@minus\p@ -\newdimen\grammarindent - \grammarindent2em -\newcommand{\grammarlabel}[2]{% - \synt{#1} \hfill#2% -} -\def\gr@implitem<#1> #2 {% - \sbox\z@{\hskip\labelsep\grammarlabel{#1}{#2}}% - \strut\@@par% - \vskip-\parskip% - \vskip-\baselineskip% - \hrule\@height\z@\@depth\z@\relax% - \item[\unhbox\z@]% - \catcode`\<\active% -} -\let\gr@leftsq\[ -\let\gr@rightsq\] -\def\[{\gr@leftsq} -\def\]{\gr@rightsq} -\newenvironment{grammar}{% - \list{}{% - \labelwidth\grammarindent% - \leftmargin\grammarindent% - \advance\grammarindent\labelsep - \itemindent\z@% - \listparindent\z@% - \parsep\grammarparsep% - }% - \let\\\@normalcr - \syntaxShortcuts\relax\relax% - \def\alt{\\\llap{\textbar\quad}}% - \def\gr@setpar{% - \def\par{% - \parshape\@ne\@totalleftmargin\linewidth% - \@@par% - \catcode`\<12% - \everypar{% - \everypar{}% - \catcode`\<\active% - \gr@implitem% - }% - }% - }% - \gr@setpar% - \par% - \def\gr@endsyntdiag]{\end{syntdiag}\gr@setpar\par}% - \def\[{\@ifnextchar[{\begin{syntdiag}\@gobble}\gr@leftsq}% - \def\]{\@ifnextchar]\gr@endsyntdiag\gr@rightsq}% -}{% - \@newlistfalse% - \everypar{}% - \endlist% -} -\newskip\sdstartspace -\newskip\sdendspace -\newskip\sdmidskip -\newskip\sdtokskip -\newskip\sdfinalskip -\newdimen\sdrulewidth -\newdimen\sdcirclediam -\newdimen\sdindent -\dimendef\sd@lower\z@ -\dimendef\sd@upper\tw@ -\dimendef\sd@mid4 -\dimendef\sd@topcirc6 -\dimendef\sd@botcirc8 -\def\sd@setsize{% - \sd@mid\ht\strutbox% - \advance\sd@mid-\dp\strutbox% - \sd@mid.5\sd@mid% - \sd@upper\sdrulewidth% - \advance\sd@upper\sd@mid% - \sd@lower\sdrulewidth% - \advance\sd@lower-\sd@mid% - \sd@topcirc-.5\sdcirclediam% - \advance\sd@topcirc\sd@mid% - \sd@botcirc-.5\sdcirclediam% - \advance\sd@botcirc-\sd@mid% -} -\newcommand{\sdsize}{% - \small% -} -\newcommand{\sdlengths}{% - \setlength{\sdstartspace}{1em minus 10pt}% - \setlength{\sdendspace}{1em minus 10pt}% - \setlength{\sdmidskip}{0.5em plus 0.0001fil}% - \setlength{\sdtokskip}{0.25em plus 0.0001fil}% - \setlength{\sdfinalskip}{0.5em plus 10000fil}% - \setlength{\sdrulewidth}{0.2pt}% - \setlength{\sdcirclediam}{8pt}% - \setlength{\sdindent}{0pt}% -} -\newif\ifsd@base -\newif\ifsd@top -\newif\ifsd@toplayer -\newif\ifsd@backwards -\def\sd@err{\PackageError{syntax}} -\def\sd@arrow{% - \ht\tw@\z@% - \dp\tw@\z@% - \raise\sd@mid\box\tw@% - \egroup% -} -\def\sd@rightarr{% - \bgroup% - \setbox\tw@\hbox{\kern-6\p@\@linefnt\char'55}% - \sd@arrow% -} -\def\sd@leftarr{% - \bgroup% - \raise\sd@mid\hbox{\@linefnt\char'33\kern-6\p@}% - \sd@arrow% -} -\def\sd@uparr{% - \bgroup% - \setbox\tw@\hb@xt@\z@{\kern-\sdrulewidth\@linefnt\char'66\hss}% - \setbox\tw@\hbox{\lower10\p@\box\tw@}% - \sd@arrow% -} -\def\sd@downarr{% - \bgroup% - \setbox\tw@\hb@xt@\z@{\kern-\sdrulewidth\@linefnt\char'77\hss}% - \sd@arrow% -} -\def\sd@circ#1{% - \@getcirc\sdcirclediam% - \advance\@tempcnta#1% - \setbox\tw@\hbox{\lower\sdrulewidth% - \hbox{\@circlefnt\char\@tempcnta}}% - \wd\tw@\z@% - \leavevmode% -} -\def\sd@tlcirc{{% - \sd@circ3% - \ht\tw@\sdrulewidth% - \dp\tw@.5\sdcirclediam% - \kern-\tw@\sdrulewidth% - \raise\sd@mid\box\tw@% - \kern.5\sdcirclediam% -}} -\def\sd@trcirc{{% - \sd@circ0% - \ht\tw@\sdrulewidth% - \dp\tw@.5\sdcirclediam% - \kern.5\sdcirclediam% - \raise\sd@mid\box\tw@% -}} -\def\sd@blcirc{{% - \sd@circ2% - \ht\tw@.5\sdcirclediam% - \dp\tw@\sdrulewidth% - \kern-\tw@\sdrulewidth% - \raise\sd@mid\box\tw@% - \kern.5\sdcirclediam% -}} -\def\sd@brcirc{{% - \sd@circ1% - \ht\tw@.5\sdcirclediam% - \dp\tw@\sdrulewidth% - \kern.5\sdcirclediam% - \raise\sd@mid\box\tw@% -}} -\def\sd@llc#1{% - \hb@xt@.5\sdcirclediam{% - \sd@rule\hskip.5\sdcirclediam% - \hss% - #1% - }% -} -\def\sd@rlc#1{% - \hb@xt@.5\sdcirclediam{% - #1% - \hss% - \sd@rule\hskip.5\sdcirclediam% - }% -} -\def\sd@rule{\leaders\hrule\@height\sd@upper\@depth\sd@lower} -\def\sd@gap#1{% - \ifsd@base% - \skip@#1% - \divide\skip\z@\tw@% - \nobreak\sd@rule\hskip\skip@% - \discretionary{% - \sd@qarrow{->}% - }{% - \hbox{% - \sd@qarrow{>-}% - \sd@rule\hskip\sdstartspace% - \sd@rule\hskip3.5\p@% - }% - }{% - }% - \nobreak\sd@rule\hskip\skip@% - \else% - \sd@rule\hskip#1% - \fi% -} -\def\syntdiag{% - \syntaxShortcuts\sd@tok@i\sd@tok@ii% - \@ifnextchar[\syntdiag@i{\syntdiag@i[]}% -} -\def\syntdiag@i[#1]{% - \sdsize\sdlengths% - #1% - \sd@setsize% - \list{}{% - \leftmargin\sdindent% - \rightmargin\leftmargin% - \labelsep\z@% - \labelwidth\z@% - }% - \item[]% - \parfillskip\z@% - \noindent% - \sd@qarrow{>>-}% - \nobreak\sd@rule\hskip\sdstartspace% - \sd@basetrue% - \sloppy% - \interlinepenalty100% - \hyphenpenalty0% - \catcode`\ 9% - \catcode`\^^M9% - \def\gr@leftsq{\begin{stack}\\}% - \def\gr@rightsq{\end{stack}}% - \def\({\begin{stack}}% - \def\){\end{stack}}% - \def\<{\begin{rep}}% - \def\>{\end{rep}}% - \let\\\sd@newline% - \ignorespaces% -} -\def\endsyntdiag{% - \unskip% - \nobreak\sd@rule\hskip\sdmidskip% - \sd@rule\hskip\sdfinalskip% - \sd@qarrow{-><}% - \endlist% -} -\@namedef{syntdiag*}{% - \syntaxShortcuts\sd@tok@i\sd@tok@ii% - \@ifnextchar[\syntdiag@s@i{\syntdiag@s@i[]}% -} -\def\syntdiag@s@i[#1]{% - \@ifnextchar[{\syntdiag@s@ii{#1}}{\syntdiag@s@iii{#1}{\hbox}}% -} -\def\syntdiag@s@ii#1[#2]{\syntdiag@s@iii{#1}{\hb@xt@#2}} -\def\syntdiag@s@iii#1#2{% - \leavevmode% - #2\bgroup% - \let\@@left\left% - \let\@@right\right% - \def\left##1{\def\sd@startarr{##1}}% - \def\right##1{\def\sd@endarr{##1}}% - \left{>-}\right{->}% - \sdsize\sdlengths% - #1% - \sd@setsize% - \let\left\@@left% - \let\right\@@right% - \sd@qarrow\sd@startarr% - \sd@rule\hskip\sdmidskip% - \sd@basefalse% - \catcode`\ 9% - \catcode`\^^M9% - \ignorespaces% -} -\@namedef{endsyntdiag*}{% - \unskip% - \sd@rule\hskip\sdmidskip% - \sd@rule\hskip\sdfinalskip% - \sd@qarrow\sd@endarr% - \egroup% -} -\def\sd@qarrow#1{% - \begingroup% - \lccode`\~=`\<\lowercase{\def~{<}}% - \hbox{\csname sd@arr@#1\endcsname}% - \endgroup% -} -\@namedef{sd@arr@>>-}{\sd@rightarr\kern-.5\p@\sd@rightarr\kern-\p@} -\@namedef{sd@arr@>-}{\sd@rightarr\kern-\p@} -\@namedef{sd@arr@->}{\sd@rightarr} -\@namedef{sd@arr@-><}{\sd@rightarr\kern-\p@\sd@leftarr} -\@namedef{sd@arr@...}{$\cdots$} -\@namedef{sd@arr@-}{} -\def\sd@newline{\@ifstar{\vadjust{\penalty\@M}\sd@nl@i}\sd@nl@i} -\def\sd@nl@i{\@ifnextchar[\sd@nl@ii\sd@nl@iii} -\def\sd@nl@ii[#1]{\vspace{#1}\sd@nl@iii} -\def\sd@nl@iii{% - \nobreak\sd@rule\hskip\sdmidskip% - \sd@rule\hskip\sdfinalskip% - \kern-3\p@% - \sd@rightarr% - \newline% - \sd@rightarr% - \nobreak\sd@rule\hskip\sdstartspace% - \sd@rule\hskip3.5\p@% -} -\def\sdbox#1{% - \@tempskipa#1\relax% - \sd@gap\@tempskipa% - \setbox\z@\hbox\bgroup% - \begingroup% - \catcode`\ 10% - \catcode`\^^M5% - \synshortsoff% -} -\def\endsdbox{% - \endgroup% - \egroup% - \@tempdima\ht\z@% - \advance\@tempdima-\dp\z@% - \advance\@tempdima-\tw@\sd@mid% - \lower.5\@tempdima\box\z@% - \sd@gap\@tempskipa% -} -\def\sd@tok@i{% - \sdbox\sdtokskip% - \strut% - \space% -} -\def\sd@tok@ii{% - \space% - \endsdbox% -} -\def\tok#{% - \sdbox\sdtokskip% - \strut% - \enspace% - \syntaxShortcuts\relax\relax% - \doafter\sd@tok% -} -\def\sd@tok{% - \enspace% - \endsdbox% -} -\newcommand\stack[1][t]{% - \sd@gap\sdmidskip% - \begingroup\sd@basefalse% - \sd@toplayertrue% - \let\\\sd@stackcr% - \if#1t% - \let\@tempa\vtop% - \sd@toptrue% - \ifsd@round\llap{\sd@trcirc\kern\tw@\sdrulewidth}\fi% - \else\if#1b% - \let\@tempa\vbox% - \sd@topfalse% - \ifsd@round\llap{\sd@brcirc\kern\tw@\sdrulewidth}\fi% - \else% - \sd@err{Bad position argument passed to stack}% - {The positioning argument must be one of `t' or `b'. I% - have^^Jassumed you meant to type `t'.}% - \let\@tempa\vtop% - \fi\fi% - \@tempa\bgroup% - \offinterlineskip% - \ialign\bgroup% - ##\cr% - \setbox\z@\hbox\bgroup% - \strut% -} -\def\endstack{% - \egroup% - \ifsd@toplayer% - \sd@dostack\sd@upper\sd@lower\relax\relax% - \else% - \ifsd@round% - \ifsd@top% - \sd@dostack{\ht\z@}\sd@botcirc\sd@blcirc\sd@brcirc% - \else% - \sd@dostack{\ht\z@}\sd@botcirc\relax\relax% - \fi% - \else% - \sd@dostack{\ht\z@}\sd@lower\relax\relax% - \fi% - \fi% - \egroup% - \egroup% - \ifsd@round% - \ifsd@top - \rlap{\kern\tw@\sdrulewidth\sd@tlcirc}% - \else% - \rlap{\kern\tw@\sdrulewidth\sd@blcirc}% - \fi% - \fi% - \endgroup\sd@gap\sdmidskip% -} -\def\sd@stackcr{% - \egroup% - \ifsd@toplayer% - \ifsd@round% - \ifsd@top% - \sd@dostack\sd@topcirc{\dp\z@}\relax\relax% - \else% - \sd@dostack\sd@topcirc{\dp\z@}\sd@tlcirc\sd@trcirc% - \fi% - \else% - \sd@dostack\sd@upper{\dp\z@}\relax\relax% - \fi% - \else% - \ifsd@round% - \ifsd@top% - \sd@dostack{\ht\z@}{\dp\z@}\sd@blcirc\sd@brcirc% - \else% - \sd@dostack{\ht\z@}{\dp\z@}\sd@tlcirc\sd@trcirc% - \fi% - \else% - \sd@dostack{\ht\z@}{\dp\z@}\relax\relax% - \fi% - \fi% - \sd@toplayerfalse% - \setbox\z@\hbox\bgroup% - \strut% -} -\def\sd@dostack#1#2#3#4{% - \@tempdima#1% - \@tempdimb#2% - \kern-\tw@\sdrulewidth% - \vrule\@height\@tempdima\@depth\@tempdimb\@width\tw@\sdrulewidth% - #3% - \sd@rule\hfill% - \sd@gap\sdtokskip% - \unhbox\z@% - \sd@gap\sdtokskip% - \sd@rule\hfill% - #4% - \vrule\@height\@tempdima\@depth\@tempdimb\@width\tw@\sdrulewidth% - \kern-\tw@\sdrulewidth% - \cr% -} -\newcommand\rep[1][t]{% - \sd@gap\sdmidskip% - \begingroup\sd@basefalse% - \ifsd@backwards\sd@backwardsfalse\else\sd@backwardstrue\fi% - \let\\\sd@loop% - \if#1t% - \let\@tempa\vbox% - \sd@toptrue% - \else\if#1b% - \let\@tempa\vtop% - \sd@topfalse% - \else% - \sd@err{Bad position argument passed to loop}% - {The positioning argument must be `t' or `b'. I have^^J% - assumed you meant to type `t'.}% - \let\@tempa\vbox% - \sd@toptrue% - \fi\fi% - \@tempa\bgroup% - \setbox\tw@\copy\strutbox% - \setbox\z@\hbox\bgroup\strut% -} -\def\endrep{% - \egroup% - \ifsd@top% - \ifsd@round% - \sd@doloop\tw@\z@\relax\relax% - \sd@tlcirc\sd@trcirc{\sd@rlc\sd@blcirc}{\sd@llc\sd@brcirc}% - \else% - \sd@doloop\tw@\z@\relax\sd@downarr\relax\relax\relax\relax% - \fi% - \else% - \ifsd@round% - \sd@doloop\z@\tw@\relax\relax% - {\sd@rlc\sd@tlcirc}{\sd@llc\sd@trcirc}\sd@blcirc\sd@brcirc% - \else% - \sd@doloop\z@\tw@\sd@uparr\relax\relax\relax\relax\relax% - \fi% - \fi% - \egroup% - \endgroup\sd@gap\sdmidskip% -} -\def\sd@loop{% - \egroup% - \def\\{\sd@err{Too many \string\\\space commands in loop}\@ehc}% - \setbox\tw@\hbox\bgroup\strut% -} -\def\sd@doloop#1#2#3#4#5#6#7#8{% - \@tempdima\dp#1\relax% - \@tempdimb\ht#2\relax% - \offinterlineskip% - \ialign{% - ##\cr% - \ifsd@round% - \sd@doloop@i#1#3\sd@topcirc\@tempdima{#5}{#6}% - \sd@doloop@i#2#4\@tempdimb\sd@botcirc{#7}{#8}% - \else% - \sd@doloop@i#1#3\sd@upper\@tempdima{#5}{#6}% - \sd@doloop@i#2#4\@tempdimb\sd@lower{#7}{#8}% - \fi% - }% -} -\def\sd@doloop@i#1#2#3#4#5#6{% - \ifsd@backwards#2\fi% - \kern-\tw@\sdrulewidth% - \vrule\@height#3\@depth#4\@width\tw@\sdrulewidth% - #5% - \sd@rule\hfill% - \sd@gap\sdtokskip% - \unhbox#1% - \sd@gap\sdtokskip% - \sd@rule\hfill% - #6% - \vrule\@height#3\@depth#4\@width\tw@\sdrulewidth% - \ifsd@backwards\else#2\fi% - \kern-\tw@\sdrulewidth% - \cr% -} -%% -%% doafter package -- insert a token really after a group -%% Copyright (c) 1996 Peter Schmitt and Mark Wooding -%% -\let\@@aftergroup\aftergroup -\def\doafter#1{% - \def\@tempa{\@@aftergroup#1}% - \afterassignment\doafter@i\let\@let@token% -} -\def\doafter@i{% - \@let@token% - \let\aftergroup\@my@aftergroup% - \@@aftergroup\@prepare@after\@tempa% -} -\def\ag@cnt@local{0 } -\let\ag@cnt@global\ag@cnt@local -\def\@my@aftergroup{% - \begingroup% - \count@\ag@cnt@local% - \advance\count@\@ne% - \xdef\ag@cnt@global{\the\count@\space}% - \endgroup% - \let\ag@cnt@local\ag@cnt@global% - \@@aftergroup\@after@token\@@aftergroup% -} -\def\@after@token{% - \@start@after@group% - \@after@token% -} -\def\@start@after@group{% - \begingroup% - \count@\ag@cnt@global% - \clubpenalty\ag@cnt@local% - \let\@after@token\@after@token@i% -} -\def\@after@token@i{% - \advance\count@\m@ne% - \ifnum\count@=\clubpenalty% - \global\let\ag@cnt@global\ag@cnt@local% - \expandafter\@after@aftertoken\expandafter\@after@all% - \else% - \expandafter\@@aftergroup% - \fi% -} -\let\@after@all\endgroup -\def\@prepare@after{% - \ifx\ag@cnt@local\ag@cnt@global\else% - \expandafter\@prepare@after@i% - \fi% -} -\def\@prepare@after@i#1{% - \@start@after@group% - \def\@after@all{\@@aftergroup#1\endgroup}% -} -\def\@after@aftertoken#1{% - \let\bgroup\relax\let\egroup\relax% - \toks@{#1}% - \futurelet\@let@token\@after@aftertoken@i% -} -\def\@after@aftertoken@i{% - \ifcat\noexpand\@let@token{% - \@@aftergroup{% - \else\ifcat\noexpand\@let@token}% - \@@aftergroup}% - \else% - \def\@tempa##1{\@@aftergroup##1\the\toks@}% - \expandafter\expandafter\expandafter\@tempa% - \fi\fi% -} -\endinput -%% -%% End of file `syntax.sty'.