source: docs/HPCA2012/sig-alternate.cls @ 4787

Last change on this file since 4787 was 1302, checked in by lindanl, 8 years ago

Create a directory for HPCA

File size: 58.6 KB
Line 
1% SIG-ALTERNATE.CLS - VERSION 2.4
2% "COMPATIBLE" WITH THE "ACM_PROC_ARTICLE-SP.CLS" V3.2SP
3% Gerald Murray - April 22nd. 2009
4%
5% ---- Start of 'updates'  ----
6%
7% Changed $5 fee to $10 - Gerry
8% April 22nd. 2009 - Fixed 'Natbib' incompatibility problem - Gerry
9% April 22nd. 2009 - Fixed 'Babel' incompatibility problem - Gerry
10% April 22nd. 2009 - Inserted various bug-fixes and improvements - Gerry
11%
12% To produce Type 1 fonts in the document plus allow for 'normal LaTeX accenting' in the critical areas;
13% title, author block, section-heads, confname, etc. etc.
14% i.e. the whole purpose of this version update is to NOT resort to 'inelegant accent patches'.
15% After much research, three extra .sty packages were added to the the tail (ae, aecompl, aeguill) to solve,
16% in particular, the accenting problem(s). We _could_ ask authors (via instructions/sample file) to 'include' these in
17% the source .tex file - in the preamble - but if everything is already provided ('behind the scenes' - embedded IN the .cls)
18% then this is less work for authors and also makes everything appear 'vanilla'.
19% NOTE: all 'patchwork accenting" has been commented out (here) and is no longer 'used' in the sample .tex file (either).
20% Gerry June 2007
21%
22% Patch for accenting in conference name/location. Gerry May 3rd. 2007
23% Rule widths changed to .5, author count (>6) fixed, roll-back for Type 3 problem. Gerry March 20th. 2007
24% Changes made to 'modernize' the fontnames but esp. for MikTeX users V2.4/2.5 - Nov. 30th. 2006
25% Updated the \email definition to allow for its use inside of 'shared affiliations' - Nov. 30th. 2006
26% Fixed the 'section number depth value' - Nov. 30th. 2006
27%
28% Footnotes inside table cells using \minipage (Oct. 2002)
29% Georgia fixed bug in sub-sub-section numbering in paragraphs (July 29th. 2002)
30% JS/GM fix to vertical spacing before Proofs (July 30th. 2002)
31%
32% Made the Permission Statement / Conference Info / Copyright Info
33% 'user definable' in the source .tex file OR automatic if
34% not specified.
35%
36% Allowance made to switch default fonts between those systems using
37% normal/modern font names and those using 'Type 1' or 'Truetype' fonts.
38% See LINE NUMBER 255 for details.
39% Also provided for enumerated/annotated Corollaries 'surrounded' by
40% enumerated Theorems (line 848).
41% Gerry November 11th. 1999
42%
43% ---- End of 'updates' ----
44%
45\def\fileversion{v2.4}          % for ACM's tracking purposes
46\def\filedate{April 22, 2009}    % Gerry Murray's tracking data
47\def\docdate {Wednesday 22nd. April 2009} % Gerry Murray (with deltas to doc}
48\usepackage{epsfig}
49\usepackage{amssymb}
50\usepackage{amsmath}
51\usepackage{amsfonts}
52% Need this for accents in Arial/Helvetica
53%\usepackage[T1]{fontenc}  % Gerry March 12, 2007 - causes Type 3 problems (body text)
54%\usepackage{textcomp}
55%
56% SIG-ALTERNATE DOCUMENT STYLE
57% G.K.M. Tobin August-October 1999
58%    adapted from ARTICLE document style by Ken Traub, Olin Shivers
59%    also using elements of esub2acm.cls
60% HEAVILY MODIFIED, SUBSEQUENTLY, BY GERRY MURRAY 2000
61% ARTICLE DOCUMENT STYLE -- Released 16 March 1988
62%    for LaTeX version 2.09
63% Copyright (C) 1988 by Leslie Lamport
64%
65%
66%%% sig-alternate.cls is an 'ALTERNATE' document style for producing
67%%% two-column camera-ready pages for ACM conferences.
68%%% THIS FILE DOES NOT STRICTLY ADHERE TO THE SIGS (BOARD-ENDORSED)
69%%% PROCEEDINGS STYLE. It has been designed to produce a 'tighter'
70%%% paper in response to concerns over page budgets.
71%%% The main features of this style are:
72%%%
73%%% 1)  Two columns.
74%%% 2)  Side and top margins of 4.5pc, bottom margin of 6pc, column gutter of
75%%%     2pc, hence columns are 20pc wide and 55.5pc tall.  (6pc =3D 1in, approx)
76%%% 3)  First page has title information, and an extra 6pc of space at the
77%%%     bottom of the first column for the ACM copyright notice.
78%%% 4)  Text is 9pt on 10pt baselines; titles (except main) are 9pt bold.
79%%%
80%%%
81%%% There are a few restrictions you must observe:
82%%%
83%%% 1)  You cannot change the font size; ACM wants you to use 9pt.
84%%% 3)  You must start your paper with the \maketitle command.  Prior to the
85%%%     \maketitle you must have \title and \author commands.  If you have a
86%%%     \date command it will be ignored; no date appears on the paper, since
87%%%     the proceedings will have a date on the front cover.
88%%% 4)  Marginal paragraphs, tables of contents, lists of figures and tables,
89%%%     and page headings are all forbidden.
90%%% 5)  The `figure' environment will produce a figure one column wide; if you
91%%%     want one that is two columns wide, use `figure*'.
92%%%
93%
94%%% Copyright Space:
95%%% This style automatically reserves 1" blank space at the bottom of page 1/
96%%% column 1.  This space can optionally be filled with some text using the
97%%% \toappear{...} command.  If used, this command must be BEFORE the \maketitle
98%%% command.  If this command is defined AND [preprint] is on, then the
99%%% space is filled with the {...} text (at the bottom); otherwise, it is
100%%% blank.  If you use \toappearbox{...} instead of \toappear{...} then a
101%%% box will be drawn around the text (if [preprint] is on).
102%%%
103%%% A typical usage looks like this:
104%%%     \toappear{To appear in the Ninth AES Conference on Medievil Lithuanian
105%%%               Embalming Technique, June 1991, Alfaretta, Georgia.}
106%%% This will be included in the preprint, and left out of the conference
107%%% version.
108%%%
109%%% WARNING:
110%%% Some dvi-ps converters heuristically allow chars to drift from their
111%%% true positions a few pixels. This may be noticeable with the 9pt sans-serif
112%%% bold font used for section headers.
113%%% You may turn this hackery off via the -e option:
114%%%     dvips -e 0 foo.dvi >foo.ps
115%%%
116\typeout{Document Class 'sig-alternate' <22nd. April '09>.  Modified by G.K.M. Tobin/Gerry Murray}
117\typeout{Based in part upon document Style `acmconf' <22 May 89>. Hacked 4/91 by}
118\typeout{shivers@cs.cmu.edu, 4/93 by theobald@cs.mcgill.ca}
119\typeout{Excerpts were taken from (Journal Style) 'esub2acm.cls'.}
120\typeout{****** Bugs/comments/suggestions/technicalities to Gerry Murray -- murray@hq.acm.org ******}
121\typeout{Questions on the style, SIGS policies, etc. to Adrienne Griscti griscti@acm.org}
122\oddsidemargin 4.5pc
123\evensidemargin 4.5pc
124\advance\oddsidemargin by -1in  % Correct for LaTeX gratuitousness
125\advance\evensidemargin by -1in % Correct for LaTeX gratuitousness
126\marginparwidth 0pt             % Margin pars are not allowed.
127\marginparsep 11pt              % Horizontal space between outer margin and
128                                % marginal note
129
130                                % Top of page:
131\topmargin 4.5pc                % Nominal distance from top of page to top of
132                                % box containing running head.
133\advance\topmargin by -1in      % Correct for LaTeX gratuitousness
134\headheight 0pt                 % Height of box containing running head.
135\headsep 0pt                    % Space between running head and text.
136                                % Bottom of page:
137\footskip 30pt                  % Distance from baseline of box containing foot
138                                % to baseline of last line of text.
139\@ifundefined{footheight}{\newdimen\footheight}{}% this is for LaTeX2e
140\footheight 12pt                % Height of box containing running foot.
141
142%% Must redefine the top margin so there's room for headers and
143%% page numbers if you are using the preprint option. Footers
144%% are OK as is. Olin.
145\advance\topmargin by -37pt     % Leave 37pt above text for headers
146\headheight 12pt                % Height of box containing running head.
147\headsep 25pt                   % Space between running head and text.
148
149\textheight 666pt       % 9 1/4 column height
150\textwidth 42pc         % Width of text line.
151                        % For two-column mode:
152\columnsep 2pc          %    Space between columns
153\columnseprule 0pt      %    Width of rule between columns.
154\hfuzz 1pt              % Allow some variation in column width, otherwise it's
155                        % too hard to typeset in narrow columns.
156
157\footnotesep 5.6pt      % Height of strut placed at the beginning of every
158                        % footnote =3D height of normal \footnotesize strut,
159                        % so no extra space between footnotes.
160
161\skip\footins 8.1pt plus 4pt minus 2pt  % Space between last line of text and
162                                        % top of first footnote.
163\floatsep 11pt plus 2pt minus 2pt       % Space between adjacent floats moved
164                                        % to top or bottom of text page.
165\textfloatsep 18pt plus 2pt minus 4pt   % Space between main text and floats
166                                        % at top or bottom of page.
167\intextsep 11pt plus 2pt minus 2pt      % Space between in-text figures and
168                                        % text.
169\@ifundefined{@maxsep}{\newdimen\@maxsep}{}% this is for LaTeX2e
170\@maxsep 18pt                           % The maximum of \floatsep,
171                                        % \textfloatsep and \intextsep (minus
172                                        % the stretch and shrink).
173\dblfloatsep 11pt plus 2pt minus 2pt    % Same as \floatsep for double-column
174                                        % figures in two-column mode.
175\dbltextfloatsep 18pt plus 2pt minus 4pt% \textfloatsep for double-column
176                                        % floats.
177\@ifundefined{@dblmaxsep}{\newdimen\@dblmaxsep}{}% this is for LaTeX2e
178\@dblmaxsep 18pt                        % The maximum of \dblfloatsep and
179                                        % \dbltexfloatsep.
180\@fptop 0pt plus 1fil    % Stretch at top of float page/column. (Must be
181                         % 0pt plus ...)
182\@fpsep 8pt plus 2fil    % Space between floats on float page/column.
183\@fpbot 0pt plus 1fil    % Stretch at bottom of float page/column. (Must be
184                         % 0pt plus ... )
185\@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus ...)
186\@dblfpsep 8pt plus 2fil % Space between floats on float page.
187\@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be
188                         % 0pt plus ... )
189\marginparpush 5pt       % Minimum vertical separation between two marginal
190                         % notes.
191
192\parskip 0pt plus 1pt            % Extra vertical space between paragraphs.
193\parindent 9pt  % GM July 2000 / was 0pt - width of paragraph indentation.
194\partopsep 2pt plus 1pt minus 1pt% Extra vertical space, in addition to
195                                 % \parskip and \topsep, added when user
196                                 % leaves blank line before environment.
197
198\@lowpenalty   51       % Produced by \nopagebreak[1] or \nolinebreak[1]
199\@medpenalty  151       % Produced by \nopagebreak[2] or \nolinebreak[2]
200\@highpenalty 301       % Produced by \nopagebreak[3] or \nolinebreak[3]
201
202\@beginparpenalty -\@lowpenalty % Before a list or paragraph environment.
203\@endparpenalty   -\@lowpenalty % After a list or paragraph environment.
204\@itempenalty     -\@lowpenalty % Between list items.
205
206%\@namedef{ds@10pt}{\@latexerr{The `10pt' option is not allowed in the `acmconf'
207\@namedef{ds@10pt}{\ClassError{The `10pt' option is not allowed in the `acmconf'    % January 2008
208  document style.}\@eha}
209%\@namedef{ds@11pt}{\@latexerr{The `11pt' option is not allowed in the `acmconf'
210\@namedef{ds@11pt}{\ClassError{The `11pt' option is not allowed in the `acmconf'    % January 2008
211  document style.}\@eha}
212%\@namedef{ds@12pt}{\@latexerr{The `12pt' option is not allowed in the `acmconf'
213\@namedef{ds@12pt}{\ClassError{The `12pt' option is not allowed in the `acmconf'    % January 2008
214  document style.}\@eha}
215
216\@options
217
218\lineskip 2pt           % \lineskip is 1pt for all font sizes.
219\normallineskip 2pt
220\def\baselinestretch{1}
221
222\abovedisplayskip 9pt plus2pt minus4.5pt%
223\belowdisplayskip \abovedisplayskip
224\abovedisplayshortskip  \z@ plus3pt%
225\belowdisplayshortskip  5.4pt plus3pt minus3pt%
226\let\@listi\@listI     % Setting of \@listi added 9 Jun 87
227
228\def\small{\@setsize\small{9pt}\viiipt\@viiipt
229\abovedisplayskip 7.6pt plus 3pt minus 4pt%
230\belowdisplayskip \abovedisplayskip
231\abovedisplayshortskip \z@ plus2pt%
232\belowdisplayshortskip 3.6pt plus2pt minus 2pt
233\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87
234\topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt
235\itemsep \parsep}}
236
237%\newcommand\footnotesize{\@setfontsize\footnotesize\@ixpt{9\p@}}
238%\def\footnotesize{
239%\@setfontsize\footnotesize\@ixpt{9\p@}
240%\@setsize\footnotesize{9pt}\@ixpt\@ixpt
241%\abovedisplayskip 6.4pt plus 2pt minus 4pt%
242%\belowdisplayskip \abovedisplayskip
243%\abovedisplayshortskip \z@ plus 1pt%
244%\belowdisplayshortskip 2.7pt plus 1pt minus 2pt
245%\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87
246%\topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt
247%\itemsep \parsep}}
248%}
249\newcount\aucount
250\newcount\originalaucount
251\newdimen\auwidth
252\auwidth=\textwidth
253\newdimen\auskip
254\newcount\auskipcount
255\newdimen\auskip
256\global\auskip=1pc
257\newdimen\allauboxes
258\allauboxes=\auwidth
259\newtoks\addauthors
260\newcount\addauflag
261\global\addauflag=0 %Haven't shown additional authors yet
262
263\newtoks\subtitletext
264\gdef\subtitle#1{\subtitletext={#1}}
265
266\gdef\additionalauthors#1{\addauthors={#1}}
267
268\gdef\numberofauthors#1{\global\aucount=#1
269\ifnum\aucount>3\global\originalaucount=\aucount \global\aucount=3\fi %g}  % 3 OK - Gerry March 2007
270\global\auskipcount=\aucount\global\advance\auskipcount by 1
271\global\multiply\auskipcount by 2
272\global\multiply\auskip by \auskipcount
273\global\advance\auwidth by -\auskip
274\global\divide\auwidth by \aucount}
275
276% \and was modified to count the number of authors.  GKMT 12 Aug 1999
277\def\alignauthor{%                  % \begin{tabular}
278\end{tabular}%
279  \begin{tabular}[t]{p{\auwidth}}\centering}%
280
281%  *** NOTE *** NOTE *** NOTE *** NOTE ***
282%  If you have 'font problems' then you may need
283%  to change these, e.g. 'arialb' instead of "arialbd".
284%  Gerry Murray 11/11/1999
285%  *** OR ** comment out block A and activate block B or vice versa.
286% **********************************************
287%
288%  -- Start of block A -- (Type 1 or Truetype fonts)
289%\newfont{\secfnt}{timesbd at 12pt} % was timenrb originally - now is timesbd
290%\newfont{\secit}{timesbi at 12pt}   %13 Jan 00 gkmt
291%\newfont{\subsecfnt}{timesi at 11pt} % was timenrri originally - now is timesi
292%\newfont{\subsecit}{timesbi at 11pt} % 13 Jan 00 gkmt -- was times changed to timesbi gm 2/4/2000
293%                         % because "normal" is italic, "italic" is Roman
294%\newfont{\ttlfnt}{arialbd at 18pt} % was arialb originally - now is arialbd
295%\newfont{\ttlit}{arialbi at 18pt}    % 13 Jan 00 gkmt
296%\newfont{\subttlfnt}{arial at 14pt} % was arialr originally - now is arial
297%\newfont{\subttlit}{ariali at 14pt} % 13 Jan 00 gkmt
298%\newfont{\subttlbf}{arialbd at 14pt}  % 13 Jan 00 gkmt
299%\newfont{\aufnt}{arial at 12pt} % was arialr originally - now is arial
300%\newfont{\auit}{ariali at 12pt} % 13 Jan 00 gkmt
301%\newfont{\affaddr}{arial at 10pt} % was arialr originally - now is arial
302%\newfont{\affaddrit}{ariali at 10pt} %13 Jan 00 gkmt
303%\newfont{\eaddfnt}{arial at 12pt} % was arialr originally - now is arial
304%\newfont{\ixpt}{times at 9pt} % was timenrr originally - now is times
305%\newfont{\confname}{timesi at 8pt} % was timenrri - now is timesi
306%\newfont{\crnotice}{times at 8pt} % was timenrr originally - now is times
307%\newfont{\ninept}{times at 9pt} % was timenrr originally - now is times
308
309% *********************************************
310%  -- End of block A --
311%
312%
313% -- Start of block B -- UPDATED FONT NAMES
314% *********************************************
315% Gerry Murray 11/30/2006
316% *********************************************
317\newfont{\secfnt}{ptmb8t at 12pt}
318\newfont{\secit}{ptmbi8t at 12pt}    %13 Jan 00 gkmt
319\newfont{\subsecfnt}{ptmri8t at 11pt}
320\newfont{\subsecit}{ptmbi8t at 11pt}  %
321\newfont{\ttlfnt}{phvb8t at 18pt}
322\newfont{\ttlit}{phvbo8t at 18pt}    % GM 2/4/2000
323\newfont{\subttlfnt}{phvr8t at 14pt}
324\newfont{\subttlit}{phvro8t at 14pt} % GM 2/4/2000
325\newfont{\subttlbf}{phvb8t at 14pt}  % 13 Jan 00 gkmt
326\newfont{\aufnt}{phvr8t at 12pt}
327\newfont{\auit}{phvro8t at 12pt}     % GM 2/4/2000
328\newfont{\affaddr}{phvr8t at 10pt}
329\newfont{\affaddrit}{phvro8t at 10pt} % GM 2/4/2000
330\newfont{\eaddfnt}{phvr8t at 12pt}
331\newfont{\ixpt}{ptmr8t at 9pt}
332\newfont{\confname}{ptmri8t at 8pt}
333\newfont{\crnotice}{ptmr8t at 8pt}
334\newfont{\ninept}{ptmr8t at 9pt}
335% +++++++++++++++++++++++++++++++++++++++++++++
336% -- End of block B --
337
338%\def\email#1{{{\eaddfnt{\vskip 4pt#1}}}}
339% If we have an email, inside a "shared affiliation" then we need the following instead
340\def\email#1{{{\eaddfnt{\par #1}}}}       % revised  - GM - 11/30/2006
341
342\def\addauthorsection{\ifnum\originalaucount>6  % was 3 - Gerry March 2007
343    \section{Additional Authors}\the\addauthors
344  \fi}
345
346\newcount\savesection
347\newcount\sectioncntr
348\global\sectioncntr=1
349
350\setcounter{secnumdepth}{3}
351
352\def\appendix{\par
353\section*{APPENDIX}
354\setcounter{section}{0}
355 \setcounter{subsection}{0}
356 \def\thesection{\Alph{section}} }
357
358\leftmargini 22.5pt
359\leftmarginii 19.8pt    % > \labelsep + width of '(m)'
360\leftmarginiii 16.8pt   % > \labelsep + width of 'vii.'
361\leftmarginiv 15.3pt    % > \labelsep + width of 'M.'
362\leftmarginv 9pt
363\leftmarginvi 9pt
364
365\leftmargin\leftmargini
366\labelsep 4.5pt
367\labelwidth\leftmargini\advance\labelwidth-\labelsep
368
369\def\@listI{\leftmargin\leftmargini \parsep 3.6pt plus 2pt minus 1pt%
370\topsep 7.2pt plus 2pt minus 4pt%
371\itemsep 3.6pt plus 2pt minus 1pt}
372
373\let\@listi\@listI
374\@listi
375
376\def\@listii{\leftmargin\leftmarginii
377   \labelwidth\leftmarginii\advance\labelwidth-\labelsep
378   \topsep 3.6pt plus 2pt minus 1pt
379   \parsep 1.8pt plus 0.9pt minus 0.9pt
380   \itemsep \parsep}
381
382\def\@listiii{\leftmargin\leftmarginiii
383    \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
384    \topsep 1.8pt plus 0.9pt minus 0.9pt
385    \parsep \z@ \partopsep 1pt plus 0pt minus 1pt
386    \itemsep \topsep}
387
388\def\@listiv{\leftmargin\leftmarginiv
389     \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
390
391\def\@listv{\leftmargin\leftmarginv
392     \labelwidth\leftmarginv\advance\labelwidth-\labelsep}
393
394\def\@listvi{\leftmargin\leftmarginvi
395     \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}
396
397\def\labelenumi{\theenumi.}
398\def\theenumi{\arabic{enumi}}
399
400\def\labelenumii{(\theenumii)}
401\def\theenumii{\alph{enumii}}
402\def\p@enumii{\theenumi}
403
404\def\labelenumiii{\theenumiii.}
405\def\theenumiii{\roman{enumiii}}
406\def\p@enumiii{\theenumi(\theenumii)}
407
408\def\labelenumiv{\theenumiv.}
409\def\theenumiv{\Alph{enumiv}}
410\def\p@enumiv{\p@enumiii\theenumiii}
411
412\def\labelitemi{$\bullet$}
413\def\labelitemii{\bf --}
414\def\labelitemiii{$\ast$}
415\def\labelitemiv{$\cdot$}
416
417\def\verse{\let\\=\@centercr
418  \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent
419          \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
420\let\endverse\endlist
421
422\def\quotation{\list{}{\listparindent 1.5em
423    \itemindent\listparindent
424    \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]}
425\let\endquotation=\endlist
426
427\def\quote{\list{}{\rightmargin\leftmargin}\item[]}
428\let\endquote=\endlist
429
430\def\descriptionlabel#1{\hspace\labelsep \bf #1}
431\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
432       \let\makelabel\descriptionlabel}}
433
434\let\enddescription\endlist
435
436\def\theequation{\arabic{equation}}
437
438\arraycolsep 4.5pt   % Half the space between columns in an array environment.
439\tabcolsep 5.4pt    % Half the space between columns in a tabular environment.
440\arrayrulewidth .5pt % Width of rules in array and tabular environment. % (was .4) updated Gerry March 20 2007
441\doublerulesep 1.8pt % Space between adjacent rules in array or tabular env.
442
443\tabbingsep \labelsep   % Space used by the \' command.  (See LaTeX manual.)
444
445\skip\@mpfootins =\skip\footins
446
447\fboxsep =2.7pt      % Space left between box and text by \fbox and \framebox.
448\fboxrule =.5pt      % Width of rules in box made by \fbox and \framebox. % (was .4) updated Gerry March 20 2007
449
450\def\thepart{\Roman{part}} % Roman numeral part numbers.
451\def\thesection       {\arabic{section}}
452\def\thesubsection    {\thesection.\arabic{subsection}}
453%\def\thesubsubsection {\thesubsection.\arabic{subsubsection}} % GM 7/30/2002
454%\def\theparagraph     {\thesubsubsection.\arabic{paragraph}}  % GM 7/30/2002
455\def\thesubparagraph  {\theparagraph.\arabic{subparagraph}}
456
457\def\@pnumwidth{1.55em}
458\def\@tocrmarg {2.55em}
459\def\@dotsep{4.5}
460\setcounter{tocdepth}{3}
461
462%\def\tableofcontents{\@latexerr{\tableofcontents: Tables of contents are not
463%  allowed in the `acmconf' document style.}\@eha}
464
465\def\tableofcontents{\ClassError{%
466    \string\tableofcontents\space is not allowed in the `acmconf' document  % January 2008
467    style}\@eha}
468
469\def\l@part#1#2{\addpenalty{\@secpenalty}
470   \addvspace{2.25em plus 1pt}  % space above part line
471   \begingroup
472   \@tempdima 3em       % width of box holding part number, used by
473     \parindent \z@ \rightskip \@pnumwidth      %% \numberline
474     \parfillskip -\@pnumwidth
475     {\large \bf        % set line in \large boldface
476     \leavevmode        % TeX command to enter horizontal mode.
477     #1\hfil \hbox to\@pnumwidth{\hss #2}}\par
478     \nobreak           % Never break after part entry
479   \endgroup}
480
481\def\l@section#1#2{\addpenalty{\@secpenalty} % good place for page break
482   \addvspace{1.0em plus 1pt}   % space above toc entry
483   \@tempdima 1.5em             % width of box holding section number
484   \begingroup
485    \parindent  \z@ \rightskip \@pnumwidth
486     \parfillskip -\@pnumwidth
487     \bf                        % Boldface.
488     \leavevmode                % TeX command to enter horizontal mode.
489      \advance\leftskip\@tempdima %% added 5 Feb 88 to conform to
490      \hskip -\leftskip           %% 25 Jan 88 change to \numberline
491     #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par
492   \endgroup}
493
494
495\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
496\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
497\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
498\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
499
500%\def\listoffigures{\@latexerr{\listoffigures: Lists of figures are not
501%  allowed in the `acmconf' document style.}\@eha}
502
503\def\listoffigures{\ClassError{%
504    \string\listoffigures\space is not allowed in the `acmconf' document    % January 2008
505    style}\@eha}
506
507\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
508
509%\def\listoftables{\@latexerr{\listoftables: Lists of tables are not
510%  allowed in the `acmconf' document style.}\@eha}
511%\let\l@table\l@figure
512
513\def\listoftables{\ClassError{%
514    \string\listoftables\space is not allowed in the `acmconf' document     % January 2008
515    style}\@eha}
516 \let\l@table\l@figure
517
518\def\footnoterule{\kern-3\p@
519  \hrule width .5\columnwidth   % (was .4) updated Gerry March 20 2007
520  \kern 2.6\p@}                 % The \hrule has default height of .4pt % (was .4) updated Gerry March 20 2007
521% ------
522\long\def\@makefntext#1{\noindent
523%\hbox to .5em{\hss$^{\@thefnmark}$}#1}   % original
524\hbox to .5em{\hss\textsuperscript{\@thefnmark}}#1}  % C. Clifton / GM Oct. 2nd. 2002
525% -------
526
527\long\def\@maketntext#1{\noindent
528#1}
529
530\long\def\@maketitlenotetext#1#2{\noindent
531            \hbox to 1.8em{\hss$^{#1}$}#2}
532
533\setcounter{topnumber}{2}
534\def\topfraction{.7}
535\setcounter{bottomnumber}{1}
536\def\bottomfraction{.3}
537\setcounter{totalnumber}{3}
538\def\textfraction{.2}
539\def\floatpagefraction{.5}
540\setcounter{dbltopnumber}{2}
541\def\dbltopfraction{.7}
542\def\dblfloatpagefraction{.5}
543
544%
545\long\def\@makecaption#1#2{
546   \vskip \baselineskip
547   \setbox\@tempboxa\hbox{\textbf{#1: #2}}
548   \ifdim \wd\@tempboxa >\hsize % IF longer than one line:
549       \textbf{#1: #2}\par               %   THEN set as ordinary paragraph.
550     \else                      %   ELSE  center.
551       \hbox to\hsize{\hfil\box\@tempboxa\hfil}\par
552   \fi}
553
554%
555
556\long\def\@makecaption#1#2{
557   \vskip 10pt
558   \setbox\@tempboxa\hbox{\textbf{#1: #2}}
559   \ifdim \wd\@tempboxa >\hsize % IF longer than one line:
560       \textbf{#1: #2}\par                %   THEN set as ordinary paragraph.
561     \else                      %   ELSE  center.
562       \hbox to\hsize{\hfil\box\@tempboxa\hfil}
563   \fi}
564
565\@ifundefined{figure}{\newcounter {figure}} % this is for LaTeX2e
566
567\def\fps@figure{tbp}
568\def\ftype@figure{1}
569\def\ext@figure{lof}
570\def\fnum@figure{Figure \thefigure}
571\def\figure{\@float{figure}}
572%\let\endfigure\end@float
573\def\endfigure{\end@float}      % Gerry January 2008
574\@namedef{figure*}{\@dblfloat{figure}}
575\@namedef{endfigure*}{\end@dblfloat}
576
577\@ifundefined{table}{\newcounter {table}} % this is for LaTeX2e
578
579\def\fps@table{tbp}
580\def\ftype@table{2}
581\def\ext@table{lot}
582\def\fnum@table{Table \thetable}
583\def\table{\@float{table}}
584%\let\endtable\end@float
585\def\endtable{\end@float}       % Gerry January 2008
586\@namedef{table*}{\@dblfloat{table}}
587\@namedef{endtable*}{\end@dblfloat}
588
589\newtoks\titleboxnotes
590\newcount\titleboxnoteflag
591
592\def\maketitle{\par
593 \begingroup
594   \def\thefootnote{\fnsymbol{footnote}}
595   \def\@makefnmark{\hbox
596       to 0pt{$^{\@thefnmark}$\hss}}
597     \twocolumn[\@maketitle]
598\@thanks
599 \endgroup
600 \setcounter{footnote}{0}
601 \let\maketitle\relax
602 \let\@maketitle\relax
603 \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@subtitle{}\let\thanks\relax
604 \@copyrightspace}
605
606%% CHANGES ON NEXT LINES
607\newif\if@ll % to record which version of LaTeX is in use
608
609\expandafter\ifx\csname LaTeXe\endcsname\relax % LaTeX2.09 is used
610\else% LaTeX2e is used, so set ll to true
611\global\@lltrue
612\fi
613
614\if@ll
615  \NeedsTeXFormat{LaTeX2e}
616  \ProvidesClass{sig-alternate} [2009/04/22 - V2.4 - based on acmproc.cls V1.3 <Nov. 30 '99>]
617  \RequirePackage{latexsym}% QUERY: are these two really needed?
618  \let\dooptions\ProcessOptions
619\else
620  \let\dooptions\@options
621\fi
622%% END CHANGES
623
624\def\@height{height}
625\def\@width{width}
626\def\@minus{minus}
627\def\@plus{plus}
628\def\hb@xt@{\hbox to}
629\newif\if@faircopy
630\@faircopyfalse
631\def\ds@faircopy{\@faircopytrue}
632
633\def\ds@preprint{\@faircopyfalse}
634
635\@twosidetrue
636\@mparswitchtrue
637\def\ds@draft{\overfullrule 5\p@}
638%% CHANGE ON NEXT LINE
639\dooptions
640
641\lineskip \p@
642\normallineskip \p@
643\def\baselinestretch{1}
644\def\@ptsize{0} %needed for amssymbols.sty
645
646%% CHANGES ON NEXT LINES
647\if@ll% allow use of old-style font change commands in LaTeX2e
648\@maxdepth\maxdepth
649%
650\DeclareOldFontCommand{\rm}{\ninept\rmfamily}{\mathrm}
651\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
652\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
653\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
654\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
655\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
656\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
657\DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}}
658\DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}}
659\fi
660%
661\if@ll
662 \renewcommand{\rmdefault}{cmr}  % was 'ttm'
663% Note! I have also found 'mvr' to work ESPECIALLY well.
664% Gerry - October 1999
665% You may need to change your LV1times.fd file so that sc is
666% mapped to cmcsc - -for smallcaps -- that is if you decide
667% to change {cmr} to {times} above. (Not recommended)
668  \renewcommand{\@ptsize}{}
669  \renewcommand{\normalsize}{%
670    \@setfontsize\normalsize\@ixpt{10.5\p@}%\ninept%
671    \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@
672    \belowdisplayskip \abovedisplayskip
673    \abovedisplayshortskip 6\p@ \@minus 3\p@
674    \belowdisplayshortskip 6\p@ \@minus 3\p@
675    \let\@listi\@listI
676  }
677\else
678  \def\@normalsize{%changed next to 9 from 10
679    \@setsize\normalsize{9\p@}\ixpt\@ixpt
680   \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@
681    \belowdisplayskip \abovedisplayskip
682    \abovedisplayshortskip 6\p@ \@minus 3\p@
683    \belowdisplayshortskip 6\p@ \@minus 3\p@
684    \let\@listi\@listI
685  }%
686\fi
687\if@ll
688  \newcommand\scriptsize{\@setfontsize\scriptsize\@viipt{8\p@}}
689  \newcommand\tiny{\@setfontsize\tiny\@vpt{6\p@}}
690  \newcommand\footnotesize{\@setfontsize\footnotesize\@viiipt{9\p@}}
691    \newcommand\large{\@setfontsize\large\@xiipt{14\p@}}
692  \newcommand\Large{\@setfontsize\Large\@xivpt{18\p@}}
693  \newcommand\LARGE{\@setfontsize\LARGE\@xviipt{20\p@}}
694  \newcommand\huge{\@setfontsize\huge\@xxpt{25\p@}}
695  \newcommand\Huge{\@setfontsize\Huge\@xxvpt{30\p@}}
696\else
697  \def\scriptsize{\@setsize\scriptsize{9\p@}\viipt\@viipt}
698  \def\tiny{\@setsize\tiny{6\p@}\vpt\@vpt}
699  \newcommand\footnotesize{\@setfontsize\footnotesize\@viiipt{9\p@}}
700    \def\large{\@setsize\large{14\p@}\xiipt\@xiipt}
701  \def\Large{\@setsize\Large{18\p@}\xivpt\@xivpt}
702  \def\LARGE{\@setsize\LARGE{20\p@}\xviipt\@xviipt}
703  \def\huge{\@setsize\huge{25\p@}\xxpt\@xxpt}
704  \def\Huge{\@setsize\Huge{30\p@}\xxvpt\@xxvpt}
705\fi
706\normalsize
707
708% make aubox hsize/number of authors up to 3, less gutter
709% then showbox gutter showbox gutter showbox -- GKMT Aug 99
710\newbox\@acmtitlebox
711\def\@maketitle{\newpage
712 \null
713 \setbox\@acmtitlebox\vbox{%
714\baselineskip 20pt
715\vskip 1em                   % Vertical space above title.
716   \begin{center}
717    {\ttlfnt \@title\par}       % Title set in 18pt Helvetica (Arial) bold size.
718    \vskip 1.5em                % Vertical space after title.
719%This should be the subtitle.
720{\subttlfnt \the\subtitletext\par}\vskip 1.25em%\fi
721    {\baselineskip 16pt\aufnt   % each author set in \12 pt Arial, in a
722     \lineskip .5em             % tabular environment
723     \begin{tabular}[t]{c}\@author
724     \end{tabular}\par}
725    \vskip 1em               % Vertical space after author.
726   \end{center}}
727 \dimen0=\ht\@acmtitlebox
728 \advance\dimen0 by -5.75pc\relax % Increased space for title box -- KBT
729 \unvbox\@acmtitlebox
730 \ifdim\dimen0<0.0pt\relax\vskip-\dimen0\fi}
731
732
733\newcount\titlenotecount
734\global\titlenotecount=0
735\newtoks\tntoks
736\newtoks\tntokstwo
737\newtoks\tntoksthree
738\newtoks\tntoksfour
739\newtoks\tntoksfive
740
741\def\abstract{
742\ifnum\titlenotecount>0 % was =1
743    \insert\footins{%
744    \reset@font\footnotesize
745        \interlinepenalty\interfootnotelinepenalty
746        \splittopskip\footnotesep
747        \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
748        \hsize\columnwidth \@parboxrestore
749        \protected@edef\@currentlabel{%
750        }%
751        \color@begingroup
752\ifnum\titlenotecount=1
753      \@maketntext{%
754         \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\@finalstrut\strutbox}%
755\fi
756\ifnum\titlenotecount=2
757      \@maketntext{%
758      \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
759\@maketntext{%
760         \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\@finalstrut\strutbox}%
761\fi
762\ifnum\titlenotecount=3
763      \@maketntext{%
764         \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
765\@maketntext{%
766         \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
767\@maketntext{%
768         \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\@finalstrut\strutbox}%
769\fi
770\ifnum\titlenotecount=4
771      \@maketntext{%
772         \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
773\@maketntext{%
774         \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
775\@maketntext{%
776         \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}%
777\@maketntext{%
778         \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\@finalstrut\strutbox}%
779\fi
780\ifnum\titlenotecount=5
781      \@maketntext{%
782         \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
783\@maketntext{%
784         \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
785\@maketntext{%
786         \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}%
787\@maketntext{%
788         \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\par\@finalstrut\strutbox}%
789\@maketntext{%
790         \raisebox{4pt}{$\P$}\rule\z@\footnotesep\ignorespaces\the\tntoksfive\@finalstrut\strutbox}%
791\fi
792   \color@endgroup} %g}
793\fi
794\setcounter{footnote}{0}
795\section*{ABSTRACT}\normalsize%\ninept
796}
797
798\def\endabstract{\if@twocolumn\else\endquotation\fi}
799
800\def\keywords{\if@twocolumn
801\section*{Keywords}
802\else \small
803\quotation
804\fi}
805
806\def\terms{\if@twocolumn
807\section*{General Terms}
808\else \small
809\quotation
810\fi}
811
812% -- Classification needs to be a bit smart due to optionals - Gerry/Georgia November 2nd. 1999
813\newcount\catcount
814\global\catcount=1
815
816\def\category#1#2#3{%
817\ifnum\catcount=1
818\section*{Categories and Subject Descriptors}
819\advance\catcount by 1\else{\unskip; }\fi
820    \@ifnextchar [{\@category{#1}{#2}{#3}}{\@category{#1}{#2}{#3}[]}%
821}
822
823\def\@category#1#2#3[#4]{%
824    \begingroup
825        \let\and\relax
826            #1 [\textbf{#2}]%
827            \if!#4!%
828                \if!#3!\else : #3\fi
829            \else
830                :\space
831                \if!#3!\else #3\kern\z@---\hskip\z@\fi
832                \textit{#4}%
833            \fi
834    \endgroup
835}
836%
837
838%%% This section (written by KBT) handles the 1" box in the lower left
839%%% corner of the left column of the first page by creating a picture,
840%%% and inserting the predefined string at the bottom (with a negative
841%%% displacement to offset the space allocated for a non-existent
842%%% caption).
843%%%
844\newtoks\copyrightnotice
845\def\ftype@copyrightbox{8}
846\def\@copyrightspace{
847\@float{copyrightbox}[b]
848\begin{center}
849\setlength{\unitlength}{1pc}
850\begin{picture}(0,0) %Space for copyright notice
851\put(0,-0.95){\crnotice{\@toappear}}
852\end{picture}
853\end{center}
854\end@float}
855
856\def\@toappear{} % Default setting blank - commands below change this.
857\long\def\toappear#1{\def\@toappear{\parbox[b]{20pc}{\baselineskip 9pt#1}}}
858\def\toappearbox#1{\def\@toappear{\raisebox{5pt}{\framebox[20pc]{\parbox[b]{19pc}{#1}}}}}
859
860\newtoks\conf
861\newtoks\confinfo
862\def\conferenceinfo#1#2{\global\conf={#1}\global\confinfo{#2}}
863
864
865%\def\marginpar{\@latexerr{The \marginpar command is not allowed in the
866%  `acmconf' document style.}\@eha}
867
868\def\marginpar{\ClassError{%
869    \string\marginpar\space is not allowed in the `acmconf' document        % January 2008
870    style}\@eha}
871
872\mark{{}{}}     % Initializes TeX's marks
873
874\def\today{\ifcase\month\or
875  January\or February\or March\or April\or May\or June\or
876  July\or August\or September\or October\or November\or December\fi
877  \space\number\day, \number\year}
878
879\def\@begintheorem#1#2{%
880    \parskip 0pt % GM July 2000 (for tighter spacing)
881    \trivlist
882    \item[%
883        \hskip 10\p@
884        \hskip \labelsep
885        {{\sc #1}\hskip 5\p@\relax#2.}%
886    ]
887    \it
888}
889\def\@opargbegintheorem#1#2#3{%
890    \parskip 0pt % GM July 2000 (for tighter spacing)
891    \trivlist
892    \item[%
893        \hskip 10\p@
894        \hskip \labelsep
895        {\sc #1\ #2\             % This mod by Gerry to enumerate corollaries
896   \setbox\@tempboxa\hbox{(#3)}  % and bracket the 'corollary title'
897        \ifdim \wd\@tempboxa>\z@ % and retain the correct numbering of e.g. theorems
898            \hskip 5\p@\relax    % if they occur 'around' said corollaries.
899            \box\@tempboxa       % Gerry - Nov. 1999.
900        \fi.}%
901    ]
902    \it
903}
904\newif\if@qeded
905\global\@qededfalse
906
907% -- original
908%\def\proof{%
909%  \vspace{-\parskip} % GM July 2000 (for tighter spacing)
910%    \global\@qededfalse
911%    \@ifnextchar[{\@xproof}{\@proof}%
912%}
913% -- end of original
914
915% (JSS) Fix for vertical spacing bug - Gerry Murray July 30th. 2002
916\def\proof{%
917\vspace{-\lastskip}\vspace{-\parsep}\penalty-51%
918\global\@qededfalse
919\@ifnextchar[{\@xproof}{\@proof}%
920}
921
922\def\endproof{%
923    \if@qeded\else\qed\fi
924    \endtrivlist
925}
926\def\@proof{%
927    \trivlist
928    \item[%
929        \hskip 10\p@
930        \hskip \labelsep
931        {\sc Proof.}%
932    ]
933    \ignorespaces
934}
935\def\@xproof[#1]{%
936    \trivlist
937    \item[\hskip 10\p@\hskip \labelsep{\sc Proof #1.}]%
938    \ignorespaces
939}
940\def\qed{%
941    \unskip
942    \kern 10\p@
943    \begingroup
944        \unitlength\p@
945        \linethickness{.4\p@}%
946        \framebox(6,6){}%
947    \endgroup
948    \global\@qededtrue
949}
950
951\def\newdef#1#2{%
952    \expandafter\@ifdefinable\csname #1\endcsname
953        {\@definecounter{#1}%
954         \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
955         \global\@namedef{#1}{\@defthm{#1}{#2}}%
956         \global\@namedef{end#1}{\@endtheorem}%
957    }%
958}
959\def\@defthm#1#2{%
960    \refstepcounter{#1}%
961    \@ifnextchar[{\@ydefthm{#1}{#2}}{\@xdefthm{#1}{#2}}%
962}
963\def\@xdefthm#1#2{%
964    \@begindef{#2}{\csname the#1\endcsname}%
965    \ignorespaces
966}
967\def\@ydefthm#1#2[#3]{%
968    \trivlist
969    \item[%
970        \hskip 10\p@
971        \hskip \labelsep
972        {\it #2%
973%         \savebox\@tempboxa{#3}%
974         \saveb@x\@tempboxa{#3}%        % January 2008
975         \ifdim \wd\@tempboxa>\z@
976            \ \box\@tempboxa
977         \fi.%
978        }]%
979    \ignorespaces
980}
981\def\@begindef#1#2{%
982    \trivlist
983    \item[%
984        \hskip 10\p@
985        \hskip \labelsep
986        {\it #1\ \rm #2.}%
987    ]%
988}
989\def\theequation{\arabic{equation}}
990
991\newcounter{part}
992\newcounter{section}
993\newcounter{subsection}[section]
994\newcounter{subsubsection}[subsection]
995\newcounter{paragraph}[subsubsection]
996\def\thepart{\Roman{part}}
997\def\thesection{\arabic{section}}
998\def\thesubsection{\thesection.\arabic{subsection}}
999\def\thesubsubsection{\thesubsection.\arabic{subsubsection}} %removed \subsecfnt 29 July 2002 gkmt
1000\def\theparagraph{\thesubsubsection.\arabic{paragraph}} %removed \subsecfnt 29 July 2002 gkmt
1001\newif\if@uchead
1002\@ucheadfalse
1003
1004%% CHANGES: NEW NOTE
1005%% NOTE: OK to use old-style font commands below, since they were
1006%% suitably redefined for LaTeX2e
1007%% END CHANGES
1008\setcounter{secnumdepth}{3}
1009\def\part{%
1010    \@startsection{part}{9}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}
1011        {4\p@}{\normalsize\@ucheadtrue}%
1012}
1013\def\section{%
1014    \@startsection{section}{1}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}% GM
1015    {4\p@}{\baselineskip 14pt\secfnt\@ucheadtrue}%
1016}
1017
1018\def\subsection{%
1019    \@startsection{subsection}{2}{\z@}{-8\p@ \@plus -2\p@ \@minus -\p@}
1020    {4\p@}{\secfnt}%
1021}
1022\def\subsubsection{%
1023    \@startsection{subsubsection}{3}{\z@}{-8\p@ \@plus -2\p@ \@minus -\p@}%
1024    {4\p@}{\subsecfnt}%
1025}
1026%\def\paragraph{%
1027%    \vskip 12pt\@startsection{paragraph}{3}{\z@}{6\p@ \@plus \p@}% original
1028%    {-5\p@}{\subsecfnt}%
1029%}
1030%  If one wants sections, subsections and subsubsections numbered,
1031%  but not paragraphs, one usually sets secnumepth to 3.
1032%  For that, the "depth" of paragraphs must be given correctly
1033%  in the definition (``4'' instead of ``3'' as second argument
1034%  of @startsection):
1035\def\paragraph{%
1036    \vskip 12pt\@startsection{paragraph}{4}{\z@}{6\p@ \@plus \p@}%    % GM and Wolfgang May - 11/30/06
1037    {-5\p@}{\subsecfnt}%
1038}
1039\let\@period=.
1040\def\@startsection#1#2#3#4#5#6{%
1041        \if@noskipsec  %gkmt, 11 aug 99
1042        \global\let\@period\@empty
1043        \leavevmode
1044        \global\let\@period.%
1045    \fi
1046      \par %
1047    \@tempskipa #4\relax
1048    \@afterindenttrue
1049    \ifdim \@tempskipa <\z@
1050        \@tempskipa -\@tempskipa
1051        \@afterindentfalse
1052    \fi
1053    \if@nobreak
1054    \everypar{}%
1055    \else
1056        \addpenalty\@secpenalty
1057        \addvspace\@tempskipa
1058    \fi
1059\parskip=0pt % GM July 2000 (non numbered) section heads
1060    \@ifstar
1061        {\@ssect{#3}{#4}{#5}{#6}}
1062        {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}%
1063}
1064\def\@sect#1#2#3#4#5#6[#7]#8{%
1065    \ifnum #2>\c@secnumdepth
1066        \let\@svsec\@empty
1067    \else
1068        \refstepcounter{#1}%
1069        \edef\@svsec{%
1070            \begingroup
1071                %\ifnum#2>2 \noexpand\rm \fi % changed to next 29 July 2002 gkmt
1072            \ifnum#2>2 \noexpand#6 \fi
1073                \csname the#1\endcsname
1074            \endgroup
1075            \ifnum #2=1\relax .\fi
1076            \hskip 1em
1077        }%
1078    \fi
1079    \@tempskipa #5\relax
1080    \ifdim \@tempskipa>\z@
1081        \begingroup
1082            #6\relax
1083            \@hangfrom{\hskip #3\relax\@svsec}%
1084            \begingroup
1085                \interlinepenalty \@M
1086                \if@uchead
1087                    \uppercase{#8}%
1088                \else
1089                    #8%
1090                \fi
1091                \par
1092            \endgroup
1093        \endgroup
1094        \csname #1mark\endcsname{#7}%
1095        \vskip -12pt  %gkmt, 11 aug 99 and GM July 2000 (was -14) - numbered section head spacing
1096\addcontentsline{toc}{#1}{%
1097            \ifnum #2>\c@secnumdepth \else
1098                \protect\numberline{\csname the#1\endcsname}%
1099            \fi
1100            #7%
1101        }%
1102    \else
1103        \def\@svsechd{%
1104            #6%
1105            \hskip #3\relax
1106            \@svsec
1107            \if@uchead
1108                \uppercase{#8}%
1109            \else
1110                #8%
1111            \fi
1112            \csname #1mark\endcsname{#7}%
1113            \addcontentsline{toc}{#1}{%
1114                \ifnum #2>\c@secnumdepth \else
1115                    \protect\numberline{\csname the#1\endcsname}%
1116                \fi
1117                #7%
1118            }%
1119        }%
1120    \fi
1121    \@xsect{#5}\hskip 1pt
1122    \par
1123}
1124\def\@xsect#1{%
1125    \@tempskipa #1\relax
1126    \ifdim \@tempskipa>\z@
1127        \par
1128        \nobreak
1129        \vskip \@tempskipa
1130        \@afterheading
1131    \else
1132        \global\@nobreakfalse
1133        \global\@noskipsectrue
1134        \everypar{%
1135            \if@noskipsec
1136                \global\@noskipsecfalse
1137                \clubpenalty\@M
1138                \hskip -\parindent
1139                \begingroup
1140                    \@svsechd
1141                    \@period
1142                \endgroup
1143                \unskip
1144                \@tempskipa #1\relax
1145                \hskip -\@tempskipa
1146            \else
1147                \clubpenalty \@clubpenalty
1148                \everypar{}%
1149            \fi
1150        }%
1151    \fi
1152    \ignorespaces
1153}
1154\def\@trivlist{%
1155    \@topsepadd\topsep
1156    \if@noskipsec
1157        \global\let\@period\@empty
1158        \leavevmode
1159        \global\let\@period.%
1160    \fi
1161    \ifvmode
1162        \advance\@topsepadd\partopsep
1163    \else
1164        \unskip
1165        \par
1166    \fi
1167    \if@inlabel
1168        \@noparitemtrue
1169        \@noparlisttrue
1170    \else
1171        \@noparlistfalse
1172        \@topsep\@topsepadd
1173    \fi
1174    \advance\@topsep \parskip
1175    \leftskip\z@skip
1176    \rightskip\@rightskip
1177    \parfillskip\@flushglue
1178    \@setpar{\if@newlist\else{\@@par}\fi}
1179    \global\@newlisttrue
1180    \@outerparskip\parskip
1181}
1182
1183%%% Actually, 'abbrev' works just fine as the default
1184%%% Bibliography style.
1185
1186\typeout{Using 'Abbrev' bibliography style}
1187\newcommand\bibyear[2]{%
1188    \unskip\quad\ignorespaces#1\unskip
1189    \if#2..\quad \else \quad#2 \fi
1190}
1191\newcommand{\bibemph}[1]{{\em#1}}
1192\newcommand{\bibemphic}[1]{{\em#1\/}}
1193\newcommand{\bibsc}[1]{{\sc#1}}
1194\def\@normalcite{%
1195    \def\@cite##1##2{[##1\if@tempswa , ##2\fi]}%
1196}
1197\def\@citeNB{%
1198    \def\@cite##1##2{##1\if@tempswa , ##2\fi}%
1199}
1200\def\@citeRB{%
1201    \def\@cite##1##2{##1\if@tempswa , ##2\fi]}%
1202}
1203\def\start@cite#1#2{%
1204    \edef\citeauthoryear##1##2##3{%
1205        ###1%
1206        \ifnum#2=\z@ \else\ ###2\fi
1207    }%
1208    \ifnum#1=\thr@@
1209        \let\@@cite\@citeyear
1210    \else
1211        \let\@@cite\@citenormal
1212    \fi
1213    \@ifstar{\@citeNB\@@cite}{\@normalcite\@@cite}%
1214}
1215%\def\cite{\start@cite23}
1216\DeclareRobustCommand\cite{\start@cite23}       % January 2008
1217\def\citeNP{\cite*}                 % No Parentheses e.g. 5
1218%\def\citeA{\start@cite10}
1219\DeclareRobustCommand\citeA{\start@cite10}      % January 2008
1220\def\citeANP{\citeA*}
1221%\def\shortcite{\start@cite23}
1222\DeclareRobustCommand\shortcite{\start@cite23}      % January 2008
1223\def\shortciteNP{\shortcite*}
1224%\def\shortciteA{\start@cite20}
1225\DeclareRobustCommand\shortciteA{\start@cite20}     % January 2008
1226\def\shortciteANP{\shortciteA*}
1227%\def\citeyear{\start@cite30}
1228\DeclareRobustCommand\citeyear{\start@cite30}       % January 2008
1229\def\citeyearNP{\citeyear*}
1230%\def\citeN{%
1231\DeclareRobustCommand\citeN{%               % January 2008
1232    \@citeRB
1233    \def\citeauthoryear##1##2##3{##1\ [##3%
1234        \def\reserved@a{##1}%
1235        \def\citeauthoryear####1####2####3{%
1236            \def\reserved@b{####1}%
1237            \ifx\reserved@a\reserved@b
1238                ####3%
1239            \else
1240                \errmessage{Package acmart Error: author mismatch
1241                         in \string\citeN^^J^^J%
1242                    See the acmart package documentation for explanation}%
1243            \fi
1244        }%
1245    }%
1246    \@ifstar\@citeyear\@citeyear
1247}
1248%\def\shortciteN{%
1249\DeclareRobustCommand\shortciteN{%          % January 2008
1250    \@citeRB
1251    \def\citeauthoryear##1##2##3{##2\ [##3%
1252        \def\reserved@a{##2}%
1253        \def\citeauthoryear####1####2####3{%
1254            \def\reserved@b{####2}%
1255            \ifx\reserved@a\reserved@b
1256                ####3%
1257            \else
1258                \errmessage{Package acmart Error: author mismatch
1259                         in \string\shortciteN^^J^^J%
1260                    See the acmart package documentation for explanation}%
1261            \fi
1262        }%
1263    }%
1264    \@ifstar\@citeyear\@citeyear  % GM July 2000
1265}
1266
1267\def\@citenormal{%
1268    \@ifnextchar [{\@tempswatrue\@citex;}%
1269% original                 {\@tempswafalse\@citex,[]}% was ; Gerry 2/24/00
1270{\@tempswafalse\@citex[]}%      % GERRY FIX FOR BABEL 3/20/2009
1271}
1272
1273\def\@citeyear{%
1274    \@ifnextchar [{\@tempswatrue\@citex,}%
1275% original                  {\@tempswafalse\@citex,[]}%
1276{\@tempswafalse\@citex[]}%  %  GERRY FIX FOR BABEL 3/20/2009
1277}
1278
1279\def\@citex#1[#2]#3{%
1280    \let\@citea\@empty
1281    \@cite{%
1282        \@for\@citeb:=#3\do{%
1283            \@citea
1284% original            \def\@citea{#1 }%
1285            \def\@citea{#1, }%  % GERRY FIX FOR BABEL 3/20/2009 -- SO THAT YOU GET [1, 2] IN THE BODY TEXT
1286            \edef\@citeb{\expandafter\@iden\@citeb}%
1287            \if@filesw
1288                \immediate\write\@auxout{\string\citation{\@citeb}}%
1289            \fi
1290            \@ifundefined{b@\@citeb}{%
1291                {\bf ?}%
1292                \@warning{%
1293                    Citation `\@citeb' on page \thepage\space undefined%
1294                }%
1295            }%
1296            {\csname b@\@citeb\endcsname}%
1297        }%
1298    }{#2}%
1299}
1300%\let\@biblabel\@gobble   % Dec. 2008 - Gerry
1301% ----
1302\def\@biblabelnum#1{[#1]} % Gerry's solution #1 - for Natbib -- April 2009
1303\let\@biblabel=\@biblabelnum  % Gerry's solution #1 - for Natbib -- April 2009
1304\def\newblock{\relax} % Gerry Dec. 2008
1305% ---
1306\newdimen\bibindent
1307\setcounter{enumi}{1}
1308\bibindent=0em
1309\def\thebibliography#1{%
1310\ifnum\addauflag=0\addauthorsection\global\addauflag=1\fi
1311     \section[References]{%    <=== OPTIONAL ARGUMENT ADDED HERE
1312        {References} % was uppercased but this affects pdf bookmarks (SP/GM October 2004)
1313          {\vskip 0pt plus 1pt} % GM Nov. 2006 / GM July 2000 (for somewhat tighter spacing)
1314         \@mkboth{{\refname}}{{\refname}}%
1315     }%
1316     \list{[\arabic{enumi}]}{%
1317         \settowidth\labelwidth{[#1]}%
1318         \leftmargin\labelwidth
1319         \advance\leftmargin\labelsep
1320         \advance\leftmargin\bibindent
1321         \parsep=0pt\itemsep=1pt % GM July 2000
1322         \itemindent -\bibindent
1323         \listparindent \itemindent
1324         \usecounter{enumi}
1325     }%
1326     \let\newblock\@empty
1327     \raggedright % GM July 2000
1328     \sloppy
1329     \sfcode`\.=1000\relax
1330}
1331
1332
1333\gdef\balancecolumns
1334{\vfill\eject
1335\global\@colht=\textheight
1336\global\ht\@cclv=\textheight
1337}
1338
1339\newcount\colcntr
1340\global\colcntr=0
1341%\newbox\savebox
1342\newbox\saveb@x             % January 2008
1343
1344\gdef \@makecol {%
1345\global\advance\colcntr by 1
1346\ifnum\colcntr>2 \global\colcntr=1\fi
1347   \ifvoid\footins
1348     \setbox\@outputbox \box\@cclv
1349   \else
1350     \setbox\@outputbox \vbox{%
1351\boxmaxdepth \@maxdepth
1352       \@tempdima\dp\@cclv
1353       \unvbox \@cclv
1354       \vskip-\@tempdima
1355       \vskip \skip\footins
1356       \color@begingroup
1357         \normalcolor
1358         \footnoterule
1359         \unvbox \footins
1360       \color@endgroup
1361       }%
1362   \fi
1363   \xdef\@freelist{\@freelist\@midlist}%
1364   \global \let \@midlist \@empty
1365   \@combinefloats
1366   \ifvbox\@kludgeins
1367     \@makespecialcolbox
1368   \else
1369     \setbox\@outputbox \vbox to\@colht {%
1370\@texttop
1371       \dimen@ \dp\@outputbox
1372       \unvbox \@outputbox
1373   \vskip -\dimen@
1374       \@textbottom
1375       }%
1376   \fi
1377   \global \maxdepth \@maxdepth
1378}
1379\def\titlenote{\@ifnextchar[\@xtitlenote{\stepcounter\@mpfn
1380\global\advance\titlenotecount by 1
1381\ifnum\titlenotecount=1
1382    \raisebox{9pt}{$\ast$}
1383\fi
1384\ifnum\titlenotecount=2
1385    \raisebox{9pt}{$\dagger$}
1386\fi
1387\ifnum\titlenotecount=3
1388    \raisebox{9pt}{$\ddagger$}
1389\fi
1390\ifnum\titlenotecount=4
1391\raisebox{9pt}{$\S$}
1392\fi
1393\ifnum\titlenotecount=5
1394\raisebox{9pt}{$\P$}
1395\fi
1396         \@titlenotetext
1397}}
1398
1399\long\def\@titlenotetext#1{\insert\footins{%
1400\ifnum\titlenotecount=1\global\tntoks={#1}\fi
1401\ifnum\titlenotecount=2\global\tntokstwo={#1}\fi
1402\ifnum\titlenotecount=3\global\tntoksthree={#1}\fi
1403\ifnum\titlenotecount=4\global\tntoksfour={#1}\fi
1404\ifnum\titlenotecount=5\global\tntoksfive={#1}\fi
1405    \reset@font\footnotesize
1406    \interlinepenalty\interfootnotelinepenalty
1407    \splittopskip\footnotesep
1408    \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
1409    \hsize\columnwidth \@parboxrestore
1410    \protected@edef\@currentlabel{%
1411    }%
1412    \color@begingroup
1413   \color@endgroup}}
1414
1415%%%%%%%%%%%%%%%%%%%%%%%%%
1416\ps@plain
1417\baselineskip=11pt
1418\let\thepage\relax % For NO page numbers - GM Nov. 30th. 1999 and July 2000
1419\def\setpagenumber#1{\global\setcounter{page}{#1}}
1420%\pagenumbering{arabic}  % Arabic page numbers GM July 2000
1421\twocolumn             % Double column.
1422\flushbottom           % Even bottom -- alas, does not balance columns at end of document
1423\pagestyle{plain}
1424
1425% Need Copyright Year and Copyright Data to be user definable (in .tex file).
1426% Gerry Nov. 30th. 1999
1427\newtoks\copyrtyr
1428\newtoks\acmcopyr
1429\newtoks\boilerplate
1430\global\acmcopyr={X-XXXXX-XX-X/XX/XX}  % Default - 5/11/2001 *** Gerry
1431\global\copyrtyr={200X}                % Default - 3/3/2003 *** Gerry
1432\def\CopyrightYear#1{\global\copyrtyr{#1}}
1433\def\crdata#1{\global\acmcopyr{#1}}
1434\def\permission#1{\global\boilerplate{#1}}
1435%
1436\global\boilerplate={Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page.  To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.}
1437\newtoks\copyrightetc
1438\global\copyrightetc{Copyright \the\copyrtyr\ ACM \the\acmcopyr\ ...\$10.00}
1439\toappear{\the\boilerplate\par
1440{\confname{\the\conf}} \the\confinfo\par \the\copyrightetc.}
1441%\DeclareFixedFont{\altcrnotice}{OT1}{tmr}{m}{n}{8}  % << patch needed for accenting e.g. Montreal - Gerry, May 2007
1442%\DeclareFixedFont{\altconfname}{OT1}{tmr}{m}{it}{8}  % << patch needed for accenting in italicized confname - Gerry, May 2007
1443%
1444%{\altconfname{{\the\conf}}} {\altcrnotice\the\confinfo\par} \the\copyrightetc.}  % << Gerry, May 2007
1445%
1446% The following section (i.e. 3 .sty inclusions) was added in May 2007 so as to fix the problems that many
1447% authors were having with accents. Sometimes accents would occur, but the letter-character would be of a different
1448% font. Conversely the letter-character font would be correct but, e.g. a 'bar' would appear superimposed on the
1449% character instead of, say, an unlaut/diaresis. Sometimes the letter-character would NOT appear at all.
1450% Using [T1]{fontenc} outright was not an option as this caused 99% of the authors to 'produce' a Type-3 (bitmapped)
1451% PDF file - useless for production.
1452%
1453% For proper (font) accenting we NEED these packages to be part of the .cls file i.e. 'ae', 'aecompl' and 'aeguil'
1454% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1455%% This is file `ae.sty'
1456\def\fileversion{1.3}
1457\def\filedate{2001/02/12}
1458\NeedsTeXFormat{LaTeX2e}
1459%\ProvidesPackage{ae}[\filedate\space\fileversion\space  % GM
1460% Almost European Computer Modern]                       % GM - keeping the log file clean(er)
1461\newif\if@ae@slides \@ae@slidesfalse
1462\DeclareOption{slides}{\@ae@slidestrue}
1463\ProcessOptions
1464\fontfamily{aer}
1465\RequirePackage[T1]{fontenc}
1466\if@ae@slides
1467    \renewcommand{\sfdefault}{laess}
1468    \renewcommand{\rmdefault}{laess} % no roman
1469    \renewcommand{\ttdefault}{laett}
1470\else
1471    \renewcommand{\sfdefault}{aess}
1472    \renewcommand{\rmdefault}{aer}
1473    \renewcommand{\ttdefault}{aett}
1474\fi
1475\endinput
1476%%
1477%% End of file `ae.sty'.
1478%
1479%
1480\def\fileversion{0.9}
1481\def\filedate{1998/07/23}
1482\NeedsTeXFormat{LaTeX2e}
1483%\ProvidesPackage{aecompl}[\filedate\space\fileversion\space   % GM
1484%T1 Complements for AE fonts (D. Roegel)]                      % GM -- keeping the log file clean(er)
1485
1486\def\@ae@compl#1{{\fontencoding{T1}\fontfamily{cmr}\selectfont\symbol{#1}}}
1487\def\guillemotleft{\@ae@compl{19}}
1488\def\guillemotright{\@ae@compl{20}}
1489\def\guilsinglleft{\@ae@compl{14}}
1490\def\guilsinglright{\@ae@compl{15}}
1491\def\TH{\@ae@compl{222}}
1492\def\NG{\@ae@compl{141}}
1493\def\ng{\@ae@compl{173}}
1494\def\th{\@ae@compl{254}}
1495\def\DJ{\@ae@compl{208}}
1496\def\dj{\@ae@compl{158}}
1497\def\DH{\@ae@compl{208}}
1498\def\dh{\@ae@compl{240}}
1499\def\@perthousandzero{\@ae@compl{24}}
1500\def\textperthousand{\%\@perthousandzero}
1501\def\textpertenthousand{\%\@perthousandzero\@perthousandzero}
1502\endinput
1503%
1504%
1505%% This is file `aeguill.sty'
1506% This file gives french guillemets (and not guillemots!)
1507% built with the Polish CMR fonts (default), WNCYR fonts, the LASY fonts
1508% or with the EC fonts.
1509% This is useful in conjunction with the ae package
1510% (this package loads the ae package in case it has not been loaded)
1511%  and with or without the french(le) package.
1512%
1513% In order to get the guillemets, it is necessary to either type
1514% \guillemotleft and \guillemotright, or to use an 8 bit encoding
1515% (such as ISO-Latin1) which selects these two commands,
1516% or, if you use the french package (but not the frenchle package),
1517% to type << or >>.
1518%
1519% By default, you get the Polish CMR guillemets; if this package is loaded
1520% with the `cm' option, you get the LASY guillemets; with `ec,' you
1521% get the EC guillemets, and with `cyr,' you get the cyrillic guillemets.
1522%
1523% In verbatim mode, you always get the EC/TT guillemets.
1524%
1525% The default option is interesting in conjunction with PDF,
1526% because there is a Type 1 version of the Polish CMR fonts
1527% and these guillemets are very close in shape to the EC guillemets.
1528% There are no free Type 1 versions of the EC fonts.
1529%
1530% Support for Polish CMR guillemets was kindly provided by
1531% Rolf Niepraschk <niepraschk@ptb.de> in version 0.99 (2000/05/22).
1532% Bernd Raichle provided extensive simplifications to the code
1533% for version 1.00.
1534%
1535% This package is released under the LPPL.
1536%
1537% Changes:
1538%   Date        version
1539%   2001/04/12  1.01    the frenchle and french package are now distinguished.
1540%
1541\def\fileversion{1.01}
1542\def\filedate{2001/04/12}
1543\NeedsTeXFormat{LaTeX2e}
1544%\ProvidesPackage{aeguill}[2001/04/12 1.01 %    % GM
1545%AE fonts with french guillemets (D. Roegel)]   % GM - keeping the log file clean(er)
1546%\RequirePackage{ae}  % GM May 2007 - already embedded here
1547
1548\newcommand{\@ae@switch}[4]{#4}
1549\DeclareOption{ec}{\renewcommand\@ae@switch[4]{#1}}
1550\DeclareOption{cm}{\renewcommand\@ae@switch[4]{#2}}
1551\DeclareOption{cyr}{\renewcommand\@ae@switch[4]{#3}}
1552\DeclareOption{pl}{\renewcommand\@ae@switch[4]{#4}}
1553\ExecuteOptions{pl}
1554\ProcessOptions
1555
1556%
1557% Load necessary packages
1558%
1559\@ae@switch{% ec
1560  % do nothing
1561}{% cm
1562  \RequirePackage{latexsym}%  GM - May 2007 - already 'mentioned as required' up above
1563}{% cyr
1564  \RequirePackage[OT2,T1]{fontenc}%
1565}{% pl
1566  \RequirePackage[OT4,T1]{fontenc}%
1567}
1568
1569% The following command will be compared to \frenchname,
1570% as defined in french.sty and frenchle.sty.
1571\def\aeguillfrenchdefault{french}%
1572
1573\let\guill@verbatim@font\verbatim@font
1574\def\verbatim@font{\guill@verbatim@font\ecguills{cmtt}%
1575                   \let\guillemotleft\@oguills\let\guillemotright\@fguills}
1576
1577\begingroup \catcode`\<=13 \catcode`\>=13
1578\def\x{\endgroup
1579 \def\ae@lfguill{<<}%
1580 \def\ae@rfguill{>>}%
1581}\x
1582
1583\newcommand{\ecguills}[1]{%
1584  \def\selectguillfont{\fontencoding{T1}\fontfamily{#1}\selectfont}%
1585  \def\@oguills{{\selectguillfont\symbol{19}}}%
1586  \def\@fguills{{\selectguillfont\symbol{20}}}%
1587  }
1588
1589\newcommand{\aeguills}{%
1590  \ae@guills
1591  % We redefine \guillemotleft and \guillemotright
1592  % in order to catch them when they are used
1593  % with \DeclareInputText (in latin1.def for instance)
1594  % We use \auxWARNINGi as a safe indicator that french.sty is used.
1595  \gdef\guillemotleft{\ifx\auxWARNINGi\undefined
1596                         \@oguills % neither french.sty nor frenchle.sty
1597                      \else
1598                         \ifx\aeguillfrenchdefault\frenchname
1599                           \ae@lfguill  % french.sty
1600                         \else
1601                           \@oguills    % frenchle.sty
1602                         \fi
1603                      \fi}%
1604  \gdef\guillemotright{\ifx\auxWARNINGi\undefined
1605                         \@fguills % neither french.sty nor frenchle.sty
1606                       \else
1607                         \ifx\aeguillfrenchdefault\frenchname
1608                           \ae@rfguill  % french.sty
1609                         \else
1610                           \@fguills    % frenchle.sty
1611                         \fi
1612                       \fi}%
1613  }
1614
1615%
1616% Depending on the class option
1617% define the internal command \ae@guills
1618\@ae@switch{% ec
1619  \newcommand{\ae@guills}{%
1620    \ecguills{cmr}}%
1621}{% cm
1622  \newcommand{\ae@guills}{%
1623    \def\selectguillfont{\fontencoding{U}\fontfamily{lasy}%
1624            \fontseries{m}\fontshape{n}\selectfont}%
1625    \def\@oguills{\leavevmode\nobreak
1626                \hbox{\selectguillfont (\kern-.20em(\kern.20em}\nobreak}%
1627    \def\@fguills{\leavevmode\nobreak
1628                \hbox{\selectguillfont \kern.20em)\kern-.2em)}%
1629                \ifdim\fontdimen\@ne\font>\z@\/\fi}}%
1630}{% cyr
1631  \newcommand{\ae@guills}{%
1632    \def\selectguillfont{\fontencoding{OT2}\fontfamily{wncyr}\selectfont}%
1633    \def\@oguills{{\selectguillfont\symbol{60}}}%
1634    \def\@fguills{{\selectguillfont\symbol{62}}}}
1635}{% pl
1636  \newcommand{\ae@guills}{%
1637    \def\selectguillfont{\fontencoding{OT4}\fontfamily{cmr}\selectfont}%
1638    \def\@oguills{{\selectguillfont\symbol{174}}}%
1639    \def\@fguills{{\selectguillfont\symbol{175}}}}
1640}
1641
1642
1643\AtBeginDocument{%
1644  \ifx\GOfrench\undefined
1645    \aeguills
1646  \else
1647    \let\aeguill@GOfrench\GOfrench
1648    \gdef\GOfrench{\aeguill@GOfrench \aeguills}%
1649  \fi
1650  }
1651
1652\endinput
1653%
1654
Note: See TracBrowser for help on using the repository browser.