csit-15-vsc-exp

Experience in building virtual private supercomputer
git clone https://git.igankevich.com/csit-15-vsc-exp.git
Log | Files | Refs

CSITproc.cls (38975B)


      1 % CSITproc.CLS - VERSION 0.1
      2 
      3 \typeout{Document Class 'CSITproc' <1th. Febrary '11>}
      4 
      5 \usepackage{epsfig}
      6 
      7 \usepackage{graphics}
      8 
      9 \oddsidemargin  -0.24 cm
     10 \evensidemargin  -0.24 cm
     11 \textwidth 165mm
     12 
     13 %\oddsidemargin 5.5pc
     14 %\evensidemargin 5.5pc
     15 %\advance\oddsidemargin by -1in  % Correct for LaTeX gratuitousness
     16 %\advance\evensidemargin by -1in % Correct for LaTeX gratuitousness
     17 \marginparwidth 0pt             % Margin pars are not allowed.
     18 \marginparsep 11pt              % Horizontal space between outer margin and
     19                                 % marginal note
     20 
     21                                 % Top of page:
     22 \topmargin 4.5pc                % Nominal distance from top of page to top of
     23                                 % box containing running head.
     24 \advance\topmargin by -1in      % Correct for LaTeX gratuitousness
     25 \headheight 0pt                 % Height of box containing running head.
     26 \headsep 0pt                    % Space between running head and text.
     27                                 % Bottom of page:
     28 \footskip 30pt                  % Distance from baseline of box containing foot
     29                                 % to baseline of last line of text.
     30 \@ifundefined{footheight}{\newdimen\footheight}{}% this is for LaTeX2e
     31 \footheight 12pt                % Height of box containing running foot.
     32 
     33 
     34 %% Must redefine the top margin so there's room for headers and
     35 %% page numbers if you are using the preprint option. Footers
     36 %% are OK as is. Olin.
     37 \advance\topmargin by -37pt     % Leave 37pt above text for headers
     38 \headheight 12pt                % Height of box containing running head.
     39 \headsep 25pt                   % Space between running head and text.
     40 
     41 \textheight 735pt       % 9 1/4 column height
     42 %\textwidth 42pc         % Width of text line.
     43                         % For two-column mode:
     44 \columnsep 2pc          %    Space between columns
     45 \columnseprule 0pt      %    Width of rule between columns.
     46 \hfuzz 1pt              % Allow some variation in column width, otherwise it's
     47                         % too hard to typeset in narrow columns.
     48 
     49 \footnotesep 5.5pt      % Height of strut placed at the beginning of every
     50                         % footnote =3D height of normal \footnotesize strut,
     51                         % so no extra space between footnotes.
     52 
     53 \skip\footins 8.1pt plus 4pt minus 2pt  % Space between last line of text and
     54                                         % top of first footnote.
     55 \floatsep 11pt plus 2pt minus 2pt       % Space between adjacent floats moved
     56                                         % to top or bottom of text page.
     57 \textfloatsep -37pt plus 2pt minus 4pt  % Space between main text and floats **********************
     58                                         % at top or bottom of page.
     59 \intextsep 11pt plus 2pt minus 2pt      % Space between in-text figures and
     60                                         % text.
     61 \@ifundefined{@maxsep}{\newdimen\@maxsep}{}% this is for LaTeX2e
     62 \@maxsep 18pt                           % The maximum of \floatsep,
     63                                         % \textfloatsep and \intextsep (minus
     64                                         % the stretch and shrink).
     65 \dblfloatsep 11pt plus 2pt minus 2pt    % Same as \floatsep for double-column
     66                                         % figures in two-column mode.
     67 \dbltextfloatsep 18pt plus 2pt minus 4pt% \textfloatsep for double-column
     68                                         % floats.
     69 \@ifundefined{@dblmaxsep}{\newdimen\@dblmaxsep}{}% this is for LaTeX2e
     70 \@dblmaxsep 18pt                        % The maximum of \dblfloatsep and
     71                                         % \dbltexfloatsep.
     72 \@fptop 0pt plus 1fil    % Stretch at top of float page/column. (Must be
     73                          % 0pt plus ...)
     74 \@fpsep 8pt plus 2fil    % Space between floats on float page/column.
     75 \@fpbot 0pt plus 1fil    % Stretch at bottom of float page/column. (Must be
     76                          % 0pt plus ... )
     77 \@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus ...)
     78 \@dblfpsep 8pt plus 2fil % Space between floats on float page.
     79 \@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be
     80                          % 0pt plus ... )
     81 \marginparpush 5pt       % Minimum vertical separation between two marginal
     82                          % notes.
     83 
     84 \parskip 0pt                % Extra vertical space between paragraphs.
     85                     % Set to 0pt outside sections, to keep section heads
     86                     % uniformly spaced.  The value of parskip is set
     87                     % to leading value _within_ sections.
     88                     % 12 Jan 2000 gkmt
     89 \parindent 0pt                % Width of paragraph indentation.
     90 \partopsep 2pt plus 1pt minus 1pt% Extra vertical space, in addition to
     91                                  % \parskip and \topsep, added when user
     92                                  % leaves blank line before environment.
     93 
     94 \@lowpenalty   51       % Produced by \nopagebreak[1] or \nolinebreak[1]
     95 \@medpenalty  151       % Produced by \nopagebreak[2] or \nolinebreak[2]
     96 \@highpenalty 301       % Produced by \nopagebreak[3] or \nolinebreak[3]
     97 
     98 \@beginparpenalty -\@lowpenalty % Before a list or paragraph environment.
     99 \@endparpenalty   -\@lowpenalty % After a list or paragraph environment.
    100 \@itempenalty     -\@lowpenalty % Between list items.
    101 
    102 \@namedef{ds@10pt}{\@latexerr{The `10pt' option is not allowed in the `acmconf'
    103   document style.}\@eha}
    104 \@namedef{ds@11pt}{\@latexerr{The `11pt' option is not allowed in the `acmconf'
    105   document style.}\@eha}
    106 \@namedef{ds@12pt}{\@latexerr{The `12pt' option is not allowed in the `acmconf'
    107   document style.}\@eha}
    108 
    109 \@options
    110 
    111 \lineskip 2pt           % \lineskip is 1pt for all font sizes.
    112 \normallineskip 2pt
    113 \def\baselinestretch{1}
    114 
    115 \abovedisplayskip 9pt plus2pt minus4.5pt%
    116 \belowdisplayskip \abovedisplayskip
    117 \abovedisplayshortskip  \z@ plus3pt%
    118 \belowdisplayshortskip  5.4pt plus3pt minus3pt%
    119 \let\@listi\@listI     % Setting of \@listi added 9 Jun 87
    120 
    121 \def\small{\@setsize\small{9pt}\viiipt\@viiipt
    122 \abovedisplayskip 7.6pt plus 3pt minus 4pt%
    123 \belowdisplayskip \abovedisplayskip
    124 \abovedisplayshortskip \z@ plus2pt%
    125 \belowdisplayshortskip 3.6pt plus2pt minus 2pt
    126 \def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87
    127 \topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt
    128 \itemsep \parsep}}
    129 
    130 \def\footnotesize{\@setsize\footnotesize{9pt}\ixpt\@ixpt
    131 \abovedisplayskip 6.4pt plus 2pt minus 4pt%
    132 \belowdisplayskip \abovedisplayskip
    133 \abovedisplayshortskip \z@ plus 1pt%
    134 \belowdisplayshortskip 2.7pt plus 1pt minus 2pt
    135 \def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87
    136 \topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt
    137 \itemsep \parsep}}
    138 
    139 \newcount\aucount
    140 \newcount\originalaucount
    141 \newdimen\auwidth
    142 \auwidth=\textwidth
    143 \newdimen\auskip
    144 \newcount\auskipcount
    145 \newdimen\auskip
    146 \global\auskip=1pc
    147 \newdimen\allauboxes
    148 \allauboxes=\auwidth
    149 \newtoks\addauthors
    150 \newcount\addauflag
    151 \global\addauflag=0 %Haven't shown additional authors yet
    152 
    153 \newtoks\subtitletext
    154 \gdef\subtitle#1{\subtitletext={#1}}
    155 
    156 \gdef\additionalauthors#1{\addauthors={#1}}
    157 
    158 \gdef\numberofauthors#1{\global\aucount=#1
    159 \ifnum\aucount>3\global\originalaucount=\aucount \global\aucount=3\fi %g}
    160 \global\auskipcount=\aucount\global\advance\auskipcount by 1
    161 \global\multiply\auskipcount by 2
    162 \global\multiply\auskip by \auskipcount
    163 \global\advance\auwidth by -\auskip
    164 \global\divide\auwidth by \aucount}
    165 
    166 % \and was modified to count the number of authors.  GKMT 12 Aug 1999
    167 \def\alignauthor{%                  % \begin{tabular}
    168 \end{tabular}%
    169   \begin{tabular}[t]{p{\auwidth}}\centering}%
    170 
    171 % -- Start of block B -- METAFONT
    172 % +++++++++++++++++++++++++++++++++++++++++++++
    173 % Next (default) block for those using Metafont
    174 % Gerry Murray 11/11/1999
    175 % *** THIS BLOCK FOR THOSE USING METAFONT *****
    176 % *********************************************
    177 \newfont{\secfnt}{ptmb7t at 12pt}
    178 \newfont{\secit}{ptmbi7t at 12pt}
    179 \newfont{\subsecfnt}{ptmri7t at 11pt}
    180 \newfont{\subsecit}{ptmbi7t at 11pt}  % 13 Jan 00 gkmt -- was ptmr changed to ptmbi gm 2/4/2000
    181                          % because "normal" is italic, "italic" is Roman
    182 \newfont{\ttlfnt}{ptmr7t at 19pt} %phvb7t
    183 \newfont{\ttlit}{phvbo7t at 18pt}    % GM 2/4/2000
    184 \newfont{\subttlfnt}{phvr7t at 14pt}
    185 \newfont{\subttlit}{phvro7t at 14pt} % GM 2/4/2000
    186 \newfont{\subttlbf}{phvb7t at 14pt}  % 13 Jan 00 gkmt
    187 \newfont{\aufnt}{ptmr7t at 11pt}
    188 \newfont{\auit}{phvro7t at 12pt}     % GM 2/4/2000
    189 \newfont{\affaddr}{ptmr7t at 9pt}
    190 \newfont{\affaddrit}{phvro7t at 10pt} % GM 2/4/2000
    191 \newfont{\eaddfnt}{ptmr7t at 10pt}
    192 \newfont{\ixpt}{ptmr7t at 9pt}
    193 \newfont{\confname}{ptmri7t at 8pt}
    194 \newfont{\crnotice}{ptmr7t at 8pt}
    195 \newfont{\ninept}{ptmr7t at 9pt}
    196 % +++++++++++++++++++++++++++++++++++++++++++++
    197 % -- End of block B --
    198 
    199 \def\email#1{{{\eaddfnt{\vskip 4pte-mail: #1}}}}
    200 
    201 \def\affiliation#1{{{\affaddr{\vskip 4pt#1}}}}
    202 
    203 \def\addauthorsection{\ifnum\originalaucount>3
    204     \section{Additional Authors}\the\addauthors
    205   \fi}
    206 
    207 \newcount\savesection
    208 \newcount\sectioncntr
    209 \global\sectioncntr=1
    210 
    211 \setcounter{secnumdepth}{3}
    212 
    213 \def\appendix{\par
    214 \section*{APPENDIX}
    215 \setcounter{section}{0}
    216 \setcounter{subsection}{0}
    217 \def\thesection{\Alph{section}} }
    218 
    219 
    220 \leftmargini 22.5pt
    221 \leftmarginii 19.8pt    % > \labelsep + width of '(m)'
    222 \leftmarginiii 16.8pt   % > \labelsep + width of 'vii.'
    223 \leftmarginiv 15.3pt    % > \labelsep + width of 'M.'
    224 \leftmarginv 9pt
    225 \leftmarginvi 9pt
    226 
    227 \leftmargin\leftmargini
    228 \labelsep 4.5pt
    229 \labelwidth\leftmargini\advance\labelwidth-\labelsep
    230 
    231 \def\@listI{\leftmargin\leftmargini \parsep 3.6pt plus 2pt minus 1pt%
    232 \topsep 7.2pt plus 2pt minus 4pt%
    233 \itemsep 3.6pt plus 2pt minus 1pt}
    234 
    235 \let\@listi\@listI
    236 \@listi
    237 
    238 \def\@listii{\leftmargin\leftmarginii
    239    \labelwidth\leftmarginii\advance\labelwidth-\labelsep
    240    \topsep 3.6pt plus 2pt minus 1pt
    241    \parsep 1.8pt plus 0.9pt minus 0.9pt
    242    \itemsep \parsep}
    243 
    244 \def\@listiii{\leftmargin\leftmarginiii
    245     \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
    246     \topsep 1.8pt plus 0.9pt minus 0.9pt
    247     \parsep \z@ \partopsep 1pt plus 0pt minus 1pt
    248     \itemsep \topsep}
    249 
    250 \def\@listiv{\leftmargin\leftmarginiv
    251      \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
    252 
    253 \def\@listv{\leftmargin\leftmarginv
    254      \labelwidth\leftmarginv\advance\labelwidth-\labelsep}
    255 
    256 \def\@listvi{\leftmargin\leftmarginvi
    257      \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}
    258 
    259 \def\labelenumi{\theenumi.}
    260 \def\theenumi{\arabic{enumi}}
    261 
    262 \def\labelenumii{(\theenumii)}
    263 \def\theenumii{\alph{enumii}}
    264 \def\p@enumii{\theenumi}
    265 
    266 \def\labelenumiii{\theenumiii.}
    267 \def\theenumiii{\roman{enumiii}}
    268 \def\p@enumiii{\theenumi(\theenumii)}
    269 
    270 \def\labelenumiv{\theenumiv.}
    271 \def\theenumiv{\Alph{enumiv}}
    272 \def\p@enumiv{\p@enumiii\theenumiii}
    273 
    274 \def\labelitemi{$\bullet$}
    275 \def\labelitemii{\bf --}
    276 \def\labelitemiii{$\ast$}
    277 \def\labelitemiv{$\cdot$}
    278 
    279 \def\verse{\let\\=\@centercr
    280   \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent
    281           \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
    282 \let\endverse\endlist
    283 
    284 \def\quotation{\list{}{\listparindent 1.5em
    285     \itemindent\listparindent
    286     \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]}
    287 \let\endquotation=\endlist
    288 
    289 \def\quote{\list{}{\rightmargin\leftmargin}\item[]}
    290 \let\endquote=\endlist
    291 
    292 \def\descriptionlabel#1{\hspace\labelsep \bf #1}
    293 \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
    294        \let\makelabel\descriptionlabel}}
    295 
    296 \let\enddescription\endlist
    297 
    298 \def\theequation{\arabic{equation}}
    299 
    300 \arraycolsep 4.5pt   % Half the space between columns in an array environment.
    301 \tabcolsep 5.4pt     % Half the space between columns in a tabular environment.
    302 \arrayrulewidth .4pt % Width of rules in array and tabular environment.
    303 \doublerulesep 1.8pt % Space between adjacent rules in array or tabular env.
    304 
    305 \tabbingsep \labelsep   % Space used by the \' command.  (See LaTeX manual.)
    306 
    307 \skip\@mpfootins =\skip\footins
    308 
    309 \fboxsep =2.7pt      % Space left between box and text by \fbox and \framebox.
    310 \fboxrule =.4pt      % Width of rules in box made by \fbox and \framebox.
    311 
    312 \def\thepart{\Roman{part}} % Roman numeral part numbers.
    313 \def\thesection       {\arabic{section}}
    314 \def\thesubsection    {\thesection.\arabic{subsection}}
    315 %\def\thesubsubsection {\thesubsection.\arabic{subsubsection}} % GM 7/30/2002
    316 %\def\theparagraph     {\thesubsubsection.\arabic{paragraph}}  % GM 7/30/2002
    317 \def\thesubparagraph  {\theparagraph.\arabic{subparagraph}}
    318 
    319 \def\@pnumwidth{1.55em}
    320 \def\@tocrmarg {2.55em}
    321 \def\@dotsep{4.5}
    322 \setcounter{tocdepth}{3}
    323 
    324 \def\tableofcontents{\@latexerr{\tableofcontents: Tables of contents are not
    325   allowed in the `acmconf' document style.}\@eha}
    326 
    327 \def\l@part#1#2{\addpenalty{\@secpenalty}
    328    \addvspace{2.25em plus 1pt}  % space above part line
    329    \begingroup
    330    \@tempdima 3em       % width of box holding part number, used by
    331      \parindent \z@ \rightskip \@pnumwidth      %% \numberline
    332      \parfillskip -\@pnumwidth
    333      {\large \bf        % set line in \large boldface
    334      \leavevmode        % TeX command to enter horizontal mode.
    335      #1\hfil \hbox to\@pnumwidth{\hss #2}}\par
    336      \nobreak           % Never break after part entry
    337    \endgroup}
    338 
    339 \def\l@section#1#2{\addpenalty{\@secpenalty} % good place for page break
    340    \addvspace{1.0em plus 1pt}   % space above toc entry
    341    \@tempdima 1.5em             % width of box holding section number
    342    \begingroup
    343      \parindent \z@ \rightskip \@pnumwidth
    344      \parfillskip -\@pnumwidth
    345      \bf                        % Boldface.
    346      \leavevmode                % TeX command to enter horizontal mode.
    347       \advance\leftskip\@tempdima %% added 5 Feb 88 to conform to
    348       \hskip -\leftskip           %% 25 Jan 88 change to \numberline
    349      #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par
    350    \endgroup}
    351 
    352 
    353 \def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
    354 \def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
    355 \def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
    356 \def\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
    357 
    358 \def\listoffigures{\@latexerr{\listoffigures: Lists of figures are not
    359   allowed in the `acmconf' document style.}\@eha}
    360 
    361 \def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
    362 
    363 \def\listoftables{\@latexerr{\listoftables: Lists of tables are not
    364   allowed in the `acmconf' document style.}\@eha}
    365 \let\l@table\l@figure
    366 
    367 \def\footnoterule{\kern-3\p@
    368   \hrule width .4\columnwidth
    369   \kern 2.6\p@}                 % The \hrule has default height of .4pt .
    370 % ------
    371 \long\def\@makefntext#1{\noindent 
    372 %\hbox to .5em{\hss$^{\@thefnmark}$}#1}   % original
    373 \hbox to .5em{\hss\textsuperscript{\@thefnmark}}#1}  % C. Clifton / GM Oct. 2nd. 2002
    374 % -------
    375 
    376 \long\def\@maketntext#1{\noindent
    377 #1}
    378 
    379 \long\def\@maketitlenotetext#1#2{\noindent
    380             \hbox to 1.8em{\hss$^{#1}$}#2}
    381 
    382 \setcounter{topnumber}{2}
    383 \def\topfraction{.7}
    384 \setcounter{bottomnumber}{1}
    385 \def\bottomfraction{.3}
    386 \setcounter{totalnumber}{3}
    387 \def\textfraction{.2}
    388 \def\floatpagefraction{.5}
    389 \setcounter{dbltopnumber}{2}
    390 \def\dbltopfraction{.7}
    391 \def\dblfloatpagefraction{.5}
    392 
    393 \long\def\@makecaption#1#2{
    394    \vskip \baselineskip
    395    \setbox\@tempboxa\hbox{\small{#1. #2}}
    396    \ifdim \wd\@tempboxa >\hsize % IF longer than one line:
    397        \textbf{#1: #2}\par               %   THEN set as ordinary paragraph.
    398      \else                      %   ELSE  center.
    399        \hbox to\hsize{\hfil\box\@tempboxa\hfil}\par
    400    \fi}
    401 
    402 \@ifundefined{figure}{\newcounter {figure}} % this is for LaTeX2e
    403 
    404 \def\fps@figure{tbp}
    405 \def\ftype@figure{1}
    406 \def\ext@figure{lof}
    407 \def\fnum@figure{Figure \thefigure}
    408 \def\figure{\@float{figure}}
    409 \let\endfigure\end@float
    410 \@namedef{figure*}{\@dblfloat{figure}}
    411 \@namedef{endfigure*}{\end@dblfloat}
    412 
    413 \@ifundefined{table}{\newcounter {table}} % this is for LaTeX2e
    414 
    415 \def\fps@table{tbp}
    416 \def\ftype@table{2}
    417 \def\ext@table{lot}
    418 \def\fnum@table{Table \thetable}
    419 \def\table{\@float{table}}
    420 \let\endtable\end@float
    421 \@namedef{table*}{\@dblfloat{table}}
    422 \@namedef{endtable*}{\end@dblfloat}
    423 
    424 \newtoks\titleboxnotes
    425 \newcount\titleboxnoteflag
    426 
    427 \def\maketitle{\par
    428  \begingroup
    429    \def\thefootnote{\fnsymbol{footnote}}
    430    \def\@makefnmark{\hbox
    431        to 0pt{$^{\@thefnmark}$\hss}}
    432      \twocolumn[\@maketitle]
    433 \@thanks
    434  \endgroup
    435  \setcounter{footnote}{0}
    436  \let\maketitle\relax
    437  \let\@maketitle\relax
    438  \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@subtitle{}\let\thanks\relax
    439  \@copyrightspace}
    440 
    441 %% CHANGES ON NEXT LINES
    442 \newif\if@ll % to record which version of LaTeX is in use
    443 
    444 \expandafter\ifx\csname LaTeXe\endcsname\relax % LaTeX2.09 is used
    445 \else% LaTeX2e is used, so set ll to true
    446 \global\@lltrue
    447 \fi
    448 
    449 \if@ll
    450   \NeedsTeXFormat{LaTeX2e}
    451   \ProvidesClass{CSITproc} [2004/15/10 - V2.7SP - based on esub2acm.sty <23 April 96>]
    452   \RequirePackage{latexsym}% QUERY: are these two really needed?
    453   \let\dooptions\ProcessOptions
    454 \else
    455   \let\dooptions\@options
    456 \fi
    457 %% END CHANGES
    458 
    459 \def\@height{height}
    460 \def\@width{width}
    461 \def\@minus{minus}
    462 \def\@plus{plus}
    463 \def\hb@xt@{\hbox to}
    464 \newif\if@faircopy
    465 \@faircopyfalse
    466 \def\ds@faircopy{\@faircopytrue}
    467 
    468 \def\ds@preprint{\@faircopyfalse}
    469 
    470 \@twosidetrue
    471 \@mparswitchtrue
    472 \def\ds@draft{\overfullrule 5\p@}
    473 %% CHANGE ON NEXT LINE
    474 \dooptions
    475 
    476 \lineskip \p@
    477 \normallineskip \p@
    478 \def\baselinestretch{1}
    479 \def\@ptsize{0} %needed for amssymbols.sty
    480 
    481 %% CHANGES ON NEXT LINES
    482 \if@ll% allow use of old-style font change commands in LaTeX2e
    483 \@maxdepth\maxdepth
    484 %
    485 \DeclareOldFontCommand{\rm}{\ninept\rmfamily}{\mathrm}
    486 \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
    487 \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
    488 \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
    489 \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
    490 \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
    491 \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
    492 \DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}}
    493 \DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}}
    494 \fi
    495 %
    496 \if@ll
    497  \renewcommand{\rmdefault}{cmr}  % was 'ttm'
    498 % Note! I have also found 'mvr' to work ESPECIALLY well.
    499 % Gerry - October 1999
    500 % You may need to change your LV1times.fd file so that sc is
    501 % mapped to cmcsc - -for smallcaps -- that is if you decide
    502 % to change {cmr} to {times} above. (Not recommended)
    503   \renewcommand{\@ptsize}{}
    504   \renewcommand{\normalsize}{%
    505     \@setfontsize\normalsize\@ixpt{10.5\p@}%\ninept%
    506     \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@
    507     \belowdisplayskip \abovedisplayskip
    508     \abovedisplayshortskip 6\p@ \@minus 3\p@
    509     \belowdisplayshortskip 6\p@ \@minus 3\p@
    510     \let\@listi\@listI
    511   }
    512 \else
    513   \def\@normalsize{%changed next to 9 from 10
    514     \@setsize\normalsize{9\p@}\ixpt\@ixpt
    515    \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@
    516     \belowdisplayskip \abovedisplayskip
    517     \abovedisplayshortskip 6\p@ \@minus 3\p@
    518     \belowdisplayshortskip 6\p@ \@minus 3\p@
    519     \let\@listi\@listI
    520   }%
    521 \fi
    522 \if@ll
    523   \newcommand\scriptsize{\@setfontsize\scriptsize\@viipt{8\p@}}
    524   \newcommand\tiny{\@setfontsize\tiny\@vpt{6\p@}}
    525   \newcommand\large{\@setfontsize\large\@xiipt{14\p@}}
    526   \newcommand\Large{\@setfontsize\Large\@xivpt{18\p@}}
    527   \newcommand\LARGE{\@setfontsize\LARGE\@xviipt{20\p@}}
    528   \newcommand\huge{\@setfontsize\huge\@xxpt{25\p@}}
    529   \newcommand\Huge{\@setfontsize\Huge\@xxvpt{30\p@}}
    530 \else
    531   \def\scriptsize{\@setsize\scriptsize{8\p@}\viipt\@viipt}
    532   \def\tiny{\@setsize\tiny{6\p@}\vpt\@vpt}
    533   \def\large{\@setsize\large{14\p@}\xiipt\@xiipt}
    534   \def\Large{\@setsize\Large{18\p@}\xivpt\@xivpt}
    535   \def\LARGE{\@setsize\LARGE{20\p@}\xviipt\@xviipt}
    536   \def\huge{\@setsize\huge{25\p@}\xxpt\@xxpt}
    537   \def\Huge{\@setsize\Huge{30\p@}\xxvpt\@xxvpt}
    538 \fi
    539 \normalsize
    540 
    541 % make aubox hsize/number of authors up to 3, less gutter
    542 % then showbox gutter showbox gutter showbox -- GKMT Aug 99
    543 \newbox\@acmtitlebox
    544 \def\@maketitle{\newpage
    545  \null
    546  \setbox\@acmtitlebox\vbox{%
    547 \baselineskip 20pt
    548 \vskip 2em                   % Vertical space above title.
    549    \begin{center}
    550     {\ttlfnt \@title\par}       % Title set in 18pt Helvetica (Arial) bold size.
    551     \vskip 1.5em                % Vertical space after title.
    552 %This should be the subtitle.
    553 {\subttlfnt \the\subtitletext\par}\vskip 1.25em%\fi
    554     {\baselineskip 16pt\aufnt   % each author set in \12 pt Arial, in a
    555      \lineskip .5em             % tabular environment
    556      \begin{tabular}[t]{c}\@author
    557      \end{tabular}\par}
    558     \vskip 1.5em               % Vertical space after author.
    559    \end{center}}
    560  \dimen0=\ht\@acmtitlebox
    561  \advance\dimen0 by -12.75pc\relax % Increased space for title box -- KBT
    562  \unvbox\@acmtitlebox
    563  \ifdim\dimen0<0.0pt\relax\vskip-\dimen0\fi}
    564 
    565 
    566 \newcount\titlenotecount
    567 \global\titlenotecount=0
    568 \newtoks\tntoks
    569 \newtoks\tntokstwo
    570 \newtoks\tntoksthree
    571 \newtoks\tntoksfour
    572 \newtoks\tntoksfive
    573 
    574 \def\abstract{
    575 \ifnum\titlenotecount>0 % was =1
    576     \insert\footins{%
    577     \reset@font\footnotesize
    578         \interlinepenalty\interfootnotelinepenalty
    579         \splittopskip\footnotesep
    580         \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
    581         \hsize\columnwidth \@parboxrestore
    582         \protected@edef\@currentlabel{%
    583         }%
    584         \color@begingroup
    585 \ifnum\titlenotecount=1
    586       \@maketntext{%
    587          \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\@finalstrut\strutbox}%
    588 \fi
    589 \ifnum\titlenotecount=2
    590       \@maketntext{%
    591       \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
    592 \@maketntext{%
    593          \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\@finalstrut\strutbox}%
    594 \fi
    595 \ifnum\titlenotecount=3
    596       \@maketntext{%
    597          \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
    598 \@maketntext{%
    599          \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
    600 \@maketntext{%
    601          \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\@finalstrut\strutbox}%
    602 \fi
    603 \ifnum\titlenotecount=4
    604       \@maketntext{%
    605          \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
    606 \@maketntext{%
    607          \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
    608 \@maketntext{%
    609          \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}%
    610 \@maketntext{%
    611          \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\@finalstrut\strutbox}%
    612 \fi
    613 \ifnum\titlenotecount=5
    614       \@maketntext{%
    615          \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
    616 \@maketntext{%
    617          \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
    618 \@maketntext{%
    619          \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}%
    620 \@maketntext{%
    621          \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\par\@finalstrut\strutbox}%
    622 \@maketntext{%
    623          \raisebox{4pt}{$\P$}\rule\z@\footnotesep\ignorespaces\the\tntoksfive\@finalstrut\strutbox}%
    624 \fi
    625    \color@endgroup} %g}
    626 \fi
    627 \setcounter{footnote}{0}
    628 \section*{ABSTRACT}\normalsize %\the\parskip \the\baselineskip%\ninept
    629 }
    630 
    631 \def\endabstract{\if@twocolumn\else\endquotation\fi}
    632 
    633 \def\keywords{\if@twocolumn
    634 \section*{Keywords}
    635 \else \small
    636 \quotation
    637 \fi}
    638 
    639 
    640 \def\terms{
    641 \section*{General Terms}
    642 }
    643 
    644 % -- Classification needs to be a bit smart due to optionals - Gerry/Georgia November 2nd. 1999
    645 \newcount\catcount
    646 \global\catcount=1
    647 
    648 \def\category#1#2#3{%
    649 \ifnum\catcount=1
    650 \section*{Categories and Subject Descriptors}
    651 \advance\catcount by 1\else{\unskip; }\fi
    652     \@ifnextchar [{\@category{#1}{#2}{#3}}{\@category{#1}{#2}{#3}[]}%
    653 }
    654 
    655 \def\@category#1#2#3[#4]{%
    656     \begingroup
    657         \let\and\relax
    658             #1 [\textbf{#2}]%
    659             \if!#4!%
    660                 \if!#3!\else : #3\fi
    661             \else
    662                 :\space
    663                 \if!#3!\else #3\kern\z@---\hskip\z@\fi
    664                 \textit{#4}%
    665             \fi
    666     \endgroup
    667 }
    668 
    669 \newtoks\copyrightnotice
    670 \def\ftype@copyrightbox{8}
    671 \def\@copyrightspace{
    672 \@float{copyrightbox}[b]
    673 \begin{center}
    674 \setlength{\unitlength}{1pc}
    675 \begin{picture}(20,6) %Space for copyright notice
    676 \put(0,-0.95){\crnotice{\@toappear}}
    677 \end{picture}
    678 \end{center}
    679 \end@float}
    680 
    681 \def\@toappear{} % Default setting blank - commands below change this.
    682 \long\def\toappear#1{\def\@toappear{\parbox[b]{20pc}{\baselineskip 9pt#1}}}
    683 \def\toappearbox#1{\def\@toappear{\raisebox{5pt}{\framebox[20pc]{\parbox[b]{19pc}{#1}}}}}
    684 
    685 \newtoks\conf
    686 \newtoks\confinfo
    687 \def\conferenceinfo#1#2{\global\conf={#1}\global\confinfo{#2}}
    688 
    689 
    690 \def\marginpar{\@latexerr{The \marginpar command is not allowed in the
    691   `acmconf' document style.}\@eha}
    692 
    693 \mark{{}{}}     % Initializes TeX's marks
    694 
    695 \def\today{\ifcase\month\or
    696   January\or February\or March\or April\or May\or June\or
    697   July\or August\or September\or October\or November\or December\fi
    698   \space\number\day, \number\year}
    699 
    700 \def\@begintheorem#1#2{%
    701     \trivlist
    702     \item[%
    703         \hskip 10\p@
    704         \hskip \labelsep
    705         {{\it #1}\hskip 5\p@\relax#2.}%
    706     ]
    707     \it
    708 }
    709 \def\@opargbegintheorem#1#2#3{%
    710     \trivlist
    711     \item[%
    712         \hskip 10\p@
    713         \hskip \labelsep
    714         {\sc #1\ #2\             % This mod by Gerry to enumerate corollaries
    715    \setbox\@tempboxa\hbox{(#3)}  % and bracket the 'corollary title'
    716         \ifdim \wd\@tempboxa>\z@ % and retain the correct numbering of e.g. theorems
    717             \hskip 5\p@\relax    % if they occur 'around' said corollaries.
    718             \box\@tempboxa       % Gerry - Nov. 1999.
    719         \fi.}%
    720     ]
    721     \it
    722 }
    723 \newif\if@qeded
    724 \global\@qededfalse
    725 
    726 % -- original
    727 %\def\proof{%
    728 %  \vspace{-\parskip} % GM July 2000 (for tighter spacing)
    729 %    \global\@qededfalse
    730 %    \@ifnextchar[{\@xproof}{\@proof}%
    731 %}
    732 % -- end of original
    733 
    734 % (JSS) Fix for vertical spacing bug - Gerry Murray July 30th. 2002
    735 \def\proof{%
    736 \vspace{-\lastskip}\vspace{-\parsep}\penalty-51%
    737 \global\@qededfalse
    738 \@ifnextchar[{\@xproof}{\@proof}%
    739 }
    740 
    741 \def\endproof{%
    742     \if@qeded\else\qed\fi
    743     \endtrivlist
    744 }
    745 \def\@proof{%
    746     \trivlist
    747     \item[%
    748         \hskip 10\p@
    749         \hskip \labelsep
    750         {\it Proof.}%
    751     ]
    752     \ignorespaces
    753 }
    754 \def\@xproof[#1]{%
    755     \trivlist
    756     \item[\hskip 10\p@\hskip \labelsep{\sc Proof #1.}]%
    757     \ignorespaces
    758 }
    759 \def\qed{%
    760     \unskip
    761     \kern 10\p@
    762     \begingroup
    763         \unitlength\p@
    764         \linethickness{.4\p@}%
    765         \framebox(6,6){}%
    766     \endgroup
    767     \global\@qededtrue
    768 }
    769 
    770 \def\newdef#1#2{%
    771     \expandafter\@ifdefinable\csname #1\endcsname
    772         {\@definecounter{#1}%
    773          \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
    774          \global\@namedef{#1}{\@defthm{#1}{#2}}%
    775          \global\@namedef{end#1}{\@endtheorem}%
    776     }%
    777 }
    778 \def\@defthm#1#2{%
    779     \refstepcounter{#1}%
    780     \@ifnextchar[{\@ydefthm{#1}{#2}}{\@xdefthm{#1}{#2}}%
    781 }
    782 \def\@xdefthm#1#2{%
    783     \@begindef{#2}{\csname the#1\endcsname}%
    784     \ignorespaces
    785 }
    786 \def\@ydefthm#1#2[#3]{%
    787     \trivlist
    788     \item[%
    789         \hskip 10\p@
    790         \hskip \labelsep
    791         {\it #2%
    792          \savebox\@tempboxa{#3}%
    793          \ifdim \wd\@tempboxa>\z@
    794             \ \box\@tempboxa
    795          \fi.%
    796         }]%
    797     \ignorespaces
    798 }
    799 \def\@begindef#1#2{%
    800     \trivlist
    801     \item[%
    802         \hskip 10\p@
    803         \hskip \labelsep
    804         {\it #1\ \rm #2.}%
    805     ]%
    806 }
    807 \def\theequation{\arabic{equation}}
    808 
    809 \newcounter{part}
    810 \newcounter{section}
    811 \newcounter{subsection}[section]
    812 \newcounter{subsubsection}[subsection]
    813 \newcounter{paragraph}[subsubsection]
    814 \def\thepart{\Roman{part}}
    815 \def\thesection{\arabic{section}}
    816 \def\thesubsection{\thesection.\arabic{subsection}}
    817 \def\thesubsubsection{\thesubsection.\arabic{subsubsection}}
    818 \def\theparagraph{\thesubsubsection.\arabic{paragraph}}
    819 
    820 \newif\if@uchead
    821 \@ucheadfalse
    822 
    823 
    824 \setcounter{secnumdepth}{3}
    825 \def\part{%
    826     \@startsection{part}{9}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}
    827         {4\p@}{\normalsize\@ucheadtrue}%
    828 }
    829 
    830 \def\section{%
    831     \@startsection{section}{1}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}%
    832     {0.5pt}{\baselineskip=14pt\secfnt\@ucheadtrue}%
    833 }
    834 
    835 \def\subsection{%
    836     \@startsection{subsection}{2}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}
    837     {0.5pt}{\baselineskip=14pt\secfnt}%
    838 }
    839 \def\subsubsection{%
    840     \@startsection{subsubsection}{3}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}%
    841     {0.5pt}{\baselineskip=14pt\subsecfnt}%
    842 }
    843 
    844 \def\paragraph{%
    845     \@startsection{paragraph}{3}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}%
    846     {0.5pt}{\baselineskip=14pt\subsecfnt}%
    847 }
    848 
    849 \let\@period=.
    850 \def\@startsection#1#2#3#4#5#6{%
    851         \if@noskipsec  %gkmt, 11 aug 99
    852         \global\let\@period\@empty
    853         \leavevmode
    854         \global\let\@period.%
    855     \fi
    856     \par
    857     \@tempskipa #4\relax
    858     \@afterindenttrue
    859     \ifdim \@tempskipa <\z@
    860         \@tempskipa -\@tempskipa
    861         \@afterindentfalse
    862     \fi
    863     %\if@nobreak  11 Jan 00 gkmt
    864         %\everypar{}
    865     %\else
    866         \addpenalty\@secpenalty
    867         \addvspace\@tempskipa
    868     %\fi
    869     \parskip=0pt
    870     \@ifstar
    871         {\@ssect{#3}{#4}{#5}{#6}}
    872         {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}%
    873 }
    874 
    875 
    876 \def\@ssect#1#2#3#4#5{%
    877   \@tempskipa #3\relax
    878   \ifdim \@tempskipa>\z@
    879     \begingroup
    880       #4{%
    881         \@hangfrom{\hskip #1}%
    882           \interlinepenalty \@M #5\@@par}%
    883     \endgroup
    884   \else
    885     \def\@svsechd{#4{\hskip #1\relax #5}}%
    886   \fi
    887   \vskip -10.5pt  %gkmt, 7 jan 00 -- had been -14pt, now set to parskip
    888   \@xsect{#3}\parskip=10.5pt} % within the starred section, parskip = leading 12 Jan 2000 gkmt
    889 
    890 
    891 \def\@sect#1#2#3#4#5#6[#7]#8{%
    892     \ifnum #2>\c@secnumdepth
    893         \let\@svsec\@empty
    894     \else
    895         \refstepcounter{#1}%
    896         \edef\@svsec{%
    897             \begingroup
    898                 %\ifnum#2>2 \noexpand\rm \fi % changed to next 29 July 2002 gkmt
    899             \ifnum#2>2 \noexpand#6 \fi
    900                 \csname the#1\endcsname
    901             \endgroup
    902             \ifnum #2=1\relax .\fi
    903             \hskip 1em
    904         }%
    905     \fi
    906     \@tempskipa #5\relax
    907     \ifdim \@tempskipa>\z@ %sss
    908         \begingroup
    909             #6\relax
    910             \@hangfrom{\hskip #3\relax\@svsec}%
    911             \begingroup
    912                 \interlinepenalty \@M
    913                 \if@uchead
    914                 \uppercase{#8}%
    915                 \else
    916                     #8%
    917                 \fi
    918                 \par
    919             \endgroup
    920         \endgroup
    921         \csname #1mark\endcsname{#7}%
    922         \vskip -10.5pt  % -14pt gkmt, 11 aug 99 -- changed to -\parskip 11 Jan 2000
    923       \addcontentsline{toc}{#1}{%
    924             \ifnum #2>\c@secnumdepth \else
    925                 \protect\numberline{\csname the#1\endcsname}%
    926             \fi
    927             #7%
    928         }%
    929     \else
    930         \def\@svsechd{%
    931             #6%
    932             \hskip #3\relax
    933             \@svsec
    934             \if@uchead
    935                 \upercase{#8}%
    936             \else
    937                 #8%
    938             \fi
    939             \csname #1mark\endcsname{#7}%
    940             \addcontentsline{toc}{#1}{%
    941                 \ifnum #2>\c@secnumdepth \else
    942                     \protect\numberline{\csname the#1\endcsname}%
    943                 \fi
    944                 #7%
    945             }%
    946         }%
    947     \fi
    948     \@xsect{#5}\parskip=12pt% sssection
    949 }
    950 \def\@xsect#1{%
    951     \@tempskipa #1\relax
    952     \ifdim \@tempskipa>\z@
    953         \par
    954         \nobreak
    955         \vskip \@tempskipa
    956         \@afterheading
    957     \else
    958         \global\@nobreakfalse
    959         \global\@noskipsectrue
    960         \everypar{%
    961             \if@noskipsec
    962                 \global\@noskipsecfalse
    963                 \clubpenalty\@M
    964                 \hskip -\parindent
    965                 \begingroup
    966                     \@svsechd
    967                     \@period
    968                 \endgroup
    969                 \unskip
    970                 \@tempskipa #1\relax
    971                 \hskip -\@tempskipa
    972             \else
    973                 \clubpenalty \@clubpenalty
    974                 \everypar{}%
    975             \fi
    976         }%
    977     \fi
    978     \ignorespaces
    979 }
    980 
    981 \def\@trivlist{%
    982     \@topsepadd\topsep
    983     \if@noskipsec
    984         \global\let\@period\@empty
    985         \leavevmode
    986         \global\let\@period.%
    987     \fi
    988     \ifvmode
    989         \advance\@topsepadd\partopsep
    990     \else
    991         \unskip
    992         \par
    993     \fi
    994     \if@inlabel
    995         \@noparitemtrue
    996         \@noparlisttrue
    997     \else
    998         \@noparlistfalse
    999         \@topsep\@topsepadd
   1000     \fi
   1001     \advance\@topsep \parskip
   1002     \leftskip\z@skip
   1003     \rightskip\@rightskip
   1004     \parfillskip\@flushglue
   1005     \@setpar{\if@newlist\else{\@@par}\fi}
   1006     \global\@newlisttrue
   1007     \@outerparskip\parskip
   1008 }
   1009 
   1010 %%% Actually, 'abbrev' works just fine as the default - Gerry Feb. 2000
   1011 %%% Bibliography style.
   1012 
   1013 \parindent 0pt
   1014 \typeout{Using 'Abbrev' bibliography style}
   1015 \newcommand\bibyear[2]{%
   1016     \unskip\quad\ignorespaces#1\unskip
   1017     \if#2..\quad \else \quad#2 \fi
   1018 }
   1019 \newcommand{\bibemph}[1]{{\em#1}}
   1020 \newcommand{\bibemphic}[1]{{\em#1\/}}
   1021 \newcommand{\bibsc}[1]{{\sc#1}}
   1022 \def\@normalcite{%
   1023     \def\@cite##1##2{[##1\if@tempswa , ##2\fi]}%
   1024 }
   1025 \def\@citeNB{%
   1026     \def\@cite##1##2{##1\if@tempswa , ##2\fi}%
   1027 }
   1028 \def\@citeRB{%
   1029     \def\@cite##1##2{##1\if@tempswa , ##2\fi]}%
   1030 }
   1031 \def\start@cite#1#2{%
   1032     \edef\citeauthoryear##1##2##3{%
   1033         ###1%
   1034         \ifnum#2=\z@ \else\ ###2\fi
   1035     }%
   1036     \ifnum#1=\thr@@
   1037         \let\@@cite\@citeyear
   1038     \else
   1039         \let\@@cite\@citenormal
   1040     \fi
   1041     \@ifstar{\@citeNB\@@cite}{\@normalcite\@@cite}%
   1042 }
   1043 \def\cite{\start@cite23}
   1044 \def\citeNP{\cite*}
   1045 \def\citeA{\start@cite10}
   1046 \def\citeANP{\citeA*}
   1047 \def\shortcite{\start@cite23}
   1048 \def\shortciteNP{\shortcite*}
   1049 \def\shortciteA{\start@cite20}
   1050 \def\shortciteANP{\shortciteA*}
   1051 \def\citeyear{\start@cite30}
   1052 \def\citeyearNP{\citeyear*}
   1053 \def\citeN{%
   1054     \@citeRB
   1055     \def\citeauthoryear##1##2##3{##1\ [##3%
   1056         \def\reserved@a{##1}%
   1057         \def\citeauthoryear####1####2####3{%
   1058             \def\reserved@b{####1}%
   1059             \ifx\reserved@a\reserved@b
   1060                 ####3%
   1061             \else
   1062                 \errmessage{Package acmart Error: author mismatch
   1063                          in \string\citeN^^J^^J%
   1064                     See the acmart package documentation for explanation}%
   1065             \fi
   1066         }%
   1067     }%
   1068     \@ifstar\@citeyear\@citeyear
   1069 }
   1070 \def\shortciteN{%
   1071     \@citeRB
   1072     \def\citeauthoryear##1##2##3{##2\ [##3%
   1073         \def\reserved@a{##2}%
   1074         \def\citeauthoryear####1####2####3{%
   1075             \def\reserved@b{####2}%
   1076             \ifx\reserved@a\reserved@b
   1077                 ####3%
   1078             \else
   1079                 \errmessage{Package acmart Error: author mismatch
   1080                          in \string\shortciteN^^J^^J%
   1081                     See the acmart package documentation for explanation}%
   1082             \fi
   1083         }%
   1084     }%
   1085     \@ifstar\@citeyear\@citeyear % changed from  "\@ifstart" 12 Jan 2000 gkmt
   1086 }
   1087 
   1088 \def\@citenormal{%
   1089     \@ifnextchar [{\@tempswatrue\@citex;}
   1090                   {\@tempswafalse\@citex,[]}% was ; Gerry 2/24/00
   1091 }
   1092 \def\@citeyear{%
   1093     \@ifnextchar [{\@tempswatrue\@citex,}%
   1094                   {\@tempswafalse\@citex,[]}%
   1095 }
   1096 \def\@citex#1[#2]#3{%
   1097     \let\@citea\@empty
   1098     \@cite{%
   1099         \@for\@citeb:=#3\do{%
   1100             \@citea
   1101             \def\@citea{#1 }%
   1102             \edef\@citeb{\expandafter\@iden\@citeb}%
   1103             \if@filesw
   1104                 \immediate\write\@auxout{\string\citation{\@citeb}}%
   1105             \fi
   1106             \@ifundefined{b@\@citeb}{%
   1107                 {\bf ?}%
   1108                 \@warning{%
   1109                     Citation `\@citeb' on page \thepage\space undefined%
   1110                 }%
   1111             }%
   1112             {\csname b@\@citeb\endcsname}%
   1113         }%
   1114     }{#2}%
   1115 }
   1116 \let\@biblabel\@gobble
   1117 \newdimen\bibindent
   1118 \setcounter{enumi}{1}
   1119 \bibindent=0em
   1120 \def\thebibliography#1{%
   1121 \ifnum\addauflag=0\addauthorsection\global\addauflag=1\fi
   1122     \section*{{REFERENCES} % was uppercased but this affects pdf bookmarks (SP/GM Oct. 2004)
   1123         \@mkboth{{\refname}}{{\refname}}%
   1124     }%
   1125     \list{[\arabic{enumi}]}{%
   1126         \settowidth\labelwidth{[#1]}%
   1127         \leftmargin\labelwidth
   1128         \advance\leftmargin\labelsep
   1129         \advance\leftmargin\bibindent
   1130         \itemindent -\bibindent
   1131         \listparindent \itemindent
   1132         \usecounter{enumi}
   1133     }%
   1134     \let\newblock\@empty
   1135     \raggedright  %% 7 JAN 2000 gkmt
   1136     \sloppy
   1137     \sfcode`\.=1000\relax
   1138 }
   1139 
   1140 
   1141 \gdef\balancecolumns
   1142 {\vfill\eject
   1143 \global\@colht=\textheight
   1144 \global\ht\@cclv=\textheight
   1145 }
   1146 
   1147 \newcount\colcntr
   1148 \global\colcntr=0
   1149 \newbox\savebox
   1150 
   1151 \gdef \@makecol {%
   1152 \global\advance\colcntr by 1
   1153 \ifnum\colcntr>2 \global\colcntr=1\fi
   1154    \ifvoid\footins
   1155      \setbox\@outputbox \box\@cclv
   1156    \else
   1157      \setbox\@outputbox \vbox{%
   1158 \boxmaxdepth \@maxdepth
   1159        \@tempdima\dp\@cclv
   1160        \unvbox \@cclv
   1161        \vskip-\@tempdima
   1162        \vskip \skip\footins
   1163        \color@begingroup
   1164          \normalcolor
   1165          \footnoterule
   1166          \unvbox \footins
   1167        \color@endgroup
   1168        }%
   1169    \fi
   1170    \xdef\@freelist{\@freelist\@midlist}%
   1171    \global \let \@midlist \@empty
   1172    \@combinefloats
   1173    \ifvbox\@kludgeins
   1174      \@makespecialcolbox
   1175    \else
   1176      \setbox\@outputbox \vbox to\@colht {%
   1177 \@texttop
   1178        \dimen@ \dp\@outputbox
   1179        \unvbox \@outputbox
   1180    \vskip -\dimen@
   1181        \@textbottom
   1182        }%
   1183    \fi
   1184    \global \maxdepth \@maxdepth
   1185 }
   1186 \def\titlenote{\@ifnextchar[\@xtitlenote{\stepcounter\@mpfn
   1187 \global\advance\titlenotecount by 1
   1188 \ifnum\titlenotecount=1
   1189     \raisebox{9pt}{$\ast$}
   1190 \fi
   1191 \ifnum\titlenotecount=2
   1192     \raisebox{9pt}{$\dagger$}
   1193 \fi
   1194 \ifnum\titlenotecount=3
   1195     \raisebox{9pt}{$\ddagger$}
   1196 \fi
   1197 \ifnum\titlenotecount=4
   1198 \raisebox{9pt}{$\S$}
   1199 \fi
   1200 \ifnum\titlenotecount=5
   1201 \raisebox{9pt}{$\P$}
   1202 \fi
   1203          \@titlenotetext
   1204 }}
   1205 
   1206 \long\def\@titlenotetext#1{\insert\footins{%
   1207 \ifnum\titlenotecount=1\global\tntoks={#1}\fi
   1208 \ifnum\titlenotecount=2\global\tntokstwo={#1}\fi
   1209 \ifnum\titlenotecount=3\global\tntoksthree={#1}\fi
   1210 \ifnum\titlenotecount=4\global\tntoksfour={#1}\fi
   1211 \ifnum\titlenotecount=5\global\tntoksfive={#1}\fi
   1212     \reset@font\footnotesize
   1213     \interlinepenalty\interfootnotelinepenalty
   1214     \splittopskip\footnotesep
   1215     \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
   1216     \hsize\columnwidth \@parboxrestore
   1217     \protected@edef\@currentlabel{%
   1218     }%
   1219     \color@begingroup
   1220    \color@endgroup}}
   1221 
   1222 %%%%%%%%%%%%%%%%%%%%%%%%%
   1223 \ps@plain
   1224 \baselineskip=11pt
   1225 \let\thepage\relax % For  NO page numbers - Gerry Nov. 30th. 1999
   1226 \def\setpagenumber#1{\global\setcounter{page}{#1}}
   1227 \pagenumbering{arabic}  % Arabic page numbers but commented out for NO page numbes - Gerry Nov. 30th. 1999
   1228 \twocolumn             % Double column.
   1229 \flushbottom           % Even bottom -- alas, does not balance columns at end of document
   1230 %\pagestyle{plain}
   1231 \pagestyle{empty}
   1232 
   1233 % Need Copyright Year and Copyright Data to be user definable (in .tex file).
   1234 % Gerry Nov. 30th. 1999
   1235 \newtoks\copyrtyr
   1236 \newtoks\acmcopyr
   1237 \newtoks\boilerplate
   1238 \def\CopyrightYear#1{\global\copyrtyr{#1}}
   1239 \def\crdata#1{\global\acmcopyr{#1}}
   1240 \def\permission#1{\global\boilerplate{#1}}
   1241 %
   1242 \newtoks\copyrightetc
   1243 \global\copyrightetc{\ } %  Need to have 'something' so that adequate space is left for pasting in a line if "confinfo" is supplied.
   1244 
   1245 \toappear{\the\boilerplate\par
   1246 {\confname{\the\conf}} \the\confinfo\par \the\copyrightetc}
   1247 % End of CSITPROC.CLS