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 @@ | @@ -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 @@ | @@ -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 | + |