Acmguide
Acmguide
Machinery ∗
Boris Veytsman†
2022/10/24, v1.88
Abstract
This package provides a class for typesetting publications of the Association for
Computing Machinery.
Contents
1 Introduction 3
2 User’s guide 3
2.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Invocation and options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Top matter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 Top matter of ACM Engage materials . . . . . . . . . . . . . . . . . . . . 19
2.5 ACM cover page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.6 Internationalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.8 Figures and tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.9 Descriptions of images . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.10 Theorems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.11 Online-only and offline-only material . . . . . . . . . . . . . . . . . . . . 23
2.12 Note about anonymous mode . . . . . . . . . . . . . . . . . . . . . . . . 24
2.13 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.14 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.14.1 Processing using BibTEX . . . . . . . . . . . . . . . . . . . . . . . 25
2.14.2 Processing using BibLATEX . . . . . . . . . . . . . . . . . . . . . . 28
2.15 Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.16 Other notable packages and typographic remarks . . . . . . . . . . . . . 29
2.17 Counting words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.18 Creative Commons licenses for ACM publications . . . . . . . . . . . . . 30
2.19 Disabled or forbidden commands . . . . . . . . . . . . . . . . . . . . . . 31
2.20 Notes for wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.21 Currently supported publications . . . . . . . . . . . . . . . . . . . . . . 32
2.22 A note about sigchi-a format . . . . . . . . . . . . . . . . . . . . . . . . 33
∗ ©2016–2022, Association for Computing Machinery
† [email protected], [email protected]
1
3 Implementation 35
3.1 Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 Preload hook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.4 Setting switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.5 Loading the base class and package . . . . . . . . . . . . . . . . . . . . . 40
3.6 Citations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.7 Internationalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.8 Sectioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.9 Hyperxmp and hyperref . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.10 Other packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.11 Paper size and paragraphing . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.12 Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.13 Image descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.14 Floats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.15 Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.16 Top-matter data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.17 Concepts system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.18 Copyright system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.19 Maketitle hook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.20 ACM Engage top matter . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.21 Typesetting top matter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.22 Headers and Footers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
3.23 Sectioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
3.24 TOC lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.25 Theorems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.26 Balancing columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.27 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
3.28 Conditional typesetting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
3.29 Additional bibliography commands . . . . . . . . . . . . . . . . . . . . . 113
3.30 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
3.31 End of Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
2
1 Introduction
The Association for Computing Machinery1 is the world’s largest educational and sci-
entific computing society, which delivers resources that advance computing as a science
and a profession. It was one of the early adopters of TEX for its typesetting.
It provided several different classes for a number of journals and conference pro-
ceedings. Unfortunately during the years since these classes were written, the code was
patched many times, and supporting different versions of the classes became difficult.
This package provides the uniform interface for all ACM publications. It is intended
to replace all the different classes and packages and provide an up-to-date LATEX package.
This package uses only free TEX packages and fonts included in TEXLive, MikTEX
and other popular TEX distributions. It is intended to be published in these distributions
itself, which minimizes users’ efforts in the installation and support of this package.
I am grateful to Michael D. Adams, Leif Andersen, Lawrence Christopher Angrave,
Dirk Beyer, Andrew Black, Joachim Breitner, Yegor Bugayenko, Benjamin Byholm, John
Collins, Roberto Di Cosmo, Nils Anders Danielsson, Michael Ekstrand, Matthew Fluet,
Paolo G. Giarrusso, Ben Greenman, Enrico Gregorio, Jamie Davis, Ulrike Fischer, Ja-
son Hemann, Peter Kemp, Luis Leiva, Ben Liblit, Rholais Lii, LianTze Lim, Kuldeep S.
Meel, Kai Mindermann, Frank Mittelbach, Serguei Mokhov, Ross Moore, John Owens,
Joel Nider, Scott Pakin, Tobias Pape, Henning Pohl, Philip Quinn, Mathias Rav, An-
dreas Reichinger, Matteo Riondato, Craig Rodkin, Bernard Rous, Feras Saad, Kerry A.
Seitz, Jr., David Shamma, Gabriel Scherer, Kartik Singhal, Christoph Sommer, Stephen
Spencer, Shin Hwei Tan, Daniel Thomas, Shari Trewin, Zack Weinberg, John Wickerson
and many others for their invaluable help.
The development version of the package is available at https://github.com/
borisveytsman/acmart.
2 User’s guide
This class uses many commands and customizaton options, so it might appear intim-
idating for a casual user. Do not panic! Many of these commands and options can
be safely left with their default values or the values recommended by your confer-
ence or journal editors. If you have problems or questions, do not hesitate to ask me
directly or the community at https://github.com/borisveytsman/acmart, https:
//tex.stackexchange.com or the closest TEX Users Group. The world-wide TEX Users
Group is at https://tug.org/; please consider joining us if you use TEX regularly.
2.1 Installation
Most probably, you already have this package installed in your favorite TEX distribution;
if not, you may want to upgrade. You may need to upgrade it anyway since this package
uses a number of relatively recent packages, especially the ones related to fonts.
The latest released version of this package can be found on CTAN: https://www.
ctan.org/pkg/acmart. The development version can be found on GitHub: https://
github.com/borisveytsman/acmart. At this address you can file a bug report—or even
contribute your own enhancement by making a pull request.
1 http://www.acm.org/
3
Please note that the version on Github is a development (or experimental) version:
please download it for testing new features. The production version is the one on CTAN
and ACM sites.
Most users should not attempt to install this package themselves but should rather
rely on their TEX distributions to provide it. If you decide to install the package yourself,
follow the standard rules:
1. Run latex acmart.ins. This will produce the file acmart.cls
• binhex, http://www.ctan.org/pkg/binhex
• balance, http://www.ctan.org/pkg/balance
• booktabs, http://www.ctan.org/pkg/booktabs
• caption, http://www.ctan.org/pkg/caption
• comment, http://www.ctan.org/pkg/comment
• cm-super, http://www.ctan.org/pkg/cm-super
• cmap, http://www.ctan.org/pkg/cmap
• doclicense, http://www.ctan.org/pkg/doclicense
• draftwatermark, http://www.ctan.org/pkg/draftwatermark
• environ, http://www.ctan.org/pkg/environ
• etoolbox, http://www.ctan.org/pkg/etoolbox
• fancyhdr, http://www.ctan.org/pkg/fancyhdr
• float, http://www.ctan.org/pkg/float
• fontaxes, http://www.ctan.org/pkg/fontaxes
4
• geometry, http://www.ctan.org/pkg/geometry
• graphics, http://www.ctan.org/pkg/graphics
• hyperref, http://www.ctan.org/pkg/hyperref
• hyperxmp, http://www.ctan.org/pkg/hyperxmp
• iftex, http://www.ctan.org/pkg/iftex
• inconsolata, http://www.ctan.org/pkg/inconsolata
• libertine, http://www.ctan.org/pkg/libertine
• manyfoot, http://www.ctan.org/pkg/manyfoot
• microtype, http://www.ctan.org/pkg/microtype
• mmap, http://www.ctan.org/pkg/mmap
• ms, http://www.ctan.org/pkg/ms
• mweights, http://www.ctan.org/pkg/mweights
• natbib, http://www.ctan.org/pkg/natbib
• nccfoots, http://www.ctan.org/pkg/nccfoots
• newtx, http://www.ctan.org/pkg/newtx
• oberdiek, http://www.ctan.org/pkg/oberdiek
• pdftex-def, http://www.ctan.org/pkg/pdftex-def
• refcount, http://www.ctan.org/pkg/refcount
• setspace, http://www.ctan.org/pkg/setspace
• textcase, http://www.ctan.org/pkg/textcase
• totpages, http://www.ctan.org/pkg/totpages
• trimspaces, http://www.ctan.org/pkg/trimspaces
• upquote, http://www.ctan.org/pkg/upquote
• url, http://www.ctan.org/pkg/url
• xcolor, http://www.ctan.org/pkg/xcolor
• xkeyval, http://www.ctan.org/pkg/xkeyval
• xstring, http://www.ctan.org/pkg/xstring
5
2.2 Invocation and options
To use this class, put in the preamble of your document
\documentclass[⟨options⟩]{acmart}
There are several options corresponding to the type of the document and its general
appearance. They are described below. Generally speaking, the options have key=value
forms, for example,
\documentclass[format=acmsmall, screen=true, review=false]{acmart}
The option format describes the format of the output. There are several possible
values for this option, for example,
\documentclass[format=acmtog]{acmart}
The possible formats are listed in Table 1. Note that formats starting with acm are in-
tended for journals, transactions, and course materials, while formats starting with sig
are intended for proceedings published as books.
Note that sometimes conference proceedings are published as a special issue (or is-
sues) of an ACM journal. In this case, you should use the journal format for a conference
paper. Please contact your conference committee if in doubt.
Starting in 2020, ACM retired formats sigchi and sigchi-a. SIGCHI conferences
now use sigconf format for their publications. If a file uses sigchi format, a warning
is issued, and the format is automatically switched to sigconf. Format sigchi-a can
be used for non-ACM documents only (see Section 2.22). The format acmcp is used for
ACM cover pages discussed in Section 2.5.
There are several Boolean options that can take true or false values. They are listed
in Table 2. The words =true can be omitted when setting a Boolean option, so instead
of screen=true one can write just screen, for example,
\documentclass[acmsmall, screen, review]{acmart}
The option review is useful when combined with the manuscript format option. It
provides a version suitable for reviewers and copy editors.
Two samples in the samples directory, manuscript and acmsmall-submission,
show manuscripts formatted for submission to ACM.
The default for the option screen depends on the publication. At present it is false
for all publications but PACM, since PACM is now electronic-only. Thus PACM titles (see
Table 5) set this option to true. In the future this option may involve additional features
suitable for on-screen versions of articles.
The option natbib is used when the corresponding BibTEX style is based on natbib.
In most cases you do not need to set it. See Section 2.14.
The option anonymous is used for anonymous review processes and causes all author
information to be obscured.
6
Table 1: The possible values for the format option
Value Meaning
manuscript A manuscript. This is the default.
acmsmall Small single-column format. Used for ACMJCSS, CIE, CSUR, DLT,
FAC, GAMES, JACM, JATS, JDIQ, JDS, JEA, JERIC, JETC, JRC, PACM-
CGIT, PACMHCI, PACMNET, PACMPL, TAAS, TACCESS, TACO,
TALG, TALLIP (formerly TALIP), TCPS, TDS, TEAC, TECS, TELO,
THRI, TIIS, TIOT, TISSEC, TIST, TKDD, TMIS, TOCE, TOCHI, TOCL,
TOCS, TOCT, TODAES, TODS, TOIS, TOIT, TOMACS, TOMM (for-
merly TOMCCAP), TOMPECS, TOMS, TOPC, TOPLAS, TOPS, TORS
TOS, TOSEM, TOSN, TQC, TRETS, TSAS, TSC, TSLP and TWEB, in-
cluding special issues.
acmlarge Large single-column format. Used for DTRAP, HEALTH, IMWUT,
JOCCH, POMACS and TAP, including special issues.
acmtog Large double-column format. Used for TOG, including annual confer-
ence Technical Papers.
sigconf Proceedings format for most ACM conferences (with the exception of
SIGPlAN) and all ICPS volumes.
sigplan Proceedings format for SIGPLAN conferences.
acmengage ACM EngageCSEdu Course materials.
acmcp ACM cover page.
The option timestamp is used to include a time stamp in the footer of each page.
When preparing a document, this can help avoid confusing different revisions. The
footer also includes the page range of the document. This helps detect missing pages
in hard copies.
The option authordraft is intended for author’s drafts that are not intended for
distribution. It typesets a copyright block to give the author an idea of its size and the
overall size of the paper but overprints it with the phrase “Unpublished working draft.
Not for distribution.”, which is also used as a watermark. This option sets timestamp
and review to true, but these can be overriden by setting these options to false after
setting authordraft to true.
The option balance determines whether the last page in the two column mode has
balanced columns. By default it is true; however, it may lead to problems for some
documents. Set it to false if you encounter compilation errors. Note that for one page
documents \balance command might cause problems. An alternative is the (experi-
mental) option pbalance, which uses the new package pbalance for this end.
The option urlbreakonhyphens determines whether URLs can be split between lines
after hyphens. By default it is true. Set it to false to disallow these breaks.
The option language is used to define the languages for the multi-language papers.
It is discussed in Section 2.6.
7
Table 2: Boolean options
8
Others, like \acmVolume and \acmDOI—by the editors. Below we describe these com-
mands and mention who should issue them. These macros should be used before the
\maketitle command. Note that in previous versions of ACM classes some of these
commands should be used before \maketitle, and some after it. Now they all must be
used before \maketitle.
This class internally loads the amsart class, so many top-matter commands are in-
herited from amsart [2].
\acmJournal The macro \acmJournal{⟨shortName⟩} sets the name of the journal or transaction
for journals and transactions. The argument is the short name of the publication in
uppercase, for example,
\acmJournal{TOMS}
The currently recognized journals are listed in Table 5. Note that conference proceedings
published in book form do not set this macro.
\acmConference The macro \acmConference[⟨short name⟩]{⟨name⟩}{⟨date⟩}{⟨venue⟩} is used for
conference proceedings published in the book form. The arguments are the following:
short name: the abbreviated name of the conference (optional).
name: the name of the conference.
date: the date(s) of the conference.
venue: the place of the conference.
Examples:
\acmConference[TD’15]{Technical Data Conference}{November
12--16}{Dallas, TX, USA}
\acmConference{SA’15 Art Papers}{November 02--06, 2015}{Kobe, Japan}
\acmBooktitle By default we assume that conference proceedings are published in the book named
Proceedings of CONFERENCE, where CONFERENCE is the name of the conference in-
ferred from the command \acmConference above. However, sometimes the book title
is different. The command \acmBooktitle can be used to set this title, for example,
\acmBooktitle{Companion to the first International Conference on the
Art, Science and Engineering of Programming (Programming ’17)}
9
\editor{Jennifer B. Sartor}
\editor{Theo D’Hondt}
\editor{Wolfgang De Meuter}
\title The command \title, as in the amsart class, has two arguments: one optional, and
one mandatory:
\title[⟨ShortTitle⟩]{⟨FullTitle⟩}
The mandatory argument is the full title of the article. The optional argument, if present,
defines the shorter version of the title for running heads. If the optional argument is
absent, the full title is used instead.
It is expected that this command is inserted by the author of the manuscript.
\subtitle Besides title, ACM classes allow a subtitle, set with the \subtitle{⟨subtitle⟩} macro.
The commands for specifying authors are highly structured. The reason is they serve
double duty: the authors’ information is typeset in the manuscript and is used by the
metadata extraction tools for indexing and cataloguing. Therefore it is very important
to follow the guidelines exactly.
\author The basic commands are \author, \orcid (for the researchers registered with OR-
\orcid CID, http://www.orcid.org/), \affiliation and \email. In the simplest case, you
\affiliation enter them in this order:
\email
\author{...}
\orcid{...}
\affiliation{...}
\email{...}
Do not use the LATEX \and macro or commas, or \\ between the authors! Each author
deserves his or her own \author command. An attempt to list several authors or their e-
mails in one command leads to a warning or an error. This is not a bug, but the expected
behavior.
Note that some formats do not typeset e-mails or ORCID identifiers. Do not worry:
the metadata tools will get them.
ACM strongly encourages that you include ORCIDs for all authors before compiling
or submitting for review and/or production processing.
If you do not have an ORCID, you may get one for free by registering at http:
//www.orcid.org/.
Sometimes an author has several affiliations. In this case, the \affiliation com-
mand should be repeated:
\author{...}
\orcid{...}
\affiliation{...}
\affiliation{...}
\email{...}
10
solution is to put the \affiliation commands after each author, possibly repeating
them:
\author{...}
\orcid{...}
\affiliation{...}
\affiliation{...}
\email{...}
\author{...}
\orcid{...}
\affiliation{...}
\email{...}
\author{...}
\orcid{...}
\affiliation{...}
\affiliation{...}
\email{...}
In some cases, when several authors share the same affiliation, you can try to save space
using the format
\author{...}
\email{...}
\author{...}
\email{...}
\affiliation{...}
Here Trovato and Tobin share their affiliation with the Institute for Clarity in Documen-
tation, but only Ben Trovato is affiliated with The Thørväld Group.
\position The \affiliation and \additionalaffiliation commands are further structured
\institution to interact with the metadata extraction tools. Inside these commands you should use the
\department \position, \institution, \department, \city, \streetaddress, \state, \postcode
\streetaddress
\city
11
\state
\postcode
\country
and \country macros to indicate the corresponding parts of the affiliation. Note that in
some cases (for example, journals) these parts are not printed in the resulting copy, but
they are necessary since they are used by the XML metadata extraction programs. Do
not put commas or \\ between the elements of \affiliation. They will be provided
automatically.
The fields \institution, \city and \country are mandatory. If they are not pro-
vided, an error or a warning is issued. Currently the absence of \country produces an
error; ACM may change this in the future.
An example of the author block:
\author{A. U. Thor}
\orcid{1234-4564-1234-4565}
\affiliation{%
\institution{University of New South Wales}
\department{School of Biomedical Engineering}
\streetaddress{Samuels Building (F25), Kensington Campus}
\city{Sidney}
\state{NSW}
\postcode{2052}
\country{Australia}}
\email{[email protected]}
\author{A. N. Other}
\affiliation{%
\institution{University of New South Wales}
\city{Sidney}
\state{NSW}
\country{Australia}}
\author{C. O. Respondent}
\orcid{1234-4565-4564-1234}
\affiliation{%
\institution{University of Pennsylvania}
\city{Philadelphia}
\state{PA}
\country{USA}}
\affiliation{%
\institution{University of New South Wales}
\city{Sidney}
\state{NSW}
\country{Australia}}
Note that the old ACM conference formats did not allow more than six authors and
required some effort from authors to achieve alignment. The new format is much better
in this.
Sometimes an author works in several departments within the same insitution. There
could be two situations: the departments are independent, or one department is within
another. In the first case, just repeat the command \department several times. To handle
the second case the command has an optional numerical parameter. The departments
with higher numbers are higher in the organizational chart. Compare
\affiliation{%
\department[0]{Department of Lunar Studies} % 0 is the default
\department[1]{John Doe Institute} % higher than 0
\institution{University of San Serriffe}
12
\country{San Serriffe}}
and
\affiliation{%
\department{Department of Lunar Studies} % Not in the John Doe Institute!
\department{John Doe Institute}
\institution{University of San Serriffe}
\country{San Serriffe}}
However, the comma after the postcode is unfortunate: the address will be typeset (in
some formats) as
Fluginstitut
Sonenallee 17
123456, Helm, Germany
will be typeset as
Fluginstitut
Sonenallee 17
123456 Helm, Germany
Note that you should not use this option for journals.
It is expected that these commands are inserted by the author of the manuscript.
\thanks Like amsart (and unlike standard LATEX), we allow \thanks only outside of the com-
mands \title and \author. This command is obsolete and should not be used in most
13
cases. Do not list your acknowledgments or grant sponsors here. Put this information
in the acks environment (see Section 2.13).
\authorsaddresses In some formats, addresses are printed as a footnote on the first page. By default
LATEX typesets them itself using the information you give it. However, you can override
its choice using the commmand \authorsaddresses{⟨contact addresses⟩}, for example,
\authorsaddresses{%
Authors’ addresses: G.˜Zhou, Computer Science Department, College of
William and Mary, 104 Jameson Rd, Williamsburg, PA 23185, US;
V.˜B\’eranger, Inria Paris-Rocquencourt, Rocquencourt, France;
A.˜Patel, Rajiv Gandhi University, Rono-Hills, Doimukh, Arunachal
Pradesh, India; H.˜Chan, Tsinghua University, 30 Shuangqing Rd,
Haidian Qu, Beijing Shi, China; T.˜Yan, Eaton Innovation Center,
Prague, Czech Republic; T.˜He, C.˜Huang, J.˜A.˜Stankovic University
of Virginia, School of Engineering Charlottesville, VA 22903, USA;
T. F. Abdelzaher, (Current address) NASA Ames Research Center,
Moffett Field, California 94035.}
You can suppress printing authors’ addresses by setting them to an empty string:
\authorsaddresses{}. Please note that authors’ addresses are mandatory for journal
articles.
\titlenote While the command \thanks generates a note without a footnote mark, sometimes
\subtitlenote the authors might need notes more tightly connected to the title, subtitle or author. The
\authornote commands \titlenote, \subtitlenote and \authornote that follow the correspond-
ing commands (\title, \subtitle and \author) generate such notes. For example,
\title{This is a title}
\titlenote{This is a titlenote}
\author{A. U. Thor}
\authornote{This is an authornote}
Please never use a \footnote inside an \author or \title command since this con-
fuses the metadata extraction software. (Actually these commands now produce errors.)
\authornotemark Sometimes one may need to have the same footnote connected to several authors.
The command \authornotemark[⟨number⟩] adds just the footnote mark, for example,
\author{A. U. Thor}
\authornote{Both authors contributed equally to the paper}
...
\author{A. N. Other}
\authornotemark[1]
14
\acmMonth{3}
Note that \acmArticle is used not only for journals but also for some conference pro-
ceedings.
\acmArticleSeq The articles in the same issue of a journal have a sequence number. It is used to
vertically position the black blob on the first page of some formats. By default it is the
same as the article number, but the command \acmArticleSeq{⟨n⟩} can be used to
change it:
\acmArticle{39} % The sequence number will be 39 by default
\acmArticleSeq{5} % We redefine it to 5
\acmPrice The macro \acmPrice{⟨price⟩} sets the price for the article, for example,
\acmPrice{25.00}
Note that you do not need to put the dollar sign here, just the amount. By default
the price is $15.00, unless the copyright is set to usgov, rightsretained, iw3c2w3, or
iw3c2w3g, when it is suppressed. Note that to override the defaults you need to set the
price after the \setcopyright command. Also, the command \acmPrice{} suppresses
the printing of the price.
\acmISBN Book-like volumes have ISBN numbers attached to them. The macro \acmISBN{⟨ISBN ⟩}
sets it. Normally it is set by the typesetter, for example,
\acmISBN{978-1-4503-3916-2}
It is normally set by the typesetter. Setting it to the empty string, as \acmDOI{}, sup-
presses the DOI.
\acmBadgeR Some conference articles get special distinctions, for example, the artifact evaluation
\acmBadgeL for PPoPP 2016 (see http://ctuning.org/ae/ppopp2016.html). These articles display
special badges supplied by the conference organizers. This class provides commands to
add these badges: \acmBadgeR[⟨url⟩]{⟨graphics⟩} and \acmBadgeL[⟨url⟩]{⟨graphics⟩}.
The first command puts the badge to the right of the title, and the second one—to the
left. The arguments have the following meaning: [⟨url⟩], if provided, sets the link to
the badge authority in the screen version, while {⟨graphics⟩} sets the graphics file with
the badge image. The file must be a cropped square, which is scaled to a standard size
in the output. For example, if the badge image is ae-logo.pdf, the command is
\acmBadgeR[http://ctuning.org/ae/ppopp2016.html]{ae-logo}
15
\startPage The macro \startPage{⟨page⟩} sets the first page of the article in a journal or book.
It is used by the typesetter.
\terms The command \keywords{⟨keyword, keyword,. . . ⟩} sets keywords for the article.
\keywords They must be separated by commas, for example,
CCSXML (env.) ACM publications are classified according to the ACM Computing Classification
\ccsdesc Scheme (CCS). CCS codes are used both in the typeset version of the publications and in
the metadata in various databases. Therefore you need to provide both TEX commands
and XML metadata with the paper.
The tool at http://dl.acm.org/ccs.cfm can be used to generate CCS codes. After
you select the topics, click on “Generate CCS codes” to get results like the following:
\begin{CCSXML}
<ccs2012>
<concept>
<concept_id>10010520.10010553.10010562</concept_id>
<concept_desc>Computer systems organization˜Embedded systems</concept_desc>
<concept_significance>500</concept_significance>
</concept>
<concept>
<concept_id>10010520.10010575.10010755</concept_id>
<concept_desc>Computer systems organization˜Redundancy</concept_desc>
<concept_significance>300</concept_significance>
</concept>
<concept>
<concept_id>10010520.10010553.10010554</concept_id>
<concept_desc>Computer systems organization˜Robotics</concept_desc>
<concept_significance>100</concept_significance>
</concept>
<concept>
<concept_id>10003033.10003083.10003095</concept_id>
<concept_desc>Networks˜Network reliability</concept_desc>
<concept_significance>100</concept_significance>
</concept>
</ccs2012>
\end{CCSXML}
You just need to copy this code and paste it in your paper anywhere before
\maketitle.
CCS Concepts and user-defined keywords are required for all articles over two pages
in length, and are optional for one- and two-page articles (or abstracts).
\setcopyright There are several possibilities for the copyright of the papers published by the ACM:
the authors may transfer the rights to the ACM, license them to the ACM, some or all
authors might be employees of the US or Canadian governments, etc. Accordingly the
16
Table 3: Parameters for the \setcopyright command
Parameter Meaning
none The copyright and permission information is not typeset.
(This is the option for some ACM conferences.)
acmcopyright The authors transfer the copyright to the ACM (the “tradi-
tional” choice).
acmlicensed The authors retain the copyright but license the publication
rights to ACM.
rightsretained The authors retain the copyright and publication rights to
themselves or somebody else.
usgov All the authors are employees of the US government.
usgovmixed Some authors are employees of the US government.
cagov All the authors are employees of the Canadian government.
cagovmixed Some authors are employees of the Canadian government.
licensedusgovmixed Some authors are employees of the US government, and the
publication rights are licensed to ACM.
licensedcagov All the authors are employees of the Canadian government,
and the publication rights are licensed to ACM.
licensedcagovmixed Some authors are employees of the Canadian government,
and the publication rights are licensed to ACM.
othergov Authors are employees of a government other than the US
or Canada.
licensedothergov Authors are employees of a government other than the US
or Canada, and the publication rights are licensed to ACM.
iw3c2w3 Special statement for conferences organized by IW3C2.
iw3c2w3g Special statement for conferences organized by IW3C2,
when some authors are approved Google employees.
cc Creative Commons license. If this key is set, doclicense im-
ages are used to typeset the license. See also \setcctype
command. Note that at present this license can be used only
for acmengage format or for nonacm publications.
17
The ACM submission software should generate the right command for you to paste
into your file.
\copyrightyear Each copyright statement must have the year of copyright. By default it is the same
as \acmYear, but you can override this using the macro \copyrightyear, e.g.,
\acmYear{2016}
\copyrightyear{2015}
There is a special case for a personal copy that the authors may be allowed to generate
for their use or a posting on a personal site (check the instructions for the specific journal
or conference for the details). The document option authorversion=true produces
a special form of the copyright statement for this case. Note that you still need the
\setcopyright command and (optionally) \copyrightyear command to tell TEX about
the copyright owner and year. Also, you should be aware that due to the different sizes
of the permssion blocks for the printed version and authors’ version, the page breaks
might be different between them.
abstract (env.) The environment abstract must precede the \maketitle command. Again, this is
different from the standard LATEX. Putting abstract after \maketitle will trigger an
error.
teaserfigure (env.) A special kind of figure is used for many two-column conference proceedings.
This figure is placed just after the authors but before the main text. The environ-
ment teaserfigure is used for these figures. This environment must be used before
\maketitle, for example,
\begin{teaserfigure}
\includegraphics[width=\textwidth]{sampleteaser}
\caption{This is a teaser}
\label{fig:teaser}
\end{teaserfigure}
\settopmatter Some information in the top matter is printed for certain journals or proceed-
ings and suppressed for others. You can override these defaults using the command
\settopmatter{⟨settings⟩}. The settings and their meanings are listed in Table 4. For
example,
\settopmatter{printacmref=false, printccs=true, printfolios=true}
However, in most cases you should not do this and should use the default settings. Set-
ting authorsperrow to 0 will revert it to the default settings.
The parameter printacmref specifies whether to print the ACM bibliographic entry
(default), or not. Note that this entry is required for all articles over one page in length,
and is optional for one-page articles (abstracts).
\received The command \received[⟨stage⟩]{⟨date⟩} sets the history of the publication.
18
Table 4: Settings for the \settopmatter command
The [⟨stage⟩] argument is optional; the default is Received for the first date and
revised for the subsequent ones. For example,
\received{20 February 2007}
\received[revised]{12 March 2009}
\received[accepted]{5 June 2009}
\maketitle The macro \maketitle must be the last command in the top-matter group. That is
it must follow the commands defined in this section.
\shortauthors After the command \maketitle, the macro \shortauthors stores the names of the
authors for the running head. You can redefine it if the list of author’s name is too long,
e.g.,
\maketitle
\renewcommand{\shortauthors}{Zhou et al.}
Note that the type of Creative Commons license, if such license is used, is automat-
ically added to the metadata.
19
There are several top matter commands specific for this format.
\acmArticleType There are five article types accepted by JDS: Research (the default), Review, Discussion,
Invited, and Position. The command \acmArticleType{⟨type⟩} sets the article type, for
example
\acmArticleType{Review}
2.6 Internationalization
ACM accepts publications in languages other than English, as well as papers in English
with translations of titles, subtitles, keywords and abstracts into other languages. Papers
in languages other than English usually have titles, subtitles (if applicable), keywords
and abstracts in English. Note that CCS concepts are always typeset in English.
To submit these papers you need to set the option language in the \documentclass
command. This option can be repeated, for example,
\documentclass[sigconf, language=french, language=english]{acmart}
The last language in the list is the main language of the paper, i.e. the one for the main
title, abstract, body, etc. The other languages are secondary, and used for translated titles,
keywords, abstracts. Thus the paper above is written in English, and has a secondary
abstract and a secondary title in French. On the other hand, a paper in French wih
secondary titles and abstracts in English and German should use, for example
\documentclass[sigconf,
language=german,
language=english,
language=french]{acmart}
20
This key can use any language defined in babel package [3] (currently the package
is tested with English, French, German and Spanish languages; other languages may
require a translation of \keywordsname macro). Actually acmart loads babel internally,
so you can use the facilities provided by this package.
If this key is set, you have access to several additional top matter commands.
\translatedtitle The commands \translatedtitle{⟨language⟩}title, \translatedsubtitle{⟨language⟩}subtitle
\translatedsubtitle and \translatedkeywordslanguagekeywords are used to set title, subtitle and key-
\translatedkeywords words in the secondary language. For example, a paper in English with French title
and abstract may set
\title{A note on computational complexity}
\translatedtitle{french}{Remarque sur la complexit\’e de calcul}
You can repeat these commands if a paper has more than one secondary language.
Use the standard commands (\title, \subtitle, \keywords, abstract) for the
main language of the paper.
2.7 Algorithms
There are now several good packages for typesetting algorithms [4, 5, 6], and the authors
are free to choose their favorite one.
1. The captions for figures must be entered after the figure bodies and for tables
before the table bodies.
2. The ACM uses the standard types for figures and tables and adds several new ones.
In total there are the following types:
figure, table: a standard figure or table taking a full text width in one-column
formats and one column width in two-column formats.
figure*, table* in two-column formats, a special figure or table taking a full text
width.
teaserfigure: a special figure before \maketitle.
21
3. Accordingly, when scaling images, one should use the following sizes:
(a) For teaserfigure, figure in one-column mode or figure* in two-column
mode, use \textwidth. In one-column mode, you can also use \columnwidth,
which coincides with \textwidth in this case.
(b) For figure in two-column mode, use \columnwidth.
It is strongly recommended to use the package booktabs [7] and follow its main
principles of typography with respect to tables:
1. Never, ever use vertical rules.
Tables and figures are by default centered. However, in some cases (for example,
when you use several subimages per figure) you may need to override this. A good way
to do so is to put the contents into a \minipage of the width \columnwidth.
22
2.9 Descriptions of images
\Description Some readers of ACM publications might be visually challenged. These readers might
use a voice-over software to read aloud the papers. It is important to provide them a
description of each image used in the paper.
The command \Description[⟨short description⟩]{⟨long description⟩} should be
placed inside every figure, teaserfigure or marginfigure environment to provide
a description of the image(s) used in the figure. Unlike \caption, which is used along-
side the image, \Description is intended to be used instead of the image, for example,
\begin{figure}
\centering
\includegraphics{voltage}
\Description{A bell-like histogram centered at $0.5$˜V with most
measurements between $0.2$˜V and $0.8$˜V}
\caption{Histogram of the measurements of voltage}
\label{fig:voltage}
\end{figure}
2.10 Theorems
The ACM classes define two theorem styles and several pre-defined theorem environ-
ments:
acmplain: this is the style used for theorem, conjecture, proposition, lemma and
corollary, and
acmdefinition: this is the style used for example and definition.
These environments are defined by default. In the unusual circumstance that a user
does not wish to have these environments defined, the option acmthm=false in the
preamble will suppress them.
Sometimes authors want to define new theorem-like constructs that use theorem
counters. These constructs must be defined either after \begin{document}, or delayed
using \AtEndPreamble macro, for example,
\AtEndPreamble{%
\theoremstyle{acmdefinition}
\newtheorem{remark}[theorem]{Remark}}
\begin{printonly}
23
Supplementary materials are available in the online version of this paper.
\end{printonly}
\begin{screenonly}
(The actual supplementary materials.)
\end{screenonly}
We use the comment package for typesetting this code, so \begin and \end should
start on a line of their own with no leading or trailing spaces.
2.13 Acknowledgments
The traditional “Acknowledgments” section is conventionally used to thank persons and
granting agencies for their help and support. However, there are several important con-
siderations about this section.
First, in anonymous mode this section must be omitted: it gives too much informa-
tion to reviewers. Second, data about grants is extracted and stored separately by the
postprocessing software. ACM classes provide facilities for both these tasks.
acks (env.) The environment acks starts an unnumbered section “Acknowledgments” unless the
anonymous mode is chosen. Put all thanks inside this environment.
As for the printonly and screenonly environments, \begin{acks} and \end{acks}
should start on a line of their own with no leading or trailing spaces.
\grantsponsor All financial support must be listed using the commands \grantsponsor and
\grantnum \grantnum. These commands tell the postprocessing software about the granting or-
ganization and grant. The format of these commands is the following:
\grantsponsor{⟨sponsorID⟩}{⟨name⟩}{⟨url⟩}
\grantnum[⟨url⟩]{⟨sponsorID⟩}{⟨number⟩}.
24
Here {⟨sponsorID⟩} is the unique ID used to match grants to sponsors, {⟨name⟩} is
the name of the sponsor, {⟨url⟩} is its URL, and {⟨number⟩} is the grant number. The
{⟨sponsorID⟩} of the \grantnum command must correspond to the {⟨sponsorID⟩} of a
\grantsponsor command. Some awards have their own web pages, which you can
include using the optional argument of the \grantnum command.
At present {⟨sponsorID⟩} is chosen by the authors and can be an arbitrary key in
the same way the label of a \cite is arbitrarily chosen. There might be a change to this
policy if the ACM decides to create a global database of sponsoring organizations.
Example:
\begin{acks}
The authors would like to thank Dr. Yuhua Li for providing the
matlab code of the \textit{BEPS} method.
The authors would also like to thank the anonymous referees for
their valuable comments and helpful suggestions. This work is
supported by the \grantsponsor{GS501100001809}{National Natural
Science Foundation of
China}{https://doi.org/10.13039/501100001809} under Grant
No.:˜\grantnum{GS501100001809}{61273304}
and˜\grantnum[http://www.nnsf.cn/youngscientists]{GS501100001809}{Young
Scientists’ Support Program}.
\end{acks}
2.14 Bibliography
The ACM lets you use either BibTEX or BibLATEX to process your references: they require
slightly different setup of your LATEX file, as detailed in the following subsections.
Note that numeric citations are the default mode for most formats.
\setcitestyle You can further customize natbib using the \setcitestyle command, for example,
\setcitestyle{numbers,sort&compress}
25
It is useful if you do not like the way natbib sorts citation lists.
If you use natbib, then commands like \citep and \citeauthor are automatically
supported. The command \shortcite is the same as \cite in numerical mode and cites
the year in author-date mode.
Note that before version 1.48 the command \citeyear put the year in parentheses.
In version 1.48 and later it produces just the year; the command \citeyearpar can be
used to emulate its old behavior.
There are several customized BibTEX entry types and fields in the ACM style file
ACM-Reference-Format.bst that you may want to be aware of.
The style supports the fields doi and url, for example,
doi = "10.1145/1188913.1188915",
url = "http://ccrma.stanford.edu/˜jos/bayes/bayes.pdf",
Normally the printing of URL is suppressed if DOI is present. However, there is a special
field distinctURL. If it is present and is not zero, URL is printed even if DOI is present.
The style supports the arXiv-recommended fields eprint and (optionally) primaryclass,
for example,
eprint = "960935712",
primaryclass = "cs",
26
lastaccessed = {May 27, 2019}
}
For these entry types you can use the lastaccessed field to add the access date for
the URL.
There are two ways to enter video or audio sources in the bibliograpy corresponding
to two different possibilies. For standalone sources available online, you can use an
online entry and set its howpublished field. For example,
@online{Obama08,
author = "Barack Obama",
year = "2008",
title = "A more perfect union",
howpublished = "Video",
day = "5",
url = "http://video.google.com/videoplay?docid=6528042696351994555",
month = mar,
lastaccessed = "March 21, 2008",
}
Sometimes you need to cite a complete issue of a journal. The periodical entry
type is intended for this:
@periodical{JCohen96,
key = "Cohen",
editor = "Jacques Cohen",
title = "Special issue: Digital Libraries",
journal = "Communications of the {ACM}",
volume = "39",
number = "11",
month = nov,
year = "1996",
}
If you do not know the year of publication, the style will add “[n. d.]” (for “no date”)
to the entry.
27
If you do not know the author (this is often the case for online entries), use the key
field to add a key for sorting and citations, for example,
@online{TUGInstmem,
key = {TUG},
year = 2017,
title = "Institutional members of the {\TeX} Users Group",
url = "http://wwtug.org/instmem.html",
lastaccessed = "May 27, 2017",
}
A note about sorting. The current ACM bibliography styles always sort the entries
according to authors names and publication year. There is a controversy about sorting
names with “von” or “van” part: should Ludwig van Beethoven be sorted under “V” or
under “B”? The American practice is to use “van” in sorting, i.e. to file van Beethoven
under “V”. However, some authorities recommend to sort Dutch persons according to
their last names (see e.g. https://www.ifla.org/files/assets/cataloguing/pubs/
names-of-persons 1996.pdf). While I do not want to take a part in this dispute, I
would like to point to the old “noopsort” trick by Oren Patashnik. Add to the .bib file
the line
@PREAMBLE{"\providecommand{\noopsort}[1]{}"}
This will make the author to be sorted as “Beethoven” rather than “van Beethoven”.
The current bst style defines a number of macros for common journal names.
In particular, all journals listed in Table 5 are includes, so you can use strings like
journal = taccess for ACM Transactions on Accessible Computing.
28
Also in the preamble, you need to declare the bibliography sources files using the
\addbibresouce directe (one \addbibresource command per source file), e.g.:
\addbibresource{software.bib}
\addbibresource{sample-base.bib}
At the end of the document, where you want the bibliography to appear, you need
to place the command \printbibliography.
Look at the sample-*-biblatex.tex files that can be found in the samples directory
after running make for templates showcasing these BibLATEX styles.
2.15 Colors
While printed ACM publications are usually black and white, screen mode allows the
use of colors. The ACM classes pre-define several colors according to [8]: ACMBlue,
ACMYellow, ACMOrange, ACMRed, ACMLightBlue, ACMGreen, ACMPurple and ACMDarkBlue.
You can use them in color assignments.
The ACM provides the following recommendation on color use.
The most accessible approach would be to ensure that your article is still readable
when printed in greyscale. The most notable reasons for this are:
1. The most common type of inherited Color Vision Deficiency (CVD) is red-green
(in which similar-brightness colors that differ only in their amounts of red or green
are often confused), and it affects up to 8% of males and 0.5% of females of Northern
European descent.
2. The most common type of acquired Color Vision Deficiency (CVD) is blue-yellow
(including mild cases for many older adults).
29
By default acmart prevents all widows and orphans (i.e., lonely lines at the beginning
or end of the page) and hyphenation at the end of the page. This is done by the rather
strict settings
\widowpenalty=10000
\clubpenalty=10000
\brokenpenalty=10000
However, this may lead to frustrating results when the authors must obey a page limit.
Setting these penalties to smaller values may help if you absolutely need to.
Another problem might be the too strict line breaking rules. Again, a strategically
placed \sloppy command or putting the problematic paragraph inside sloppypar en-
vironment might help—but beware, the results might be, well, sloppy.
Note that the uppercasing in section titles is done using the textcase package [12],
so the command \NoCaseChange inside the title may help to prevent extraneous upper-
casing.
and uses \begin{math}...\end{math} instead of dollar signs for math. Note that the
count is in any case approximate, and the final decision of editors is based on PDF count.
The script texcount provides a report of word count in the document.
30
The command \setcopyright{cc} produces an error unless the format is acmengage
or nonacm option is selected. On the other hand, if the option nonacm is selected, any
argument of \setcopyright other than cc is treated as none.
then titletoc will be loaded before hyperref. If you put in this file
\PassOptionsToPackage{dvipsnames}{xcolor}
31
2.21 Currently supported publications
Abbreviation Publication
ACMJCSS ACM Journal on Computing and Sustainable Societies
CIE ACM Computers in Entertainment
CSUR ACM Computing Surveys
DLT Distributed Ledger Technologies: Research and Practice
DGOV Digital Government: Research and Practice
DTRAP Digital Threats: Research and Practice
FAC Formal Aspects of Computing
GAMES ACM Games: Research and Practice
HEALTH ACM Transactions on Computing for Healthcare
IMWUT PACM on Interactive, Mobile, Wearable and Ubiquitous Technologies
JACM Journal of the ACM
JATS ACM Journal on Autonomous Transportation Systems
JDIQ ACM Journal of Data and Information Quality
JDS ACM/IMS Journal of Data Science
JEA ACM Journal of Experimental Algorithmics
JERIC ACM Journal of Educational Resources in Computing
JETC ACM Journal on Emerging Technologies in Computing Systems
JOCCH ACM Journal on Computing and Cultural Heritage
JRC ACM Journal on Responsible Computing
PACMCGIT Proceedings of the ACM on Computer Graphics and Interactive Tech-
niques
PACMHCI PACM on Human-Computer Interaction
PACMNET PACM on Networking
PACMPL PACM on Programming Languages
POMACS PACM on Measurement and Analysis of Computing Systems
TAAS ACM Transactions on Autonomous and Adaptive Systems
TACCESS ACM Transactions on Accessible Computing
TACO ACM Transactions on Architecture and Code Optimization
TALG ACM Transactions on Algorithms
TALLIP ACM Transactions on Asian and Low-Resource Language Information
Processing
TAP ACM Transactions on Applied Perception
TCPS ACM Transactions on Cyber-Physical Systems
TDS ACM/IMS Transactions on Data Science
TEAC ACM Transactions on Economics and Computation
TECS ACM Transactions on Embedded Computing Systems
TELO ACM Transactions on Evolutionary Learning
THRI ACM Transactions on Human-Robot Interaction
TIIS ACM Transactions on Interactive Intelligent Systems
TIOT ACM Transactions on Internet of Things
TISSEC ACM Transactions on Information and System Security
TIST ACM Transactions on Intelligent Systems and Technology
TKDD ACM Transactions on Knowledge Discovery from Data
32
Table 5: ACM publications and arguments of the \acmJournal command (continued)
Abbreviation Publication
TMIS ACM Transactions on Management Information Systems
TOCE ACM Transactions on Computing Education
TOCHI ACM Transactions on Computer-Human Interaction
TOCL ACM Transactions on Computational Logic
TOCS ACM Transactions on Computer Systems
TOCT ACM Transactions on Computation Theory
TODAES ACM Transactions on Design Automation of Electronic Systems
TODS ACM Transactions on Database Systems
TOG ACM Transactions on Graphics
TOIS ACM Transactions on Information Systems
TOIT ACM Transactions on Internet Technology
TOMACS ACM Transactions on Modeling and Computer Simulation
TOMM ACM Transactions on Multimedia Computing, Communications and
Applications
TOMPECS ACM Transactions on Modeling and Performance Evaluation of Com-
puting Systems
TOMS ACM Transactions on Mathematical Software
TOPC ACM Transactions on Parallel Computing
TOPLAS ACM Transactions on Programming Languages and Systems
TOPS ACM Transactions on Privacy and Security
TORS ACM Transactions on Recommender Systems
TOS ACM Transactions on Storage
TOSEM ACM Transactions on Software Engineering and Methodology
TOSN ACM Transactions on Sensor Networks
TQC ACM Transactions on Quantum Computing
TRETS ACM Transactions on Reconfigurable Technology and Systems
TSAS ACM Transactions on Spatial Algorithms and Systems
TSC ACM Transactions on Social Computing
TSLP ACM Transactions on Speech and Language Processing
TWEB ACM Transactions on the Web
Besides the publications listed in Table 5, there is a special “publication” type FACMP,
a forthcoming ACM publication, reserved for new journals which are not assigned an
ISSN yet.
sidebar (env.) This format has large margin uses for special figures and tables. This package pro-
marginfigure (env.) vides three environments for this with optional captions:
margintable (env.)
33
sidebar: textual information in the margin,
marginfigure: a figure in the margin,
1. figure: \columnwidth,
2. marginfigure: \marginparwidth,
3. figure*: \fulltextwidth.
34
3 Implementation
3.1 Identification
We start with a declaration of who we are. Most .dtx files put driver code in a sep-
arate .drv driver file. We roll this code into the main file and use the pseudo-guard
<gobble> for it.
1 ⟨class⟩\NeedsTeXFormat{LaTeX2e}
2 ⟨∗gobble⟩
3 \ProvidesFile{acmart.dtx}
4 ⟨/gobble⟩
5 ⟨class⟩\ProvidesClass{acmart}
6 [2022/10/24 v1.88 Typesetting articles for the Association for Computing Machinery]
3.3 Options
We need xkeyval since some of our options may have values:
29 \RequirePackage{xkeyval}
35
format The possible formats
32 \define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{%
33 manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph,
34 sigplan, sigchi, sigchi-a, acmengage, acmcp}[manuscript]{}{%
35 \ClassError{\@classname}{The option format must be manuscript,
36 acmsmall, acmlarge, acmtog, sigconf, siggraph,
37 sigplan, sigchi or sigchi-a}}
38 \def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{acmart.cls}{format=#1}}}
39 \@DeclareACMFormat{manuscript}
40 \@DeclareACMFormat{acmsmall}
41 \@DeclareACMFormat{acmlarge}
42 \@DeclareACMFormat{acmtog}
43 \@DeclareACMFormat{sigconf}
44 \@DeclareACMFormat{siggraph}
45 \@DeclareACMFormat{sigplan}
46 \@DeclareACMFormat{sigchi}
47 \@DeclareACMFormat{sigchi-a}
48 \@DeclareACMFormat{acmengage}
49 \@DeclareACMFormat{acmcp}
50 \ExecuteOptionsX{format}
\if@ACM@urlbreakonhyphens
59 \define@boolkey+{acmart.cls}[@ACM@]{urlbreakonhyphens}[true]{%
60 \if@ACM@urlbreakonhyphens
61 \PackageInfo{\@classname}{Using breaking urls on hyphens}%
62 \else
63 \PackageInfo{\@classname}{Not breaking urls on hyphens}%
64 \fi}{\PackageError{\@classname}{The option urlbreakonhyphens can be either true or
65 false}}
66 \ExecuteOptionsX{urlbreakonhyphens=true}
36
76 \if@ACM@review
77 \PackageInfo{\@classname}{Using review mode}%
78 \AtBeginDocument{\@ACM@printfoliostrue}%
79 \else
80 \PackageInfo{\@classname}{Not using review mode}%
81 \fi}{\PackageError{\@classname}{The option review can be either true or
82 false}}
83 \ExecuteOptionsX{review=false}
\if@ACM@nonacm Special option for non-ACM publications using the ACM typesetting options.
92 \define@boolkey+{acmart.cls}[@ACM@]{nonacm}[true]{%
93 \if@ACM@nonacm
94 \PackageInfo{\@classname}{Using nonacm mode}%
95 \AtBeginDocument{\@ACM@printacmreffalse}%
96 % in ’nonacm’ mode we disable the "ACM Reference Format"
97 % printing by default, but this can be re-enabled by the
98 % user using \settopmatter{printacmref=true}
99 \else
100 \PackageInfo{\@classname}{Not using nonacm mode}%
101 \fi}{\PackageError{\@classname}{The option nonacm can be either true or
102 false}}
103 \ExecuteOptionsX{nonacm=false}
37
118 false}}
119 \ExecuteOptionsX{natbib=true}
158 \DeclareOptionX{draft}{\PassOptionsToClass{\CurrentOption}{amsart}}
159 \DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}}
160 \ProcessOptionsX
161 \ClassInfo{\@classname}{Using format \ACM@format, number \ACM@format@nr}
38
3.4 Setting switches
\if@ACM@manuscript Whether we use manuscript mode
162 \newif\if@ACM@manuscript
\if@ACM@journal@bibstrip Sometimes ACM wants a journal-like publication to have conference information in the
bibstrip and vice versa, so we have an additional switch.
164 \newif\if@ACM@journal@bibstrip
\if@ACM@sigchiamode The formatting of SIGCHI extended abstracts is quite unusual. We have a special switch
for them.
165 \newif\if@ACM@sigchiamode
Setting up switches
170 \ifnum\ACM@format@nr=5\relax % siggraph
171 \ClassWarning{\@classname}{%
172 The format siggraph is now obsolete.\MessageBreak
173 I am switching to sigconf.}
174 \setkeys{acmart.cls}{format=sigconf}
175 \fi
176 \ifnum\ACM@format@nr=7\relax % sigchi
177 \ClassWarning{\@classname}{%
178 The format sigchi is now obsolete.\MessageBreak
179 I am switching to sigconf.}
180 \setkeys{acmart.cls}{format=sigconf}
181 \fi
182 \ifnum\ACM@format@nr=8\relax % sigchi
183 \ClassWarning{\@classname}{%
184 ACM SIGCHI has retired the SIGCHI-A template\MessageBreak
185 effective immediately. ACM is keeping this template\MessageBreak
186 option available to authors who are working on legacy\MessageBreak
187 documents only. ACM will not, under any circumstances,\MessageBreak
188 accept documents in this format for publication and\MessageBreak
189 will not offer technical support to the authors who use\MessageBreak
190 this template.\MessageBreak
191 ACM SIGCHI is directing Conference leaders and\MessageBreak
192 authors to publish their articles using the SIGCONF\MessageBreak
193 template call.}
194 \fi
195 \ifnum\ACM@format@nr=0\relax
196 \@ACM@manuscripttrue
197 \else
39
198 \@ACM@manuscriptfalse
199 \fi
200 \@ACM@sigchiamodefalse
201 \ifcase\ACM@format@nr
202 \relax % manuscript
203 \@ACM@journaltrue
204 \or % acmsmall
205 \@ACM@journaltrue
206 \or % acmlarge
207 \@ACM@journaltrue
208 \or % acmtog
209 \@ACM@journaltrue
210 \or % sigconf
211 \@ACM@journalfalse
212 \or % siggraph
213 \@ACM@journalfalse
214 \or % sigplan
215 \@ACM@journalfalse
216 \or % sigchi
217 \@ACM@journalfalse
218 \or % sigchi-a
219 \@ACM@journalfalse
220 \@ACM@sigchiamodetrue
221 \or % acmengage
222 \@ACM@journalfalse
223 \@ACM@engagetrue
224 \or % acmcp
225 \@ACM@journaltrue
226 \@ACM@acmcptrue
227 \AtBeginDocument{\@ACM@printacmreffalse}%
228 \fi
229 \if@ACM@journal
230 \@ACM@journal@bibstriptrue
231 \else
232 \@ACM@journal@bibstripfalse
233 \fi
40
248 \or % sigplan
249 \def\ACM@fontsize{10pt}%
250 \or % sigchi
251 \def\ACM@fontsize{9pt}%
252 \or % sigchi-a
253 \def\ACM@fontsize{10pt}%
254 \or % acmengage
255 \def\ACM@fontsize{10pt}%
256 \or % acmcp
257 \def\ACM@fontsize{9pt}%
258 \fi
259 \fi
260 \ClassInfo{\@classname}{Using fontsize \ACM@fontsize}
261 \LoadClass[\ACM@fontsize, reqno]{amsart}
262 \RequirePackage{microtype}
We need totpages to calculate the number of pages and refcount to use that num-
ber
265 \RequirePackage{refcount}
266 \RequirePackage{totpages}
273 \if@ACM@acmcp
274 \RequirePackage{framed}
275 \fi
3.6 Citations
We patch \setcitestyle to allow, for example, \setcitestyle{sort} and \setcitestyle{nosort}.
We patch \citestyle to warn about undefined citation styles.
276 \if@ACM@natbib
277 \RequirePackage{natbib}
278 \renewcommand{\bibsection}{%
279 \section*{\refname}%
280 \phantomsection\addcontentsline{toc}{section}{\refname}%
281 }
282 \renewcommand{\bibfont}{\bibliofont}
283 \renewcommand\setcitestyle[1]{
41
284 \@for\@tempa:=#1\do
285 {\def\@tempb{round}\ifx\@tempa\@tempb
286 \renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi
287 \def\@tempb{square}\ifx\@tempa\@tempb
288 \renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi
289 \def\@tempb{angle}\ifx\@tempa\@tempb
290 \renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi
291 \def\@tempb{curly}\ifx\@tempa\@tempb
292 \renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi
293 \def\@tempb{semicolon}\ifx\@tempa\@tempb
294 \renewcommand\NAT@sep{;}\fi
295 \def\@tempb{colon}\ifx\@tempa\@tempb
296 \renewcommand\NAT@sep{;}\fi
297 \def\@tempb{comma}\ifx\@tempa\@tempb
298 \renewcommand\NAT@sep{,}\fi
299 \def\@tempb{authoryear}\ifx\@tempa\@tempb
300 \NAT@numbersfalse\fi
301 \def\@tempb{numbers}\ifx\@tempa\@tempb
302 \NAT@numberstrue\NAT@superfalse\fi
303 \def\@tempb{super}\ifx\@tempa\@tempb
304 \NAT@numberstrue\NAT@supertrue\fi
305 \def\@tempb{nobibstyle}\ifx\@tempa\@tempb
306 \let\bibstyle=\@gobble\fi
307 \def\@tempb{bibstyle}\ifx\@tempa\@tempb
308 \let\bibstyle=\@citestyle\fi
309 \def\@tempb{sort}\ifx\@tempa\@tempb
310 \def\NAT@sort{\@ne}\fi
311 \def\@tempb{nosort}\ifx\@tempa\@tempb
312 \def\NAT@sort{\z@}\fi
313 \def\@tempb{compress}\ifx\@tempa\@tempb
314 \def\NAT@cmprs{\@ne}\fi
315 \def\@tempb{nocompress}\ifx\@tempa\@tempb
316 \def\NAT@cmprs{\z@}\fi
317 \def\@tempb{sort&compress}\ifx\@tempa\@tempb
318 \def\NAT@sort{\@ne}\def\NAT@cmprs{\@ne}\fi
319 \def\@tempb{mcite}\ifx\@tempa\@tempb
320 \let\NAT@merge\@ne\fi
321 \def\@tempb{merge}\ifx\@tempa\@tempb
322 \@ifnum{\NAT@merge<\tw@}{\let\NAT@merge\tw@}{}\fi
323 \def\@tempb{elide}\ifx\@tempa\@tempb
324 \@ifnum{\NAT@merge<\thr@@}{\let\NAT@merge\thr@@}{}\fi
325 \def\@tempb{longnamesfirst}\ifx\@tempa\@tempb
326 \NAT@longnamestrue\fi
327 \def\@tempb{nonamebreak}\ifx\@tempa\@tempb
328 \def\NAT@nmfmt#1{\mbox{\NAT@up#1}}\fi
329 \expandafter\NAT@find@eq\@tempa=\relax\@nil
330 \if\@tempc\relax\else
331 \expandafter\NAT@rem@eq\@tempc
332 \def\@tempb{open}\ifx\@tempa\@tempb
333 \xdef\NAT@open{\@tempc}\fi
334 \def\@tempb{close}\ifx\@tempa\@tempb
335 \xdef\NAT@close{\@tempc}\fi
336 \def\@tempb{aysep}\ifx\@tempa\@tempb
337 \xdef\NAT@aysep{\@tempc}\fi
42
338 \def\@tempb{yysep}\ifx\@tempa\@tempb
339 \xdef\NAT@yrsep{\@tempc}\fi
340 \def\@tempb{notesep}\ifx\@tempa\@tempb
341 \xdef\NAT@cmt{\@tempc}\fi
342 \def\@tempb{citesep}\ifx\@tempa\@tempb
343 \xdef\NAT@sep{\@tempc}\fi
344 \fi
345 }%
346 \NAT@@setcites
347 }
348 \renewcommand\citestyle[1]{%
349 \ifcsname bibstyle@#1\endcsname%
350 \csname bibstyle@#1\endcsname\let\bibstyle\@gobble%
351 \else%
352 \@latex@error{Undefined ‘#1’ citestyle}%
353 \fi
354 }%
355 \fi
3.7 Internationalization
370 \if@ACM@journal
371 \renewcommand\keywordsname{Additional Key Words and Phrases}%
372 \else
373 \renewcommand\keywordsname{Keywords}%
374 \fi
375 \if@ACM@engage
376 \renewcommand\abstractname{Synopsis}%
377 \fi
378 \ifx\ACM@languages\@empty
379 \else
380 \RequirePackage[\ACM@languages]{babel}%
381 \addto\captionsenglish{%
382 \if@ACM@journal
43
383 \renewcommand\keywordsname{Additional Key Words and Phrases}%
384 \else
385 \renewcommand\keywordsname{Keywords}%
386 \fi
387 \renewcommand\acksname{Acknowledgements}%
388 \if@ACM@engage
389 \renewcommand\abstractname{Synopsis}%
390 \fi
391 }%
392 \addto\captionsfrench{%
393 \if@ACM@journal
394 \renewcommand\keywordsname{Mots Clés et Phrases Supplémentaires}%
395 \else
396 \renewcommand\keywordsname{Mots clés}%
397 \fi
398 \renewcommand\acksname{Remerciements}%
399 }%
400 \addto\captionsgerman{%
401 \if@ACM@journal
402 \renewcommand\keywordsname{Zusätzliche Schlagwörter und Phrasen}%
403 \else
404 \renewcommand\keywordsname{Schlagwörter}%
405 \fi
406 \renewcommand\acksname{Danksagungen}%
407 }%
408 \addto\captionsspanish{%
409 \if@ACM@journal
410 \renewcommand\keywordsname{Palabras y Frases Claves Adicionales}%
411 \else
412 \renewcommand\keywordsname{Palabras claves}%
413 \fi
414 \renewcommand\acksname{Expresiones de gratitud}%
415 }%
416 \fi
\@translatedtitle
430 \def\@translatedtitle{}
44
431 \newcommand\translatedtitle[2]{\ACM@lang@check{\translatedtitle}%
432 \g@addto@macro\@translatedtitle{\par\foreignlanguage{#1}{#2}}}
\@translatedsubtitle
433 \def\@translatedsubtitle{}
\@translatedkeywords
436 \def\@translatedkeywords{}
3.8 Sectioning
\@startsection Before we call hyperref, we redefine \startsection commands to their LATEX defaults
since the amsart ones are too AMS-specific. We need to do this early since we want
hyperref to have a chance to redefine them again:
447 \def\@startsection#1#2#3#4#5#6{%
448 \if@noskipsec \leavevmode \fi
449 \par
450 \@tempskipa #4\relax
451 \@afterindenttrue
452 \ifdim \@tempskipa <\z@
453 \@tempskipa -\@tempskipa \@afterindentfalse
454 \fi
455 \if@nobreak
456 \everypar{}%
457 \else
458 \addpenalty\@secpenalty\addvspace\@tempskipa
459 \fi
460 \@ifstar
461 {\@ssect{#3}{#4}{#5}{#6}}%
462 {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
45
463 \def\@sect#1#2#3#4#5#6[#7]#8{%
464 \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}%
465 \ifnum #2>\c@secnumdepth
466 \let\@svsec\@empty
467 \else
468 \refstepcounter{#1}%
469 \protected@edef\@svsec{\@seccntformat{#1}\relax}%
470 \fi
471 \@tempskipa #5\relax
472 \ifdim \@tempskipa>\z@
473 \begingroup
474 #6{%
475 \@hangfrom{\hskip #3\relax\@svsec}%
476 \interlinepenalty \@M #8\@@par}%
477 \endgroup
478 \csname #1mark\endcsname{#7}%
479 \ifnum #2>\c@secnumdepth \else
480 \@tochangmeasure{\csname the#1\endcsname}%
481 \fi
482 \addcontentsline{toc}{#1}{%
483 \ifnum #2>\c@secnumdepth \else
484 \protect\numberline{\csname the#1\endcsname}%
485 \fi
486 #7}%
487 \else
488 \def\@svsechd{%
489 #6{\hskip #3\relax
490 \@svsec #8}%
491 \csname #1mark\endcsname{#7}%
492 \ifnum #2>\c@secnumdepth \else
493 \@tochangmeasure{\csname the#1\endcsname\space}%
494 \fi
495 \addcontentsline{toc}{#1}{%
496 \ifnum #2>\c@secnumdepth \else
497 \protect\numberline{\csname the#1\endcsname}%
498 \fi
499 #7}}%
500 \fi
501 \@xsect{#5}}
502 \def\@xsect#1{%
503 \@tempskipa #1\relax
504 \ifdim \@tempskipa>\z@
505 \par \nobreak
506 \vskip \@tempskipa
507 \@afterheading
508 \else
509 \@nobreakfalse
510 \global\@noskipsectrue
511 \everypar{%
512 \if@noskipsec
513 \global\@noskipsecfalse
514 {\setbox\z@\lastbox}%
515 \clubpenalty\@M
516 \begingroup \@svsechd \endgroup
46
517 \unskip
518 \@tempskipa #1\relax
519 \hskip -\@tempskipa
520 \else
521 \clubpenalty \@clubpenalty
522 \everypar{}%
523 \fi}%
524 \fi
525 \ignorespaces}
526 \def\@seccntformat#1{\csname the#1\endcsname\quad}
527 \def\@ssect#1#2#3#4#5{%
528 \@tempskipa #3\relax
529 \ifdim \@tempskipa>\z@
530 \begingroup
531 #4{%
532 \@hangfrom{\hskip #1}%
533 \interlinepenalty \@M #5\@@par}%
534 \endgroup
535 \else
536 \def\@svsechd{#4{\hskip #1\relax #5}}%
537 \fi
538 \@xsect{#3}}
\@startsection The amsart package redefines \startsection. Here we redefine it again to make the
table of contents work.
539 \def\@starttoc#1#2{\begingroup\makeatletter
540 \setTrue{#1}%
541 \par\removelastskip\vskip\z@skip
542 \@startsection{section}\@M\z@{\linespacing\@plus\linespacing}%
543 {.5\linespacing}{\centering\contentsnamefont}{#2}%
544 \@input{\jobname.#1}%
545 \if@filesw
546 \@xp\newwrite\csname tf@#1\endcsname
547 \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax
548 \fi
549 \global\@nobreakfalse \endgroup
550 \addvspace{32\p@\@plus14\p@}%
551 }
We need to define foonote-related stuff before the call to hyperref (Ross Moore)
\@makefntext We do not use indentation for footnotes
555 \def\@makefntext{\noindent\@makefnmark}
47
\@footnotetext In sigchi-a mode our footnotes are in the margin!
556 \if@ACM@sigchiamode
557 \long\def\@footnotetext#1{\marginpar{%
558 \reset@font\small
559 \interlinepenalty\interfootnotelinepenalty
560 \protected@edef\@currentlabel{%
561 \csname p@footnote\endcsname\@thefnmark
562 }%
563 \color@begingroup
564 \@makefntext{%
565 \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
566 \color@endgroup}}%
567 \fi
\@makefnmark AMS classes use a buggy definition of \makefnmark. We revert to the standard one.
580 \def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}
48
599 \or % siggraph
600 \or % sigplan
601 \urlstyle{sf}
602 \or % sigchi
603 \or % sigchi-a
604 \urlstyle{sf}
605 \or % acmengage
606 \or % acmcp
607 \fi
608 \AtEndPreamble{%
609 \if@ACM@urlbreakonhyphens
610 \def\do@url@hyp{\do\-}%
611 \fi
612 \if@ACM@screen
613 \hypersetup{colorlinks,
614 linkcolor=ACMPurple,
615 citecolor=ACMPurple,
616 urlcolor=ACMDarkBlue,
617 filecolor=ACMDarkBlue}
618 \else
619 \hypersetup{hidelinks}
620 \fi
621 \hypersetup{pdflang={en},
622 pdfdisplaydoctitle}}
Bibliography mangling.
623 \if@ACM@natbib
624 \let\citeN\cite
625 \let\cite\citep
626 \let\citeANP\citeauthor
627 \let\citeNN\citeyearpar
628 \let\citeyearNP\citeyear
629 \let\citeNP\citealt
630 \DeclareRobustCommand\citeA
631 {\begingroup\NAT@swafalse
632 \let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}%
633 \providecommand\newblock{}%
634 \else
635 \AtBeginDocument{%
636 \let\shortcite\cite%
637 \providecommand\citename[1]{#1}}
638 \fi
639 \newcommand\shortcite[2][]{%
640 \ifNAT@numbers\cite[#1]{#2}\else\citeyearpar[#1]{#2}\fi}
\bibliographystyle The amsart package redefines \bibliographystyle since it prefers the AMS bibliogra-
phy style. We turn it back to the LATEX definition:
641 \def\bibliographystyle#1{%
642 \ifx\@begindocumenthook\@undefined\else
643 \expandafter\AtBeginDocument
644 \fi
645 {\if@filesw
646 \immediate\write\@auxout{\string\bibstyle{#1}}%
647 \fi}}
49
3.10 Other packages
Graphics and color.
648 \RequirePackage{graphicx}
649 \RequirePackage[prologue]{xcolor}
50
689 \or % acmlarge
690 \geometry{twoside=true, head=13pt, foot=2pc,
691 paperwidth=8.5in, paperheight=11in,
692 includeheadfoot,
693 top=78pt, bottom=114pt, inner=81pt, outer=81pt,
694 marginparwidth=4pc,heightrounded
695 }%
696 \or % acmtog
697 \geometry{twoside=true, head=13pt, foot=2pc,
698 paperwidth=8.5in, paperheight=11in,
699 includeheadfoot, columnsep=24pt,
700 top=52pt, bottom=75pt, inner=52pt, outer=52pt,
701 marginparwidth=2pc,heightrounded
702 }%
703 \or % sigconf
704 \geometry{twoside=true, head=13pt,
705 paperwidth=8.5in, paperheight=11in,
706 includeheadfoot, columnsep=2pc,
707 top=57pt, bottom=73pt, inner=54pt, outer=54pt,
708 marginparwidth=2pc,heightrounded
709 }%
710 \or % siggraph
711 \geometry{twoside=true, head=13pt,
712 paperwidth=8.5in, paperheight=11in,
713 includeheadfoot, columnsep=2pc,
714 top=57pt, bottom=73pt, inner=54pt, outer=54pt,
715 marginparwidth=2pc,heightrounded
716 }%
717 \or % sigplan
718 \geometry{twoside=true, head=13pt,
719 paperwidth=8.5in, paperheight=11in,
720 includeheadfoot=false, columnsep=2pc,
721 top=1in, bottom=1in, inner=0.75in, outer=0.75in,
722 marginparwidth=2pc,heightrounded
723 }%
724 \or % sigchi
725 \geometry{twoside=true, head=13pt,
726 paperwidth=8.5in, paperheight=11in,
727 includeheadfoot, columnsep=2pc,
728 top=66pt, bottom=73pt, inner=54pt, outer=54pt,
729 marginparwidth=2pc,heightrounded
730 }%
731 \or % sigchi-a
732 \geometry{twoside=false, head=13pt,
733 paperwidth=11in, paperheight=8.5in,
734 includeheadfoot, marginparsep=72pt,
735 marginparwidth=170pt, columnsep=20pt,
736 top=72pt, bottom=72pt, left=314pt, right=72pt
737 }%
738 \@mparswitchfalse
739 \reversemarginpar
740 \or % acmengage
741 \geometry{twoside=true, head=13pt,
742 paperwidth=8.5in, paperheight=11in,
51
743 includeheadfoot, columnsep=2pc,
744 top=57pt, bottom=73pt, inner=54pt, outer=54pt,
745 marginparwidth=2pc,heightrounded
746 }%
747 \or % acmcp
748 \geometry{twoside=true,
749 includeheadfoot, head=13pt, foot=2pc,
750 paperwidth=6.75in, paperheight=10in,
751 top=58pt, bottom=44pt, inner=46pt, outer=46pt,
752 marginparwidth=2pc,heightrounded
753 }%
754 \fi
\parindent Paragraphing
\parskip 755 \setlength\parindent{10\p@}
756 \setlength\parskip{\z@}
757 \ifcase\ACM@format@nr
758 \relax % manuscript
759 \or % acmsmall
760 \or % acmlarge
761 \or % acmtog
762 \setlength\parindent{9\p@}%
763 \or % sigconf
764 \or % siggraph
765 \or % sigplan
766 \or % sigchi
767 \or % sigchi-a
768 \or % acmengage
769 \or % acmcp
770 \fi
\normalparindent The amsart package defines the \normalparindent length and initializes it to 12pt (the
value of \parindent in amsart). It is later used to set the \listparindent length in
the quotation environment and the \parindent length in the \@footnotetext com-
mand. We set \normalparindent to the value of \parindent as selected by acmart for
consistent paragraph indents.
771 \setlength\normalparindent{\parindent}
774 \RequirePackage{manyfoot}
775 \SelectFootnoteRule[2]{copyrightpermission}
776 \DeclareNewFootnote{authorsaddresses}
777 \SelectFootnoteRule[2]{copyrightpermission}
778 \DeclareNewFootnote{copyrightpermission}
52
\footnoterule Tschichold’s rules:
779 \def\footnoterule{\kern-3\p@
780 \hrule \@width 4pc \kern 2.6\p@}
In two-column layouts, force both columns to be the same height by inserting extra
internal vertical space to fill out the page.
795 \ifcase\ACM@format@nr
796 \relax % manuscript
797 \or % acmsmall
798 \or % acmlarge
799 \or % acmtog
800 \flushbottom
801 \or % sigconf
802 \flushbottom
803 \or % siggraph
804 \flushbottom
805 \or % sigplan
806 \flushbottom
807 \or % sigchi
808 \flushbottom
809 \or % sigchi-a
810 \or % acmengage
811 \flushbottom
812 \or % acmcp
813 \flushbottom
814 \fi
3.12 Fonts
Somehow PDFTeX and XeTeX require different incantations to make a PDF compliant
with the current Acrobat bugs. Xpdf is much better.
The code below is by Ross Moore.
815 \ifPDFTeX
816 \input{glyphtounicode}
53
817 \pdfglyphtounicode{f_f}{FB00}
818 \pdfglyphtounicode{f_f_i}{FB03}
819 \pdfglyphtounicode{f_f_l}{FB04}
820 \pdfglyphtounicode{f_i}{FB01}
821 \pdfglyphtounicode{t_t}{0074 0074}
822 \pdfglyphtounicode{f_t}{0066 0074}
823 \pdfglyphtounicode{T_h}{0054 0068}
824 \pdfgentounicode=1
825 \RequirePackage{cmap}
826 \fi
\liningnums Libertine defines \liningnums, which makes fontspec unhappy. While we do not use
fontspec, some users do.
860 \let\liningnums\@undefined
861 \AtEndPreamble{%
862 \DeclareTextFontCommand{\liningnums}{\libertineLF}}
54
The SIGCHI extended abstracts are sans serif:
863 \if@ACM@sigchiamode
864 \renewcommand{\familydefault}{\sfdefault}
865 \fi
55
902 \let\@vspacer\@vspacer@orig}
903 \AtBeginEnvironment{listing*}{\let\@vspace\@vspace@orig
904 \let\@vspacer\@vspacer@orig}
905
3.14 Floats
We use the caption package
906 \RequirePackage{caption, float}
907 \captionsetup[table]{position=top}
908 \if@ACM@journal
909 \captionsetup{labelfont={sf, small},
910 textfont={sf, small}, margin=\z@}
911 \captionsetup[figure]{name={Fig.}}
912 \else
913 \captionsetup{labelfont={bf},
914 textfont={bf}, labelsep=colon, margin=\z@}
915 \ifcase\ACM@format@nr
916 \relax % manuscript
917 \or % acmsmall
918 \or % acmlarge
919 \or % acmtog
920 \or % sigconf
921 \or % siggraph
922 \captionsetup{textfont={it}}
923 \or % sigplan
924 \captionsetup{labelfont={bf},
925 textfont={normalfont}, labelsep=period, margin=\z@}
926 \or % sigchi
927 \captionsetup[figure]{labelfont={bf, small},
928 textfont={bf, small}}
929 \captionsetup[table]{labelfont={bf, small},
930 textfont={bf, small}}
931 \or % sigchi-a
932 \captionsetup[figure]{labelfont={bf, small},
933 textfont={bf, small}}
934 \captionsetup[table]{labelfont={bf, small},
935 textfont={bf, small}}
936 \or % acmengage
937 \or % acmcp
938 \fi
939 \fi
56
marginfigure The marginfigure environment:
946 \newenvironment{marginfigure}{\Collect@Body\@marginfigure}{}
SIGCHI extended abstracts provide an interesting possibility to push into the margin.
Here we use figure* and table* for this.
\fulltextwidth We define the width of the boxes as
961 \newdimen\fulltextwidth
962 \fulltextwidth=\dimexpr(\textwidth+\marginparwidth+\marginparsep)
\@dblfloat We redefine the double-float command. First, we make the size bigger. Second, our
default position is going to be tp (to give marginalia a chance)
963 \if@ACM@sigchiamode
964 \def\@dblfloat{\bgroup\let\@vspace\@vspace@orig
965 \let\@vspacer\@vspacer@orig\columnwidth=\fulltextwidth
966 \let\@endfloatbox\@endwidefloatbox
967 \def\@fpsadddefault{\def\@fps{tp}}%
968 \@float}
969 \fi
\@endwidefloatbox This is the end of a wide box—we basically move everything to the left
974 \def\@endwidefloatbox{%
975 \par\vskip\z@skip
976 \@minipagefalse
977 \outer@nobreak
978 \egroup
979 \color@endbox
57
980 \global\setbox\@currbox=\vbox{\moveleft
981 \dimexpr(\fulltextwidth-\textwidth)\box\@currbox}%
982 \wd\@currbox=\textwidth
983 }
3.15 Lists
984 \ifcase\ACM@format@nr
985 \relax % manuscript
986 \or % acmsmall
987 \or % acmlarge
988 \or % acmtog
989 \or % sigconf
990 \or % siggraph
991 \or % sigplan
992 \def\labelenumi{\theenumi.}
993 \def\labelenumii{\theenumii.}
994 \def\labelenumiii{\theenumiii.}
995 \def\labelenumiv{\theenumiv.}
996 \or % sigchi
997 \or % sigchi-a
998 \or % acmengage
999 \or % acmcp
1000 \fi
The AMS uses generous margins for lists. Note that amsart defines \leftmargin
values for list levels at the beginning of the document, so we must redefine them in the
same manner. Also, note that amsart redefines the enumerate and itemize environ-
ments with a \makelabel command that uses \llap, so the \labelwidth value is (effec-
tively) irrelevant; nonetheless, we follow amsart and set \labelwidth to \leftmargin
minus \labelsep.
1001 \newdimen\@ACM@labelwidth
1002 \AtBeginDocument{%
1003 \setlength\labelsep{4pt}
1004 \setlength{\@ACM@labelwidth}{6.5pt}
1005
1006 %% First-level list: when beginning after the first line of an
1007 %% indented paragraph or ending before an indented paragraph, labels
1008 %% should not hang to the left of the preceding/following text.
1009 \setlength\leftmargini{\z@}
1010 \addtolength\leftmargini{\parindent}
1011 \addtolength\leftmargini{2\labelsep}
1012 \addtolength\leftmargini{\@ACM@labelwidth}
1013
1014 %% Second-level and higher lists.
1015 \setlength\leftmarginii{\z@}
1016 \addtolength\leftmarginii{0.5\labelsep}
1017 \addtolength\leftmarginii{\@ACM@labelwidth}
1018 \setlength\leftmarginiii{\leftmarginii}
1019 \setlength\leftmarginiv{\leftmarginiii}
1020 \setlength\leftmarginv{\leftmarginiv}
1021 \setlength\leftmarginvi{\leftmarginv}
1022 \@listi}
1023 \newskip\listisep
58
1024 \listisep\smallskipamount
1025 \def\@listI{\leftmargin\leftmargini
1026 \labelwidth\leftmargini \advance\labelwidth-\labelsep
1027 \listparindent\z@
1028 \topsep\listisep}
1029 \let\@listi\@listI
1030 \def\@listii{\leftmargin\leftmarginii
1031 \labelwidth\leftmarginii \advance\labelwidth-\labelsep
1032 \topsep\z@skip}
1033 \def\@listiii{\leftmargin\leftmarginiii
1034 \labelwidth\leftmarginiii \advance\labelwidth-\labelsep}
1035 \def\@listiv{\leftmargin\leftmarginiv
1036 \labelwidth\leftmarginiv \advance\labelwidth-\labelsep}
1037 \def\@listv{\leftmargin\leftmarginv
1038 \labelwidth\leftmarginv \advance\labelwidth-\labelsep}
1039 \def\@listvi{\leftmargin\leftmarginvi
1040 \labelwidth\leftmarginvi \advance\labelwidth-\labelsep}
\descriptionlabel We do not use a colon by default like amsart does:
1041 \renewcommand{\descriptionlabel}[1]{\upshape\bfseries #1}
\description Make the description environment indentation consistent with that of the itemize
and enumerate environments.
1042 \renewenvironment{description}{\list{}{%
1043 \labelwidth\@ACM@labelwidth
1044 \let\makelabel\descriptionlabel}%
1045 }{
1046 \endlist
1047 }
1048 \let\enddescription=\endlist % for efficiency
We use the xkeyval interface to define journal titles and the relevant information
1051 \define@choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode@nr]{%
1052 ACMJCSS,%
1053 CIE,%
1054 CSUR,%
1055 DGOV,%
1056 DLT,%
1057 DTRAP,%
1058 FAC,%
1059 GAMES,%
1060 HEALTH,%
1061 IMWUT,%
1062 JACM,%
1063 JATS,%
1064 JDIQ,%
1065 JDS,%
59
1066 JEA,%
1067 JERIC,%
1068 JETC,%
1069 JOCCH,%
1070 JRC,%
1071 PACMCGIT,%
1072 PACMHCI,%
1073 PACMNET,%
1074 PACMPL,%
1075 POMACS,%
1076 TAAS,%
1077 TACCESS,%
1078 TACO,%
1079 TALG,%
1080 TALLIP,%
1081 TAP,%
1082 TCPS,%
1083 TDS,%
1084 TEAC,%
1085 TECS,%
1086 TELO,%
1087 THRI,%
1088 TIIS,%
1089 TIOT,%
1090 TISSEC,%
1091 TIST,%
1092 TKDD,%
1093 TMIS,%
1094 TOCE,%
1095 TOCHI,%
1096 TOCL,%
1097 TOCS,%
1098 TOCT,%
1099 TODAES,%
1100 TODS,%
1101 TOG,%
1102 TOIS,%
1103 TOIT,%
1104 TOMACS,%
1105 TOMM,%
1106 TOMPECS,%
1107 TOMS,%
1108 TOPC,%
1109 TOPS,%
1110 TOPLAS,%
1111 TORS,%
1112 TOS,%
1113 TOSEM,%
1114 TOSN,%
1115 TQC,%
1116 TRETS,%
1117 TSAS,%
1118 TSC,%
1119 TSLP,%
60
1120 TWEB,%
1121 FACMP%
1122 }{%
1123 \ifcase\@journalCode@nr
1124 \relax % ACMJCSS
1125 \def\@journalName{ACM Journal on Computing and Sustainable Societies}%
1126 \def\@journalNameShort{ACM J. Comput. Sustain. Soc.}%
1127 \def\@permissionCodeOne{2834-5533}%
1128 \or % CIE
1129 \def\@journalName{ACM Computers in Entertainment}%
1130 \def\@journalNameShort{ACM Comput. Entertain.}%
1131 \def\@permissionCodeOne{1544-3574}%
1132 \or % CSUR
1133 \def\@journalName{ACM Computing Surveys}%
1134 \def\@journalNameShort{ACM Comput. Surv.}%
1135 \def\@permissionCodeOne{0360-0300}%
1136 \or % DGOV
1137 \def\@journalName{Digital Government: Research and Practice}%
1138 \def\@journalNameShort{Digit. Gov. Res. Pract.}%
1139 \def\@permissionCodeOne{2639-0175}%
1140 \or % DLT
1141 \def\@journalName{Distributed Ledger Technologies: Research and Practice}%
1142 \def\@journalNameShort{Distrib. Ledger Technol.}%
1143 \def\@permissionCodeOne{2769-6472}%
1144 \or % DTRAP
1145 \def\@journalName{Digital Threats: Research and Practice}%
1146 \def\@journalNameShort{Digit. Threat. Res. Pract.}%
1147 \def\@permissionCodeOne{2576-5337}%
1148 \or % FAC
1149 \def\@journalName{Formal Aspects of Computing}%
1150 \def\@journalNameShort{Form. Asp. Comput.}%
1151 \def\@permissionCodeOne{0934-5043}%
1152 \def\@permissionCodeTwo{1433-299X}%
1153 \or % GAMES
1154 \def\@journalName{ACM Games: Research and Practice}%
1155 \def\@journalNameShort{ACM Games}%
1156 \def\@permissionCodeOne{2832-5516}%
1157 \or % HEALTH
1158 \def\@journalName{ACM Transactions on Computing for Healthcare}%
1159 \def\@journalNameShort{ACM Trans. Comput. Healthcare}%
1160 \def\@permissionCodeOne{2637-8051}%
1161 \or % IMWUT
1162 \def\@journalName{Proceedings of the ACM on Interactive, Mobile,
1163 Wearable and Ubiquitous Technologies}%
1164 \def\@journalNameShort{Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.}%
1165 \def\@permissionCodeOne{2474-9567}%
1166 \@ACM@screentrue
1167 \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
1168 \or % JACM
1169 \def\@journalName{Journal of the ACM}%
1170 \def\@journalNameShort{J. ACM}%
1171 \def\@permissionCodeOne{0004-5411}%
1172 \or % JATS
1173 \def\@journalName{Journal on Autonomous Transportation Systems}%
61
1174 \def\@journalNameShort{ACM J. Auton. Transport. Syst.}%
1175 \def\@permissionCodeOne{2833-0528}%
1176 \or % JDIQ
1177 \def\@journalName{ACM Journal of Data and Information Quality}%
1178 \def\@journalNameShort{ACM J. Data Inform. Quality}%
1179 \def\@permissionCodeOne{1936-1955}%
1180 \or % JDS
1181 \def\@journalName{ACM/JMS Journal of Data Science}%
1182 \def\@journalNameShort{ACM/IMS J. Data Sci.}%
1183 \def\@permissionCodeOne{2831-3194}%
1184 \def\@permissionCodeTwo{2831-3194}%
1185 \or % JEA
1186 \def\@journalName{ACM Journal of Experimental Algorithmics}%
1187 \def\@journalNameShort{ACM J. Exp. Algor.}%
1188 \def\@permissionCodeOne{1084-6654}%
1189 \or % JERIC
1190 \def\@journalName{ACM Journal of Educational Resources in Computing}%
1191 \def\@journalNameShort{ACM J. Edu. Resources in Comput.}%
1192 \def\@permissionCodeOne{1073-0516}%
1193 \or % JETC
1194 \def\@journalName{ACM Journal on Emerging Technologies in Computing Systems}%
1195 \def\@journalNameShort{ACM J. Emerg. Technol. Comput. Syst.}%
1196 \def\@permissionCodeOne{1550-4832}%
1197 \or % JOCCH
1198 \def\@journalName{ACM Journal on Computing and Cultural Heritage}%
1199 \def\@journalNameShort{ACM J. Comput. Cult. Herit.}%
1200 \def\@permissionCodeOne{1556-4673}%
1201 \def\@permissionCodeTwo{1556-4711}%
1202 \or % JRC
1203 \def\@journalName{ACM Journal on Responsible Computing}%
1204 \def\@journalNameShort{ACM J. Responsib. Comput.}%
1205 \def\@permissionCodeOne{2832-0565}%
1206 \or % PACMCGIT
1207 \def\@journalName{Proceedings of the ACM on Computer Graphics and Interactive Techniques}%
1208 \def\@journalNameShort{Proc. ACM Comput. Graph. Interact. Tech.}%
1209 \def\@permissionCodeOne{2577-6193}%
1210 \@ACM@screentrue
1211 \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
1212 \or % PACMHCI
1213 \def\@journalName{Proceedings of the ACM on Human-Computer Interaction}%
1214 \def\@journalNameShort{Proc. ACM Hum.-Comput. Interact.}%
1215 \def\@permissionCodeOne{2573-0142}%
1216 \@ACM@screentrue
1217 \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
1218 \or % PACMNET
1219 \def\@journalName{Proceedings of the ACM on Networkng}%
1220 \def\@journalNameShort{Proc. ACM Netw.}%
1221 \def\@permissionCodeOne{2834-5509}%
1222 \or % PACMPL
1223 \def\@journalName{Proceedings of the ACM on Programming Languages}%
1224 \def\@journalNameShort{Proc. ACM Program. Lang.}%
1225 \def\@permissionCodeOne{2475-1421}%
1226 \@ACM@screentrue
1227 \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
62
1228 \or % POMACS
1229 \def\@journalName{Proceedings of the ACM on Measurement and Analysis of Computing Systems}%
1230 \def\@journalNameShort{Proc. ACM Meas. Anal. Comput. Syst.}%
1231 \def\@permissionCodeOne{2476-1249}%
1232 \@ACM@screentrue
1233 \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
1234 \or % TAAS
1235 \def\@journalName{ACM Transactions on Autonomous and Adaptive Systems}%
1236 \def\@journalNameShort{ACM Trans. Autonom. Adapt. Syst.}%
1237 \def\@permissionCodeOne{1556-4665}%
1238 \or % TACCESS
1239 \def\@journalName{ACM Transactions on Accessible Computing}%
1240 \def\@journalNameShort{ACM Trans. Access. Comput.}%
1241 \def\@permissionCodeOne{1936-7228}%
1242 \or % TACO
1243 \def\@journalName{ACM Transactions on Architecture and Code Optimization}%
1244 \def\@journalNameShort{ACM Trans. Arch. Code Optim.}%
1245 \def\@permissionCodeOne{1544-3566}%
1246 \def\@permissionCodeTwo{1544-3973}%
1247 \or % TALG
1248 \def\@journalName{ACM Transactions on Algorithms}%
1249 \def\@journalNameShort{ACM Trans. Algor.}%
1250 \def\@permissionCodeOne{1549-6325}%
1251 \or % TALLIP
1252 \def\@journalName{ACM Transactions on Asian and Low-Resource Language Information Processing}%
1253 \def\@journalNameShort{ACM Trans. Asian Low-Resour. Lang. Inf. Process.}%
1254 \def\@permissionCodeOne{2375-4699}%
1255 \or % TAP
1256 \def\@journalName{ACM Transactions on Applied Perception}%
1257 \def\@journalNameShort{ACM Trans. Appl. Percept.}%
1258 \def\@permissionCodeOne{1544-3558}%
1259 \or % TCPS
1260 \def\@journalName{ACM Transactions on Cyber-Physical Systems}%
1261 \def\@journalNameShort{ACM Trans. Cyber-Phys. Syst.}%
1262 \def\@permissionCodeOne{2378-962X}%
1263 \or % TDS
1264 \def\@journalName{ACM/IMS Transactions on Data Science}%
1265 \def\@journalNameShort{ACM/IMS Trans. Data Sci.}%
1266 \def\@permissionCodeOne{2577-3224}%
1267 \or % TEAC
1268 \def\@journalName{ACM Transactions on Economics and Computation}%
1269 \def\@journalNameShort{ACM Trans. Econ. Comput.}%
1270 \def\@permissionCodeOne{2167-8375}%
1271 \or % TECS
1272 \def\@journalName{ACM Transactions on Embedded Computing Systems}%
1273 \def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}%
1274 \def\@permissionCodeOne{1539-9087}%
1275 \or % TELO
1276 \def\@journalName{ACM Transactions on Evolutionary Learning}%
1277 \def\@journalNameShort{ACM Trans. Evol. Learn.}%
1278 \def\@permissionCodeOne{2688-3007}%
1279 \or % THRI
1280 \def\@journalName{ACM Transactions on Human-Robot Interaction}%
1281 \def\@journalNameShort{ACM Trans. Hum.-Robot Interact.}%
63
1282 \def\@permissionCodeOne{2573-9522}%
1283 \or % TIIS
1284 \def\@journalName{ACM Transactions on Interactive Intelligent Systems}%
1285 \def\@journalNameShort{ACM Trans. Interact. Intell. Syst.}%
1286 \def\@permissionCodeOne{2160-6455}%
1287 \or % TIOT
1288 \def\@journalName{ACM Transactions on Internet of Things}%
1289 \def\@journalNameShort{ACM Trans. Internet Things}%
1290 \def\@permissionCodeOne{2577-6207}%
1291 \or % TISSEC
1292 \def\@journalName{ACM Transactions on Information and System Security}%
1293 \def\@journalNameShort{ACM Trans. Info. Syst. Sec.}%
1294 \def\@permissionCodeOne{1094-9224}%
1295 \or % TIST
1296 \def\@journalName{ACM Transactions on Intelligent Systems and Technology}%
1297 \def\@journalNameShort{ACM Trans. Intell. Syst. Technol.}%
1298 \def\@permissionCodeOne{2157-6904}%
1299 \or % TKDD
1300 \def\@journalName{ACM Transactions on Knowledge Discovery from Data}%
1301 \def\@journalNameShort{ACM Trans. Knowl. Discov. Data.}%
1302 \def\@permissionCodeOne{1556-4681}%
1303 \or % TMIS
1304 \def\@journalName{ACM Transactions on Management Information Systems}%
1305 \def\@journalNameShort{ACM Trans. Manag. Inform. Syst.}%
1306 \def\@permissionCodeOne{2158-656X}%
1307 \or % TOCE
1308 \def\@journalName{ACM Transactions on Computing Education}%
1309 \def\@journalNameShort{ACM Trans. Comput. Educ.}%
1310 \def\@permissionCodeOne{1946-6226}%
1311 \or % TOCHI
1312 \def\@journalName{ACM Transactions on Computer-Human Interaction}%
1313 \def\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}%
1314 \def\@permissionCodeOne{1073-0516}%
1315 \or % TOCL
1316 \def\@journalName{ACM Transactions on Computational Logic}%
1317 \def\@journalNameShort{ACM Trans. Comput. Logic}%
1318 \def\@permissionCodeOne{1529-3785}%
1319 \or % TOCS
1320 \def\@journalName{ACM Transactions on Computer Systems}%
1321 \def\@journalNameShort{ACM Trans. Comput. Syst.}%
1322 \def\@permissionCodeOne{0734-2071}%
1323 \or % TOCT
1324 \def\@journalName{ACM Transactions on Computation Theory}%
1325 \def\@journalNameShort{ACM Trans. Comput. Theory}%
1326 \def\@permissionCodeOne{1942-3454}%
1327 \or % TODAES
1328 \def\@journalName{ACM Transactions on Design Automation of Electronic Systems}%
1329 \def\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}%
1330 \def\@permissionCodeOne{1084-4309}%
1331 \or % TODS
1332 \def\@journalName{ACM Transactions on Database Systems}%
1333 \def\@journalNameShort{ACM Trans. Datab. Syst.}%
1334 \def\@permissionCodeOne{0362-5915}%
1335 \or % TOG
64
1336 \def\@journalName{ACM Transactions on Graphics}%
1337 \def\@journalNameShort{ACM Trans. Graph.}%
1338 \def\@permissionCodeOne{0730-0301}
1339 \or % TOIS
1340 \def\@journalName{ACM Transactions on Information Systems}%
1341 \def\@journalNameShort{ACM Trans. Inf. Syst.}%
1342 \def\@permissionCodeOne{1046-8188}%
1343 \or % TOIT
1344 \def\@journalName{ACM Transactions on Internet Technology}%
1345 \def\@journalNameShort{ACM Trans. Internet Technol.}%
1346 \def\@permissionCodeOne{1533-5399}%
1347 \or % TOMACS
1348 \def\@journalName{ACM Transactions on Modeling and Computer Simulation}%
1349 \def\@journalNameShort{ACM Trans. Model. Comput. Simul.}%
1350 \def\@permissionCodeOne{1049-3301}%
1351 \def\@permissionCodeTwo{1558-1195}%
1352 \or % TOMM
1353 \def\@journalName{ACM Transactions on Multimedia Computing, Communications and Applications}%
1354 \def\@journalNameShort{ACM Trans. Multimedia Comput. Commun. Appl.}%
1355 \def\@permissionCodeOne{1551-6857}%
1356 \def\@permissionCodeTwo{1551-6865}%
1357 \or % TOMPECS
1358 \def\@journalName{ACM Transactions on Modeling and Performance Evaluation of Computing Systems}%
1359 \def\@journalNameShort{ACM Trans. Model. Perform. Eval. Comput. Syst.}%
1360 \def\@permissionCodeOne{2376-3639}%
1361 \or % TOMS
1362 \def\@journalName{ACM Transactions on Mathematical Software}%
1363 \def\@journalNameShort{ACM Trans. Math. Softw.}%
1364 \def\@permissionCodeOne{0098-3500}%
1365 \or % TOPC
1366 \def\@journalName{ACM Transactions on Parallel Computing}%
1367 \def\@journalNameShort{ACM Trans. Parallel Comput.}%
1368 \def\@permissionCodeOne{2329-4949}%
1369 \def\@permissionCodeTwo{2329-4957}%
1370 \or % TOPS
1371 \def\@journalName{ACM Transactions on Privacy and Security}%
1372 \def\@journalNameShort{ACM Trans. Priv. Sec.}%
1373 \def\@permissionCodeOne{2471-2566}%
1374 \or % TOPLAS
1375 \def\@journalName{ACM Transactions on Programming Languages and Systems}%
1376 \def\@journalNameShort{ACM Trans. Program. Lang. Syst.}%
1377 \def\@permissionCodeOne{0164-0925}%
1378 \or % TORS
1379 \def\@journalName{ACM Transactions on Recommender Systems}%
1380 \def\@journalNameShort{ACM Trans. Recomm. Syst.}%
1381 \def\@permissionCodeOne{2770-6699}%
1382 \or % TOS
1383 \def\@journalName{ACM Transactions on Storage}%
1384 \def\@journalNameShort{ACM Trans. Storage}%
1385 \def\@permissionCodeOne{1553-3077}%
1386 \or % TOSEM
1387 \def\@journalName{ACM Transactions on Software Engineering and Methodology}%
1388 \def\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}%
1389 \def\@permissionCodeOne{1049-331X}%
65
1390 \or % TOSN
1391 \def\@journalName{ACM Transactions on Sensor Networks}%
1392 \def\@journalNameShort{ACM Trans. Sensor Netw.}%
1393 \def\@permissionCodeOne{1550-4859}%
1394 \or % TQC
1395 \def\@journalName{ACM Transactions on Quantum Computing}%
1396 \def\@journalNameShort{ACM Trans. Quantum Comput.}%
1397 \def\@permissionCodeOne{2643-6817}%
1398 \or % TRETS
1399 \def\@journalName{ACM Transactions on Reconfigurable Technology and Systems}%
1400 \def\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}%
1401 \def\@permissionCodeOne{1936-7406}%
1402 \or % TSAS
1403 \def\@journalName{ACM Transactions on Spatial Algorithms and Systems}%
1404 \def\@journalNameShort{ACM Trans. Spatial Algorithms Syst.}%
1405 \def\@permissionCodeOne{2374-0353}%
1406 \or % TSC
1407 \def\@journalName{ACM Transactions on Social Computing}%
1408 \def\@journalNameShort{ACM Trans. Soc. Comput.}%
1409 \def\@permissionCodeOne{2469-7818}%
1410 \or % TSLP
1411 \def\@journalName{ACM Transactions on Speech and Language Processing}%
1412 \def\@journalNameShort{ACM Trans. Speech Lang. Process.}%
1413 \def\@permissionCodeOne{1550-4875}%
1414 \or % TWEB
1415 \def\@journalName{ACM Transactions on the Web}%
1416 \def\@journalNameShort{ACM Trans. Web}%
1417 \def\@permissionCodeOne{1559-1131}%
1418 \else % FACMP, a dummy journal
1419 \def\@journalName{ACM Just Accepted}%
1420 \def\@journalNameShort{ACM Accepted}%
1421 \def\@permissionCodeOne{XXXX-XXXX}%
1422 \fi
1423 \ClassInfo{\@classname}{Using journal code \@journalCode}%
1424 }{%
1425 \ClassError{\@classname}{Incorrect journal #1}%
1426 }%
The defaults:
1429 \def\@journalCode@nr{0}
1430 \def\@journalName{}%
1431 \def\@journalNameShort{\@journalName}%
1432 \def\@permissionCodeOne{XXXX-XXXX}%
1433 \def\@permissionCodeTwo{}%
66
1438 \gdef\acmConference@venue{#4}%
1439 \ifx\acmConference@shortname\@empty
1440 \gdef\acmConference@shortname{#2}%
1441 \fi
1442 \global\@ACM@journal@bibstripfalse
1443 }
1444 \if@ACM@journal\else
1445 \acmConference[Conference’17]{ACM Conference}{July 2017}{Washington,
1446 DC, USA}%
1447 \fi
\num@authorgroups The total number of “groups”. Each group is several authors with the same affiliations(s)
1465 \newcount\num@authorgroups
1466 \num@authorgroups=0\relax
67
that \csname...\endcsname is \relax unless defined. Therefore we typeset authors by
the special macro \csname typeset@author\the\num@authors\endcsname, which is
defined by \orcid command.
1471 \renewcommand\author[2][]{%
1472 \IfSubStr{\detokenize{#2}}{,}{\ClassWarning{\@classname}{Do not put several
1473 authors in the same \string\author\space macro!}}{}%
1474 \global\advance\num@authors by 1\relax
1475 \if@insideauthorgroup\else
1476 \global\advance\num@authorgroups by 1\relax
1477 \global\@insideauthorgrouptrue
1478 \fi
1479 \ifx\addresses\@empty
1480 \if@ACM@anonymous
1481 \gdef\addresses{\@author{Anonymous Author(s)%
1482 \ifx\@acmSubmissionID\@empty\else\\Submission Id:
1483 \@acmSubmissionID\fi}}%
1484 \gdef\authors{Anonymous Author(s)}%
1485 \else
1486 \expandafter\gdef\expandafter\addresses\expandafter{%
1487 \expandafter\@author\expandafter{%
1488 \csname typeset@author\the\num@authors\endcsname{#2}}}%
1489 \gdef\authors{#2}%
1490 \fi
1491 \else
1492 \if@ACM@anonymous\else
1493 \expandafter\g@addto@macro\expandafter\addresses\expandafter{%
1494 \expandafter\and\expandafter\@author\expandafter{%
1495 \csname typeset@author\the\num@authors\endcsname{#2}}}%
1496 \g@addto@macro\authors{\and#2}%
1497 \fi
1498 \fi
1499 \if@ACM@anonymous
1500 \ifx\shortauthors\@empty
1501 \gdef\shortauthors{Anon.
1502 \ifx\@acmSubmissionID\@empty\else Submission Id:
1503 \@acmSubmissionID\fi}%
1504 \fi
1505 \else
1506 \def\@tempa{#1}%
1507 \ifx\@tempa\@empty
1508 \ifx\shortauthors\@empty
1509 \gdef\shortauthors{#2}%
1510 \else
1511 \g@addto@macro\shortauthors{\and#2}%
1512 \fi
1513 \else
1514 \ifx\shortauthors\@empty
1515 \gdef\shortauthors{#1}%
1516 \else
1517 \g@addto@macro\shortauthors{\and#1}%
1518 \fi
1519 \fi
1520 \fi}
68
\affiliation The macro \affiliation mimics \address from amsart. Note that it has an optional
argument, which we use differently from amsart.
1521 \newcommand{\affiliation}[2][]{%
1522 \global\@insideauthorgroupfalse
1523 \if@ACM@anonymous\else
1524 \g@addto@macro\addresses{\affiliation{#1}{#2}}%
1525 \fi}
@ACM@affiliation@obeypunctuation Whether to use the author’s punctuation (false by default, which adds American-style
address punctuation)
1526 \define@boolkey+{@ACM@affiliation@}[@ACM@affiliation@]{obeypunctuation}%
1527 [true]{}{\ClassError{\@classname}{The option obeypunctuation can be either true or false}}
\email The macro \email mimics \email from amsart. Again, it has an optional argument that
we do not currently need but keep for possible future use.
1540 \renewcommand{\email}[2][]{%
1541 \IfSubStr{#2}{,}{\ClassWarning{\@classname}{Do not put several
1542 addresses in the same \string\email\space macro!}}{}%
1543 \if@ACM@anonymous\else
1544 \g@addto@macro\addresses{\email{#1}{#2}}%
1545 \fi}
69
\@mktranslatedkeywords We have two argument: the language to typeset keywords and the keywords.
1556 \newcommand\@mktranslatedkeywords[2]{\bgroup
1557 \selectlanguage{#1}%
1558 {\@specialsection{\keywordsname}%
1559 \noindent#2\par}\egroup}
70
\acmVolume The current volume
1592 \def\acmVolume#1{\def\@acmVolume{#1}}
1593 \acmVolume{1}
\if@ACM@badge Whether to print a badge. Note that either a left or right badge triggers it:
1616 \newif\if@ACM@badge
1617 \@ACM@badgefalse
71
\@ACM@title@width The width of the badge
1620 \newlength\@ACM@title@width
\keywords Keywords are mostly obsolete. We use CCS now. Still it makes sense to keep them for
compatibility.
1637 \def\keywords#1{\def\@keywords{#1}}
1638 \let\@keywords\@empty
1639 \AtEndDocument{\if@ACM@nonacm\else\ifx\@keywords\@empty
1640 \ifnum\getrefnumber{TotPages}>2\relax
1641 \ClassWarningNoLine{\@classname}{ACM keywords are mandatory
1642 for papers over two pages}%
1643 \fi\fi\fi}
abstract The amsart package puts abstract in a box. Since we do not know whether we will
use two-column mode, we prefer to save the text
1644 \renewenvironment{abstract}{\Collect@Body\@saveabstract}{}
72
\if@ACM@printccs Whether to print CCS
1651 \define@boolkey+{@ACM@topmatter@}[@ACM@]{printccs}[true]{%
1652 \if@ACM@printccs
1653 \ClassInfo{\@classname}{Printing CCS}%
1654 \else
1655 \ClassInfo{\@classname}{Suppressing CCS}%
1656 \fi}{\ClassError{\@classname}{The option printccs can be either true or false}}
1663 \AtEndDocument{\if@ACM@nonacm\else\if@ACM@printacmref\else
1664 \ifnum\getrefnumber{TotPages}>1\relax
1665 \ClassWarningNoLine{\@classname}{%
1666 ACM reference format is mandatory \MessageBreak
1667 for papers over one page. \MessageBreak
1668 Please add printacmref=true to the \MessageBreak
1669 \string\settopmatter\space command.}%
1670 \fi\fi\fi}
\@ACM@authorsperrow The number of authors per row. 0 means use the default algorithm.
1677 \define@cmdkey{@ACM@topmatter@}[@ACM@]{authorsperrow}[0]{%
1678 \IfInteger{#1}{\ClassInfo{\@classname}{Setting authorsperrow to
1679 #1}}{\ClassWarning{\@classname}{The parameter authorsperrow must be
1680 numerical. Ignoring the input #1}\gdef\@ACM@authorsperrow{0}}}
73
\@received The container for the paper history
1693 \def\@received{}
74
1740 \else
1741 \g@addto@macro{\@acmCodeDataLink}{\\ \url{#1}}%
1742 \fi}
1743 \def\@acmCodeDataLink{}
\ccsdesc The first argument is the significance, the second is the concept(s)
1749 \newcommand\ccsdesc[2][100]{%
1750 \ccsdesc@parse#1˜#2˜˜\ccsdesc@parse@end}
\ccsdesc@parse The parser of the expression Significance˜General˜Specific (we need textcomp for
\textrightarrow). Note that Specific can be empty!
1751 \def\textrightarrow{$\rightarrow$}
1752 \def\ccsdesc@parse#1˜#2˜#3˜{%
1753 \stepcounter{@concepts}%
1754 \expandafter\ifx\csname CCS@General@#2\endcsname\relax
1755 \expandafter\gdef\csname CCS@General@#2\endcsname{\textbullet\
1756 \textbf{#2}}%
1757 \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{; }%
1758 \expandafter\gdef\csname CCS@Specific@#2\endcsname{}%
1759 \g@addto@macro{\@concepts}{\csname CCS@General@#2\endcsname
1760 \csname CCS@Punctuation@#2\endcsname
1761 \csname CCS@Specific@#2\endcsname}%
1762 \fi
1763 \ifx#3\relax\relax\else
1764 \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{
1765 \textrightarrow\ }%
1766 \expandafter\g@addto@macro\expandafter{\csname CCS@Specific@#2\endcsname}{%
1767 \addtocounter{@concepts}{-1}%
1768 \ifnum#1>499\textbf{#3}\else
1769 \ifnum#1>299\textit{#3}\else
1770 #3\fi\fi\ifnum\value{@concepts}=0.\else; \fi}%
1771 \fi
1772 \ccsdesc@parse@finish}
1773 \AtEndDocument{\if@ACM@nonacm\else\ifx\@concepts\@empty\relax
1774 \ifnum\getrefnumber{TotPages}>2\relax
1775 \ClassWarningNoLine{\@classname}{CCS concepts are mandatory
1776 for papers over two pages}%
1777 \fi\fi\fi}
75
3.18 Copyright system
This is from acmcopyright.sty
Keys:
1785 \define@choicekey*{ACM@}{acmcopyrightmode}[%
1786 \acm@copyrightinput\acm@copyrightmode]{none,%
1787 acmcopyright,acmlicensed,rightsretained,%
1788 usgov,usgovmixed,cagov,cagovmixed,licensedusgovmixed,%
1789 licensedcagov,licensedcagovmixed,othergov,licensedothergov,%
1790 iw3c2w3,iw3c2w3g,cc}{%
1791 \@printpermissiontrue
1792 \@printcopyrighttrue
1793 \@acmownedtrue
1794 \ifnum\acm@copyrightmode=0\relax % none
1795 \@printpermissionfalse
1796 \@printcopyrightfalse
1797 \@acmownedfalse
1798 \fi
1799 \ifnum\acm@copyrightmode=2\relax % acmlicensed
1800 \@acmownedfalse
1801 \fi
1802 \ifnum\acm@copyrightmode=3\relax % rightsretained
1803 \@acmownedfalse
1804 \AtBeginDocument{\acmPrice{}}%
1805 \fi
1806 \ifnum\acm@copyrightmode=4\relax % usgov
1807 \@printpermissiontrue
1808 \@printcopyrightfalse
1809 \@acmownedfalse
1810 \AtBeginDocument{\acmPrice{}}%
1811 \fi
1812 \ifnum\acm@copyrightmode=6\relax % cagov
1813 \@acmownedfalse
1814 \fi
1815 \ifnum\acm@copyrightmode=8\relax % licensedusgovmixed
1816 \@acmownedfalse
1817 \fi
1818 \ifnum\acm@copyrightmode=9\relax % licensedcagov
1819 \@acmownedfalse
1820 \fi
1821 \ifnum\acm@copyrightmode=10\relax % licensedcagovmixed
76
1822 \@acmownedfalse
1823 \fi
1824 \ifnum\acm@copyrightmode=11\relax % othergov
1825 \@acmownedtrue
1826 \fi
1827 \ifnum\acm@copyrightmode=12\relax % licensedothergov
1828 \@acmownedfalse
1829 \fi
1830 \ifnum\acm@copyrightmode=13\relax % iw3c2w3
1831 \@acmownedfalse
1832 \AtBeginDocument{\acmPrice{}}%
1833 \fi
1834 \ifnum\acm@copyrightmode=14\relax % iw3c2w3g
1835 \@acmownedfalse
1836 \AtBeginDocument{\acmPrice{}}%
1837 \fi
1838 \ifnum\acm@copyrightmode=15\relax % cc
1839 \@acmownedfalse
1840 \AtBeginDocument{\acmPrice{}}%
1841 \fi}
77
1870 \or %licensedcagovmixed
1871 Copyright held by the owner/author(s). Publication rights licensed to
1872 ACM\@.
1873 \or % othergov
1874 Association for Computing Machinery.
1875 \or % licensedothergov
1876 Copyright held by the owner/author(s). Publication rights licensed to
1877 ACM\@.
1878 \or % ic2w3www
1879 IW3C2 (International World Wide Web Conference Committee), published
1880 under Creative Commons CC-BY˜4.0 License.
1881 \or % ic2w3wwwgoogle
1882 IW3C2 (International World Wide Web Conference Committee), published
1883 under Creative Commons CC-BY-NC-ND˜4.0 License.
1884 \or % cc
1885 Copyright held by the owner/author(s).
1886 \fi}
\@ACM@copyright@check@cc At present cC licenses can be used only for acmengage format or for non-acm stuff. This
macro checks whether the CC license is applicable and generates an error if not.
1888 \def\@ACM@copyright@check@cc{%
1889 \if@ACM@nonacm
1890 \ClassInfo{\@classname}{Using CC license with a non-acm
1891 material}%
1892 \else
1893 \if@ACM@engage
1894 \ClassInfo{\@classname}{Using CC license with ACM Enage
1895 material}%
1896 \else
1897 \ClassError{\@classname}{%
1898 Sorry, Creative Commons licenses are\MessageBreak
1899 currently not used with ACM publications\MessageBreak
1900 typeset by the authors}{Please use nonacm
1901 option or ACM Engage class to enable CC licenses}%
1902 \fi
1903 \fi}
78
1917 \or % acmlicensed
1918 Permission to make digital or hard copies of all or part of this
1919 work for personal or classroom use is granted without fee provided
1920 that copies are not made or distributed for profit or commercial
1921 advantage and that copies bear this notice and the full citation on
1922 the first page. Copyrights for components of this work owned by
1923 others than the author(s) must be honored. Abstracting with credit
1924 is permitted. To copy otherwise, or republish, to post on servers
1925 or to redistribute to lists, requires prior specific permission
1926 and\hspace*{.5pt}/or a fee. Request permissions from
1927 [email protected].
1928 \or % rightsretained
1929 Permission to make digital or hard copies of part or all of this work
1930 for personal or classroom use is granted without fee provided that
1931 copies are not made or distributed for profit or commercial advantage
1932 and that copies bear this notice and the full citation on the first
1933 page. Copyrights for third-party components of this work must be
1934 honored. For all other uses, contact the
1935 owner\hspace*{.5pt}/author(s).
1936 \or % usgov
1937 This paper is authored by an employee(s) of the United States
1938 Government and is in the public domain. Non-exclusive copying or
1939 redistribution is allowed, provided that the article citation is
1940 given and the authors and agency are clearly identified as its
1941 source.
1942 \or % usgovmixed
1943 ACM acknowledges that this contribution was authored or co-authored
1944 by an employee, contractor, or affiliate of the United States
1945 government. As such, the United States government retains a
1946 nonexclusive, royalty-free right to publish or reproduce this
1947 article, or to allow others to do so, for government purposes only.
1948 \or % cagov
1949 This article was authored by employees of the Government of Canada.
1950 As such, the Canadian government retains all interest in the
1951 copyright to this work and grants to ACM a nonexclusive,
1952 royalty-free right to publish or reproduce this article, or to allow
1953 others to do so, provided that clear attribution is given both to
1954 the authors and the Canadian government agency employing them.
1955 Permission to make digital or hard copies for personal or classroom
1956 use is granted. Copies must bear this notice and the full citation
1957 on the first page. Copyrights for components of this work owned by
1958 others than the Canadian Government must be honored. To copy
1959 otherwise, distribute, republish, or post, requires prior specific
1960 permission and\hspace*{.5pt}/or a fee. Request permissions from
1961 [email protected].
1962 \or % cagovmixed
1963 ACM acknowledges that this contribution was co-authored by an
1964 affiliate of the national government of Canada. As such, the Crown
1965 in Right of Canada retains an equal interest in the copyright.
1966 Reprints must include clear attribution to ACM and the author’s
1967 government agency affiliation. Permission to make digital or hard
1968 copies for personal or classroom use is granted. Copies must bear
1969 this notice and the full citation on the first page. Copyrights for
1970 components of this work owned by others than ACM must be honored.
79
1971 To copy otherwise, distribute, republish, or post, requires prior
1972 specific permission and\hspace*{.5pt}/or a fee. Request permissions
1973 from [email protected].
1974 \or % licensedusgovmixed
1975 Publication rights licensed to ACM\@. ACM acknowledges that this
1976 contribution was authored or co-authored by an employee, contractor
1977 or affiliate of the United States government. As such, the
1978 Government retains a nonexclusive, royalty-free right to publish or
1979 reproduce this article, or to allow others to do so, for Government
1980 purposes only.
1981 \or % licensedcagov
1982 This article was authored by employees of the Government of Canada.
1983 As such, the Canadian government retains all interest in the
1984 copyright to this work and grants to ACM a nonexclusive,
1985 royalty-free right to publish or reproduce this article, or to allow
1986 others to do so, provided that clear attribution is given both to
1987 the authors and the Canadian government agency employing them.
1988 Permission to make digital or hard copies for personal or classroom
1989 use is granted. Copies must bear this notice and the full citation
1990 on the first page. Copyrights for components of this work owned by
1991 others than the Canadian Government must be honored. To copy
1992 otherwise, distribute, republish, or post, requires prior specific
1993 permission and\hspace*{.5pt}/or a fee. Request permissions from
1994 [email protected].
1995 \or % licensedcagovmixed
1996 Publication rights licensed to ACM\@. ACM acknowledges that this
1997 contribution was authored or co-authored by an employee, contractor
1998 or affiliate of the national government of Canada. As such, the
1999 Government retains a nonexclusive, royalty-free right to publish or
2000 reproduce this article, or to allow others to do so, for Government
2001 purposes only.
2002 \or % othergov
2003 ACM acknowledges that this contribution was authored or co-authored
2004 by an employee, contractor or affiliate of a national government. As
2005 such, the Government retains a nonexclusive, royalty-free right to
2006 publish or reproduce this article, or to allow others to do so, for
2007 Government purposes only.
2008 \or % licensedothergov
2009 Publication rights licensed to ACM\@. ACM acknowledges that this
2010 contribution was authored or co-authored by an employee, contractor
2011 or affiliate of a national government. As such, the Government
2012 retains a nonexclusive, royalty-free right to publish or reproduce
2013 this article, or to allow others to do so, for Government purposes
2014 only.
2015 \or % iw3c2w3
2016 This paper is published under the Creative Commons Attribution˜4.0
2017 International (CC-BY˜4.0) license. Authors reserve their rights to
2018 disseminate the work on their personal and corporate Web sites with
2019 the appropriate attribution.
2020 \or % iw3c2w3g
2021 This paper is published under the Creative Commons
2022 Attribution-NonCommercial-NoDerivs˜4.0 International
2023 (CC-BY-NC-ND˜4.0) license. Authors reserve their rights to
2024 disseminate the work on their personal and corporate Web sites with
80
2025 the appropriate attribution.
2026 \or % CC
2027 \@ACM@copyright@check@cc
2028 \IfEq{\ACM@cc@type}{zero}{%
2029 \def\ACM@CC@Url{https://creativecommons.org/publicdomain/zero/1.0/legalcode}}{%
2030 \edef\ACM@CC@Url{https://creativecommons.org/licenses/\ACM@cc@type/\ACM@cc@version/legalcode}}%
2031 \href{\ACM@CC@Url}{\includegraphics[height=5ex]{doclicense-CC-\ACM@cc@type-88x31}}\\
2032 \href{\ACM@CC@Url}{%
2033 This work is licensed under a Creative Commons
2034 \IfEq{\ACM@cc@type}{zero}{CC0 1.0 Universal}{%
2035 \IfEq{\ACM@cc@type}{by}{Attribution}{}%
2036 \IfEq{\ACM@cc@type}{by-sa}{Attribution-ShareAlike}{}%
2037 \IfEq{\ACM@cc@type}{by-nd}{Attribution-NoDerivatives}{}%
2038 \IfEq{\ACM@cc@type}{by-nc}{Attribution-NonCommercial}{}%
2039 \IfEq{\ACM@cc@type}{by-nc-sa}{Attribution-NonCommercial-ShareAlike}{}%
2040 \IfEq{\ACM@cc@type}{by-nc-nd}{Attribution-NonCommercial-NoDerivatives}{}%
2041 ˜\IfEq{\ACM@cc@version}{4.0}{4.0 International}{3.0 Unported}%
2042 }
2043 License.}%
2044 \fi}
\copyrightyear By default, the copyright year is the same as \acmYear, but one can override this:
2045 \def\copyrightyear#1{\def\@copyrightyear{#1}}
2046 \copyrightyear{\@acmYear}
\anon We provide \anon command, which blinds parts of the text if the package option
anonymous is set
2057 \newcommand{\anon}[2][ANONYMIZED]{%
2058 \if@ACM@anonymous%
2059 {\color{ACMOrange}#1}%
2060 \else%
2061 #2%
2062 \fi}
81
3.19 Maketitle hook
The current LATEX provides a nice lthooks mechanism. However, since it is relatively
new, we will use oldfashioned approach—at least for now.
\maketitle The (in)famous \maketitle. Note that in sigchi-a mode, authors are not in the title
box.
Another note: there is a subtle difference between author notes, title notes and
thanks. The latter two refer to the paper itself and therefore belong to the copy-
right/permission block. By the way, this was the default behavior of the old ACM classes.
2072 \def\maketitle{\@beginmaketitlehook
2073 \@ACM@maketitle@typesettrue
2074 \if@ACM@anonymous
2075 % Anonymize omission of \author-s
2076 \ifnum\num@authorgroups=0\author{}\fi
2077 \fi
2078 \begingroup
2079 \let\@vspace\@vspace@orig
2080 \let\@vspacer\@vspacer@orig
2081 \let\@footnotemark\@footnotemark@nolink
2082 \let\@footnotetext\@footnotetext@nolink
2083 \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
2084 \hsize=\textwidth
2085 \def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}%
2086 \@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers
2087 \@printtopmatter
2088 \if@ACM@sigchiamode\@mkauthors\fi
82
2089 \setcounter{footnote}{0}%
2090 \def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}%
2091 \@titlenotes
2092 \@subtitlenotes
2093 \@authornotes
2094 \let\@makefnmark\relax
2095 \let\@thefnmark\relax
2096 \let\@makefntext\noindent
2097 \ifx\@empty\thankses\else
2098 \footnotetextauthorsaddresses{%
2099 \def\par{\let\par\@par}\parindent\z@\@setthanks}%
2100 \fi
2101 \if@ACM@acmcp\else
2102 \ifx\@empty\@authorsaddresses\else
2103 \if@ACM@anonymous\else
2104 \if@ACM@journal@bibstrip
2105 \footnotetextauthorsaddresses{%
2106 \def\par{\let\par\@par}\parindent\z@\@setauthorsaddresses}%
2107 \fi
2108 \fi
2109 \fi
2110 \fi
2111 \if@ACM@nonacm
2112 \ifnum\acm@copyrightmode=15\relax % cc
2113 \footnotetextcopyrightpermission{\@copyrightpermission}%
2114 \fi
2115 \else
2116 \if@ACM@acmcp\else
2117 \footnotetextcopyrightpermission{%
2118 \if@ACM@authordraft
2119 \raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries
2120 Unpublished working draft. Not for distribution.}}%
2121 \color[gray]{0.9}%
2122 \fi
2123 \parindent\z@\parskip0.1\baselineskip
2124 \if@ACM@authorversion\else
2125 \if@printpermission\@copyrightpermission\par\fi
2126 \fi
2127 \if@ACM@manuscript\else
2128 \if@ACM@journal@bibstrip\else % Print the conference information
2129 \if@ACM@engage
2130 {\itshape \@acmBooktitle, \@acmYear.}\par
2131 \else
2132 {\itshape \acmConference@shortname, \acmConference@date, \acmConference@venue}\par
2133 \fi
2134 \fi
2135 \fi
2136 \if@printcopyright
2137 \copyright\ \@copyrightyear\ \@copyrightowner\\
2138 \else
2139 \@copyrightyear.\
2140 \fi
2141 \if@ACM@manuscript
2142 Manuscript submitted to ACM\\
83
2143 \else
2144 \if@ACM@authorversion
2145 This is the author’s version of the work. It is posted here for
2146 your personal use. Not for redistribution. The definitive Version
2147 of Record was published in
2148 \if@ACM@journal@bibstrip
2149 \emph{\@journalName}%
2150 \else
2151 \emph{\@acmBooktitle}%
2152 \fi
2153 \ifx\@acmDOI\@empty
2154 .
2155 \else
2156 , \@formatdoi{\@acmDOI}.
2157 \fi\\
2158 \else
2159 \if@ACM@nonacm\else
2160 \if@ACM@journal@bibstrip
2161 \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle
2162 \ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\
2163 \@formatdoi{\@acmDOI}%
2164 \else % Conference
2165 \ifx\@acmISBN\@empty\else ACM˜ISBN˜\@acmISBN
2166 \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\\fi
2167 \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi%
2168 \fi
2169 \fi
2170 \fi
2171 \fi}%
2172 \fi
2173 \fi
2174 \endgroup
2175 \if@ACM@engage\@typesetengagemetadata\fi
2176 \setcounter{footnote}{0}%
2177 \@mkabstract
2178 \ifx\@translatedabstracts\@empty\else
2179 \@translatedabstracts\fi
2180 \if@ACM@printccs
2181 \ifx\@concepts\@empty\else\bgroup
2182 {\@specialsection{CCS Concepts}%
2183 \noindent\@concepts\par}\egroup
2184 \fi
2185 \fi
2186 \if@ACM@acmcp\else
2187 \ifx\@keywords\@empty\else\bgroup
2188 {\@specialsection{\keywordsname}%
2189 \noindent\@keywords\par}\egroup
2190 \fi
2191 \ifx\@translatedkeywords\@empty\else
2192 \@translatedkeywords
2193 \fi
2194 \fi
2195 \let\metadata@authors=\authors
2196 \nxandlist{, }{, }{, }\metadata@authors
84
2197 \def\@ACM@checkaffil{}%
2198 \hypersetup{%
2199 pdfauthor={\metadata@authors},
2200 pdftitle={\@title},
2201 pdfsubject={\@concepts},
2202 pdfkeywords={\@keywords},
2203 pdfcreator={LaTeX with acmart
2204 \csname [email protected]\endcsname\space
2205 and hyperref
2206 \csname [email protected]\endcsname}}%
2207 \andify\authors
2208 \andify\shortauthors
2209 \global\let\authors=\authors
2210 \global\let\shortauthors=\shortauthors
2211 \if@ACM@printacmref
2212 \@mkbibcitation
2213 \fi
2214 \global\@topnum\z@ % this prevents floats from falling
2215 % at the top of page 1
2216 \global\@botnum\z@ % we do not want them to be on the bottom either
2217 \@printendtopmatter
2218 \@afterindentfalse
2219 \@afterheading
2220 \if@ACM@acmcp
2221 \set@ACM@acmcpbox
2222 \AtEndDocument{\end@ACM@color@frame}%
2223 \@ACM@color@frame
2224 \fi
2225 }
\@specialsection This macro starts sections for proceedings and uses \small for journals
2244 \def\@specialsection#1{%
2245 \let\@vspace\@vspace@orig
2246 \let\@vspacer\@vspacer@orig
85
2247 \ifcase\ACM@format@nr
2248 \relax % manuscript
2249 \par\medskip\small\noindent#1: %
2250 \or % acmsmall
2251 \par\medskip\small\noindent#1: %
2252 \or % acmlarge
2253 \par\medskip\small\noindent#1: %
2254 \or % acmtog
2255 \par\medskip\small\noindent#1: %
2256 \or % sigconf
2257 \section*{#1}%
2258 \or % siggraph
2259 \section*{#1}%
2260 \or % sigplan
2261 \noindentparagraph*{#1:˜}%
2262 \or % sigchi
2263 \section*{#1}%
2264 \or % sigchi-a
2265 \section*{#1}%
2266 \or % acmengage
2267 \section*{#1}%
2268 \or % acmcp
2269 \section*{#1}%
2270 \fi
2271 \let\@vspace\@vspace@acm
2272 \let\@vspacer\@vspacer@acm
2273 }
\@printtopmatter The printing of top matter starts a new page and uses the given title box. Note that
for sigchi-a we print badges here rather than in \mktitle since we want them in the
margins.
Note that if there are too many authors, \mktitle@bx might overflow the page.
Therefore we start with checking this and if this happens, we split the box and print
it page by page.
2274 \def\@printtopmatter{%
2275 \ifx\@startPage\@empty
2276 \gdef\@startPage{1}%
2277 \else
2278 \setcounter{page}{\@startPage}%
2279 \fi
2280 \@tempdima=\ht\mktitle@bx
2281 \advance\@tempdima by \dp\mktitle@bx
2282 \ifdim\@tempdima>0.9\textheight
2283 \loop
2284 \setbox\@tempboxa=\vsplit \mktitle@bx to 0.9\textheight
2285 \thispagestyle{firstpagestyle}%
2286 \noindent\unvbox\@tempboxa
2287 \clearpage
2288 \@tempdima=\ht\mktitle@bx
2289 \advance\@tempdima by \dp\mktitle@bx
2290 \ifdim\@tempdima>0.9\textheight\repeat
2291 \fi
2292 \thispagestyle{firstpagestyle}%
2293 \noindent
86
2294 \ifcase\ACM@format@nr
2295 \relax % manuscript
2296 \box\mktitle@bx\par
2297 \or % acmsmall
2298 \box\mktitle@bx\par
2299 \or % acmlarge
2300 \box\mktitle@bx\par
2301 \or % acmtog
2302 \twocolumn[\box\mktitle@bx]%
2303 \or % sigconf
2304 \twocolumn[\box\mktitle@bx]%
2305 \or % siggraph
2306 \twocolumn[\box\mktitle@bx]%
2307 \or % sigplan
2308 \twocolumn[\box\mktitle@bx]%
2309 \or % sigchi
2310 \twocolumn[\box\mktitle@bx]%
2311 \or % sigchi-a
2312 \par\box\mktitle@bx\par\bigskip
2313 \if@ACM@badge
2314 \marginpar{\noindent
2315 \ifx\@acmBadgeL@image\@empty\else
2316 \href{\@acmBadgeL@url}{%
2317 \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}%
2318 \hskip\@ACM@badge@skip
2319 \fi
2320 \ifx\@acmBadgeR@image\@empty\else
2321 \href{\@acmBadgeR@url}{%
2322 \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}%
2323 \fi}%
2324 \fi
2325 \or % acmengage
2326 \twocolumn[\box\mktitle@bx]%
2327 \or % acmcp
2328 \box\mktitle@bx\par
2329 \fi
2330 }
87
2346 \@mktitle@iii
2347 \or % sigchi
2348 \@mktitle@iii
2349 \or % sigchi-a
2350 \@mktitle@iv
2351 \or % acmengage
2352 \@mktitle@iii
2353 \or % acmcp
2354 \@mktitle@i
2355 \fi
2356 }
88
2396 \or % sigplan
2397 \LARGE\mdseries
2398 \or % sigchi
2399 \LARGE\mdseries
2400 \or % sigchi-a
2401 \mdseries
2402 \or % acmengage
2403 \LARGE\mdseries
2404 \or % acmcp
2405 \mdseries
2406 \fi}
\@mktitle@ii The version of \mktitle for TOG. Since v1.06, this is subsumed by the \mktitle@i
macro
\@mktitle@iii The version of \@mktitle for SIG proceedings. Note that since the title is centered, we
leave space for the left badge even if only the right badge is defined.
2441 \def\@mktitle@iii{\hsize=\textwidth
89
2442 \setbox\mktitle@bx=\vbox{\@titlefont\centering
2443 \@ACM@title@width=\hsize
2444 \if@ACM@badge
2445 \advance\@ACM@title@width by -2\@ACM@badge@width
2446 \advance\@ACM@title@width by -2\@ACM@badge@skip
2447 \parbox[b]{\@ACM@badge@width}{\strut
2448 \ifx\@acmBadgeL@image\@empty\else
2449 \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{%
2450 \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}%
2451 \fi}%
2452 \hskip\@ACM@badge@skip
2453 \fi
2454 \parbox[t]{\@ACM@title@width}{\centering\@titlefont
2455 \@title\@translatedtitle%
2456 \ifx\@subtitle\@empty\else
2457 \par\noindent{\@subtitlefont\@subtitle\@translatedsubtitle}
2458 \fi
2459 }%
2460 \if@ACM@badge
2461 \hskip\@ACM@badge@skip
2462 \parbox[b]{\@ACM@badge@width}{\strut
2463 \ifx\@acmBadgeR@image\@empty\else
2464 \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{%
2465 \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}%
2466 \fi}%
2467 \fi
2468 \par\bigskip}}%
\@ACM@addtoaddress This macro adds an item to the address using the following rules:
3. However, the comma is deleted if it is at the end of a line. We use the magic
\cleaders trick for this.
2477 \newbox\@ACM@commabox
2478 \def\@ACM@addtoaddress#1{%
2479 \ifvmode\else
2480 \if@ACM@affiliation@obeypunctuation\else
2481 \setbox\@ACM@commabox=\hbox{, }%
2482 \unskip\cleaders\copy\@ACM@commabox\hskip\wd\@ACM@commabox
2483 \fi\fi
2484 #1}
90
\institution Theoretically we can define the macros for \affiliation inside the \@mkauthors-style
\position commands. However, this would lead to a strange error if an author uses them outside
\department \affiliation. Of course we can make them produce an error message, but. . .
\streetaddress 2485 \def\streetaddress#1{\unskip\ignorespaces}
\city 2486 \def\postcode#1{\unskip\ignorespaces}
\state 2487 \if@ACM@journal
\postcode 2488 \def\position#1{\unskip\ignorespaces}
\country 2489 \def\institution#1{\global\@ACM@instpresenttrue
2490 \unskip˜#1\ignorespaces}
2491 \def\city#1{\global\@ACM@citypresenttrue\unskip\ignorespaces}
2492 \def\state#1{\unskip\ignorespaces}
2493 \newcommand\department[2][0]{\unskip\ignorespaces}
2494 \def\country#1{\StrDel{#1}{ }[\@tempa]%
2495 \ifx\@tempa\@empty\else
2496 \global\@ACM@countrypresenttrue\fi
2497 \if@ACM@affiliation@obeypunctuation\else, \fi#1\ignorespaces}
2498 \else
2499 \def\position#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
2500 \def\institution#1{\global\@ACM@instpresenttrue
2501 \if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
2502 \newcommand\department[2][0]{\if@ACM@affiliation@obeypunctuation
2503 #2\else#2\par\fi}%
2504 % \def\streetaddress#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
2505 \def\city#1{\global\@ACM@citypresenttrue\@ACM@addtoaddress{#1}}%
2506 \let\state\@ACM@addtoaddress
2507 % \def\postcode#1{\if@ACM@affiliation@obeypunctuation#1\else\unskip\space#1\fi}%
2508 \def\country#1{\global\@ACM@countrypresenttrue\@ACM@addtoaddress{#1}}%
2509 \fi
91
2534 \@mkauthors@i
2535 \fi
2536 \endgroup
2537 }
\@authorfont Somehow different conferences use different fonts for author names. Why?
2538 \def\@authorfont{\Large\sffamily}
92
\if@ACM@instpresent Whether the given affiliation has institution
2579 \newif\if@ACM@instpresent
2580 \@ACM@instpresenttrue
\@mkauthors@i This version is used in most journal formats. Note that \and between authors with the
same affiliation becomes ␣and␣:
2602 \def\@mkauthors@i{%
2603 \def\@currentauthors{}%
2604 \def\@currentaffiliations{}%
2605 \global\let\and\@typeset@author@line
2606 \def\@author##1{%
2607 \ifx\@currentauthors\@empty
2608 \gdef\@currentauthors{\@authorfont\MakeTextUppercase{##1}}%
2609 \else
2610 \g@addto@macro{\@currentauthors}{\and\MakeTextUppercase{##1}}%
2611 \fi
2612 \gdef\and{}}%
2613 \def\email##1##2{}%
2614 \def\affiliation##1##2{%
2615 \def\@tempa{##2}\ifx\@tempa\@empty\else
2616 \ifx\@currentaffiliations\@empty
2617 \gdef\@currentaffiliations{%
2618 \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
2619 \setkeys{@ACM@affiliation@}{##1}%
93
2620 \@ACM@resetaffil
2621 \@affiliationfont##2\@ACM@checkaffil}%
2622 \else
2623 \g@addto@macro{\@currentaffiliations}{\and
2624 \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
2625 \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
2626 ##2\@ACM@checkaffil}%
2627 \fi
2628 \fi
2629 \global\let\and\@typeset@author@line}%
2630 \if@ACM@acmcp
2631 \advance\hsize by -6pc%
2632 \fi
2633 \global\setbox\mktitle@bx=\vbox{\noindent\unvbox\mktitle@bx\par\medskip
2634 \noindent\addresses\@typeset@author@line
2635 \par\medskip}%
2636 }
\@mkauthors@ii The \@mkauthors@ii command was the version used in acmtog. It is no longer neces-
sary.
\@typeset@author@bx Typesetting the box with authors. Note that in sigchi-a the box is not centered.
2641 \def\@typeset@author@bx{\bgroup\hsize=\author@bx@wd
2642 \def\and{\par}\normalbaselines
2643 \global\setbox\author@bx=\vtop{\if@ACM@sigchiamode\else\centering\fi
2644 \@authorfont\@currentauthors\par\@affiliationfont
2645 \@currentaffiliation}\egroup
2646 \box\author@bx\hspace{\author@bx@sep}%
2647 \gdef\@currentauthors{}%
2648 \gdef\@currentaffiliation{}}
\@mkauthors@iii The sigconf version. Here we use a centered design with each author in a separate box.
2649 \def\@mkauthors@iii{%
First, we need to determine the design of the author strip. The boxes are separated by
\author@bx@sep plus two \author@bx@sep margins. This means that each box must
be of width (\textwidth − \author@bx@sep)/𝑁 − \author@bx@sep, where 𝑁 is the
number of boxes per row.
2650 \author@bx@wd=\textwidth\relax
2651 \advance\author@bx@wd by -\author@bx@sep\relax
2652 \ifnum\@ACM@authorsperrow>0\relax
2653 \divide\author@bx@wd by \@ACM@authorsperrow\relax
2654 \else
2655 \ifcase\num@authorgroups
94
2656 \relax % 0?
2657 \or % 1=one author per row
2658 \or % 2=two authors per row
2659 \divide\author@bx@wd by \num@authorgroups\relax
2660 \or % 3=three authors per row
2661 \divide\author@bx@wd by \num@authorgroups\relax
2662 \or % 4=two authors per row (!)
2663 \divide\author@bx@wd by 2\relax
2664 \else % three authors per row
2665 \divide\author@bx@wd by 3\relax
2666 \fi
2667 \fi
2668 \advance\author@bx@wd by -\author@bx@sep\relax
Now, parsing of \addresses:
2669 \gdef\@currentauthors{}%
2670 \gdef\@currentaffiliation{}%
2671 \def\@author##1{\ifx\@currentauthors\@empty
2672 \gdef\@currentauthors{\par##1}%
2673 \else
2674 \g@addto@macro\@currentauthors{\par##1}%
2675 \fi
2676 \gdef\and{}}%
2677 \def\email##1##2{\ifx\@currentaffiliation\@empty
2678 \gdef\@currentaffiliation{\bgroup
2679 \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}%
2680 \else
2681 \g@addto@macro\@currentaffiliation{\par\bgroup
2682 \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}%
2683 \fi}%
2684 \def\affiliation##1##2{\ifx\@currentaffiliation\@empty
2685 \gdef\@currentaffiliation{%
2686 \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
2687 \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
2688 ##2\@ACM@checkaffil}%
2689 \else
2690 \g@addto@macro\@currentaffiliation{\par
2691 \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
2692 \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
2693 ##2\@ACM@checkaffil}%
2694 \fi
2695 \global\let\and\@typeset@author@bx
2696 }%
\@mkauthors@iv The sigchi-a version. We put authors in the main text with no more than 2 authors per
line, unless overriden.
2702 \def\@mkauthors@iv{%
95
First, we need to determine the design of the author strip. The boxes are separated by
\author@bx@sep plus two \author@bx@sep margins. This means that each box must
be of width (\textwidth − \author@bx@sep)/𝑁 − \author@bx@sep, where 𝑁 is the
number of boxes per row.
2703 \author@bx@wd=\columnwidth\relax
2704 \advance\author@bx@wd by -\author@bx@sep\relax
2705 \ifnum\@ACM@authorsperrow>0\relax
2706 \divide\author@bx@wd by \@ACM@authorsperrow\relax
2707 \else
2708 \ifcase\num@authorgroups
2709 \relax % 0?
2710 \or % 1=one author per row
2711 \else % 2=two authors per row
2712 \divide\author@bx@wd by 2\relax
2713 \fi
2714 \fi
2715 \advance\author@bx@wd by -\author@bx@sep\relax
Now, parsing of \addresses:
2716 \gdef\@currentauthors{}%
2717 \gdef\@currentaffiliation{}%
2718 \def\@author##1{\ifx\@currentauthors\@empty
2719 \gdef\@currentauthors{\par##1}%
2720 \else
2721 \g@addto@macro\@currentauthors{\par##1}%
2722 \fi
2723 \gdef\and{}}%
2724 \def\email##1##2{\ifx\@currentaffiliation\@empty
2725 \gdef\@currentaffiliation{\nolinkurl{##2}}%
2726 \else
2727 \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}%
2728 \fi}%
2729 \def\affiliation##1##2{\ifx\@currentaffiliation\@empty
2730 \gdef\@currentaffiliation{%
2731 \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
2732 \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
2733 ##2\@ACM@checkaffil}%
2734 \else
2735 \g@addto@macro\@currentaffiliation{\par
2736 \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
2737 \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
2738 ##2\@ACM@checkaffil}%
2739 \fi
2740 \global\let\and\@typeset@author@bx}%
2741 %
96
2747 \ifnum\num@authors>1\relax
2748 Authors’ \else Author’s \fi
2749 \ifnum\num@authorgroups>1\relax
2750 addresses: \else address: \fi
2751 \bgroup
2752 \def\streetaddress##1{\unskip, ##1}%
2753 \def\postcode##1{\unskip, ##1}%
2754 \def\position##1{\unskip\ignorespaces}%
2755 \gdef\@ACM@institution@separator{, }%
2756 \def\institution##1{\unskip\@ACM@institution@separator ##1\gdef\@ACM@institution@separator{ and }
2757 \def\city##1{\unskip, ##1}%
2758 \def\state##1{\unskip, ##1}%
2759 \renewcommand\department[2][0]{\unskip\@addpunct, ##2}%
2760 \def\country##1{\unskip, ##1}%
2761 \def\and{\unskip; \gdef\@ACM@institution@separator{, }}%
2762 \def\@author##1{##1}%
2763 \def\email##1##2{\unskip, \nolinkurl{##2}}%
2764 \addresses
2765 \egroup}
2766 \AtEndDocument{\if@ACM@nonacm\else\if@ACM@journal
2767 \ifx\@authorsaddresses\@empty
2768 \ClassWarningNoLine{\@classname}{Authors’
2769 addresses are mandatory for ACM journals}%
2770 \fi\fi\fi}
\@authornotemark Adding a footnote mark to authors. This version adds a “normal” footnote mark.
2772 \def\@authornotemark{\g@addto@macro\@currentauthors{\footnotemark\relax}}
97
2790 \everypar{\setbox\z@\lastbox\everypar{}}\small
2791 \else
2792 \section*{\abstractname}%
2793 \fi
2794 \ignorespaces\@abstract\par}%
2795 \fi\egroup}
98
2838 \def\@printendtopmatter{%
2839 \let\@vspace\@vspace@orig
2840 \let\@vspacer\@vspacer@orig
2841 \par\bigskip
2842 \let\@vspace\@vspace@acm
2843 \let\@vspacer\@vspacer@acm
2844 }
\@setauthorsaddresses
2846 \def\@setauthorsaddresses{\@authorsaddresses\unskip\@addpunct.}
\ACM@restore@pagestyle The following code by Ross Moore protects against changes by the totpages package:
2851 \let\ACM@ps@plain\ps@plain
2852 \let\ACM@ps@myheadings\ps@myheadings
2853 \let\ACM@ps@headings\ps@headings
2854 \def\ACM@restore@pagestyle{%
2855 \let\ps@plain\ACM@ps@plain
2856 \let\ps@myheadings\ACM@ps@myheadings
2857 \let\ps@headings\ACM@ps@headings}
2858 \AtBeginDocument{\ACM@restore@pagestyle}
99
\ACM@linecountL How to display the box on the left
2875 \def\ACM@linecountL{%
2876 \if@ACM@review
2877 \ACM@mk@linecount
2878 \begin{picture}(0,0)%
2879 \put(-26,-22){\usebox{\ACM@linecount@bx}}%
2880 \end{picture}%
2881 \fi}
\ACM@linecountR How to display the box on the right. In one column formats we do not step the numbers.
2882 \def\ACM@linecountR{%
2883 \if@ACM@review
2884 \ifcase\ACM@format@nr
2885 \relax % manuscript
2886 \relax
2887 \or % acmsmall
2888 \relax
2889 \or % acmlarge
2890 \relax
2891 \or % acmtog
2892 \ACM@mk@linecount
2893 \or % sigconf
2894 \ACM@mk@linecount
2895 \or % siggraph
2896 \ACM@mk@linecount
2897 \or % sigplan
2898 \ACM@mk@linecount
2899 \or % sigchi
2900 \ACM@mk@linecount
2901 \or % sigchi-a
2902 \ACM@mk@linecount
2903 \or % acmengage
2904 \ACM@mk@linecount
2905 \or % acmcp
2906 \relax
2907 \fi
2908 \begin{picture}(0,0)%
2909 \put(20,-22){\usebox{\ACM@linecount@bx}}%
2910 \end{picture}%
2911 \fi}
100
2924 \the\year-\two@digits{\the\month}-\two@digits{\the\day}{ }%
2925 \two@digits{\theACM@time@hours}:\two@digits{\theACM@time@minutes}{. }%
2926 Page \thepage\ of \@startPage--\pageref*{TotPages}.%
2927 }
2928 \fi
\@shortauthors Even if the author redefined \shortauthors, we do not print it in the headers when in
anonymous mode:
2929 \def\@shortauthors{%
2930 \if@ACM@anonymous
2931 Anon.
2932 \ifx\@acmSubmissionID\@empty\else Submission Id: \@acmSubmissionID\fi
2933 \else\shortauthors\fi}
standardpagestyle The page style for all pages but the first one The page style for all pages but the first
one
2935 \AtBeginDocument{%
2936 \fancypagestyle{standardpagestyle}{%
2937 \fancyhf{}%
2938 \renewcommand{\headrulewidth}{\z@}%
2939 \renewcommand{\footrulewidth}{\z@}%
2940 \def\@acmArticlePage{%
2941 \ifx\@acmArticle\empty%
2942 \if@ACM@printfolios\thepage\fi%
2943 \else%
2944 \@acmArticle\if@ACM@printfolios:\thepage\fi%
2945 \fi%
2946 }%
2947 \if@ACM@journal@bibstrip
2948 \ifcase\ACM@format@nr
2949 \relax % manuscript
2950 \fancyhead[LE]{\ACM@linecountL\if@ACM@printfolios\thepage\fi}%
2951 \fancyhead[RO]{\if@ACM@printfolios\thepage\fi}%
2952 \fancyhead[RE]{\@shortauthors}%
2953 \fancyhead[LO]{\ACM@linecountL\shorttitle}%
2954 \if@ACM@nonacm\else%
2955 \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM}
2956 \fi%
2957 \or % acmsmall
2958 \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticlePage}%
2959 \fancyhead[RO]{\@headfootfont\@acmArticlePage}%
2960 \fancyhead[RE]{\@headfootfont\@shortauthors}%
2961 \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
2962 \if@ACM@nonacm\else%
2963 \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
2964 \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
2965 \fi
2966 \or % acmlarge
2967 \fancyhead[LE]{\ACM@linecountL\@headfootfont
2968 \@acmArticlePage\quad\textbullet\quad\@shortauthors}%
2969 \fancyhead[LO]{\ACM@linecountL}%
101
2970 \fancyhead[RO]{\@headfootfont
2971 \shorttitle\quad\textbullet\quad\@acmArticlePage}%
2972 \if@ACM@nonacm\else%
2973 \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
2974 \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
2975 \fi
2976 \or % acmtog
2977 \fancyhead[LE]{\ACM@linecountL\@headfootfont
2978 \@acmArticlePage\quad\textbullet\quad\@shortauthors}%
2979 \fancyhead[LO]{\ACM@linecountL}%
2980 \fancyhead[RE]{\ACM@linecountR}%
2981 \fancyhead[RO]{\@headfootfont
2982 \shorttitle\quad\textbullet\quad\@acmArticlePage\ACM@linecountR}%
2983 \if@ACM@nonacm\else%
2984 \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
2985 \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
2986 \fi
2987 \else % Proceedings
2988 \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
2989 \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
2990 \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}%
2991 \if@ACM@nonacm
2992 \fancyhead[LE]{\ACM@linecountL}%
2993 \fancyhead[RO]{\ACM@linecountR}%
2994 \else%
2995 \if@ACM@engage
2996 \fancyhead[LE]{\ACM@linecountL\@headfootfont\footnotesize
2997 EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi}%
2998 \fancyhead[RO]{\@headfootfont
2999 EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi
3000 \ACM@linecountR}%
3001 \else
3002 \fancyhead[LE]{\ACM@linecountL\@headfootfont\footnotesize
3003 \acmConference@shortname,
3004 \acmConference@date, \acmConference@venue}%
3005 \fancyhead[RO]{\@headfootfont
3006 \acmConference@shortname,
3007 \acmConference@date, \acmConference@venue\ACM@linecountR}%
3008 \fi
3009 \fi
3010 \fi
3011 \else % Proceedings
3012 \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
3013 \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
3014 \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}%
3015 \if@ACM@nonacm
3016 \fancyhead[LE]{\ACM@linecountL}%
3017 \fancyhead[RO]{\ACM@linecountR}%
3018 \else%
3019 \if@ACM@engage
3020 \fancyhead[LE]{\ACM@linecountL\@headfootfont
3021 EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi}%
3022 \fancyhead[RO]{\@headfootfont
3023 EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi
102
3024 \ACM@linecountR}%
3025 \else
3026 \fancyhead[LE]{\ACM@linecountL\@headfootfont
3027 \acmConference@shortname,
3028 \acmConference@date, \acmConference@venue}%
3029 \fancyhead[RO]{\@headfootfont
3030 \acmConference@shortname,
3031 \acmConference@date, \acmConference@venue\ACM@linecountR}%
3032 \fi
3033 \fi
3034 \fi
3035 \if@ACM@sigchiamode
3036 \fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}%
3037 \fi
3038 \if@ACM@timestamp
3039 \fancyfoot[LO,RE]{\ACM@timestamp}
3040 \fi
3041 \if@ACM@acmcp
3042 \renewcommand{\footrulewidth}{0.1\p@}%
3043 \fancyheadoffset[L]{46pt}%
3044 \fancyhead[L]{\makebox[\z@][l]{%
3045 \raisebox{-\dimexpr(0.25\textheight*\ACM@ArticleType@nr)}{%
3046 \rotatebox{90}{\colorbox{@ACM@Article@color}{\color{white}%
3047 \strut\ACM@ArticleType˜Article}}}}%
3048 \ACM@linecountL}%
3049 \fancyhead[R]{\makebox[\z@][r]{\box\@ACM@acmcpbox}}%
3050 \fancyfoot[L,C]{}%
3051 \fancyfoot[R]{\footnotesize
3052 \@journalName, Volume˜\@acmVolume, Issue˜\@acmNumber,
3053 \ifx\@acmArticle\@empty\else Article˜\@acmArticle\fi\space
3054 (\@acmPubDate)\ifx\@acmDOI\@empty\else\\\@formatdoi{\@acmDOI}\fi}
3055 \fi
3056 }%
3057 \pagestyle{standardpagestyle}
3058 }
103
3076 \@folio@voffset=.55in\relax
3077 \def\@folio@max{10}
3078 \fi
104
3124 \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
3125 \@acmNumber, Article \@acmArticle. Publication date:
3126 \@acmPubDate.}%
3127 \fi%
3128 \fancyhead[RO]{\@folioblob}%
3129 \fancyhead[LE]{\ACM@linecountL\@folioblob}%
3130 \fancyhead[LO]{\ACM@linecountL}%
3131 \fancyheadoffset[RO,LE]{1.4\@folio@wd}%
3132 \or % acmtog
3133 \if@ACM@nonacm\else%
3134 \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
3135 \@acmNumber, Article \@acmArticle. Publication date:
3136 \@acmPubDate.}%
3137 \fi%
3138 \fancyhead[L]{\ACM@linecountL}%
3139 \fancyhead[R]{\ACM@linecountR}%
3140 \else % Conference proceedings
3141 \fancyhead[L]{\ACM@linecountL}%
3142 \fancyhead[R]{\ACM@linecountR}%
3143 \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
3144 \fi
3145 \else
3146 \fancyhead[L]{\ACM@linecountL}%
3147 \fancyhead[R]{\ACM@linecountR}%
3148 \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
3149 \fi
3150 \if@ACM@timestamp
3151 \ifnum\ACM@format@nr=0\relax % Manuscript
3152 \fancyfoot[LO,RE]{\ACM@timestamp\quad
3153 \if@ACM@nonacm\else
3154 \footnotesize Manuscript submitted to ACM
3155 \fi}
3156 \else
3157 \fancyfoot[LO,RE]{\ACM@timestamp}
3158 \fi
3159 \fi
3160 \if@ACM@acmcp
3161 \renewcommand{\footrulewidth}{0.1\p@}%
3162 \fancyheadoffset[L]{46pt}%
3163 \fancyhead[L]{\makebox[\z@][l]{%
3164 \raisebox{-\dimexpr(0.25\textheight*\ACM@ArticleType@nr)}{%
3165 \rotatebox{90}{\colorbox{@ACM@Article@color}{\color{white}%
3166 \strut\ACM@ArticleType˜Article}}}}%
3167 \ACM@linecountL}%
3168 \fancyhead[R]{\makebox[\z@][r]{\box\@ACM@acmcpbox}}%
3169 \fancyfoot[L,C]{}%
3170 \fancyfoot[R]{\footnotesize
3171 \@journalName, Volume˜\@acmVolume, Issue˜\@acmNumber,
3172 \ifx\@acmArticle\@empty\else Article˜\@acmArticle\fi\space
3173 (\@acmPubDate)\ifx\@acmDOI\@empty\else\\\@formatdoi{\@acmDOI}\fi}
3174 \fi
3175 }}
105
3.23 Sectioning
\ACM@NRadjust Ross Moore’s macro.
\ACM@NR@adjustedSectionformat
3194 \def\ACM@NR@adjustedSectionformat#1#2{%
3195 \realSectionformat{\ACM@sect@format{#1}}{#2}%
3196 \let\Sectionformat\realSectionformat}
3197 \DeclareRobustCommand{\ACM@sect@format}{\ACM@sect@format@}
3198 \def\ACM@sect@format@null#1{#1}
3199 \let\ACM@sect@format@\ACM@sect@format@null
3200 \AtBeginDocument{%
3201 \expandafter\ifx\csname LTX@adddotafter\endcsname\relax
3202 \let\LTX@adddotafter\@adddotafter
3203 \fi
3204 }
106
\ACM@adddotafter
3205 \def\ACM@adddotafter#1{\ifx\relax#1\relax\else\LTX@adddotafter{#1}\fi}
\@secfont Fonts for sections etc. are different for different formats.
\@subsecfont 3235 \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
\@subsubsecfont 3236 \def\@subsecfont{\sffamily\bfseries\section@raggedright}
\@parfont 3237 \def\@subsubsecfont{\sffamily\itshape}
3238 \def\@parfont{\itshape}
3239 \setcounter{secnumdepth}{3}
3240 \ifcase\ACM@format@nr
3241 \relax % manuscript
3242 \or % acmsmall
3243 \or % acmlarge
3244 \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase}
3245 \def\@subsecfont{\sffamily\large\section@raggedright}
3246 \or % acmtog
3247 \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase}
3248 \def\@subsecfont{\sffamily\large\section@raggedright}
3249 \or % sigconf
3250 \def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase}
3251 \def\@subsecfont{\bfseries\Large\section@raggedright}
107
3252 \or % siggraph
3253 \def\@secfont{\sffamily\bfseries\Large\section@raggedright\MakeTextUppercase}
3254 \def\@subsecfont{\sffamily\bfseries\Large\section@raggedright}
3255 \or % sigplan
3256 \def\@secfont{\bfseries\Large\section@raggedright}
3257 \def\@subsecfont{\bfseries\section@raggedright}
3258 \def\@subsubsecfont{\bfseries\section@raggedright}
3259 \def\@parfont{\bfseries\itshape}
3260 \def\@subparfont{\itshape}
3261 \or % sigchi
3262 \setcounter{secnumdepth}{1}
3263 \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
3264 \def\@subsecfont{\sffamily\bfseries\section@raggedright}
3265 \or % sigchi-a
3266 \setcounter{secnumdepth}{0}
3267 \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
3268 \def\@subsecfont{\sffamily\bfseries\section@raggedright}
3269 \or % acmengage
3270 \def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase}
3271 \def\@subsecfont{\bfseries\Large\section@raggedright}
3272 \or %acmcp
3273 \fi
3276 \if@ACM@acmcp
3277 \setcounter{secnumdepth}{-1}%
3278 \fi
3.25 Theorems
\@acmplainbodyfont The font to typeset the body of the acmplain theorem style.
3280 \def\@acmplainbodyfont{\itshape}
\@acmplainheadfont The font to typeset the head of the acmplain theorem style.
3282 \def\@acmplainheadfont{\scshape}
108
\@acmplainnotefont The font to typeset the note of the acmplain theorem style.
3283 \def\@acmplainnotefont{\@empty}
\@acmdefinitionbodyfont The font to typeset the body of the acmdefinition theorem style.
3312 \def\@acmdefinitionbodyfont{\normalfont}
\@acmdefinitionheadfont The font to typeset the head of the acmdefinition theorem style.
3314 \def\@acmdefinitionheadfont{\itshape}
\@acmdefinitionnotefont The font to typeset the note of the acmdefinition theorem style.
3315 \def\@acmdefinitionnotefont{\@empty}
109
3321 \or % sigconf
3322 \or % siggraph
3323 \or % sigplan
3324 \def\@acmdefinitionbodyfont{\normalfont}
3325 \def\@acmdefinitionindent{\z@}
3326 \def\@acmdefinitionheadfont{\bfseries}
3327 \def\@acmdefinitionnotefont{\normalfont}
3328 \or % sigchi
3329 \or % sigchi-a
3330 \or % acmengage
3331 \or % acmcp
3332 \fi
Delay defining the theorem environments until after other packages have been
loaded. In particular, the cleveref package must be loaded before the theorem en-
vironments are defined in order to show the correct environment name (see https:
//github.com/borisveytsman/acmart/issues/138). The acmthm option is used to
suppress the definition of any theorem environments. Also, to avoid obscure errors
arising from these environment definitions conflicting with environments defined by
the user or by user-loaded packages, we only define environments that have not yet
been defined.
3345 \AtEndPreamble{%
3346 \if@ACM@acmthm
3347 \theoremstyle{acmplain}
3348 \@ifundefined{theorem}{%
3349 \newtheorem{theorem}{Theorem}[section]
3350 }{}
3351 \@ifundefined{conjecture}{%
3352 \newtheorem{conjecture}[theorem]{Conjecture}
3353 }{}
3354 \@ifundefined{proposition}{%
3355 \newtheorem{proposition}[theorem]{Proposition}
3356 }{}
3357 \@ifundefined{lemma}{%
3358 \newtheorem{lemma}[theorem]{Lemma}
3359 }{}
3360 \@ifundefined{corollary}{%
3361 \newtheorem{corollary}[theorem]{Corollary}
110
3362 }{}
3363 \theoremstyle{acmdefinition}
3364 \@ifundefined{example}{%
3365 \newtheorem{example}[theorem]{Example}
3366 }{}
3367 \@ifundefined{definition}{%
3368 \newtheorem{definition}[theorem]{Definition}
3369 }{}
3370 \fi
3371 \theoremstyle{acmplain}
3372 }
111
3402 \ifcase\ACM@format@nr
3403 \relax % manuscript
3404 \or % acmsmall
3405 \or % acmlarge
3406 \or % acmtog
3407 \RequirePackage{pbalance}%
3408 \or % sigconf
3409 \RequirePackage{pbalance}%
3410 \or % siggraph
3411 \RequirePackage{pbalance}%
3412 \or % sigplan
3413 \RequirePackage{pbalance}%
3414 \or % sigchi
3415 \RequirePackage{pbalance}%
3416 \or % sigchi-a
3417 \or % acmengage
3418 \RequirePackage{pbalance}%
3419 \or % acmcp
3420 \fi
3421 \fi
3422 \if@ACM@balance
3423 \ifcase\ACM@format@nr
3424 \relax % manuscript
3425 \global\@ACM@balancefalse
3426 \or % acmsmall
3427 \global\@ACM@balancefalse
3428 \or % acmlarge
3429 \global\@ACM@balancefalse
3430 \or % acmtog
3431 \RequirePackage{balance}%
3432 \or % sigconf
3433 \RequirePackage{balance}%
3434 \or % siggraph
3435 \RequirePackage{balance}%
3436 \or % sigplan
3437 \RequirePackage{balance}%
3438 \or % sigchi
3439 \RequirePackage{balance}%
3440 \or % sigchi-a
3441 \global\@ACM@balancefalse
3442 \or % acmengage
3443 \RequirePackage{balance}%
3444 \or % acmcp
3445 \global\@ACM@balancefalse
3446 \fi
3447 \fi
3448 }
3449 \AtEndDocument{%
3450 \if@ACM@balance
3451 \if@twocolumn
3452 \balance
3453 \fi\fi}
112
3.27 Acknowledgments
\acksname
3454 \newcommand\acksname{Acknowledgments}
\grantnum
3463 \newcommand\grantnum[3][]{#3%
3464 \def\@tempa{#1}\ifx\@tempa\@empty\else\space(\url{#1})\fi}
113
3489 \else
3490 #1:#2%
3491 \fi
3492 \fi}
3.30 Index
\theindex Standard amsart uses plain page style in index pages. This clashes with line numbering
for review option, so we redefine it.
3493 \def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
3494 \columnseprule\z@ \columnsep 35\p@
3495 \@indextitlestyle
3496 \let\item\@idxitem
3497 \parindent\z@ \parskip\z@\@plus.3\p@\relax
3498 \raggedright
3499 \hyphenpenalty\@M
3500 \footnotesize}
3516 \normalsize\normalfont\frenchspacing
3517 ⟨/class⟩
114
References
[1] UK TEX Users Group. UK list of TEX frequently asked questions. https://texfaq.
org, 2019.
[2] Michael Downes and Barbara Beeton. The amsart, amsproc, and amsbook docu-
ment classes. American Mathematical Society, August 2004. http://www.ctan.
org/pkg/amslatex.
[3] Johannes L. Braams and Javier Bezos. Babel, 2022. http://www.ctan.org/pkg/
babel.
[6] Carsten Heinz, Brooks Moses, and Jobst Hoffmann. The Listings Package, June 2015.
http://www.ctan.org/pkg/listings.
[7] Simon Fear. Publication quality tables in LATEX, April 2005. http://www.ctan.org/
pkg/booktabs.
[8] Association for Computing Machinery. ACM Visual Identity Standards, 2007. http:
//identitystandards.acm.org.
[9] Axel Sommerfeldt. The subcaption package, April 2013. http://www.ctan.org/
pkg/subcaption.
[10] Boris Veytsman, Bern Schandl, Lee Netherton, and C. V. Radhakrishnan. A package
to create a nomenclature, September 2005. http://www.ctan.org/pkg/nomencl.
[11] Nicola L. C. Talbot. User Manual for glossaries.sty v4.44, December 2019. http:
//www.ctan.org/pkg/glossaries.
[12] David Carlisle. The textcase package, October 2004. http://www.ctan.org/pkg/
textcase.
115
Change History
116
1.87 \acmISBN: Name change by Matthew
General: New journals: ACMJCSS, Fluet . . . . . . . . . . . . . . . . . . . . 71
JATS, TORS . . . . . . . . . . . . . . . 59 v1.05
format: New format: acmcp . . . . . . 36 General: Added processing doi
1.88 numbers for acmsiggraph and doi
General: Added ISSN for ACMJCSS . 59 numbers for sigproc.bib . . . . . . . 35
Added ISSN for GAMES . . . . . . . 59 Patched \setcitestyle command;
Added PACMNET . . . . . . . . . . . 59 closes https:
//github.com/borisveytsman/
v1.00 acmart/issues/19 . . . . . . . . . . 35
General: First released version . . . . . 35 v1.06
v1.01 \@ACM@badge@skip: Added macro . . 72
General: Changed hyperref colors in \@ACM@badge@width: Added macro . 71
screen mode (closes https: \@ACM@title@width: Added macro . 72
//github.com/borisveytsman/ \@mktitle@i: Added processing
acmart/issues/1) . . . . . . . . . . 35 badges . . . . . . . . . . . . . . . . . . 89
Defined ACM colors . . . . . . . . . . 35 Made generic . . . . . . . . . . . . . . 89
Explicitly put draft option (closes \@mktitle@ii: Now this macro is
https: obsolete . . . . . . . . . . . . . . . . . 89
//github.com/borisveytsman/ \@mktitle@iii: Added processing
acmart/issues/4) . . . . . . . . . . 38 badges . . . . . . . . . . . . . . . . . . 89
Set headheight to 1pc for all Made more generic . . . . . . . . . . 89
formats (closes https: \@mktitle@iv: Made more generic . 90
//github.com/borisveytsman/ \@printtopmatter: Added processing
acmart/issues/5) . . . . . . . . . . 35 badges . . . . . . . . . . . . . . . . . . 86
v1.02 \@subtitlefont: Added macro . . . . 88
General: Added TOPS and TSC (closes
\@titlefont: Added macro . . . . . . 88
https:
\acmBadgeL: Added macro . . . . . . . 72
//github.com/borisveytsman/
\acmBadgeR: Added macro . . . . . . . 72
acmart/issues/12) . . . . . . . . . 35
Documentation changes (closes \if@ACM@badge: Added macro . . . . . 71
https: v1.07
//github.com/borisveytsman/ \maketitle: Corrected a bug with
acmart/issues/13) . . . . . . . . . 35 abstract footnotes . . . . . . . . . . . 82
v1.03 Corrected a bug with permssion
General: Added anonsuppress and footnotes order . . . . . . . . . . 82
environment . . . . . . . . . . . . . . 35 v1.08
Added authorversion option (closes General: SIGPLAN reformatting by
https: Matthew Fluet . . . . . . . . . . . . . 35
//github.com/borisveytsman/ Typos corrected (Tobias Pape) . . . 35
acmart/issues/9) . . . . . . . . . . 35 v1.09
\@formatdoi: Added macro . . . . . . 78 General: Revert SIGPLAN caption
\if@ACM@authorversion: Added rules . . . . . . . . . . . . . . . . . . . . 35
macro . . . . . . . . . . . . . . . . . . . 37 v1.10
\maketitle: Added special case of General: Changes of
authorversion . . . . . . . . . . . . . . 82 ‘licensedothergov’ wording . . . . 76
v1.04 \maketitle: Corrected a bug with doi
General: Updated bibliography for in manuscript and author vertsion,
siggraph . . . . . . . . . . . . . . . . . 35 https:
\acmArticleSeq: Name change by //github.com/borisveytsman/
Matthew Fluet . . . . . . . . . . . . . 71 acmart/issues/36 . . . . . . . . . . 82
\acmDOI: Name change by Matthew standardpagestyle: Reversed folios
Fluet . . . . . . . . . . . . . . . . . . . . 71 location . . . . . . . . . . . . . . . . . 101
117
v1.11 v1.15
General: Customization of ACM \@ACM@addtoaddress: Added macro 90
theorem styles and proof \@mkauthors@iii: New authors
environment by Matthew Fluet . . 35 system . . . . . . . . . . . . . . . . . . 94
v1.12 \@shortauthors: Introduced macro . 101
General: Added graceful behavior \@typeset@author@bx: Moved to
when libertine fonts are absent . . 53 separate macro . . . . . . . . . . . . . 94
Documentation updates . . . . . . . 35 \acks: Added macro . . . . . . . . . . . 113
\@marginfigure: Now centering by \affiliation: Added code for author
default . . . . . . . . . . . . . . . . . . 57 groups . . . . . . . . . . . . . . . . . . 68
\@margintable: Now centering by \author: Added code for author
default . . . . . . . . . . . . . . . . . . 57 groups . . . . . . . . . . . . . . . . . . 67
\@parfont: Moved to \city: Added macro . . . . . . . . . . . 91
\section@raggedright . . . . . 107 \country: Added macro . . . . . . . . . 91
\copyrightpermissionfootnoterule: \department: Added macro . . . . . . 91
Added macro . . . . . . . . . . . . . . 52 \grantnum: Added macro . . . . . . . . 113
\descriptionlabel: Redefined . . . . 59 \grantsponsor: Added macro . . . . . 113
\footnoterule: Made shorter . . . . . 53 \if@insideauthorgroup: Introduced
\if@ACM@natbib@override: Added macro . . . . . . . . . . . . . . . . . . . 67
macro . . . . . . . . . . . . . . . . . . . 37 \institution: Added macro . . . . . 91
\if@ACM@newfonts: Added macro . . 54 \num@authorgroups: Renamed . . . . 67
\orcid: Introduced macro . . . . . . . 69
\maketitle: Moved thankses to
copyrightpermission box . . . . . . 82 \position: Added macro . . . . . . . . 91
\postcode: Added macro . . . . . . . . 91
\section@raggedright: Introduced
\state: Added macro . . . . . . . . . . 91
macro . . . . . . . . . . . . . . . . . . 107
\streetaddress: Added macro . . . . 91
v1.13
standardpagestyle: Better handling
General: Font adjustments for
of anonymous mode . . . . . . . . 101
acmsmall . . . . . . . . . . . . . . . . . 92
v1.16
Increased font size for ACM Large 40
General: Formatting header/footer
Print bibliographic information by
(Matthew Fluet) . . . . . . . . . . . . 35
default for the proceedings . . . . . 73
\@headfootfont: Added macro . . . . 101
\@mpfootnotetext: Made minipage standardpagestyle: Customize
footnotes centered . . . . . . . . . . 48 header/footer text font . . . . . . . 101
\bibliographystyle: Redefined v1.17
macro . . . . . . . . . . . . . . . . . . . 49 General: Slightly decreased margins
\bibstyle@acmauthoryear: Added for sigs . . . . . . . . . . . . . . . . . . 50
macro . . . . . . . . . . . . . . . . . . . 43 \@makefnmark: Redefined . . . . . . . . 48
\bibstyle@acmnumeric: Added \@mkauthors: TOG now uses the same
macro . . . . . . . . . . . . . . . . . . . 43 authors block as other journals . . 91
\if@ACM@printfolios: Added macro 73 \@mkauthors@ii: Deleted . . . . . . . . 94
standardpagestyle: Added headers \@mkbibcitation: Added \nobreak 98
for sigs . . . . . . . . . . . . . . . . . 101 Changed format for sigs . . . . . . . 98
Expanded headers for sigchi-a . . . 101 \acmArticle: The default is now
Suppressed folios if sig . . . . . . . . 101 numerical . . . . . . . . . . . . . . . . 71
v1.14 \acmMonth: The default must be
General: \citestyle updates numerical. Closes #50. . . . . . . . . 71
(Matthew Fluet) . . . . . . . . . . . . 35 \acmNumber: The default is now
Patched \citestyle . . . . . . . . . 41 numerical . . . . . . . . . . . . . . . . 71
\bibstyle@acmauthoryear: Moved \acmVolume: The default is now
def of \bibstyle@acmauthoryear numerical . . . . . . . . . . . . . . . . 71
before use . . . . . . . . . . . . . . . . 43 \acmYear: The default is now
\bibstyle@acmnumeric: Moved def of numerical . . . . . . . . . . . . . . . . 71
\bibstyle@numeric before use . . 43 \description: Decreased indent . . . 59
118
\grantnum: Added url . . . . . . . . . . 113 \@mkabstract: Removed spurious
\grantsponsor: Renamed . . . . . . . 113 indentation (John Wickerson) . . . 97
\if@ACM@printacmref: Renamed \ccsdesc@parse: Add spacing after
from \if@ACM@printbib . . . . . . 73 bullet and around rightarrow;
standardpagestyle: Added paper semicolon separators no longer in
title to sigs . . . . . . . . . . . . . . . 101 bold/italic (John Wickerson) . . . . 75
v1.18 standardpagestyle: Corrected
General: Natbib is now the default for printfolios (Matthew Fluet) . . . . 101
all formats . . . . . . . . . . . . . . . . 35 v1.30
\@mkauthors@i: Now we andify General: Added \frenchspacing . . . 114
affiliations . . . . . . . . . . . . . . . . 93 Bibtex style now recognizes https://
\@typeset@author@line: Added in doi . . . . . . . . . . . . . . . . . . . 35
macro . . . . . . . . . . . . . . . . . . . 92 Switched to T1: looks like libertine
v1.19 has problems with \l in OT1 . . . 54
General: Include ’Abstract’, Updated IMWUT and PACMPL . . 59
’Acknowledgements’, and \department: Added optional
’References’ in PDF bookmarks parameter . . . . . . . . . . . . . . . . 91
(Matthew Fluet) . . . . . . . . . . . . 35 v1.31
Include ’References’ in PDF General: Documentation changes . . . 35
bookmarks (Matthew Fluet) . . . . 41 \@additionalaffiliation: Added
\@mkabstract: Include ’Abstract’ in macro . . . . . . . . . . . . . . . . . . . 69
PDF bookmarks (Matthew Fluet) . 97 \@mkbibcitation: Disabled linebreak 98
\acks: Include ’Acknowledgements’ in \@startsection: Added
PDF bookmarks (Matthew Fluet) 113 \tochangmeasure . . . . . . . . . . . 45
v1.20 Redefined macro . . . . . . . . . . . . 47
General: Bug fixes for bst . . . . . . . . 35 \@textbottom: Redefined . . . . . . . . 53
\@mkabstract: Deleted spurious space 97 \acmMonth: The default now is the
v1.21 current month (Matteo Riondato) 71
\showeprint: Added macro . . . . . . 113 \acmYear: The default now is the
v1.22 current year (Matteo Riondato) . . 71
General: More bibliography changes \additionalaffiliation: Added
for Aptara . . . . . . . . . . . . . . . . 35 macro . . . . . . . . . . . . . . . . . . . 69
v1.23 \l@subsection: Redefined macro . . 47
General: Add PACMPL journal option 35 \l@subsubsection: Redefined macro 47
v1.24 v1.32
General: Add IMWUT journal option 59 General: Added POMACS journal
v1.25 option . . . . . . . . . . . . . . . . . . . 35
General: Updated PACMPL . . . . . . . 59 Format siggraph is now obsolete . 35
v1.26 \@formatdoi: New doi format . . . . . 78
General: Corrected \shortcite bug . 35 v1.33
Documentation typos fixed (thanks General: Added acmart-preload-hook 35
to Stephen Spencer) . . . . . . . . . . 35 Added cmap and glyphtounicode . 53
v1.27 BibTeX comma before articleno bug
\if@ACM@printccs: Typo corrected . 73 corrected . . . . . . . . . . . . . . . . . 35
v1.28 BibTeX crossref bug corrected . . . 35
General: Corrected option natbib BibTeX numpages bug corrected . 35
behavior . . . . . . . . . . . . . . . . . 43 Documentation updates . . . . . . . 35
Got rid of warnings in pdf keywords 48 Moved \citename definition for
\ccsdesc@parse: Change from \to to non-natbib bibliography, so a
\textrightarrow (Matteo package may redefine it . . . . . . . 49
Riondato) . . . . . . . . . . . . . . . . 75 Switched to Type 1 fonts for
v1.29 libertine even if OTF-capable
General: Increased head to 13pt . . . . 50 engine is used (Kai Mindermann) . 54
119
\@ACM@addtoaddress: Added \ACM@linecountL: Rulers now are
obeypunctuation code . . . . . . . . 90 continuous . . . . . . . . . . . . . . 100
\@mkauthors@i: Added \ACM@linecountR: Rulers now are
obeypunctuation code . . . . . . . . 93 continuous . . . . . . . . . . . . . . 100
\@mkauthors@iii: Added \maketitle: Added date to the
obeypunctuation code . . . . . . . . 94 bibstrip in conf proceedings . . . . 82
\@mkauthors@iv: Added Deleted ‘DOI’ from doi numbers . 82
obeypunctuation code . . . . . . . . 95 Rearranged bibstrip . . . . . . . . . . 82
\@subtitlefont: Added The \terms command is now
\normalsize . . . . . . . . . . . . . . 88 obsolete . . . . . . . . . . . . . . . . . 82
\ACM@linecountL: Renamed macro . 100 \terms: The \terms command now
\ACM@linecountR: Added macro . . . 100 just produces a warning . . . . . . . 72
\ACM@timestamp: Added current page v1.35
number . . . . . . . . . . . . . . . . . 100 General: BibTeX bug fixed: et al. . . . 35
Added macro (Michael D. Adams) . 100 If the copyright is set to usgov or
Added submission id . . . . . . . . . 100 rigtsretained, the price is
\acmSubmissionID: Added macro . . 71 suppressed . . . . . . . . . . . . . . . . 76
\city: Added obeypunctuation code 91 \bibstyle@acmauthoryear: Square
\country: Added obeypunctuation brackets for author-year style . . . 43
code . . . . . . . . . . . . . . . . . . . . 91 v1.36
\department: Added obeypunctuation General: Added PACMHCI journal
code . . . . . . . . . . . . . . . . . . . . 91 options . . . . . . . . . . . . . . . . . . 59
\if@ACM@affiliation@obeypunctuation: Added the possibility to adjust
Added macro . . . . . . . . . . . . . . 69 number of author boxes per row
\if@ACM@authordraft: Added macro 38 in conference formats . . . . . . . . 35
\if@ACM@natbib@override: Deleted
\@ACM@authorsperrow: Added macro 73
macro . . . . . . . . . . . . . . . . . . . 37
\@mkauthors@iii: Added
\if@ACM@timestamp: Added macro
authorsperrow overrride . . . . . . 94
(Michael D. Adams) . . . . . . . . . . 38
\@mkauthors@iv: Added
\institution: Added
authorsperrow overrride . . . . . . 95
obeypunctuation code . . . . . . . . 91
\if@ACM@authordraft: Corrected
firstpagestyle: Added right
typo, thanks to bargteil . . . . . . . 38
linecount for two-column formats 104
v1.37
Added timestamp (Michael
General: Reduce list indentation
D. Adams) . . . . . . . . . . . . . . . 104
(Matthew Fluet) . . . . . . . . . . . . 58
\maketitle: Fixed the bug with
figures on top and bottom of the Set \normalparindent; Reduce list
title page, thanks to David Epstein 82 indentation (Matthew Fluet) . . . . 35
\position: Added obeypunctuation \description: Reduce list
code . . . . . . . . . . . . . . . . . . . . 91 indentation (Matthew Fluet) . . . . 59
\postcode: Added obeypunctuation \descriptionlabel: Reduce list
code . . . . . . . . . . . . . . . . . . . . 91 indentation (Matthew Fluet) . . . . 59
\state: Added obeypunctuation code 91 \normalparindent: Set
\streetaddress: Added \normalparindent (Matthew
obeypunctuation code . . . . . . . . 91 Fluet) . . . . . . . . . . . . . . . . . . . 52
standardpagestyle: Added right v1.38
linecount for two-column formats 101 General: Increase default font size for
Added timestamp (Michael SIGPLAN . . . . . . . . . . . . . . . 35, 40
D. Adams) . . . . . . . . . . . . . . . 101 v1.39
v1.34 \@@authornotemark: Added macro . 97
\@mkbibcitation: Deleted DOI from \authornotemark: Added macro . . . 70
doi numbers . . . . . . . . . . . . . . . 98 v1.40
\ACM@linecount@bx: Rulers now are General: Added ‘textcase’ package . . 41
continuous . . . . . . . . . . . . . . . 99 Added heightrounded to geometry 50
120
Added new copyright version: \acmArticle: The default is now
licensedcagov . . . . . . . . . . . . . . 35 empty . . . . . . . . . . . . . . . . . . . 71
Added package cleveref . . . . . . . 35 \acmArticleSeq: Now acmArticle
Added Ross Moore code for might be empty . . . . . . . . . . . . 71
glyphtounicode . . . . . . . . . . . . 53 \acmBooktitle: Added macro . . . . . 67
Bibliography changes . . . . . . . . . 35 \editor: Added macro . . . . . . . . . . 67
\@copyrightowner: Added new \if@ACM@acmthm: Added macro . . . . 36
copyright version: licensedcagov . 77 \maketitle: Empty DOI or ISBN are
\@copyrightpermission: Added new not printed (by Michael Ekstrand) 82
copyright version: licensedcagov . 78 v1.45
\@mkauthors@i: Switched to \@folioblob: Switched
MakeTextUppercase . . . . . . . . . 93 \bfeseries\sffamily to
\@parfont: Switched to \sffamily\bfseries . . . . . . . 104
MakeTextUppercase . . . . . . . . 107 \@parfont: Switched
\ACM@linecount@bx: Work around a \bfeseries\sffamily to
bug in xcolor: looks like cmyk \sffamily\bfseries . . . . . . . 107
colors in boxes do not work . . . . 99 \@titlefont: Switched
\ccdesc@parse@finish: Added \bfeseries\sffamily to
macro . . . . . . . . . . . . . . . . . . . 75 \sffamily\bfseries . . . . . . . . 88
\city: We now do not print this even v1.46
in SIG . . . . . . . . . . . . . . . . . . . 91 General: Added etoolbox . . . . . . . . 35
\country: Fixed bugs with extra Bst file bug fixes: label width is
spaces . . . . . . . . . . . . . . . . . . . 91 calculated correctly . . . . . . . . . . 35
\l@subsection: Redefined macro . . 47 Delayed hypersetup since journal
\postcode: We now do not print this options may change screen mode 48
even in SIG . . . . . . . . . . . . . . . 91 PACM now set screen to true . . . . 59
Restore theorem defs to class file . 35
\state: We now do not print this even
in SIG . . . . . . . . . . . . . . . . . . . 91 \@mkauthorsaddresses: Introduced
macro . . . . . . . . . . . . . . . . . . . 96
\streetaddress: We now do not
\@mkbibcitation: Added subtitle . . 98
print this even in SIG . . . . . . . . . 91
\@printendtopmatter: Made it
v1.41
\par\bigskip uniformly . . . . . . 98
General: Added new badges . . . . . . 35
\@printtopmatter: Deleted rule . . . 86
v1.42
\@setauthorsaddresses: Introduced
General: Deleted ACM badges . . . . . 35
macro . . . . . . . . . . . . . . . . . . . 99
v1.43 \ACM@linecount@bx: Rearranged the
\@startsection: Added code to get rid of spurious
\makeatletter . . . . . . . . . . . . 47 underfull messages (Benjamin
\country: Added comma before Byholm) . . . . . . . . . . . . . . . . . 99
country for journals . . . . . . . . . 91 \author: Started counting authors . . 67
v1.44 \authorsaddresses: Introduced
General: Added package refcount . . . 35 macro . . . . . . . . . . . . . . . . . . . 69
Deleted package cleveref . . . . . . . 35 \country: Corrected spacing for
Put theorem defs in a separate style 35 institution . . . . . . . . . . . . . . . . 91
\@acmBooktitle: Added macro . . . . 67 \if@ACM@acmthm: Modified
\@acmEditors: Added macro . . . . . 67 description . . . . . . . . . . . . . . . 36
\@editorsAbbrev: Added macro . . . 67 \liningnums: Workaround for
\@folioblob: Suppress the blob if compatibility with fontspec . . . . 54
acmArticleSeq is empty . . . . . . 104 \maketitle: Added authors’ addresses 82
\@mkbibcitation: If the paper has Thankses go before authors’
just one page, use ‘page’ instead of addresses . . . . . . . . . . . . . . . . . 82
‘pages’ . . . . . . . . . . . . . . . . . . 98 \num@authors: Introduced macro . . 67
\ACM@restore@pagestyle: Added v1.47
macro . . . . . . . . . . . . . . . . . . . 99 General: New journal: THRI . . . . . . 35
121
v1.48 XeTeX now uses T1 encoding . . . 54
General: \citeyear no longer \@mkbibcitation: Bug corrected
behaves like \citeyearpar . . . . 49 (Ross Moore) . . . . . . . . . . . . . . 98
Code prettying (Michael D. Adams) 35 \@shortauthors: Added submission
Initial support for Biblatex (Daniel id in anonymous mode . . . . . . 101
Thomas) . . . . . . . . . . . . . . . . . 35 \ACM@adddotafter: Added macro . . 107
Misc entries in the bibliography no \ACM@NR@adjustedSectionformat:
longer produce a separate date . . 35 Added macro . . . . . . . . . . . . . 106
Typos fixed (Jamie Davis) . . . . . . 35 \ACM@NRadjust: Added macro . . . . . 106
\@headfootfont: Deleted \author: Added submission id in
unnecessary switch (Michael anonymous mode . . . . . . . . . . . 67
D. Adams) . . . . . . . . . . . . . . . 101 \if@ACM@nonacm: Added macro . . . . 37
\@mkabstract: Removed spurious v1.55
indentation if abstract is followed General: Now we use purple color for
by an empty line . . . . . . . . . . . . 97 links . . . . . . . . . . . . . . . . . . . . 48
\ACM@timestamp: Fromatting change Table captions for SIGCHI now use
(Michael D. Adams) . . . . . . . . . 100 the same font size as figure
\if@ACM@review: Review mode now captions (Luis Leiva) . . . . . . . . . 56
switches on folios . . . . . . . . . . . 36 Typo corrected (Zack Weinberg) . 41
\maketitle: Added acmart and \@mkbibcitation: Bug corrected . . . 98
version info to pdfcreator tag . . . 82 \maketitle: Fixes topnum . . . . . . . 82
Added language and doctitle v1.56
attributes to PDF (Andreas General: Looks like XeTeX requires
Reichinger) . . . . . . . . . . . . . . . 82 explicit monotype font declaration 54
Suppressed empty DOI (Serguei Make two-column layouts flush
Mokhov) . . . . . . . . . . . . . . . . . 82 (Philip Quinn) . . . . . . . . . . . . . 50
v1.50 \@marginfigure: Added checking for
\@copyrightpermission: New description . . . . . . . . . . . . . . . 57
copyright statements for \@mkteasers: Added check for
iw3c2w3[g] . . . . . . . . . . . . . . . 78 description . . . . . . . . . . . . . . . 97
v1.51 \acksname: Added macro (Philip
General: Corrected the bug with price Quinn) . . . . . . . . . . . . . . . . . 113
suppression . . . . . . . . . . . . . . . 76 \ccsdesc@parse: End the concepts
Suppress price if the copyright is list with a period (Philip Quinn) . 75
set to iw3c2w3 or iw3c2w3g . . . . 76 \Description: Added macro . . . . . 55
XeTeX now uses OTF fonts \if@Description@present: Added
(Joachim Breitner) . . . . . . . . . . 54 macro . . . . . . . . . . . . . . . . . . . 55
firstpagestyle: We now use journal \if@undescribed@images: Added
abbreviation for footers . . . . . . 104 macro . . . . . . . . . . . . . . . . . . . 55
standardpagestyle: We now use v1.57
journal abbreviation for footers . 101 \ACM@origbaselinestretch: Added
v1.52 check whether the user changed
\@copyrightowner: Rewording of \baselinestretch . . . . . . . . . 114
licenses . . . . . . . . . . . . . . . . . . 77 \author: Added warning if \author
\@copyrightpermission: Another has comma . . . . . . . . . . . . . . . 67
rewording of copyright statements \email: Added warning if \author
for iw3c2w3[g] . . . . . . . . . . . . . 78 has comma . . . . . . . . . . . . . . . 69
v1.53 \if@ACM@balance: Added macro . . . 37
General: Added PACMCGIT, TIOT, \vspace: Added warning . . . . . . . . 114
TDSCI . . . . . . . . . . . . . . . . . . . 59 v1.58
v1.54 General: Added HEALTH. TDSCI is
General: Added Ross’s patch for renamed to TDS . . . . . . . . . . . . 59
sectioning . . . . . . . . . . . . . . . 107 Suppressed \addtocounter in pdf
Deleted indent for subsubsection . 107 subject . . . . . . . . . . . . . . . . . . 48
122
\@dblfloat: Deleted spurious space warnings . . . . . . . . . . . . . 55
\vspace warning . . . . . . . . . . . 57 \@specialsection: Suppress
\@marginfigure: Deleted spurious warnings about \vspace . . . . . . 85
\vspace warning . . . . . . . . . . . 57 v1.67
\@margintable: Deleted spurious General: Patching lstlisting and
\vspace warning . . . . . . . . . . . 57 lstlisting* to prevent spurious
\@mkbibcitation: Deleted spurious space warnings . . . . . . . . . . . . . 55
\vspace warning . . . . . . . . . . . 98 \@parfont: Deleted redefinitions of
\@printendtopmatter: Deleted sections . . . . . . . . . . . . . . . . . 107
spurious \vspace warning . . . . . 98 \@specialsection: Paragraph inside
\@sidebar: Deleted spurious \vspace group does not print its argument.
warning . . . . . . . . . . . . . . . . . 56 Added a bugfix . . . . . . . . . . . . . 85
\maketitle: Original \vspace inside v1.68
\maketitle . . . . . . . . . . . . . . . 82 General: New command for unindent
\vspace: Preserved old versions as paras . . . . . . . . . . . . . . . . . . 107
\@vspace@orig and \@specialsection: Deleted grouping
\@vspace@orig . . . . . . . . . . . 114 altogether . . . . . . . . . . . . . . . . 85
v1.59 v1.69
\acmConference: Setting General: No dots for unindented
\@ACM@journal@bibstrip . . . . . 66 paragraphs . . . . . . . . . . . . . . 107
\acmJournal: Setting \@printendtopmatter: Deleted
\@ACM@journal@bibstrip . . . . . 66 grouping . . . . . . . . . . . . . . . . . 98
\if@ACM@journal@bibstrip: \@specialsection: Changed dot to
Introduced macro . . . . . . . . . . . 39 colon for sigplan . . . . . . . . . . . . 85
firstpagestyle: Added logic for \ACM@linecountR: Do not increase
conference papers using journal numbers in one column format . 100
format . . . . . . . . . . . . . . . . . . 104 \ccsdesc@parse: Use math right
Moved page styles to arrow in text . . . . . . . . . . . . . . 75
\AtBeginDocument . . . . . . . . . 104 v1.71
standardpagestyle: Added logic for \l@subsubsection: Bug fixed (thanks
conference papers using journal to Andrew Black) . . . . . . . . . . . 47
format . . . . . . . . . . . . . . . . . . 101 v1.72
Moved page styles to General: Added hyperxmp . . . . . . . 48
\AtBeginDocument . . . . . . . . . 101 \author: Added \detokenize
v1.60 (Kuldeep S. Meel) . . . . . . . . . . . 67
\@headfootfont: Moved to \maketitle: Do not andify authors
footnotesize . . . . . . . . . . . . . . 101 for pdf metadata (Scott Pakin) . . . 82
v1.61 v1.73
\@typeset@author@bx: Added General: Patching minted and minted*
\normalbaselines . . . . . . . . . . 94 to prevent spurious space
v1.64 warnings . . . . . . . . . . . . . . . . . 55
\ACM@linecount@bx: Bug fix: made \@ACM@checkaffil: Added macro . . 93
the spacing on the left and the \@ACM@resetaffil: Added macro . . 93
right size equal . . . . . . . . . . . . . 99 \@mkauthors@i: Check the presence
\if@ACM@maketitle@typeset: of required elements for
Introduced macro . . . . . . . . . . . 59 affiliations . . . . . . . . . . . . . . . . 93
\maketitle: Added a switch setting to \@mkauthors@iii: Check the
show that \maketitle is typeset . 82 presence of required elements for
v1.65 affiliations . . . . . . . . . . . . . . . . 94
\@mkauthorsaddresses: Deleted \@mkauthors@iv: Check the presence
cs@addpunct . . . . . . . . . . . . . . 96 of required elements for
v1.66 affiliations . . . . . . . . . . . . . . . . 95
General: Patching algorithm and \city: Check the presence in affil . . 91
algorithm* to prevent spurious \country: Check the presence in affil 91
123
\if@ACM@citypresent: Added macro 93 \@mktitle@iii: Added
\if@ACM@countrypresent: Added \translatedtitle and
macro . . . . . . . . . . . . . . . . . . . 93 \translatedsubtitle . . . . . . . 89
\if@ACM@instpresent: Added macro 93 \@mktitle@iv: Added
\institution: Check the presence in \translatedtitle and
affil . . . . . . . . . . . . . . . . . . . . . 91 \translatedsubtitle . . . . . . . 90
\maketitle: Do not check again the \@mktranslatedabstract: Added
presense of address fields . . . . . . 82 macro . . . . . . . . . . . . . . . . . . . 98
v1.74 \@mktranslatedkeywords: Added
General: Changed the order of font macro . . . . . . . . . . . . . . . . . . . 70
loading . . . . . . . . . . . . . . . . . . 54 \@translatedabstracts: Added
v1.75 macro . . . . . . . . . . . . . . . . . . . 45
\@ACM@checkaffil: Changed warning \@translatedkeywords: Added
to error for country . . . . . . . . . . 93 macro . . . . . . . . . . . . . . . . . . . 45
\@beginmaketitlehook: Introduced \@translatedsubtitle: Added
macro . . . . . . . . . . . . . . . . . . . 82 macro . . . . . . . . . . . . . . . . . . . 45
\AtBeginMaketitle: Introduced \@translatedtitle: Added macro . 44
macro . . . . . . . . . . . . . . . . . . . 82 \ACM@lang@check: Added macro . . . 44
\maketitle: Added \ACM@languages: Introduced macro . 38
\@beginmaketitlehook . . . . . . 82 \maketitle: I13n . . . . . . . . . . . . . 82
v1.76 translatedabstract: Added macro 45
General: Moved hyperxmp before \translatedkeywords: Added macro 45
hyperref, see https: \translatedsubtitle: Added macro 45
//github.com/borisveytsman/
\translatedtitle: Added macro . . 44
acmart/issues/425 . . . . . . . . . 48
v1.85
\author: Added code for orcid links . 67
General: Added CC licenses . . . . . . 76
\if@ACM@pbalance: Added macro . . 37
\@acmengagemetadata: Introduced
\maketitle: Put \par inside group
macro . . . . . . . . . . . . . . . . . . . 82
for keywords . . . . . . . . . . . . . . 82
\@copyrightowner: Added CC
\orcid: Added code for orcid links . . 69
licenses . . . . . . . . . . . . . . . . . . 77
standardpagestyle: Fixed bug with
no line numbers for nonacm . . . 101 \@copyrightpermission: Added CC
v1.77 licenses . . . . . . . . . . . . . . . . . . 78
\@mkauthorsaddresses: New \@typesetengagemetadata:
separator of institutions . . . . . . . 96 Introduced macro . . . . . . . . . . . 99
v1.78 \if@ACM@engage: Introduced macro . 39
\@mkauthors@i: Unboxing \maketitle: acmengage . . . . . . . . . 82
\mktitle@bx . . . . . . . . . . . . . . 93 \setcctype: Added macro . . . . . . . 77
\@mkauthors@iii: Unboxing \setengagemetadata: Introduced
\mktitle@bx . . . . . . . . . . . . . . 94 macro . . . . . . . . . . . . . . . . . . . 82
\@mkteasers: Unboxing \mktitle@bx 97 v1.86
\@printtopmatter: Added processing \country: Error if country is empty . 91
the overflowing title box . . . . . . 86 standardpagestyle: Special
\@specialsection: Again suppressed treatment of ACM Engage
\vspace warning . . . . . . . . . . . 85 materials . . . . . . . . . . . . . . . . 101
v1.82 v1.87
\anon: Introduced macro . . . . . . . . 81 General: Added ‘framed’ package for
v1.83 acmcp . . . . . . . . . . . . . . . . . . . 41
General: Use babel for multilanguage No numbering sections for ACMCP 108
papers . . . . . . . . . . . . . . . . . . . 43 \@ACM@copyright@check@cc: Added
\@mkabstract: I13n . . . . . . . . . . . . 97 macro . . . . . . . . . . . . . . . . . . . 78
\@mktitle@i: Added \@copyrightpermission: CC licenses
\translatedtitle and now are allowed only for non-acm
\translatedsubtitle . . . . . . . 89 or ACM engage publications . . . . 78
124
\@mkauthors@i: Special treatment for firstpagestyle: Special treatment
acmcp . . . . . . . . . . . . . . . . . . . 93 for acmcp . . . . . . . . . . . . . . . 104
\@mktitle@i: Special treatment for \maketitle: CC license are allowed
acmcp . . . . . . . . . . . . . . . . . . . 89 for non-acm publications . . . . . . 82
\acmArticleType: Introduced macro 74 \set@ACM@acmcpbox: Added macro . 85
\acmCodeLink: Added possibility to
have several links . . . . . . . . . . . 74 standardpagestyle: Special
Introduced macro . . . . . . . . . . . 74 treatment of ACMCP . . . . . . . . 101
\acmDataLink: Introduced macro . . 75 v1.88
Now this is the same as the code link 75 \@mktitle@i: Moved down title for
\if@ACM@acmcp: Introduced macro . . 39 acmcp . . . . . . . . . . . . . . . . . . . 89
125
Index
Numbers written in italic refer to the page where the corresponding entry is described;
numbers underlined refer to the code line of the definition; numbers in roman refer to
the code lines where the entry is used.
126
2974, 2985, 3054, \@article@string . . . \@copyrightyear . . . .
3116, 3126, 3136, 3173 . . . 2812, 2825, 2833 . . . 2045, 2137, 2139
\@acmSubmissionID . . \@author . . . . . . . . . \@currbox . . . 980, 981, 982
. . . . . . . . 1482, 1481, 1487, 1494, \@currentaffiliation
1483, 1502, 1503, 2606, 2671, 2718, 2762 2645, 2648, 2670,
1610, 2921, 2922, 2932 \@authorfont 2538, 2543, 2677, 2678, 2681,
\@acmVolume . . . . . . . 2547, 2550, 2553, 2684, 2685, 2690,
1592, 2825, 2963, 2556, 2559, 2562, 2717, 2724, 2725,
2973, 2984, 3052, 2565, 2568, 2608, 2644 2727, 2729, 2730, 2735
3114, 3124, 3134, 3171 \@authornotemark . . . \@currentaffiliations
\@acmYear . . 1600, 1607, . . . 1582, 1588, 2772 . . . . . . . . 2574,
2046, 2130, 2161, 2816 \@authornotes . . . . . 2575, 2576, 2578,
\@acmdefinitionbodyfont . . . 1579, 1583, 2093 2604, 2616, 2617, 2623
. . . 3312, 3324, 3338 \@authorsaddresses . \@currentauthors . . .
\@acmdefinitionheadfont . . . . . . . . 1554, . . . . 2572, 2573,
. . . 3314, 3326, 3340 2102, 2241, 2767, 2846 2603, 2607, 2608,
\@acmdefinitionindent \@auxout . . . . . . . . . 646 2610, 2644, 2647,
. . . 3313, 3325, 3339 \@begindocumenthook 642 2669, 2671, 2672,
\@acmdefinitionnotefont \@beginmaketitlehook 2674, 2716, 2718,
. . . 3315, 3327, 3343 . . . 2063, 2066, 2072 2719, 2721, 2772, 2773
\@acmengagemetadata \@botnum . . . . . . . . . 2216 \@currentlabel . 560, 574
. . . 2067, 2069, 2849 \@citestyle . . . . . . . 308 \@dblarg . . . . . . . . . 462
\@acmownedfalse . . . . \@classname . . . . . . . \@dblfloat . . . . . . . . 963
. . . . 1797, 1800, 24, 26, 35, 53, 55, \@department . . 1532, 1533
1803, 1809, 1813, 56, 61, 63, 64, 69, \@dotsep . . . . . . . . . 3279
1816, 1819, 1822, 71, 72, 77, 80, 81, \@editorsAbbrev . . . .
1828, 1831, 1835, 1839 86, 88, 89, 94, 100, . . . 1455, 1460, 2830
\@acmownedtrue . . . . 101, 105, 109, 114, \@empty . . . . . . . 155,
. . . 1784, 1793, 1825 116, 117, 122, 124, 234, 378, 418, 466,
\@acmplainbodyfont . 125, 130, 132, 133, 1439, 1457, 1479,
. . . 3280, 3292, 3306 138, 142, 143, 161, 1482, 1500, 1502,
\@acmplainheadfont . 171, 177, 183, 260, 1507, 1508, 1514,
. . . 3282, 3294, 3308 419, 443, 829, 832, 1638, 1639, 1695,
\@acmplainindent . . . 835, 872, 881, 884, 1696, 1702, 1709,
. . . 3281, 3293, 3307 954, 1167, 1211, 1738, 1747, 1773,
\@acmplainnotefont . 1217, 1227, 1233, 2064, 2097, 2102,
. . . 3283, 3295, 3311 1423, 1425, 1472, 2153, 2162, 2165,
\@adddotafter . . . . . 1527, 1541, 1635, 2166, 2167, 2178,
3187, 3188, 3190, 1641, 1646, 1653, 2181, 2187, 2191,
3202, 3217, 3221, 3274 1655, 1656, 1659, 2235, 2238, 2241,
\@additionalaffiliation 1661, 1662, 1665, 2275, 2315, 2320,
. . . . . . . 1528, 1529 1673, 1675, 1676, 2412, 2416, 2421,
\@addpunct . 2759, 2845, 1678, 1679, 1727, 2432, 2435, 2448,
2846, 3274, 3275, 3395 1775, 1890, 1894, 2456, 2463, 2473,
\@addspaceafter . . . . 3275 1897, 2592, 2595, 2495, 2574, 2607,
\@affiliationfont . . 2598, 2768, 2782, 2615, 2616, 2671,
. . . . 2539, 2544, 2809, 3503, 3506, 3513 2677, 2684, 2718,
2548, 2551, 2554, \@clubpenalty . . . . . 521 2724, 2729, 2767,
2557, 2560, 2563, \@concepts . 1747, 1759, 2775, 2812, 2817,
2566, 2569, 2621, 2644 1773, 2181, 2183, 2201 2829, 2836, 2921,
\@afterheading . 507, 2219 \@copyrightowner . . . 2932, 2997, 2999,
\@afterindentfalse . . . . . . . . 1848, 2137 3021, 3023, 3053,
. . . . . . . . 453, 2218 \@copyrightpermission 3054, 3172, 3173,
\@afterindenttrue . . 451 . . . 1904, 2113, 2125 3283, 3315, 3464, 3481
127
\@endfloatbox . . . . . 966 \@journalCode . . . . . 1404, 1408, 1412,
\@endpefalse . . . . . . 3397 1051, 1167, 1211, 1416, 1420, 1431,
\@endwidefloatbox 966, 974 1217, 1227, 1233, 1423 2824, 2963, 2973,
\@finalstrut . . . 565, 578 \@journalCode@nr . . . 2984, 3114, 3124, 3134
\@float . . . . . . . . . . 968 . . . 1051, 1123, 1429 \@keywords . . . . . 1637,
\@flushglue . . . . . . . 3231 \@journalName . . . . . 1638, 1639, 2187,
\@fnsymbol . . . . . . . . 2083 . . . . 1125, 1129, 2189, 2202, 2238, 2239
\@folio@ht . . . . . . . . 1133, 1137, 1141, \@latex@error . . . . . 352
3059, 3086, 3092, 3093 1145, 1149, 1154, \@lempty . . . . . 1650, 2787
\@folio@max 3059, 3082, 3083 1158, 1162, 1169, \@listI . . . . . . 1025, 1029
\@folio@voffset 3059, 3088 1173, 1177, 1181, \@listi . . . . . . 1022, 1029
\@folio@wd . . . . . 3059, 1186, 1190, 1194, \@listii . . . . . . . . . 1030
3093, 3094, 3121, 3131 1198, 1203, 1207, \@listiii . . . . . . . . . 1033
\@folioblob . . . . 3079, 1213, 1219, 1223, \@listiv . . . . . . . . . 1035
3118, 3120, 3128, 3129 1229, 1235, 1239, \@listv . . . . . . . . . . 1037
\@footnotemark . 582, 2081 1243, 1248, 1252, \@listvi . . . . . . . . . 1039
\@footnotemark@nolink 1256, 1260, 1264, \@m . . . . . . . . . . . . . . 464
. . . . . . . . 582, 2081 1268, 1272, 1276, \@makefnmark . . . 555,
\@footnotetext . . . . 1280, 1284, 1288, 580, 2085, 2090, 2094
. . . . . 556, 583, 2082 1292, 1296, 1300, \@makefntext . . . . . .
\@footnotetext@nolink 1304, 1308, 1312, . . 555, 564, 577, 2096
. . . . . . . . 583, 2082 1316, 1320, 1324, \@marginfigure . 946, 947
\@for . . . . . . . . . . . . 284 1328, 1332, 1336, \@margintable . . 957, 958
\@formatdoi . . . . 1887, 1340, 1344, 1348, \@minipagefalse . 789, 976
2156, 2163, 2167, 1353, 1358, 1362, \@minus 3207, 3211, 3215,
2836, 2997, 2999, 1366, 1371, 1375, 3219, 3223, 3228,
3021, 3023, 3054, 3173 1379, 1383, 1387, 3303, 3305, 3335, 3337
\@fps . . . . . . . . . . . . 967 1391, 1395, 1399, \@mkabstract . . 2177, 2786
\@fpsadddefault . . . . 967 1403, 1407, 1411, \@mkauthors 2086, 2088, 2510
\@gobble . . . . . . 306, 350 1415, 1419, 1430, \@mkauthors@i . . . . .
\@hangfrom . . . . . 475, 532 1431, 2149, 3052, 3171 . . . . 2514, 2516,
\@headfootfont . . . . \@journalNameShort . 2518, 2520, 2534, 2602
. . . . 2934, 2958, . . . . 1126, 1130, \@mkauthors@ii . . . . 2637
2959, 2960, 2961, 1134, 1138, 1142, \@mkauthors@iii . . . .
2967, 2970, 2977, 1146, 1150, 1155, . . . . 2522, 2524,
2981, 2989, 2990, 1159, 1164, 1170, 2526, 2528, 2532, 2649
2996, 2998, 3002, 1174, 1178, 1182, \@mkauthors@iv 2530, 2702
3005, 3013, 3014, 1187, 1191, 1195, \@mkauthorsaddresses
3020, 3022, 3026, 3029 1199, 1204, 1208, . . . . . . . 1555, 2746
\@idxitem . . . . . . . . . 3496 1214, 1220, 1224, \@mkbibcitation 2212, 2803
\@ifnextchar . . . . . . 1532 1230, 1236, 1240, \@mkteasers . . . 2086, 2774
\@ifnotempty . . . . . . 2051 1244, 1249, 1253, \@mktitle . . . . . 2086, 2331
\@ifnum . . . . . . . 322, 324 1257, 1261, 1265, \@mktitle@i 2334, 2336,
\@ifstar . . . . . . . . . 460 1269, 1273, 1277, 2338, 2340, 2354, 2407
\@ifundefined . . . . . 1281, 1285, 1289, \@mktitle@ii . . . . . . 2441
3348, 3351, 3354, 1293, 1297, 1301, \@mktitle@iii . . . . .
3357, 3360, 3364, 3367 1305, 1309, 1313, . . . . 2342, 2344,
\@iiiparbox . . . . . . . 792 1317, 1321, 1325, 2346, 2348, 2352, 2441
\@indextitlestyle . . 3495 1329, 1333, 1337, \@mktitle@iv . . 2350, 2469
\@input . . . . . . . . . . 544 1341, 1345, 1349, \@mktranslatedabstract
\@insideauthorgroupfalse 1354, 1359, 1363, . . . . . . . . 441, 2796
. . . . . . . 1470, 1522 1367, 1372, 1376, \@mktranslatedkeywords
\@insideauthorgrouptrue 1380, 1384, 1388, . . . . . . . . 438, 1556
. . . . . . . . . . . 1477 1392, 1396, 1400, \@mpargs . . . . . . . . . 792
128
\@mparswitchfalse . . 738 \@printendtopmatter \@subtitlenotes . . . .
\@mpfootins . . . . . . . . . . . . . . 2217, 2838 1569, 1573, 1576, 2092
569, 570, 784, 785, 787 \@printpermissionfalse \@svsec . 466, 469, 475, 490
\@mpfootnotetext . . . 568 . . . . . . . . . . . 1795 \@svsechd . . . 488, 516, 536
\@ne . 310, 314, 318, 320, \@printpermissiontrue \@teaser . . . . . 2049, 2776
632, 2863, 2869, 2873 . . . 1782, 1791, 1807 \@teaserfigures . . . .
\@nil . . . . . . . . . . . . 329 \@printtopmatter . . . 2047, 2049, 2775, 2780
\@nobreakfalse . 509, 549 . . . . . . . 2087, 2274 \@tempa . . . . . . . 284,
\@noskipsecfalse . . . 513 \@proofindent . . . . . 285, 287, 289, 291,
\@noskipsectrue . . . . 510 . . . 3374, 3384, 3394 293, 295, 297, 299,
\@pages@word . . . . . . \@proofnamefont . . . . 301, 303, 305, 307,
. . . 2806, 2826, 2833 . . . 3373, 3383, 3395 309, 311, 313, 315,
\@par . . . . . . . . 2099, 2106 \@received . 1693, 1696, 317, 319, 321, 323,
\@parboxrestore . . . . 573 1697, 1699, 1702, 325, 327, 329, 332,
\@parfont . . . . . . . . . 1703, 1705, 1709, 1710 334, 336, 338, 340,
3221, 3225, 3230, 3235 \@restonecolfalse . . 3493 342, 1506, 1507,
\@permissionCodeOne \@restonecoltrue . . . 3493 1694, 1695, 2494,
. . . . 1127, 1131, \@rightskip . . . 3231, 3232 2495, 2615, 3464,
1135, 1139, 1143, \@saveabstract 1644, 1645 3480, 3481, 3483, 3487
1147, 1151, 1156, \@saveteaser . . 2048, 2049 \@tempb . . . . . . . . . .
1160, 1165, 1171, \@savetranslatedabstract 285, 287, 289, 291,
1175, 1179, 1183, . . . . . . . . . 441, 442 293, 295, 297, 299,
1188, 1192, 1196, 301, 303, 305, 307,
\@seccntformat . 469, 526
1200, 1205, 1209, 309, 311, 313, 315,
\@secfont . . . . . 3209, 3235
1215, 1221, 1225, 317, 319, 321, 323,
\@secpenalty . . . . . . 458
1231, 1237, 1241, 325, 327, 332, 334,
\@sect . . . . . . . . 462, 463
1245, 1250, 1254, 336, 338, 340, 342,
\@setaddresses . . . . 2771 3482, 3483, 3486, 3487
1258, 1262, 1266,
\@setauthorsaddresses \@tempboxa . 792, 2284, 2286
1270, 1274, 1278,
. . . 2106, 2241, 2846 \@tempc . 330, 331, 333,
1282, 1286, 1290,
\@setengagemetadata 335, 337, 339, 341, 343
1294, 1298, 1302,
. . . . . . . 2070, 2848 \@tempcnta . 3079, 3080,
1306, 1310, 1314,
\@setthanks . . . 2099, 2845 3082, 3083, 3085, 3087
1318, 1322, 1326,
1330, 1334, 1338, \@shortauthors . . . . \@tempdima . . . . . . . .
1342, 1346, 1350, 2929, 2952, 2960, 2280, 2281, 2282,
1355, 1360, 1364, 2968, 2978, 2990, 3014 2288, 2289, 2290,
1368, 1373, 1377, \@sidebar . . . . . . 942, 943 3086, 3087, 3088, 3090
1381, 1385, 1389, \@specialsection . . . \@tempskipa . . . . . . .
1393, 1397, 1401, 1558, 2182, 2188, 2244 450, 452, 453, 458,
1405, 1409, 1413, \@ssect . . . . . . . 461, 527 471, 472, 503, 504,
1417, 1421, 1432, 2161 \@startPage . . . . 1633, 506, 518, 519, 528, 529
\@permissionCodeTwo 2275, 2276, 2278, 2926 \@textbottom . . . . . . 793
. . . . . . . . 1152, \@startsection . 447, \@textsuperscript . .
1184, 1201, 1246, 539, 3206, 3210, . . . . 580, 2085, 2090
1351, 1356, 1369, 1433 3214, 3218, 3222, 3227 \@texttop . . . . . . . . . 794
\@plus . . . . . 542, 550, \@starttoc . . . . . . . . 539 \@thefnmark . 561, 575,
793, 3207, 3211, \@subparfont . . . . . . 3260 580, 2085, 2090, 2095
3215, 3219, 3223, \@subsecfont . . 3213, 3235 \@title . . . 1562, 2200,
3228, 3302, 3304, \@subsubsecfont 3217, 3235 2431, 2455, 2472, 2816
3334, 3336, 3392, 3497 \@subtitle . 1463, 1571, \@titlefont 2357, 2420,
\@printcopyrightfalse 2432, 2433, 2456, 2430, 2442, 2454, 2470
. . . . . . . 1796, 1808 2457, 2473, 2474, 2817 \@titlenotes . . . . . .
\@printcopyrighttrue \@subtitlefont . . . . 1560, 1564, 1567, 2091
. . . . . . . 1780, 1792 2382, 2433, 2457, 2474 \@tochangmeasure 480, 493
129
\@toclevel . . . . . . . . 464 959, 965, 2080, 195, 201, 235, 593,
\@tocline . . . 552, 553, 554 2246, 2805, 2840, 3502 678, 757, 795, 915,
\@topnum . . . . . . . . . 2214 \@width . . . . . . . 773, 780 984, 2247, 2294,
\@translatedabstracts \@xp . . . . . . . . . . 546, 547 2332, 2358, 2383,
. 439, 446, 2178, 2179 \@xsect . . . . 501, 502, 538 2512, 2540, 2884,
\@translatedkeywords \\ . . . . 663, 672, 1482, 2948, 3066, 3105,
. 436, 438, 2191, 2192 1741, 2031, 2137, 3151, 3240, 3284,
\@translatedsubtitle 2142, 2157, 2162, 3316, 3375, 3402, 3423
. . . . . . . . . 433, 2166, 2236, 2808, \ACM@lang@check . . . .
435, 2433, 2457, 2474 2816, 2868, 3054, 3173 417, 431, 434, 437, 445
\@translatedtitle 430, \{ . . . . . . . . . . . . . . 292 \ACM@languages . . . .
432, 2431, 2455, 2472 \} . . . . . . . . . . . . . . 292 . . . 153, 378, 380, 418
\@typeset@author@bx \␣ . . . 1453, 1755, 1765, \ACM@linecount . . . .
. . . . . . . . 2641, 2137, 2139, 2162, . . . . 2862, 2863,
2695, 2701, 2740, 2745 2812, 2813, 2831, 2926 2868, 2869, 2872, 2873
\@typeset@author@line \ACM@linecount@bx . .
2571, 2605, 2629, 2634 A . . . 2859, 2879, 2909
\@typesetengagemetadata \abstract . . . . . . . . . 1644 \ACM@linecount@bxht
. . . . . . . 2175, 2847 abstract (env.) . . . . . . 18 2861, 2867, 2870, 2871
\@undefined . . . . . . . \abstractname . . 376, \ACM@linecountL . . . .
. 642, 860, 1450, 2063 389, 2788, 2792, 2800 . . . . 2875, 2950,
\@undescribed@imagesfalse \acks . . . . . . . . . . . . 3455 2953, 2958, 2961,
. . . . . . . . . . . . 869 acks (env.) . . . . . . . . . . 24 2967, 2969, 2977,
\@undescribed@imagestrue \acksname 387, 398, 406, 2979, 2989, 2992,
. . 880, 883, 953, 2781 414, 3454, 3457, 3458 2996, 3002, 3013,
\@vspace 874, 877, 885, \ACM@adddotafter . . . 3016, 3020, 3026,
887, 889, 891, 893, . . . . . . . 3188, 3205 3048, 3107, 3118,
895, 897, 899, 901, \ACM@ArticleType . . . 3119, 3129, 3130,
903, 943, 948, 958, . . . 1712, 3047, 3166 3138, 3141, 3146, 3167
964, 2079, 2245, \ACM@ArticleType@nr \ACM@linecountR . 2882,
2271, 2804, 2839, 1712, 1714, 3045, 3164 2980, 2982, 2990,
2842, 3501, 3503, 3509 \ACM@cc@type . . . 1846, 2993, 3000, 3007,
\@vspace@acm . . . . . . 2028, 2030, 2031, 3014, 3017, 3024,
. . . 2271, 2842, 3509 2034, 2035, 2036, 3031, 3139, 3142, 3147
\@vspace@orig 874, 877, 2037, 2038, 2039, 2040 \ACM@mk@linecount . .
885, 887, 889, 891, \ACM@CC@Url . . . . . . . . . . . 2864, 2877,
893, 895, 897, 899, 2029, 2030, 2031, 2032 2892, 2894, 2896,
901, 903, 943, 948, \ACM@cc@version . . . . 2898, 2900, 2902, 2904
958, 964, 2079, . . . 1845, 2030, 2041 \ACM@NR@adjustedSectionformat
2245, 2804, 2839, 3501 \acm@copyrightinput 1786 . . . . . . . 3185, 3194
\@vspacer 875, 878, 886, \acm@copyrightmode . \ACM@NRadjust . . . . .
888, 890, 892, 894, . . . . . . . . 1786, 3176, 3209, 3213,
896, 898, 900, 902, 1794, 1799, 1802, 3217, 3221, 3225, 3230
904, 944, 949, 959, 1806, 1812, 1815, \ACM@origbaselinestretch
965, 2080, 2246, 1818, 1821, 1824, . . . . . . . . . . . 3511
2272, 2805, 2840, 1827, 1830, 1834, \ACM@ps@headings . . .
2843, 3502, 3506, 3510 1838, 1849, 1905, 2112 . . . . . . . 2853, 2857
\@vspacer@acm . . . . . \ACM@fontsize 146, 234, \ACM@ps@myheadings .
. . . 2272, 2843, 3510 237, 239, 241, 243, . . . . . . . 2852, 2856
\@vspacer@orig . 875, 245, 247, 249, 251, \ACM@ps@plain . 2851, 2855
878, 886, 888, 890, 253, 255, 257, 260, 261 \ACM@restore@pagestyle
892, 894, 896, \ACM@format . . . . . 32, 161 . . . . . . . . . . . 2851
898, 900, 902, \ACM@format@nr . . 32, \ACM@sect@format . . .
904, 944, 949, 161, 170, 176, 182, . . . . . . . 3195, 3197
130
\ACM@sect@format@ . . \advance . . . . . . . . . \authornotemark . 14, 1586
. . . 3184, 3197, 3199 1026, 1031, 1034, \authors . . . . . . . . .
\ACM@sect@format@null 1036, 1038, 1040, 1484, 1489, 1496,
. . . . . . . 3198, 3199 1474, 1476, 1733, 2195, 2207, 2209, 2816
\ACM@timestamp . . . . 2281, 2289, 2409, \authorsaddresses 14, 1554
2912, 3039, 3152, 3157 2413, 2414, 2417,
\acmArticle . . . . 14, 1596 2418, 2445, 2446, B
\acmArticleSeq . 15, 1598 2631, 2651, 2668, \balance . . . . . . . . . 3452
\acmArticleType . 20, 1712 2704, 2715, 2869, \baselineskip . . . . .
\acmBadgeL . . . . . 15, 1628 2873, 3083, 3085, 3088 . . . . 2123, 2422,
\acmBadgeR . . . . . 15, 1623 \affiliation . . . . 10, 2437, 2449, 2464,
\acmBooktitle . . . 9, 1448 1521, 2614, 2684, 2729 2870, 3207, 3208,
\acmCodeLink 20, 1737, 1744 \and . . . . . . 1461, 1494, 3211, 3212, 3215,
\acmConference . . 9, 1434 1496, 1511, 1517, 3219, 3223, 3302,
\acmConference@date 2605, 2610, 2612, 3303, 3304, 3305,
. . . . 1437, 2132, 2623, 2629, 2642, 3334, 3335, 3336, 3337
3004, 3007, 3028, 3031 2676, 2695, 2701, \baselinestretch . . .
\acmConference@name 2723, 2740, 2745, 2761 . . . 3511, 3512, 3514
1436, 1450, 1451, 1452 \andify . . . . . . . 2207, \begin . 19, 2878, 2908, 3089
\acmConference@shortname 2208, 2572, 2575, 2830 \begingroup . . . . 473,
1435, 1439, 1440, \anon . . . . . . . . . 24, 2057 516, 530, 539, 631,
1452, 1453, 2132, anonsuppress (env.) . . . 24 2078, 2510, 3177, 3456
3003, 3006, 3027, 3030 \apptocmd . . . . . 3503, 3506 \bfseries . . . . . . . . .
\acmConference@venue \AtBeginDocument . 78, 1041, 2119, 2360,
. . . . 1438, 2132, 95, 227, 635, 643, 2362, 2364, 2368,
3004, 3007, 3028, 3031 1002, 1804, 1810, 2370, 2372, 2374,
\acmDataLink . . . 20, 1744 1832, 1836, 1840, 2376, 2378, 2380,
\acmdefinition . . . . 3333 2858, 2935, 3099, 3200 2559, 2562, 2814,
\acmDOI . . . . . . . 15, 1614 \AtBeginEnvironment 3096, 3235, 3236,
\acmISBN . . . . . . 15, 1612 . . . 873, 876, 885, 3250, 3251, 3253,
\acmJournal . . . . . 9, 1427 887, 889, 891, 893, 3254, 3256, 3257,
\acmMonth . . . . . . 14, 1602 895, 897, 899, 901, 903 3258, 3259, 3263,
\acmNumber . . . . . 14, 1594 \AtBeginMaketitle 31, 2066 3264, 3267, 3268,
\acmplain . . . . . . . . . 3301 \AtEndDocument . . . . 3270, 3271, 3294, 3326
\acmPrice 15, 1608, 1804, . . . . . 871, 1639, \bgroup . 446, 943, 947,
1810, 1832, 1836, 1840 1663, 1708, 1773, 958, 964, 1529,
\acmSubmissionID 15, 1610 2222, 2766, 3449, 3512 1556, 2181, 2187,
\acmVolume . . . . . 14, 1592 \AtEndEnvironment 879, 882 2228, 2641, 2678,
\acmYear . . . . . . 14, 1600 \AtEndPreamble . 608, 2681, 2742, 2751,
\addcontentsline 280, 861, 3345, 3399, 3465 2776, 2786, 2803, 2815
482, 495, 2788, 3458 \author . . . . . . . . 10, \bibfont . . . . . . . . . 282
\additionalaffiliation 1471, 2075, 2076, 2810 \bibliofont . . . . . . . 282
. . . . . . . . . 11, 1528 \author@bx 2637, 2643, 2646 \bibliographystyle . 641
\addpenalty . . . . . . . 458 \author@bx@sep . . . . \bibsection . . . . . . . 278
\addresses . . . . . . . . . . . . 2639, 2646, \bibstyle 306, 308, 350, 646
1479, 1481, 1486, 2651, 2668, 2704, 2715 \bibstyle@acmauthoryear
1493, 1524, 1544, \author@bx@wd . . . . . . . . . . . . . . . . . 356
1582, 1588, 1590, . . . . 2638, 2641, \bibstyle@acmnumeric 362
2634, 2701, 2745, 2764 2650, 2651, 2653, \bigskip . . 1710, 2312,
\addto . . 381, 392, 400, 408 2659, 2661, 2663, 2440, 2468, 2476,
\addtocounter . . 586, 1767 2665, 2668, 2703, 2701, 2745, 2776, 2841
\addtolength 1010, 1011, 2704, 2706, 2712, 2715 \box . . . . . . 981, 2296,
1012, 1016, 1017, 2870 \authornote . . . . . . . 2298, 2300, 2302,
\addvspace . . . . . 458, 550 . 14, 1528, 1580, 2811 2304, 2306, 2308,
131
2310, 2312, 2326, 835, 881, 884, 954, \DeclareTextFontCommand
2328, 2646, 3049, 3168 1472, 1541, 1635, . . . . . . . . . . . . 862
1679, 2782, 3503, 3506
\def 24, 38, 147, 153, 237,
C \ClassWarningNoLine
239, 241, 243, 245,
\c@footnote . . . . . . . 2083 . 872, 1641, 1665,
247, 249, 251, 253,
\c@secnumdepth . . . . 1775, 2592, 2595, 2768
255, 257, 285, 287,
465, 479, 483, 492, 496 \cleaders . . . . . . . . . 2482
289, 291, 293, 295,
\captionsenglish . . . 381 \clearpage . . . . . . . . 2287 297, 299, 301, 303,
\captionsetup . . 907, \clubpenalty . . . 515, 521 305, 307, 309, 310,
909, 911, 913, 922, \CodelineIndex . . . . . 16 311, 312, 313, 314,
924, 927, 929, 932, \Collect@Body 440, 942, 315, 316, 317, 318,
934, 944, 950, 959, 2777 946, 957, 1644, 2048 319, 321, 323, 325,
\captionsfrench . . . . 392 \color . . . . 2059, 2121, 327, 328, 332, 334,
\captionsgerman . . . . 400 2868, 2872, 3046, 3165 336, 338, 340, 342,
\captionsspanish . . . 408 \color@begingroup 563, 576 430, 433, 436, 439,
\ccdesc@parse@finish 1778 \color@endbox . . . . . 979 442, 447, 463, 488,
\ccsdesc . . . . . . 16, 1749 \color@endgroup . . . . 502, 526, 527, 536,
\ccsdesc@parse 1750, 1751 . . . . . . 566, 579, 790 539, 552, 553, 554,
\ccsdesc@parse@end . \colorbox . 1732, 3046, 3165 555, 557, 568, 580,
. . . . . . . 1750, 1778 \colorlet . . . . . . 1716, 586, 587, 588, 589,
\ccsdesc@parse@finish 1718, 1720, 1722, 1724 590, 610, 641, 772,
. . . . . . . 1772, 1778 \columnsep . . . . . . . . 3494 779, 781, 793, 943,
CCSXML (env.) . . . . . . . . 16 \columnseprule . . . . 3494 947, 958, 964, 967,
\centering . . . . . 543, \columnwidth . . . 572, 971, 974, 992, 993,
576, 662, 671, 773, 965, 2703, 2742 994, 995, 1025,
951, 960, 2442, \contentsnamefont . . 543 1030, 1033, 1035,
2454, 2643, 2700, 3095 \copy . . . . . . . . . . . . 2482 1037, 1039, 1125,
\changes . . . . . . . . . 146 \copyright . . . . . . . . 2137 1126, 1127, 1129,
\cite . . . 624, 625, 636, 640 \copyrightpermissionfootnoterule 1130, 1131, 1133,
\citeA . . . . . . . . . . . 630 . . . . . . . . . . . . 772 1134, 1135, 1137,
\citealt . . . . . . . . . 629 \copyrightyear . 18, 2045 1138, 1139, 1141,
\citeANP . . . . . . . . . 626 \country 11, 1538, 2485, 2760 1142, 1143, 1145,
\citeauthor . . . . . . . 626 \csname . . . . 350, 478, 1146, 1147, 1149,
\citeN . . . . . . . . . . . 624 480, 484, 491, 493, 1150, 1151, 1152,
\citename . . . . . . . . . 637 497, 526, 546, 547, 1154, 1155, 1156,
\citeNN . . . . . . . . . . 627 561, 575, 1488, 1158, 1159, 1160,
\citeNP . . . . . . . . . . 629 1495, 1548, 1551, 1162, 1164, 1165,
\citep . . . . . . . . . . . 625 1754, 1755, 1757, 1169, 1170, 1171,
\citestyle . . . 25, 348, 368 1758, 1759, 1760, 1173, 1174, 1175,
\citeyear . . . . . . . . . 628 1761, 1764, 1766, 1177, 1178, 1179,
\citeyearNP . . . . . . . 628 2204, 2206, 3178, 3201 1181, 1182, 1183,
\citeyearpar . . . 627, 640 \CurrentOption . . . . 1184, 1186, 1187,
\city . . 11, 1535, 2485, 2757 . . . . . . 148, 149, 1188, 1190, 1191,
\ClassError . . . . . . . 150, 151, 152, 158, 159 1192, 1194, 1195,
35, 419, 443, 1425, 1196, 1198, 1199,
1527, 1646, 1656, D 1200, 1201, 1203,
1662, 1676, 1727, \day . . . . . . . . . . . . . 2924 1204, 1205, 1207,
1897, 2598, 2809, 3513 \DeclareNewFootnote 1208, 1209, 1213,
\ClassInfo . . 161, 260, . . . . . . . . . 776, 778 1214, 1215, 1219,
1423, 1653, 1655, \DeclareOptionX . . . . 1220, 1221, 1223,
1659, 1661, 1673, 38, 148, 149, 150, 1224, 1225, 1229,
1675, 1678, 1890, 1894 151, 152, 154, 158, 159 1230, 1231, 1235,
\ClassWarning 26, 171, \DeclareRobustCommand 1236, 1237, 1239,
177, 183, 829, 832, . . . . . . . . 630, 3197 1240, 1241, 1243,
132
1244, 1245, 1246, 1594, 1596, 1598, 3182, 3184, 3194,
1248, 1249, 1250, 1600, 1602, 1604, 3198, 3205, 3231,
1252, 1253, 1254, 1608, 1610, 1612, 3235, 3236, 3237,
1256, 1257, 1258, 1614, 1624, 1625, 3238, 3244, 3245,
1260, 1261, 1262, 1626, 1627, 1629, 3247, 3248, 3250,
1264, 1265, 1266, 1630, 1631, 1632, 3251, 3253, 3254,
1268, 1269, 1270, 1633, 1635, 1637, 3256, 3257, 3258,
1272, 1273, 1274, 1645, 1650, 1681, 3259, 3260, 3263,
1276, 1277, 1278, 1693, 1694, 1729, 3264, 3267, 3268,
1280, 1281, 1282, 1731, 1737, 1743, 3270, 3271, 3274,
1284, 1285, 1286, 1751, 1752, 1778, 3275, 3280, 3281,
1288, 1289, 1290, 1842, 1845, 1846, 3282, 3283, 3292,
1292, 1293, 1294, 1848, 1887, 1888, 3293, 3294, 3295,
1296, 1297, 1298, 1904, 2029, 2045, 3312, 3313, 3314,
1300, 1301, 1302, 2047, 2049, 2066, 3315, 3324, 3325,
1304, 1305, 1306, 2067, 2068, 2072, 3326, 3327, 3373,
1308, 1309, 1310, 2085, 2090, 2099, 3374, 3383, 3384,
1312, 1313, 1314, 2106, 2197, 2227, 3462, 3464, 3480,
1316, 1317, 1318, 2244, 2274, 2331, 3481, 3482, 3486, 3493
1320, 1321, 1322, 2357, 2382, 2407, \define@boolkey . . . .
1324, 1325, 1326, 2441, 2469, 2478, . . . 51, 59, 67, 75,
1328, 1329, 1330, 2485, 2486, 2488, 84, 92, 104, 108,
1332, 1333, 1334, 2489, 2491, 2492, 112, 120, 128, 136,
1336, 1337, 1338, 2494, 2499, 2500, 1526, 1651, 1657, 1671
1340, 1341, 1342, 2504, 2505, 2507, \define@choicekey . .
1344, 1345, 1346, 2508, 2510, 2538, . 32, 1051, 1712, 1785
1348, 1349, 1350, 2539, 2543, 2544, \define@cmdkey . . . . 1677
1351, 1353, 1354, 2547, 2548, 2550, \definecolor . . . . . .
1355, 1356, 1358, 2551, 2553, 2554, . . . 650, 651, 652,
1359, 1360, 1362, 2556, 2557, 2559, 653, 654, 655, 656, 657
1363, 1364, 1366, 2560, 2562, 2563, \department . . . . . . .
1367, 1368, 1369, 2565, 2566, 2568, . 11, 1532, 2485, 2759
1371, 1372, 1373, 2569, 2571, 2573, \Description . . . . 23, 870
1375, 1376, 1377, 2578, 2585, 2590, \description . . . . . . 1042
1379, 1380, 1381, 2602, 2603, 2604, \descriptionlabel . .
1383, 1384, 1385, 2606, 2613, 2614, . . . . . . . 1041, 1044
1387, 1388, 1389, 2615, 2641, 2642, \detokenize . . . . . . . 1472
1391, 1392, 1393, 2649, 2671, 2677, \dimexpr . . . . . . 962,
1395, 1396, 1397, 2684, 2702, 2718, 981, 3036, 3045, 3164
1399, 1400, 1401, 2724, 2729, 2746, \divide 2653, 2659, 2661,
1403, 1404, 1405, 2752, 2753, 2754, 2663, 2665, 2706, 2712
1407, 1408, 1409, 2756, 2757, 2758, \do . . . . . . . . . . . 284, 610
1411, 1412, 1413, 2760, 2761, 2762, \do@url@hyp . . . . . . . 610
1415, 1416, 1417, 2763, 2771, 2772, \DocInput . . . . . . . . . . 20
1419, 1420, 1421, 2773, 2774, 2776, \documentclass 8, 424, 426
1427, 1429, 1430, 2786, 2796, 2803, \dots . . . . . . . . . . . . 2166
1431, 1432, 1433, 2806, 2807, 2808, \dp . . . . . . . . . . 2281, 2289
1448, 1455, 1456, 2809, 2812, 2816,
1457, 1463, 1506, 2838, 2845, 2846, E
1528, 1529, 1530, 2847, 2848, 2854, \edef . . . . . . 148, 149,
1531, 1532, 1533, 2864, 2875, 2882, 150, 151, 152, 464, 2030
1546, 1554, 1560, 2929, 2934, 2940,
\editor . . . . . . . . 9, 1457
1561, 1569, 1570, 3065, 3072, 3077,
\egroup . . . . . . . 446,
1579, 1580, 1592, 3079, 3176, 3180,
791, 945, 956, 960,
133
972, 978, 1539, 2766, 2775, 2780, teaserfigure . . . . 18
1559, 2183, 2189, 2787, 2791, 2799, translatedabstract
2243, 2645, 2679, 2806, 2812, 2817, . . . . . . . . . . . . . 21
2682, 2745, 2765, 2818, 2827, 2829, \everypar . . . . . . 456,
2777, 2795, 2816, 2837 2836, 2921, 2932, 511, 522, 2790, 2798
\else . . . 54, 62, 70, 79,
2933, 2943, 2954, \excludecomment . 1746,
2962, 2972, 2983, 3468, 3470, 3474, 3475
87, 99, 115, 123,
131, 141, 197, 231,
2987, 2994, 2997, \ExecuteOptionsX . . .
2999, 3001, 3011, . . . 50, 58, 66, 74,
330, 351, 372, 379,
3018, 3021, 3023, 83, 91, 103, 107,
384, 395, 403, 411,
3025, 3053, 3054, 111, 119, 127, 135, 145
457, 464, 467, 479,
3080, 3109, 3113, \expandafter 329, 331,
483, 487, 492, 496,
3123, 3133, 3140, 643, 792, 1486,
508, 520, 535, 618,
3145, 3153, 3156, 1487, 1493, 1494,
634, 640, 642, 665,
3172, 3173, 3181, 1548, 1551, 1754,
667, 784, 848, 853,
3205, 3464, 3469, 1755, 1757, 1758,
879, 882, 912, 952,
3476, 3485, 3489, 3512 1764, 1766, 3178, 3201
1418, 1444, 1450,
\email . . . . . 10, 1540,
1452, 1459, 1475,
1482, 1485, 1491,
2613, 2677, 2724, 2763 F
\emph . . . . . . . . 2149, 2151 \familydefault . . . . 864
1492, 1502, 1505,
1510, 1513, 1516, \empty . . . . . . . . . . . 2941 \fancyfoot . . . . . 2955,
1523, 1543, 1566, \EnableCrossrefs . . . . 18 2963, 2973, 2984,
1575, 1581, 1589, \end . . . 21, 2880, 2910, 3097 2988, 3012, 3039,
1639, 1654, 1660, \end@ACM@color@frame 2222 3050, 3051, 3108,
1663, 1674, 1685, \end@dblfloat . . . . . 970 3110, 3114, 3124,
1688, 1698, 1701, \end@float . . . . . . . . 972 3134, 3143, 3148,
1704, 1709, 1740, \endcsname 349, 350, 478, 3152, 3157, 3169, 3170
1763, 1768, 1769, 480, 484, 491, 493, \fancyhead . 2950, 2951,
1770, 1773, 1892, 497, 526, 546, 547, 2952, 2953, 2958,
1896, 2054, 2060, 561, 575, 1488, 2959, 2960, 2961,
2086, 2097, 2101, 1495, 1549, 1552, 2967, 2969, 2970,
2102, 2103, 2115, 1754, 1755, 1757, 2977, 2979, 2980,
2116, 2124, 2127, 1758, 1759, 1760, 2981, 2989, 2990,
2128, 2131, 2138, 1761, 1764, 1766, 2992, 2993, 2996,
2143, 2150, 2155, 2204, 2206, 3178, 3201 2998, 3002, 3005,
2158, 2159, 2162, \enddescription . . . . 1048 3013, 3014, 3016,
2164, 2165, 2166, \endgroup . . . 477, 516, 3017, 3020, 3022,
2167, 2178, 2181, 534, 549, 2174, 3026, 3029, 3044,
2186, 2187, 2191, 2536, 3180, 3182, 3460 3049, 3107, 3118,
2235, 2238, 2241, \endlist . . . . . 1046, 1048 3119, 3120, 3128,
2277, 2315, 2320, \endMakeFramed . . . . 1733 3129, 3130, 3138,
2412, 2416, 2421, \endminipage . . . . . . 781 3139, 3141, 3142,
2432, 2435, 2448, \endtrivlist . . . . . . 3397 3146, 3147, 3163, 3168
2456, 2463, 2473, \enspace . . . . . . . . . 3275 \fancyheadoffset 3036,
2479, 2480, 2495, environments: 3043, 3121, 3131, 3162
2497, 2498, 2499, abstract . . . . . . . . 18 \fancyhf . . . . . 2937, 3101
2501, 2503, 2504, acks . . . . . . . . . . . 24 \fancypagestyle 2936, 3100
2507, 2574, 2591, anonsuppress . . . . 24 \fi . . . . . . . 56, 64, 72,
2594, 2597, 2609, CCSXML . . . . . . . . . 16 81, 89, 101, 117,
2615, 2622, 2643, marginfigure . . . . 33 125, 133, 143, 156,
2654, 2664, 2673, margintable . . . . . 33 175, 181, 194, 199,
2680, 2689, 2707, printonly . . . . . . . 23 228, 233, 258, 259,
2711, 2720, 2726, screenonly . . . . . . 23 271, 275, 286, 288,
2734, 2748, 2750, sidebar . . . . . . . . 33 290, 292, 294, 296,
134
298, 300, 302, 304, 2241, 2270, 2279, \footnoterule . . . . . 779
306, 308, 310, 312, 2291, 2319, 2323, \footnotesep . . . 565, 578
314, 316, 318, 320, 2324, 2329, 2355, \footnotesize 571, 2920,
322, 324, 326, 328, 2381, 2406, 2410, 2934, 2955, 2963,
333, 335, 337, 339, 2415, 2419, 2425, 2973, 2984, 2988,
341, 343, 344, 353, 2428, 2434, 2439, 2996, 3002, 3012,
355, 369, 374, 377, 2451, 2453, 2458, 3051, 3110, 3114,
386, 390, 397, 405, 2466, 2467, 2475, 3124, 3134, 3143,
413, 416, 429, 444, 2483, 2496, 2497, 3148, 3154, 3170, 3500
448, 454, 459, 464, 2499, 2501, 2503, \footnotetext . . 1565,
470, 481, 485, 494, 2504, 2507, 2509, 1567, 1574, 1577, 1584
498, 500, 523, 524, 2535, 2570, 2577, \footnotetextauthorsaddresses
537, 548, 567, 607, 2593, 2596, 2600, . . . . . . . 2098, 2105
611, 620, 638, 640, 2611, 2627, 2628, \footnotetextcopyrightpermission
644, 647, 674, 675, 2632, 2643, 2666, . . . . . . . 2113, 2117
676, 754, 770, 788, 2667, 2675, 2683, \footrulewidth . . . .
814, 826, 857, 858, 2694, 2713, 2714, 2939, 3042, 3103, 3161
859, 865, 872, 881, 2722, 2728, 2739, \foreignlanguage 432, 435
884, 938, 939, 955, 2748, 2750, 2770, \format . . . . . . . . . . . 32
969, 973, 1000, 2783, 2785, 2793, \FrameCommand . . . . . 1731
1422, 1441, 1447, 2795, 2801, 2806, \FrameRestore . . . . . 1733
1453, 1454, 1462, 2813, 2817, 2831, \frenchspacing . . . . 3516
1478, 1483, 1490, 2834, 2835, 2836, \fulltextwidth . . . .
1497, 1498, 1503, 2874, 2881, 2907, . . . . . . 961, 965, 981
1504, 1512, 1518, 2911, 2923, 2928,
1519, 1520, 1525, 2932, 2933, 2942, G
1545, 1568, 1578, 2944, 2945, 2950,
\g@addto@macro . 157,
1585, 1591, 1607, 2951, 2956, 2965,
432, 435, 438, 446,
1643, 1647, 1656, 2975, 2986, 2988,
1461, 1493, 1496,
1662, 1670, 1676, 2997, 2999, 3008,
1511, 1517, 1524,
1690, 1691, 1700, 3009, 3010, 3012,
1544, 1562, 1564,
1706, 1707, 1711, 3021, 3023, 3032,
1567, 1571, 1573,
1725, 1736, 1742, 3033, 3034, 3037,
1576, 1582, 1583,
1762, 1770, 1771, 3040, 3053, 3054,
1588, 1590, 1699,
1777, 1798, 1801, 3055, 3078, 3097,
1705, 1741, 1759,
1805, 1811, 1814, 3108, 3111, 3117,
1766, 2049, 2053,
1817, 1820, 1823, 3127, 3137, 3143,
2055, 2066, 2069,
1826, 1829, 1833, 3144, 3148, 3149,
2610, 2623, 2674,
1837, 1841, 1886, 3155, 3158, 3159,
2681, 2690, 2721,
1902, 1903, 2044, 3172, 3173, 3174,
2727, 2735, 2772, 2773
2056, 2062, 2065, 3192, 3203, 3205,
\gdef . . . . . 156, 1435,
2076, 2077, 2086, 3273, 3278, 3300,
1436, 1437, 1438,
2088, 2100, 2107, 3332, 3370, 3389,
1440, 1448, 1458,
2108, 2109, 2110, 3420, 3421, 3446,
1460, 1481, 1484,
2114, 2122, 2125, 3447, 3453, 3464,
1486, 1489, 1501,
2126, 2133, 2134, 3472, 3478, 3481,
1509, 1515, 1548,
2135, 2140, 2152, 3491, 3492, 3493, 3515
1551, 1648, 1680,
2157, 2162, 2166, \firstpagestyle . . . . 3099 1697, 1703, 1739,
2167, 2168, 2169, \floatname . . . . . . . . 941 1755, 1757, 1758,
2170, 2171, 2172, \flushbottom 800, 802, 1764, 2276, 2608,
2173, 2175, 2179, 804, 806, 808, 811, 813 2612, 2617, 2647,
2184, 2185, 2190, \footnote . . . . . . . . . 2809 2648, 2669, 2670,
2193, 2194, 2213,
\footnotemark 590, 1562, 2672, 2676, 2678,
2224, 2237, 2240,
1571, 2772, 2773, 2807 2685, 2716, 2717,
135
2719, 2723, 2725, \if@ACM@acmcp . . . . . 1889, 2111, 2159,
2730, 2755, 2756, 2761 . . 168, 273, 1734, 2766, 2818, 2954,
\geometry . . . 680, 683, 2101, 2116, 2186, 2962, 2972, 2983,
690, 697, 704, 711, 2220, 2408, 2426, 2991, 3015, 3109,
718, 725, 732, 741, 748 2630, 3041, 3160, 3276 3113, 3123, 3133, 3153
\getrefnumber . . . . . \if@ACM@acmthm . 67, 3346 \if@ACM@pbalance 108, 3400
1640, 1664, 1774, 2806 \if@ACM@affiliation@obeypunctuation\if@ACM@printacmref
\global . . . . . . . 510, . . . . . . . . 1526, . . . . . . . 1657, 2211
513, 549, 569, 870, 2480, 2497, 2499, \if@ACM@printccs . . .
880, 883, 953, 980, 2501, 2502, 2504, 2507 . . . . . . . 1651, 2180
1428, 1442, 1474, \if@ACM@anonymous . . \if@ACM@printfolios
1476, 1477, 1522, . . . . . 120, 1480, 1671, 2942, 2944,
2209, 2210, 2214, 1492, 1499, 1523, 2950, 2951, 2988,
2216, 2230, 2489, 1543, 1563, 1572, 3012, 3108, 3143, 3148
2491, 2496, 2500, 1581, 2052, 2058, \if@ACM@review . . . .
2505, 2508, 2586, 2074, 2103, 2930, 3473 . 75, 2859, 2876, 2883
2587, 2588, 2605, \if@ACM@authordraft \if@ACM@screen 51, 612, 3466
2629, 2633, 2643, . . . . . 136, 658, 2118 \if@ACM@sigchiamode
2695, 2698, 2740, \if@ACM@authorversion . . . . . . 165, 556,
2778, 2781, 2869, . . . . . 84, 2124, 2144 666, 863, 963, 970,
2873, 3401, 3425, \if@ACM@badge . . . . . 2086, 2088, 2643, 3035
3427, 3429, 3441, 3445 1616, 2313, 2444, 2460 \if@ACM@timestamp . .
\grantnum . . . . . . 24, 3463 \if@ACM@balance . . . . 128, 2912, 3038, 3150
\grantsponsor . . 24, 3462 . . . . 104, 3422, 3450
\if@ACM@urlbreakonhyphens
\if@ACM@citypresent
H . . . . . . . . . . 59, 609
. . . . . . . 2581, 2594
\hbox . 580, 2085, 2090, 2481 \if@acmowned . . . . . . 1783
\if@ACM@countrypresent
\headrulewidth 2938, 3102 \if@Description@present
. . . . . . . 2583, 2597
\hfill . . . . . . . 2471, 2872 . . . . . . . . . 866,
\if@ACM@engage . 166,
\href . . . . . 1550, 1553, 879, 882, 952, 2780
375, 388, 1893,
2031, 2032, 2316, \if@filesw . . . . . 545, 645
2129, 2175, 2995, 3019
2321, 2422, 2437,
\if@ACM@instpresent \if@insideauthorgroup
2449, 2464, 3484, 3488 . . . . . . . 1469, 1475
. . . . . . . 2579, 2591
\hrule . . . . 773, 780, 2471 \if@nobreak . . . . . . . 455
\if@ACM@journal . . . .
\hsize . . . . 572, 1733, \if@noskipsec . . 448, 512
. . . 163, 229, 370,
2084, 2229, 2407, \if@printcopyright .
382, 393, 401, 409,
2409, 2411, 2441, . . . . . . . 1779, 2136
908, 1444, 1686,
2443, 2469, 2511, \if@printpermission
2487, 2766, 2789, 2797
2631, 2641, 2697, 2742 . . . . . . . 1781, 2125
\if@ACM@journal@bibstrip
\hskip . . . . . . . . 475,
. . . . . . . . . 164, \if@twocolumn . 3451, 3493
489, 519, 532, 536,
2104, 2128, 2148, \if@undescribed@images
2318, 2424, 2436,
2160, 2823, 2947, 3104 . . . . . . . . . 868, 871
2452, 2461, 2482, 3394
\hspace . . . 1731, 1915, \if@ACM@maketitle@typeset \IfBeginWith . . . . . . 1547
1926, 1935, 1960, . . . . 442, 1049, 1645 \ifcase . 201, 235, 593,
1972, 1993, 2646, 2700 \if@ACM@manuscript . 678, 757, 795, 915,
\ht . . . . . . . . . . 2280, 2288 . . . . . . . . . 162, 984, 1123, 1604,
\Huge . 2366, 2368, 2370, 268, 1683, 2127, 2141 1714, 1849, 1905,
2372, 2374, 2376, 2378 \if@ACM@natbib . . . . 2247, 2294, 2332,
\hypersetup . . . . . . . . . . 112, 276, 367, 623 2358, 2383, 2512,
. . 613, 619, 621, 2198 \if@ACM@natbib@override 2540, 2655, 2708,
\hyphenpenalty . . . . 3499 . . . . . . . . . . . . 112 2884, 2948, 3066,
\if@ACM@newfonts 827, 838 3105, 3240, 3284,
I \if@ACM@nonacm 92, 667, 3316, 3375, 3402, 3423
\if . . . . . . . . . . . . . . 330 1639, 1663, 1773, \ifcsname . . . . . . . . . 349
136
\ifdim . . 452, 472, 504, 2775, 2787, 2812, \labelenumii . . . . . . 993
529, 2282, 2290, 2871 2817, 2829, 2836, \labelenumiii . . . . . 994
\IfEq . . . . . 2028, 2034, 2921, 2932, 2941, \labelenumiv . . . . . . 995
2035, 2036, 2037, 2997, 2999, 3021, \labelsep . . . . . . . . .
2038, 2039, 2040, 2041 3023, 3053, 3054, 1003, 1011, 1016,
\IfFileExists 829, 832, 835 3172, 3173, 3178, 1026, 1031, 1034,
\IfInteger . . . . . . . . 1678 3201, 3205, 3464, 1036, 1038, 1040, 3394
\ifluatex . . . . . . . . . 849 3481, 3483, 3487, 3512 \labelwidth . . . . . . .
\ifNAT@numbers . . . . 640 \ifxetex . . . . . . . . . 844 1026, 1031, 1034,
\ifnum 170, 176, 182, 195, \ignorespaces . . . . . 1036, 1038, 1040, 1043
464, 465, 479, 483, . . . 525, 565, 578, \LARGE . . . . . . . . 2360,
492, 496, 1640, 870, 1530, 1531, 2362, 2364, 2380,
1664, 1768, 1769, 1533, 1546, 2485, 2391, 2393, 2395,
1770, 1774, 1794, 2486, 2488, 2490, 2397, 2399, 2403,
1799, 1802, 1806, 2491, 2492, 2493, 2547, 2550, 2565, 3096
1812, 1815, 1818, 2497, 2754, 2794, \Large 2232, 2538, 2556,
1821, 1824, 1827, 2802, 2808, 2816, 3395 3250, 3251, 3253,
1830, 1834, 1838, \immediate . . . . . 547, 646 3254, 3256, 3270, 3271
2076, 2112, 2652, \includecomment . . . . \large 2119, 2543, 2548,
2705, 2747, 2749, . . . 3467, 3471, 3477 2551, 2566, 2568,
2806, 3080, 3082, 3151 \includegraphics . . . 3244, 3245, 3247, 3248
\ifPDFTeX . . . . . . . . . 815 2031, 2317, 2322, \lastbox . . 514, 2790, 2798
\IfSubStr . . . . . 1472, 1541 2423, 2438, 2450, 2465 \leaders . . . . . . . . . 2471
\ifvmode . . . . . . . . . 2479 \indent . . . . . . . . . . 3374 \leavevmode 448, 2471, 2699
\ifvoid . . . . . . . . . . 784 \input . . . . . . . . . . . 816 \leftmargin 1025, 1030,
\ifx . . . . . . . . . . 155, \InputIfFileExists . . 25 1033, 1035, 1037, 1039
234, 285, 287, 289, \institution . . . . . . \leftmargini 1009, 1010,
291, 293, 295, 297, . 11, 1531, 2485, 2756 1011, 1012, 1025, 1026
299, 301, 303, 305, \interfootnotelinepenalty \leftmarginii . . . . .
307, 309, 311, 313, . . . . . . . . . . . . 559 . . . . 1015, 1016,
315, 317, 319, 321, \interlinepenalty . . 1017, 1018, 1030, 1031
323, 325, 327, 332, . . . . . . 476, 533, 559 \leftmarginiii . . . .
334, 336, 338, 340, \item . . . . . . . . 3394, 3496 1018, 1019, 1033, 1034
342, 378, 418, 642, \itshape . . . . . . . . . \leftmarginiv . . . . .
1439, 1450, 1452, 2130, 2132, 3237, 1019, 1020, 1035, 1036
1457, 1479, 1482, 3238, 3259, 3260, \leftmarginv . . . . . .
1500, 1502, 1507, 3280, 3292, 3314, 3383 1020, 1021, 1037, 1038
1508, 1514, 1587, \leftmarginvi . . . . .
1639, 1695, 1696, J . . . 1021, 1039, 1040
1702, 1709, 1738, \jobname . . . . . . 544, 547 \leftskip . 2470, 2743, 3233
1754, 1763, 1773, \let . 306, 308, 320, 322,
2063, 2097, 2102, K 324, 350, 466, 582,
2153, 2162, 2165, \kern 772, 773, 779, 780, 2471 583, 624, 625, 626,
2166, 2167, 2178, \keywords . . . . . . 16, 1637 627, 628, 629, 632,
2181, 2187, 2191, \keywordsname . . . . . 636, 794, 860, 874,
2235, 2238, 2241, 371, 373, 383, 385, 875, 877, 878, 885,
2275, 2315, 2320, 394, 396, 402, 404, 886, 887, 888, 889,
2412, 2416, 2421, 410, 412, 1558, 2188 890, 891, 892, 893,
2432, 2435, 2448, 894, 895, 896, 897,
2456, 2463, 2473, L 898, 899, 900, 901,
2495, 2574, 2607, \l@section . . . . . . . . 552 902, 903, 904, 943,
2615, 2616, 2671, \l@subsection . . 552, 553 944, 948, 949, 958,
2677, 2684, 2718, \l@subsubsection . . . 554 959, 964, 965, 966,
2724, 2729, 2767, \labelenumi . . . . . . . 992 1029, 1044, 1048,
137
1534, 1535, 1536, \mathchardef . . 2679, 2682 \NAT@swafalse . . . . . 631
1537, 1538, 1638, \mbox . . . . . . . . . . . . 328 \NAT@up . . . . . . . . . . 328
1744, 1747, 2064, \mdseries . . 2385, 2387, \NAT@yrsep . . . . . . . . 339
2079, 2080, 2081, 2389, 2393, 2395, \NeedsTeXFormat . . . . . . 1
2082, 2094, 2095, 2397, 2399, 2401, \newblock . . . . . . . . . 633
2096, 2099, 2106, 2403, 2405, 2560, 2563 \newbox . . . . . . . . . .
2195, 2209, 2210, \medskip . . 2249, 2251, 2071, 2226, 2477, 2637
2245, 2246, 2271, 2253, 2255, 2633, \newcommand . 356, 362,
2272, 2506, 2605, 2635, 2699, 2784, 2814 417, 431, 434, 437,
2629, 2695, 2701, \MessageBreak . . . . . 639, 870, 1434,
2740, 2745, 2804, 172, 178, 184, 185, 1521, 1556, 1586,
2805, 2839, 2840, 186, 187, 188, 189, 1623, 1628, 1694,
2842, 2843, 2851, 190, 191, 192, 420, 1749, 1844, 2057,
2852, 2853, 2855, 421, 422, 423, 425, 2493, 2502, 2919,
2856, 2857, 3183, 427, 1666, 1667, 3222, 3454, 3463, 3479
3185, 3187, 3188, 1668, 1727, 1898, 1899 \newcount . 1465, 1467, 2862
3190, 3196, 3199, \metadata@authors . . \newcounter 1748, 2915, 2917
3202, 3496, 3501, . . . 2195, 2196, 2199 \newdimen . . 961, 1001,
3502, 3509, 3510, 3511 \mktitle@bx 2071, 2280, 2638, 3059, 3061, 3063
\libertineLF . . . . . . 862 2281, 2284, 2288, \newenvironment . 440,
\lineskip . . . . . 2700, 2744 2289, 2296, 2298, 946, 957, 1730, 2048
\linespacing . . . 542, 543 2300, 2302, 2304, \newfloat . . . . . . . . . 940
\liningnums . . . . . . . 860 2306, 2308, 2310, \newif 162, 163, 164, 165,
\list . . . . . . . . . . . . 1042 2312, 2326, 2328, 166, 168, 827, 866,
\listisep . 1023, 1024, 1028 2420, 2442, 2470, 868, 1049, 1469,
\listparindent . . . . 1027 2633, 2698, 2699, 2778 1616, 1779, 1781,
\LoadClass . . . . . . . . 261 \month . . . . . . . 1603, 2924 1783, 2579, 2581, 2583
\long 442, 557, 568, 943, \moveleft . . . . . . . . . 980 \newlength . . . . . . . .
947, 958, 1645, \multiply . . . . . . . . . 3087 1618, 1620, 1621, 2861
1648, 1650, 2049, 2845 \newsavebox . . . . . . . 2860
\loop . . . . 2283, 2868, 3081 N \newskip . . . . . 1023, 2639
\LTX@adddotafter . . . \NAT@@setcites . . . . 346 \newtheorem . . . . . . .
. . . . . . . 3202, 3205 \NAT@aysep . . . . . . . . 337 3349, 3352, 3355,
\NAT@citetp . . . . . . . 632 3358, 3361, 3365, 3368
M \NAT@close . . . . . . . . \newtheoremstyle . . .
\makeatletter . . . . . 539 286, 288, 290, 292, 335 . . . . . . . 3301, 3333
\makebox . . 2119, 3044, \NAT@cmprs . . 314, 316, 318 \newwrite . . . . . . . . . 546
3049, 3090, 3163, 3168 \NAT@cmt . . . . . . . . . 341 \next . . . . 3180, 3182, 3192
\MakeFramed . . . . . . . 1733 \NAT@ctype . . . . . . . . 632 \nobreak . . . . . . 505, 2814
\makelabel . . . . . . . . 1044 \NAT@find@eq . . . . . . 329 \noindent . . . . . . 555,
\MakeTextUppercase . \NAT@fullfalse . . . . 632 1559, 1710, 2096,
2608, 2610, 3235, \NAT@longnamestrue . 326 2183, 2189, 2249,
3244, 3247, 3250, \NAT@merge . . 320, 322, 324 2251, 2253, 2255,
3253, 3263, 3267, 3270 \NAT@nmfmt . . . . . . . . 328 2286, 2293, 2314,
\maketitle . . . . . 19, 2072 \NAT@numbersfalse . . 300 2420, 2427, 2430,
\MakeUppercase . . . . 3189 \NAT@numberstrue 302, 304 2433, 2457, 2471,
\marginfigure . . . . . 946 \NAT@open . . . . . . 286, 2472, 2474, 2572,
marginfigure (env.) . . . 33 288, 290, 292, 333, 632 2633, 2634, 2698,
\marginpar . . . . . 557, \NAT@partrue . . . . . . 632 2744, 2778, 2779,
945, 951, 960, 2314 \NAT@rem@eq . . . . . . . 331 2814, 2815, 2848, 3384
\marginparsep . . 962, 3036 \NAT@sep 294, 296, 298, 343 \noindentparagraph .
\marginparwidth . 962, 3036 \NAT@sort . . . 310, 312, 318 . . . . . . . 2261, 3222
\margintable . . . . . . 957 \NAT@superfalse . . . . 302 \nolinkurl . . . . . 2679,
margintable (env.) . . . . 33 \NAT@supertrue . . . . 304 2682, 2725, 2727, 2763
138
\normalbaselines . . . 2642 1218, 1222, 1228, 2891, 2893, 2895,
\normalcolor . . . . . . 786 1234, 1238, 1242, 2897, 2899, 2901,
\normalfont . . . . 580, 1247, 1251, 1255, 2903, 2905, 2957,
1710, 2090, 2539, 1259, 1263, 1267, 2966, 2976, 3068,
2544, 2553, 2554, 1271, 1275, 1279, 3073, 3112, 3122,
2556, 2557, 2569, 1283, 1287, 1291, 3132, 3242, 3243,
2865, 3295, 3312, 1295, 1299, 1303, 3246, 3249, 3252,
3324, 3327, 3392, 3516 1307, 1311, 1315, 3255, 3261, 3265,
\normalparindent . . . 771 1319, 1323, 1327, 3269, 3272, 3286,
\normalsize . . . . . . . 1331, 1335, 1339, 3287, 3288, 3289,
2382, 2539, 2553, 1343, 1347, 1352, 3290, 3291, 3296,
2554, 2557, 2866, 3516 1357, 1361, 1365, 3297, 3298, 3299,
\num@authorgroups . . 1370, 1374, 1378, 3318, 3319, 3320,
. . . . . . . . 1465, 1382, 1386, 1390, 3321, 3322, 3323,
1476, 2076, 2655, 1394, 1398, 1402, 3328, 3329, 3330,
2659, 2661, 2708, 2749 1406, 1410, 1414, 3331, 3377, 3378,
\num@authors . . . . . . 1604, 1605, 1606, 3379, 3380, 3381,
1467, 1474, 1488, 1717, 1719, 1721, 3382, 3385, 3386,
1495, 1549, 1552, 2747 1723, 1850, 1852, 3387, 3388, 3404,
\number . . . . . . . . . . 464 1855, 1857, 1858, 3405, 3406, 3408,
\numberline . . . . 484, 497 1860, 1862, 1864, 3410, 3412, 3414,
\numexpr . 2914, 2916, 2918 1867, 1870, 1873, 3416, 3417, 3419,
\nxandlist . . . . . . . . 2196 1875, 1878, 1881, 3426, 3428, 3430,
1884, 1906, 1917, 3432, 3434, 3436,
O 1928, 1936, 1942, 3438, 3440, 3442, 3444
\onehalfspacing . . . . 270 1948, 1962, 1974, \orcid . . . . . . . . 10, 1546
\openout . . . . . . . . . 547
1981, 1995, 2002, \outer@nobreak . . . . 977
2008, 2015, 2020,
\or . . . . . 204, 206, 208,
210, 212, 214, 216,
2026, 2250, 2252, P
2254, 2256, 2258, \p@ . . . . . 550, 755, 762,
218, 221, 224, 238,
2260, 2262, 2264, 772, 773, 779, 780,
240, 242, 244, 246,
2266, 2268, 2297, 2427, 3042, 3161,
248, 250, 252, 254,
2299, 2301, 2303, 3207, 3211, 3215,
256, 595, 596, 597,
2305, 2307, 2309, 3216, 3219, 3220,
598, 599, 600, 602,
2311, 2325, 2327, 3223, 3224, 3228,
603, 605, 606, 682,
2335, 2337, 2339, 3229, 3392, 3494, 3497
689, 696, 703, 710,
2341, 2343, 2345, \PackageError 56, 64, 72,
717, 724, 731, 740,
2347, 2349, 2351, 81, 89, 101, 105,
747, 759, 760, 761,
2353, 2361, 2363, 109, 117, 125, 133, 143
763, 764, 765, 766,
2365, 2367, 2369, \PackageInfo . . . . 53,
767, 768, 769, 797,
2371, 2373, 2375, 55, 61, 63, 69,
798, 799, 801, 803,
2377, 2379, 2386, 71, 77, 80, 86, 88,
805, 807, 809, 810,
2388, 2390, 2392, 94, 100, 114, 116,
812, 917, 918, 919,
2394, 2396, 2398, 122, 124, 130, 132,
920, 921, 923, 926,
2400, 2402, 2404, 138, 142, 1167,
931, 936, 937, 986,
2515, 2517, 2519, 1211, 1217, 1227, 1233
987, 988, 989, 990,
2521, 2523, 2525, \PageIndex . . . . . . . . . 15
991, 996, 997, 998,
2527, 2529, 2531, \pageref . . . . . . . . . 2926
999, 1128, 1132,
2533, 2542, 2545,
1136, 1140, 1144, \pagestyle . . . . . . . . 3057
2546, 2549, 2552,
1148, 1153, 1157, \par . . . . . . . . . . 432,
2555, 2558, 2561,
1161, 1168, 1172, 435, 449, 505, 541,
2564, 2567, 2657,
1176, 1180, 1185, 782, 975, 1559,
2658, 2660, 2662,
1189, 1193, 1197, 1710, 2099, 2106,
2710, 2887, 2889,
1202, 1206, 1212, 2125, 2130, 2132,
139
2183, 2189, 2232, \ProvidesFile . . . . . . . 3 2747, 2749, 2772,
2236, 2239, 2249, \ps@headings . . 2853, 2857 2806, 2863, 2885,
2251, 2253, 2255, \ps@myheadings 2852, 2856 2886, 2888, 2890,
2296, 2298, 2300, \ps@plain . . . . . 2851, 2855 2906, 2916, 2918,
2312, 2328, 2427, \pushQED . . . . . . . . . 3391 2921, 2949, 3067,
2433, 2440, 2457, \put . . . . . . . . . 2879, 2909 3069, 3070, 3071,
2468, 2471, 2474, 3074, 3075, 3076,
2476, 2499, 2501, Q 3079, 3080, 3082,
2503, 2504, 2572, \qed . . . . . . . . . . . . . 3391 3085, 3086, 3087,
2576, 2633, 2635, \quad . . . . . 526, 2968, 3088, 3106, 3151,
2642, 2644, 2672, 2971, 2978, 2982, 3152 3178, 3201, 3205,
2674, 2681, 2690, 3241, 3285, 3317,
2699, 2701, 2719, R 3376, 3392, 3403,
2721, 2727, 2735, \raggedright . . . . . . 3424, 3483, 3487, 3497
2743, 2745, 2776, 2429, 2470, 2743, 3498 \removelastskip . . . . 541
2777, 2778, 2780, \raisebox . . 2119, 2422, \renewcommand 278, 282,
2794, 2814, 2837, 2437, 2449, 2464, 283, 286, 288, 290,
2841, 2845, 2848, 3390 3045, 3090, 3092, 3164 292, 294, 296, 298,
\paragraph . . . . . . . . 3218 \real@adddotafter . . 348, 371, 373, 376,
\parbox . . . . . . . 662, . . . . . . . 3187, 3190 383, 385, 387, 389,
671, 2429, 2447, \realSectionformat . 394, 396, 398, 402,
2454, 2462, 2865, 3094 . . . 3183, 3195, 3196 404, 406, 410, 412,
\parindent . . 755, 771, \received . . . . . . 18, 1694 414, 864, 1041,
1010, 2099, 2106, \RecordChanges . . . . . 17 1471, 1540, 2050,
2123, 2231, 3218, \ref . . . . . . . . . 2826, 2833 2083, 2759, 2938,
3234, 3281, 3313, 3497 \refname . . . . . . 279, 280 2939, 3042, 3102,
\parskip . . 755, 2123, 3497 \refstepcounter . . . . 468 3103, 3161, 3206,
\part . . . . . . . . . . . . 3227 \relax . . . . . . . . 170, 3210, 3214, 3218, 3227
\PassOptionsToClass 176, 182, 195, 202, \renewenvironment . .
. . . . . . . . . 158, 159 236, 329, 330, 418, 942, 1042, 1644, 3390
\pdfgentounicode . . . 824 450, 469, 471, 475, \repeat . . 2290, 2871, 3084
\pdfglyphtounicode . 489, 503, 518, 528, \RequirePackage 29, 30,
. . . . . . 817, 818, 536, 547, 594, 679, 31, 262, 263, 264,
819, 820, 821, 822, 823 758, 794, 796, 916, 265, 266, 267, 269,
\pdfstringdefDisableCommands 985, 1124, 1466, 272, 274, 277, 380,
. . . . . . . . . . . . 585 1468, 1474, 1476, 581, 584, 648, 649,
\phantomsection . . . . 1586, 1587, 1640, 659, 668, 677, 774,
. . . . 280, 2788, 3458 1664, 1715, 1733, 825, 839, 845, 846,
\popQED . . . . . . . . . . 3397 1754, 1763, 1773, 850, 851, 854, 855,
\position . . . 11, 1530, 1774, 1794, 1799, 856, 906, 1745,
1534, 1535, 1536, 1802, 1806, 1812, 2850, 3407, 3409,
1537, 1538, 2485, 2754 1815, 1818, 1821, 3411, 3413, 3415,
\postcode . . . . . . . . . 1824, 1827, 1830, 3418, 3431, 3433,
. 11, 1537, 2485, 2753 1834, 1838, 1849, 3435, 3437, 3439, 3443
printonly (env.) . . . . . 23 1905, 2094, 2095, \reset@font . . . . 558, 571
\ProcessOptionsX . . . 160 2112, 2248, 2295, \reversemarginpar . . 739
\proof . . . . . . . . . . . 3390 2333, 2359, 2384, \rightarrow . . . . . . . 1751
\proofname . . . . . . . . 3390 2513, 2541, 2640, \rightskip . . . . . . . . 3232
\protect . . . . . . 484, 497 2650, 2651, 2652, \rlap . . . . . . . . . . . . 3091
\protected@edef . . . . 2653, 2656, 2659, \rotatebox . . . . 3046, 3165
. . . . . . 469, 560, 574 2661, 2663, 2665, \rule . . . . . 565, 578, 3093
\providecommand . . . . 2668, 2700, 2703,
. . . . . 633, 637, 3279 2704, 2705, 2706, S
\ProvidesClass . . . . . . 5 2709, 2712, 2715, \savebox . . . . . . . . . 2865
140
screenonly (env.) . . . . . 23 \SetWatermarkColor . \subsubsection . . . . 3214
\scriptsize 2233, 2868, 2872 . . . . . . . . . 661, 670 \subtitle . . . . . . 10, 1463
\scshape . . . . . 3282, 3373 \SetWatermarkFontSize \subtitlenote . . 14, 1570
\section . . . . . . 279, . . . . . . . . . 660, 669
2257, 2259, 2263, \SetWatermarkText 662, 671 T
2265, 2267, 2269, \sfdefault . . . . . . . . 864 \teaserfigure . . . . . 2048
2792, 2800, 3206, 3457 \sffamily . . . . . . . . . teaserfigure (env.) . . . 18
\section@raggedright 2360, 2362, 2364, \terms . . . . . . . . 16, 1635
. . . . . . . . 3231, 2366, 2368, 2370, \textbf . . 1756, 1768, 2848
3235, 3236, 3244, 2374, 2378, 2380, \textbullet 588, 1755,
3245, 3247, 3248, 2538, 2543, 2547, 2968, 2971, 2978, 2982
3250, 3251, 3253, 2568, 2934, 3096, \textcolor . . . . . . . . 3096
3254, 3256, 3257, 3235, 3236, 3237, \textheight . . . . . . .
3258, 3263, 3264, 3244, 3245, 3247, 2230, 2282, 2284,
3267, 3268, 3270, 3271 3248, 3253, 3254, 2290, 2871, 3045, 3164
\Sectionformat . . . . 3263, 3264, 3267, 3268 \textit . . . . . . . 1769,
3179, 3183, 3185, 3196 \shortauthors 19, 1500, 2824, 2828, 2829, 2830
\SelectFootnoteRule 1501, 1508, 1509, \textrightarrow . . . .
. . . . . . . . . 775, 777 1511, 1514, 1515, . . . . 589, 1751, 1765
1517, 2208, 2210, 2933
\selectlanguage 1557, 2796 \textwidth 962, 981, 982,
\shortcite . . . . . 636, 639
\set@ACM@acmcpbox . . 2084, 2407, 2441,
\shorttitle 2953, 2961, 2469, 2511, 2650, 2697
. . . . . . . 2221, 2226
2971, 2982, 2989, 3013
\setbox . . . . 514, 569, \thanks . . . . 13, 2050, 2845
\showeprint . . . . . . . 3479
980, 2230, 2284, \thankses . . . . . . . . .
\sidebar . . . . . . . . . 940
2420, 2442, 2470, 2053, 2055, 2097, 2845
sidebar (env.) . . . . . . . 33
2481, 2633, 2643, \the . . 1488, 1495, 1549,
\skip . . . . . . . . . . . . 785
2698, 2778, 2790, 2798 1552, 1601, 1603,
\small . . . . . 558, 945,
\setcctype . . . . . 17, 1844 2868, 2872, 2924, 3087
952, 960, 1710,
\setcitestyle . . . . . \theACM@time@hours .
2249, 2251, 2253,
. . . 25, 283, 357, 363 . . . . . . . 2918, 2925
2255, 2544, 2569,
\setcopyright . . 16, 1842 \theACM@time@minutes 2925
2790, 2798, 2814, 3108
\setcounter 2089, 2176, \theenumi . . . . . . . . . 992
\smallskipamount . . . 1024
2278, 2916, 2918, \theenumii . . . . . . . . 993
\space . . . . 493, 1473,
3239, 3262, 3266, 3277 \theenumiii . . . . . . . 994
1542, 1669, 2204,
\setengagemetadata . 2507, 3053, 3172, \theenumiv . . . . . . . . 995
. . . . . . . . . 19, 2068 3464, 3503, 3506, 3514 \thefootnote . . . . . . 2083
\setkeys . 38, 174, 180, \specialcomment . . . . 3455 \theindex . . . . . . . . . 3493
1427, 1681, 1729, \standardpagestyle . 2935 \theoremstyle . . . . .
1842, 2618, 2619, \startPage . . . . . 16, 1633 3344, 3347, 3363, 3371
2624, 2625, 2686, \state . 11, 1536, 2485, 2758 \thepage . . . . . . . . .
2687, 2691, 2692, \stepcounter 1565, 1567, 2926, 2942, 2944,
2731, 2732, 2736, 2737 1574, 1577, 1584, 1753 2950, 2951, 2988,
\setlength 755, 756, 762, \StrDel . . . . . . . . . . 2494 3012, 3108, 3143, 3148
771, 1003, 1004, \streetaddress . . . . \thispagestyle 2285, 2292
1009, 1015, 1018, . 11, 1534, 2485, 2752 \thmname . . . . . 3311, 3343
1019, 1020, 1021, \string . . . . . . . . . . \thmnote . . . . . 3311, 3343
1619, 1622, 2231, 2867 420, 421, 424, 426, \thmnumber . . . . 3311, 3343
\setmonofont . . . 847, 852 646, 1473, 1542, \thr@@ . . . . . . . . . . . 324
\settopmatter . . . . . 1635, 1669, 2810, \time . . . . 2913, 2916, 2918
. . . 18, 98, 1669, 2811, 3503, 3506, 3514 \title . . . . . . . . 10, 2810
1681, 1682, 1684, \strut 2447, 2462, 3047, 3166 \titlenote . . 14, 1561, 2811
1687, 1689, 1692, 2822 \strutbox . . . . . . 565, 578 \topsep . . 1028, 1032, 3392
\setTrue . . . . . . . . . 540 \subsection . . . . . . . 3210 \translatedabstract 440
141
translatedabstract \upshape . . . . . . . . . 1041 335, 337, 339, 341, 343
(env.) . . . . . . . . 21 \url . 1739, 1741, 1887, 3464
\translatedkeywords \UrlBreakPenalty . . .
Y
. . . . . . . . . . 21, 437 . . . . . . . 2679, 2682
\translatedsubtitle \urlstyle . . . 592, 601, 604 \year . . . . . . . . 1601, 2924
. . . . . . . . . . 21, 434 \usebox . . . . . . 2879, 2909
\translatedtitle . 21, 431 \usepackage . . . . . . . Z
\trivlist . . . . . . . . . 3393 . . 9, 10, 11, 12, 13, 14
\z@ . . . . . 312, 316, 452,
\tw@ . . . . . . . . . . . . . 322
V 472, 504, 514, 529,
\two@digits . . . 2924, 2925
\value . . . . . . . . . . . 1770 542, 565, 578, 756,
\twocolumn . 2302, 2304,
\vbox . . . . . . . . . 569, 793, 910, 914, 925,
2306, 2308, 2310, 2326
980, 2420, 2442, 1009, 1015, 1027,
U 2470, 2633, 2698, 2778 2099, 2106, 2119,
\unskip . . . . 517, 587, \vfill 2234, 2236, 2239, 2241 2123, 2214, 2216,
783, 1533, 1539, \vskip 506, 541, 785, 793, 975 2231, 2422, 2437,
1546, 2482, 2485, \vspace . . . . . . 2427, 3501 2449, 2464, 2743,
2486, 2488, 2490, \vsplit . . . . . . . . . . 2284 2790, 2798, 2938,
2491, 2492, 2493, \vtop . . . . . . . . 2230, 2643 2939, 3044, 3049,
2507, 2576, 2752, 3060, 3062, 3064,
2753, 2754, 2756, W 3090, 3092, 3102,
2757, 2758, 2759, \wd . . . . . . . . . . . 982, 2482 3103, 3163, 3168,
2760, 2761, 2763, \write . . . . . . . . . . . 646 3206, 3210, 3214,
2808, 2816, 2833, 2846 3222, 3227, 3234,
\unvbox . 570, 787, 792, X 3293, 3325, 3494, 3497
2286, 2633, 2699, 2778 \xdef . . . . . . . . . 333, \z@skip 541, 975, 1032, 3233
142