%% (c) 1993-2002 by Polish TeX Users Group (GUST), <http://www.gust.org.pl>
%%
%% This work may be distributed under the terms of the LaTeX Project
%% Public License, as described in lppl.txt in the base LaTeX
%% distribution.  Either version 1.0 or, at your option, any later
%% version.
%%
%% Plain TeX style file for formating documents for publishing
%% in GUST bulletin, the official newsletter of the Polish TeX 
%% Users Group. This file requires `cmn.sty' file.
%%
%% For newest version see: http://www.gust.org.pl/BIUL
%%
%% Usage (example file preamble):
%% Spos\'ob wykorzystania (przyk\l{}adowa preambu\l{}a dokumentu):
%% -----
% %& --translate-file=il2-pl
% \title  * Co ma B\'ezier do B-spline'a? *
% \author * Bogus\l{}aw Jackowski, BOP s.\:c. *
% \article
% ... itd ...
%
%%  The original version of this file was produced from the .web sources:
%%
%  FTANGLE v1.40, created with UNIX on "Thursday, November 4, 1993 at 12:10." 
%  COMMAND LINE: "ftangle -v -# tugboat gust"
%  RUN TIME: "Monday, November 22, 1993 at 14:38."
%  WEB FILE:    "tugboat.web"
%  CHANGE FILE: "gust.ch"
%
%  (This file was continued via @O from tugboat.sty.)
%%
%% Changes by StaW \& TP:
%%
%% 23.01.95:
%%      1) qzdr --> QZDR (following new convention)
%%      2) added \netaddress
%%      3) removed \kern-8pt from \def\footnoterule for preventing it
%%         from beeing too close to text (like underline)
%%
%% 12.12.95:
%%      1) \smc changed to \sc as in LaTeX
%%      2) pccsc9 loading added
%%      3) \: defined as small kern between e.g. 11\:--\:11.
%%
%% 21.02.96:
%%      1) Greek capitals are Eulers in spite of Concretes (TP)
%% 18.06.96:
%%      1) \| defined as another small kern between e.g. m.\|in.
%% 29.11.96:
%%   !!!! layout changed to B5: 12,5 X 19.5cm+headline
%% 17.12.96:
%%   !!!! layout and some fonts changed again to previous A4
%% 08.12.99:
%%   eurm6, 8, 9; euex9 scaled [SW]
%% 15.01.2002 (v. 1.1): license note attached
%%%===================================================================
\def\thisstyle{plain}
\def\fileversion{v1.1}
\def\filedate{15 January 2002}
%%---

\newlinechar=`\^^J

\def\makeatletter{\catcode`\@=11 }
\makeatletter

\ifx\styloaded@\thisstyle\makeatother\initializearticle
 \endinput\else\let\styloaded@\thisstyle\fi

\message{File `GUST.STY' \fileversion \space\space <\filedate>^^J}

\input cmn.sty

\def\document{}      % override an \AmSTeX\ convention

\output{\output@}

\newbox\struttbox
\def\strutt{\relax\ifmmode\copy\struttbox\else\unhcopy\struttbox\fi}

\font\tenrm=pcr10
\font\ninerm=pcr9
\font\eightrm=pcr8
\font\sevenrm=pcr7
\font\sixrm=pcr6
\font\fiverm=pcr5

\font\teni=eurm10 \skewchar\teni='177
\font\ninei=eurm10 at9pt \skewchar\ninei='177 %% 8.XII.99 [SW]
\font\eighti=eurm10 at8pt \skewchar\eighti='177 %% 8.XII.99 [SW]
\font\seveni=eurm7 \skewchar\seveni='177
\font\sixi=eurm5 at6pt \skewchar\sixi='177 %% 8.XII.99 [SW]
\font\fivei=eurm5 \skewchar\fivei='177

\font\tensy=plsy10 \skewchar\tensy='60
\font\ninesy=plsy9 \skewchar\ninesy='60
\font\eightsy=plsy8 \skewchar\eightsy='60
\font\sevensy=plsy7 \skewchar\sevensy='60
\font\sixsy=plsy6 \skewchar\sixsy='60
\font\fivesy=plsy5 \skewchar\fivesy='60

\font\tenex=plex10

\font\tenbf=plbx10
\font\ninebf=plbx9
\font\eightbf=plbx8
\font\sevenbf=plbx7
\font\sixbf=plbx6
\font\fivebf=plbx5

\font\tentt=pltt10
\font\ninett=pltt9
\font\eighttt=pltt8

\font\tensl=pcsl10  
\font\ninesl=pcsl10 at9pt
\font\eightsl=pcsl10 at8pt %% finally changed (StaW)
\font\sevensl=plti7    %  Would use |plsl7| if it were standard.
                       %  Currently needed only for |\def| of \LaMeX

\font\tenit=pcti10
\font\nineit=pcti10 at 9pt     % finally changed to concrete (StaW&TP)
%%%\font\nineit=pcti9     %  nie ma takiego fontu (wn)
\font\eightit=pcti10 at 8pt
%%%\font\eightit=pcti8
\font\sevenit=plti7

\font\tenuit=plu10
\font\tenbfsl=plbxsl10

\font\tensmc=pccsc10
\font\ninesmc=pccsc10 at 9pt  % StaW % redefine if |plcsc9| and/or |plcsc8| exist
%%\font\ninesmc=pccsc9   % nie ma takiego fontu
\font\eightsmc=pccsc10

\font\tentex=pltex10            % for ASCII character set

\font\dingbatfont=qzdr             % dingbats for lists
%\font\dingbatfont=uzdr             % dingbats for lists

\def\mit{\fam\@ne}              % from \plain
\def\cal{\fam\tw@}              % from \plain
\def\sy{\cal}

%% We need two additional families and couple of definitions..

\font\teneuex=euex10
\font\nineeuex=euex10 at9pt % 08.12.99 [SW]
\font\eighteuex=euex8

\font\teneufm=eufm10
\font\nineeufm=eufm9
\font\eighteufm=eufm8
\font\seveneufm=eufm7
\font\sixeufm=eufm6
\font\fiveeufm=eufm5

\def\hexnumber@#1{\ifcase#1 \z@
 \or \@ne \or \tw@ \or \thr@@
 \or 4\or 5\or 6\or 7\or 8\or
 9\or A\or B\or C\or D\or E\or F\fi}

\newfam\eufm
\newfam\euex

\edef\@tempa{\hexnumber@\euex}
\mathcode`\{="4\@tempa 66
\mathcode`\}="5\@tempa 67

\mathchardef\infty="0\@tempa 31
\mathchardef\ointop="1\@tempa 48 \def\oint{\ointop\nolimits}
\mathchardef\intop="1\@tempa 52 \def\int{\intop\nolimits}
\mathchardef\sum="1\@tempa 50
\mathchardef\prod="1\@tempa 51
\mathchardef\coprod="1\@tempa 60

\mathchardef\braceld="\@tempa 7A \mathchardef\bracerd="\@tempa 7B
\mathchardef\bracelu="\@tempa 7C \mathchardef\braceru="\@tempa 7D

\mathchardef\nearrow="3\@tempa 25
\mathchardef\searrow="3\@tempa 26
\mathchardef\nwarrow="3\@tempa 2D
\mathchardef\swarrow="3\@tempa 2E

\mathchardef\leftarrow="3\@tempa 20 \let\gets=\leftarrow
\mathchardef\rightarrow="3\@tempa 21 \let\to=\rightarrow
\mathchardef\leftrightarrow="3\@tempa 24
\mathchardef\Leftarrow="3\@tempa 28
\mathchardef\Rightarrow="3\@tempa 29
\mathchardef\Leftrightarrow="3\@tempa 2C

\mathchardef\leftharpoonup="3\@tempa 18
\mathchardef\leftharpoondown="3\@tempa 19
\mathchardef\rightharpoonup="3\@tempa 1A
\mathchardef\rightharpoondown="3\@tempa 1B

\edef\lgroup{\delimiter"4000\@tempa 3A } % extensible ( with sharper tips
\edef\rgroup{\delimiter"5000\@tempa 3B } % extensible ) with sharper tips
\edef\arrowvert{\delimiter"\@tempa 3C000 } % arrow without arrowheads
\edef\Arrowvert{\delimiter"\@tempa 3D000 } % double arrow without arrowheads
\edef\bracevert{\delimiter"\@tempa 3E000 } % the vertical bar that extends 
%braces
\edef\rbrace{\delimiter"5267\@tempa 09 } \let\}=\rbrace
\edef\lbrace{\delimiter"4266\@tempa 08 } \let\{=\lbrace

\edef\uparrow{\delimiter"3\@tempa 22378 }
\edef\downarrow{\delimiter"3\@tempa 23379 }
\edef\Uparrow{\delimiter"3\@tempa 2A37E }
\edef\Downarrow{\delimiter"3\@tempa 2B37F }
\edef\updownarrow{\delimiter"3\@tempa 6C33F }
\edef\Updownarrow{\delimiter"3\@tempa 6D377 }

%% polish |\leq| |\geq|
\let\leq=\xleq
\let\xgeq=\geq

\edef\@tempa{\hexnumber@\eufm}
\mathcode`\(="4\@tempa 28
\mathcode`\)="4\@tempa 29
\mathcode`\[="4\@tempa 5B
\mathcode`\]="5\@tempa 5D
\delcode`\(="\@tempa 28300
\delcode`\)="\@tempa 29301
\delcode`\[="\@tempa 5B302
\delcode`\]="\@tempa 5D303

\mathcode`\0="7130
\mathcode`\1="7131
\mathcode`\2="7132
\mathcode`\3="7133
\mathcode`\4="7134
\mathcode`\5="7135
\mathcode`\6="7136
\mathcode`\7="7137
\mathcode`\8="7138
\mathcode`\9="7139

%% bold characters
\mathchardef\alpha="710B
\mathchardef\beta="710C
\mathchardef\gamma="710D
\mathchardef\delta="710E
\mathchardef\epsilon="710F
\mathchardef\zeta="7110
\mathchardef\eta="7111
\mathchardef\theta="7112
\mathchardef\iota="7113
\mathchardef\kappa="7114
\mathchardef\lambda="7115
\mathchardef\mu="7116
\mathchardef\nu="7117
\mathchardef\xi="7118
\mathchardef\pi="7119
\mathchardef\rho="711A
\mathchardef\sigma="711B
\mathchardef\tau="711C
\mathchardef\upsilon="711D
\mathchardef\phi="711E
\mathchardef\chi="711F
\mathchardef\psi="7120
\mathchardef\omega="7121
\mathchardef\varepsilon="7122
\mathchardef\vartheta="7123
\mathchardef\varpi="7124
\mathchardef\varrho="7125
\mathchardef\varsigma="7126
\mathchardef\varphi="7127
%% Wstawione przez TP -------------------------------------------------
%% 22.02.1996
\mathchardef\Relbar="3B3D % we need the old = to match \Arrows
\mathchardef\Gamma="7100
\mathchardef\Delta="7101
\mathchardef\Theta="7102
\mathchardef\Lambda="7103
\mathchardef\Xi="7104
\mathchardef\Pi="7105
\mathchardef\Sigma="7106
\mathchardef\Upsilon="7107
\mathchardef\Phi="7108
\mathchardef\Psi="7109
\mathchardef\Omega="710A
%%TP(22.02.96--koniec wstawki) ----------------------------------------

\def\mit{\fam\@ne}              % from \plain
\def\cal{\fam\tw@}              % from \plain
\def\sy{\cal}

%%  |plss| fonts are not needed all the time.  Permit as-needed access.

\def\LoadSansFonts{%
  \global\font\twelvess=plss10 scaled \magstep1
  \global\font\elevenss=plss10 scaled \magstephalf
  \global\font\elevenssb=plssbx10 scaled \magstephalf
  \global\font\tenss=plss10
  \global\font\tenssb=plssbx10
  \global\font\sevenssb=plssbx10 at7pt %%StaW 17VI.96
  \global\font\niness=plss9
  \global\font\eightss=plss8
  \addto\tenpoint{\gdef\ssf{\tenss}\gdef\ssfb{\tenssb}}
  \addto\ninepoint{\gdef\ssf{\niness}}
  \addto\eightpoint{\gdef\ssf{\eightss}}
  \gdef\LoadSansFonts{}}

%% Left aligned math displays and oldstyle equation numbers
%% (see \TB\ p.~376, 362 and \eplain)

\newif\ifeqno

\everydisplay{\displaysetup}

\def\displaysetup#1$${\displaytest#1\eqno\eqno\relax}

\def\displaytest#1\eqno#2\eqno#3\relax{%
        \if!#3!\leftdisplaytest#1\leqno\leqno\relax
        \else\eqnotrue\def\Equation{#1}\def\EqNo{#2}\fi
        \hbox to \displaywidth
           {\kern\parindent$\displaystyle\Equation$%
                   \hfil\ifeqno$\oldstyle\EqNo$\fi}$$}

\def\leftdisplaytest#1\leqno#2\leqno#3\relax{%
        \def\Equation{#1}
        \if!#3!\eqnofalse\else\eqnotrue\def\EqNo{#2}\fi}

\def\eqalignno#1{\displ@y
  \vcenter{%
    \advance\displaywidth by -\parindent
    \halign to\displaywidth{%
       $\@lign\displaystyle{##}$\tabskip=\z@skip
      &$\@lign\displaystyle{{}##}$\hfil\tabskip=\centering
      &\llap{$\@lign\oldstyle##$}\tabskip\z@skip\crcr
      #1\crcr}}}%

\let\leqalignno=\eqalignno

\font \seventeenssb=plssbx10 scaled \magstep3 % do formatu A4 (SW)
%\font \fourteenssb=plssbx10 scaled \magstep2 %% do formatu B5 17 za du/ze!! SW)
\font \twelvessb=plssbx10 scaled \magstep1
%\font \tenssb=plssbx10 % scaled \magstep1
\font \bdingbatfont=qzdr at15pt %% do B% at13pt (SW)
\newfam\sectitlefam
\textfont\sectitlefam=\seventeenssb \scriptfont\sectitlefam=\twelvessb
%\textfont\sectitlefam=\fourteenssb \scriptfont\sectitlefam=\tenssb %do B5 (SW)

%%|\stbaselineskip| set in |cmn.sty|
\def\sectitlefont{%
  \fam\sectitlefam \seventeenssb \baselineskip=\stbaselineskip }
%  \fam\sectitlefam \fourteenssb \baselineskip=\stbaselineskip } % do B5 (SW)

\def\addto#1#2{%
  \csname @addsto\string#1\endcsname=
  \expandafter{\the\csname @addsto\string#1\endcsname#2}}
\def\@additionsto#1{\expandafter\the\csname @addsto\string#1\endcsname}
\expandafter\newtoks\csname @addsto\string\tenpoint\endcsname
\expandafter\newtoks\csname @addsto\string\ninepoint\endcsname
\expandafter\newtoks\csname @addsto\string\eightpoint\endcsname

\newskip\ttglue
\def\setttglue{%
  \edef\@thefont{\the\font}%  to restore this font after the setting
  \tt \ttglue=.5em plus .25em minus .15em
  \@thefont}

%%  We assume that |\scriptscriptfonts| remain the same throughout
\scriptscriptfont\z@=\fiverm
\scriptscriptfont\@ne=\fivei
\scriptscriptfont\tw@=\fivesy
\scriptscriptfont\thr@@=\tenex
\scriptscriptfont\bffam=\sixbf
\scriptscriptfont\euex=\teneuex
\scriptscriptfont\eufm=\fiveeufm

\newdimen\normaltenpointstretch    \normaltenpointstretch=1.6667pt
\def\NormalTenPointSpacing{\AdjustNormalSpacing\tenpoint{}}
\def\StretchyTenPointSpacing{\AdjustNormalSpacing\tenpoint{1.5}}

\def\tenpoint{%
  \normalbaselineskip=13pt
  \abovedisplayskip=3pt plus 3pt minus 1pt
  \belowdisplayskip=3pt plus 3pt minus 1pt
  \abovedisplayshortskip=0pt plus 3pt
  \belowdisplayshortskip=1pt plus 3pt minus 1pt
  \def\rm{\fam\z@\tenrm}%
  \textfont\z@=\tenrm \scriptfont\z@=\sevenrm
  \def\oldstyle{\fam\eufm\teneufm}%
  \textfont\@ne=\teni \scriptfont\@ne=\seveni
  \textfont\tw@=\tensy \scriptfont\tw@=\sevensy
  \textfont\thr@@=\tenex \scriptfont\thr@@=\tenex
  \def\it{\fam\itfam\tenit}%
  \textfont\itfam=\tenit \scriptfont\itfam=\sevenit
  \def\sl{\fam\slfam\tensl}%
  \textfont\slfam=\tensl \scriptfont\slfam=\sevensl
  \def\bf{\def\sl{\tenbfsl}\fam\bffam\tenbf}%
  \textfont\bffam=\tenbf \scriptfont\bffam=\eightbf
  \textfont\euex=\teneuex \scriptfont\euex=\teneuex
  \textfont\eufm=\teneufm \scriptfont\eufm=\eighteufm
  \def\sc{\tensmc}%   \smc changed to \sc as in LaTeX - StaW 12XII95
  \def\SMC{\ninerm}%
  \def\tt{\tentt}%
  \setttglue
  \def\upright{\tenuit}%
  \setbox\strutbox=\hbox{\vrule height8.5pt depth2.5pt width\z@}%
  \setbox\struttbox=\hbox{\vrule height9.0pt depth4.0pt width\z@}%
  \normalbaselines \rm
  \@additionsto\tenpoint}

\tenpoint
\LoadSansFonts

\newdimen\normalninepointstretch   \normalninepointstretch=1.5pt
\def\NormalNinePointSpacing{\AdjustNormalSpacing\ninepoint{}}
\def\StretchyNinePointSpacing{\AdjustNormalSpacing\ninepoint{1.5}}

\def\ninepoint{\normalbaselineskip=11pt
  \abovedisplayskip=2.5pt plus 2.5pt minus 1pt
  \belowdisplayskip=2.5pt plus 2.5pt minus 1pt
  \abovedisplayshortskip=0pt plus 2.5pt
  \belowdisplayshortskip=1pt plus 2.5pt minus 1pt
  \def\rm{\fam\z@\ninerm}%
  \textfont\z@=\ninerm \scriptfont\z@=\sevenrm
  \def\oldstyle{\fam\eufm\nineeufm}%
  \textfont\@ne=\ninei \scriptfont\@ne=\seveni
  \textfont\tw@=\ninesy \scriptfont\tw@=\sevensy
  \def\it{\fam\itfam\nineit}%
  \textfont\itfam=\nineit
  \def\sl{\fam\slfam\ninesl}%
  \textfont\slfam=\ninesl
  \def\bf{\fam\bffam\ninebf}%
  \textfont\bffam=\ninebf \scriptfont\bffam=\sevenbf
  \textfont\euex=\nineeuex \scriptfont\euex=\nineeuex
  \textfont\eufm=\nineeufm \scriptfont\eufm=\seveneufm
  \def\sc{\ninesmc}% \smc changed to \sc as in LaTeX - StaW 12XII95
  \def\tt{\ninett}%
        \setttglue
  \setbox\strutbox=\hbox{\vrule height 6.75pt depth 2.25pt width\z@}%
  \setbox\struttbox=\hbox{\vrule height 7.75pt depth 3.25pt width\z@}%
  \normalbaselines \rm
  \@additionsto\ninepoint }

\newdimen\normaleightpointstretch  \normaleightpointstretch=1.333pt
\def\NormalEightPointSpacing{\AdjustNormalSpacing\eightpoint{}}
\def\StretchyEightPointSpacing{\AdjustNormalSpacing\eightpoint{1.5}}

\def\eightpoint{\normalbaselineskip=10pt
  \abovedisplayskip=2pt plus 2pt minus 1pt
  \belowdisplayskip=2pt plus 2pt minus 1pt
  \abovedisplayshortskip=0pt plus 2pt
  \belowdisplayshortskip=1pt plus 2pt minus 1pt
  \def\rm{\fam\z@\eightrm}%
  \textfont\z@=\eightrm \scriptfont\z@=\sixrm
  \def\oldstyle{\fam\eufm\eighteufm}%
  \textfont\@ne=\eighti \scriptfont\@ne=\sixi
  \textfont\tw@=\eightsy \scriptfont\tw@=\sixsy
  \def\it{\fam\itfam\eightit}%
  \textfont\itfam=\eightit
  \def\sl{\fam\slfam\eightsl}%
  \textfont\slfam=\eightsl
  \def\bf{\fam\bffam\eightbf}%
  \textfont\bffam=\eightbf \scriptfont\bffam=\sixbf
  \textfont\euex=\eighteuex \scriptfont\euex=\eighteuex
  \textfont\eufm=\eighteufm \scriptfont\eufm=\sixeufm
  \def\sc{\eightsmc}% \smc changed to \sc as in LaTeX - StaW 12XII95
  \def\tt{\eighttt}%
  \setttglue
  \setbox\strutbox=\hbox{\vrule height 6pt depth 2pt width\z@}%
  \setbox\struttbox=\hbox{\vrule height 7pt depth 3pt width\z@}%
  \normalbaselines \rm
  \@additionsto\eightpoint }

\def\@setstretch{\fontdimen3\the\font=}

%% |#1| = pointsize, |#2| = adjustment factor
\def\AdjustNormalSpacing#1#2{%
  {\T@stDimen=#2\csname normal\expandafter\gobble\string#1stretch\endcsname
  #1%
  \rm\@setstretch\T@stDimen
  \it\@setstretch\T@stDimen
  \bf\@setstretch\T@stDimen
  }}

\newdimen\trimlgt       \trimlgt=11in
\newdimen\headmargin    \headmargin=3.5pc
\newdimen\pagelgt
\newdimen\rheadlgt      \rheadlgt=2.5pc         % + headmargin = 6pc = 1in
\newdimen\toplgt        \toplgt=\z@
%\newdimen\normalcollgt  \normalcollgt=19.5cm % B5 (SW)
\newdimen\normalcollgt  \normalcollgt=54pc % --- A4 (SW) -- \vsize
\newdimen\collgt        \collgt=\normalcollgt
\newdimen\Collgt
\maxdepth=2pt
\newdimen\botlgt        \botlgt=\z@
\newdimen\rfootlgt      \rfootlgt=2pc

\newif\ifThisIsFirstPage        \ThisIsFirstPagefalse

\def\resetpagelgt{%
  \pagelgt=\collgt \Collgt=\collgt
  \advance\pagelgt by \rheadlgt
  \ifThisIsFirstPage \advance\Collgt by-\toplgt
                     \advance\Collgt by-\botlgt \fi
  \advance\pagelgt by \maxdepth
  \global\advance\pagelgt by \rfootlgt
  \global\vsize=\Collgt }

\def\resetfpagelgt{%
  \global\ThisIsFirstPagetrue
  \resetpagelgt }                 % exclude special first page material

\resetpagelgt
%\raggedbottom %% normalnie wy��czony, w�acza� indywidualnie w artykule (SW)

\newdimen\colwd
\newdimen\intercolwd    \intercolwd=\z@
%\newdimen\pagewd        \pagewd=12.5cm % B5 (SW)
\newdimen\pagewd        \pagewd=39pc %%SW
\newdimen\trimwd        \trimwd=\pagewd
\newdimen\oddleftindent \oddleftindent\z@
\newdimen\evenleftindent \evenleftindent\z@

\def\onecol{\colwd=\pagewd            \OneCol }

\newdimen\onenarrowcolwd        \onenarrowcolwd=30pc
\def\onenarrow{\colwd=\onenarrowcolwd \OneCol }

\newdimen\onemediumcolwd        \onemediumcolwd=34pc
\def\onemedium{\colwd=\onemediumcolwd  \OneCol }

\newdimen\twocolcolwd           \twocolcolwd=18.75pc
\def\twocol{\colwd=\twocolcolwd \intercolwd=1.5pc \TwoCol }

\newdimen\threecolcolwd         \threecolcolwd=12pc
\def\threecol{\colwd=\threecolcolwd \intercolwd=1.5pc \ThreeCol }

\def\CenterOneCol{%
  \oddleftindent\pagewd
  \advance\oddleftindent -\colwd
  \divide\oddleftindent\tw@
  \evenleftindent\oddleftindent
  \coloffset\ifodd\pageno\oddleftindent\else\evenleftindent\fi
  }

\def\OneCol{\hsize=\colwd \CenterOneCol \numcols=1 \resetmaxcols}
\def\ZeroLeftIndents{\oddleftindent\z@ \evenleftindent\z@ \coloffset\z@ }
\def\TwoCol{\hsize=\colwd \numcols=2 \resetmaxcols \ZeroLeftIndents}
\def\ThreeCol{\hsize=\colwd \numcols=3 \resetmaxcols \ZeroLeftIndents}

\def\resetmaxcols{%
  \ifnum\numcols>\maxcols
    \ifOverlaysinTeX \maxcols=\numcols
    \else \immediate\write\sixt@@n{%
      The new setting of \string\numcols is greater than \string\maxcols.^^J
      Either allow overlays in TeX or increase \string\maxcols.}\fi
  \fi}

\def\pagenoprefix{}

\def\rtitlex{\def\tubfont{\tenpoint\rm}\GUSTB, \volx }
\def\rtitle{%
  \hbox to \pagewd{%
    \tenrm
    \makestrut[10pt;\z@]%
    \ifodd\pageno \rlap{\volyr}\hfil %% TP@@
    \rtitlex\hfil\llap{\pagenoprefix\number%
%%\pageno} 
\pageno}%%
    \else \rlap{\pagenoprefix\number\pageno}\hfil
 %%   \rtitlex\hfil\llap{\volyr} \fi %% TP@@
    \rtitlex\hfil\llap{\volyr}\fi %% TP@@
    }%
  }

\def\runhead{\vbox to \rheadlgt{\rtitle \vfil }}

\def\rfoot{%
  \hbox to \pagewd{%
    \tenrm
    \makestrut[\z@;0.5pc]%
    \midrtitle\hfil\midrtitle
    }%
  }

\def\runfoot{\vbox to \rfootlgt{\vfil \rfoot }}

\newif\if@floatable     \@floatabletrue
\def\nofloat{\@floatablefalse}
%% sometimes we don't want midinsertions to float

%% redefine |\@ins| to avoid the |\par| of \plain
\def\@ins{\begingroup\setbox\z@\vbox\bgroup}

\newinsert\botins
\newif\ifp@ge \newif\if@mid \newif\if@bot
\def\topinsert{\@midfalse\p@gefalse\@botfalse\@ins}
\def\botinsert{\@midfalse\p@gefalse\@bottrue\@ins}
\def\midinsert{\@midtrue\@botfalse\@ins}
\def\pageinsert{\@midfalse\@botfalse\p@getrue\@ins}
\skip\botins=\z@skip
\count\botins=1000
\dimen\botins=\maxdimen
\def\endinsert{\egroup % finish the |\vbox|
  \gdef\@next{}%
  \if@mid \dimen@\ht\z@ \advance\dimen@\dp\z@
    \advance\dimen@12\p@ \advance\dimen@\pagetotal
    \if@floatable
      \ifdim\dimen@>\pagegoal\@midfalse\@botfalse\p@gefalse\fi\fi
  \fi
  \if@mid
    \vskip\abovedisplayskip
    \box\z@
    \vskip\belowdisplayskip
    \gdef\@next{\@asifbelowdisplay}%
  \else\insert\if@bot\botins\else\topins\fi
   {\penalty100 % floating insertion
    \if@bot\medskip\nobreak\fi
    \splittopskip\z@skip
    \splitmaxdepth\maxdimen \floatingpenalty\z@
    \ifp@ge \dimen@\dp\z@
      \vbox to\vsize{\unvbox\z@\kern-\dimen@}% depth is zero
    \else \box\z@\fi
    \if@bot\else\medskip\fi
   }%
  \fi\endgroup\@next}

\skip\footins=10pt
%\def\footnoterule{\kern-8pt
\def\footnoterule{%\kern-8pt  %% StaW
%        \hrule width 5pc \kern 7.6pt } % the |\hrule| is .4pt high
    \hrule width 5pc \vskip 6.6pt plus1pt minus4.5pt } %% StaW

\newif\ifDelayFirstPar          \DelayFirstParfalse

\def \footnote#1%
    {\let\@sf\empty % parameter #2 (the text) is read later
     \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
     $\kern.11111em{}^{\scriptstyle#1}$\@sf\vfootnote{#1}}
  
\def \vfootnote#1%
    {\ifFirstPar \DelayFirstPartrue \fi
     \insert\footins\bgroup%
     \interlinepenalty\interfootnotelinepenalty%
     \splittopskip=10dd %WB top baseline for broken footnotes
     \splitmaxdepth=\maxdimen \floatingpenalty\@MM%
     \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip%
     \noindent$#1$:\enspace\footstrut\futurelet\next\fo@t}

\def\@foot{\strut\egroup
        \ifDelayFirstPar \SetupFirstPar \global\DelayFirstParfalse \fi }
\newif\ifFirstPar       \FirstParfalse
\def\SetupFirstPar{\global\parindent=\z@ \global\FirstPartrue }

\def\pagecontents{%
  \ifvoid\topins\else\unvbox\topins\fi
  \dimen@=\dp\@cclv \unvbox\@cclv % open up \box255
  \ifr@ggedbottom \kern-\dimen@ \vfil \fi
  \ifvoid\footins\else % footnote info is present
    \vskip\skip\footins
    \footnoterule
    \unvbox\footins\fi
  \ifvoid\botins\else
    \vskip\skip\botins
    \unvbox\botins\fi }

\newif\ifOverlaysinTeX          \OverlaysinTeXtrue

\def\midpage#1{%
  \vbox{
    \basezero
    \hrule height\z@ depth\z@ width\p@
    \vskip-\rheadlgt           % this puts runhead above default offset
    \vbox to \pagelgt{
      \ifnum\xcol=\numcols \runhead \else \vbox to \rheadlgt{}\fi
      \ifThisIsFirstPage \firsthead \fi
      \hbox to \pagewd{#1}       % |\vsize| applied in |\pagebody|
      \ifThisIsFirstPage \firstfoot \fi
      \vfil                      % if no depth, avoid underfull box
      \ifnum\xcol=\numcols \runfoot \else \vbox to \rfootlgt{}\fi
      }
    }}

%% |\xcol| is the column number within a page; ranges from |1| to |\maxcols|
\countdef\xcol=1        \xcol=1

%%  |\spoolno| is the ordinal number of |.dvi| pages (i.e. the number
%%  of |\shipouts| performed)
\countdef\spoolno=2     \spoolno=0

\def\newcol{\endgraf\vfill\eject}

\def\newpage{%
  \vfill\eject
  \loop
  \ifnum\xcol>1
    {\leavevmode\endgraf\vfill\eject} % |\xcol| is advanced in the output 
%routine
  \repeat
  }

\newcount\numcols               % `real' number of columns

\newcount\@maxcolsofar          % internal counter for box allocation
\@maxcolsofar=0

\newcount\maxcols               % job-wide maximum number of columns

                                % save the column or ship it out
\def\@saveorship{%
  \ifOverlaysinTeX
    \ifnum\xcol>\@maxcolsofar   % if we need another column box allocated
      \global\advance\@maxcolsofar\@ne
      \newboxcs{column\number\xcol}%
    \fi
    \global\setboxcs{column\number\xcol}%
  \else
    \global\advance\spoolno\@ne
    \shipout
  \fi
  }

%%  horizontal offset of column from left edge of page
\newdimen\coloffset             \coloffset\z@
\def\incrcoloffset{%
  \global\advance\coloffset\colwd
  \global\advance\coloffset\intercolwd
  }

\def\output@{%
  \@saveorship\midpage{\kern\coloffset\pagebody\hfil}
  \incrcoloffset
  \ifnum\xcol=\numcols   % if at `real' last column, fill out page with
    \loop                % empty columns
    \ifnum\xcol<\maxcols
      \global\advance\xcol\@ne
      \@saveorship\midpage{\vbox to \collgt{}\hfil}
    \repeat
  \fi
  \ifnum\xcol=\maxcols   % put page together if \TeX\ is overlaying
    \ifOverlaysinTeX
      \global\advance\spoolno\@ne
      \shipout\hbox{%
        \xcol=1
        \loop \rlap{\boxcs{column\number\xcol}}%
        \ifnum\xcol<\maxcols
          \global\advance\xcol\@ne
        \repeat
        \hbox to \pagewd{}%
        }%
    \fi
    \D@EndPage          % possible shortening of next page
    \global\coloffset\ifodd\pageno\oddleftindent\else\evenleftindent\fi
    \global\xcol=1
  \else
    \global\advance\xcol\@ne
  \fi
  \ExecuteNextDC         % possible `Delayed Command'
  }

\newif\ifSh@rtPage              \Sh@rtPagefalse
\newif\ifSh@rtPagePending       \Sh@rtPagePendingfalse
\newcount\Sh@rtPageNo
\newdimen\Sh@rtPageLgt

\def\@to{to}                    \def\@by{by}
%%      |#1| = to/by; |#2| = |\dimen|; |#3 = <dimen>|; |#4 = * of Shorten*Page|
\def\@toby#1#2#3#4{%
  \def\@tb{#1}%
  \ifx \@tb\@to \global #2=#3
  \else \ifx \@tb\@by \T@stDimen=#3         % accommodate negative |#3|
             #2=\normalcollgt \global\advance #2 by -\T@stDimen
        \else \errmessage{#1 is invalid syntax; \string\Shorten#4Page
                          requires "to" or "by"}\fi
  \fi }

\def\@plusno#1#2;{%
  \if +#1\T@stCount=\pageno \advance\T@stCount by #2
  \else \T@stCount=#1#2 \fi }

\def\ShortenPage #1 #2 #3. {%
  \global\Sh@rtPagePendingtrue
  \@plusno#1;\global\Sh@rtPageNo=\T@stCount
  \@toby{#2}{\Sh@rtPageLgt}{#3}{}}
\def\ShortenThisPage #1 #2. {%
  \global\Sh@rtPagetrue
  \@toby{#1}{\vsize}{#2}{This}}

%%  Two cases: |0| = last page was nonstandard; reset |\vsize|
%%             |1| = do not reset |\vsize|: okay or length already reset
\def\D@EndPage{%
  \global\advancepageno
  \T@stCount=1
  \ifThisIsFirstPage \T@stCount=0 \global\ThisIsFirstPagefalse
                     \resetfirsthead \resetfirstfoot
                     \global\collgt=\normalcollgt \fi
  \ifSh@rtPage \T@stCount=0 \global\Sh@rtPagefalse \fi
  \ifSh@rtPagePending
    \ifnum\pageno = \Sh@rtPageNo \T@stCount=1
      \global\vsize=\Sh@rtPageLgt
      \global\Sh@rtPagePendingfalse
      \global\Sh@rtPagetrue \fi
  \fi
  \ifcase \T@stCount \resetpagelgt \fi }

\newtoks\@DelayedCommandList

\def\DelayedCommand #1 #2 #3\endCommand{%
  \@plusno#1;%
  \edef\@temp{\the\@DelayedCommandList<\number\T@stCount>}%
  \global\@DelayedCommandList=\expandafter{\@temp<#2>#3\endCommand}%
  }

\def\@FindNextDCPoint <#1><#2>#3\endList{%
  \def\DCpage{#1}\def\DCcolumn{#2}}

\def\FindNextDCPoint{%
  \edef\@temp{\the\@DelayedCommandList}%
  \ifx\@temp\empty \def\DCpage{\@M}\def\DCcolumn{0}%
  \else
    \edef\@form{%
      \noexpand\@FindNextDCPoint\the\@DelayedCommandList\noexpand\endList}%
    \@form
  \fi}

\def\@ExecuteNextDC <#1><#2>#3\endCommand#4\endList{%
  \global\@DelayedCommandList={#4}%
  #3}

\def\ExecuteNextDC{%
  \FindNextDCPoint
  \ifnum \pageno=\DCpage \ifnum\xcol=\DCcolumn
    \edef\@form{%
      \noexpand\@ExecuteNextDC\the\@DelayedCommandList\noexpand\endList}%
    \@form
  \fi \fi}

\def\if@baseis@next{\ifx\@basetoken\@nexttoken}

\long\def\@checknexttoken #1#2#3{%
  \futurelet\@basetoken\iffalse#1\fi
  \long\def\@next{%
    \if@baseis@next
      \long\def\@@next{#2}%
    \else\long\def\@@next{#3}\fi
    \@@next}%
  \futurelet\@nexttoken\@next}

%% execute |#2| after ignoring (possibly) one occurrence of |#1|
\long\def\@ignoreone#1#2{%
  \def\@ignoreform#1{#2}%
  \@checknexttoken{#1}{\@ignoreform}{#2}%
  }

%% execute |#2| after ignoring all occurrences of |#1|
\long\def\@ignoreall#1#2{%
  \def\@ignoreform#1{\@ignoretest}%
  \def\@ignoretest{\@checknexttoken{#1}{\@ignoreform}{#2}}%
  \@ignoretest
  }

%% execute |#1| after ignoring spaces
\def\DeleteOptionalSpaces#1{%
  \@ignoreall{ }{#1}%
  }
%% execute |#1| after ignoring spaces and |\pars|
\def\DeleteOptionalSpacesandPars#1{%
  \@ignoreall{ }{\@ignoreall{\par}{#1}}%
  }

\def\@checkoptions{%
  \if@lastoption
    \def\@next{\@executetoend}%
  \else
    \def\@next{\@checknexttoken {[}{\@readoptions}{\@executetoend}}%
  \fi
  \@next
  }

\newif\if@lastoption            \@lastoptionfalse
\def\lastoption{\@lastoptiontrue}

\newif\if@longform              \@longformfalse
\def\longform{\@longformtrue}

\newif\if@savingargument        \@savingargumentfalse

\newtoks\enddelim

\def\@defaultoptions{%
  \@lastoptionfalse
  \@longformfalse
  \@savingargumentfalse
  \enddelim=\expandafter{\csname end\CurrentTag\endcsname}%
  \let\@long\empty
  }

\def\@readoptions{%
  \savecat\\\makeescape\\%
  \savecat\{\makebgroup\{%
  \savecat\}\makeegroup\}%
  \@@readoptions}

\def\@@readoptions[#1]{%
  #1%
  \restorecat\\\restorecat\{\restorecat\}%
  \DeleteOptionalSpaces{\@checkoptions}%
  }

\newtoks\@otherSFD
\@otherSFD={*}
\let\@SFD=*                     % used in |\@checknexttoken|

\newtoks\@activeSFD
{\makeactive\*
 \global\@activeSFD={*}%
}

\let\@plainast=\ast
\def\ast{\ifmmode\@plainast\else *\fi}

\newcount\@numarguments         \@numarguments=1

\def\@executetoend{%
  \ifnum\@numarguments>0
    \if@longform \def\@afterbegintag{\@longparse}%
    \else
      \def\@afterbegintag{\@checknexttoken
                  {\@SFD}{\@shortparse}{\@longparse}}%
    \fi
  \else
    \def\@afterbegintag{}%
  \fi
  \csname @begin\CurrentTag\endcsname
  \@afterbegintag
  }

\newtoks\@argument

\def\@shortparse{%
  \if@savingargument
    \edef\@form{%
      \def\noexpand\@@shortparse\the\@otherSFD####1\the\@otherSFD}%
    \@long\@form{\@argument{##1}\csname end\CurrentTag\endcsname}%
  \else
    \expandafter\makeactive\csname\the\@otherSFD\endcsname
    \expandafter\def\the\@activeSFD
      {\csname end\CurrentTag\endcsname
       \expandafter\makeother\csname\the\@otherSFD\endcsname}%
    \def\@@shortparse{%
      \expandafter\@ignoreone\expandafter{\the\@otherSFD}%
        {}%
      }%
  \fi
  \@@shortparse}

\def\@longparse{%
  \if@savingargument
    \edef\@form{\def\noexpand\@@longparse####1\the\enddelim}%
    \@long\@form{\@argument{##1}\csname end\CurrentTag\endcsname}%
  \else \def\@@longparse{}\fi
  \@@longparse
  }

\def\longargument{\def\@long{\long}}

\def\@authorstyle{\@@@a}
\def\@inlinestyle{\@@@i}
\def\@displaystyle{\@@@d}
\def\@altinlinestyle{}
\def\@altdisplaystyle{}

\newif\if@removeprewhite        \@removeprewhitefalse
\newif\if@removepostwhite       \@removepostwhitefalse
\def\removeprewhite{\@removeprewhitetrue}
\def\removepostwhite{\@removepostwhitetrue}

\newif\if@ruled         \@ruledfalse
\newif\if@numbered      \@numberedfalse
\newcount\linenumber
\newcount\globallinenumber      \globallinenumber = 0
\newif\if@continuingnumbers \@continuingnumbersfalse
\def\continuenumbers{\numbered\@continuingnumberstrue}

\def\title{%
  \begingroup
  \def\CurrentTag{title}%
  \@defaultoptions
  \@savingargumenttrue
  \@checkoptions}

\def\endtitle{%
  \global\toks@=\expandafter{\the\@argument}%
  \endgroup
  \edef\thetitle{\ignorespaces\the\toks@\unskip}%
  }

\setbox\T@stBox=\hbox{\sectitlefont O}
\newdimen\stfontheight          \stfontheight=\ht\T@stBox
\newdimen\stfontwidth          \stfontwidth=\wd\T@stBox

\def\sectitle{%
  \begingroup
  \def\CurrentTag{sectitle}%
  \@defaultoptions
  \@savingargumenttrue
  \global\SecTitletrue
  \@checkoptions}

\def\endsectitle{%
  \@sectitle{\the\@argument}%
  \endgroup
  }

\newcount\authornumber

\def\author{%
  \begingroup
  \def\CurrentTag{author}%
  \global\advance\authornumber by 1
  \@defaultoptions
  \@savingargumenttrue
  \@checkoptions}

\def\endauthor{%
  \global\toks@=\expandafter{\the\@argument}%
  \endgroup
  \expandafter\edef\csname theauthor\number\authornumber\endcsname
      {\ignorespaces\the\toks@\unskip}%
  \expandafter\let\csname theaddress\number\authornumber\endcsname\relax
%% line copied from TUGBOAT.STY (StaW)
  \expandafter\let\csname thenetaddress\number\authornumber\endcsname\relax
  }

\def\address{%
  \begingroup
  \def\CurrentTag{address}%
  \@defaultoptions
  \@savingargumenttrue
  \let\@addressstyle=\@authorstyle
  \def\inline{\let\@addressstyle=\@inlinestyle}%
  \def\display{\let\@addressstyle=\@displaystyle}%
  \@checkoptions}

\def\endaddress{%
  \ifx\@addressstyle\@inlinestyle
    \def\\{, }\the\@argument
    \endgroup
    \def\@next{}%
  \else\ifx\@addressstyle\@displaystyle
    \endgraf\raggedright
    \everypar={\hangindent 1.5\parindent}%
    \def\\{\endgraf}%
    \def\|{\unskip\hfil\break}%
    \vskip\abovedisplayskip
    \the\@argument\endgraf
    \vskip\belowdisplayskip
    \@asifbelowdisplay
    \endgroup
    \def\@next{\ignorespaces}%
  \else
    \global\toks@=\expandafter{\the\@argument}%
    \endgroup
    \expandafter\edef\csname theaddress\number\authornumber\endcsname
      {\ignorespaces\the\toks@\unskip}%
    \def\@next{}%
  \fi \fi
  \@next
  }

%  network addresses %% Added by StaW from TUGBOAT.STY

\def\netaddress{%
  \begingroup
  \def\CurrentTag{netaddress}%
  \@defaultoptions
  \@savingargumenttrue
  \let\@network\relax
  \def\network##1{\def\@network{##1: }}%
  \@SpecialsGetOther
  \makeescape\\%
  \netaddrat
  \netaddrpercent
  \@checkoptions}

{\makeactive\@
 \gdef\netaddrat{\makeactive\@\def@{\char"40\discretionary{}{}{}}}
 \makeactive\%
 \gdef\netaddrpercent{\makeactive\%\def%{\char"25\discretionary{}{}{}}}
}

%  We want the definition of \thenetaddress... to land at the right
%  nesting level, so we have to first pull it to the top, then
%  drop back to where we are.

\def\endnetaddress{%
  \global\toks@=\expandafter{\the\@argument}%
  \ifx\@network\relax
    \gdef\@@network{}%
  \else
    \xdef\@@network{\@network}%
  \fi
  \endgroup
  \expandafter\edef\csname thenetaddress\number\authornumber\endcsname
    {{\noexpand\rm\@@network}%
     {\noexpand\netaddrat\noexpand\netaddrpercent\noexpand\net
      \ignorespaces\the\toks@\unskip}}%
  }

\def\net{\tt}

%% end of insertion by StaW

\def\authorlist#1{\def\@authorlist{#1}}

\def\article{%
  \@allowspanningfigsfalse
  \ifSecTitle \global\SecTitlefalse
  \else \vskip\AboveTitleSkip
    \kern\topskip
    \nullhrule
    \kern-\topskip
    \kern-\strulethickness
    \hrule height\strulethickness depth\z@
    \nobreak
    \kern\bigskipamount
  \fi
%%
  \ifx\thetitle\relax % title
  \else
    \nobreak
    {\parskip\z@
      \noindent\def\\{\unskip\break}\raggedright\twelvessb %\elevenssb %%SW
      \ignorespaces\thetitle\unskip\endgraf}%
  \fi
%%
  \nobreak
  \kern\medskipamount
%%
  \ifnum\authornumber>0  % authors
  \nobreak
  \vskip4pt
  {\parskip\z@
  \def\\{\unskip\hfil\break}\hangindent\parindent\raggedright\elevenss
     \@authorlist\endgraf}%
  \fi
%%
  \vskip \BelowTitleSkip
  \vskip -\parskip
  \tenpoint
  \DeleteOptionalSpacesandPars{\noindent\ignorespaces}%
  }

\def\endarticle{\vfil\end}              % redefined in drivers

\newcount\headlevel     \headlevel=1

\def\head{%
  \begingroup
  \def\CurrentTag{head}%
  \@allowindentfalse
  \@defaultoptions
  \@savingargumenttrue
  \def\\{\break}%
  \@checkoptions}

\def\endhead{%
  \endgraf
  \ifcase\headlevel\or\@domainhead\or\@dosubhead\or\@dosubsubhead\fi
  \endgroup
  \@next
  }

\def\@domainhead{%
  \if@removeprewhite\else\vskip\baselineskip\fi
  \noindent{\raggedright\elevenssb\ignorespaces\the\@argument\unskip\endgraf}%
  \if@removepostwhite          %  usually we want the white space
  \else\kern0.5\baselineskip\fi
  \nobreak
  \gdef\@next{%
    \if@allowindent\def\@next{}%  usually we don't want to indent here
    \else\def\@next{\DeleteOptionalSpacesandPars{\noindent\ignorespaces}}\fi
    \@next
    }%
  }

\def\@dosubhead{%
  \if@removeprewhite\else\medskip\fi
  \noindent{\frenchspacing\tenssb\ignorespaces\the\@argument
    \unskip\if@headpunctuation.\fi}%
    \hskip 0.5em plus \fontdimen3\the\font
  \gdef\@next{\DeleteOptionalSpacesandPars{}}%
  }

\def\@dosubsubhead{%
  {\tenss\ignorespaces\the\@argument\unskip}%
    \hskip 0.5em plus \fontdimen3\the\font
  \gdef\@next{\DeleteOptionalSpacesandPars{}}%
  }

\def\subhead{\head[\headlevel=2]}
\def\subsubhead{\head[\headlevel=3]}

\newif\if@headpunctuation  \@headpunctuationtrue
\def\nopunctuation{\@headpunctuationfalse}

\newif\if@allowindent
\def\allowindent{\global\@allowindenttrue}

\newcount\textlevel     \textlevel=1

\def\text{%
  \begingroup
  \def\CurrentTag{text}%
  \@defaultoptions
  \@savingargumentfalse
  \@checkoptions}

\def\@begintext{%
  \endgraf
  \ifcase\textlevel\or\or\@setupsubtext\fi
  }

\def\@setupsubtext{%
  \vskip\abovedisplayskip
  \advance\leftskip by 0.5\parindent
  \advance\rightskip by 0.5\parindent
  \ninepoint\rm
  }

\def\endtext{%
  \gdef\@next{}%
  \ifcase\textlevel\or\or\@dosubtext\fi
  \endgroup
  \@next
  }

\def\@dosubtext{%
  \endgraf
  \vskip\belowdisplayskip
  \gdef\@next{\@asifbelowdisplay}%
  }

\def\subtext{\text[\textlevel=2]}

\newcount\listlevel     \listlevel=1
\newif\if@itemized
\newcount\itemnumber
\newtoks\@itemtag
\newcount\@cols                 % number of columns in list
\newdimen\colsepwidth
\newdimen\@listindent
\newdimen\@listhangindent
\newif\if@firstitem             % when first item is handled differently
\newtoks\everylist

\def\list{%
  \begingroup
  \def\CurrentTag{list}%
  \let\@liststyle=\@displaystyle
  \def\inline{\let\@liststyle=\@inlinestyle}%
  \def\display{\let\@liststyle=\@displaystyle}%
  \def\displaystyle##1{\def\@altdisplaystyle{##1}}%
  \def\inlinestyle##1{\def\@altinlinestyle{##1}}%
  \def\item{%
    \begingroup
    \def\CurrentTag{item}%
    \@numarguments=0
    \@checkoptions}%
  \@itemtag={$\bullet$}%
  \def\tag##1{\@itemtag{##1}}%
  \def\tagform##1{\llap{##1\strutt\quad}}%
  \@itemizedtrue
  \def\unitemized{\@itemizedfalse}%
  \itemnumber=0
  \def\numbered{\@itemtag={\number\itemnumber.}}%
  \def\romannumeraled{\@itemtag={\romannumeral\itemnumber.}}%
  \def\Romannumeraled{\@itemtag=
    {\uppercase\expandafter{\romannumeral\itemnumber.}}}%
  \def\lettered{\itemnumber="60 \@itemtag={\char\itemnumber.}}%
  \def\Lettered{\itemnumber="40 \@itemtag={\char\itemnumber.}}%
  \def\dnumbered{\itemnumber="60 \@itemtag=
    {\dingbatfont\char\itemnumber}}%
  \def\ruled{\@ruledtrue}%
  \@ruledfalse
  \@cols=1
  \def\cols{\@cols}%
  \@firstitemtrue
  \def\@itemseparator{, }%
  \def\itemseparator##1{\def\@itemseparator{##1}}%
  \@defaultoptions
  \@savingargumentfalse
  \the\everylist
  \@checkoptions}

\def\@beginlist{%
  \ifx\@liststyle\@displaystyle
    \endgraf
    \ifnum\listlevel=1
      \if@ruled \if@removeprewhite\else\medskip\fi \hrule\kern5pt \nobreak
      \else \if@removeprewhite\else\vskip\abovedisplayskip \fi\fi
    \fi
    \advance\leftskip\parindent
    \@listindent=\parindent
    \@listhangindent=\@listindent
    \parindent\@listindent
    \lineskip\z@
    \if@itemized
    \else
      \parskip\z@skip
      \parindent\z@
      \raggedright
      \everypar={\advance\itemnumber\@ne
                 \tagform{\the\@itemtag}}%
      \makeCtrlMendgraf
    \fi
    \def\colsep{%
      \global\count@\itemnumber
      \egroup\kern\colsepwidth
      \vtop\bgroup
      \@altdisplaystyle
      \itemnumber=\count@\ignoreendline}%
    \ifnum\@cols>1
      \dimen@\colsepwidth
      \multiply\dimen@\@cols
      \advance\dimen@-\colsepwidth
      \advance\hsize-\dimen@
      \divide\hsize by\@cols
      \hbox\bgroup\vtop\bgroup
    \fi
    \@altdisplaystyle
  \else
    \def\tagform##1{##1\strutt\ }%
    \if@itemized
    \else
       \makeCtrlMseparator
       \advance\itemnumber by \@ne
       \tagform{\the\@itemtag}%
    \fi
    \def\colsep{}%
    \@altinlinestyle
  \fi
  }

\def\endlist{%
  \ifx\@liststyle\@displaystyle
    \if@itemized\endgraf\fi
    \ifnum\@cols>1
      \egroup   % vtop
      \egroup   % hbox
    \fi
    \ifnum\listlevel=1
      \if@ruled \kern5pt\hrule\nobreak\vskip2\medskipamount
      \else %\nobreak
        \if@removepostwhite\else\vskip\belowdisplayskip\fi
      \fi
      \gdef\@next{\@asifbelowdisplay}%
    \fi
  \else \gdef\@next{}%
  \fi
  \endgroup     % list
  \@next
  }

\def\sublist{\list[\listlevel=2]}

\newtoks\everyitem      \everyitem{}

\def\@beginitem{%
  \ifx\@liststyle\@displaystyle
    \endgraf
    \if@firstitem\@firstitemfalse\else\vskip\smallskipamount\fi
    \advance\itemnumber by \@ne
    \noindent\leavevmode
    \the\everyitem
    \tagform{\the\@itemtag}%
  \else
    \def\item{\if@firstitem\@firstitemfalse\else\unskip\@itemseparator\fi
              \advance\itemnumber by \@ne\the\@itemtag\enspace}%
  \fi
  \global\count@\itemnumber
  \global\dimen@\hangindent
  \endgroup
  \itemnumber\count@
  \hangindent\dimen@
  }

%% sets default to display style
\def\verbatim{\@verbatim[\display]}

\def\@verbatim{%
  \begingroup
  \setupverbatim
  \@checkoptions
  }

\def\setupverbatim{%
  \def\CurrentTag{verbatim}%
  \@defaultoptions
  \def\inline{\let\@verbstyle\@inlinestyle}%
  \def\display{\let\@verbstyle\@displaystyle}%
  \def\displaystyle##1{\def\@altdisplaystyle{##1}}%
  \def\inlinestyle##1{\def\@altinlinestyle{##1}}%
  \def\numbered{\@numberedtrue}%
  \def\ruled{\@ruledtrue}%
  \def\smallcode{\ninepoint\tt\baselineskip=10pt}%
  \let\@verbinputvar\relax
  \let\@verbinputfile\relax
  \@SpecialsGetOther
  \enddelim=\expandafter{\endverbdelimiter}%
  \normalspaces\frenchspacing
  \obeylines
  \@savingargumenttrue
  \the\everyverbatim
  }

\def\@SpecialsGetOther{%
  \catcode`\\=\other
  \catcode`\{=\other \catcode`\}=\other \catcode`\$=\other
  \catcode`\&=\other \catcode`\#=\other \catcode`\%=\other
  \catcode`\~=\other \catcode`\_=\other \catcode`\^=\other
  \the\@AdditionsToSpecialsGetOther}

\newtoks\@AdditionsToSpecialsGetOther

\def\AddToSpecialsGetOther#1{%
  \@AdditionsToSpecialsGetOther=
   \expandafter{\the\@AdditionsToSpecialsGetOther#1}}

\newtoks\everyverbatim

{\catcode`\|=0 \catcode`\\=\other
|gdef|endverbdelimiter{\endverbatim}}

\def\inputfromvar#1{\def\@verbinputvar{#1}}%
\def\inputfromfile#1{\def\@verbinputfile{#1}}%
\let\@verbinputvar\relax
\let\@verbinputfile\relax

\newif\if@outputtotype  \@outputtotypetrue
\def\notype{\@outputtotypefalse}
\def\outputtovar#1{\def\@verboutputvar{#1}}
\def\outputtofile#1{\def\@verboutputfile{#1}}
\let\@verboutputvar\relax
\let\@verboutputfile\relax
\newwrite\verboutfile

\def\@beginverbatim{\obeyspaces}

\def\endverbatim{%
 \ifx\@verboutputvar\relax\else         % output to `variable'
   \expandafter\xdef\csname\@verboutputvar\endcsname{\the\@argument}%
 \fi
 \ifx\@verboutputfile\relax\else        % output to file
   \immediate\openout\verboutfile=\@verboutputfile
   \makeCtrlMnewlinechar
   \iffalse{\fi\expandafter\@setupverbwrite\the\@argument}% use |\@setupwrite| 
%to
   \immediate\closeout\verboutfile              % get rid of initial |^^M|
 \fi
 \gdef\@next{}% in case following clause is false
 \if@outputtotype % output typeset on page
  \tt
  \ifx\@verbstyle\@inlinestyle
    \@beforeverbinline
    \@altinlinestyle
  \else
    \@beforeverbdisplay
    \@altdisplaystyle
  \fi
  \ifx\@verbinputvar\relax\else         % input from `variable'
    \csname\@verbinputvar\endcsname
  \fi
  \ifx\@verbinputfile\relax\else        % input from file
    \fileinput{\@verbinputfile}%
    \@endverbatim
  \fi
  \expandafter\@ignoreCtrlMverbendline\the\@argument\@endverbatim
  \ifx\@verbstyle\@inlinestyle
    \@afterverbinline
  \else
    \@afterverbdisplay\gdef\@next{\@asifbelowdisplay}%
  \fi
 \fi
 \endgroup
 \@next
 }

\def\@beforeverbinline{%
    \makeCtrlMverbspace
    \let\@endverbatim=\empty
  }

\def\@beforeverbdisplay{%
  \def\@endverbatim{\verbendline}%
  \if@ruled \medskip \hrule\kern5pt \nobreak
  \else \vskip\abovedisplayskip
  \fi
  \makespaceverbspace
  \makeCtrlMverbendline
  \parskip=\z@skip
  \if@numbered \parindent=\z@
    \if@continuingnumbers
    \else \global\globallinenumber = \z@ \fi
    \linenumber=\z@ \fi
  \everypar={\global\advance\globallinenumber by\@ne
          \advance\linenumber by\@ne
          \ifnum\linenumber<3 \vadjust{\nobreak}\fi
          \if@numbered \leavevmode
              \hbox to\normalparindent{\hss\sevenrm\the\globallinenumber.\ }%
          \fi}%
  \frenchspacing\rightskip=-\ttrightskip \hyphenpenalty\@M
  }

\newdimen\ttrightskip   \ttrightskip=1pc

\def\@afterverbinline{}

\def\@afterverbdisplay{%
  \if@ruled \kern5pt\hrule\fi
  \ifnum\linenumber<3 \penalty\z@ \fi
  \if@removepostwhite\else
    \if@ruled \vskip2\medskipamount \else \vskip\belowdisplayskip\fi
  \fi
 }

\def\@asifbelowdisplay{%
  \toks@=\expandafter{\the\everypar}%
  \noindent
  \everypar=\expandafter{\the\toks@}%
  \ignorespaces}

\def\@ignoreendverbatim{\@ignoreone{\@endverbatim}{}}
\def\verbendline{\leavevmode\null\endgraf}
\def\makeCtrlMactive{\catcode`\^^M=\active}
{\makeCtrlMactive
\gdef\makeCtrlMverbendline{\makeCtrlMactive%
 \def^^M{\@ignoreone{\@endverbatim}{\verbendline}}}%
\makeCtrlMverbendline%
\gdef\@ignoreCtrlMverbendline{\@ignoreone{
}{\@ignoreendverbatim}}%
\gdef\@setupverbwrite{\@ignoreone{
}{\immediate\write\verboutfile\bgroup}}%
\gdef\makeCtrlMverbspace{\makeCtrlMactive\def^^M{\verbatimspace}}%
\gdef\makeCtrlMnewlinechar{\newlinechar=`\^^M}%
\gdef\makeCtrlMendgraf{\makeCtrlMactive\def^^M{\strutt\endgraf}}%
\gdef\makeCtrlMseparator{\makeCtrlMactive%
  \def^^M{%
    \@checknexttoken {\endlist}{}{%
      \@itemseparator\advance\itemnumber by \@ne \tagform{\the\@itemtag}%
      \ignorespaces}}}%
}

{\makeCtrlMactive\obeyspaces%
\gdef\makeCtrlMempty{\def^^M{}}%
\gdef\makespaceempty{\def {}}%
}
{\makeCtrlMactive\obeyspaces%
\gdef\makeCtrlMspace{\def^^M{\space}}%
\gdef\makespacespace{\def {\space}}%
}

{\makeCtrlMactive%
\gdef\@ignoreCtrlM#1{\@ignoreone{^^M}{#1}}%
\gdef\ignoreendline{\@ignoreCtrlM{}}%
}

\def\verbatimspace{\ifvmode\indent\fi\space}
{\obeyspaces\gdef\makespaceverbspace{\def {\verbatimspace}}}

\def\verbinline{\verbatim[\inline]}
\def\verbdisplay{\verbatim[\display]}
\def\verbfile#1{\verbatim[\inputfromfile{#1}]}

\newtoks\@verbchar

\def\@firstverbchar{%
  \begingroup
  \setupverbatim
%%  |\@SpecialsGetOther|
  \makeverbcharactive
  \expandafter\@checknexttoken\expandafter{\the\@verbchar}%
    {\expandafter\@ignoreone\expandafter{\the\@verbchar}%
      {\endgroup\verbatim[\longform\maketwoendverb]}}%
    {\endgroup\verbatim[\inline\longform\makeoneendverb]}%
  }

\def\setupverbchar{%
 \def\makeoneendverb{\catcode\expandafter`\csname\expandafter
        \string\the\@verbchar\endcsname=
    \active\edef\endverbdelimiter{\the\@verbchar}%
    \enddelim=\expandafter{\endverbdelimiter}}%
  \def\maketwoendverb{\catcode\expandafter`\csname\expandafter
        \string\the\@verbchar\endcsname=
    \active\edef\endverbdelimiter{\the\@verbchar\the\@verbchar}%
    \enddelim=\expandafter{\endverbdelimiter}}%
  \expandafter\let\the\@verbchar\@firstverbchar
  \makeverbcharactive
  \AddToSpecialsGetOther{%
    \catcode\expandafter`\csname
        \expandafter\string\the\@verbchar\endcsname=\other}%
  }

\def\makeverbcharactive{%
  \catcode\expandafter`\csname
        \expandafter\string\the\@verbchar\endcsname=\active}

{\makeother\| \gdef\VertChar{|}}
{\makeactive\|
\gdef\makevertverbchar{%
  \@verbchar={|}%
  \setupverbchar
  }
}

{\makeother\! \gdef\WowChar{!}}
{\makeactive\!
\gdef\makewowverbchar{%
  \@verbchar={!}%
  \setupverbchar
  }
}

\def\MTH{$}
\def\sb{_}
\def\sp{^}
\def\SP{{\tt\char"20 }}         % "visible" space
\chardef\bs=`\\
\def\vrt{{\tt\char`\|}}
\def\brokenvert{\hbox to 5.24998pt{\hfill
  \lower 1.5pt\vbox to 8.5pt{\hrule width .9pt height 3.25pt
  \vfill\hrule width .9pt height 3.25pt}\hfill}}

\def\:{\kern0.08em}     %% defined as small kern between e.g. 11\:--\:11 - StaW
\def\|{\kern0.15em}     %% defined as small kern between e.g. m.\|in. - StaW
\def\@lt{$<$}
\def\@gt{$>$}
{\makeactive\<
\gdef\enablemetacode{%
  \AddToSpecialsGetOther{\catcode`\<=\other}%
  \makeactive\<%
  \def<##1>{$\langle${\it\makeCtrlMspace\makespacespace##1\/}$\rangle$}%
  }
}

\newif\if@@mid  \@@midfalse
\newif\if@@bot  \@@botfalse
\def\@caption{}
\newif\if@fixed \@fixedfalse

%% items for top and bottom ``banners'' on first page
\def\resetfirsthead{\global\toplgt=\z@ \gdef\firsthead{}}
\resetfirsthead
\newbox\firsth@@d       \newbox\firsth@ad

\def\resetfirstfoot{\global\botlgt=\z@ \gdef\firstfoot{}}
\resetfirstfoot
\newbox\firstf@@t       \newbox\firstf@ot

\newif\if@allowspanningfigs

\newcount\@figurepage
\newcount\@figurescol
\newcount\@figureecol

\def\figure{%
  \begingroup
  \def\CurrentTag{figure}%
  \@defaultoptions
  \@savingargumentfalse
  \def\top{}%
  \def\bot{\@@bottrue}%
  \def\mid{\@@midtrue}%
  \def\caption##1{\def\@caption{\ulap{\bigskip##1\smallskip}}}%
  \def\fixed{\@fixedtrue}%
  \def\scol{\@figurescol}%
  \def\ecol{\@figureecol}%
  \@figurepage=\pageno
  \@figurescol=1
  \@figureecol=\numcols
  \def\page{%
    \@ignoreall{\space}%
      {\@ignoreone{=}%
         {\@ignoreall{\space}%
            {\@checknexttoken{+}{\@ignoreone{+}{\advance\@figurepage by}}%
                 {\@figurepage=}%
            }%
         }%
      }%
    }%
  \@checkoptions}

\def\@beginfigure{%
  \if@fixed
    \global\ThisIsFirstPagetrue
    \setbox\T@stBox=\vbox\bgroup \hsize\pagewd
  \else
    \if@@mid\midinsert\else\if@@bot\botinsert\else\topinsert\fi\fi
  \fi
  }

\def\endfigure{%
  \@caption
  \if@fixed
    \egroup
    \if@allowspanningfigs
      \ifnum\@figurepage>\pageno
        \immediate\write\sixt@@n{^^J
           Setting multiple column figures currently not allowed on pages^^J
           other than the first of each article.  Check your source file.^^J}%
      \else
        \if@@bot
          \ifdim \botlgt=\z@ \global\botlgt=\ht\T@stBox \resetpagelgt \fi
          \global\setbox\firstf@ot=\vbox to \botlgt{\box\T@stBox \vfil}%
          \global\setbox\firstf@@t=\vbox to \botlgt{\vfil}%
          \gdef\firstfoot{\ifnum \xcol=2 \copy\firstf@ot
                                  \else \copy\firstf@@t \fi }%
        \else
          \ifdim \toplgt=\z@ \global\toplgt=\ht\T@stBox \resetpagelgt \fi
%%                   assume that |\firsth@ad| ends with glue, hence no |\dp|
          \global\setbox\firsth@ad=\vbox to \toplgt{\box\T@stBox \vfil}%
          \global\setbox\firsth@@d=\vbox to \toplgt{\vfil}%
          \gdef\firsthead{\ifnum \xcol=2 \box\firsth@ad
                                  \else \copy\firsth@@d \fi }%
        \fi
      \fi
    \else
      \immediate\write\sixt@@n{^^J
         Setting multiple column figures currently not allowed after^^J
         article has begun.^^J}%
    \fi
  \else \endinsert
  \fi
  \endgroup
  }

\def\twocolfigure{%
  \figure[\fixed]}

\def\linebreak{\unskip\break}           % conflicts with \LaTeX\ definition

\def\NormalizeBlockHeight{%
  \TestCount=1                         % |\@ne|
  \TestDimen=\dimen0 \advance\TestDimen by-\topskip
  \CutOneLine }
\def\CutOneLine{%
  \advance\TestCount by 1 \advance\TestDimen by-\baselineskip
  \ifdim\TestDimen < \baselineskip                        % |\@ne|
     \def\result{%
       \TestDimen=\baselineskip
       \multiply\TestDimen by \TestCount
       \advance\TestDimen by \topskip
       \global\dimen0=\TestDimen }%
  \else \def\result{\CutOneLine }\fi
  \result }

\def\twosplit{%
  {\topskip=\baselineskip \splittopskip=\topskip
   \setbox0=\copy\TestBox
   \dimen0=\ht\TestBox
   \NormalizeBlockHeight
   \divide\dimen0 by 2
   \setbox\LeftHalf=\vsplit\TestBox to \dimen0
   \ifdim\ht\TestBox > \ht\LeftHalf
     \advance\dimen0 by \baselineskip
     \setbox\TestBox=\copy0
     \setbox\LeftHalf=\vsplit\TestBox to \dimen0
   \fi
   \line{\kern\parindent\valign{##\vfil\cr
         \unvbox\LeftHalf\cr\noalign{\hfil}\unvbox\TestBox\cr}}%
   }%
  \global\setbox0=\null}

\newbox\LeftHalf
\newdimen\HalfWd
\HalfWd=\twocolcolwd
\advance\HalfWd by-\normalparindent
\divide\HalfWd by 2

{\obeylines
\gdef\twouplist #1{%
  \topskip=\baselineskip \splittopskip=\topskip
  \begingroup \parindent=\z@ \obeylines
%% next line ends with intentional |<cr>|
  \def\endtwouplist{
    \egroup % end of |\vbox|
    \endgroup % end of |\obeylines| group
    \twosplit }%
  \global\setbox\TestBox=\vbox\bgroup\hsize=\HalfWd %
    \indent\vrule height\topskip width \z@ #1}%
}

\def\Editor{\noindent Do redakcji:\par}
\def\EdNote #1{%
  \if #1[%
    \ifvmode \smallskip\noindent \else \unskip\hskip1em \fi
    [\thinspace\xEdNote\ignorespaces
  \else \ifFirstPar \else \medskip\noindent \fi
  \xEdNote #1\fi }

\def\bigbox{\hrule \hbox\bgroup \vrule\kern 1pc
        \vbox\bgroup \vskip 1pc }
\def\endbox{\endgraf \vskip 1pc \egroup \kern 1pc\vrule \egroup \hrule }

\def\initializearticle{%
  \let\thetitle=\relax
  \authornumber=0
  \def\@signature{\@defaultsignature}%
  \def\@authorlist{\@defaultauthorlist}%
  \@allowspanningfigstrue
  }

\makeother\@

%%   |@| is prohibited in \AmSTeX, but should not be in \GUSTB

\twocol
\maxcols=2
\OverlaysinTeXtrue
\PrelimDrafttrue
\initializearticle
\pageno=1001                    % number of title page

%\StretchyTenPointSpacing
%\StretchyNinePointSpacing
%\StretchyEightPointSpacing

\makevertverbchar

\endinput
