Commit b10e86296e0a88402ce76e9d63ad8c2770733b57
1 parent
ba89b78f
Exists in
master
and in
3 other branches
adding file to compile
Showing
2 changed files
with
2520 additions
and
0 deletions
Show diff stats
... | ... | @@ -0,0 +1,2422 @@ |
1 | +%% | |
2 | +%% This is file `acmart.cls', | |
3 | +%% generated with the docstrip utility. | |
4 | +%% | |
5 | +%% The original source files were: | |
6 | +%% | |
7 | +%% acmart.dtx (with options: `class') | |
8 | +%% | |
9 | +%% IMPORTANT NOTICE: | |
10 | +%% | |
11 | +%% For the copyright see the source file. | |
12 | +%% | |
13 | +%% Any modified versions of this file must be renamed | |
14 | +%% with new filenames distinct from acmart.cls. | |
15 | +%% | |
16 | +%% For distribution of the original source see the terms | |
17 | +%% for copying and modification in the file acmart.dtx. | |
18 | +%% | |
19 | +%% This generated file may be distributed as long as the | |
20 | +%% original source files, as listed above, are part of the | |
21 | +%% same distribution. (The sources need not necessarily be | |
22 | +%% in the same archive or directory.) | |
23 | +%% \CharacterTable | |
24 | +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z | |
25 | +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z | |
26 | +%% Digits \0\1\2\3\4\5\6\7\8\9 | |
27 | +%% Exclamation \! Double quote \" Hash (number) \# | |
28 | +%% Dollar \$ Percent \% Ampersand \& | |
29 | +%% Acute accent \' Left paren \( Right paren \) | |
30 | +%% Asterisk \* Plus \+ Comma \, | |
31 | +%% Minus \- Point \. Solidus \/ | |
32 | +%% Colon \: Semicolon \; Less than \< | |
33 | +%% Equals \= Greater than \> Question mark \? | |
34 | +%% Commercial at \@ Left bracket \[ Backslash \\ | |
35 | +%% Right bracket \] Circumflex \^ Underscore \_ | |
36 | +%% Grave accent \` Left brace \{ Vertical bar \| | |
37 | +%% Right brace \} Tilde \~} | |
38 | +\NeedsTeXFormat{LaTeX2e} | |
39 | +\ProvidesClass{acmart} | |
40 | +[2017/05/14 v1.39 Typesetting articles for Association of | |
41 | +Computing Machinery] | |
42 | +\def\@classname{acmart} | |
43 | +\InputIfFileExists{acmart-preload-hook.tex}{% | |
44 | + \ClassWarning{\@classname}{% | |
45 | + I am loading acmart-preload-hook.tex. You are fully responsible | |
46 | + for any problems from now on.}}{} | |
47 | +\RequirePackage{xkeyval} | |
48 | +\RequirePackage{xstring} | |
49 | +\define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{% | |
50 | + manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph, | |
51 | + sigplan, sigchi, sigchi-a}[manuscript]{}{% | |
52 | + \ClassError{\@classname}{The option format must be manuscript, | |
53 | + acmsmall, acmlarge, acmtog, sigconf, siggraph, | |
54 | + sigplan, sigchi or sigchi-a}} | |
55 | +\def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{acmart.cls}{format=#1}}} | |
56 | +\@DeclareACMFormat{manuscript} | |
57 | +\@DeclareACMFormat{acmsmall} | |
58 | +\@DeclareACMFormat{acmlarge} | |
59 | +\@DeclareACMFormat{acmtog} | |
60 | +\@DeclareACMFormat{sigconf} | |
61 | +\@DeclareACMFormat{siggraph} | |
62 | +\@DeclareACMFormat{sigplan} | |
63 | +\@DeclareACMFormat{sigchi} | |
64 | +\@DeclareACMFormat{sigchi-a} | |
65 | +\ExecuteOptionsX{format} | |
66 | +\define@boolkey+{acmart.cls}[@ACM@]{screen}[true]{% | |
67 | + \if@ACM@screen | |
68 | + \PackageInfo{\@classname}{Using screen mode}% | |
69 | + \else | |
70 | + \PackageInfo{\@classname}{Not using screen mode}% | |
71 | + \fi}{\PackageError{\@classname}{Option screen can be either true or | |
72 | + false}} | |
73 | +\ExecuteOptionsX{screen=false} | |
74 | +\define@boolkey+{acmart.cls}[@ACM@]{review}[true]{% | |
75 | + \if@ACM@review | |
76 | + \PackageInfo{\@classname}{Using review mode}% | |
77 | + \else | |
78 | + \PackageInfo{\@classname}{Not using review mode}% | |
79 | + \fi}{\PackageError{\@classname}{Option review can be either true or | |
80 | + false}} | |
81 | +\ExecuteOptionsX{review=false} | |
82 | +\define@boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{% | |
83 | + \if@ACM@authorversion | |
84 | + \PackageInfo{\@classname}{Using authorversion mode}% | |
85 | + \else | |
86 | + \PackageInfo{\@classname}{Not using authorversion mode}% | |
87 | + \fi}{\PackageError{\@classname}{Option authorversion can be either true or | |
88 | + false}} | |
89 | +\ExecuteOptionsX{authorversion=false} | |
90 | +\define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{% | |
91 | + \if@ACM@natbib | |
92 | + \PackageInfo{\@classname}{Explicitly selecting natbib mode}% | |
93 | + \else | |
94 | + \PackageInfo{\@classname}{Explicitly deselecting natbib mode}% | |
95 | + \fi}{\PackageError{\@classname}{Option natbib can be either true or | |
96 | + false}} | |
97 | +\ExecuteOptionsX{natbib=true} | |
98 | +\define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{% | |
99 | + \if@ACM@anonymous | |
100 | + \PackageInfo{\@classname}{Using anonymous mode}% | |
101 | + \else | |
102 | + \PackageInfo{\@classname}{Not using anonymous mode}% | |
103 | + \fi}{\PackageError{\@classname}{Option anonymous can be either true or | |
104 | + false}} | |
105 | +\ExecuteOptionsX{anonymous=false} | |
106 | +\define@boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{% | |
107 | + \if@ACM@timestamp | |
108 | + \PackageInfo{\@classname}{Using timestamp mode}% | |
109 | + \else | |
110 | + \PackageInfo{\@classname}{Not using timestamp mode}% | |
111 | + \fi}{\PackageError{\@classname}{Option timestamp can be either true or | |
112 | + false}} | |
113 | +\ExecuteOptionsX{timestamp=false} | |
114 | +\define@boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{% | |
115 | + \if@ACM@authordraft | |
116 | + \PackageInfo{\@classname}{Using authordraft mode}% | |
117 | + \@ACM@timestamptrue | |
118 | + \@ACM@reviewtrue | |
119 | + \else | |
120 | + \PackageInfo{\@classname}{Not using authordraft mode}% | |
121 | + \fi}{\PackageError{\@classname}{Option authordraft can be either true or | |
122 | + false}} | |
123 | +\ExecuteOptionsX{authordraft=false} | |
124 | +\def\ACM@fontsize{} | |
125 | +\DeclareOptionX{9pt}{\edef\ACM@fontsize{\CurrentOption}} | |
126 | +\DeclareOptionX{10pt}{\edef\ACM@fontsize{\CurrentOption}} | |
127 | +\DeclareOptionX{11pt}{\edef\ACM@fontsize{\CurrentOption}} | |
128 | +\DeclareOptionX{12pt}{\edef\ACM@fontsize{\CurrentOption}} | |
129 | +\DeclareOptionX{draft}{\PassOptionsToClass{\CurrentOption}{amsart}} | |
130 | +\DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}} | |
131 | +\ProcessOptionsX | |
132 | +\ClassInfo{\@classname}{Using format \ACM@format, number \ACM@format@nr} | |
133 | +\newif\if@ACM@manuscript | |
134 | +\newif\if@ACM@journal | |
135 | +\newif\if@ACM@sigchiamode | |
136 | +\ifnum\ACM@format@nr=5\relax % siggraph | |
137 | + \ClassWarning{\@classname}{The format `siggraph' is now obsolete. | |
138 | + I am switching to sigconf.} | |
139 | + \setkeys{acmart.cls}{format=sigconf} | |
140 | +\fi | |
141 | +\ifnum\ACM@format@nr=0\relax | |
142 | + \@ACM@manuscripttrue | |
143 | +\else | |
144 | + \@ACM@manuscriptfalse | |
145 | +\fi | |
146 | +\@ACM@sigchiamodefalse | |
147 | +\ifcase\ACM@format@nr | |
148 | +\relax % manuscript | |
149 | + \@ACM@journaltrue | |
150 | +\or % acmsmall | |
151 | + \@ACM@journaltrue | |
152 | +\or % acmlarge | |
153 | + \@ACM@journaltrue | |
154 | +\or % acmtog | |
155 | + \@ACM@journaltrue | |
156 | +\or % sigconf | |
157 | + \@ACM@journalfalse | |
158 | +\or % siggraph | |
159 | + \@ACM@journalfalse | |
160 | + \or % sigplan | |
161 | + \@ACM@journalfalse | |
162 | + \or % sigchi | |
163 | + \@ACM@journalfalse | |
164 | +\or % sigchi-a | |
165 | + \@ACM@journalfalse | |
166 | + \@ACM@sigchiamodetrue | |
167 | +\fi | |
168 | +\ifx\ACM@fontsize\@empty | |
169 | + \ifcase\ACM@format@nr | |
170 | + \relax % manuscript | |
171 | + \def\ACM@fontsize{9pt}% | |
172 | + \or % acmsmall | |
173 | + \def\ACM@fontsize{10pt}% | |
174 | + \or % acmlarge | |
175 | + \def\ACM@fontsize{10pt}% | |
176 | + \or % acmtog | |
177 | + \def\ACM@fontsize{9pt}% | |
178 | + \or % sigconf | |
179 | + \def\ACM@fontsize{9pt}% | |
180 | + \or % siggraph | |
181 | + \def\ACM@fontsize{9pt}% | |
182 | + \or % sigplan | |
183 | + \def\ACM@fontsize{10pt}% | |
184 | + \or % sigchi | |
185 | + \def\ACM@fontsize{10pt}% | |
186 | + \or % sigchi-a | |
187 | + \def\ACM@fontsize{10pt}% | |
188 | + \fi | |
189 | +\fi | |
190 | +\ClassInfo{\@classname}{Using fontsize \ACM@fontsize} | |
191 | +\LoadClass[\ACM@fontsize, reqno]{amsart} | |
192 | +\RequirePackage{microtype} | |
193 | +\RequirePackage{totpages} | |
194 | +\RequirePackage{environ} | |
195 | +\if@ACM@manuscript | |
196 | +\RequirePackage{setspace} | |
197 | +\onehalfspacing | |
198 | +\fi | |
199 | +\if@ACM@natbib | |
200 | + \RequirePackage{natbib} | |
201 | + \renewcommand{\bibsection}{% | |
202 | + \section*{\refname}% | |
203 | + \phantomsection\addcontentsline{toc}{section}{\refname}% | |
204 | + } | |
205 | + \renewcommand{\bibfont}{\bibliofont} | |
206 | + \renewcommand\setcitestyle[1]{ | |
207 | + \@for\@tempa:=#1\do | |
208 | + {\def\@tempb{round}\ifx\@tempa\@tempb | |
209 | + \renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi | |
210 | + \def\@tempb{square}\ifx\@tempa\@tempb | |
211 | + \renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi | |
212 | + \def\@tempb{angle}\ifx\@tempa\@tempb | |
213 | + \renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi | |
214 | + \def\@tempb{curly}\ifx\@tempa\@tempb | |
215 | + \renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi | |
216 | + \def\@tempb{semicolon}\ifx\@tempa\@tempb | |
217 | + \renewcommand\NAT@sep{;}\fi | |
218 | + \def\@tempb{colon}\ifx\@tempa\@tempb | |
219 | + \renewcommand\NAT@sep{;}\fi | |
220 | + \def\@tempb{comma}\ifx\@tempa\@tempb | |
221 | + \renewcommand\NAT@sep{,}\fi | |
222 | + \def\@tempb{authoryear}\ifx\@tempa\@tempb | |
223 | + \NAT@numbersfalse\fi | |
224 | + \def\@tempb{numbers}\ifx\@tempa\@tempb | |
225 | + \NAT@numberstrue\NAT@superfalse\fi | |
226 | + \def\@tempb{super}\ifx\@tempa\@tempb | |
227 | + \NAT@numberstrue\NAT@supertrue\fi | |
228 | + \def\@tempb{nobibstyle}\ifx\@tempa\@tempb | |
229 | + \let\bibstyle=\@gobble\fi | |
230 | + \def\@tempb{bibstyle}\ifx\@tempa\@tempb | |
231 | + \let\bibstyle=\@citestyle\fi | |
232 | + \def\@tempb{sort}\ifx\@tempa\@tempb | |
233 | + \def\NAT@sort{\@ne}\fi | |
234 | + \def\@tempb{nosort}\ifx\@tempa\@tempb | |
235 | + \def\NAT@sort{\z@}\fi | |
236 | + \def\@tempb{compress}\ifx\@tempa\@tempb | |
237 | + \def\NAT@cmprs{\@ne}\fi | |
238 | + \def\@tempb{nocompress}\ifx\@tempa\@tempb | |
239 | + \def\NAT@cmprs{\@z}\fi | |
240 | + \def\@tempb{sort&compress}\ifx\@tempa\@tempb | |
241 | + \def\NAT@sort{\@ne}\def\NAT@cmprs{\@ne}\fi | |
242 | + \def\@tempb{mcite}\ifx\@tempa\@tempb | |
243 | + \let\NAT@merge\@ne\fi | |
244 | + \def\@tempb{merge}\ifx\@tempa\@tempb | |
245 | + \@ifnum{\NAT@merge<\tw@}{\let\NAT@merge\tw@}{}\fi | |
246 | + \def\@tempb{elide}\ifx\@tempa\@tempb | |
247 | + \@ifnum{\NAT@merge<\thr@@}{\let\NAT@merge\thr@@}{}\fi | |
248 | + \def\@tempb{longnamesfirst}\ifx\@tempa\@tempb | |
249 | + \NAT@longnamestrue\fi | |
250 | + \def\@tempb{nonamebreak}\ifx\@tempa\@tempb | |
251 | + \def\NAT@nmfmt#1{\mbox{\NAT@up#1}}\fi | |
252 | + \expandafter\NAT@find@eq\@tempa=\relax\@nil | |
253 | + \if\@tempc\relax\else | |
254 | + \expandafter\NAT@rem@eq\@tempc | |
255 | + \def\@tempb{open}\ifx\@tempa\@tempb | |
256 | + \xdef\NAT@open{\@tempc}\fi | |
257 | + \def\@tempb{close}\ifx\@tempa\@tempb | |
258 | + \xdef\NAT@close{\@tempc}\fi | |
259 | + \def\@tempb{aysep}\ifx\@tempa\@tempb | |
260 | + \xdef\NAT@aysep{\@tempc}\fi | |
261 | + \def\@tempb{yysep}\ifx\@tempa\@tempb | |
262 | + \xdef\NAT@yrsep{\@tempc}\fi | |
263 | + \def\@tempb{notesep}\ifx\@tempa\@tempb | |
264 | + \xdef\NAT@cmt{\@tempc}\fi | |
265 | + \def\@tempb{citesep}\ifx\@tempa\@tempb | |
266 | + \xdef\NAT@sep{\@tempc}\fi | |
267 | + \fi | |
268 | + }% | |
269 | + \NAT@@setcites | |
270 | + } | |
271 | + \renewcommand\citestyle[1]{% | |
272 | + \ifcsname bibstyle@#1\endcsname% | |
273 | + \csname bibstyle@#1\endcsname\let\bibstyle\@gobble% | |
274 | + \else% | |
275 | + \@latex@error{Undefined `#1' citestyle}% | |
276 | + \fi | |
277 | + }% | |
278 | +\fi | |
279 | +\newcommand{\bibstyle@acmauthoryear}{% | |
280 | + \setcitestyle{% | |
281 | + authoryear,% | |
282 | + open={[},close={]},citesep={;},% | |
283 | + aysep={},yysep={,},% | |
284 | + notesep={, }}} | |
285 | +\newcommand{\bibstyle@acmnumeric}{% | |
286 | + \setcitestyle{% | |
287 | + numbers,sort&compress,% | |
288 | + open={[},close={]},citesep={,},% | |
289 | + notesep={, }}} | |
290 | +\if@ACM@natbib | |
291 | +\citestyle{acmnumeric} | |
292 | +\fi | |
293 | +\def\@startsection#1#2#3#4#5#6{% | |
294 | + \if@noskipsec \leavevmode \fi | |
295 | + \par | |
296 | + \@tempskipa #4\relax | |
297 | + \@afterindenttrue | |
298 | + \ifdim \@tempskipa <\z@ | |
299 | + \@tempskipa -\@tempskipa \@afterindentfalse | |
300 | + \fi | |
301 | + \if@nobreak | |
302 | + \everypar{}% | |
303 | + \else | |
304 | + \addpenalty\@secpenalty\addvspace\@tempskipa | |
305 | + \fi | |
306 | + \@ifstar | |
307 | + {\@ssect{#3}{#4}{#5}{#6}}% | |
308 | + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} | |
309 | +\def\@sect#1#2#3#4#5#6[#7]#8{% | |
310 | + \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}% | |
311 | + \ifnum #2>\c@secnumdepth | |
312 | + \let\@svsec\@empty | |
313 | + \else | |
314 | + \refstepcounter{#1}% | |
315 | + \protected@edef\@svsec{\@seccntformat{#1}\relax}% | |
316 | + \fi | |
317 | + \@tempskipa #5\relax | |
318 | + \ifdim \@tempskipa>\z@ | |
319 | + \begingroup | |
320 | + #6{% | |
321 | + \@hangfrom{\hskip #3\relax\@svsec}% | |
322 | + \interlinepenalty \@M #8\@@par}% | |
323 | + \endgroup | |
324 | + \csname #1mark\endcsname{#7}% | |
325 | + \ifnum #2>\c@secnumdepth \else | |
326 | + \@tochangmeasure{\csname the#1\endcsname}% | |
327 | + \fi | |
328 | + \addcontentsline{toc}{#1}{% | |
329 | + \ifnum #2>\c@secnumdepth \else | |
330 | + \protect\numberline{\csname the#1\endcsname}% | |
331 | + \fi | |
332 | + #7}% | |
333 | + \else | |
334 | + \def\@svsechd{% | |
335 | + #6{\hskip #3\relax | |
336 | + \@svsec #8}% | |
337 | + \csname #1mark\endcsname{#7}% | |
338 | + \ifnum #2>\c@secnumdepth \else | |
339 | + \@tochangmeasure{\csname the#1\endcsname\space}% | |
340 | + \fi | |
341 | + \addcontentsline{toc}{#1}{% | |
342 | + \ifnum #2>\c@secnumdepth \else | |
343 | + \protect\numberline{\csname the#1\endcsname}% | |
344 | + \fi | |
345 | + #7}}% | |
346 | + \fi | |
347 | + \@xsect{#5}} | |
348 | +\def\@xsect#1{% | |
349 | + \@tempskipa #1\relax | |
350 | + \ifdim \@tempskipa>\z@ | |
351 | + \par \nobreak | |
352 | + \vskip \@tempskipa | |
353 | + \@afterheading | |
354 | + \else | |
355 | + \@nobreakfalse | |
356 | + \global\@noskipsectrue | |
357 | + \everypar{% | |
358 | + \if@noskipsec | |
359 | + \global\@noskipsecfalse | |
360 | + {\setbox\z@\lastbox}% | |
361 | + \clubpenalty\@M | |
362 | + \begingroup \@svsechd \endgroup | |
363 | + \unskip | |
364 | + \@tempskipa #1\relax | |
365 | + \hskip -\@tempskipa | |
366 | + \else | |
367 | + \clubpenalty \@clubpenalty | |
368 | + \everypar{}% | |
369 | + \fi}% | |
370 | + \fi | |
371 | + \ignorespaces} | |
372 | +\def\@seccntformat#1{\csname the#1\endcsname\quad} | |
373 | +\def\@ssect#1#2#3#4#5{% | |
374 | + \@tempskipa #3\relax | |
375 | + \ifdim \@tempskipa>\z@ | |
376 | + \begingroup | |
377 | + #4{% | |
378 | + \@hangfrom{\hskip #1}% | |
379 | + \interlinepenalty \@M #5\@@par}% | |
380 | + \endgroup | |
381 | + \else | |
382 | + \def\@svsechd{#4{\hskip #1\relax #5}}% | |
383 | + \fi | |
384 | + \@xsect{#3}} | |
385 | +\def\@starttoc#1#2{\begingroup | |
386 | + \setTrue{#1}% | |
387 | + \par\removelastskip\vskip\z@skip | |
388 | + \@startsection{section}\@M\z@{\linespacing\@plus\linespacing}% | |
389 | + {.5\linespacing}{\centering\contentsnamefont}{#2}% | |
390 | + \@input{\jobname.#1}% | |
391 | + \if@filesw | |
392 | + \@xp\newwrite\csname tf@#1\endcsname | |
393 | + \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax | |
394 | + \fi | |
395 | + \global\@nobreakfalse \endgroup | |
396 | + \addvspace{32\p@\@plus14\p@}% | |
397 | +} | |
398 | +\def\l@subsection{\@tocline{2}{0pt}{1pc}{3pc}{}} | |
399 | +\def\l@subsubsection{\@tocline{2}{0pt}{1pc}{5pc}{}} | |
400 | +\let\@footnotemark@nolink\@footnotemark | |
401 | +\let\@footnotetext@nolink\@footnotetext | |
402 | +\RequirePackage[bookmarksnumbered,unicode]{hyperref} | |
403 | +\pdfstringdefDisableCommands{% | |
404 | + \def\unskip{}% | |
405 | + \def\textbullet{- }% | |
406 | + \def\textrightarrow{ -> }% | |
407 | + \def\footnotemark{}% | |
408 | +} | |
409 | +\urlstyle{rm} | |
410 | +\ifcase\ACM@format@nr | |
411 | +\relax % manuscript | |
412 | +\or % acmsmall | |
413 | +\or % acmlarge | |
414 | +\or % acmtog | |
415 | +\or % sigconf | |
416 | +\or % siggraph | |
417 | +\or % sigplan | |
418 | + \urlstyle{sf} | |
419 | +\or % sigchi | |
420 | +\or % sigchi-a | |
421 | + \urlstyle{sf} | |
422 | +\fi | |
423 | +\if@ACM@screen | |
424 | + \hypersetup{colorlinks, | |
425 | + linkcolor=ACMRed, | |
426 | + citecolor=ACMPurple, | |
427 | + urlcolor=ACMDarkBlue, | |
428 | + filecolor=ACMDarkBlue} | |
429 | +\else | |
430 | + \hypersetup{hidelinks} | |
431 | +\fi | |
432 | +\if@ACM@natbib | |
433 | + \let\citeN\cite | |
434 | + \let\cite\citep | |
435 | + \let\citeANP\citeauthor | |
436 | + \let\citeNN\citeyearpar | |
437 | + \let\citeyearNP\citeyear | |
438 | + \let\citeyear\citeyearpar | |
439 | + \let\citeNP\citealt | |
440 | + \DeclareRobustCommand\citeA | |
441 | + {\begingroup\NAT@swafalse | |
442 | + \let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}% | |
443 | + \providecommand\newblock{}% | |
444 | +\else | |
445 | + \AtBeginDocument{% | |
446 | + \let\shortcite\cite% | |
447 | + \providecommand\citename[1]{#1}} | |
448 | +\fi | |
449 | +\newcommand\shortcite[2][]{% | |
450 | + \ifNAT@numbers\cite[#1]{#2}\else\citeyear[#1]{#2}\fi} | |
451 | +\def\bibliographystyle#1{% | |
452 | + \ifx\@begindocumenthook\@undefined\else | |
453 | + \expandafter\AtBeginDocument | |
454 | + \fi | |
455 | + {\if@filesw | |
456 | + \immediate\write\@auxout{\string\bibstyle{#1}}% | |
457 | + \fi}} | |
458 | +\RequirePackage{graphicx, xcolor} | |
459 | +\definecolor[named]{ACMBlue}{cmyk}{1,0.1,0,0.1} | |
460 | +\definecolor[named]{ACMYellow}{cmyk}{0,0.16,1,0} | |
461 | +\definecolor[named]{ACMOrange}{cmyk}{0,0.42,1,0.01} | |
462 | +\definecolor[named]{ACMRed}{cmyk}{0,0.90,0.86,0} | |
463 | +\definecolor[named]{ACMLightBlue}{cmyk}{0.49,0.01,0,0} | |
464 | +\definecolor[named]{ACMGreen}{cmyk}{0.20,0,1,0.19} | |
465 | +\definecolor[named]{ACMPurple}{cmyk}{0.55,1,0,0.15} | |
466 | +\definecolor[named]{ACMDarkBlue}{cmyk}{1,0.58,0,0.21} | |
467 | +\if@ACM@authordraft | |
468 | + \RequirePackage{draftwatermark} | |
469 | + \SetWatermarkFontSize{0.5in} | |
470 | + \SetWatermarkColor[gray]{.9} | |
471 | + \SetWatermarkText{\parbox{12em}{\centering | |
472 | + Unpublished working draft\\ | |
473 | + Not for distribution}} | |
474 | +\fi | |
475 | +\RequirePackage{geometry} | |
476 | +\ifcase\ACM@format@nr | |
477 | +\relax % manuscript | |
478 | + \geometry{letterpaper,head=13pt, | |
479 | + marginparwidth=6pc}% | |
480 | +\or % acmsmall | |
481 | + \geometry{twoside=true, | |
482 | + includeheadfoot, head=13pt, foot=2pc, | |
483 | + paperwidth=6.75in, paperheight=10in, | |
484 | + top=58pt, bottom=44pt, inner=46pt, outer=46pt, | |
485 | + marginparwidth=2pc | |
486 | + }% | |
487 | +\or % acmlarge | |
488 | + \geometry{twoside=true, head=13pt, foot=2pc, | |
489 | + paperwidth=8.5in, paperheight=11in, | |
490 | + includeheadfoot, | |
491 | + top=78pt, bottom=114pt, inner=81pt, outer=81pt, | |
492 | + marginparwidth=4pc | |
493 | + }% | |
494 | +\or % acmtog | |
495 | + \geometry{twoside=true, head=13pt, foot=2pc, | |
496 | + paperwidth=8.5in, paperheight=11in, | |
497 | + includeheadfoot, columnsep=24pt, | |
498 | + top=52pt, bottom=75pt, inner=52pt, outer=52pt, | |
499 | + marginparwidth=2pc | |
500 | + }% | |
501 | +\or % sigconf | |
502 | + \geometry{twoside=true, head=13pt, | |
503 | + paperwidth=8.5in, paperheight=11in, | |
504 | + includeheadfoot, columnsep=2pc, | |
505 | + top=57pt, bottom=73pt, inner=54pt, outer=54pt, | |
506 | + marginparwidth=2pc | |
507 | + }% | |
508 | +\or % siggraph | |
509 | + \geometry{twoside=true, head=13pt, | |
510 | + paperwidth=8.5in, paperheight=11in, | |
511 | + includeheadfoot, columnsep=2pc, | |
512 | + top=57pt, bottom=73pt, inner=54pt, outer=54pt, | |
513 | + marginparwidth=2pc | |
514 | + }% | |
515 | +\or % sigplan | |
516 | + \geometry{twoside=true, head=13pt, | |
517 | + paperwidth=8.5in, paperheight=11in, | |
518 | + includeheadfoot=false, columnsep=2pc, | |
519 | + top=1in, bottom=1in, inner=0.75in, outer=0.75in, | |
520 | + marginparwidth=2pc | |
521 | + }% | |
522 | +\or % sigchi | |
523 | + \geometry{twoside=true, head=13pt, | |
524 | + paperwidth=8.5in, paperheight=11in, | |
525 | + includeheadfoot, columnsep=2pc, | |
526 | + top=66pt, bottom=73pt, inner=54pt, outer=54pt, | |
527 | + marginparwidth=2pc | |
528 | + }% | |
529 | +\or % sigchi-a | |
530 | + \geometry{twoside=false, head=13pt, | |
531 | + paperwidth=11in, paperheight=8.5in, | |
532 | + includeheadfoot, marginparsep=72pt, | |
533 | + marginparwidth=170pt, columnsep=20pt, | |
534 | + top=72pt, bottom=72pt, left=314pt, right=72pt | |
535 | + }% | |
536 | + \@mparswitchfalse | |
537 | + \reversemarginpar | |
538 | +\fi | |
539 | +\setlength\parindent{10\p@} | |
540 | +\setlength\parskip{\z@} | |
541 | +\ifcase\ACM@format@nr | |
542 | +\relax % manuscript | |
543 | +\or % acmsmall | |
544 | +\or % acmlarge | |
545 | +\or % acmtog | |
546 | + \setlength\parindent{9\p@}% | |
547 | +\or % sigconf | |
548 | +\or % siggraph | |
549 | +\or % sigplan | |
550 | +\or % sigchi | |
551 | +\or % sigchi-a | |
552 | +\fi | |
553 | +\setlength\normalparindent{\parindent} | |
554 | +\def\copyrightpermissionfootnoterule{\kern-3\p@ | |
555 | + \hrule \@width \columnwidth \kern 2.6\p@} | |
556 | +\RequirePackage{manyfoot} | |
557 | +\SelectFootnoteRule[2]{copyrightpermission} | |
558 | +\DeclareNewFootnote{copyrightpermission} | |
559 | +\def\footnoterule{\kern-3\p@ | |
560 | + \hrule \@width 4pc \kern 2.6\p@} | |
561 | +\def\endminipage{% | |
562 | + \par | |
563 | + \unskip | |
564 | + \ifvoid\@mpfootins\else | |
565 | + \vskip\skip\@mpfootins | |
566 | + \normalcolor | |
567 | + \unvbox\@mpfootins | |
568 | + \fi | |
569 | + \@minipagefalse %% added 24 May 89 | |
570 | + \color@endgroup | |
571 | + \egroup | |
572 | + \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}} | |
573 | +\def\@makefntext{\noindent\@makefnmark} | |
574 | +\if@ACM@sigchiamode | |
575 | +\long\def\@footnotetext#1{\marginpar{% | |
576 | + \reset@font\small | |
577 | + \interlinepenalty\interfootnotelinepenalty | |
578 | + \protected@edef\@currentlabel{% | |
579 | + \csname p@footnote\endcsname\@thefnmark | |
580 | + }% | |
581 | + \color@begingroup | |
582 | + \@makefntext{% | |
583 | + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% | |
584 | + \color@endgroup}}% | |
585 | +\fi | |
586 | +\long\def\@mpfootnotetext#1{% | |
587 | + \global\setbox\@mpfootins\vbox{% | |
588 | + \unvbox\@mpfootins | |
589 | + \reset@font\footnotesize | |
590 | + \hsize\columnwidth | |
591 | + \@parboxrestore | |
592 | + \protected@edef\@currentlabel | |
593 | + {\csname p@mpfootnote\endcsname\@thefnmark}% | |
594 | + \color@begingroup\centering | |
595 | + \@makefntext{% | |
596 | + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% | |
597 | + \color@endgroup}} | |
598 | +\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} | |
599 | +\def\@textbottom{\vskip \z@ \@plus 1pt} | |
600 | +\let\@texttop\relax | |
601 | +\RequirePackage{iftex} | |
602 | +\ifPDFTeX | |
603 | +\input{glyphtounicode} | |
604 | +\pdfgentounicode=1 | |
605 | +\fi | |
606 | +\RequirePackage{cmap} | |
607 | +\newif\if@ACM@newfonts | |
608 | +\@ACM@newfontstrue | |
609 | +\IfFileExists{libertine.sty}{}{\ClassWarning{\@classname}{You do not | |
610 | + have libertine package installed. Please upgrade your | |
611 | + TeX}\@ACM@newfontsfalse} | |
612 | +\IfFileExists{zi4.sty}{}{\ClassWarning{\@classname}{You do not | |
613 | + have zi4 package installed. Please upgrade your TeX}\@ACM@newfontsfalse} | |
614 | +\IfFileExists{newtxmath.sty}{}{\ClassWarning{\@classname}{You do not | |
615 | + have newtxmath package installed. Please upgrade your | |
616 | + TeX}\@ACM@newfontsfalse} | |
617 | +\if@ACM@newfonts | |
618 | +\RequirePackage[tt=false, type1=true]{libertine} | |
619 | +\RequirePackage[varqu]{zi4} | |
620 | +\RequirePackage[libertine]{newtxmath} | |
621 | +\RequirePackage[T1]{fontenc} | |
622 | +\fi | |
623 | +\if@ACM@sigchiamode | |
624 | + \renewcommand{\familydefault}{\sfdefault} | |
625 | +\fi | |
626 | +\RequirePackage{caption, float} | |
627 | +\captionsetup[table]{position=top} | |
628 | +\if@ACM@journal | |
629 | + \captionsetup{labelfont={sf, small}, | |
630 | + textfont={sf, small}, margin=\z@} | |
631 | + \captionsetup[figure]{name={Fig.}} | |
632 | +\else | |
633 | + \captionsetup{labelfont={bf}, | |
634 | + textfont={bf}, labelsep=colon, margin=\z@} | |
635 | + \ifcase\ACM@format@nr | |
636 | + \relax % manuscript | |
637 | + \or % acmsmall | |
638 | + \or % acmlarge | |
639 | + \or % acmtog | |
640 | + \or % sigconf | |
641 | + \or % siggraph | |
642 | + \captionsetup{textfont={it}} | |
643 | + \or % sigplan | |
644 | + \captionsetup{labelfont={bf}, | |
645 | + textfont={normalfont}, labelsep=period, margin=\z@} | |
646 | + \or % sigchi | |
647 | + \captionsetup[figure]{labelfont={bf, small}, | |
648 | + textfont={bf, small}} | |
649 | + \or % sigchi-a | |
650 | + \captionsetup[figure]{labelfont={bf, small}, | |
651 | + textfont={bf, small}} | |
652 | + \fi | |
653 | +\fi | |
654 | +\newfloat{sidebar}{}{sbar} | |
655 | +\floatname{sidebar}{Sidebar} | |
656 | +\renewenvironment{sidebar}{\Collect@Body\@sidebar}{} | |
657 | +\long\def\@sidebar#1{\bgroup\captionsetup{type=sidebar}% | |
658 | + \marginpar{\small#1}\egroup} | |
659 | +\newenvironment{marginfigure}{\Collect@Body\@marginfigure}{} | |
660 | +\long\def\@marginfigure#1{\bgroup\captionsetup{type=figure}% | |
661 | + \marginpar{\centering\small#1}\egroup} | |
662 | +\newenvironment{margintable}{\Collect@Body\@margintable}{} | |
663 | +\long\def\@margintable#1{\bgroup\captionsetup{type=table}% | |
664 | + \marginpar{\centering\small#1}\egroup} | |
665 | +\newdimen\fulltextwidth | |
666 | +\fulltextwidth=\dimexpr(\textwidth+\marginparwidth+\marginparsep) | |
667 | +\if@ACM@sigchiamode | |
668 | +\def\@dblfloat{\bgroup\columnwidth=\fulltextwidth | |
669 | + \let\@endfloatbox\@endwidefloatbox | |
670 | + \def\@fpsadddefault{\def\@fps{tp}}% | |
671 | + \@float} | |
672 | +\fi | |
673 | +\if@ACM@sigchiamode | |
674 | +\def\end@dblfloat{% | |
675 | + \end@float\egroup} | |
676 | +\fi | |
677 | +\def\@endwidefloatbox{% | |
678 | + \par\vskip\z@skip | |
679 | + \@minipagefalse | |
680 | + \outer@nobreak | |
681 | + \egroup | |
682 | + \color@endbox | |
683 | + \global\setbox\@currbox=\vbox{\moveleft | |
684 | + \dimexpr(\fulltextwidth-\textwidth)\box\@currbox}% | |
685 | + \wd\@currbox=\textwidth | |
686 | +} | |
687 | +\ifcase\ACM@format@nr | |
688 | +\relax % manuscript | |
689 | +\or % acmsmall | |
690 | +\or % acmlarge | |
691 | +\or % acmtog | |
692 | +\or % sigconf | |
693 | +\or % siggraph | |
694 | +\or % sigplan | |
695 | +\def\labelenumi{\theenumi.} | |
696 | +\def\labelenumii{\theenumii.} | |
697 | +\def\labelenumiii{\theenumiii.} | |
698 | +\def\labelenumiv{\theenumiv.} | |
699 | +\or % sigchi | |
700 | +\or % sigchi-a | |
701 | +\fi | |
702 | +\newdimen\@ACM@labelwidth | |
703 | +\AtBeginDocument{% | |
704 | + \setlength\labelsep{4pt} | |
705 | + \setlength{\@ACM@labelwidth}{6.5pt} | |
706 | + | |
707 | + %% First-level list: when beginning after the first line of an | |
708 | + %% indented paragraph or ending before an indented paragraph, labels | |
709 | + %% should not hang to the left of the preceding/following text. | |
710 | + \setlength\leftmargini{\z@} | |
711 | + \addtolength\leftmargini{\parindent} | |
712 | + \addtolength\leftmargini{2\labelsep} | |
713 | + \addtolength\leftmargini{\@ACM@labelwidth} | |
714 | + | |
715 | + %% Second-level and higher lists. | |
716 | + \setlength\leftmarginii{\z@} | |
717 | + \addtolength\leftmarginii{0.5\labelsep} | |
718 | + \addtolength\leftmarginii{\@ACM@labelwidth} | |
719 | + \setlength\leftmarginiii{\leftmarginii} | |
720 | + \setlength\leftmarginiv{\leftmarginiii} | |
721 | + \setlength\leftmarginv{\leftmarginiv} | |
722 | + \setlength\leftmarginvi{\leftmarginv} | |
723 | + \@listi} | |
724 | +\newskip\listisep | |
725 | +\listisep\smallskipamount | |
726 | +\def\@listI{\leftmargin\leftmargini | |
727 | + \labelwidth\leftmargini \advance\labelwidth-\labelsep | |
728 | + \listparindent\z@ | |
729 | + \topsep\listisep} | |
730 | +\let\@listi\@listI | |
731 | +\def\@listii{\leftmargin\leftmarginii | |
732 | + \labelwidth\leftmarginii \advance\labelwidth-\labelsep | |
733 | + \topsep\z@skip} | |
734 | +\def\@listiii{\leftmargin\leftmarginiii | |
735 | + \labelwidth\leftmarginiii \advance\labelwidth-\labelsep} | |
736 | +\def\@listiv{\leftmargin\leftmarginiv | |
737 | + \labelwidth\leftmarginiv \advance\labelwidth-\labelsep} | |
738 | +\def\@listv{\leftmargin\leftmarginv | |
739 | + \labelwidth\leftmarginv \advance\labelwidth-\labelsep} | |
740 | +\def\@listvi{\leftmargin\leftmarginvi | |
741 | + \labelwidth\leftmarginvi \advance\labelwidth-\labelsep} | |
742 | +\renewcommand{\descriptionlabel}[1]{\upshape\bfseries #1} | |
743 | +\renewenvironment{description}{\list{}{% | |
744 | + \labelwidth\@ACM@labelwidth | |
745 | + \let\makelabel\descriptionlabel}% | |
746 | +}{ | |
747 | + \endlist | |
748 | +} | |
749 | +\let\enddescription=\endlist % for efficiency | |
750 | +\define@choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode@nr]{% | |
751 | + CIE,% | |
752 | + CSUR,% | |
753 | + IMWUT,% | |
754 | + JACM,% | |
755 | + JDIQ,% | |
756 | + JEA,% | |
757 | + JERIC,% | |
758 | + JETC,% | |
759 | + JOCCH,% | |
760 | + PACMHCI,% | |
761 | + PACMPL,% | |
762 | + POMACS,% | |
763 | + TAAS,% | |
764 | + TACCESS,% | |
765 | + TACO,% | |
766 | + TALG,% | |
767 | + TALLIP,% | |
768 | + TAP,% | |
769 | + TCPS,% | |
770 | + TEAC,% | |
771 | + TECS,% | |
772 | + TIIS,% | |
773 | + TISSEC,% | |
774 | + TIST,% | |
775 | + TKDD,% | |
776 | + TMIS,% | |
777 | + TOCE,% | |
778 | + TOCHI,% | |
779 | + TOCL,% | |
780 | + TOCS,% | |
781 | + TOCT,% | |
782 | + TODAES,% | |
783 | + TODS,% | |
784 | + TOG,% | |
785 | + TOIS,% | |
786 | + TOIT,% | |
787 | + TOMACS,% | |
788 | + TOMM,% | |
789 | + TOMPECS,% | |
790 | + TOMS,% | |
791 | + TOPC,% | |
792 | + TOPS,% | |
793 | + TOPLAS,% | |
794 | + TOS,% | |
795 | + TOSEM,% | |
796 | + TOSN,% | |
797 | + TRETS,% | |
798 | + TSAS,% | |
799 | + TSC,% | |
800 | + TSLP,% | |
801 | + TWEB% | |
802 | +}{% | |
803 | +\ifcase\@journalCode@nr | |
804 | +\relax % CIE | |
805 | + \def\@journalName{ACM Computers in Entertainment}% | |
806 | + \def\@journalNameShort{ACM Comput. Entertain.}% | |
807 | + \def\@permissionCodeOne{1544-3574}% | |
808 | +\or % CSUR | |
809 | + \def\@journalName{ACM Computing Surveys}% | |
810 | + \def\@journalNameShort{ACM Comput. Surv.}% | |
811 | + \def\@permissionCodeOne{0360-0300}% | |
812 | +\or % IMWUT | |
813 | + \def\@journalName{Proceedings of the ACM on Interactive, Mobile, | |
814 | + Wearable and Ubiquitous Technologies}% | |
815 | + \def\@journalNameShort{Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.}% | |
816 | + \def\@permissionCodeOne{2474-9567}% | |
817 | +\or % JACM | |
818 | + \def\@journalName{Journal of the ACM}% | |
819 | + \def\@journalNameShort{J. ACM}% | |
820 | + \def\@permissionCodeOne{0004-5411}% | |
821 | +\or % JDIQ | |
822 | + \def\@journalName{ACM Journal of Data and Information Quality}% | |
823 | + \def\@journalNameShort{ACM J. Data Inform. Quality}% | |
824 | + \def\@permissionCodeOne{1936-1955}% | |
825 | +\or % JEA | |
826 | + \def\@journalName{ACM Journal of Experimental Algorithmics}% | |
827 | + \def\@journalNameShort{ACM J. Exp. Algor.}% | |
828 | + \def\@permissionCodeOne{1084-6654}% | |
829 | +\or % JERIC | |
830 | + \def\@journalName{ACM Journal of Educational Resources in Computing}% | |
831 | + \def\@journalNameShort{ACM J. Edu. Resources in Comput.}% | |
832 | + \def\@permissionCodeOne{1073-0516}% | |
833 | +\or % JETC | |
834 | + \def\@journalName{ACM Journal on Emerging Technologies in Computing Systems}% | |
835 | + \def\@journalNameShort{ACM J. Emerg. Technol. Comput. Syst.}% | |
836 | + \def\@permissionCodeOne{1550-4832}% | |
837 | +\or % JOCCH | |
838 | + \def\@journalName{ACM Journal on Computing and Cultural Heritage}% | |
839 | + \def\@journalName{ACM J. Comput. Cult. Herit.}% | |
840 | +\or % PACMHCI | |
841 | + \def\@journalName{Proceedings of the ACM on Human-Computer Interaction}% | |
842 | + \def\@journalName{Proc. ACM Hum.-Comput. Interact.}% | |
843 | + \def\@permissionCodeOne{2573-0142}% | |
844 | +\or % PACMPL | |
845 | + \def\@journalName{Proceedings of the ACM on Programming Languages}% | |
846 | + \def\@journalName{Proc. ACM Program. Lang.}% | |
847 | + \def\@permissionCodeOne{2475-1421}% | |
848 | +\or % POMACS | |
849 | + \def\@journalName{Proceedings of the ACM on Measurement and Analysis of Computing Systems}% | |
850 | + \def\@journalName{Proc. ACM Meas. Anal. Comput. Syst.}% | |
851 | + \def\@permissionCodeOne{2476-1249}% | |
852 | +\or % TAAS | |
853 | + \def\@journalName{ACM Transactions on Autonomous and Adaptive Systems}% | |
854 | + \def\@journalNameShort{ACM Trans. Autonom. Adapt. Syst.}% | |
855 | + \def\@permissionCodeOne{1556-4665}% | |
856 | +\or % TACCESS | |
857 | + \def\@journalName{ACM Transactions on Accessible Computing}% | |
858 | + \def\@journalNameShort{ACM Trans. Access. Comput.}% | |
859 | + \def\@permissionCodeOne{1936-7228}% | |
860 | +\or % TACO | |
861 | + \def\@journalName{ACM Transactions on Architecture and Code Optimization}% | |
862 | +\or % TALG | |
863 | + \def\@journalName{ACM Transactions on Algorithms}% | |
864 | + \def\@journalNameShort{ACM Trans. Algor.}% | |
865 | + \def\@permissionCodeOne{1549-6325}% | |
866 | +\or % TALLIP | |
867 | + \def\@journalName{ACM Transactions on Asian and Low-Resource Language Information Processing}% | |
868 | + \def\@journalNameShort{ACM Trans. Asian Low-Resour. Lang. Inf. Process.}% | |
869 | + \def\@permissionCodeOne{2375-4699}% | |
870 | +\or % TAP | |
871 | + \def\@journalName{ACM Transactions on Applied Perception}% | |
872 | +\or % TCPS | |
873 | + \def\@journalName{ACM Transactions on Cyber-Physical Systems}% | |
874 | +\or % TEAC | |
875 | + \def\@journalName{ACM Transactions on Economics and Computation}% | |
876 | +\or % TECS | |
877 | + \def\@journalName{ACM Transactions on Embedded Computing Systems}% | |
878 | + \def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}% | |
879 | + \def\@permissionCodeOne{1539-9087}% | |
880 | +\or % TIIS | |
881 | + \def\@journalName{ACM Transactions on Interactive Intelligent Systems}% | |
882 | + \def\@journalNameShort{ACM Trans. Interact. Intell. Syst.}% | |
883 | + \def\@permissionCodeOne{2160-6455}% | |
884 | +\or % TISSEC | |
885 | + \def\@journalName{ACM Transactions on Information and System Security}% | |
886 | + \def\@journalNameShort{ACM Trans. Info. Syst. Sec.}% | |
887 | + \def\@permissionCodeOne{1094-9224}% | |
888 | +\or % TIST | |
889 | + \def\@journalName{ACM Transactions on Intelligent Systems and Technology}% | |
890 | + \def\@journalNameShort{ACM Trans. Intell. Syst. Technol.}% | |
891 | + \def\@permissionCodeOne{2157-6904}% | |
892 | +\or % TKDD | |
893 | + \def\@journalName{ACM Transactions on Knowledge Discovery from Data}% | |
894 | + \def\@journalNameShort{ACM Trans. Knowl. Discov. Data.}% | |
895 | + \def\@permissionCodeOne{1556-4681}% | |
896 | +\or % TMIS | |
897 | + \def\@journalName{ACM Transactions on Management Information Systems}% | |
898 | + \def\@journalNameShort{ACM Trans. Manag. Inform. Syst.}% | |
899 | + \def\@permissionCodeOne{2158-656X}% | |
900 | +\or % TOCE | |
901 | + \def\@journalName{ACM Transactions on Computing Education}% | |
902 | + \def\@journalNameShort{ACM Trans. Comput. Educ.}% | |
903 | + \def\@permissionCodeOne{1946-6226}% | |
904 | +\or % TOCHI | |
905 | + \def\@journalName{ACM Transactions on Computer-Human Interaction}% | |
906 | + \def\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}% | |
907 | + \def\@permissionCodeOne{1073-0516}% | |
908 | +\or % TOCL | |
909 | + \def\@journalName{ACM Transactions on Computational Logic}% | |
910 | + \def\@journalNameShort{ACM Trans. Comput. Logic}% | |
911 | + \def\@permissionCodeOne{1529-3785}% | |
912 | +\or % TOCS | |
913 | + \def\@journalName{ACM Transactions on Computer Systems}% | |
914 | + \def\@journalNameShort{ACM Trans. Comput. Syst.}% | |
915 | + \def\@permissionCodeOne{0734-2071}% | |
916 | +\or % TOCT | |
917 | + \def\@journalName{ACM Transactions on Computation Theory}% | |
918 | + \def\@journalNameShort{ACM Trans. Comput. Theory}% | |
919 | + \def\@permissionCodeOne{1942-3454}% | |
920 | +\or % TODAES | |
921 | + \def\@journalName{ACM Transactions on Design Automation of Electronic Systems}% | |
922 | + \def\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}% | |
923 | + \def\@permissionCodeOne{1084-4309}% | |
924 | +\or % TODS | |
925 | + \def\@journalName{ACM Transactions on Database Systems}% | |
926 | + \def\@journalNameShort{ACM Trans. Datab. Syst.}% | |
927 | + \def\@permissionCodeOne{0362-5915}% | |
928 | +\or % TOG | |
929 | + \def\@journalName{ACM Transactions on Graphics}% | |
930 | + \def\@journalNameShort{ACM Trans. Graph.}% | |
931 | + \def\@permissionCodeOne{0730-0301} | |
932 | +\or % TOIS | |
933 | + \def\@journalName{ACM Transactions on Information Systems}% | |
934 | + \def\@journalName{ACM Transactions on Information Systems}% | |
935 | + \def\@permissionCodeOne{1046-8188}% | |
936 | +\or % TOIT | |
937 | + \def\@journalName{ACM Transactions on Internet Technology}% | |
938 | + \def\@journalNameShort{ACM Trans. Internet Technol.}% | |
939 | + \def\@permissionCodeOne{1533-5399}% | |
940 | +\or % TOMACS | |
941 | + \def\@journalName{ACM Transactions on Modeling and Computer Simulation}% | |
942 | + \def\@journalName{ACM Transactions on Modeling and Computer Simulation}% | |
943 | + \def\@journalNameShort{ACM Trans. Model. Comput. Simul.}% | |
944 | +\or % TOMM | |
945 | + \def\@journalName{ACM Transactions on Multimedia Computing, Communications and Applications}% | |
946 | + \def\@journalNameShort{ACM Trans. Multimedia Comput. Commun. Appl.}% | |
947 | + \def\@permissionCodeOne{1551-6857}% | |
948 | + \def\@permissionCodeTwo{0100}% | |
949 | +\or % TOMPECS | |
950 | + \def\@journalName{ACM Transactions on Modeling and Performance Evaluation of Computing Systems}% | |
951 | + \def\@journalNameShort{ACM Trans. Model. Perform. Eval. Comput. Syst.}% | |
952 | + \def\@permissionCodeOne{2376-3639}% | |
953 | +\or % TOMS | |
954 | + \def\@journalName{ACM Transactions on Mathematical Software}% | |
955 | + \def\@journalNameShort{ACM Trans. Math. Softw.}% | |
956 | + \def\@permissionCodeOne{0098-3500}% | |
957 | +\or % TOPC | |
958 | + \def\@journalName{ACM Transactions on Parallel Computing}% | |
959 | + \def\@journalNameShort{ACM Trans. Parallel Comput.}% | |
960 | + \def\@permissionCodeOne{1539-9087}% | |
961 | +\or % TOPS | |
962 | + \def\@journalName{ACM Transactions on Privacy and Security}% | |
963 | + \def\@journalNameShort{ACM Trans. Priv. Sec.}% | |
964 | + \def\@permissionCodeOne{2471-2566}% | |
965 | +\or % TOPLAS | |
966 | + \def\@journalName{ACM Transactions on Programming Languages and Systems}% | |
967 | + \def\@journalNameShort{ACM Trans. Program. Lang. Syst.}% | |
968 | + \def\@permissionCodeOne{0164-0925}% | |
969 | +\or % TOS | |
970 | + \def\@journalName{ACM Transactions on Storage}% | |
971 | + \def\@journalNameShort{ACM Trans. Storage}% | |
972 | + \def\@permissionCodeOne{1553-3077}% | |
973 | +\or % TOSEM | |
974 | + \def\@journalName{ACM Transactions on Software Engineering and Methodology}% | |
975 | + \def\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}% | |
976 | + \def\@permissionCodeOne{1049-331X}% | |
977 | +\or % TOSN | |
978 | + \def\@journalName{ACM Transactions on Sensor Networks}% | |
979 | + \def\@journalNameShort{ACM Trans. Sensor Netw.}% | |
980 | + \def\@permissionCodeOne{1550-4859}% | |
981 | +\or % TRETS | |
982 | + \def\@journalName{ACM Transactions on Reconfigurable Technology and Systems}% | |
983 | + \def\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}% | |
984 | + \def\@permissionCodeOne{1936-7406}% | |
985 | +\or % TSAS | |
986 | + \def\@journalName{ACM Transactions on Spatial Algorithms and Systems}% | |
987 | + \def\@journalNameShort{ACM Trans. Spatial Algorithms Syst.}% | |
988 | + \def\@permissionCodeOne{2374-0353}% | |
989 | +\or % TSC | |
990 | + \def\@journalName{ACM Transactions on Social Computing}% | |
991 | + \def\@journalNameShort{ACM Trans. Soc. Comput.}% | |
992 | + \def\@permissionCodeOne{2469-7818}% | |
993 | +\or % TSLP | |
994 | + \def\@journalName{ACM Transactions on Speech and Language Processing}% | |
995 | + \def\@journalNameShort{ACM Trans. Speech Lang. Process.}% | |
996 | + \def\@permissionCodeOne{1550-4875}% | |
997 | +\or % TWEB | |
998 | + \def\@journalName{ACM Transactions on the Web}% | |
999 | + \def\@journalNameShort{ACM Trans. Web}% | |
1000 | + \def\@permissionCodeOne{1559-1131}% | |
1001 | +\fi | |
1002 | +\ClassInfo{\@classname}{Using journal code \@journalCode}% | |
1003 | +}{% | |
1004 | + \ClassError{\@classname}{Incorrect journal #1}% | |
1005 | +}% | |
1006 | +\def\acmJournal#1{\setkeys{ACM}{acmJournal=#1}} | |
1007 | +\def\@journalCode@nr{0} | |
1008 | +\def\@journalName{}% | |
1009 | +\def\@journalNameShort{\@journalName}% | |
1010 | +\def\@permissionCodeOne{XXXX-XXXX}% | |
1011 | +\def\@permissionCodeTwo{}% | |
1012 | +\newcommand\acmConference[4][]{% | |
1013 | + \gdef\acmConference@shortname{#1}% | |
1014 | + \gdef\acmConference@name{#2}% | |
1015 | + \gdef\acmConference@date{#3}% | |
1016 | + \gdef\acmConference@venue{#4}% | |
1017 | + \ifx\acmConference@shortname\@empty | |
1018 | + \gdef\acmConference@shortname{#2}% | |
1019 | + \fi} | |
1020 | +\acmConference[Conference'17]{ACM Conference}{July 2017}{Washington, | |
1021 | + DC, USA} | |
1022 | +\def\subtitle#1{\def\@subtitle{#1}} | |
1023 | +\subtitle{} | |
1024 | +\newcount\num@authorgroups | |
1025 | +\num@authorgroups=0\relax | |
1026 | +\newif\if@insideauthorgroup | |
1027 | +\@insideauthorgroupfalse | |
1028 | +\renewcommand\author[2][]{% | |
1029 | + \if@insideauthorgroup\else | |
1030 | + \global\advance\num@authorgroups by 1\relax | |
1031 | + \global\@insideauthorgrouptrue | |
1032 | + \fi | |
1033 | + \ifx\addresses\@empty | |
1034 | + \if@ACM@anonymous | |
1035 | + \gdef\addresses{\@author{Anonymous Author(s)}}% | |
1036 | + \gdef\authors{Anonymous Author(s)}% | |
1037 | + \else | |
1038 | + \gdef\addresses{\@author{#2}}% | |
1039 | + \gdef\authors{#2}% | |
1040 | + \fi | |
1041 | + \else | |
1042 | + \if@ACM@anonymous\else | |
1043 | + \g@addto@macro\addresses{\and\@author{#2}}% | |
1044 | + \g@addto@macro\authors{\and#2}% | |
1045 | + \fi | |
1046 | + \fi | |
1047 | + \if@ACM@anonymous | |
1048 | + \ifx\shortauthors\@empty | |
1049 | + \gdef\shortauthors{Anon.}% | |
1050 | + \fi | |
1051 | + \else | |
1052 | + \def\@tempa{#1}% | |
1053 | + \ifx\@tempa\@empty | |
1054 | + \ifx\shortauthors\@empty | |
1055 | + \gdef\shortauthors{#2}% | |
1056 | + \else | |
1057 | + \g@addto@macro\shortauthors{\and#2}% | |
1058 | + \fi | |
1059 | + \else | |
1060 | + \ifx\shortauthors\@empty | |
1061 | + \gdef\shortauthors{#1}% | |
1062 | + \else | |
1063 | + \g@addto@macro\shortauthors{\and#1}% | |
1064 | + \fi | |
1065 | + \fi | |
1066 | + \fi} | |
1067 | +\newcommand{\affiliation}[2][]{% | |
1068 | + \global\@insideauthorgroupfalse | |
1069 | + \if@ACM@anonymous\else | |
1070 | + \g@addto@macro\addresses{\affiliation{#1}{#2}}% | |
1071 | + \fi} | |
1072 | +\define@boolkey+{@ACM@affiliation@}[@ACM@affiliation@]{obeypunctuation}% | |
1073 | +[true]{}{\ClassError{\@classname}{obeypunctuation must be true or false}} | |
1074 | +\def\additionalaffiliation#1{\authornote{\@additionalaffiliation{#1}}} | |
1075 | +\def\@additionalaffiliation#1{\bgroup | |
1076 | + \def\position##1{\ignorespaces}% | |
1077 | + \def\institution##1{##1\ignorespaces}% | |
1078 | + \def\department{\@ifnextchar[{\@department}{\@department[]}}% | |
1079 | + \def\@department[##1]##2{\unskip, ##2\ignorespaces}% | |
1080 | + \let\streetaddress\position | |
1081 | + \let\city\position | |
1082 | + \let\state\position | |
1083 | + \let\postcode\position | |
1084 | + \let\country\position | |
1085 | + Also with #1\unskip.\egroup} | |
1086 | +\renewcommand{\email}[2][]{% | |
1087 | + \if@ACM@anonymous\else | |
1088 | + \g@addto@macro\addresses{\email{#1}{#2}}% | |
1089 | + \fi} | |
1090 | +\let\orcid\@gobble | |
1091 | +\def\@titlenotes{} | |
1092 | +\def\titlenote#1{% | |
1093 | + \g@addto@macro\@title{\footnotemark}% | |
1094 | + \if@ACM@anonymous | |
1095 | + \g@addto@macro\@titlenotes{% | |
1096 | + \stepcounter{footnote}\footnotetext{Title note}}% | |
1097 | + \else | |
1098 | + \g@addto@macro\@titlenotes{\stepcounter{footnote}\footnotetext{#1}}% | |
1099 | + \fi} | |
1100 | +\def\@subtitlenotes{} | |
1101 | +\def\subtitlenote#1{% | |
1102 | + \g@addto@macro\@subtitle{\footnotemark}% | |
1103 | + \if@ACM@anonymous | |
1104 | + \g@addto@macro\@subtitlenotes{% | |
1105 | + \stepcounter{footnote}\footnotetext{Subtitle note}}% | |
1106 | + \else | |
1107 | + \g@addto@macro\@subtitlenotes{% | |
1108 | + \stepcounter{footnote}\footnotetext{#1}}% | |
1109 | + \fi} | |
1110 | +\def\@authornotes{} | |
1111 | +\def\authornote#1{% | |
1112 | + \if@ACM@anonymous\else | |
1113 | + \g@addto@macro\addresses{\@authornotemark}% | |
1114 | + \g@addto@macro\@authornotes{% | |
1115 | + \stepcounter{footnote}\footnotetext{#1}}% | |
1116 | + \fi} | |
1117 | +\newcommand\authornotemark[1][\relax]{% | |
1118 | + \ifx#1\relax\relax\relax | |
1119 | + \g@addto@macro\addresses{\@authornotemark}% | |
1120 | + \else | |
1121 | + \g@addto@macro\addresses{\@@authornotemark{#1}}% | |
1122 | + \fi} | |
1123 | +\def\acmVolume#1{\def\@acmVolume{#1}} | |
1124 | +\acmVolume{1} | |
1125 | +\def\acmNumber#1{\def\@acmNumber{#1}} | |
1126 | +\acmNumber{1} | |
1127 | +\def\acmArticle#1{\def\@acmArticle{#1}} | |
1128 | +\acmArticle{1} | |
1129 | +\def\acmArticleSeq#1{\def\@acmArticleSeq{#1}} | |
1130 | +\acmArticleSeq{\@acmArticle} | |
1131 | +\def\acmYear#1{\def\@acmYear{#1}} | |
1132 | +\acmYear{\the\year} | |
1133 | +\def\acmMonth#1{\def\@acmMonth{#1}} | |
1134 | +\acmMonth{\the\month} | |
1135 | +\def\@acmPubDate{\ifcase\@acmMonth\or | |
1136 | + January\or February\or March\or April\or May\or June\or | |
1137 | + July\or August\or September\or October\or November\or | |
1138 | + December\fi~\@acmYear} | |
1139 | +\def\acmPrice#1{\def\@acmPrice{#1}} | |
1140 | +\acmPrice{15.00} | |
1141 | +\def\acmSubmissionID#1{\def\@acmSubmissionID{#1}} | |
1142 | +\acmSubmissionID{} | |
1143 | +\def\acmISBN#1{\def\@acmISBN{#1}} | |
1144 | +\acmISBN{978-x-xxxx-xxxx-x/YY/MM} | |
1145 | +\def\acmDOI#1{\def\@acmDOI{#1}} | |
1146 | +\acmDOI{10.1145/nnnnnnn.nnnnnnn} | |
1147 | +\newif\if@ACM@badge | |
1148 | +\@ACM@badgefalse | |
1149 | +\newlength\@ACM@badge@width | |
1150 | +\setlength\@ACM@badge@width{5pc} | |
1151 | +\newlength\@ACM@title@width | |
1152 | +\newlength\@ACM@badge@skip | |
1153 | +\setlength\@ACM@badge@skip{1pc} | |
1154 | +\newcommand\acmBadgeR[2][]{\@ACM@badgetrue | |
1155 | + \def\@acmBadgeR@url{#1}% | |
1156 | + \def\@acmBadgeR@image{#2}} | |
1157 | +\def\@acmBadgeR@url{} | |
1158 | +\def\@acmBadgeR@image{} | |
1159 | +\newcommand\acmBadgeL[2][]{\@ACM@badgetrue | |
1160 | + \def\@acmBadgeL@url{#1}% | |
1161 | + \def\@acmBadgeL@image{#2}} | |
1162 | +\def\@acmBadgeL@url{} | |
1163 | +\def\@acmBadgeL@image{} | |
1164 | +\def\startPage#1{\def\@startPage{#1}} | |
1165 | +\startPage{} | |
1166 | +\def\terms#1{\ClassWarning{\@classname}{The command \string\terms{} is | |
1167 | + obsolete. I am going to ignore it}} | |
1168 | +\def\keywords#1{\def\@keywords{#1}} | |
1169 | +\keywords{} | |
1170 | +\renewenvironment{abstract}{\Collect@Body\@saveabstract}{} | |
1171 | +\long\def\@saveabstract#1{\long\gdef\@abstract{#1}} | |
1172 | +\@saveabstract{} | |
1173 | +\long\def\@lempty{} | |
1174 | +\define@boolkey+{@ACM@topmatter@}[@ACM@]{printccs}[true]{% | |
1175 | + \if@ACM@printccs | |
1176 | + \ClassInfo{\@classname}{Printing CCS}% | |
1177 | + \else | |
1178 | + \ClassInfo{\@classname}{Suppressing CCS}% | |
1179 | + \fi}{\ClassError{\@classname}{printccs must be true or false}} | |
1180 | +\define@boolkey+{@ACM@topmatter@}[@ACM@]{printacmref}[true]{% | |
1181 | + \if@ACM@printacmref | |
1182 | + \ClassInfo{\@classname}{Printing bibformat}% | |
1183 | + \else | |
1184 | + \ClassInfo{\@classname}{Suppressing bibformat}% | |
1185 | + \fi}{\ClassError{\@classname}{printacmref must be true or false}} | |
1186 | +\define@boolkey+{@ACM@topmatter@}[@ACM@]{printfolios}[true]{% | |
1187 | + \if@ACM@printfolios | |
1188 | + \ClassInfo{\@classname}{Printing folios}% | |
1189 | + \else | |
1190 | + \ClassInfo{\@classname}{Suppressing folios}% | |
1191 | + \fi}{\ClassError{\@classname}{printfolios must be true or false}} | |
1192 | +\define@cmdkey{@ACM@topmatter@}[@ACM@]{authorsperrow}[0]{% | |
1193 | + \IfInteger{#1}{\ClassInfo{\@classname}{Setting authorsperrow to | |
1194 | + #1}}{\ClassWarning{\@classname}{Parameter authorsperrow must be | |
1195 | + numerical. Ignoring the input #1}\gdef\@ACM@authorsperrow{0}}} | |
1196 | +\def\settopmatter#1{\setkeys{@ACM@topmatter@}{#1}} | |
1197 | +\settopmatter{printccs=true, printacmref=true} | |
1198 | +\if@ACM@manuscript | |
1199 | + \settopmatter{printfolios=true} | |
1200 | +\else | |
1201 | + \if@ACM@journal | |
1202 | + \settopmatter{printfolios=true} | |
1203 | + \else | |
1204 | + \settopmatter{printfolios=false} | |
1205 | + \fi | |
1206 | +\fi | |
1207 | +\settopmatter{authorsperrow=0} | |
1208 | +\def\@received{} | |
1209 | +\newcommand\received[2][]{\def\@tempa{#1}% | |
1210 | + \ifx\@tempa\@empty | |
1211 | + \ifx\@received\@empty | |
1212 | + \gdef\@received{Received #2}% | |
1213 | + \else | |
1214 | + \g@addto@macro{\@received}{; revised #2}% | |
1215 | + \fi | |
1216 | + \else | |
1217 | + \ifx\@received\@empty | |
1218 | + \gdef\@received{#1 #2}% | |
1219 | + \else | |
1220 | + \g@addto@macro{\@received}{; #1 #2}% | |
1221 | + \fi | |
1222 | + \fi} | |
1223 | +\AtEndDocument{% | |
1224 | + \ifx\@received\@empty\else | |
1225 | + \par\bigskip\noindent\small\normalfont\@received\par | |
1226 | + \fi} | |
1227 | +\RequirePackage{comment} | |
1228 | +\excludecomment{CCSXML} | |
1229 | +\let\@concepts\@empty | |
1230 | +\newcommand\ccsdesc[2][100]{% | |
1231 | + \ccsdesc@parse#1~#2~} | |
1232 | +\RequirePackage{textcomp} | |
1233 | +\def\ccsdesc@parse#1~#2~#3~{% | |
1234 | + \expandafter\ifx\csname CCS@#2\endcsname\relax | |
1235 | + \expandafter\gdef\csname CCS@#2\endcsname{\textbullet\ \textbf{#2} \textrightarrow\ }% | |
1236 | + \g@addto@macro{\@concepts}{\csname CCS@#2\endcsname}\fi | |
1237 | + \expandafter\g@addto@macro\expandafter{\csname CCS@#2\endcsname}{% | |
1238 | + \ifnum#1>499\textbf{#3}; \else | |
1239 | + \ifnum#1>299\textit{#3}; \else | |
1240 | + #3; \fi\fi}} | |
1241 | +\newif\if@printcopyright | |
1242 | +\@printcopyrighttrue | |
1243 | +\newif\if@printpermission | |
1244 | +\@printpermissiontrue | |
1245 | +\newif\if@acmowned | |
1246 | +\@acmownedtrue | |
1247 | +\define@choicekey*{ACM@}{acmcopyrightmode}[% | |
1248 | + \acm@copyrightinput\acm@copyrightmode]{none,acmcopyright,acmlicensed,% | |
1249 | + rightsretained,usgov,usgovmixed,cagov,cagovmixed,% | |
1250 | + licensedusgovmixed,licensedcagovmixed,othergov,licensedothergov}{% | |
1251 | + \@printpermissiontrue | |
1252 | + \@printcopyrighttrue | |
1253 | + \@acmownedtrue | |
1254 | + \ifnum\acm@copyrightmode=0\relax % none | |
1255 | + \@printpermissionfalse | |
1256 | + \@printcopyrightfalse | |
1257 | + \@acmownedfalse | |
1258 | + \fi | |
1259 | + \ifnum\acm@copyrightmode=2\relax % acmlicensed | |
1260 | + \@acmownedfalse | |
1261 | + \fi | |
1262 | + \ifnum\acm@copyrightmode=3\relax % rightsretained | |
1263 | + \@acmownedfalse | |
1264 | + \acmPrice{}% | |
1265 | + \fi | |
1266 | + \ifnum\acm@copyrightmode=4\relax % usgov | |
1267 | + \@printpermissiontrue | |
1268 | + \@printcopyrightfalse | |
1269 | + \@acmownedfalse | |
1270 | + \acmPrice{}% | |
1271 | + \fi | |
1272 | + \ifnum\acm@copyrightmode=6\relax % cagov | |
1273 | + \@acmownedfalse | |
1274 | + \fi | |
1275 | + \ifnum\acm@copyrightmode=8\relax % licensedusgovmixed | |
1276 | + \@acmownedfalse | |
1277 | + \fi | |
1278 | + \ifnum\acm@copyrightmode=9\relax % licensedcagovmixed | |
1279 | + \@acmownedfalse | |
1280 | + \fi | |
1281 | + \ifnum\acm@copyrightmode=10\relax % othergov | |
1282 | + \@acmownedtrue | |
1283 | + \fi | |
1284 | + \ifnum\acm@copyrightmode=11\relax % licensedothergov | |
1285 | + \@acmownedfalse | |
1286 | + \fi} | |
1287 | +\def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}} | |
1288 | +\setcopyright{acmcopyright} | |
1289 | +\def\@copyrightowner{% | |
1290 | + \ifcase\acm@copyrightmode\relax % none | |
1291 | + \or % acmcopyright | |
1292 | + Association for Computing Machinery. | |
1293 | + \or % acmlicensed | |
1294 | + Copyright held by the owner/author(s). Publication rights licensed to | |
1295 | + Association for Computing Machinery. | |
1296 | + \or % rightsretained | |
1297 | + Copyright held by the owner/author(s). | |
1298 | + \or % usgov | |
1299 | + \or % usgovmixed | |
1300 | + Association for Computing Machinery. | |
1301 | + \or % cagov | |
1302 | + Crown in Right of Canada. | |
1303 | + \or %cagovmixed | |
1304 | + Association for Computing Machinery. | |
1305 | + \or %licensedusgovmixed | |
1306 | + Copyright held by the owner/author(s). Publication rights licensed to | |
1307 | + Association for Computing Machinery. | |
1308 | + \or %licensedcagovmixed | |
1309 | + Copyright held by the owner/author(s). Publication rights licensed to | |
1310 | + Association for Computing Machinery. | |
1311 | + \or % othergov | |
1312 | + Association for Computing Machinery. | |
1313 | + \or % licensedothergov | |
1314 | + Copyright held by the owner/author(s). Publication rights licensed to | |
1315 | + Association for Computing Machinery. | |
1316 | + \fi} | |
1317 | +\def\@formatdoi#1{\url{https://doi.org/#1}} | |
1318 | +\def\@copyrightpermission{% | |
1319 | + \ifcase\acm@copyrightmode\relax % none | |
1320 | + \or % acmcopyright | |
1321 | + Permission to make digital or hard copies of all or part of this | |
1322 | + work for personal or classroom use is granted without fee provided | |
1323 | + that copies are not made or distributed for profit or commercial | |
1324 | + advantage and that copies bear this notice and the full citation on | |
1325 | + the first page. Copyrights for components of this work owned by | |
1326 | + others than ACM must be honored. Abstracting with credit is | |
1327 | + permitted. To copy otherwise, or republish, to post on servers or to | |
1328 | + redistribute to lists, requires prior specific permission | |
1329 | + and\hspace*{.5pt}/or a fee. Request permissions from | |
1330 | + permissions@acm.org. | |
1331 | + \or % acmlicensed | |
1332 | + Permission to make digital or hard copies of all or part of this | |
1333 | + work for personal or classroom use is granted without fee provided | |
1334 | + that copies are not made or distributed for profit or commercial | |
1335 | + advantage and that copies bear this notice and the full citation on | |
1336 | + the first page. Copyrights for components of this work owned by | |
1337 | + others than the author(s) must be honored. Abstracting with credit | |
1338 | + is permitted. To copy otherwise, or republish, to post on servers | |
1339 | + or to redistribute to lists, requires prior specific permission | |
1340 | + and\hspace*{.5pt}/or a fee. Request permissions from | |
1341 | + permissions@acm.org. | |
1342 | + \or % rightsretained | |
1343 | + Permission to make digital or hard copies of part or all of this work | |
1344 | + for personal or classroom use is granted without fee provided that | |
1345 | + copies are not made or distributed for profit or commercial advantage | |
1346 | + and that copies bear this notice and the full citation on the first | |
1347 | + page. Copyrights for third-party components of this work must be | |
1348 | + honored. For all other uses, contact the | |
1349 | + owner\hspace*{.5pt}/author(s). | |
1350 | + \or % usgov | |
1351 | + This paper is authored by an employee(s) of the United States | |
1352 | + Government and is in the public domain. Non-exclusive copying or | |
1353 | + redistribution is allowed, provided that the article citation is | |
1354 | + given and the authors and agency are clearly identified as its | |
1355 | + source. | |
1356 | + \or % usgovmixed | |
1357 | + ACM acknowledges that this contribution was authored or co-authored | |
1358 | + by an employee, or contractor of the national government. As such, | |
1359 | + the Government retains a nonexclusive, royalty-free right to | |
1360 | + publish or reproduce this article, or to allow others to do so, for | |
1361 | + Government purposes only. Permission to make digital or hard copies | |
1362 | + for personal or classroom use is granted. Copies must bear this | |
1363 | + notice and the full citation on the first page. Copyrights for | |
1364 | + components of this work owned by others than ACM must be | |
1365 | + honored. To copy otherwise, distribute, republish, or post, | |
1366 | + requires prior specific permission and\hspace*{.5pt}/or a | |
1367 | + fee. Request permissions from permissions@acm.org. | |
1368 | + \or % cagov | |
1369 | + This article was authored by employees of the Government of Canada. | |
1370 | + As such, the Canadian government retains all interest in the | |
1371 | + copyright to this work and grants to ACM a nonexclusive, | |
1372 | + royalty-free right to publish or reproduce this article, or to allow | |
1373 | + others to do so, provided that clear attribution is given both to | |
1374 | + the authors and the Canadian government agency employing them. | |
1375 | + Permission to make digital or hard copies for personal or classroom | |
1376 | + use is granted. Copies must bear this notice and the full citation | |
1377 | + on the first page. Copyrights for components of this work owned by | |
1378 | + others than the Canadain Government must be honored. To copy | |
1379 | + otherwise, distribute, republish, or post, requires prior specific | |
1380 | + permission and\hspace*{.5pt}/or a fee. Request permissions from | |
1381 | + permissions@acm.org. | |
1382 | + \or % cagovmixed | |
1383 | + ACM acknowledges that this contribution was co-authored by an | |
1384 | + affiliate of the national government of Canada. As such, the Crown | |
1385 | + in Right of Canada retains an equal interest in the copyright. | |
1386 | + Reprints must include clear attribution to ACM and the author's | |
1387 | + government agency affiliation. Permission to make digital or hard | |
1388 | + copies for personal or classroom use is granted. Copies must bear | |
1389 | + this notice and the full citation on the first page. Copyrights for | |
1390 | + components of this work owned by others than ACM must be honored. | |
1391 | + To copy otherwise, distribute, republish, or post, requires prior | |
1392 | + specific permission and\hspace*{.5pt}/or a fee. Request permissions | |
1393 | + from permissions@acm.org. | |
1394 | + \or % licensedusgovmixed | |
1395 | + Publication rights licensed to ACM\@. ACM acknowledges that this | |
1396 | + contribution was authored or co-authored by an employee, contractor | |
1397 | + or affiliate of the United States government. As such, the | |
1398 | + Government retains a nonexclusive, royalty-free right to publish or | |
1399 | + reproduce this article, or to allow others to do so, for Government | |
1400 | + purposes only. | |
1401 | + \or % licensedcagovmixed | |
1402 | + Publication rights licensed to ACM\@. ACM acknowledges that this | |
1403 | + contribution was authored or co-authored by an employee, contractor | |
1404 | + or affiliate of the national government of Canada. As such, the | |
1405 | + Government retains a nonexclusive, royalty-free right to publish or | |
1406 | + reproduce this article, or to allow others to do so, for Government | |
1407 | + purposes only. | |
1408 | + \or % othergov | |
1409 | + ACM acknowledges that this contribution was authored or co-authored | |
1410 | + by an employee, contractor or affiliate of a national government. As | |
1411 | + such, the Government retains a nonexclusive, royalty-free right to | |
1412 | + publish or reproduce this article, or to allow others to do so, for | |
1413 | + Government purposes only. | |
1414 | + \or % licensedothergov | |
1415 | + Publication rights licensed to ACM\@. ACM acknowledges that this | |
1416 | + contribution was authored or co-authored by an employee, contractor | |
1417 | + or affiliate of a national government. As such, the Government | |
1418 | + retains a nonexclusive, royalty-free right to publish or reproduce | |
1419 | + this article, or to allow others to do so, for Government purposes | |
1420 | + only. | |
1421 | + \fi} | |
1422 | +\def\copyrightyear#1{\def\@copyrightyear{#1}} | |
1423 | +\copyrightyear{\@acmYear} | |
1424 | +\def\@teaserfigures{} | |
1425 | +\newenvironment{teaserfigure}{\Collect@Body\@saveteaser}{} | |
1426 | +\long\def\@saveteaser#1{\g@addto@macro\@teaserfigures{\@teaser{#1}}} | |
1427 | +\renewcommand{\thanks}[1]{% | |
1428 | + \@ifnotempty{#1}{% | |
1429 | + \if@ACM@anonymous | |
1430 | + \g@addto@macro\thankses{\thanks{A note}}% | |
1431 | + \else | |
1432 | + \g@addto@macro\thankses{\thanks{#1}}% | |
1433 | + \fi}} | |
1434 | +\newbox\mktitle@bx | |
1435 | +\def\maketitle{% | |
1436 | + \if@ACM@anonymous | |
1437 | + % Anonymize omission of \author-s | |
1438 | + \ifnum\num@authorgroups=0\author{}\fi | |
1439 | + \fi | |
1440 | + \begingroup | |
1441 | + \let\@footnotemark\@footnotemark@nolink | |
1442 | + \let\@footnotetext\@footnotetext@nolink | |
1443 | + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% | |
1444 | + \global\@topnum\z@ % this prevents floats from falling | |
1445 | + % at the top of page 1 | |
1446 | + \global\@botnum\z@ % we do not want them to be on bottom either | |
1447 | + \hsize=\textwidth | |
1448 | + \def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}% | |
1449 | + \@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers | |
1450 | + \@printtopmatter | |
1451 | + \if@ACM@sigchiamode\@mkauthors\fi | |
1452 | + \setcounter{footnote}{0}% | |
1453 | + \def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}% | |
1454 | + \@titlenotes | |
1455 | + \@subtitlenotes | |
1456 | + \@authornotes | |
1457 | + \let\@makefnmark\relax \let\@thefnmark\relax | |
1458 | + \let\@makefntext\noindent | |
1459 | + \ifx\@empty\thankses\else | |
1460 | + \footnotetextcopyrightpermission{% | |
1461 | + \def\par{\let\par\@par}\parindent\z@\@setthanks}% | |
1462 | + \fi | |
1463 | + \footnotetextcopyrightpermission{% | |
1464 | + \if@ACM@authordraft | |
1465 | + \raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries | |
1466 | + Unpublished | |
1467 | + working draft. Not for distribution}}% | |
1468 | + \color[gray]{0.9}% | |
1469 | + \fi | |
1470 | + \parindent\z@\parskip0.1\baselineskip | |
1471 | + \if@ACM@authorversion\else | |
1472 | + \if@printpermission\@copyrightpermission\par\fi | |
1473 | + \fi | |
1474 | + \if@ACM@manuscript\else | |
1475 | + \if@ACM@journal\else % Print the conference information | |
1476 | + {\itshape \acmConference@shortname, \acmConference@date, \acmConference@venue}\par | |
1477 | + \fi | |
1478 | + \fi | |
1479 | + \if@printcopyright | |
1480 | + \copyright\ \@copyrightyear\ \@copyrightowner\\ | |
1481 | + \else | |
1482 | + \@copyrightyear.\ | |
1483 | + \fi | |
1484 | + \if@ACM@manuscript | |
1485 | + Manuscript submitted to ACM\\ | |
1486 | + \else | |
1487 | + \if@ACM@authorversion | |
1488 | + This is the author's version of the work. It is posted here for | |
1489 | + your personal use. Not for redistribution. The definitive Version | |
1490 | + of Record was published in | |
1491 | + \if@ACM@journal | |
1492 | + \emph{\@journalName}% | |
1493 | + \else | |
1494 | + \emph{Proceedings of \acmConference@name, \acmConference@date}% | |
1495 | + \fi | |
1496 | + \ifx\@acmDOI\@empty | |
1497 | + . | |
1498 | + \else | |
1499 | + , \@formatdoi{\@acmDOI}. | |
1500 | + \fi\\ | |
1501 | + \else | |
1502 | + \if@ACM@journal | |
1503 | + \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle | |
1504 | + \ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\ | |
1505 | + \@formatdoi{\@acmDOI}% | |
1506 | + \else % Conference | |
1507 | + ACM~ISBN~\@acmISBN | |
1508 | + \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\ | |
1509 | + \@formatdoi{\@acmDOI}% | |
1510 | + \fi | |
1511 | + \fi | |
1512 | + \fi} | |
1513 | + \endgroup | |
1514 | + \setcounter{footnote}{0}% | |
1515 | + \@mkabstract | |
1516 | + \if@ACM@printccs | |
1517 | + \ifx\@concepts\@empty\else\bgroup | |
1518 | + {\@specialsection{CCS Concepts}% | |
1519 | + \@concepts\par}\egroup | |
1520 | + \fi | |
1521 | + \fi | |
1522 | + \ifx\@keywords\@empty\else\bgroup | |
1523 | + {\if@ACM@journal | |
1524 | + \@specialsection{Additional Key Words and Phrases}% | |
1525 | + \else | |
1526 | + \@specialsection{Keywords}% | |
1527 | + \fi | |
1528 | + \@keywords}\par\egroup | |
1529 | + \fi | |
1530 | + \andify\authors | |
1531 | + \andify\shortauthors | |
1532 | + \global\let\authors=\authors | |
1533 | + \global\let\shortauthors=\shortauthors | |
1534 | + \if@ACM@printacmref | |
1535 | + \@mkbibcitation | |
1536 | + \fi | |
1537 | + \hypersetup{pdfauthor={\authors}, | |
1538 | + pdftitle={\@title}, pdfkeywords={\@concepts}}% | |
1539 | + \@printendtopmatter | |
1540 | + \@afterindentfalse | |
1541 | + \@afterheading | |
1542 | +} | |
1543 | +\def\@specialsection#1{% | |
1544 | + \ifcase\ACM@format@nr | |
1545 | + \relax % manuscript | |
1546 | + \par\medskip\small\noindent#1: % | |
1547 | + \or % acmsmall | |
1548 | + \par\medskip\small\noindent#1: % | |
1549 | + \or % acmlarge | |
1550 | + \par\medskip\small\noindent#1: % | |
1551 | + \or % acmtog | |
1552 | + \par\medskip\small\noindent#1: % | |
1553 | + \or % sigconf | |
1554 | + \section*{#1}% | |
1555 | + \or % siggraph | |
1556 | + \section*{#1}% | |
1557 | + \or % sigplan | |
1558 | + \paragraph*{#1}% | |
1559 | + \or % sigchi | |
1560 | + \section*{#1}% | |
1561 | + \or % sigchi-a | |
1562 | + \section*{#1}% | |
1563 | + \fi} | |
1564 | +\def\@printtopmatter{% | |
1565 | + \ifx\@startPage\@empty | |
1566 | + \gdef\@startPage{1}% | |
1567 | + \else | |
1568 | + \setcounter{page}{\@startPage}% | |
1569 | + \fi | |
1570 | + \thispagestyle{firstpagestyle}% | |
1571 | + \noindent | |
1572 | + \ifcase\ACM@format@nr | |
1573 | + \relax % manuscript | |
1574 | + \box\mktitle@bx\par | |
1575 | + \noindent\hrulefill\par | |
1576 | + \or % acmsmall | |
1577 | + \box\mktitle@bx\par | |
1578 | + \noindent\hrulefill\par | |
1579 | + \or % acmlarge | |
1580 | + \box\mktitle@bx\par | |
1581 | + \noindent\hrulefill\par | |
1582 | + \or % acmtog | |
1583 | + \twocolumn[\box\mktitle@bx]% | |
1584 | + \or % sigconf | |
1585 | + \twocolumn[\box\mktitle@bx]% | |
1586 | + \or % siggraph | |
1587 | + \twocolumn[\box\mktitle@bx]% | |
1588 | + \or % sigplan | |
1589 | + \twocolumn[\box\mktitle@bx]% | |
1590 | + \or % sigchi | |
1591 | + \twocolumn[\box\mktitle@bx]% | |
1592 | + \or % sigchi-a | |
1593 | + \par\box\mktitle@bx\par\bigskip | |
1594 | + \if@ACM@badge | |
1595 | + \marginpar{\noindent | |
1596 | + \ifx\@acmBadgeL@image\@empty\else | |
1597 | + \href{\@acmBadgeL@url}{% | |
1598 | + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}% | |
1599 | + \hskip\@ACM@badge@skip | |
1600 | + \fi | |
1601 | + \ifx\@acmBadgeR@image\@empty\else | |
1602 | + \href{\@acmBadgeR@url}{% | |
1603 | + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}% | |
1604 | + \fi}% | |
1605 | + \fi | |
1606 | + \fi | |
1607 | +} | |
1608 | +\def\@mktitle{% | |
1609 | + \ifcase\ACM@format@nr | |
1610 | + \relax % manuscript | |
1611 | + \@mktitle@i | |
1612 | + \or % acmsmall | |
1613 | + \@mktitle@i | |
1614 | + \or % acmlarge | |
1615 | + \@mktitle@i | |
1616 | + \or % acmtog | |
1617 | + \@mktitle@i | |
1618 | + \or % sigconf | |
1619 | + \@mktitle@iii | |
1620 | + \or % siggraph | |
1621 | + \@mktitle@iii | |
1622 | + \or % sigplan | |
1623 | + \@mktitle@iii | |
1624 | + \or % sigchi | |
1625 | + \@mktitle@iii | |
1626 | + \or % sigchi-a | |
1627 | + \@mktitle@iv | |
1628 | + \fi | |
1629 | +} | |
1630 | +\def\@titlefont{% | |
1631 | + \ifcase\ACM@format@nr | |
1632 | + \relax % manuscript | |
1633 | + \LARGE\bfseries\sffamily | |
1634 | + \or % acmsmall | |
1635 | + \LARGE\bfseries\sffamily | |
1636 | + \or % acmlarge | |
1637 | + \LARGE\bfseries\sffamily | |
1638 | + \or % acmtog | |
1639 | + \Huge\sffamily | |
1640 | + \or % sigconf | |
1641 | + \Huge\sffamily\bfseries | |
1642 | + \or % siggraph | |
1643 | + \Huge\sffamily\bfseries | |
1644 | + \or % sigplan | |
1645 | + \Huge\bfseries | |
1646 | + \or % sigchi | |
1647 | + \Huge\sffamily\bfseries | |
1648 | + \or % sigchi-a | |
1649 | + \Huge\bfseries | |
1650 | + \fi} | |
1651 | +\def\@subtitlefont{\normalsize | |
1652 | + \ifcase\ACM@format@nr | |
1653 | + \relax % manuscript | |
1654 | + \mdseries | |
1655 | + \or % acmsmall | |
1656 | + \mdseries | |
1657 | + \or % acmlarge | |
1658 | + \mdseries | |
1659 | + \or % acmtog | |
1660 | + \LARGE | |
1661 | + \or % sigconf | |
1662 | + \LARGE\mdseries | |
1663 | + \or % siggraph | |
1664 | + \LARGE\mdseries | |
1665 | + \or % sigplan | |
1666 | + \LARGE\mdseries | |
1667 | + \or % sigchi | |
1668 | + \LARGE\mdseries | |
1669 | + \or % sigchi-a | |
1670 | + \mdseries | |
1671 | + \fi} | |
1672 | +\def\@mktitle@i{\hsize=\textwidth | |
1673 | + \@ACM@title@width=\hsize | |
1674 | + \ifx\@acmBadgeL@image\@empty\else | |
1675 | + \advance\@ACM@title@width by -\@ACM@badge@width | |
1676 | + \advance\@ACM@title@width by -\@ACM@badge@skip | |
1677 | + \fi | |
1678 | + \ifx\@acmBadgeR@image\@empty\else | |
1679 | + \advance\@ACM@title@width by -\@ACM@badge@width | |
1680 | + \advance\@ACM@title@width by -\@ACM@badge@skip | |
1681 | + \fi | |
1682 | + \setbox\mktitle@bx=\vbox{\noindent\@titlefont | |
1683 | + \ifx\@acmBadgeL@image\@empty\else | |
1684 | + \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{% | |
1685 | + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}% | |
1686 | + \hskip\@ACM@badge@skip | |
1687 | + \fi | |
1688 | + \parbox[t]{\@ACM@title@width}{\raggedright | |
1689 | + \@titlefont\noindent | |
1690 | + \@title | |
1691 | + \ifx\@subtitle\@empty\else | |
1692 | + \par\noindent{\@subtitlefont\@subtitle} | |
1693 | + \fi}% | |
1694 | + \ifx\@acmBadgeR@image\@empty\else | |
1695 | + \hskip\@ACM@badge@skip | |
1696 | + \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{% | |
1697 | + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}% | |
1698 | + \fi | |
1699 | + \par\bigskip}}% | |
1700 | +\def\@mktitle@iii{\hsize=\textwidth | |
1701 | + \setbox\mktitle@bx=\vbox{\@titlefont\centering | |
1702 | + \@ACM@title@width=\hsize | |
1703 | + \if@ACM@badge | |
1704 | + \advance\@ACM@title@width by -2\@ACM@badge@width | |
1705 | + \advance\@ACM@title@width by -2\@ACM@badge@skip | |
1706 | + \parbox[b]{\@ACM@badge@width}{\strut | |
1707 | + \ifx\@acmBadgeL@image\@empty\else | |
1708 | + \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{% | |
1709 | + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}% | |
1710 | + \fi}% | |
1711 | + \hskip\@ACM@badge@skip | |
1712 | + \fi | |
1713 | + \parbox[t]{\@ACM@title@width}{\centering\@titlefont | |
1714 | + \@title | |
1715 | + \ifx\@subtitle\@empty\else | |
1716 | + \par\noindent{\@subtitlefont\@subtitle} | |
1717 | + \fi | |
1718 | + }% | |
1719 | + \if@ACM@badge | |
1720 | + \hskip\@ACM@badge@skip | |
1721 | + \parbox[b]{\@ACM@badge@width}{\strut | |
1722 | + \ifx\@acmBadgeR@image\@empty\else | |
1723 | + \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{% | |
1724 | + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}% | |
1725 | + \fi}% | |
1726 | + \fi | |
1727 | + \par\bigskip}}% | |
1728 | +\def\@mktitle@iv{\hsize=\textwidth | |
1729 | + \setbox\mktitle@bx=\vbox{\raggedright\leftskip5pc\@titlefont | |
1730 | + \noindent\leavevmode\leaders\hrule height 2pt\hfill\kern0pt\par | |
1731 | + \noindent\@title | |
1732 | + \ifx\@subtitle\@empty\else | |
1733 | + \par\noindent\@subtitlefont\@subtitle | |
1734 | + \fi | |
1735 | + \par\bigskip}}% | |
1736 | +\newbox\@ACM@commabox | |
1737 | +\def\@ACM@addtoaddress#1{% | |
1738 | + \ifvmode\else | |
1739 | + \if@ACM@affiliation@obeypunctuation\else | |
1740 | + \setbox\@ACM@commabox=\hbox{, }% | |
1741 | + \unskip\cleaders\copy\@ACM@commabox\hskip\wd\@ACM@commabox | |
1742 | + \fi\fi | |
1743 | + #1} | |
1744 | +\if@ACM@journal | |
1745 | + \let\position\@gobble | |
1746 | + \def\institution#1{#1\ignorespaces}% | |
1747 | + \newcommand\department[2][0]{}% | |
1748 | + \let\streetaddress\@gobble | |
1749 | + \let\city\@gobble | |
1750 | + \let\state\@gobble | |
1751 | + \let\postcode\@gobble | |
1752 | + \let\country\@gobble | |
1753 | +\else | |
1754 | + \def\position#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}% | |
1755 | + \def\institution#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}% | |
1756 | + \newcommand\department[2][0]{\if@ACM@affiliation@obeypunctuation | |
1757 | + #2\else#2\par\fi}% | |
1758 | + \def\streetaddress#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}% | |
1759 | + \let\city\@ACM@addtoaddress | |
1760 | + \let\state\@ACM@addtoaddress | |
1761 | + \def\postcode#1{\if@ACM@affiliation@obeypunctuation#1\else\unskip\space#1\fi}% | |
1762 | + \let\country\@ACM@addtoaddress | |
1763 | +\fi | |
1764 | +\def\@mkauthors{\begingroup | |
1765 | + \hsize=\textwidth | |
1766 | + \ifcase\ACM@format@nr | |
1767 | + \relax % manuscript | |
1768 | + \@mkauthors@i | |
1769 | + \or % acmsmall | |
1770 | + \@mkauthors@i | |
1771 | + \or % acmlarge | |
1772 | + \@mkauthors@i | |
1773 | + \or % acmtog | |
1774 | + \@mkauthors@i | |
1775 | + \or % sigconf | |
1776 | + \@mkauthors@iii | |
1777 | + \or % siggraph | |
1778 | + \@mkauthors@iii | |
1779 | + \or % sigplan | |
1780 | + \@mkauthors@iii | |
1781 | + \or % sigchi | |
1782 | + \@mkauthors@iii | |
1783 | + \or % sigchi-a | |
1784 | + \@mkauthors@iv | |
1785 | + \fi | |
1786 | + \endgroup | |
1787 | +} | |
1788 | +\def\@authorfont{\Large\sffamily} | |
1789 | +\def\@affiliationfont{\normalsize\normalfont} | |
1790 | +\ifcase\ACM@format@nr | |
1791 | +\relax % manuscript | |
1792 | +\or % acmsmall | |
1793 | + \def\@authorfont{\large\sffamily} | |
1794 | + \def\@affiliationfont{\small\normalfont} | |
1795 | +\or % acmlarge | |
1796 | +\or % acmtog | |
1797 | + \def\@authorfont{\LARGE\sffamily} | |
1798 | + \def\@affiliationfont{\large} | |
1799 | +\or % sigconf | |
1800 | + \def\@authorfont{\LARGE} | |
1801 | + \def\@affiliationfont{\large} | |
1802 | +\or % siggraph | |
1803 | + \def\@authorfont{\normalsize\normalfont} | |
1804 | + \def\@affiliationfont{\normalsize\normalfont} | |
1805 | +\or % sigplan | |
1806 | + \def\@authorfont{\Large\normalfont} | |
1807 | + \def\@affiliationfont{\normalsize\normalfont} | |
1808 | +\or % sigchi | |
1809 | + \def\@authorfont{\bfseries} | |
1810 | + \def\@affiliationfont{\mdseries} | |
1811 | +\or % sigchi-a | |
1812 | + \def\@authorfont{\bfseries} | |
1813 | + \def\@affiliationfont{\mdseries} | |
1814 | +\fi | |
1815 | +\def\@typeset@author@line{% | |
1816 | + \andify\@currentauthors\par\noindent | |
1817 | + \@currentauthors\def\@currentauthors{}% | |
1818 | + \ifx\@currentaffiliations\@empty\else | |
1819 | + \andify\@currentaffiliations | |
1820 | + \unskip, {\@currentaffiliations}\par | |
1821 | + \fi | |
1822 | + \def\@currentaffiliations{}} | |
1823 | +\def\@mkauthors@i{% | |
1824 | + \def\@currentauthors{}% | |
1825 | + \def\@currentaffiliations{}% | |
1826 | + \global\let\and\@typeset@author@line | |
1827 | + \def\@author##1{% | |
1828 | + \ifx\@currentauthors\@empty | |
1829 | + \gdef\@currentauthors{\@authorfont\MakeUppercase{##1}}% | |
1830 | + \else | |
1831 | + \g@addto@macro{\@currentauthors}{\and\MakeUppercase{##1}}% | |
1832 | + \fi | |
1833 | + \gdef\and{}}% | |
1834 | + \def\email##1##2{}% | |
1835 | + \def\affiliation##1##2{% | |
1836 | + \def\@tempa{##2}\ifx\@tempa\@empty\else | |
1837 | + \ifx\@currentaffiliations\@empty | |
1838 | + \gdef\@currentaffiliations{% | |
1839 | + \setkeys{@ACM@affiliation@}{obeypunctuation=false}% | |
1840 | + \setkeys{@ACM@affiliation@}{##1}% | |
1841 | + \@affiliationfont##2}% | |
1842 | + \else | |
1843 | + \g@addto@macro{\@currentaffiliations}{\and | |
1844 | + \setkeys{@ACM@affiliation@}{obeypunctuation=false}% | |
1845 | + \setkeys{@ACM@affiliation@}{##1}##2}% | |
1846 | + \fi | |
1847 | + \fi | |
1848 | + \global\let\and\@typeset@author@line}% | |
1849 | + \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par\medskip | |
1850 | + \noindent\addresses\@typeset@author@line | |
1851 | + \par\medskip}% | |
1852 | +} | |
1853 | +\newbox\author@bx | |
1854 | +\newdimen\author@bx@wd | |
1855 | +\newskip\author@bx@sep | |
1856 | +\author@bx@sep=1pc\relax | |
1857 | +\def\@typeset@author@bx{\bgroup\hsize=\author@bx@wd\def\and{\par}% | |
1858 | + \global\setbox\author@bx=\vtop{\if@ACM@sigchiamode\else\centering\fi | |
1859 | + \@authorfont\@currentauthors\par\@affiliationfont | |
1860 | + \@currentaffiliation}\egroup | |
1861 | + \box\author@bx\hspace{\author@bx@sep}% | |
1862 | + \gdef\@currentauthors{}% | |
1863 | + \gdef\@currentaffiliation{}} | |
1864 | +\def\@mkauthors@iii{% | |
1865 | + \author@bx@wd=\textwidth\relax | |
1866 | + \advance\author@bx@wd by -\author@bx@sep\relax | |
1867 | + \ifnum\@ACM@authorsperrow>0\relax | |
1868 | + \divide\author@bx@wd by \@ACM@authorsperrow\relax | |
1869 | + \else | |
1870 | + \ifcase\num@authorgroups | |
1871 | + \relax % 0? | |
1872 | + \or % 1=one author per row | |
1873 | + \or % 2=two authors per row | |
1874 | + \divide\author@bx@wd by \num@authorgroups\relax | |
1875 | + \or % 3=three authors per row | |
1876 | + \divide\author@bx@wd by \num@authorgroups\relax | |
1877 | + \or % 4=two authors per row (!) | |
1878 | + \divide\author@bx@wd by 2\relax | |
1879 | + \else % three authors per row | |
1880 | + \divide\author@bx@wd by 3\relax | |
1881 | + \fi | |
1882 | + \fi | |
1883 | + \advance\author@bx@wd by -\author@bx@sep\relax | |
1884 | + \gdef\@currentauthors{}% | |
1885 | + \gdef\@currentaffiliation{}% | |
1886 | + \def\@author##1{\ifx\@currentauthors\@empty | |
1887 | + \gdef\@currentauthors{\par##1}% | |
1888 | + \else | |
1889 | + \g@addto@macro\@currentauthors{\par##1}% | |
1890 | + \fi | |
1891 | + \gdef\and{}}% | |
1892 | + \def\email##1##2{\ifx\@currentaffiliation\@empty | |
1893 | + \gdef\@currentaffiliation{\nolinkurl{##2}}% | |
1894 | + \else | |
1895 | + \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}% | |
1896 | + \fi}% | |
1897 | + \def\affiliation##1##2{\ifx\@currentaffiliation\@empty | |
1898 | + \gdef\@currentaffiliation{% | |
1899 | + \setkeys{@ACM@affiliation@}{obeypunctuation=false}% | |
1900 | + \setkeys{@ACM@affiliation@}{##1}##2}% | |
1901 | + \else | |
1902 | + \g@addto@macro\@currentaffiliation{\par | |
1903 | + \setkeys{@ACM@affiliation@}{obeypunctuation=false}% | |
1904 | + \setkeys{@ACM@affiliation@}{##1}##2}% | |
1905 | + \fi | |
1906 | + \global\let\and\@typeset@author@bx | |
1907 | +}% | |
1908 | + \hsize=\textwidth | |
1909 | + \global\setbox\mktitle@bx=\vbox{\noindent | |
1910 | + \box\mktitle@bx\par\medskip\leavevmode | |
1911 | + \lineskip=1pc\relax\centering\hspace*{-1em}% | |
1912 | + \addresses\let\and\@typeset@author@bx\and\par\bigskip}} | |
1913 | +\def\@mkauthors@iv{% | |
1914 | + \author@bx@wd=\columnwidth\relax | |
1915 | + \advance\author@bx@wd by -\author@bx@sep\relax | |
1916 | + \ifnum\@ACM@authorsperrow>0\relax | |
1917 | + \divide\author@bx@wd by \@ACM@authorsperrow\relax | |
1918 | + \else | |
1919 | + \ifcase\num@authorgroups | |
1920 | + \relax % 0? | |
1921 | + \or % 1=one author per row | |
1922 | + \else % 2=two authors per row | |
1923 | + \divide\author@bx@wd by 2\relax | |
1924 | + \fi | |
1925 | + \fi | |
1926 | + \advance\author@bx@wd by -\author@bx@sep\relax | |
1927 | + \gdef\@currentauthors{}% | |
1928 | + \gdef\@currentaffiliation{}% | |
1929 | + \def\@author##1{\ifx\@currentauthors\@empty | |
1930 | + \gdef\@currentauthors{\par##1}% | |
1931 | + \else | |
1932 | + \g@addto@macro\@currentauthors{\par##1}% | |
1933 | + \fi | |
1934 | + \gdef\and{}}% | |
1935 | + \def\email##1##2{\ifx\@currentaffiliation\@empty | |
1936 | + \gdef\@currentaffiliation{\nolinkurl{##2}}% | |
1937 | + \else | |
1938 | + \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}% | |
1939 | + \fi}% | |
1940 | + \def\affiliation##1##2{\ifx\@currentaffiliation\@empty | |
1941 | + \gdef\@currentaffiliation{% | |
1942 | + \setkeys{@ACM@affiliation@}{obeypunctuation=false}% | |
1943 | + \setkeys{@ACM@affiliation@}{##1}##2}% | |
1944 | + \else | |
1945 | + \g@addto@macro\@currentaffiliation{\par | |
1946 | + \setkeys{@ACM@affiliation@}{obeypunctuation=false}% | |
1947 | + \setkeys{@ACM@affiliation@}{##1}##2}% | |
1948 | + \fi | |
1949 | + \global\let\and\@typeset@author@bx}% | |
1950 | + \bgroup\hsize=\columnwidth | |
1951 | + \par\raggedright\leftskip=\z@ | |
1952 | + \lineskip=1pc\noindent | |
1953 | + \addresses\let\and\@typeset@author@bx\and\par\bigskip\egroup} | |
1954 | +\def\@authornotemark{\g@addto@macro\@currentauthors{\footnotemark\relax}} | |
1955 | +\def\@@authornotemark#1{\g@addto@macro\@currentauthors{\footnotemark[#1]}} | |
1956 | +\def\@mkteasers{% | |
1957 | + \ifx\@teaserfigures\@empty\else | |
1958 | + \def\@teaser##1{\par\bigskip\bgroup | |
1959 | + \captionsetup{type=figure}##1\egroup\par} | |
1960 | + \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par | |
1961 | + \noindent\@teaserfigures\par\medskip}% | |
1962 | + \fi} | |
1963 | +\def\@setaddresses{} | |
1964 | +\def\@mkabstract{\bgroup | |
1965 | + \ifx\@abstract\@lempty\else | |
1966 | + {\phantomsection\addcontentsline{toc}{section}{Abstract}% | |
1967 | + \if@ACM@journal | |
1968 | + \small\noindent | |
1969 | + \else | |
1970 | + \section*{Abstract}% | |
1971 | + \fi | |
1972 | + \ignorespaces\@abstract\par}% | |
1973 | + \fi\egroup} | |
1974 | +\def\@mkbibcitation{\bgroup | |
1975 | + \def\footnotemark{}% | |
1976 | + \def\\{\unskip{} \ignorespaces}% | |
1977 | + \def\footnote{\ClassError{\@classname}{Please do note use footnotes | |
1978 | + inside \string\title{} or \string\author{} command! Use | |
1979 | + \string\titlenote{} or \string\authornote{} instead!}}% | |
1980 | + \par\medskip\small\noindent{\bfseries ACM Reference format:}\par\nobreak | |
1981 | + \noindent\authors. \@acmYear. \@title. | |
1982 | + \if@ACM@journal | |
1983 | + \textit{\@journalNameShort} | |
1984 | + \@acmVolume, \@acmNumber, Article~\@acmArticle\ (\@acmPubDate), | |
1985 | + \ref{TotPages}~pages. | |
1986 | + \else | |
1987 | + In \textit{Proceedings of \acmConference@name, \acmConference@venue, | |
1988 | + \acmConference@date | |
1989 | + \ifx\acmConference@name\acmConference@shortname\else | |
1990 | + \ (\acmConference@shortname)\fi | |
1991 | + ,} \ref{TotPages}~pages. | |
1992 | + \fi\par | |
1993 | + \noindent\@formatdoi{\@acmDOI} | |
1994 | +\par\egroup} | |
1995 | +\def\@printendtopmatter{\par\medskip | |
1996 | + \ifcase\ACM@format@nr | |
1997 | + \relax % manuscript | |
1998 | + \noindent\hrulefill\par\medskip | |
1999 | + \or % acmsmall | |
2000 | + \noindent\hrulefill\par\medskip | |
2001 | + \or % acmlarge | |
2002 | + \noindent\hrulefill\par\medskip | |
2003 | + \or % acmtog | |
2004 | + \par\bigskip | |
2005 | + \or % sigconf | |
2006 | + \par\bigskip | |
2007 | + \or % siggraph | |
2008 | + \par\bigskip | |
2009 | + \or % sigplan | |
2010 | + \par\bigskip | |
2011 | + \or % sigchi | |
2012 | + \par\bigskip | |
2013 | + \or % sigchi-a | |
2014 | + \fi | |
2015 | +} | |
2016 | +\def\@setthanks{\long\def\thanks##1{\par##1\@addpunct.}\thankses} | |
2017 | +\RequirePackage{fancyhdr} | |
2018 | +\if@ACM@review | |
2019 | + \newsavebox{\ACM@linecount@bx} | |
2020 | + \newlength\ACM@linecount@bxht | |
2021 | + \newcount\ACM@linecount | |
2022 | + \ACM@linecount\@ne\relax | |
2023 | + \def\ACM@mk@linecount{% | |
2024 | + \savebox{\ACM@linecount@bx}[4em][t]{\parbox[t]{4em}{% | |
2025 | + \setlength{\ACM@linecount@bxht}{-\baselineskip}% | |
2026 | + \loop{\color{ACMRed}\scriptsize\the\ACM@linecount}\\ | |
2027 | + \global\advance\ACM@linecount by \@ne | |
2028 | + \addtolength{\ACM@linecount@bxht}{\baselineskip}% | |
2029 | + \ifdim\ACM@linecount@bxht<\textheight\repeat}}} | |
2030 | +\fi | |
2031 | +\def\ACM@linecountL{% | |
2032 | + \if@ACM@review | |
2033 | + \ACM@mk@linecount | |
2034 | + \begin{picture}(0,0)% | |
2035 | + \put(-26,-22){\usebox{\ACM@linecount@bx}}% | |
2036 | + \end{picture}% | |
2037 | + \fi} | |
2038 | +\def\ACM@linecountR{% | |
2039 | + \if@ACM@review | |
2040 | + \ACM@mk@linecount | |
2041 | + \begin{picture}(0,0)% | |
2042 | + \put(20,-22){\usebox{\ACM@linecount@bx}}% | |
2043 | + \end{picture}% | |
2044 | + \fi} | |
2045 | +\if@ACM@timestamp | |
2046 | + % Subtracting 30 from \time gives us the effect of rounding-down despite | |
2047 | + % \numexpr rounding to nearest | |
2048 | + \newcounter{ACM@time@hours} | |
2049 | + \setcounter{ACM@time@hours}{\numexpr (\time - 30) / 60 \relax} | |
2050 | + \newcounter{ACM@time@minutes} | |
2051 | + \setcounter{ACM@time@minutes}{\numexpr \time - \theACM@time@hours * 60 \relax} | |
2052 | + \newcommand\ACM@timestamp{% | |
2053 | + \footnotesize% | |
2054 | + \the\year-\two@digits{\the\month}-\two@digits{\the\day}{ }% | |
2055 | + \two@digits{\theACM@time@hours}:\two@digits{\theACM@time@minutes}{ }% | |
2056 | + page~\thepage\ (pp. \@startPage-\pageref*{TotPages})% | |
2057 | + \ifx\@acmSubmissionID\@empty\relax\else | |
2058 | + ~Submission~ID: \@acmSubmissionID | |
2059 | + \fi | |
2060 | + } | |
2061 | +\fi | |
2062 | +\def\@shortauthors{\if@ACM@anonymous Anon.\else\shortauthors\fi} | |
2063 | +\def\@headfootfont{% | |
2064 | + \ifcase\ACM@format@nr | |
2065 | + \relax % manuscript | |
2066 | + \sffamily | |
2067 | + \or % acmsmall | |
2068 | + \sffamily | |
2069 | + \or % acmlarge | |
2070 | + \sffamily | |
2071 | + \or % acmtog | |
2072 | + \sffamily | |
2073 | + \or % sigconf | |
2074 | + \sffamily | |
2075 | + \or % siggraph | |
2076 | + \sffamily | |
2077 | + \or % sigplan | |
2078 | + \sffamily | |
2079 | + \or % sigchi | |
2080 | + \sffamily | |
2081 | + \or % sigchi-a | |
2082 | + \sffamily | |
2083 | + \fi} | |
2084 | +\fancypagestyle{standardpagestyle}{% | |
2085 | + \fancyhf{}% | |
2086 | + \renewcommand{\headrulewidth}{\z@}% | |
2087 | + \renewcommand{\footrulewidth}{\z@}% | |
2088 | + \ifcase\ACM@format@nr | |
2089 | + \relax % manuscript | |
2090 | + \fancyhead[LE]{\ACM@linecountL\if@ACM@printfolios\thepage\fi}% | |
2091 | + \fancyhead[RO]{\if@ACM@printfolios\thepage\fi}% | |
2092 | + \fancyhead[RE]{\@shortauthors}% | |
2093 | + \fancyhead[LO]{\ACM@linecountL\shorttitle}% | |
2094 | + \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM}% | |
2095 | + \or % acmsmall | |
2096 | + \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}% | |
2097 | + \fancyhead[RO]{\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}% | |
2098 | + \fancyhead[RE]{\@headfootfont\@shortauthors}% | |
2099 | + \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% | |
2100 | + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. | |
2101 | + \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% | |
2102 | + \or % acmlarge | |
2103 | + \fancyhead[LE]{\ACM@linecountL\@headfootfont | |
2104 | + \@acmArticle\if@ACM@printfolios:\thepage\fi\quad\textbullet\quad\@shortauthors}% | |
2105 | + \fancyhead[LO]{\ACM@linecountL}% | |
2106 | + \fancyhead[RO]{\@headfootfont | |
2107 | + \shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi}% | |
2108 | + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. | |
2109 | + \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% | |
2110 | + \or % acmtog | |
2111 | + \fancyhead[LE]{\ACM@linecountL\@headfootfont | |
2112 | + \@acmArticle\if@ACM@printfolios:\thepage\fi\quad\textbullet\quad\@shortauthors}% | |
2113 | + \fancyhead[LO]{\ACM@linecountL}% | |
2114 | + \fancyhead[RE]{\ACM@linecountR}% | |
2115 | + \fancyhead[RO]{\@headfootfont | |
2116 | + \shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi\ACM@linecountR}% | |
2117 | + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. | |
2118 | + \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% | |
2119 | + \else % Proceedings | |
2120 | + \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% | |
2121 | + \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% | |
2122 | + \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}% | |
2123 | + \fancyhead[LE]{\ACM@linecountL\@headfootfont\acmConference@shortname, | |
2124 | + \acmConference@date, \acmConference@venue}% | |
2125 | + \fancyhead[RO]{\@headfootfont\acmConference@shortname, | |
2126 | + \acmConference@date, \acmConference@venue\ACM@linecountR}% | |
2127 | + \fi | |
2128 | + \if@ACM@sigchiamode | |
2129 | + \fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}% | |
2130 | + \fi | |
2131 | + \if@ACM@timestamp | |
2132 | + \fancyfoot[LO,RE]{\ACM@timestamp} | |
2133 | + \fi | |
2134 | +} | |
2135 | +\pagestyle{standardpagestyle} | |
2136 | +\newdimen\@folio@wd | |
2137 | +\@folio@wd=\z@ | |
2138 | +\newdimen\@folio@ht | |
2139 | +\@folio@ht=\z@ | |
2140 | +\newdimen\@folio@voffset | |
2141 | +\@folio@voffset=\z@ | |
2142 | +\def\@folio@max{1} | |
2143 | +\ifcase\ACM@format@nr | |
2144 | +\relax % manuscript | |
2145 | +\or % acmsmall | |
2146 | + \@folio@wd=45.75pt\relax | |
2147 | + \@folio@ht=1.25in\relax | |
2148 | + \@folio@voffset=.2in\relax | |
2149 | + \def\@folio@max{8} | |
2150 | +\or % acmlarge | |
2151 | + \@folio@wd=43.25pt\relax | |
2152 | + \@folio@ht=79pt\relax | |
2153 | + \@folio@voffset=.55in\relax | |
2154 | + \def\@folio@max{10} | |
2155 | +\fi | |
2156 | +\def\@folioblob{\@tempcnta=\@acmArticleSeq\relax | |
2157 | + \loop | |
2158 | + \ifnum\@tempcnta>\@folio@max\relax | |
2159 | + \advance\@tempcnta by - \@folio@max | |
2160 | + \repeat | |
2161 | + \advance\@tempcnta by -1\relax | |
2162 | + \@tempdima=\@folio@ht\relax | |
2163 | + \multiply\@tempdima by \the\@tempcnta\relax | |
2164 | + \advance\@tempdima by -\@folio@voffset\relax | |
2165 | + \begin{picture}(0,0) | |
2166 | + \makebox[\z@]{\raisebox{-\@tempdima}{% | |
2167 | + \rlap{% | |
2168 | + \raisebox{-0.45\@folio@ht}[\z@][\z@]{% | |
2169 | + \rule{\@folio@wd}{\@folio@ht}}}% | |
2170 | + \parbox{\@folio@wd}{% | |
2171 | + \centering | |
2172 | + \textcolor{white}{\LARGE\bfseries\sffamily\@acmArticle}}}} | |
2173 | + \end{picture}} | |
2174 | + | |
2175 | +\fancypagestyle{firstpagestyle}{% | |
2176 | + \fancyhf{}% | |
2177 | + \renewcommand{\headrulewidth}{\z@}% | |
2178 | + \renewcommand{\footrulewidth}{\z@}% | |
2179 | + \ifcase\ACM@format@nr | |
2180 | + \relax % manuscript | |
2181 | + \fancyhead[L]{\ACM@linecountL}% | |
2182 | + \fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}% | |
2183 | + \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}% | |
2184 | + \or % acmsmall | |
2185 | + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. | |
2186 | + \@acmNumber, Article \@acmArticle. Publication date: | |
2187 | + \@acmPubDate.}% | |
2188 | + \fancyhead[LE]{\ACM@linecountL\@folioblob}% | |
2189 | + \fancyhead[LO]{\ACM@linecountL}% | |
2190 | + \fancyhead[RO]{\@folioblob}% | |
2191 | + \fancyheadoffset[RO,LE]{0.6\@folio@wd}% | |
2192 | + \or % acmlarge | |
2193 | + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. | |
2194 | + \@acmNumber, Article \@acmArticle. Publication date: | |
2195 | + \@acmPubDate.}% | |
2196 | + \fancyhead[RO]{\@folioblob}% | |
2197 | + \fancyhead[LE]{\ACM@linecountL\@folioblob}% | |
2198 | + \fancyhead[LO]{\ACM@linecountL}% | |
2199 | + \fancyheadoffset[RO,LE]{1.4\@folio@wd}% | |
2200 | + \or % acmtog | |
2201 | + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. | |
2202 | + \@acmNumber, Article \@acmArticle. Publication date: | |
2203 | + \@acmPubDate.}% | |
2204 | + \fancyhead[L]{\ACM@linecountL}% | |
2205 | + \fancyhead[R]{\ACM@linecountR}% | |
2206 | + \else % Conference proceedings | |
2207 | + \fancyhead[L]{\ACM@linecountL}% | |
2208 | + \fancyhead[R]{\ACM@linecountR}% | |
2209 | + \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% | |
2210 | + \fi | |
2211 | + \if@ACM@timestamp | |
2212 | + \ifnum\ACM@format@nr=0\relax % Manuscript | |
2213 | + \fancyfoot[LO,RE]{\ACM@timestamp\quad | |
2214 | + \footnotesize Manuscript submitted to ACM} | |
2215 | + \else | |
2216 | + \fancyfoot[LO,RE]{\ACM@timestamp} | |
2217 | + \fi | |
2218 | + \fi | |
2219 | +} | |
2220 | +\renewcommand\section{\@startsection{section}{1}{\z@}% | |
2221 | + {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% | |
2222 | + {.25\baselineskip}% | |
2223 | + {\@secfont}} | |
2224 | +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% | |
2225 | + {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% | |
2226 | + {.25\baselineskip}% | |
2227 | + {\@subsecfont}} | |
2228 | +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{10pt}% | |
2229 | + {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% | |
2230 | + {-3.5\p@}% | |
2231 | + {\@subsubsecfont\@adddotafter}} | |
2232 | +\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}% | |
2233 | + {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% | |
2234 | + {-3.5\p@}% | |
2235 | + {\@parfont\@adddotafter}} | |
2236 | +\renewcommand\part{\@startsection{part}{9}{\z@}% | |
2237 | + {-10\p@ \@plus -4\p@ \@minus -2\p@}% | |
2238 | + {4\p@}% | |
2239 | + {\@parfont}} | |
2240 | +\def\section@raggedright{\@rightskip\@flushglue | |
2241 | + \rightskip\@rightskip | |
2242 | + \leftskip\z@skip | |
2243 | + \parindent\z@} | |
2244 | +\def\@secfont{\sffamily\bfseries\section@raggedright\MakeUppercase} | |
2245 | +\def\@subsecfont{\sffamily\bfseries\section@raggedright} | |
2246 | +\def\@subsubsecfont{\sffamily\itshape} | |
2247 | +\def\@parfont{\itshape} | |
2248 | +\setcounter{secnumdepth}{3} | |
2249 | +\ifcase\ACM@format@nr | |
2250 | +\relax % manuscript | |
2251 | +\or % acmsmall | |
2252 | +\or % acmlarge | |
2253 | + \def\@secfont{\sffamily\large\section@raggedright\MakeUppercase} | |
2254 | + \def\@subsecfont{\sffamily\large\section@raggedright} | |
2255 | +\or % acmtog | |
2256 | + \def\@secfont{\sffamily\large\section@raggedright\MakeUppercase} | |
2257 | + \def\@subsecfont{\sffamily\large\section@raggedright} | |
2258 | +\or % sigconf | |
2259 | + \def\@secfont{\bfseries\Large\section@raggedright\MakeUppercase} | |
2260 | + \def\@subsecfont{\bfseries\Large\section@raggedright} | |
2261 | +\or % siggraph | |
2262 | + \def\@secfont{\bfseries\sffamily\Large\section@raggedright\MakeUppercase} | |
2263 | + \def\@subsecfont{\bfseries\sffamily\Large\section@raggedright} | |
2264 | +\or % sigplan | |
2265 | + \def\@secfont{\bfseries\Large\section@raggedright} | |
2266 | + \def\@subsecfont{\bfseries\section@raggedright} | |
2267 | + \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% | |
2268 | + {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% | |
2269 | + {.25\baselineskip}% | |
2270 | + {\@subsubsecfont}} | |
2271 | + \def\@subsubsecfont{\bfseries\section@raggedright} | |
2272 | + \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% | |
2273 | + {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% | |
2274 | + {-3.5\p@}% | |
2275 | + {\@parfont\@addspaceafter}} | |
2276 | + \def\@parfont{\bfseries\itshape} | |
2277 | + \renewcommand\subparagraph{\@startsection{subparagraph}{5}{\z@}% | |
2278 | + {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% | |
2279 | + {-3.5\p@}% | |
2280 | + {\@subparfont\@addspaceafter}} | |
2281 | + \def\@subparfont{\itshape} | |
2282 | +\or % sigchi | |
2283 | + \setcounter{secnumdepth}{1} | |
2284 | + \def\@secfont{\bfseries\sffamily\section@raggedright\MakeUppercase} | |
2285 | + \def\@subsecfont{\bfseries\sffamily\section@raggedright} | |
2286 | +\or % sigchi-a | |
2287 | + \setcounter{secnumdepth}{0} | |
2288 | + \def\@secfont{\bfseries\sffamily\section@raggedright\MakeUppercase} | |
2289 | + \def\@subsecfont{\bfseries\sffamily\section@raggedright} | |
2290 | +\fi | |
2291 | +\def\@adddotafter#1{#1\@addpunct{.}} | |
2292 | +\def\@addspaceafter#1{#1\@addpunct{\enspace}} | |
2293 | +\providecommand*\@dotsep{4.5} | |
2294 | +\def\@acmplainbodyfont{\itshape} | |
2295 | +\def\@acmplainindent{\parindent} | |
2296 | +\def\@acmplainheadfont{\scshape} | |
2297 | +\def\@acmplainnotefont{\@empty} | |
2298 | +\ifcase\ACM@format@nr | |
2299 | +\relax % manuscript | |
2300 | +\or % acmsmall | |
2301 | +\or % acmlarge | |
2302 | +\or % acmtog | |
2303 | +\or % sigconf | |
2304 | +\or % siggraph | |
2305 | +\or % sigplan | |
2306 | + \def\@acmplainbodyfont{\itshape} | |
2307 | + \def\@acmplainindent{\z@} | |
2308 | + \def\@acmplainheadfont{\bfseries} | |
2309 | + \def\@acmplainnotefont{\normalfont} | |
2310 | +\or % sigchi | |
2311 | +\or % sigchi-a | |
2312 | +\fi | |
2313 | +\newtheoremstyle{acmplain}% | |
2314 | + {.5\baselineskip\@plus.2\baselineskip | |
2315 | + \@minus.2\baselineskip}% space above | |
2316 | + {.5\baselineskip\@plus.2\baselineskip | |
2317 | + \@minus.2\baselineskip}% space below | |
2318 | + {\@acmplainbodyfont}% body font | |
2319 | + {\@acmplainindent}% indent amount | |
2320 | + {\@acmplainheadfont}% head font | |
2321 | + {.}% punctuation after head | |
2322 | + {.5em}% spacing after head | |
2323 | + {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmplainnotefont(#3)}}}% head spec | |
2324 | +\def\@acmdefinitionbodyfont{\normalfont} | |
2325 | +\def\@acmdefinitionindent{\parindent} | |
2326 | +\def\@acmdefinitionheadfont{\itshape} | |
2327 | +\def\@acmdefinitionnotefont{\@empty} | |
2328 | +\ifcase\ACM@format@nr | |
2329 | +\relax % manuscript | |
2330 | +\or % acmsmall | |
2331 | +\or % acmlarge | |
2332 | +\or % acmtog | |
2333 | +\or % sigconf | |
2334 | +\or % siggraph | |
2335 | +\or % sigplan | |
2336 | + \def\@acmdefinitionbodyfont{\normalfont} | |
2337 | + \def\@acmdefinitionindent{\z@} | |
2338 | + \def\@acmdefinitionheadfont{\bfseries} | |
2339 | + \def\@acmdefinitionnotefont{\normalfont} | |
2340 | +\or % sigchi | |
2341 | +\or % sigchi-a | |
2342 | +\fi | |
2343 | +\newtheoremstyle{acmdefinition}% | |
2344 | + {.5\baselineskip\@plus.2\baselineskip | |
2345 | + \@minus.2\baselineskip}% space above | |
2346 | + {.5\baselineskip\@plus.2\baselineskip | |
2347 | + \@minus.2\baselineskip}% space below | |
2348 | + {\@acmdefinitionbodyfont}% body font | |
2349 | + {\@acmdefinitionindent}% indent amount | |
2350 | + {\@acmdefinitionheadfont}% head font | |
2351 | + {.}% punctuation after head | |
2352 | + {.5em}% spacing after head | |
2353 | + {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmdefinitionnotefont(#3)}}}% head spec | |
2354 | +\theoremstyle{acmplain} | |
2355 | +\newtheorem{theorem}{Theorem}[section] | |
2356 | +\newtheorem{conjecture}[theorem]{Conjecture} | |
2357 | +\newtheorem{proposition}[theorem]{Proposition} | |
2358 | +\newtheorem{lemma}[theorem]{Lemma} | |
2359 | +\newtheorem{corollary}[theorem]{Corollary} | |
2360 | +\theoremstyle{acmdefinition} | |
2361 | +\newtheorem{example}[theorem]{Example} | |
2362 | +\newtheorem{definition}[theorem]{Definition} | |
2363 | +\theoremstyle{acmplain} | |
2364 | +\def\@proofnamefont{\scshape} | |
2365 | +\def\@proofindent{\indent} | |
2366 | +\ifcase\ACM@format@nr | |
2367 | +\relax % manuscript | |
2368 | +\or % acmsmall | |
2369 | +\or % acmlarge | |
2370 | +\or % acmtog | |
2371 | +\or % sigconf | |
2372 | +\or % siggraph | |
2373 | +\or % sigplan | |
2374 | + \def\@proofnamefont{\itshape} | |
2375 | + \def\@proofindent{\noindent} | |
2376 | +\or % sigchi | |
2377 | +\or % sigchi-a | |
2378 | +\fi | |
2379 | +\renewenvironment{proof}[1][\proofname]{\par | |
2380 | + \pushQED{\qed}% | |
2381 | + \normalfont \topsep6\p@\@plus6\p@\relax | |
2382 | + \trivlist | |
2383 | + \item[\@proofindent\hskip\labelsep | |
2384 | + {\@proofnamefont #1\@addpunct{.}}]\ignorespaces | |
2385 | +}{% | |
2386 | + \popQED\endtrivlist\@endpefalse | |
2387 | +} | |
2388 | +\specialcomment{acks}{% | |
2389 | + \begingroup | |
2390 | + \section*{Acknowledgments} | |
2391 | + \phantomsection\addcontentsline{toc}{section}{Acknowledgments} | |
2392 | +}{% | |
2393 | + \endgroup | |
2394 | +} | |
2395 | +\def\grantsponsor#1#2#3{#2} | |
2396 | +\newcommand\grantnum[3][]{#3% | |
2397 | + \def\@tempa{#1}\ifx\@tempa\@empty\else\space(\url{#1})\fi} | |
2398 | +\if@ACM@screen | |
2399 | + \includecomment{screenonly} | |
2400 | + \excludecomment{printonly} | |
2401 | +\else | |
2402 | + \excludecomment{screenonly} | |
2403 | + \includecomment{printonly} | |
2404 | +\fi | |
2405 | +\if@ACM@anonymous | |
2406 | + \excludecomment{anonsuppress} | |
2407 | + \excludecomment{acks} | |
2408 | +\else | |
2409 | + \includecomment{anonsuppress} | |
2410 | +\fi | |
2411 | +\newcommand\showeprint[2][arxiv]{% | |
2412 | + \def\@tempa{#1}% | |
2413 | + \ifx\@tempa\@empty\def\@tempa{arxiv}\fi | |
2414 | + \def\@tempb{arxiv}% | |
2415 | + \ifx\@tempa\@tempb | |
2416 | + arXiv:\href{http://arxiv.org/abs/#2}{#2}\else arXiv:#2% | |
2417 | + \fi} | |
2418 | +\normalsize\normalfont\frenchspacing | |
2419 | +\endinput | |
2420 | +%% | |
2421 | +%% End of file `acmart.cls'. | |
2422 | + | ... | ... |
... | ... | @@ -0,0 +1,98 @@ |
1 | +%% | |
2 | +%% This is file `iftex.sty', | |
3 | + | |
4 | +%% | |
5 | +%% __________________________________ | |
6 | +%% Copyright © 2010–2013 Persian TeX Group | |
7 | +%% | |
8 | +%% License information appended. | |
9 | +%% | |
10 | +%% | |
11 | +\csname iftexloaded\endcsname | |
12 | +\let\iftexloaded\endinput | |
13 | +\expandafter\ifx\csname ProvidesPackage\endcsname\relax\else | |
14 | + \ProvidesPackage{iftex} | |
15 | + [2013/04/04 v0.2 Provides if(tex) conditional for PDFTeX, XeTeX, and LuaTeX] | |
16 | +\fi | |
17 | +\def\RequirePDFTeX{% | |
18 | + \ifPDFTeX\else | |
19 | + \begingroup | |
20 | + \errorcontextlines=-1\relax | |
21 | + \newlinechar=10\relax | |
22 | + \errmessage{^^J | |
23 | + ********************************************^^J | |
24 | + * PDFTeX is required to compile this document.^^J | |
25 | + * Sorry!^^J | |
26 | + ********************************************}% | |
27 | + \endgroup | |
28 | + \fi} | |
29 | +\def\RequireXeTeX{% | |
30 | + \ifXeTeX\else | |
31 | + \begingroup | |
32 | + \errorcontextlines=-1\relax | |
33 | + \newlinechar=10\relax | |
34 | + \errmessage{^^J | |
35 | + ********************************************^^J | |
36 | + * XeTeX is required to compile this document.^^J | |
37 | + * Sorry!^^J | |
38 | + ********************************************}% | |
39 | + \endgroup | |
40 | + \fi} | |
41 | +\def\RequireLuaTeX{% | |
42 | + \ifLuaTeX\else | |
43 | + \begingroup | |
44 | + \errorcontextlines=-1\relax | |
45 | + \newlinechar=10\relax | |
46 | + \errmessage{^^J | |
47 | + ********************************************^^J | |
48 | + * LuaTeX is required to compile this document.^^J | |
49 | + * Sorry!^^J | |
50 | + ********************************************}% | |
51 | + \endgroup | |
52 | + \fi} | |
53 | +\expandafter\ifx\csname ifPDFTeX\endcsname\relax\else | |
54 | + \expandafter\endinput | |
55 | +\fi | |
56 | +\expandafter\ifx\csname ifXeTeX\endcsname\relax\else | |
57 | + \expandafter\endinput | |
58 | +\fi | |
59 | +\expandafter\ifx\csname ifLuaTeX\endcsname\relax\else | |
60 | + \expandafter\endinput | |
61 | +\fi | |
62 | +\newif\ifPDFTeX | |
63 | +\begingroup\expandafter\expandafter\expandafter\endgroup | |
64 | +\expandafter\ifx\csname pdfmatch\endcsname\relax | |
65 | + \PDFTeXfalse | |
66 | +\else | |
67 | + \PDFTeXtrue | |
68 | +\fi | |
69 | +\newif\ifXeTeX | |
70 | +\begingroup\expandafter\expandafter\expandafter\endgroup | |
71 | +\expandafter\ifx\csname XeTeXinterchartoks\endcsname\relax | |
72 | + \XeTeXfalse | |
73 | +\else | |
74 | + \XeTeXtrue | |
75 | +\fi | |
76 | +\newif\ifLuaTeX | |
77 | +\begingroup\expandafter\expandafter\expandafter\endgroup | |
78 | +\expandafter\ifx\csname directlua\endcsname\relax | |
79 | + \LuaTeXfalse | |
80 | +\else | |
81 | + \LuaTeXtrue | |
82 | +\fi | |
83 | +%% | |
84 | +%% Copyright © 2010–2013 by Persian TeX Group <persian-tex@tug.org> | |
85 | +%% | |
86 | +%% Distributable under the LaTeX Project Public License, | |
87 | +%% version 1.3c or higher (your choice). The latest version of | |
88 | +%% this license is at: http://www.latex-project.org/lppl.txt | |
89 | +%% | |
90 | +%% This work is "maintained" (as per LPPL maintenance status) | |
91 | +%% by Persian TeX Group. | |
92 | +%% | |
93 | +%% | |
94 | +%% | |
95 | +%% | |
96 | +%% | |
97 | +%% End of file `iftex.sty'. | |
98 | + | ... | ... |