]> code.communitydata.science - rises_declines_wikia_code.git/blob - paper_source/sigchi.cls
add copy of the GPL
[rises_declines_wikia_code.git] / paper_source / sigchi.cls
1 % CHI Proceedings Template.
2 %
3 % FILENAME: sigchi.cls
4 %  
5 % SOURCE: See https://github.com/sigchi for latest official version.
6 %
7 % NOTE: If you wish to edit this document, please list edits properly
8 % in the CHANGELOG section and not scattered through the code.
9
10 % CHANGELOG: 
11 %
12 % 2015-12-10 Daniel Ashbrook Switch 7-bit fonts to 8-bit
13 %
14 % 2015-03-21 David A. Shamma Updating for new format and Github
15 % repo for CHI 2016.
16 %
17 % 2014-07-30 Scooter Morris Updated to add DOI text to copyright
18 % footer
19 %
20 % 2011-10-19 DanCo Added \sloppy to reduce overfull lines per Sheridan
21 %
22 % 2011-08-28 Jean-Daniel Fekete Re-added flushleft in \terms &
23 % \category, added compatibility for the caption package
24 %
25 % 2006 Andrew Duchowski Updated the metafont names to use more
26 % modern Berry font naming schemes.
27 %
28 % 2002-07-30 JS/GM Fix to vertical spacing before Proofs
29 %
30 % 2002-07-29 Georgia Fixed bug in sub-sub-section numbering in
31 % paragraphs
32 %
33 % 1999-09-11 Gerry Murry Allowance Made to switch default fonts
34 % between those systems using METAFONT and those using 'Type 1' or
35 % 'Truetype' fonts.  See LINE NUMBER 266 for details.  Also provided
36 % for enumerated/annotated Corollaries 'surrounded' by enumerated
37 % Theorems (line 838).
38 %
39 % Modified from ACM_PROC_ARTICLE-SP DOCUMENT STYLE by G.K.M. Tobin
40 % August-October 1999.  Adapted from ARTICLE document style by Ken
41 % Traub, Olin Shivers also using elements of esub2acm.cls.  Modified
42 % from ARTICLE DOCUMENT STYLE -- Released 16 March 1988 for LaTeX
43 % version 2.09 by Leslie Lamport, 16 March 1988.
44
45 % MISC: 
46 %
47 % Fixed the format to match the Word template and added a \teaser
48 % command to add a teaser image.
49 %
50 % Made the Permission Statement / Conference Info / Copyright Info
51 % 'user definable' in the source .tex file OR automatic if not
52 % specified.  This 'sp' version does NOT produce the permission block.
53 %
54 % Major change in January 2000 was to include a "blank line" in
55 % between new paragraphs. This involved major changes to the, then,
56 % acmproc-sp.cls 1.0SP file, precipitating a 'new' name:
57 % "acm_proc_article-sp.cls" V2.01SP.  Footnotes inside table cells
58 % using \minipage (Oct. 2002)
59 %
60 % LICENSE: Public domain: You are free to do whatever you want with
61 % this template.  If you improve this in any way, please submit a
62 % pull request to the Github repository.
63 %
64 % ---- Start of example  ----
65 %
66 % \documentclass{sigchi}
67 % \usepackage{times}
68 % \pagenumbering{arabic} % Arabic page numbers for submission.  
69 %                        % Remove this line to eliminate page numbers  
70 %                        % for the camera ready copy
71 % \title{The Title}
72 % \numberofauthors{2}
73 % \author{
74 %   \alignauthor Author 1
75 %     \affaddr{Affiliation}\\
76 %     \affaddr{Affiliation}\\
77 %     \email{author@a.com}
78 %   \alignauthor Author 2
79 %     \affaddr{Affiliation}\\
80 %     \affaddr{Affiliation}\\
81 %     \email{author2@b.com}
82 % }
83 %
84 %\begin{document}
85 %\maketitle
86 %\abstract{This is the abstract}
87 %\keywords{Put author keywords here}
88 %\classification{The ACM Classification keywords here.}
89 %
90 %\section{Introduction}
91 % ...
92 %
93 % ---- End of example  ----
94 %
95 % For the ACM Tracking Purposes
96 \def\fileversion{V0.20}
97 \def\filedate{March 21, 2015}
98 \def\docdate {\filedate}
99 % Packages
100 \usepackage{epsfig}
101 \usepackage{amssymb}
102 \usepackage{amsmath}
103 \usepackage{amsfonts}
104 %%% ACM_PROC_ARTICLE-SP is a document style for producing two-column camera-ready pages for
105 %%% ACM conferences, according to ACM specifications.  The main features of
106 %%% this style are:
107 %%%
108 %%% 1)  Two columns.
109 %%% 2)  Side and top margins of 4.5pc, bottom margin of 6pc, column gutter of
110 %%%     2pc, hence columns are 20pc wide and 55.5pc tall.  (6pc =3D 1in, approx)
111 %%% 3)  First page has title information, and an extra 6pc of space at the
112 %%%     bottom of the first column for the ACM copyright notice.
113 %%% 4)  Text is 9pt on 10pt baselines; titles (except main) are 9pt bold.
114 %%%
115 %%%
116 %%% There are a few restrictions you must observe:
117 %%%
118 %%% 1)  You cannot change the font size; ACM wants you to use 9pt.
119 %%% 3)  You must start your paper with the \maketitle command.  Prior to the
120 %%%     \maketitle you must have \title and \author commands.  If you have a
121 %%%     \date command it will be ignored; no date appears on the paper, since
122 %%%     the proceedings will have a date on the front cover.
123 %%% 4)  Marginal paragraphs, tables of contents, lists of figures and tables,
124 %%%     and page headings are all forbidden.
125 %%% 5)  The `figure' environment will produce a figure one column wide; if you
126 %%%     want one that is two columns wide, use `figure*'.
127 %%%
128 %
129 %%% Copyright Space:
130 %%% This style automatically leaves 1" blank space at the bottom of page 1/
131 %%% column 1.  This space can optionally be filled with some text using the
132 %%% \toappear{...} command.  If used, this command must be BEFORE the \maketitle
133 %%% command.  If this command is defined AND [preprint] is on, then the
134 %%% space is filled with the {...} text (at the bottom); otherwise, it is
135 %%% blank.  If you use \toappearbox{...} instead of \toappear{...} then a
136 %%% box will be drawn around the text (if [preprint] is on).
137 %%%
138 %%% A typical usage looks like this:
139 %%%     \toappear{To appear in the Ninth AES Conference on Medievil Lithuanian
140 %%%               Embalming Technique, June 1991, Alfaretta, Georgia.}
141 %%% This will be included in the preprint, and left out of the conference
142 %%% version.
143 %%%
144 %%% WARNING:
145 %%% Some dvi-ps converters heuristically allow chars to drift from their
146 %%% true positions a few pixels. This may be noticeable with the 9pt sans-serif
147 %%% bold font used for section headers.
148 %%% You may turn this hackery off via the -e option:
149 %%%     dvips -e 0 foo.dvi >foo.ps
150 %%%
151
152 \typeout{}
153
154 \typeout{Document Class SIGCHI}
155
156 \typeout{Available at https://github.com/sigchi.}
157
158 \typeout{}
159
160 \typeout{- <May 11, 2016> Updated by Florian Heller to accept ACM copyright commands.}
161
162 \typeout{- <March 21, 2015> Updated by David A. Shamma for CHI 2016.}
163
164 \typeout{- <July 30, 2014> Updated for for 2014 by William Hudson and
165   Jean-Daniel Fekete.}
166
167 \typeout{- <October 19, 2010> Updated for 2011 by Manas Tungare.}
168
169 \typeout{Shamelessly copied from}
170
171 \typeout{- <September 7, 2000> Modified by Jan O. Borchers from
172   `chiproceedings'}
173
174 \typeout{- <October 2, 2002> Modified by G.K.M. Tobin from
175   `acm_proc_article-sp'}
176
177 \typeout{- <May 22, 1989> Hacked from `acmconf' 4/91 by
178   shivers@cs.cmu.edu, 4/93 by theobald@cs.mcgill.ca}
179
180 \typeout{Excerpts were taken from (Journal Style) 'esub2acm.cls'.}
181
182 \typeout{}
183
184 % Options taken from ACM LaTeX template. FH, May 11 2016
185 % New option code by BV
186
187 \newcount\ACM@basesize
188 \ACM@basesize=9\relax
189 \DeclareOption{9pt}{\ACM@basesize=9\relax}
190 \DeclareOption{10pt}{\ACM@basesize=10\relax}
191 \DeclareOption{11pt}{\ClassError{sig-alternate}{The `11pt' option is
192     not allowed}{sig-alternate now exists in 9pt and 10pt versions only}}
193 \DeclareOption{12pt}{\ClassError{sig-alternate}{The `12pt' option is
194     not allowed}{sig-alternate now exists in 9pt and 10pt versions only}}
195
196 \ExecuteOptions{9pt}
197 \ProcessOptions
198
199 \def\doi#1{\def\@doi{#1}}
200 \doi{http://dx.doi.org/10.1145/0000000.0000000}
201
202 \let\@concepts\@empty
203
204
205 \oddsidemargin 1.9025cm            % [jdf] stick to CHI Formating Guidelines
206 \evensidemargin 1.9025cm           % [jdf] idem
207 \advance\oddsidemargin by -1in  % Correct for LaTeX gratuitousness
208 \advance\evensidemargin by -1in % Correct for LaTeX gratuitousness
209 \marginparwidth 0pt             % Margin pars are not allowed.
210 \marginparsep 11pt              % Horizontal space between outer margin and
211                                 % marginal note
212
213                                 % Top of page:
214 \topmargin 2.2cm                % [jdf] stick to CHI Formating Guidelines
215 %\topmargin 6.5pc                % Nominal distance from top of page to top of  % 00-09-07 job (for A4)
216                                 % box containing running head.
217 \advance\topmargin by -1in      % Correct for LaTeX gratuitousness
218 \headheight 0pt                 % Height of box containing running head.
219 \headsep 0pt                    % Space between running head and text.
220                                 % Bottom of page:
221 \footskip 30pt                  % Distance from baseline of box containing foot
222                                 % to baseline of last line of text.
223 \@ifundefined{footheight}{\newdimen\footheight}{}% this is for LaTeX2e
224 \footheight 12pt                % Height of box containing running foot.
225
226
227 %% Must redefine the top margin so there's room for headers and
228 %% page numbers if you are using the preprint option. Footers
229 %% are OK as is. Olin.
230 \advance\topmargin by -37pt     % Leave 37pt above text for headers
231 \headheight 12pt                % Height of box containing running head.
232 \headsep 25pt                   % Space between running head and text.
233
234 \textheight 23cm        % [jdf] stick to CHI Formating Guidelines
235 \textwidth 18cm         % [jdf] stick to CHI Formating Guidelines
236                         % For two-column mode:
237 \columnsep 8.5mm        % [jdf] stick to CHI Formating Guidelines
238 \columnseprule 0pt      %    Width of rule between columns.
239 \hfuzz 1pt              % Allow some variation in column width, otherwise it's
240                         % too hard to typeset in narrow columns.
241
242 \footnotesep 5.6pt      % Height of strut placed at the beginning of every
243                         % footnote =3D height of normal \footnotesize strut,
244                         % so no extra space between footnotes.
245
246 \skip\footins 8.1pt plus 4pt minus 2pt  % Space between last line of text and
247                                         % top of first footnote.
248 \floatsep 11pt plus 2pt minus 2pt       % Space between adjacent floats moved
249                                         % to top or bottom of text page.
250 \textfloatsep 18pt plus 2pt minus 4pt   % Space between main text and floats
251                                         % at top or bottom of page.
252 \intextsep 11pt plus 2pt minus 2pt      % Space between in-text figures and
253                                         % text.
254 \@ifundefined{@maxsep}{\newdimen\@maxsep}{}% this is for LaTeX2e
255 \@maxsep 18pt                           % The maximum of \floatsep,
256                                         % \textfloatsep and \intextsep (minus
257                                         % the stretch and shrink).
258 \dblfloatsep 11pt plus 2pt minus 2pt    % Same as \floatsep for double-column
259                                         % figures in two-column mode.
260 \dbltextfloatsep 18pt plus 2pt minus 4pt% \textfloatsep for double-column
261                                         % floats.
262 \@ifundefined{@dblmaxsep}{\newdimen\@dblmaxsep}{}% this is for LaTeX2e
263 \@dblmaxsep 18pt                        % The maximum of \dblfloatsep and
264                                         % \dbltexfloatsep.
265 \@fptop 0pt plus 1fil    % Stretch at top of float page/column. (Must be
266                          % 0pt plus ...)
267 \@fpsep 8pt plus 2fil    % Space between floats on float page/column.
268 \@fpbot 0pt plus 1fil    % Stretch at bottom of float page/column. (Must be
269                          % 0pt plus ... )
270 \@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus ...)
271 \@dblfpsep 8pt plus 2fil % Space between floats on float page.
272 \@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be
273                          % 0pt plus ... )
274 \marginparpush 5pt       % Minimum vertical separation between two marginal
275                          % notes.
276
277 \parskip 0pt                % Extra vertical space between paragraphs.
278                     % Set to 0pt outside sections, to keep section heads
279                     % uniformly spaced.  The value of parskip is set
280                     % to leading value _within_ sections.
281                     % 12 Jan 2000 gkmt
282 \parindent 0pt                % Width of paragraph indentation.
283 %\partopsep 2pt plus 1pt minus 1pt% Extra vertical space, in addition to
284                                  % \parskip and \topsep, added when user
285                                  % leaves blank line before environment.
286 \partopsep 0pt                   % 00-09-07 job
287
288 \doublehyphendemerits=9999        % No consecutive line hyphens
289 \brokenpenalty=9999               % No broken words across pages
290 \widowpenalty=9999                % Almost no widows at bottom of page
291 \clubpenalty=9999                 % Almost no orphans at top of page
292 \interfootnotelinepenalty=9999    % Almost never break footnotes
293
294 \@lowpenalty   51       % Produced by \nopagebreak[1] or \nolinebreak[1]
295 \@medpenalty  151       % Produced by \nopagebreak[2] or \nolinebreak[2]
296 \@highpenalty 301       % Produced by \nopagebreak[3] or \nolinebreak[3]
297
298 \@beginparpenalty -\@lowpenalty % Before a list or paragraph environment.
299 \@endparpenalty   -\@lowpenalty % After a list or paragraph environment.
300 \@itempenalty     -\@lowpenalty % Between list items.
301
302 \@namedef{ds@10pt}{\@latexerr{The `10pt' option is not allowed in the `acmconf'
303   document style.}\@eha}
304 \@namedef{ds@11pt}{\@latexerr{The `11pt' option is not allowed in the `acmconf'
305   document style.}\@eha}
306 \@namedef{ds@12pt}{\@latexerr{The `12pt' option is not allowed in the `acmconf'
307   document style.}\@eha}
308
309 \@options
310
311 \lineskip 2pt           % \lineskip is 1pt for all font sizes.
312 \normallineskip 2pt
313 \def\baselinestretch{1}
314
315 \abovedisplayskip 9pt plus2pt minus4.5pt%
316 \belowdisplayskip \abovedisplayskip
317 \abovedisplayshortskip  \z@ plus3pt%
318 \belowdisplayshortskip  5.4pt plus3pt minus3pt%
319 \let\@listi\@listI     % Setting of \@listi added 9 Jun 87
320
321 \def\small{\@setsize\small{9pt}\viiipt\@viiipt
322 \abovedisplayskip 7.6pt plus 3pt minus 4pt%
323 \belowdisplayskip \abovedisplayskip
324 \abovedisplayshortskip \z@ plus2pt%
325 \belowdisplayshortskip 3.6pt plus2pt minus 2pt
326 \def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87
327 \topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt
328 \itemsep \parsep}}
329
330 \def\footnotesize{\@setsize\footnotesize{9pt}\ixpt\@ixpt
331 \abovedisplayskip 6.4pt plus 2pt minus 4pt%
332 \belowdisplayskip \abovedisplayskip
333 \abovedisplayshortskip \z@ plus 1pt%
334 \belowdisplayshortskip 2.7pt plus 1pt minus 2pt
335 \def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87
336 \topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt
337 \itemsep \parsep}}
338
339 \newcount\aucount
340 \newcount\originalaucount
341 \newdimen\auwidth
342 \auwidth=\textwidth
343 \newdimen\auskip
344 \newcount\auskipcount
345 \newdimen\auskip
346 \global\auskip=1pc
347 \newdimen\allauboxes
348 \allauboxes=\auwidth
349 \newtoks\addauthors
350
351 \newtoks\subtitletext
352 \gdef\subtitle#1{\subtitletext={#1}}
353
354 \gdef\additionalauthors#1{\addauthors={#1}}
355
356 \gdef\numberofauthors#1{\global\aucount=#1
357 \ifnum\aucount>3\global\originalaucount=\aucount \global\aucount=3\fi%
358 \global\auskipcount=\aucount\global\advance\auskipcount by -1 % [jdf] fix
359 \global\multiply\auskipcount by 2
360 \global\multiply\auskip by \auskipcount
361 \global\advance\auwidth by -\auskip
362 \global\divide\auwidth by \aucount
363 \global\advance\auwidth by -5pt} % [jdf] tabular add some horizontal space
364
365 % \and was modified to count the number of authors.  GKMT 12 Aug 1999
366 \def\alignauthor{%                  % \begin{tabular}
367   \end{tabular} %
368   \hskip 1pt % [jdf] allow break for more than 3 authors
369   \begin{tabular}[t]{p{\auwidth}}%
370     \centering\baselineskip 13pt}% [jdf] added more vertical spacing
371
372 %  *** NOTE *** NOTE *** NOTE *** NOTE ***
373 %  If you have 'font problems' then you may need
374 %  to change these, e.g. 'arialb' instead of "arialbd".
375 %  Gerry Murray 11/11/1999
376 %  *** OR ** comment out block A and activate block B or vice versa.
377 % **********************************************
378 %
379 %  -- Start of block A -- (Type 1 or Truetype fonts)
380 %\newfont{\secfnt}{timesbd at 12pt} % was timenrb originally - now is timesbd
381 %\newfont{\secit}{timesbi at 12pt}   %13 Jan 00 gkmt
382 %\newfont{\subsecfnt}{timesi at 11pt} % was timenrri originally - now is timesi
383 %\newfont{\subsecit}{timesbi at 11pt} % 13 Jan 00 gkmt -- was times changed to timesbi gm 2/4/2000
384 %                         % because "normal" is italic, "italic" is Roman
385 %\newfont{\ttlfnt}{arialbd at 18pt} % was arialb originally - now is arialbd
386 %\newfont{\ttlit}{arialbi at 18pt}    % 13 Jan 00 gkmt
387 %\newfont{\subttlfnt}{arial at 14pt} % was arialr originally - now is arial
388 %\newfont{\subttlit}{ariali at 14pt} % 13 Jan 00 gkmt
389 %\newfont{\subttlbf}{arialbd at 14pt}  % 13 Jan 00 gkmt
390 %\newfont{\aufnt}{arial at 12pt} % was arialr originally - now is arial
391 %\newfont{\auit}{ariali at 12pt} % 13 Jan 00 gkmt
392 %\newfont{\affaddr}{arial at 10pt} % was arialr originally - now is arial
393 %\newfont{\affaddrit}{ariali at 10pt} %13 Jan 00 gkmt
394 %\newfont{\eaddfnt}{arial at 12pt} % was arialr originally - now is arial
395 %\newfont{\ixpt}{times at 9pt} % was timenrr originally - now is times
396 %\newfont{\confname}{timesi at 8pt} % was timenrri - now is timesi
397 %\newfont{\crnotice}{times at 8pt} % was timenrr originally - now is times
398 %\newfont{\ninept}{times at 9pt} % was timenrr originally - now is times
399
400 % *********************************************
401 %  -- End of block A --
402 %
403 %
404 % -- Start of block B -- METAFONT
405 % +++++++++++++++++++++++++++++++++++++++++++++
406 % Next (default) block for those using Metafont
407 % Gerry Murray 11/11/1999
408 % *** THIS BLOCK FOR THOSE USING METAFONT *****
409 % *********************************************
410 %%\newfont{\secfnt}{ptmb at 12pt}
411 %\newfont{\secfnt}{phvb at 9pt}                    % 00-09-07 job
412 %%\newfont{\secit}{ptmbi at 12pt}    %13 Jan 00 gkmt
413 %\newfont{\secit}{phvbo at 9pt}    %13 Jan 00 gkmt % 00-09-07 job
414 %%\newfont{\subsecfnt}{ptmri at 11pt}
415 %\newfont{\subsecfnt}{phvro at 9pt}                % 00-09-07 job
416 %%\newfont{\subsecit}{ptmbi at 11pt}  % 13 Jan 00 gkmt -- was ptmr changed to ptmbi gm 2/4/2000
417 %\newfont{\subsecit}{phvr at 9pt}  % 13 Jan 00 gkmt -- was ptmr changed to ptmbi gm 2/4/2000     % 00-09-07 job
418 %                         % because "normal" is italic, "italic" is Roman
419 %\newfont{\ttlfnt}{phvb at 18pt}
420 %\newfont{\ttlit}{phvbo at 18pt}    % GM 2/4/2000
421 %\newfont{\subttlfnt}{phvr at 14pt}
422 %\newfont{\subttlit}{phvro at 14pt} % GM 2/4/2000
423 %\newfont{\subttlbf}{phvb at 14pt}  % 13 Jan 00 gkmt
424 %%\newfont{\aufnt}{phvr at 12pt}
425 %\newfont{\aufnt}{ptmb at 12pt}                    % 00-09-07 job
426 %%\newfont{\auit}{phvro at 12pt}     % GM 2/4/2000
427 %\newfont{\auit}{ptmbo at 12pt}    % GM 2/4/2000   % 00-09-07 job
428 %%\newfont{\affaddr}{phvr at 10pt}
429 %\newfont{\affaddr}{ptmr at 12pt}                  % 00-09-07 job
430 %%\newfont{\affaddrit}{phvro at 10pt} % GM 2/4/2000
431 %\newfont{\affaddrit}{ptmro at 12pt} % GM 2/4/2000 % 00-09-07 job
432 %%\newfont{\eaddfnt}{phvr at 12pt}
433 %\newfont{\eaddfnt}{ptmr at 12pt}                  % 00-09-07 job
434 %%\newfont{\ixpt}{ptmr at 9pt}
435 %\newfont{\ixpt}{ptmr at 10pt}          % 00-09-07 job
436 %\newfont{\confname}{ptmri at 8pt}
437 %\newfont{\crnotice}{ptmr at 8pt}
438 %%\newfont{\ninept}{ptmr at 9pt}
439 %\newfont{\ninept}{ptmr at 10pt}        % 00-09-07 job
440 % *********************************************
441 %  -- End of block B --
442 %
443 %
444 % -- Start of block C -- METAFONT (modern usage)
445 % +++++++++++++++++++++++++++++++++++++++++++++
446 % Next (default) block for those using Metafont
447 % Andrew Duchowski 06/19/2006
448 % *** THIS BLOCK FOR THOSE USING METAFONT *****
449 % *********************************************
450 % notes: 7t fonts are 7-bit latex, 8t fonts are T1 fonts
451 \newfont{\secfnt}{phvb8t at 9pt}
452 \newfont{\secit}{phvbo8t at 9pt}
453 \newfont{\subsecfnt}{phvro8t at 9pt}
454 \newfont{\subsecit}{phvr8t at 9pt}
455 \newfont{\ttlfnt}{phvb8t at 18pt}
456 \newfont{\ttlit}{phvbo8t at 18pt}
457 \newfont{\subttlfnt}{phvr8t at 14pt}
458 \newfont{\subttlit}{phvro8t at 14pt}
459 \newfont{\subttlbf}{phvb8t at 14pt}
460 \newfont{\aufnt}{ptmb8t at 12pt}
461 \newfont{\auit}{ptmbo8t at 12pt}
462 \newfont{\affaddr}{ptmr8t at 12pt}
463 \newfont{\affaddrit}{ptmro8t at 12pt}
464 \newfont{\eaddfnt}{ptmr8t at 12pt}
465 \newfont{\ixpt}{ptmr8t at 10pt}
466 \newfont{\confname}{ptmri8t at 8pt}
467 \newfont{\crnotice}{ptmr8t at 8pt}
468 \newfont{\ninept}{ptmr8t at 10pt}
469 % +++++++++++++++++++++++++++++++++++++++++++++
470 % -- End of block C --
471
472 %\def\email#1{{{\eaddfnt{\vskip 4pt#1}}}}
473 \def\email#1{{{\eaddfnt{#1}}}} % 00-09-07 job
474
475 \def\addauthorsection{\ifnum\originalaucount>3
476     \section{Additional Authors}\the\addauthors
477   \fi}
478
479 \newcount\savesection
480 \newcount\sectioncntr
481 \global\sectioncntr=1
482
483 \setcounter{secnumdepth}{0}
484
485 \def\appendix{\par
486 \section*{APPENDIX}
487 \setcounter{section}{0}
488  \setcounter{subsection}{0}
489  \def\thesection{\Alph{section}} }
490
491
492 %\leftmargini 22.5pt
493 \leftmargini 10pt % DLC
494 \leftmarginii 19.8pt    % > \labelsep + width of '(m)'
495 \leftmarginiii 16.8pt   % > \labelsep + width of 'vii.'
496 \leftmarginiv 15.3pt    % > \labelsep + width of 'M.'
497 \leftmarginv 9pt
498 \leftmarginvi 9pt
499
500 \leftmargin\leftmargini
501 \labelsep 4.5pt
502 \labelwidth\leftmargini\advance\labelwidth-\labelsep
503
504 \def\@listI{\leftmargin\leftmargini \parsep 3.6pt plus 2pt minus 1pt%
505 %\topsep 7.2pt plus 2pt minus 4pt%
506 \topsep 0pt%                        % 00-09-07 job
507 \itemsep 3.6pt plus 2pt minus 1pt}
508
509 \let\@listi\@listI
510 \@listi
511
512 \def\@listii{\leftmargin\leftmarginii
513    \labelwidth\leftmarginii\advance\labelwidth-\labelsep
514    \topsep 3.6pt plus 2pt minus 1pt
515    \parsep 1.8pt plus 0.9pt minus 0.9pt
516    \itemsep \parsep}
517
518 \def\@listiii{\leftmargin\leftmarginiii
519     \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
520     \topsep 1.8pt plus 0.9pt minus 0.9pt
521     \parsep \z@ \partopsep 1pt plus 0pt minus 1pt
522     \itemsep \topsep}
523
524 \def\@listiv{\leftmargin\leftmarginiv
525      \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
526
527 \def\@listv{\leftmargin\leftmarginv
528      \labelwidth\leftmarginv\advance\labelwidth-\labelsep}
529
530 \def\@listvi{\leftmargin\leftmarginvi
531      \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}
532
533 \def\labelenumi{\theenumi.}
534 \def\theenumi{\arabic{enumi}}
535
536 \def\labelenumii{(\theenumii)}
537 \def\theenumii{\alph{enumii}}
538 \def\p@enumii{\theenumi}
539
540 \def\labelenumiii{\theenumiii.}
541 \def\theenumiii{\roman{enumiii}}
542 \def\p@enumiii{\theenumi(\theenumii)}
543
544 \def\labelenumiv{\theenumiv.}
545 \def\theenumiv{\Alph{enumiv}}
546 \def\p@enumiv{\p@enumiii\theenumiii}
547
548 \def\labelitemi{$\bullet$}
549 \def\labelitemii{\bf --}
550 \def\labelitemiii{$\ast$}
551 \def\labelitemiv{$\cdot$}
552
553 \def\verse{\let\\=\@centercr
554   \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent
555           \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
556 \let\endverse\endlist
557
558 \def\quotation{\list{}{\listparindent 1.5em
559     \itemindent\listparindent
560     \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]}
561 \let\endquotation=\endlist
562
563 \def\quote{\list{}{\rightmargin\leftmargin}\item[]}
564 \let\endquote=\endlist
565
566 \def\descriptionlabel#1{\hspace\labelsep \bf #1}
567 \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
568        \let\makelabel\descriptionlabel}}
569
570 \let\enddescription\endlist
571
572 \def\theequation{\arabic{equation}}
573
574 \arraycolsep 4.5pt   % Half the space between columns in an array environment.
575 \tabcolsep 5.4pt     % Half the space between columns in a tabular environment.
576 \arrayrulewidth .4pt % Width of rules in array and tabular environment.
577 \doublerulesep 1.8pt % Space between adjacent rules in array or tabular env.
578
579 \tabbingsep \labelsep   % Space used by the \' command.  (See LaTeX manual.)
580
581 \skip\@mpfootins =\skip\footins
582
583 \fboxsep =2.7pt      % Space left between box and text by \fbox and \framebox.
584 \fboxrule =.4pt      % Width of rules in box made by \fbox and \framebox.
585
586 \def\thepart{\Roman{part}} % Roman numeral part numbers.
587 \def\thesection       {\arabic{section}}
588 \def\thesubsection    {\thesection.\arabic{subsection}}
589 %\def\thesubsubsection {\thesubsection.\arabic{subsubsection}} % GM 7/30/2002
590 %\def\theparagraph     {\thesubsubsection.\arabic{paragraph}}  % GM 7/30/2002
591 \def\thesubparagraph  {\theparagraph.\arabic{subparagraph}}
592
593 \def\@pnumwidth{1.55em}
594 \def\@tocrmarg {2.55em}
595 \def\@dotsep{4.5}
596 \setcounter{tocdepth}{3}
597
598 \def\tableofcontents{\@latexerr{\tableofcontents: Tables of contents are not
599   allowed in the `acmconf' document style.}\@eha}
600
601 \def\l@part#1#2{\addpenalty{\@secpenalty}
602    \addvspace{2.25em plus 1pt}  % space above part line
603    \begingroup
604    \@tempdima 3em       % width of box holding part number, used by
605      \parindent \z@ \rightskip \@pnumwidth      %% \numberline
606      \parfillskip -\@pnumwidth
607      {\large \bf        % set line in \large boldface
608      \leavevmode        % TeX command to enter horizontal mode.
609      #1\hfil \hbox to\@pnumwidth{\hss #2}}\par
610      \nobreak           % Never break after part entry
611    \endgroup}
612
613 \def\l@section#1#2{\addpenalty{\@secpenalty} % good place for page break
614    \addvspace{1.0em plus 1pt}   % space above toc entry
615    \@tempdima 1.5em             % width of box holding section number
616    \begingroup
617      \parindent \z@ \rightskip \@pnumwidth
618      \parfillskip -\@pnumwidth
619      \bf                        % Boldface.
620      \leavevmode                % TeX command to enter horizontal mode.
621       \advance\leftskip\@tempdima %% added 5 Feb 88 to conform to
622       \hskip -\leftskip           %% 25 Jan 88 change to \numberline
623      #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par
624    \endgroup}
625
626
627 \def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
628 \def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
629 \def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
630 \def\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
631
632 \def\listoffigures{\@latexerr{\listoffigures: Lists of figures are not
633   allowed in the `acmconf' document style.}\@eha}
634
635 \def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
636
637 \def\listoftables{\@latexerr{\listoftables: Lists of tables are not
638   allowed in the `acmconf' document style.}\@eha}
639 \let\l@table\l@figure
640
641 \def\footnoterule{\kern-3\p@
642   \hrule width .4\columnwidth
643   \kern 2.6\p@}                 % The \hrule has default height of .4pt .
644 % ------
645 \long\def\@makefntext#1{\noindent 
646 %\hbox to .5em{\hss$^{\@thefnmark}$}#1}   % original
647 \hbox to .5em{\hss\textsuperscript{\@thefnmark}}#1}  % C. Clifton / GM Oct. 2nd. 2002
648 % -------
649
650 \long\def\@maketntext#1{\noindent
651 #1}
652
653 \long\def\@maketitlenotetext#1#2{\noindent
654             \hbox to 1.8em{\hss$^{#1}$}#2}
655
656 \setcounter{topnumber}{2}
657 \def\topfraction{.7}
658 \setcounter{bottomnumber}{1}
659 \def\bottomfraction{.3}
660 \setcounter{totalnumber}{3}
661 \def\textfraction{.2}
662 \def\floatpagefraction{.5}
663 \setcounter{dbltopnumber}{2}
664 \def\dbltopfraction{.7}
665 \def\dblfloatpagefraction{.5}
666
667 % According to the CHI specifications, captions should be centered.
668 % This looks kind of bad for multi-line captions, so I only center
669 % 1-line captions.  
670 \long\def\@makecaption#1#2{
671   \vskip 2pt % \baselineskip
672   \setbox\@tempboxa\hbox{\small
673 \textbf{#1. #2}} % DLC
674   \ifdim \wd\@tempboxa >\hsize % IF longer than one line:
675      \small\textbf{#1. #2}\par     %   THEN set as ordinary paragraph.
676     \else                      %   ELSE  center. 
677      \hbox to\hsize{\hfil\box\@tempboxa\hfil}\par
678   \fi}
679
680 \@ifundefined{figure}{\newcounter {figure}} % this is for LaTeX2e
681
682 \def\fps@figure{tbp}
683 \def\ftype@figure{1}
684 \def\ext@figure{lof}
685 \def\fnum@figure{Figure \thefigure}
686 \def\figure{\@float{figure}}
687 \def\endfigure{\end@float}
688 \@namedef{figure*}{\@dblfloat{figure}}
689 \@namedef{endfigure*}{\end@dblfloat}
690
691 \@ifundefined{table}{\newcounter {table}} % this is for LaTeX2e
692
693 \def\fps@table{tbp}
694 \def\ftype@table{2}
695 \def\ext@table{lot}
696 \def\fnum@table{Table \thetable}
697 \def\table{\@float{table}}
698 \def\endtable{\end@float}
699 \@namedef{table*}{\@dblfloat{table}}
700 \@namedef{endtable*}{\end@dblfloat}
701
702 % [jdf] create a \teaser command for adding a figure in title page
703 \newcommand{\chi@empty}{}
704 \newcommand{\chi@teaser}{}
705 \newcommand{\teaser}[1]{\renewcommand{\chi@teaser}{#1}}
706
707 \newlength{\teaserspace}
708 \setlength{\teaserspace}{0.25in}
709 %  [jdf] end teaser
710
711 \newtoks\titleboxnotes
712 \newcount\titleboxnoteflag
713
714 \def\maketitle{\par
715  \begingroup
716    \def\thefootnote{\fnsymbol{footnote}}
717    \def\@makefnmark{\hbox
718        to 0pt{$^{\@thefnmark}$\hss}}
719      \twocolumn[\@maketitle]
720 \@thanks
721  \endgroup
722  \setcounter{footnote}{0}
723  \let\maketitle\relax
724  \let\@maketitle\relax
725  \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@subtitle{}\let\thanks\relax
726  \@copyrightspace} % JRB 2008-08-13 this line was commented out for some reason
727                    % which meant that the copyright space wasn't reserved.
728                    % I re-enabled it.
729
730 % actual class setup happens here:
731   \NeedsTeXFormat{LaTeX2e}
732   \ProvidesClass{sigchi} [2011/06/06 - V0.16]  % DLC
733   \RequirePackage{latexsym}% QUERY: are these two really needed?
734
735 \def\@height{height}
736 \def\@width{width}
737 \def\@minus{minus}
738 \def\@plus{plus}
739 \def\hb@xt@{\hbox to}
740 \newif\if@faircopy
741 \@faircopyfalse
742 \def\ds@faircopy{\@faircopytrue}
743
744 \def\ds@preprint{\@faircopyfalse}
745
746 \@twosidetrue
747 \@mparswitchtrue
748 \def\ds@draft{\overfullrule 5\p@}
749
750 \lineskip \p@
751 \normallineskip \p@
752 \def\baselinestretch{1}
753 \def\@ptsize{0} %needed for amssymbols.sty
754
755 % allow use of old-style font change commands in LaTeX2e
756 \@maxdepth\maxdepth
757 %
758 \DeclareOldFontCommand{\rm}{\ninept\rmfamily}{\mathrm}
759 \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
760 \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
761 \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
762 \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
763 \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
764 \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
765 \DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}}
766 \DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}}
767
768  \renewcommand{\rmdefault}{cmr}  % was 'ttm'
769 % Note! I have also found 'mvr' to work ESPECIALLY well.
770 % Gerry - October 1999
771 % You may need to change your LV1times.fd file so that sc is
772 % mapped to cmcsc - -for smallcaps -- that is if you decide
773 % to change {cmr} to {times} above. (Not recommended)
774   \renewcommand{\@ptsize}{}
775   \renewcommand{\normalsize}{%
776 %    \@setfontsize\normalsize\@ixpt{10.5\p@}%\ninept%
777     \@setfontsize\normalsize\@xpt{11\p@}%\ninept% % from 9/10.5 to 10/11 00-09-07 job
778     \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@
779     \belowdisplayskip \abovedisplayskip
780     \abovedisplayshortskip 6\p@ \@minus 3\p@
781     \belowdisplayshortskip 6\p@ \@minus 3\p@
782     \let\@listi\@listI
783   }
784
785   \newcommand\scriptsize{\@setfontsize\scriptsize\@viipt{8\p@}}
786   \newcommand\tiny{\@setfontsize\tiny\@vpt{6\p@}}
787   \newcommand\large{\@setfontsize\large\@xiipt{14\p@}}
788   \newcommand\Large{\@setfontsize\Large\@xivpt{18\p@}}
789   \newcommand\LARGE{\@setfontsize\LARGE\@xviipt{20\p@}}
790   \newcommand\huge{\@setfontsize\huge\@xxpt{25\p@}}
791   \newcommand\Huge{\@setfontsize\Huge\@xxvpt{30\p@}}
792
793 \normalsize
794
795 % make aubox hsize/number of authors up to 3, less gutter
796 % then showbox gutter showbox gutter showbox -- GKMT Aug 99
797 %\newbox\@acmtitlebox % [jdf] no use of the box
798 \def\@maketitle{\newpage
799  \null
800 %\setbox\@acmtitlebox\vbox{   % [jdf] box not used
801 \baselineskip 20pt            % [jdf] no skip
802   \vskip 1em                   % [jdf] removed Vertical space above title.
803    \begin{center}
804     {\ttlfnt \@title\par}       % Title set in 18pt Helvetica (Arial) bold size.
805     \vskip 0.5ex                % [jdf] Vertical space after title.
806 %This should be the subtitle.
807 {\subttlfnt \the\subtitletext\par}\vskip 0.7ex%\fi [jdf] less vertical space
808     {\baselineskip 16pt\aufnt   % each author set in \12 pt Arial, in a
809      \lineskip .5em             % tabular environment
810      \begin{tabular}[t]{c}\@author
811      \end{tabular}\par}
812     \vskip 1em                  % [jdf] reduced Vertical space after author.
813    \end{center}%                % [jdf] begin add teaser
814    \ifx\chi@teaser\chi@empty \else%
815     \begingroup%
816       \def\@captype{figure}%
817         \chi@teaser%
818         \endgroup\par%
819         \vspace{\teaserspace}%  % [jdf] end teaser
820     \fi}
821 % \dimen0=\ht\@acmtitlebox % [jdf] removed box stuff
822 % \advance\dimen0 by -12.75pc\relax % Increased space for title box -- KBT
823 % \advance\dimen0 by -8.75pc\relax % Increased space for title box -- KBT  % 00-09-07 job (decreased)
824 % \unvbox\@acmtitlebox
825 % \ifdim\dimen0<0.0pt\relax\vskip-\dimen0\fi}
826
827
828 \newcount\titlenotecount
829 \global\titlenotecount=0
830 \newtoks\tntoks
831 \newtoks\tntokstwo
832 \newtoks\tntoksthree
833 \newtoks\tntoksfour
834 \newtoks\tntoksfive
835
836 \def\abstract{
837 \ifnum\titlenotecount>0 % was =1
838     \insert\footins{%
839     \reset@font\footnotesize
840         \interlinepenalty\interfootnotelinepenalty
841         \splittopskip\footnotesep
842         \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
843         \hsize\columnwidth \@parboxrestore
844         \protected@edef\@currentlabel{%
845         }%
846         \color@begingroup
847 \ifnum\titlenotecount=1
848       \@maketntext{%
849          \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\@finalstrut\strutbox}%
850 \fi
851 \ifnum\titlenotecount=2
852       \@maketntext{%
853       \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
854 \@maketntext{%
855          \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\@finalstrut\strutbox}%
856 \fi
857 \ifnum\titlenotecount=3
858       \@maketntext{%
859          \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
860 \@maketntext{%
861          \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
862 \@maketntext{%
863          \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\@finalstrut\strutbox}%
864 \fi
865 \ifnum\titlenotecount=4
866       \@maketntext{%
867          \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
868 \@maketntext{%
869          \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
870 \@maketntext{%
871          \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}%
872 \@maketntext{%
873          \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\@finalstrut\strutbox}%
874 \fi
875 \ifnum\titlenotecount=5
876       \@maketntext{%
877          \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
878 \@maketntext{%
879          \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
880 \@maketntext{%
881          \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}%
882 \@maketntext{%
883          \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\par\@finalstrut\strutbox}%
884 \@maketntext{%
885          \raisebox{4pt}{$\P$}\rule\z@\footnotesep\ignorespaces\the\tntoksfive\@finalstrut\strutbox}%
886 \fi
887    \color@endgroup} %g}
888 \fi
889 \setcounter{footnote}{0}
890 \section*{ABSTRACT}\normalsize %\the\parskip \the\baselineskip%\ninept
891 }
892
893 \def\endabstract{\if@twocolumn\else\endquotation\fi}
894
895 \def\keywords#1{%\if@twocolumn
896 \section*{Author Keywords}
897 \begin{flushleft}#1\end{flushleft}
898 %\else \small
899 %\quotation #1
900 %\fi
901 }
902
903 \def\classification#1{%\if@twocolumn
904 \section*{ACM Classification Keywords}
905 \begin{flushleft}#1\end{flushleft}
906 %\else \small
907 %\quotation\the\parskip
908 %\fi
909 }
910
911 % I've pulled the check for 2 cols, since proceedings are _always_
912 % two-column  11 Jan 2000 gkmt
913 \def\terms#1{%\if@twocolumn
914 \section*{General Terms}
915 \begin{flushleft}#1\end{flushleft}
916 %\else \small
917 %\quotation\the\parskip
918 %\fi
919 }
920
921 % -- Classification needs to be a bit smart due to optionals - Gerry/Georgia November 2nd. 1999
922 \newcount\catcount
923 \global\catcount=1
924
925 \def\category#1#2#3{%
926 \ifnum\catcount=1
927 \section*{ACM Classification Keywords}  % DLC
928 \advance\catcount by 1\else{\unskip; }\fi
929     \@ifnextchar [{\@category{#1}{#2}{#3}}{\@category{#1}{#2}{#3}[]}%
930 }
931
932 \def\@category#1#2#3[#4]{%
933     \begingroup
934         \let\and\relax
935 %            #1 [\textbf{#2}]% 
936             #1 #2%   % DLC
937             \if!#4!%
938                 \if!#3!\else : #3\fi
939             \else
940                 :\space
941                 \if!#3!\else #3\kern\z@---\hskip\z@\fi
942                 \textit{#4}%
943             \fi
944     \endgroup
945 }
946 %
947
948 %%% This section (written by KBT) handles the 1" box in the lower left
949 %%% corner of the left column of the first page by creating a picture,
950 %%% and inserting the predefined string at the bottom (with a negative
951 %%% displacement to offset the space allocated for a non-existent
952 %%% caption).
953 %%%
954 \newtoks\copyrightnotice
955 \def\ftype@copyrightbox{8}
956 \def\@copyrightspace{
957 \@float{copyrightbox}[b]
958 \begin{center}
959 \setlength{\unitlength}{1pc}
960 \ifnum\ACM@basesize=9
961 \begin{picture}(20,6) %Space for copyright notice
962 \put(0,-0.95){\crnotice{\@toappear}}
963 \end{picture}
964 \fi
965 \ifnum\ACM@basesize=10
966 \begin{picture}(20,7) %Space for copyright notice
967 \put(0,-0.95){\crnotice{\@toappear}}
968 \end{picture}
969 \fi
970 \end{center}
971 \end@float}
972
973 \def\@toappear{} % Default setting blank - commands below change this.
974 \long\def\toappear#1{\def\@toappear{\parbox[b]{20pc}{\baselineskip 9pt#1}}}
975 \def\toappearbox#1{\def\@toappear{\raisebox{5pt}{\framebox[20pc]{\parbox[b]{19pc}{#1}}}}}
976
977 \newtoks\conf
978 \newtoks\confinfo
979 \def\conferenceinfo#1#2{\global\conf={#1}\global\confinfo{#2}}
980
981
982 % Introduce a "chi_draft" option which conditionally enables marginpars with a warning.
983 \let\oldmarginpar\marginpar
984 \renewcommand{\marginpar}[2][]{\@latexerr{The marginpar command is not allowed in the
985   `acmconf' document style.}\@eha}
986 \DeclareOption{chi_draft}{
987   \marginparwidth 40pt
988   \renewcommand{\marginpar}[2][]{\@latex@warning{The marginpar command is not allowed in the `acmconf'
989   document style. Remove all occurences before final document submission.}\oldmarginpar[#1]{#2}}
990 }
991 % Immediately execute the options at this point. Reason is discussed
992 % here: https://tex.stackexchange.com/questions/203387/
993 \ProcessOptions
994
995 \mark{{}{}}     % Initializes TeX's marks
996
997 \def\today{\ifcase\month\or
998   January\or February\or March\or April\or May\or June\or
999   July\or August\or September\or October\or November\or December\fi
1000   \space\number\day, \number\year}
1001
1002 \def\@begintheorem#1#2{%
1003     \trivlist
1004     \item[%
1005         \hskip 10\p@
1006         \hskip \labelsep
1007         {{\sc #1}\hskip 5\p@\relax#2.}%
1008     ]
1009     \it
1010 }
1011 \def\@opargbegintheorem#1#2#3{%
1012     \trivlist
1013     \item[%
1014         \hskip 10\p@
1015         \hskip \labelsep
1016         {\sc #1\ #2\             % This mod by Gerry to enumerate corollaries
1017    \setbox\@tempboxa\hbox{(#3)}  % and bracket the 'corollary title'
1018         \ifdim \wd\@tempboxa>\z@ % and retain the correct numbering of e.g. theorems
1019             \hskip 5\p@\relax    % if they occur 'around' said corollaries.
1020             \box\@tempboxa       % Gerry - Nov. 1999.
1021         \fi.}%
1022     ]
1023     \it
1024 }
1025 \newif\if@qeded
1026 \global\@qededfalse
1027
1028 % -- original
1029 %\def\proof{%
1030 %  \vspace{-\parskip} % GM July 2000 (for tighter spacing)
1031 %    \global\@qededfalse
1032 %    \@ifnextchar[{\@xproof}{\@proof}%
1033 %}
1034 % -- end of original
1035
1036 % (JSS) Fix for vertical spacing bug - Gerry Murray July 30th. 2002
1037 \def\proof{%
1038 \vspace{-\lastskip}\vspace{-\parsep}\penalty-51%
1039 \global\@qededfalse
1040 \@ifnextchar[{\@xproof}{\@proof}%
1041 }
1042
1043 \def\endproof{%
1044     \if@qeded\else\qed\fi
1045     \endtrivlist
1046 }
1047 \def\@proof{%
1048     \trivlist
1049     \item[%
1050         \hskip 10\p@
1051         \hskip \labelsep
1052         {\sc Proof.}%
1053     ]
1054     \ignorespaces
1055 }
1056 \def\@xproof[#1]{%
1057     \trivlist
1058     \item[\hskip 10\p@\hskip \labelsep{\sc Proof #1.}]%
1059     \ignorespaces
1060 }
1061 \def\qed{%
1062     \unskip
1063     \kern 10\p@
1064     \begingroup
1065         \unitlength\p@
1066         \linethickness{.4\p@}%
1067         \framebox(6,6){}%
1068     \endgroup
1069     \global\@qededtrue
1070 }
1071
1072 \def\newdef#1#2{%
1073     \expandafter\@ifdefinable\csname #1\endcsname
1074         {\@definecounter{#1}%
1075          \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
1076          \global\@namedef{#1}{\@defthm{#1}{#2}}%
1077          \global\@namedef{end#1}{\@endtheorem}%
1078     }%
1079 }
1080 \def\@defthm#1#2{%
1081     \refstepcounter{#1}%
1082     \@ifnextchar[{\@ydefthm{#1}{#2}}{\@xdefthm{#1}{#2}}%
1083 }
1084 \def\@xdefthm#1#2{%
1085     \@begindef{#2}{\csname the#1\endcsname}%
1086     \ignorespaces
1087 }
1088 \def\@ydefthm#1#2[#3]{%
1089     \trivlist
1090     \item[%
1091         \hskip 10\p@
1092         \hskip \labelsep
1093         {\it #2%
1094          \savebox\@tempboxa{#3}%
1095          \ifdim \wd\@tempboxa>\z@
1096             \ \box\@tempboxa
1097          \fi.%
1098         }]%
1099     \ignorespaces
1100 }
1101 \def\@begindef#1#2{%
1102     \trivlist
1103     \item[%
1104         \hskip 10\p@
1105         \hskip \labelsep
1106         {\it #1\ \rm #2.}%
1107     ]%
1108 }
1109 \def\theequation{\arabic{equation}}
1110
1111 \newcounter{part}
1112 \newcounter{section}
1113 \newcounter{subsection}[section]
1114 \newcounter{subsubsection}[subsection]
1115 \newcounter{paragraph}[subsubsection]
1116 \def\thepart{\Roman{part}}
1117 \def\thesection{\arabic{section}}
1118 \def\thesubsection{\thesection.\arabic{subsection}}
1119 \def\thesubsubsection{\thesubsection.\arabic{subsubsection}} %removed \subsecfnt 29 July 2002 gkmt
1120 \def\theparagraph{\thesubsubsection.\arabic{paragraph}} %removed \subsecfnt 29 July 2002 gkmt
1121
1122 \newif\if@uchead
1123 \@ucheadfalse
1124
1125 %% CHANGES: NEW NOTE
1126 %% NOTE: OK to use old-style font commands below, since they were
1127 %% suitably redefined for LaTeX2e
1128 %% END CHANGES
1129 \def\part{%
1130     \@startsection{part}{9}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}
1131         {4\p@}{\normalsize\@ucheadtrue}%
1132 }
1133
1134 % Rationale for changes made in next four definitions:
1135 % "Before skip" is made elastic to provide some give in setting columns (vs.
1136 % parskip, which is non-elastic to keep section headers "anchored" to their
1137 % subsequent text.
1138 %
1139 % "After skip" is minimized -- BUT setting it to 0pt resulted in run-in heads, despite
1140 % the documentation asserted only after-skip < 0pt would have result.
1141 %
1142 % Baselineskip added to style to ensure multi-line section titles, and section heads
1143 % followed by another section head rather than text, are decently spaced vertically.
1144 % 12 Jan 2000 gkmt
1145 \def\section{%
1146     \@startsection{section}{1}{\z@}{8pt plus 3pt minus 3pt}%
1147     {0.5pt}{\baselineskip=14pt\secfnt\@ucheadtrue}%
1148 }
1149
1150 \def\subsection{%
1151     \@startsection{subsection}{2}{\z@}{8pt plus 3pt minus 3pt}%
1152     {0.5pt}{\baselineskip=14pt\secfnt}%
1153 }
1154 \def\subsubsection{%
1155     \@startsection{subsubsection}{3}{\z@}{4pt plus 2pt minus 1pt}%
1156     {0.5pt}{\baselineskip=14pt\subsecfnt}%
1157 }
1158
1159 \def\paragraph{%
1160     \@startsection{paragraph}{3}{\z@}{4pt plus 2pt minus 1pt}%
1161     {0.5pt}{\baselineskip=14pt\subsecfnt}%
1162 }
1163
1164 \let\@period=.
1165 \def\@startsection#1#2#3#4#5#6{%
1166         \if@noskipsec  %gkmt, 11 aug 99
1167         \global\let\@period\@empty
1168         \leavevmode
1169         \global\let\@period.%
1170     \fi
1171     \par
1172     \@tempskipa #4\relax
1173     \@afterindenttrue
1174     \ifdim \@tempskipa <\z@
1175         \@tempskipa -\@tempskipa
1176         \@afterindentfalse
1177     \fi
1178     %\if@nobreak  11 Jan 00 gkmt
1179         %\everypar{}
1180     %\else
1181         \addpenalty\@secpenalty
1182         \addvspace\@tempskipa
1183     %\fi
1184     \parskip=0pt
1185     \@ifstar
1186         {\@ssect{#3}{#4}{#5}{#6}}
1187         {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}%
1188 }
1189
1190
1191 \def\@ssect#1#2#3#4#5{%
1192   \@tempskipa #3\relax
1193   \ifdim \@tempskipa>\z@
1194     \begingroup
1195       #4{%
1196         \@hangfrom{\hskip #1}%
1197           \interlinepenalty \@M #5\@@par}%
1198     \endgroup
1199   \else
1200     \def\@svsechd{#4{\hskip #1\relax #5}}%
1201   \fi
1202   \par\nobreak
1203   \vskip -6pt  % [jdf] less space between section as in the Word template
1204   \@xsect{#3}\parskip=6pt} % [jdf] paragraph skip shorter
1205
1206
1207 \def\@sect#1#2#3#4#5#6[#7]#8{%
1208     \ifnum #2>\c@secnumdepth
1209         \let\@svsec\@\refstepcounter{#1}
1210     \else
1211         \refstepcounter{#1}%
1212         \edef\@svsec{%
1213             \begingroup
1214                 %\ifnum#2>2 \noexpand\rm \fi % changed to next 29 July 2002 gkmt
1215             \ifnum#2>2 \noexpand#6 \fi
1216                 \csname the#1\endcsname
1217             \endgroup
1218             \ifnum #2=1\relax .\fi
1219             \hskip 1em
1220         }%
1221     \fi
1222     \@tempskipa #5\relax
1223     \ifdim \@tempskipa>\z@
1224         \begingroup
1225             #6\relax
1226             \@hangfrom{\hskip #3\relax\@svsec}%
1227             \begingroup
1228                 \interlinepenalty \@M
1229                 \if@uchead
1230                     \uppercase{#8}%
1231                 \else
1232                     #8%
1233                 \fi
1234                 \par
1235             \endgroup
1236         \endgroup
1237         \csname #1mark\endcsname{#7}%
1238         \par\nobreak
1239         \vskip -6pt  % [jdf] less space between section as in the Word template
1240       \addcontentsline{toc}{#1}{%
1241             \ifnum #2>\c@secnumdepth \else
1242                 \protect\numberline{\csname the#1\endcsname}%
1243             \fi
1244             #7%
1245         }%
1246     \else
1247         \def\@svsechd{%
1248             #6%
1249             \hskip #3\relax
1250             \@svsec
1251             \if@uchead
1252                 \uppercase{#8}%
1253             \else
1254                 #8%
1255             \fi
1256             \csname #1mark\endcsname{#7}%
1257             \addcontentsline{toc}{#1}{%
1258                 \ifnum #2>\c@secnumdepth \else
1259                     \protect\numberline{\csname the#1\endcsname}%
1260                 \fi
1261                 #7%
1262             }%
1263         }%
1264     \fi
1265     \@xsect{#5}\parskip=6pt% [jdf] shorter
1266 }
1267 \def\@xsect#1{%
1268     \@tempskipa #1\relax
1269     \ifdim \@tempskipa>\z@
1270         \par
1271         \nobreak
1272         \vskip \@tempskipa
1273         \@afterheading
1274     \else
1275         \global\@nobreakfalse
1276         \global\@noskipsectrue
1277         \everypar{%
1278             \if@noskipsec
1279                 \global\@noskipsecfalse
1280                 \clubpenalty\@M
1281                 \hskip -\parindent
1282                 \begingroup
1283                     \@svsechd
1284                     \@period
1285                 \endgroup
1286                 \unskip
1287                 \@tempskipa #1\relax
1288                 \hskip -\@tempskipa
1289             \else
1290                 \clubpenalty \@clubpenalty
1291                 \everypar{}%
1292             \fi
1293         }%
1294     \fi
1295     \ignorespaces
1296 }
1297
1298 \def\@trivlist{%
1299     \@topsepadd\topsep
1300     \if@noskipsec
1301         \global\let\@period\@empty
1302         \leavevmode
1303         \global\let\@period.%
1304     \fi
1305     \ifvmode
1306         \advance\@topsepadd\partopsep
1307     \else
1308         \unskip
1309         \par
1310     \fi
1311     \if@inlabel
1312         \@noparitemtrue
1313         \@noparlisttrue
1314     \else
1315         \@noparlistfalse
1316         \@topsep\@topsepadd
1317     \fi
1318     \advance\@topsep \parskip
1319     \leftskip\z@skip
1320     \rightskip\@rightskip
1321     \parfillskip\@flushglue
1322     \@setpar{\if@newlist\else{\@@par}\fi}
1323     \global\@newlisttrue
1324     \@outerparskip\parskip
1325 }
1326
1327 %%% Actually, 'abbrev' works just fine as the default - Gerry Feb. 2000
1328 %%% Bibliography style.
1329
1330 \parindent 0pt
1331 \typeout{Using 'Abbrev' bibliography style}
1332 \newcommand\bibyear[2]{%
1333     \unskip\quad\ignorespaces#1\unskip
1334     \if#2..\quad \else \quad#2 \fi
1335 }
1336 \newcommand{\bibemph}[1]{{\em#1}}
1337 \newcommand{\bibemphic}[1]{{\em#1\/}}
1338 \newcommand{\bibsc}[1]{{\sc#1}}
1339 \def\@normalcite{%
1340     \def\@cite##1##2{[##1\if@tempswa , ##2\fi]}%
1341 }
1342 \def\@citeNB{%
1343     \def\@cite##1##2{##1\if@tempswa , ##2\fi}%
1344 }
1345 \def\@citeRB{%
1346     \def\@cite##1##2{##1\if@tempswa , ##2\fi]}%
1347 }
1348 \def\start@cite#1#2{%
1349     \edef\citeauthoryear##1##2##3{%
1350         ###1%
1351         \ifnum#2=\z@ \else\ ###2\fi
1352     }%
1353     \ifnum#1=\thr@@
1354         \let\@@cite\@citeyear
1355     \else
1356         \let\@@cite\@citenormal
1357     \fi
1358     \@ifstar{\@citeNB\@@cite}{\@normalcite\@@cite}%
1359 }
1360 \def\cite{\start@cite23}
1361 \def\citeNP{\cite*}
1362 \def\citeA{\start@cite10}
1363 \def\citeANP{\citeA*}
1364 \def\shortcite{\start@cite23}
1365 \def\shortciteNP{\shortcite*}
1366 \def\shortciteA{\start@cite20}
1367 \def\shortciteANP{\shortciteA*}
1368 \def\citeyear{\start@cite30}
1369 \def\citeyearNP{\citeyear*}
1370 \def\citeN{%
1371     \@citeRB
1372     \def\citeauthoryear##1##2##3{##1\ [##3%
1373         \def\reserved@a{##1}%
1374         \def\citeauthoryear####1####2####3{%
1375             \def\reserved@b{####1}%
1376             \ifx\reserved@a\reserved@b
1377                 ####3%
1378             \else
1379                 \errmessage{Package acmart Error: author mismatch
1380                          in \string\citeN^^J^^J%
1381                     See the acmart package documentation for explanation}%
1382             \fi
1383         }%
1384     }%
1385     \@ifstar\@citeyear\@citeyear
1386 }
1387 \def\shortciteN{%
1388     \@citeRB
1389     \def\citeauthoryear##1##2##3{##2\ [##3%
1390         \def\reserved@a{##2}%
1391         \def\citeauthoryear####1####2####3{%
1392             \def\reserved@b{####2}%
1393             \ifx\reserved@a\reserved@b
1394                 ####3%
1395             \else
1396                 \errmessage{Package acmart Error: author mismatch
1397                          in \string\shortciteN^^J^^J%
1398                     See the acmart package documentation for explanation}%
1399             \fi
1400         }%
1401     }%
1402     \@ifstar\@citeyear\@citeyear % changed from  "\@ifstart" 12 Jan 2000 gkmt
1403 }
1404
1405     \def\@citenormal{%
1406     \@ifnextchar [{\@tempswatrue\@citex;}
1407                   {\@tempswafalse\@citex[]}% GERRY FIX FOR BABEL 3/20/2009
1408 }
1409 \def\@citeyear{%
1410     \@ifnextchar [{\@tempswatrue\@citex,}%
1411                   {\@tempswafalse\@citex[]}% GERRY FIX FOR BABEL 3/20/2009
1412 }
1413 \def\@citex#1[#2]#3{%
1414     \let\@citea\@empty
1415     \@cite{%
1416         \@for\@citeb:=#3\do{%
1417             \@citea
1418             \def\@citea{#1, }%  % GERRY FIX FOR BABEL 3/20/2009 -- SO THAT YOU GET [1, 2] IN THE BODY TEXT
1419             \edef\@citeb{\expandafter\@iden\@citeb}%
1420             \if@filesw
1421                 \immediate\write\@auxout{\string\citation{\@citeb}}%
1422             \fi
1423             \@ifundefined{b@\@citeb}{%
1424                 {\bf ?}%
1425                 \@warning{%
1426                     Citation `\@citeb' on page \thepage\space undefined%
1427                 }%
1428             }%
1429             {\csname b@\@citeb\endcsname}%
1430         }%
1431     }{#2}%
1432 }
1433 \let\@biblabel\@gobble
1434 \newdimen\bibindent
1435 \bibindent=0em
1436 \newskip\bibsep % [jdf] allow bib space tweaking
1437 \bibsep 2pt \@plus 1pt \@minus 1pt % [jdf] initial spacing between ref entries
1438 \setcounter{enumi}{1}
1439 \def\thebibliography#1{%
1440 %% Comment this to have blue DOI links.
1441 \makeatletter
1442 \def\url@leostyle{% 
1443 \@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\color{black}\small\bf\ttfamily}}}
1444 \makeatother
1445 \urlstyle{leo}
1446 %%
1447     \section{%
1448        {References}
1449         \@mkboth{{\refname}}{{\refname}}%
1450     }%
1451 %    \list{[\arabic{enumi}]}{%
1452     \list{\arabic{enumi}.}{% DLC
1453 %        \settowidth\labelwidth{[#1]}%
1454         \settowidth\labelwidth{#1.}% DLC
1455         \leftmargin\labelwidth
1456         \advance\leftmargin\labelsep
1457         \advance\leftmargin\bibindent
1458         \itemindent -\bibindent
1459         \listparindent \itemindent
1460         \usecounter{enumi}
1461         \itemsep\bibsep% [jdf] standard spacing between references
1462     }%
1463     \let\newblock\@empty
1464     \raggedright  %% 7 JAN 2000 gkmt
1465     \sloppy
1466     \sfcode`\.=1000\relax
1467 }
1468
1469
1470 \gdef\balancecolumns
1471 {\vfill\eject
1472 \global\@colht=\textheight
1473 \global\ht\@cclv=\textheight
1474 }
1475
1476 \newcount\colcntr
1477 \global\colcntr=0
1478 \newbox\savebox
1479
1480 \gdef \@makecol {%
1481 \global\advance\colcntr by 1
1482 \ifnum\colcntr>2 \global\colcntr=1\fi
1483    \ifvoid\footins
1484      \setbox\@outputbox \box\@cclv
1485    \else
1486      \setbox\@outputbox \vbox{%
1487 \boxmaxdepth \@maxdepth
1488        \@tempdima\dp\@cclv
1489        \unvbox \@cclv
1490        \vskip-\@tempdima
1491        \vskip \skip\footins
1492        \color@begingroup
1493          \normalcolor
1494          \footnoterule
1495          \unvbox \footins
1496        \color@endgroup
1497        }%
1498    \fi
1499    \xdef\@freelist{\@freelist\@midlist}%
1500    \global \let \@midlist \@empty
1501    \@combinefloats
1502    \ifvbox\@kludgeins
1503      \@makespecialcolbox
1504    \else
1505      \setbox\@outputbox \vbox to\@colht {%
1506 \@texttop
1507        \dimen@ \dp\@outputbox
1508        \unvbox \@outputbox
1509    \vskip -\dimen@
1510        \@textbottom
1511        }%
1512    \fi
1513    \global \maxdepth \@maxdepth
1514 }
1515 \def\titlenote{\@ifnextchar[\@xtitlenote{\stepcounter\@mpfn
1516 \global\advance\titlenotecount by 1
1517 \ifnum\titlenotecount=1
1518     \raisebox{9pt}{$\ast$}
1519 \fi
1520 \ifnum\titlenotecount=2
1521     \raisebox{9pt}{$\dagger$}
1522 \fi
1523 \ifnum\titlenotecount=3
1524     \raisebox{9pt}{$\ddagger$}
1525 \fi
1526 \ifnum\titlenotecount=4
1527 \raisebox{9pt}{$\S$}
1528 \fi
1529 \ifnum\titlenotecount=5
1530 \raisebox{9pt}{$\P$}
1531 \fi
1532          \@titlenotetext
1533 }}
1534
1535 \long\def\@titlenotetext#1{\insert\footins{%
1536 \ifnum\titlenotecount=1\global\tntoks={#1}\fi
1537 \ifnum\titlenotecount=2\global\tntokstwo={#1}\fi
1538 \ifnum\titlenotecount=3\global\tntoksthree={#1}\fi
1539 \ifnum\titlenotecount=4\global\tntoksfour={#1}\fi
1540 \ifnum\titlenotecount=5\global\tntoksfive={#1}\fi
1541     \reset@font\footnotesize
1542     \interlinepenalty\interfootnotelinepenalty
1543     \splittopskip\footnotesep
1544     \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
1545     \hsize\columnwidth \@parboxrestore
1546     \protected@edef\@currentlabel{%
1547     }%
1548     \color@begingroup
1549    \color@endgroup}}
1550
1551 %%%%%%%%%%%%%%%%%%%%%%%%%
1552 \ps@plain
1553 \baselineskip=11pt
1554 \let\thepage\relax % For  NO page numbers - Gerry Nov. 30th. 1999
1555 \def\setpagenumber#1{\global\setcounter{page}{#1}}
1556 %\pagenumbering{arabic}  % Arabic page numbers but commented out for NO page numbes - Gerry Nov. 30th. 1999
1557 \twocolumn             % Double column.
1558 \flushbottom           % Even bottom -- alas, does not balance columns at end of document
1559 \pagestyle{plain}
1560
1561 % Need Copyright Year and Copyright Data to be user definable (in .tex file).
1562 % Gerry Nov. 30th. 1999
1563 \newtoks\copyrtyr
1564 \newtoks\acmcopyr
1565 \newtoks\boilerplate
1566
1567 \global\acmcopyr={X-XXXXX-XX-X/XX/XX}  % Default - 5/11/2001 *** Gerry
1568 \global\copyrtyr={\the\year}                % Default - 3/3/2003 *** Gerry
1569 \def\acmPrice#1{\gdef\@acmPrice{#1}}
1570 \acmPrice{} %article price  % Changed to 15 - June 2012 - Gerry
1571
1572
1573 \def\CopyrightYear#1{\global\copyrtyr{#1}}
1574 \def\crdata#1{\global\acmcopyr{#1}}
1575 \def\permission#1{\global\boilerplate{#1}}
1576
1577 % ISBN
1578 %
1579 \def\isbn#1{\global\acmcopyr={#1}}
1580 \isbn{978-1-4503-2138-9}
1581
1582 \RequirePackage{url}
1583 \urlstyle{rm}
1584 \def\doi#1{\def\@doi{#1}}
1585 \doi{10.1145/1235}
1586 \def\printdoi#1{\url{#1}}
1587
1588
1589
1590 % Copyright
1591 \RequirePackage{acmcopyright}
1592 \setcopyright{none}
1593
1594 %
1595 \global\boilerplate={\@copyrightpermission}
1596 %
1597 \newtoks\copyrightetc
1598 \ifnum\ACM@basesize=9\relax
1599 \global\copyrightetc{%
1600 {\noindent\confname\ \the\conf } \the\confinfo \par\smallskip
1601   \if@printcopyright
1602     \copyright\ \the\copyrtyr\ \@copyrightowner
1603   \fi
1604   \if@acmowned ISBN \else\ifnum\acm@copyrightmode=2 ISBN \else \par\smallskip ACM ISBN \fi\fi
1605  \the\acmcopyr\ifx\@acmPrice\@empty.\else\dots\@acmPrice\fi\par\smallskip
1606 {DOI: \small\expandafter\printdoi\expandafter{\@doi}}} 
1607 \toappear{\fontsize{7pt}{8pt}\fontfamily{ptm}\selectfont
1608   \the\boilerplate\par\smallskip
1609  \the\copyrightetc}
1610 \fi
1611 \ifnum\ACM@basesize=10\relax
1612 \global\copyrightetc{%
1613 {\noindent\confname\ \the\conf\ \the\confinfo}\par\smallskip
1614   \if@printcopyright
1615     \copyright\ \the\copyrtyr\ \@copyrightowner
1616   \fi
1617   \if@acmowned ISBN \else\ifnum\acm@copyrightmode=2 ISBN \else \par\smallskip ACM ISBN \fi\fi
1618  \the\acmcopyr\ifx\@acmPrice\@empty.\else\dots\@acmPrice\fi\par\smallskip
1619 {DOI: \small\expandafter\printdoi\expandafter{\@doi}}} 
1620 \toappear{\fontsize{7.5pt}{8.5pt}\fontfamily{ptm}\selectfont
1621   \the\boilerplate\par\smallskip
1622  \the\copyrightetc}
1623 \fi
1624
1625 \clubpenalty=10000 
1626 \widowpenalty = 10000
1627
1628 %% 
1629 % For the CCSXML 2012 Categories
1630
1631 \let\@concepts\@empty
1632 % Support for CCSXML file
1633 \RequirePackage{comment}
1634 \excludecomment{CCSXML}
1635
1636 % New concepts scheme
1637 %
1638 % The first argument is the significance, the
1639 % second is the concept(s)
1640 %
1641 \newcommand\ccsdesc[2][100]{%
1642   \ccsdesc@parse#1~#2~}
1643 %
1644 % The parser of the expression Significance~General~Specific
1645 %
1646 \def\ccsdesc@parse#1~#2~#3~{%
1647   \expandafter\ifx\csname CCS@#2\endcsname\relax
1648     \expandafter\gdef\csname CCS@#2\endcsname{\textbullet\textbf{#2} $\to$ }%
1649   \g@addto@macro{\@concepts}{\csname CCS@#2\endcsname}\fi
1650   \expandafter\g@addto@macro\expandafter{\csname CCS@#2\endcsname}{%
1651     \ifnum#1>499\textbf{#3; }\else
1652     \ifnum#1>299\textit{#3; }\else
1653     #3; \fi\fi}}
1654
1655 \newcommand\printccsdesc{%
1656   \ifx\@concepts\@empty\else
1657   \if@twocolumn
1658     \section*{CCS Concepts}
1659     \@concepts
1660     \else \small
1661     \quotation{\@concepts}%
1662     \fi
1663     \fi}
1664
1665
1666 %% DanCo, 10/19/11: Added this to reduce overfull lines per Sheridan
1667 %% request; it leads to occasionally unpleasant extra whitespace,
1668 %% though actually no worse and perhaps better than the 
1669 %% default Word template.
1670 %%
1671 %% This can be manually controlled instead by authors in text
1672 %% by putting \sloppy before and \fussy immediately 
1673 %% after troublesome paras.  Idea found at
1674 %% http://www.economics.utoronto.ca/osborne/latex/PMAKEUP.HTM
1675
1676 \sloppy

Community Data Science Collective || Want to submit a patch?