source: docs/PACT14/sig-alternate-2013.cls @ 4561

Last change on this file since 4561 was 3870, checked in by cameron, 5 years ago

Formatting, PACT publication template

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