Advertisement
Guest User

sigchi.cls

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