diff --git a/docs/acmart.bib b/docs/acmart.bib deleted file mode 100644 index c4ccd85f315146a5ac5cc92088880dd3a6477b0a..0000000000000000000000000000000000000000 --- a/docs/acmart.bib +++ /dev/null @@ -1,89 +0,0 @@ -@Misc{TeXFAQ, - title = {{UK} List of {\TeX} Frequently Asked Questions}, - author = {{UK \TeX{} Users Group}}, - year = 2019, - howpublished = {\url{https://texfaq.org}} -} - -@Manual{Downes04:amsart, - title = {The \textsf{amsart}, \textsf{amsproc}, and - \textsf{amsbook} document~classes}, - author = {Michael Downes and Barbara Beeton}, - organization = {American Mathematical Society}, - year = 2004, - month = aug, - note = {\url{http://www.ctan.org/pkg/amslatex}} -} - -@Manual{Fiorio15, - title = {{a}lgorithm2e.sty---package for algorithms}, - author = {Cristophe Fiorio}, - year = 2015, - month = oct, - note = {\url{http://www.ctan.org/pkg/algorithm2e}} -} - -@Manual{Brito09, - title = {The algorithms bundle}, - author = {Rog\'erio Brito}, - year = 2009, - month = aug, - note = {\url{http://www.ctan.org/pkg/algorithms}} -} - -@Manual{Heinz15, - title = {The Listings Package}, - author = {Carsten Heinz and Brooks Moses and Jobst Hoffmann}, - year = 2015, - month = jun, - note = {\url{http://www.ctan.org/pkg/listings}} -} - -@Manual{Fear05, - title = {Publication quality tables in {\LaTeX}}, - author = {Simon Fear}, - year = 2005, - month = apr, - note = {\url{http://www.ctan.org/pkg/booktabs}} -} - -@Manual{ACMIdentityStandards, - title = {{ACM} Visual Identity Standards}, - organization = {Association for Computing Machinery}, - year = 2007, - note = {\url{http://identitystandards.acm.org}} -} - -@Manual{Sommerfeldt13:Subcaption, - title = {The subcaption package}, - author = {Axel Sommerfeldt}, - year = 2013, - month = apr, - note = {\url{http://www.ctan.org/pkg/subcaption}} -} - -@Manual{Nomencl, - title = {A package to create a nomenclature}, - author = {Boris Veytsman and Bern Schandl and Lee Netherton - and C. V. Radhakrishnan}, - year = 2005, - month = sep, - note = {\url{http://www.ctan.org/pkg/nomencl}} -} - -@Manual{Talbot16:Glossaries, - title = {User Manual for glossaries.sty v4.44}, - author = {Nicola L. C. Talbot}, - year = 2019, - month = dec, - note = {\url{http://www.ctan.org/pkg/glossaries}} -} - -@Manual{Carlisle04:Textcase, - title = {The \textsl{textcase} package}, - author = {David Carlisle}, - month = oct, - year = 2004, - note = {\url{http://www.ctan.org/pkg/textcase}} -} - diff --git a/docs/acmart.cls b/docs/acmart.cls index 113513059a5e47556ccdd9c859bf7f7c559df23d..49c56b215757876a8a5168d944019a12ec6208a1 100644 --- a/docs/acmart.cls +++ b/docs/acmart.cls @@ -660,8 +660,7 @@ \or % sigchi-a \fi \setlength\normalparindent{\parindent} -\def\copyrightpermissionfootnoterule{\kern-3\p@ - \hrule \@width \columnwidth \kern 2.6\p@} +\def\copyrightpermissionfootnoterule{} \RequirePackage{manyfoot} \SelectFootnoteRule[2]{copyrightpermission} \DeclareNewFootnote{authorsaddresses} @@ -1264,8 +1263,7 @@ \global\@ACM@journal@bibstripfalse } \if@ACM@journal\else -\acmConference[Conference'17]{ACM Conference}{July 2017}{Washington, - DC, USA}% +\acmConference[]{}{}{}% \fi \def\acmBooktitle#1{\gdef\@acmBooktitle{#1}} \acmBooktitle{Proceedings of \acmConference@name @@ -1410,11 +1408,11 @@ July\or August\or September\or October\or November\or December\fi~\@acmYear} \def\acmPrice#1{\def\@acmPrice{#1}} -\acmPrice{15.00} +\acmPrice{} \def\acmSubmissionID#1{\def\@acmSubmissionID{#1}} \acmSubmissionID{} \def\acmISBN#1{\def\@acmISBN{#1}} -\acmISBN{978-x-xxxx-xxxx-x/YY/MM} +\acmISBN{} \def\acmDOI#1{\def\@acmDOI{#1}} \acmDOI{10.1145/nnnnnnn.nnnnnnn} \newif\if@ACM@badge @@ -1608,7 +1606,7 @@ \def\@copyrightowner{% \ifcase\acm@copyrightmode\relax % none \or % acmcopyright - Association for Computing Machinery. + % Association for Computing Machinery. \or % acmlicensed Copyright held by the owner/author(s). Publication rights licensed to ACM\@. @@ -1642,20 +1640,20 @@ IW3C2 (International World Wide Web Conference Committee), published under Creative Commons CC-BY-NC-ND~4.0 License. \fi} -\def\@formatdoi#1{\url{https://doi.org/#1}} +\def\@formatdoi#1{} \def\@copyrightpermission{% \ifcase\acm@copyrightmode\relax % none \or % acmcopyright - Permission to make digital or hard copies of all or part of this - work for personal or classroom use is granted without fee provided - that copies are not made or distributed for profit or commercial - advantage and that copies bear this notice and the full citation on - the first page. Copyrights for components of this work owned by - others than ACM must be honored. Abstracting with credit is - permitted. To copy otherwise, or republish, to post on servers or to - redistribute to lists, requires prior specific permission - and\hspace*{.5pt}/or a fee. Request permissions from - permissions@acm.org. + % Permission to make digital or hard copies of all or part of this + % work for personal or classroom use is granted without fee provided + % that copies are not made or distributed for profit or commercial + % advantage and that copies bear this notice and the full citation on + % the first page. Copyrights for components of this work owned by + % others than ACM must be honored. Abstracting with credit is + % permitted. To copy otherwise, or republish, to post on servers or to + % redistribute to lists, requires prior specific permission + % and\hspace*{.5pt}/or a fee. Request permissions from + % permissions@acm.org. \or % acmlicensed Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided @@ -1822,7 +1820,7 @@ \fi \if@ACM@nonacm\else\footnotetextcopyrightpermission{% \if@ACM@authordraft - \raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries + \raisebox{0ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries Unpublished working draft. Not for distribution.}}% \color[gray]{0.9}% \fi @@ -1832,7 +1830,7 @@ \fi \if@ACM@manuscript\else \if@ACM@journal@bibstrip\else % Print the conference information - {\itshape \acmConference@shortname, \acmConference@date, \acmConference@venue}\par + {\itshape \acmConference@shortname \acmConference@date \acmConference@venue}\par \fi \fi \if@printcopyright @@ -1853,9 +1851,9 @@ \emph{\@acmBooktitle}% \fi \ifx\@acmDOI\@empty - . + \else - , \@formatdoi{\@acmDOI}. + \@formatdoi{\@acmDOI}. \fi\\ \else \if@ACM@nonacm\else @@ -1864,7 +1862,7 @@ \ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\ \@formatdoi{\@acmDOI}% \else % Conference - \ifx\@acmISBN\@empty\else ACM~ISBN~\@acmISBN + \ifx\@acmISBN\@empty\else \@acmISBN \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\\fi \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi% \fi @@ -2431,12 +2429,12 @@ \@acmVolume, \@acmNumber \@article@string (\@acmPubDate), \ref{TotPages}~\@pages@word. \else - In \textit{\@acmBooktitle}% - \ifx\@acmEditors\@empty\textit{.}\else - \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.% - \fi\ - ACM, New York, NY, USA% - \@article@string\unskip, \ref{TotPages}~\@pages@word. + % In \textit{\@acmBooktitle}% + % \ifx\@acmEditors\@empty\textit{.}\else + % \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.% + % \fi\ + % ACM, New York, NY, USA% + % \@article@string\unskip, \ref{TotPages}~\@pages@word. \fi \fi \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi diff --git a/docs/acmart.dtx b/docs/acmart.dtx deleted file mode 100644 index f89537340927a3ff68b789a50b374d8a35bed07c..0000000000000000000000000000000000000000 --- a/docs/acmart.dtx +++ /dev/null @@ -1,7393 +0,0 @@ -% \iffalse -% -% Copyright 2016-2020, Association for Computing Machinery -% This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either -% version 1.3 of this license or (at your option) any -% later version. -% The latest version of the license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of -% LaTeX version 2005/12/01 or later. -% -% This work has the LPPL maintenance status `maintained'. -% -% The Current Maintainer of this work is Boris Veytsman, -% <borisv@lk.net> -% -% This work consists of the file acmart.dtx, the derived file -% acmart.cls, the files ACM-Reference-Format.bst, and templates -% sample-acmlarge.tex, sample-acmsmall.tex, sample-acmtog.tex, -% samplebody-conf.tex, samplebody-journals.tex, sample-manuscript.tex, -% sample-sigconf-authordraft.tex, sample-sigconf.tex, -% sample-sigplan.tex -% -% \fi -% -% -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -% -% -% \MakeShortVerb{|} -% \def\guide{acmguide} -% \iffalse -% From -% http://tex.stackexchange.com/questions/117892/can-i-convert-a-string-to-catcode-11 by egreg -% \fi -% \begingroup -% \everyeof{\noexpand} -% \endlinechar=-1 -% \xdef\currentjob{\scantokens\expandafter{\jobname}} -% \endgroup -% -% \ifx\currentjob\guide\OnlyDescription\fi -% \GetFileInfo{acmart.dtx} -% \title{\LaTeX{} Class for the \emph{Association for Computing -% Machinery}\thanks{\copyright 2016--2020, Association for Computing Machinery}} -% \author{Boris Veytsman\thanks{% -% \href{mailto:borisv@lk.net}{\texttt{borisv@lk.net}}, -% \href{mailto:boris@varphi.com}{\texttt{boris@varphi.com}}}} -% \date{\filedate, \fileversion} -% \maketitle -% \begin{abstract} -% This package provides a class for typesetting publications of -% the Association for Computing Machinery. -% \end{abstract} -% \tableofcontents -% -% \clearpage -% -%\section{Introduction} -%\label{sec:intro} -% -% The Association for Computing -% Machinery\footnote{\url{http://www.acm.org/}} is the world's largest -% educational and scientific 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 proceedings. 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 \TeX -% Live, Mik\TeX\ 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, -% Benjamin Byholm, -% John Collins, -% Nils Anders Danielsson, -% Michael Ekstrand, -% Matthew Fluet, -% Paolo G.~Giarrusso, -% Ben Greenman, -% Enrico Gregorio, -% Jamie Davis, -% Jason 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, -% Andreas Reichinger, -% Matteo Riondato, -% Craig Rodkin, -% Bernard Rous, -% Feras Saad, -% Kerry A. Seitz, Jr., -% David Shamma, -% Gabriel Scherer, -% Kartik Singhal, -% 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 -% \url{https://github.com/borisveytsman/acmart}. -% -%\section{User's guide} -%\label{sec:ug} -% -% -% This class uses many commands and customizaton options, so it might -% appear intimidating 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 conference or journal editors. If -% you have problems or questions, do not hesitate to ask me directly -% or the community at \url{https://github.com/borisveytsman/acmart}, -% \url{https://tex.stackexchange.com} or the closest \TeX\ Users -% Group. The world-wide \TeX\ Users Group is at -% \url{https://tug.org/}; please consider joining us if you use \TeX\ -% regularly. -% -%\subsection{Installation} -%\label{sec:ug_install} -% -% 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: -% \url{https://www.ctan.org/pkg/acmart}. The development version can -% be found on GitHub: \url{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. -% -% 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: -% \begin{enumerate} -% \item Run |latex acmart.ins|. This will produce the file -% |acmart.cls| -% \item Put the files |acmart.cls| and |ACM-Reference-Format.bst| -% in places where \LaTeX{} can find them (see \cite{TeXFAQ} or -% the documentation for your \TeX{} system).\label{item:install} -% \item Update the database of file names. Again, see \cite{TeXFAQ} -% or the documentation for your \TeX{} system for the system-specific -% details.\label{item:update} -% \item The file |acmart.pdf| provides the documentation for the -% package. (This is probably the file you are reading now.) -% \end{enumerate} -% As an alternative to items~\ref{item:install} and~\ref{item:update} -% you can just put the files in the working directory where your -% |.tex| file is. -% -% -% This class uses a number of other packages. They are included in all -% major \TeX\ distributions (\TeX Live, Mac\TeX, Mik\TeX) of 2015 and -% later, so you probably have them installed. Just in case here is -% the list of these packages: -% \begin{itemize} -% \item \textsl{amscls}, \url{http://www.ctan.org/pkg/amscls} -% \item \textsl{amsfonts}, \url{http://www.ctan.org/pkg/amsfonts} -% \item \textsl{amsmath}, \url{http://www.ctan.org/pkg/amsmath} -% \item \textsl{binhex}, \url{http://www.ctan.org/pkg/binhex} -% \item \textsl{balance}, \url{http://www.ctan.org/pkg/balance} -% \item \textsl{booktabs}, \url{http://www.ctan.org/pkg/booktabs} -% \item \textsl{caption}, \url{http://www.ctan.org/pkg/caption} -% \item \textsl{comment}, \url{http://www.ctan.org/pkg/comment} -% \item \textsl{cm-super}, \url{http://www.ctan.org/pkg/cm-super} -% \item \textsl{cmap}, \url{http://www.ctan.org/pkg/cmap} -% \item \textsl{draftwatermark}, \url{http://www.ctan.org/pkg/draftwatermark} -% \item \textsl{environ}, \url{http://www.ctan.org/pkg/environ} -% \item \textsl{etoolbox}, \url{http://www.ctan.org/pkg/etoolbox} -% \item \textsl{fancyhdr}, \url{http://www.ctan.org/pkg/fancyhdr} -% \item \textsl{float}, \url{http://www.ctan.org/pkg/float} -% \item \textsl{fontaxes}, \url{http://www.ctan.org/pkg/fontaxes} -% \item \textsl{geometry}, \url{http://www.ctan.org/pkg/geometry} -% \item \textsl{graphics}, \url{http://www.ctan.org/pkg/graphics} -% \item \textsl{hyperref}, \url{http://www.ctan.org/pkg/hyperref} -% \item \textsl{hyperxmp}, \url{http://www.ctan.org/pkg/hyperxmp} -% \item \textsl{iftex}, \url{http://www.ctan.org/pkg/iftex} -% \item \textsl{inconsolata}, \url{http://www.ctan.org/pkg/inconsolata} -% \item \textsl{libertine}, \url{http://www.ctan.org/pkg/libertine} -% \item \textsl{manyfoot}, \url{http://www.ctan.org/pkg/manyfoot} -% \item \textsl{microtype}, \url{http://www.ctan.org/pkg/microtype} -% \item \textsl{mmap}, \url{http://www.ctan.org/pkg/mmap} -% \item \textsl{ms}, \url{http://www.ctan.org/pkg/ms} -% \item \textsl{mweights}, \url{http://www.ctan.org/pkg/mweights} -% \item \textsl{natbib}, \url{http://www.ctan.org/pkg/natbib} -% \item \textsl{nccfoots}, \url{http://www.ctan.org/pkg/nccfoots} -% \item \textsl{newtx}, \url{http://www.ctan.org/pkg/newtx} -% \item \textsl{oberdiek}, \url{http://www.ctan.org/pkg/oberdiek} -% \item \textsl{pdftex-def}, \url{http://www.ctan.org/pkg/pdftex-def} -% \item \textsl{refcount}, \url{http://www.ctan.org/pkg/refcount} -% \item \textsl{setspace}, \url{http://www.ctan.org/pkg/setspace} -% \item \textsl{textcase}, \url{http://www.ctan.org/pkg/textcase} -% \item \textsl{totpages}, \url{http://www.ctan.org/pkg/totpages} -% \item \textsl{trimspaces}, \url{http://www.ctan.org/pkg/trimspaces} -% \item \textsl{upquote}, \url{http://www.ctan.org/pkg/upquote} -% \item \textsl{url}, \url{http://www.ctan.org/pkg/url} -% \item \textsl{xcolor}, \url{http://www.ctan.org/pkg/xcolor} -% \item \textsl{xkeyval}, \url{http://www.ctan.org/pkg/xkeyval} -% \item \textsl{xstring}, \url{http://www.ctan.org/pkg/xstring} -% \end{itemize} -% -% -%\subsection{Invocation and options} -%\label{sec:invocation} -% -% To use this class, put in the preamble of your document -% \begin{quote} -% \cs{documentclass}\oarg{options}|{acmart}| -% \end{quote} -% 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, -% \begin{verbatim} -% \documentclass[format=acmsmall, screen=true, review=false]{acmart} -% \end{verbatim} -% -% -% The option |format| describes the format of the output. There are -% several possible values for this option, for example, -% \begin{verbatim} -% \documentclass[format=acmtog]{acmart} -% \end{verbatim} -% Actually the words |format=| can be omitted, e.g., -% \begin{verbatim} -% \documentclass[acmtog, review=false]{acmart} -% \end{verbatim} -% The possible formats are listed in -% Table~\ref{tab:opts_format}. Note that formats starting with |acm| -% are intended for journals and transactions, while formats starting -% with |sig| are intended for proceedings published as books. -% -% Note that sometimes conference proceedings are published as a -% special issue (or issues) 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. -% -% \begin{table} -% \centering -% \caption{The possible values for the \texttt{format} option} -% \label{tab:opts_format} -% \begin{tabularx}{\textwidth}{>{\ttfamily}lX} -% \toprule -% \normalfont Value & Meaning\\ -% \midrule -% manuscript & A manuscript. This is the default. \\ -% acmsmall & Small single-column format. Used for CIE, CSUR, -% JACM, JDIQ, JEA, JERIC, -% JETC, PACMCGIT, PACMHCI, 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 (formerly -% TOMCCAP), TOMPECS, TOMS, TOPC, TOPLAS, TOPS, -% TOS, TOSEM, TOSN, TQC, TRETS, -% TSAS, TSC, TSLP and TWEB, including 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 conference Technical Papers.\\ -% sigconf & Proceedings format for most ACM -% conferences (with the exceptions listed below) and all ICPS -% volumes.\\ -% sigplan & Proceedings format for SIGPLAN conferences.\\ -% \bottomrule -% \end{tabularx} -% \end{table} -% -% 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~\ref{sec:sigchi-a}). -% -% There are several Boolean options that can take |true| or |false| -% values. They are listed in Table~\ref{tab:opts_bool}. The words -% |=true| can be omitted when setting a Boolean option, so instead of -% |screen=true| one can write just |screen|, for example, -% \begin{verbatim} -% \documentclass[acmsmall, screen, review]{acmart} -% \end{verbatim} -% 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 \emph{but} PACM, since -% PACM is now electronic-only. Thus PACM titles~(see -% Table~\ref{tab:pubs}) 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~\ref{sec:ug_bibliography}. -% -% The option |anonymous| is used -% for anonymous review processes and causes all author information to be -% obscured. -% -% 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| \emph{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 -% \cs{balance} command might cause problems. -% -% 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. -% -% \begin{table} -% \centering -% \caption{Boolean options} -% \label{tab:opts_bool} -% \begin{tabularx}{\textwidth}{>{\ttfamily}l>{\ttfamily}lX} -% \toprule -% \normalfont Option & \normalfont Default & Meaning\\ -% \midrule -% review & false & A review version: lines are numbered and -% hyperlinks are colored\\ -% screen & {\rmfamily see text} & A screen version: -% hyperlinks are colored\\ -% natbib & true & Whether to use the |natbib| package (see -% Section~\ref{sec:ug_bibliography})\\ -% anonymous & false & Whether to make author(s) anonymous\\ -% authorversion & false & Whether to generate a special -% version for the authors' personal use or posting (see -% Section~\ref{sec:ug_topmatter})\\ -% nonacm & false & Use the class typesetting options for -% a non-ACM document, which will not include the conference/journal -% header and footers or permission statements\\ -% timestamp & false & Whether to put a time stamp in the -% footer of each page\\ -% authordraft & false & Whether author's-draft mode is enabled\\ -% acmthm & true & Whether to define theorem-like environments, see -% Section~\ref{sec:ug_theorems}\\ -% balance & true & Whether to balance the last page in two column -% mode\\ -% urlbreakonhyphens & true & Whether to break urls on hyphens\\ -% \bottomrule -% \end{tabularx} -% \end{table} -% -% -% -%\subsection{Top matter} -%\label{sec:ug_topmatter} -% -% A number of commands set up \emph{top matter} or (in -% computer science jargon) \emph{metadata} for an article. They -% establish the publication name, article title, authors, DOI and -% other data. Some of these commands, like \cs{title} and \cs{author}, -% should be put by the authors. Others, like \cs{acmVolume} and -% \cs{acmDOI}---by the editors. Below we describe these commands and -% mention who should issue them. These macros should be used -% \emph{before} the \cs{maketitle} command. Note that in previous -% versions of ACM classes some of these commands should be used before -% \cs{maketitle}, and some after it. Now they all must be used before -% \cs{maketitle}. -% -% -% This class internally loads the |amsart| class, so many top-matter -% commands are inherited from |amsart|~\cite{Downes04:amsart}. -% -% \DescribeMacro{\acmJournal}% -% The macro \cs{acmJournal}\marg{shortName} sets the name of the -% journal or transaction for journals and transactions. The argument -% is the short name of the publication \emph{in uppercase}, for -% example, -% \begin{verbatim} -% \acmJournal{TOMS} -% \end{verbatim} -% The currently recognized journals are listed in -% Table~\ref{tab:pubs}. Note that conference proceedings published in -% \emph{book} form do not set this macro. -% -% -% -% \DescribeMacro{\acmConference}% -% The macro -% \cs{acmConference}\oarg{short name}\marg{name}\marg{date}\marg{venue} is -% used for conference proceedings published in the book form. The -% arguments are the following: -% \begin{description} -% \item[short name:] the abbreviated name of the conference (optional). -% \item[name:] the name of the conference. -% \item[date:] the date(s) of the conference. -% \item[venue:] the place of the conference. -% \end{description} -% Examples: -% \begin{verbatim} -% \acmConference[TD'15]{Technical Data Conference}{November -% 12--16}{Dallas, TX, USA} -% \acmConference{SA'15 Art Papers}{November 02--06, 2015}{Kobe, Japan} -% \end{verbatim} -% -% \DescribeMacro{\acmBooktitle}% -% By default we assume that conference proceedings are published -% in the book named \emph{Proceedings of \textsc{CONFERENCE}}, where -% \textsc{CONFERENCE} is the name of the conference inferred from the -% command \cs{acmConference} above. However, sometimes the book title -% is different. The command \cs{acmBooktitle} can be used to set this -% title, for example, -% \begin{verbatim} -% \acmBooktitle{Companion to the first International Conference on the -% Art, Science and Engineering of Programming (Programming '17)} -% \end{verbatim} -% -% An ACM paper should have either \cs{acmJournal} or -% \cs{acmConference} command. If it has both (or more) commands, the -% last one takes precedence. Note that if you have the command -% \cs{acmConference} in a journal format like |acmsmall|, the class -% will use conference format for bibstrip and reference citation -% formatting. In the samples directory there is a file -% |sample-acmsmall-conf.tex| with the example of this usage. -% -% -% -% \DescribeMacro{\editor}% -% In most cases, conference proceedings are edited. You can use the -% command \cs{editor}\marg{editor} to set the editor of the volume. -% This command can be repeated, for example, -% \begin{verbatim} -% \editor{Jennifer B. Sartor} -% \editor{Theo D'Hondt} -% \editor{Wolfgang De Meuter} -% \end{verbatim} -% -% -% \DescribeMacro{\title}% -% The command |\title|, as in the |amsart| class, has two arguments: one -% optional, and one mandatory: -% \begin{flushleft} -% |\title[|\meta{ShortTitle}|]{|\meta{FullTitle}|}| -% \end{flushleft} -% 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. -% -% \DescribeMacro{\subtitle}% -% Besides title, ACM classes allow a subtitle, set with the -% \cs{subtitle}\marg{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 \emph{and} is used by the metadata -% extraction tools for indexing and cataloguing. Therefore it is very -% important to follow the guidelines exactly. -% -% \DescribeMacro{\author}% -% \DescribeMacro{\orcid} -% \DescribeMacro{\affiliation}% -% \DescribeMacro{\email}% -% The basic commands are \cs{author}, \cs{orcid} (for the researchers -% registered with ORCID, \url{http://www.orcid.org/}), \cs{affiliation} and -% \cs{email}. In the simplest case, you enter them in this order: -% \begin{verbatim} -% \author{...} -% \orcid{...} -% \affiliation{...} -% \email{...} -% \end{verbatim} -% Do \emph{not} use the \LaTeX\ \cs{and} macro or commas, or \verb|\\| -% between the authors! Each author deserves his or -% her own \cs{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. -% -% Sometimes an author has several affiliations. In this case, the -% \cs{affiliation} command should be repeated: -% \begin{verbatim} -% \author{...} -% \orcid{...} -% \affiliation{...} -% \affiliation{...} -% \email{...} -% \end{verbatim} -% Similarly you can repeat the \cs{email} command. -% -% You may have several authors with the same affiliation, different -% affiliations, or overlapping affiliations (author~$A_1$ is affiliated -% with institutions $I_1$ and $I_2$, while author $A_2$ is affiliated -% with $I_2$ only, author $A_3$ is affiliated with -% $I_1$ and $I_3$, etc.). The recommended solution is to put the -% \cs{affiliation} commands after each author, possibly repeating them: -% \begin{verbatim} -% \author{...} -% \orcid{...} -% \affiliation{...} -% \affiliation{...} -% \email{...} -% \author{...} -% \orcid{...} -% \affiliation{...} -% \email{...} -% \author{...} -% \orcid{...} -% \affiliation{...} -% \affiliation{...} -% \email{...} -% \end{verbatim} -% In some cases, when several authors share the same affiliation, you can -% try to save space using the format -% \begin{verbatim} -% \author{...} -% \email{...} -% \author{...} -% \email{...} -% \affiliation{...} -% \end{verbatim} -% However, this format is not generally recommended. -% -% \DescribeMacro{\additionalaffiliation}% -% In some cases, too many affiliations can take too much space. The -% command \cs{additionalaffiliation}\marg{affiliation} creates a -% footnote after an author's name with the words ``Also with -% \marg{affiliation}''. You should use this command only as a last -% resort. An example of usage is: -% \begin{verbatim} -% \author{G. Tobin} -% \author{Ben Trovato} -% \additionalaffiliation{% -% \institution{The Th{\o}rv{\"a}ld Group} -% \streetaddress{1 Th{\o}rv{\"a}ld Circle} -% \city{Hekla} -% \country{Iceland}} -% \affiliation{% -% \institution{Institute for Clarity in Documentation} -% \streetaddress{P.O. Box 1212} -% \city{Dublin} -% \state{Ohio} -% \postcode{43017-6221}} -% \end{verbatim} -% Here Trovato and Tobin share their affiliation with the Institute -% for Clarity in Documentation, but only Ben Trovato is affiliated -% with The Th{\o}rv{\"a}ld Group. -% -% -% \DescribeMacro{\position}% -% \DescribeMacro{\institution}% -% \DescribeMacro{\department}% -% \DescribeMacro{\streetaddress}% -% \DescribeMacro{\city}% -% \DescribeMacro{\state}% -% \DescribeMacro{\postcode}% -% \DescribeMacro{\country}% -% The \cs{affiliation} and \cs{additionalaffiliation} commands are -% further structured to interact with the metadata extraction tools. -% Inside these commands you should use the \cs{position}, -% \cs{institution}, \cs{department}, \cs{city}, \cs{streetaddress}, -% \cs{state}, \cs{postcode} and \cs{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 \emph{are} necessary since they are used by the XML -% metadata extraction programs. Do \emph{not} put commas or |\\| -% between the elements of \cs{affiliation}. They will be provided -% automatically. -% -% The fields \cs{institution}, \cs{city} and \cs{country} are -% mandatory. If they are not provided, an error or a warning is -% issued. Currently the absence of \cs{country} produces and error; -% ACM may change this in the future. -% -% -% An example of the author block: -% \begin{verbatim} -% \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{author@nsw.au.edu} -% \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}} -% \end{verbatim} -% -% 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 \cs{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 -% \begin{verbatim} -% \affiliation{% -% \department[0]{Department of Lunar Studies} % 0 is the default -% \department[1]{John Doe Institute} % higher than 0 -% \institution{University of San Serriffe} -% \country{San Serriffe}} -% \end{verbatim} -% and -% \begin{verbatim} -% \affiliation{% -% \department{Department of Lunar Studies} % Not in the John Doe Institute! -% \department{John Doe Institute} -% \institution{University of San Serriffe} -% \country{San Serriffe}} -% \end{verbatim} -% -% -% The command \cs{affiliation} formats its output according to -% American conventions. This might be wrong for some cases. -% Consider, for example, a German address. In Germany, the postcode is -% put before the city and is not separated by a comma. We can handle this -% order using -% \begin{verbatim} -% \affiliation{% -% \institution{Fluginstitut} -% \streetaddress{Sonnenallee 17} -% \postcode{123456} -% \city{Helm} -% \country{Germany}} -% \end{verbatim} -% However, the comma after the postcode is unfortunate: the address will -% be typeset (in some formats) as -% \begin{verbatim} -% Fluginstitut -% Sonenallee 17 -% 123456, Helm, Germany -% \end{verbatim} -% -% -% To overcome this problem, the command \cs{affiliation} has an -% optional parameter |obeypunctuation|, which can be |false| (the -% default) or |true|. If this parameter is |true|, \cs{afffiliation} -% obeys the author's command. Thus -% \begin{verbatim} -% \affiliation[obeypunctuation=true]{% -% \institution{Fluginstitut}\\ -% \streetaddress{Sonnenallee 17}\\ -% \postcode{123456} -% \city{Helm}, -% \country{Germany}} -% \end{verbatim} -% will be typeset as -% \begin{verbatim} -% Fluginstitut -% Sonenallee 17 -% 123456 Helm, Germany -% \end{verbatim} -% -% Note that you should \emph{not} use this option for journals. -% -% It is expected that these commands are inserted by the author of the -% manuscript. -% -% \DescribeMacro{\thanks}% -% Like |amsart| (and unlike standard \LaTeX{}), we allow -% |\thanks| only \emph{outside} of the commands |\title| and |\author|. -% This command is obsolete and should \emph{not} be used in most -% cases. Do not list your acknowledgments or grant sponsors here. -% Put this information in the |acks| environment (see -% Section~\ref{sec:ug_acks}). -% -% \DescribeMacro{\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 \cs{authorsaddresses}\marg{contact addresses}, for example, -% \begin{verbatim} -% \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.} -% \end{verbatim} -% You can \emph{suppress} printing authors' addresses by setting them -% to an empty string: |\authorsaddresses{}|. Please note that -% authors' addresses are mandatory for journal articles. -% -% \DescribeMacro{\titlenote}% -% \DescribeMacro{\subtitlenote}% -% \DescribeMacro{\authornote}% -% While the command \cs{thanks} generates a note without a footnote -% mark, sometimes the authors might need notes more tightly connected -% to the title, subtitle or author. The commands \cs{titlenote}, -% \cs{subtitlenote} and \cs{authornote} that follow the corresponding -% commands (\cs{title}, \cs{subtitle} and \cs{author}) generate such -% notes. For example, -% \begin{verbatim} -% \title{This is a title} -% \titlenote{This is a titlenote} -% \author{A. U. Thor} -% \authornote{This is an authornote} -% \end{verbatim} -% -% Please never use a \cs{footnote} inside an \cs{author} or \cs{title} -% command since this confuses the metadata extraction software. (Actually -% these commands now produce errors.) -% -% \DescribeMacro{\authornotemark}% -% Sometimes one may need to have the same footnote connected to -% several authors. The command \cs{authornotemark}\oarg{number} adds -% just the footnote mark, for example, -% \begin{verbatim} -% \author{A. U. Thor} -% \authornote{Both authors contributed equally to the paper} -% ... -% \author{A. N. Other} -% \authornotemark[1] -% \end{verbatim} -% The correct numbering of these marks is the responsibility of the -% user. -% -% \DescribeMacro{\acmVolume}% -% \DescribeMacro{\acmNumber}% -% \DescribeMacro{\acmArticle}% -% \DescribeMacro{\acmYear}% -% \DescribeMacro{\acmMonth}% -% The macros \cs{acmVolume}, \cs{acmNumber}, \cs{acmArticle}, -% \cs{acmYear} and \cs{acmMonth} are inserted by the editor and set -% the journal volume, issue, article number, year and month -% corrspondingly. The arguments of all these commands, including -% \cs{acmMonth}, is numerical. For example, -% \begin{verbatim} -% \acmVolume{9} -% \acmNumber{4} -% \acmArticle{39} -% \acmYear{2010} -% \acmMonth{3} -% \end{verbatim} -% Note that \cs{acmArticle} is used not only for journals but also -% for some conference proceedings. -% -% \DescribeMacro{\acmArticleSeq}% -% The articles in the same issue of a journal have a \emph{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 \cs{acmArticleSeq}\marg{n} can be used to change it: -% \begin{verbatim} -% \acmArticle{39} % The sequence number will be 39 by default -% \acmArticleSeq{5} % We redefine it to 5 -% \end{verbatim} -% Setting this number to zero suppresses the blob. -% -% \DescribeMacro{\acmSubmissionID}% -% If your paper got a Submission~ID from the Conference Management -% System, put it here: -% \begin{verbatim} -% \acmSubmissionID{123-A56-BU3} -% \end{verbatim} -% -% -% \DescribeMacro{\acmPrice}% -% The macro \cs{acmPrice}\marg{price} sets the price for the article, -% for example, -% \begin{verbatim} -% \acmPrice{25.00} -% \end{verbatim} -% 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 \emph{after} the \cs{setcopyright} command. Also, the -% command |\acmPrice{}| suppresses the printing of the price. -% -% \DescribeMacro{\acmISBN}% -% Book-like volumes have ISBN numbers attached to them. The macro -% \cs{acmISBN}\marg{ISBN} sets it. Normally it is set by the -% typesetter, for example, -% \begin{verbatim} -% \acmISBN{978-1-4503-3916-2} -% \end{verbatim} -% Setting it to the empty string, as |\acmISBN{}|, suppresses printing the -% ISBN. -% -% \DescribeMacro{\acmDOI}% -% The macro \cs{acmDOI}\marg{DOI} sets the DOI of the article, for -% example, -% \begin{verbatim} -% \acmDOI{10.1145/9999997.9999999} -% \end{verbatim} -% It is normally set by the typesetter. Setting it to the empty -% string, as |\acmDOI{}|, suppresses the DOI. -% -% -% \DescribeMacro{\acmBadgeR}% -% \DescribeMacro{\acmBadgeL}% -% Some conference articles get special distinctions, for example, the -% artifact evaluation for PPoPP~2016 -% (see~\url{http://ctuning.org/ae/ppopp2016.html}). These articles -% display special badges supplied by the conference organizers. This -% class provides commands to add these badges: -% \cs{acmBadgeR}\oarg{url}\marg{graphics} and -% \cs{acmBadgeL}\oarg{url}\marg{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: \oarg{url}, if provided, -% sets the link to the badge authority in the screen version, while -% \marg{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 -% \begin{verbatim} -% \acmBadgeR[http://ctuning.org/ae/ppopp2016.html]{ae-logo} -% \end{verbatim} -% -% -% -% \DescribeMacro{\startPage}% -% The macro \cs{startPage}\marg{page} sets the first page of the -% article in a journal or book. It is used by the typesetter. -% -% -% \DescribeMacro{\terms}% -% \DescribeMacro{\keywords}% -% The command -% \cs{keywords}\marg{keyword, keyword,\ldots} sets keywords for the -% article. They must be -% separated by commas, for example, -% \begin{verbatim} -% \keywords{wireless sensor networks, media access control, -% multi-channel, radio interference, time synchronization} -% \end{verbatim} -% -% \DescribeEnv{CCSXML}% -% \DescribeMacro{\ccsdesc}% -% ACM publications are classified according to the ACM Computing -% Classification Scheme (CCS). CCS codes are used both in the typeset -% version of the publications \emph{and} in the metadata in various -% databases. Therefore you need to provide both \TeX\ commands and XML -% metadata with the paper. -% -% The tool at \url{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{verbatim} -% \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} -% -% \ccsdesc[500]{Computer systems organization~Embedded systems} -% \ccsdesc[300]{Computer systems organization~Redundancy} -% \ccsdesc{Computer systems organization~Robotics} -% \ccsdesc[100]{Networks~Network reliability} -% \end{verbatim} -% -% You just need to copy this code and paste it in your paper anywhere -% before \verb|\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). -% -% \DescribeMacro{\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 command -% \verb|\setcopyright{...}| is introduced. Its argument is the -% copyright status of the paper, for example, -% \verb|\setcopyright{acmcopyright}|. The possible values for this -% command are listed in Table~\ref{tab:setcopyright}. This command -% must be placed in the preamble, before |\begin{document}|. -% -% \begin{table} -% \centering -% \caption{Parameters for the \texttt{\textbackslash setcopyright} command} -% \label{tab:setcopyright} -% \begin{tabularx}{\textwidth}{lX} -% \toprule -% Parameter & Meaning\\ -% \midrule -% \texttt{none} & The copyright and permission information is not -% typeset. (This is the option for some ACM conferences.) \\ -% \texttt{acmcopyright} & The authors transfer the copyright to the -% ACM (the ``traditional'' choice).\\ -% \texttt{acmlicensed} & The authors retain the copyright but -% license the publication rights to ACM\@. \\ -% \texttt{rightsretained} & The authors retain the copyright and -% publication rights to themselves or somebody else. \\ -% \texttt{usgov} & All the authors are employees of the US -% government. \\ -% \texttt{usgovmixed} & Some authors are employees of the US -% government. \\ -% \texttt{cagov} & All the authors are employees of the Canadian -% government. \\ -% \texttt{cagovmixed} & Some authors are employees of the Canadian -% government. \\ -% \texttt{licensedusgovmixed} & Some authors are employees of the US -% government, and the publication rights are licensed to ACM\@. \\ -% \texttt{licensedcagov} & All the authors are employees of the Canadian -% government, and the publication rights are licensed to ACM\@. \\ -% \texttt{licensedcagovmixed} & Some authors are employees of the -% Canadian -% government, and the publication rights are licensed to ACM\@. \\ -% \texttt{othergov} & Authors are employees of a -% government other than the US or Canada. \\ -% \texttt{licensedothergov} & Authors are employees of a -% government other than the US or Canada, and the publication rights -% are licensed to ACM\@. \\ -% \texttt{iw3c2w3} & Special statement for conferences organized -% by IW3C2.\\ -% \texttt{iw3c2w3g} & Special statement for conferences organized -% by IW3C2, when some authors are approved Google employees.\\ -% \bottomrule -% \end{tabularx} -% \end{table} -% The ACM submission software should generate the right command for you -% to paste into your file. -% -% -% \DescribeMacro{\copyrightyear}% -% Each copyright statement must have the year of copyright. By -% default it is the same as \cs{acmYear}, but you can override this -% using the macro \cs{copyrightyear}, e.g., -% \begin{verbatim} -% \acmYear{2016} -% \copyrightyear{2015} -% \end{verbatim} -% -% 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 \cs{setcopyright} command and (optionally) -% \cs{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. -% -% \DescribeEnv{abstract}% -% The environment |abstract| must \emph{precede} the \cs{maketitle} -% command. Again, this is different from the standard \LaTeX. -% Putting |abstract| after \cs{maketitle} will trigger an error. -% -% -% \DescribeEnv{teaserfigure}% -% 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 environment |teaserfigure| is used for these -% figures. This environment must be used \emph{before} -% \cs{maketitle}, for example, -% \begin{verbatim} -% \begin{teaserfigure} -% \includegraphics[width=\textwidth]{sampleteaser} -% \caption{This is a teaser} -% \label{fig:teaser} -% \end{teaserfigure} -% \end{verbatim} -% -% -% \DescribeMacro{\settopmatter}% -% Some information in the top matter is printed for certain journals -% or proceedings and suppressed for others. You can override these -% defaults using the command \cs{settopmatter}\marg{settings}. The -% settings and their meanings are listed in -% Table~\ref{tab:settopmatter}. For example, -% \begin{verbatim} -% \settopmatter{printacmref=false, printccs=true, printfolios=true} -% \end{verbatim} -% The parameter |authorsperrow| requires some explanation. In -% conference proceedings authors' information is typeset in boxes, -% several boxes per row (see |sample-sigconf.pdf|, -% |sample-sigplan.pdf|, etc.). The number of boxes per row is -% determined automatically. If you want to override this, -% you can do it using this parameter, for example, -% \begin{verbatim} -% \settopmatter{authorsperrow=4} -% \end{verbatim} -% However, in most cases you should \emph{not} do this and should use the -% default settings. Setting |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). -% -% \begin{table} -% \centering -% \caption{Settings for the \cs{settopmatter} command} -% \label{tab:settopmatter} -% \begin{tabularx}{\textwidth}{llX} -% \toprule -% Parameter & Values & Meaning\\ -% \midrule -% |printccs| & true/false & Whether to print CCS categories\\ -% |printacmref| & true/false & Whether to print the ACM bibliographic -% entry\\ -% |printfolios| & true/false & Whether to print page numbers -% (folios)\\ -% |authorsperrow| & numeric & Number of authors per row for the title -% page in -% conference proceedings formats\\ -% \bottomrule -% \end{tabularx} -% \end{table} -% -% -% \DescribeMacro{\received}% -% The command \cs{received}\oarg{stage}\marg{date} sets the history of -% the publication. The~\oarg{stage} argument is optional; the default -% is |Received| for the first date and |revised| for the subsequent -% ones. For example, -% \begin{verbatim} -% \received{February 2007} -% \received[revised]{March 2009} -% \received[accepted]{June 2009} -% \end{verbatim} -% -% -% \DescribeMacro{\maketitle}% -% The macro \cs{maketitle} must be the last command in the top-matter -% group. That is it must follow the commands defined in this section. -% -% -% \DescribeMacro{\shortauthors}% -% \emph{After} the command \cs{maketitle}, the macro \cs{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., -% \begin{verbatim} -% \maketitle -% \renewcommand{\shortauthors}{Zhou et al.} -% \end{verbatim} -% -% -%\subsection{Algorithms} -%\label{sec:ug_algorithms} -% -% There are now several good packages for typesetting -% algorithms~\cite{Fiorio15, Brito09, Heinz15}, and the authors are -% free to choose their favorite one. -% -% -% -%\subsection{Figures and tables} -%\label{sec:ug_floats} -% -% The new ACM styles use the standard \LaTeX\ interface for figures and -% tables. There are some important items to be aware of, however. -% -% \begin{enumerate} -% \item The captions for figures must be entered \emph{after} the -% figure bodies and for tables \emph{before} the table bodies. -% \item The ACM uses the standard types for figures and tables and adds -% several new ones. In total there are the following types: -% \begin{description} -% \item[figure, table:] a standard figure or table taking a full text -% width in one-column formats and one column width in two-column formats. -% \item[figure*, table*] in two-column formats, a special figure or -% table taking a full text width. -% \item[teaserfigure:] a special figure before \cs{maketitle}. -% \end{description} -% -% \item Accordingly, when scaling images, one should use the -% following sizes: -% \begin{enumerate} -% \item For |teaserfigure|, |figure| in one-column mode or |figure*| in -% two-column mode, use \cs{textwidth}. In one-column mode, you can also -% use \cs{columnwidth}, which coincides with \cs{textwidth} in this -% case. -% \item For |figure| in two-column mode, use \cs{columnwidth}. -% \end{enumerate} -% -% \end{enumerate} -% -% It is strongly recommended to use the package |booktabs|~\cite{Fear05} -% and follow its main principles of typography with respect to tables: -% \begin{enumerate} -% \item Never, ever use vertical rules. -% \item Never use double rules. -% \end{enumerate} -% It is also a good idea not to overuse horizontal rules. -% -% For table \emph{footnotes} you have several options described in the TeX -% FAQ~\cite{TeXFAQ}. The simplest one is to use a \cs{minipage} -% environment: -% \begin{verbatim} -% \begin{table} -% \caption{Simulation Configuration} -% \label{tab:conf} -% \begin{minipage}{\columnwidth} -% \begin{center} -% \begin{tabular}{ll} -% \toprule -% TERRAIN\footnote{This is a table footnote. This is a -% table footnote. This is a table footnote.} & -% (200\,m$\times$200\,m) Square\\ -% Node Number & 289\\ -% Node Placement & Uniform\\ -% Application & Many-to-Many/Gossip CBR Streams\\ -% Payload Size & 32 bytes\\ -% Routing Layer & GF\\ -% MAC Layer & CSMA/MMSN\\ -% Radio Layer & RADIO-ACCNOISE\\ -% Radio Bandwidth & 250Kbps\\ -% Radio Range & 20m--45m\\ -% \bottomrule -% \end{tabular} -% \end{center} -% \bigskip -% \footnotesize\emph{Source:} This is a table -% sourcenote. This is a table sourcenote. This is a table -% sourcenote. -% -% \emph{Note:} This is a table footnote. -% \end{minipage} -% \end{table} -% \end{verbatim} -% -% -% 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 \cs{minipage} of the width \cs{columnwidth}. -% -% -%\subsection{Descriptions of images} -%\label{sec:descriptions} -% -% \DescribeMacro{\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 \cs{Description}\oarg{short description}\marg{long -% description} should be placed inside every \texttt{figure}, -% \texttt{teaserfigure} or \texttt{marginfigure} environment to -% provide a description of the image(s) used in the figure. Unlike -% \cs{caption}, which is used alongside the image, \cs{Description} is -% intended to be used instead of the image, for example, -% \begin{verbatim} -% \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} -% \end{verbatim} -% At present the lack of descriptions generates a warning at -% compilation. -% -%\subsection{Theorems} -%\label{sec:ug_theorems} -% -% The ACM classes define two theorem styles and several pre-defined -% theorem environments: -% \begin{description} -% \item[acmplain:] this is the style used for -% |theorem|, -% |conjecture|, -% |proposition|, -% |lemma| and -% |corollary|, and -% \item[acmdefinition:] this is the style used for -% |example| and -% |definition|. -% \end{description} -% -% -% 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. -% -%\subsection{Online-only and offline-only material} -%\label{sec:ug_screen} -% -% \DescribeEnv{printonly}% -% \DescribeEnv{screenonly}% -% Some supplementary material in ACM publications is put online but -% not in the printed version. The text inside the environment -% |screenonly| will be typeset only when the option |screen| (see -% Section~\ref{sec:invocation}) is set to |true|. Conversely, the -% text inside the environment |printonly| is typeset only when this -% option is set to |false|. For example, -% \begin{verbatim} -% \section{Supplementary materials} -% -% \begin{printonly} -% Supplementary materials are available in the online version of this paper. -% \end{printonly} -% -% \begin{screenonly} -% (The actual supplementary materials.) -% \end{screenonly} -% \end{verbatim} -% -% 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. -% -%\subsection{Note about anonymous mode} -%\label{sec:ug_anonymous} -% -% \DescribeEnv{anonsuppress}% -% When the option |anonymous| is selected, \TeX\ suppresses author -% information (including the number of authors) for a blind review. -% However, sometimes the information identifying the authors may be -% present in the body of the paper. For example, -% \begin{verbatim} -% \begin{anonsuppress} -% This is the continuation of the previous work by the author -% \cite{prev1, prev2}. -% \end{anonsuppress} -% \end{verbatim} -% -% As for the |printonly| and |screenonly| environments, -% |\begin{anonsuppress}| and |\end{anonsuppress}| should start on a -% line of their own with no leading or trailing spaces. -% -%\subsection{Acknowledgments} -%\label{sec:ug_acks} -% -% The traditional ``Acknowledgments'' section is conventionally used -% to thank persons and granting agencies for their help and support. -% However, there are several important considerations about this -% section. -% -% First, in anonymous mode this section must be omitted: it gives -% too much information to reviewers. Second, data about -% grants is extracted and stored separately by the postprocessing -% software. ACM classes provide facilities for both these tasks. -% -% \DescribeEnv{acks}% -% 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. -% -% \DescribeMacro{\grantsponsor}% -% \DescribeMacro{\grantnum}% -% All financial support \emph{must} be listed using the commands -% \cs{grantsponsor} and \cs{grantnum}. These commands tell the -% postprocessing software about the granting organization and -% grant. The format of these commands is the following: -% \begin{quote} -% \cs{grantsponsor}\marg{sponsorID}\marg{name}\marg{url}\\ -% \cs{grantnum}\oarg{url}\marg{sponsorID}\marg{number}. -% \end{quote} -% Here \marg{sponsorID} is the unique ID used to match grants to -% sponsors, \marg{name} is the name of the sponsor, \marg{url} is its -% URL, and \marg{number} is the grant number. The \marg{sponsorID} of -% the \cs{grantnum} command must correspond to the \marg{sponsorID} of a -% \cs{grantsponsor} command. Some awards have their own web pages, -% which you can include using the optional argument of the \cs{grantnum} -% command. -% -% At present \marg{sponsorID} is chosen by the authors and can be an -% arbitrary key in the same way the label of a \cs{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{verbatim} -% \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} -% \end{verbatim} -% -% -%\subsection{Bibliography} -%\label{sec:ug_bibliography} -% -% The ACM uses the |natbib| package for formatting references and -% the Bib\TeX\ style file \path{ACM-Reference-Format.bst} for Bib\TeX\ -% processing. You can disable loading of |natbib| using the -% option |natbib=false| in \cs{documentclass}. However, it is not -% recommended, as well as the use of Bib\TeX\ styles other than -% \path{ACM-Reference-Format.bst}, and may delay the processing of the -% manuscript. -% -% -% \DescribeMacro{\citestyle}% -% If you use |natbib|, you can select one of two predefined citation -% styles using the command \cs{citestyle}: the author-year format -% |acmauthoryear| or the numeric format |acmnumeric|. For example, -% \begin{verbatim} -% \citestyle{acmauthoryear} -% \end{verbatim} -% Note that numeric citations are the default mode for most formats. -% -% \DescribeMacro{\setcitestyle}% -% You can further customize |natbib| using -% the \cs{setcitestyle} command, for example, -% \begin{verbatim} -% \setcitestyle{numbers,sort&compress} -% \end{verbatim} -% -% One of the more common versions is -% \begin{verbatim} -% \setcitestyle{nosort} -% \end{verbatim} -% It is useful if you do not like the way |natbib| sorts citation -% lists. -% -% If you use |natbib|, then commands like \cs{citep} and -% \cs{citeauthor} are automatically supported. The command -% \cs{shortcite} is the same as \cs{cite} in numerical mode and cites -% the year in author-date mode. -% -% Note that before version~1.48 the command \cs{citeyear} put the year -% in parentheses. In version~1.48 and later it produces just the -% year; the command \cs{citeyearpar} can be used to emulate its old -% behavior. -% -% There are several customized \BibTeX\ entry types and fields in the ACM -% style file \path{ACM-Reference-Format.bst} that you may want to be -% aware of. -% -% The style supports the fields \path{doi} and \path{url}, for example, -% \begin{verbatim} -% doi = "10.1145/1188913.1188915", -% url = "http://ccrma.stanford.edu/~jos/bayes/bayes.pdf", -% \end{verbatim} -% -% The style supports the arXiv-recommended fields \path{eprint} and -% (optionally) \path{primaryclass}, for example, -% \begin{verbatim} -% eprint = "960935712", -% primaryclass = "cs", -% \end{verbatim} -% See the examples at \url{http://arxiv.org/hypertex/bibstyles/}. -% -% There are several special entry types. Types \path{online} and -% \path{game} are used for Web pages and games, for example, -% \begin{verbatim} -% @online{Thornburg01, -% author = "Harry Thornburg", -% year = "2001", -% title = "Introduction to Bayesian Statistics", -% url = "http://ccrma.stanford.edu/~jos/bayes/bayes.html", -% month = mar, -% lastaccessed = "March 2, 2005", -% } -% \end{verbatim} -% Entry types \path{artifactsoftware}, \path{artifactdataset} -% (with synonyms \path{software} and \path{dataset}) can be used to -% cite software artifacts and datasets, for example, -% \begin{verbatim} -% @ArtifactSoftware{R, -% title = {R: A Language and Environment for Statistical Computing}, -% author = {{R Core Team}}, -% organization = {R Foundation for Statistical Computing}, -% address = {Vienna, Austria}, -% year = {2019}, -% url = {https://www.R-project.org/}, -%} -% @ArtifactDataset{UMassCitations, -% author = {Sam Anzaroot and Andrew McCallum}, -% title = {{UMass} Citation Field Extraction Dataset}, -% year = 2013, -% url = -% {http://www.iesl.cs.umass.edu/data/data-umasscitationfield}, -% lastaccessed = {May 27, 2019} -% } -% \end{verbatim} -% -% -% For these entry types you can use the \path{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 \path{online} -% entry and set its \path{howpublished} field. For example, -% \begin{verbatim} -% @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", -% } -% \end{verbatim} -% -% For sources available as attachments to conference proceedings -% and similar documents, you can use the usual \path{inproceedings} -% entry type and set its \path{howpublished} field: -% \begin{verbatim} -% @Inproceedings{Novak03, -% author = "Dave Novak", -% title = "Solder man", -% booktitle = "ACM SIGGRAPH 2003 Video Review on Animation theater Program", -% year = "2003", -% publisher = "ACM Press", -% address = "New York, NY", -% pages = "4", -% month = "March 21, 2008", -% doi = "10.9999/woot07-S422", -% howpublished = "Video", -% } -% \end{verbatim} -% -% Sometimes you need to cite a complete issue of a journal. The -% \path{periodical} entry type is intended for this: -% \begin{verbatim} -% @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", -% } -% \end{verbatim} -% -% If you do not know the year of publication, the style will add -% ``[n.\,d.]'' (for ``no date'') to the entry. -% -% 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, -% \begin{verbatim} -% @online{TUGInstmem, -% key = {TUG}, -% year = 2017, -% title = "Institutional members of the {\TeX} Users Group", -% url = "http://wwtug.org/instmem.html", -% lastaccessed = "May 27, 2017", -% } -% \end{verbatim} -% -% 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. \url{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 -% \texttt{.bib} file the line -% \begin{verbatim} -% @PREAMBLE{"\providecommand{\noopsort}[1]{}"} -% \end{verbatim} -% and then encode the author as -% \begin{verbatim} -% author = {Ludwig {\noopsort{Beethoven}}van Beethoven}, -% \end{verbatim} -% This will make the author to be sorted as ``Beethoven'' rather than -% ``van Beethoven''. -% -%\subsection{Colors} -%\label{sec:ug_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~\cite{ACMIdentityStandards}: |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: -% \begin{enumerate} -% \item 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. -% \item The most common type of acquired Color Vision Deficiency (CVD) -% is blue-yellow (including mild cases for many older adults). -% \item Most printing is in black and white. -% \item Situational impairments (e.g., bright sunlight shining on a -% mobile screen) tend to reduce the entire color gamut, reducing color -% discriminability. -% \end{enumerate} -% -% \textbf{Note:} It is \emph{not} safe to encode information using -% only variations in color (i.e., only differences in hue and/or -% saturation) as there is bound to be someone affected! -% -% To ensure that you are using the most accessible colors, the ACM -% recommends that you choose sets of colors to help ensure suitable -% variations in when printed in greyscale by using either of the following tools: -% \begin{enumerate} -% \item ColourBrewer: \url{http://colorbrewer2.org/} -% \item ACE: The Accessible Colour Evaluator: -% \url{http://daprlab.com/ace/} for designing WCAG 2.0 compliant -% palettes. -% \end{enumerate} -% -% -%\subsection{Other notable packages and typographic remarks} -%\label{sec:ug_other} -% -% Several other packages are recommended for specialized tasks. -% -% The package |subcaption|~\cite{Sommerfeldt13:Subcaption} is -% recommended for complex figures with several subplots or subfigures -% that require separate subcaptioning. The packages -% |nomencl|~\cite{Nomencl} and -% |glossaries|~\cite{Talbot16:Glossaries} can be used for the -% automatic creation of the lists of symbols and concepts used. -% -% -% 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 -% \begin{verbatim} -% \widowpenalty=10000 -% \clubpenalty=10000 -% \brokenpenalty=10000 -% \end{verbatim} -% 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 \cs{sloppy} command or putting the -% problematic paragraph inside \texttt{sloppypar} environment might -% help---but beware, the results might be, well, sloppy. -% -% Note that the uppercasing in section titles is done using -% the |textcase| package~\cite{Carlisle04:Textcase}, so the command -% \cs{NoCaseChange} inside the title may help to prevent extraneous -% uppercasing. -% -% -% -%\subsection{Disabled or forbidden commands} -%\label{sec:ug_disabled} -% -% The goal of |acmart| package is to provide a uniform look and feel -% for ACM publications. Accordingly, a number of commands is -% forbidden or disabled in |acmart|. -% -% You may \emph{not} put several authors or several e-mails into a -% \cs{author} or \cs{email} command. This may lead to errors or -% warning. -% -% You cannot change \cs{baselinestretch} in your document: this -% produces an error. -% -% You should not abuse the command \cs{vspace}: this command may -% disturb the typesetting of ACM papers. -% -% You should not load |amssymb| package since the package |acmart| -% defines the corresponding symbols itself. -% -%\subsection{Notes for wizards} -%\label{sec:ug_preload} -% -% Sometimes you need to change the behavior of |acmart|. The -% usual way to do this is to redefine commands in the preamble. -% However, these definitions are executed \emph{after} |acmart| is -% loaded and certain decisions are made. This presents a number of -% problems. -% -% For example, one may want to use the |titletoc| package with |acmart|. -% This package should be loaded before |hyperref|. However, since -% |acmart| loads |hyperref| itself, the line |\usepackage{titletoc}| -% in the preamble will lead to grief (see -% \url{http://tex.stackexchange.com/questions/357265/using-titletoc-with-acm-acmart-style}). -% -% Another example is passing options to a package. Suppose you want to -% use the |dvipsnames| option of the |xcolor| package. Normally you cannot do -% this because |acmart| loads this package itself without options. -% -% The file |acmart-preload-hook.tex| can be used to solve these -% problems. If this file exists, it will be processed before any other -% package. You can use this file to load packages or pass options to -% them. For example, if you put in this file -% \begin{verbatim} -% \let\LoadClassOrig\LoadClass -% \renewcommand\LoadClass[2][]{\LoadClassOrig[#1]{#2}% -% \usepackage{titletoc}} -% \end{verbatim} -% then |titletoc| will be loaded before |hyperref|. If you put in -% this file -% \begin{verbatim} -% \PassOptionsToPackage{dvipsnames}{xcolor} -% \end{verbatim} -% you will pass |dvipsnames| to |xcolor|. -% -% \textbf{Important note.} This hook makes it too easy to create a -% manuscript that is not acceptable by the ACM. It is even easier to -% create a file that cannot be compiled. So please do not use it -% \emph{unless you know what you are doing.} And if you use it, -% \emph{do not ask for support.} If you decide to use this hook, you -% are on your own. -% -% \DescribeMacro{\AtBeginMaketitle}% -% Another hook is \cs{AtBeginMaketitle}. The commands in this hook -% are executed before \cs{maketitle}, for example, -% \begin{verbatim} -% \AtBeginMaketitle{\acmPrice{125.00}} -% \end{verbatim} -% -% -%\subsection{Currently supported publications} -%\label{sec:pubs} -% -%\bgroup\centering -% \begin{longtable}{>{\ttfamily}p{0.2\textwidth}@{}p{0.8\textwidth}} -% \caption{ACM publications and arguments of the \cs{acmJournal} -% command} -% \label{tab:pubs}\\ -% \toprule -% \normalfont Abbreviation & Publication \\ -% \midrule -% \endfirsthead -% \caption[]{ACM publications and arguments of the \cs{acmJournal} -% command (continued)}\\ -% \toprule -% \normalfont Abbreviation & Publication \\ -% \midrule -% \endhead -% \bottomrule -% \endfoot -% CIE & ACM Computers in Entertainment \\ -% CSUR & ACM Computing Surveys\\ -% DGOV & Digital Government: Research and Practice \\ -% DTRAP & Digital Threats: Research and Practice\\ -% HEALTH & ACM Transactions on Computing for Healthcare\\ -% IMWUT & PACM on Interactive, Mobile, Wearable and Ubiquitous -% Technologies\\ -% JACM & Journal of the ACM \\ -% JDIQ & ACM Journal of Data and Information Quality \\ -% 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 \\ -% PACMCGIT & Proceedings of the ACM on Computer Graphics and -% Interactive Techniques\\ -% PACMHCI & PACM on Human-Computer Interaction\\ -% 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\\ -% 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 Computing 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\\ -% 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\\ -% \end{longtable} -%\egroup -% -% Besides the publications listed in Table~\ref{tab:pubs}, there is a -% special ``publication'' type FACMP, a forthcoming ACM publication, -% reserved for new journals which are not assigned an ISSN yet. -% -% -%\subsection{A note about \texttt{sigchi-a} format} -%\label{sec:sigchi-a} -% -% Starting in Spring 2020 ACM retired SIGCHI Extended Abstract format -% (|sigchi-a|). ACM will not, under any circumstances, accept -% documents in this format for publication and will not offer -% technical support to the authors who use this template. -% -% You may use this format in the |nonacm| mode only, as in -% \begin{verbatim} -% \documentclass[sigchi-a, nonacm]{acmart} -% \end{verbatim} -% -% -% -% \DescribeEnv{sidebar}% -% \DescribeEnv{marginfigure}% -% \DescribeEnv{margintable}% -% This format has large margin uses for special figures and -% tables. This package provides three environments for this with -% optional captions: -% \begin{description} -% \item[sidebar:] textual information in the margin, -% \item[marginfigure:] a figure in the margin, -% \item[margintable:] a table in the margin. -% \end{description} -% -% The environments |figure| and |table| produce figures and tables -% with the width of the text column. The environments |figure*| and -% |table*| produce ``wide'' figures and tables, which take a large -% part of the margin. -% -% The horizontal sizes of figures are: -% \begin{enumerate} -% \item |figure|: \cs{columnwidth}, -% \item |marginfigure|: \cs{marginparwidth}, -% \item |figure*|: \cs{fulltextwidth}. -% \end{enumerate} -% -% -% -% \StopEventually{ -% \clearpage -% \bibliography{acmart} -% \bibliographystyle{unsrt}} -% -% \clearpage -% -% -%\section{Implementation} -%\label{sec:impl} -% -%\subsection{Identification} -%\label{sec:ident} -% -% We start with a declaration of who we are. Most |.dtx| files put -% driver code in a separate~|.drv| driver file. We roll this code into the -% main file and use the pseudo-guard |<gobble>| for it. -% \begin{macrocode} -%<class>\NeedsTeXFormat{LaTeX2e} -%<*gobble> -\ProvidesFile{acmart.dtx} -%</gobble> -%<class>\ProvidesClass{acmart} -[2020/11/15 v1.75 Typesetting articles for the Association for Computing Machinery] -% \end{macrocode} -% -% \changes{v1.00}{2016/04/14}{First released version} -% \changes{v1.01}{2016/04/18}{Defined ACM colors} -% \changes{v1.01}{2016/04/18}{Changed hyperref colors in screen mode -% (closes \url{https://github.com/borisveytsman/acmart/issues/1})} -% \changes{v1.01}{2016/04/18}{Set headheight to 1pc for all formats -% (closes \url{https://github.com/borisveytsman/acmart/issues/5})} -% \changes{v1.02}{2016/04/21}{Documentation changes -% (closes \url{https://github.com/borisveytsman/acmart/issues/13})} -% \changes{v1.02}{2016/04/21}{Added TOPS and TSC -% (closes \url{https://github.com/borisveytsman/acmart/issues/12})} -% \changes{v1.03}{2016/04/22}{Added authorversion option -% (closes \url{https://github.com/borisveytsman/acmart/issues/9})} -% \changes{v1.03}{2016/04/22}{Added anonsuppress environment} -% \changes{v1.04}{2016/04/26}{Updated bibliography for siggraph} -% \changes{v1.05}{2016/04/27}{Patched \cs{setcitestyle} command; -% closes \url{https://github.com/borisveytsman/acmart/issues/19}} -% \changes{v1.05}{2016/04/27}{Added processing doi numbers for -% acmsiggraph and doi numbers for sigproc.bib} -% \changes{v1.08}{2016/05/13}{SIGPLAN reformatting by Matthew Fluet} -% \changes{v1.08}{2016/05/13}{Typos corrected (Tobias Pape)} -% \changes{v1.09}{2016/05/18}{Revert SIGPLAN caption rules} -% \changes{v1.11}{2016/05/27}{Customization of ACM theorem styles and -% proof environment by Matthew Fluet} -% \changes{v1.12}{2016/05/30}{Documentation updates} -% \changes{v1.14}{2016/06/09}{\cs{citestyle} updates (Matthew Fluet)} -% \changes{v1.16}{2016/07/07}{Formatting header/footer (Matthew -% Fluet)} -% \changes{v1.18}{2016/07/10}{Natbib is now the default for all -% formats} -% \changes{v1.19}{2016/07/28}{Include 'Abstract', 'Acknowledgements', -% and 'References' in PDF bookmarks (Matthew Fluet)} -% \changes{v1.20}{2016/08/06}{Bug fixes for bst} -% \changes{v1.22}{2016/09/25}{More bibliography changes for Aptara} -% \changes{v1.23}{2016/11/04}{Add PACMPL journal option} -% \changes{v1.26}{2016/12/24}{Corrected \cs{shortcite} bug} -% \changes{v1.26}{2016/12/24}{Documentation typos fixed (thanks to -% Stephen Spencer)} -% \changes{v1.30}{2017/02/04}{Bibtex style now recognizes https:// in -% doi} -% \changes{v1.31}{2017/03/04}{Documentation changes} -% \changes{v1.32}{2017/03/07}{Format siggraph is now obsolete} -% \changes{v1.32}{2017/03/07}{Added POMACS journal option} -% \changes{v1.33}{2017/03/12}{BibTeX crossref bug corrected} -% \changes{v1.33}{2017/03/18}{BibTeX comma before articleno bug -% corrected} -% \changes{v1.33}{2017/03/18}{BibTeX numpages bug corrected} -% \changes{v1.33}{2017/03/28}{Added acmart-preload-hook} -% \changes{v1.33}{2017/03/33}{Documentation updates} -% \changes{v1.35}{2017/04/23}{BibTeX bug fixed: et al.} -% \changes{v1.36}{2017/05/12}{Added the possibility to adjust number of -% author boxes per row in conference formats} -% \changes{v1.37}{2017/05/13}{Set \cs{normalparindent}; Reduce list -% indentation (Matthew Fluet)}% -% \changes{v1.38}{2017/05/13}{Increase default font size for SIGPLAN} -% \changes{v1.40}{2017/05/27}{Bibliography changes} -% \changes{v1.40}{2017/06/15}{Added package cleveref} -% \changes{v1.40}{2017/06/16}{Added new copyright version: -% licensedcagov} -% \changes{v1.41}{2017/06/25}{Added new badges} -% \changes{v1.42}{2017/07/02}{Deleted ACM badges} -% \changes{v1.44}{2017/07/30}{Added package refcount} -% \changes{v1.44}{2017/07/30}{Deleted package cleveref} -% \changes{v1.44}{2017/07/30}{Put theorem defs in a separate style} -% \changes{v1.46}{2017/08/17}{Bst file bug fixes: label width is -% calculated correctly} -% \changes{v1.46}{2017/08/25}{Added etoolbox} -% \changes{v1.46}{2017/08/29}{Restore theorem defs to class file} -% \changes{v1.47}{2017/08/31}{New journal: THRI} -% \changes{v1.48}{2017/09/09}{Typos fixed (Jamie Davis)} -% \changes{v1.48}{2017/09/16}{Code prettying (Michael D.~Adams)} -% \changes{v1.48}{2017/09/23}{Misc entries in the bibliography no -% longer produce a separate date} -% \changes{v1.48}{2017/10/01}{Initial support for Biblatex (Daniel Thomas)} -% \changes{1.48}{2017/10/14}{Bib code cleanup (Zack Weinberg)} -% \changes{1.48}{2017/12/03}{Documentation update (siggraph)} -% \changes{1.49}{2018/01/24}{New journal: DTRAP} -% \changes{1.53}{2018/04/14}{New journals: PACMCGIT, TIOT, TDSCI} -% \changes{1.53}{2018/04/14}{Rearranged docs} -% \changes{1.54}{2018/06/17}{Moved footnote stuff before hyperref call -% (Ross Moore)} -% \changes{1.56}{2018/11/11}{Documented \cs{Description}} -% \changes{1.57}{2018/12/16}{Booktabs package is now the default} -% \changes{1.58}{2019/02/09}{Changes in samples (Enrico Gregorio)} -% \changes{1.58}{2019/03/29}{New journal: HEALTH. TDS is renamed to -% TDSCI} -% \changes{1.60}{2019/04/22}{New option: urlbreakonhyphens} -% \changes{1.62}{2019/07/31}{New journal: TELO} -% \changes{1.63}{2019/08/04}{New journal: TQUANT} -% \changes{1.63}{2019/08/04}{New journal: FACMP} -% \changes{1.63a}{2019/08/05}{Move: TQUANT to TQC} -% \changes{1.64}{2019/08/17}{Putting abstract after \cs{maketitle} now -% causes an error} -% \changes{1.65}{2019/10/19}{New journal: DGOV} -% \changes{1.66}{2019/12/18}{ACM reference format is now mandatory for -% papers over one page; CCS concepts and keywords are now mandatory for -% papers over two pages} -% \changes{1.66}{2019/12/18}{Authors' addresses are mandatory for -% journal articles} -% \changes{1.71}{2020/05/01}{Retired sigchi and sigchi-a} -% \changes{1.71}{2020/05/02}{Bibliography change: volume for -% @inproceedings is now in brackets together with series} -% \changes{1.71}{2020/05/02}{LuaTeX now uses the OTF versions of -% fonts} -% \changes{1.75}{2020/10/29}{Documentation update} -% -% And the driver code: -% \begin{macrocode} -%<*gobble> -\documentclass{ltxdoc} -\usepackage{array,booktabs,amsmath,graphicx,fancyvrb,tabularx, longtable} -\usepackage[tt=false, type1=true]{libertine} -\usepackage[varqu]{zi4} -\usepackage[libertine]{newtxmath} -\usepackage[tableposition=top]{caption} -\usepackage{hypdoc} -\PageIndex -\CodelineIndex -\RecordChanges -\EnableCrossrefs -\begin{document} - \DocInput{acmart.dtx} -\end{document} -%</gobble> -%<*class> -\def\@classname{acmart} -% \end{macrocode} -% -% -% -%\subsection{Preload hook} -%\label{sec:preload} -% -% We preload |acmart-preload-hook|: -% \begin{macrocode} -\InputIfFileExists{acmart-preload-hook.tex}{% - \ClassWarning{\@classname}{% - I am loading acmart-preload-hook.tex. You are fully responsible - for any problems from now on.}}{} -% \end{macrocode} -% -% \subsection{Options} -% \label{sec:options} -% -% We need |xkeyval| since some of our options may have values: -% \begin{macrocode} -\RequirePackage{xkeyval} -% \end{macrocode} -% -% We use |xstring| to check whether user input is valid -% \begin{macrocode} -\RequirePackage{xstring} -% \end{macrocode} -% -% We need |iftex| to check the engine -% \begin{macrocode} -\RequirePackage{iftex} -% \end{macrocode} -% -% -% -% \begin{macro}{format} -% The possible formats -% \begin{macrocode} -\define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{% - manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph, - sigplan, sigchi, sigchi-a}[manuscript]{}{% - \ClassError{\@classname}{The option format must be manuscript, - acmsmall, acmlarge, acmtog, sigconf, siggraph, - sigplan, sigchi or sigchi-a}} -\def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{acmart.cls}{format=#1}}} -\@DeclareACMFormat{manuscript} -\@DeclareACMFormat{acmsmall} -\@DeclareACMFormat{acmlarge} -\@DeclareACMFormat{acmtog} -\@DeclareACMFormat{sigconf} -\@DeclareACMFormat{siggraph} -\@DeclareACMFormat{sigplan} -\@DeclareACMFormat{sigchi} -\@DeclareACMFormat{sigchi-a} -\ExecuteOptionsX{format} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@screen} -% Whether we use screen mode -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{screen}[true]{% - \if@ACM@screen - \PackageInfo{\@classname}{Using screen mode}% - \else - \PackageInfo{\@classname}{Not using screen mode}% - \fi}{\PackageError{\@classname}{The option screen can be either true or - false}} -\ExecuteOptionsX{screen=false} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@urlbreakonhyphens} -% \changes{1.60}{2019/04/22}{introduced macro} -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{urlbreakonhyphens}[true]{% - \if@ACM@urlbreakonhyphens - \PackageInfo{\@classname}{Using breaking urls on hyphens}% - \else - \PackageInfo{\@classname}{Not breaking urls on hyphens}% - \fi}{\PackageError{\@classname}{The option urlbreakonhyphens can be either true or - false}} -\ExecuteOptionsX{urlbreakonhyphens=true} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\if@ACM@acmthm} -% \changes{v1.44}{2017/07/30}{Added macro} -% \changes{v1.46}{2017/08/29}{Modified description} -% Whether we define theorem-like environments. -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{acmthm}[true]{% - \if@ACM@acmthm - \PackageInfo{\@classname}{Requiring acmthm}% - \else - \PackageInfo{\@classname}{Suppressing acmthm}% - \fi}{\PackageError{\@classname}{The option acmthm can be either true or - false}} -\ExecuteOptionsX{acmthm=true} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\if@ACM@review} -% \changes{v1.48}{2017/09/09}{Review mode now switches on folios} -% Whether we use review mode -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{review}[true]{% - \if@ACM@review - \PackageInfo{\@classname}{Using review mode}% - \AtBeginDocument{\@ACM@printfoliostrue}% - \else - \PackageInfo{\@classname}{Not using review mode}% - \fi}{\PackageError{\@classname}{The option review can be either true or - false}} -\ExecuteOptionsX{review=false} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@authorversion} -% \changes{v1.03}{2016/04/22}{Added macro} -% Whether we use author's-version mode -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{% - \if@ACM@authorversion - \PackageInfo{\@classname}{Using authorversion mode}% - \else - \PackageInfo{\@classname}{Not using authorversion mode}% - \fi}{\PackageError{\@classname}{The option authorversion can be either true or - false}} -\ExecuteOptionsX{authorversion=false} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@nonacm} -% \changes{v1.54}{2018/05/08}{Added macro} -% Special option for non-ACM publications -% using the ACM typesetting options. -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{nonacm}[true]{% - \if@ACM@nonacm - \PackageInfo{\@classname}{Using nonacm mode}% - \AtBeginDocument{\@ACM@printacmreffalse}% - % in 'nonacm' mode we disable the "ACM Reference Format" - % printing by default, but this can be re-enabled by the - % user using \settopmatter{printacmref=true} - \else - \PackageInfo{\@classname}{Not using nonacm mode}% - \fi}{\PackageError{\@classname}{The option nonacm can be either true or - false}} -\ExecuteOptionsX{nonacm=false} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@balance} -% \changes{v1.57}{2018/12/16}{Added macro} -% Whether to balance the last page -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{balance}[true]{}{% - \PackageError{\@classname}{The option balance can be either true or - false}} -\ExecuteOptionsX{balance} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\if@ACM@natbib@override} -% \changes{v1.12}{2016/05/30}{Added macro} -% \changes{v1.33}{2017/03/28}{Deleted macro} -% This macro is no longer used. -% \end{macro} -% -% \begin{macro}{\if@ACM@natbib} -% Whether we use |natbib| mode -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{% - \if@ACM@natbib - \PackageInfo{\@classname}{Explicitly selecting natbib mode}% - \else - \PackageInfo{\@classname}{Explicitly deselecting natbib mode}% - \fi}{\PackageError{\@classname}{The option natbib can be either true or - false}} -\ExecuteOptionsX{natbib=true} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\if@ACM@anonymous} -% Whether we use anonymous mode -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{% - \if@ACM@anonymous - \PackageInfo{\@classname}{Using anonymous mode}% - \else - \PackageInfo{\@classname}{Not using anonymous mode}% - \fi}{\PackageError{\@classname}{The option anonymous can be either true or - false}} -\ExecuteOptionsX{anonymous=false} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\if@ACM@timestamp} -% \changes{v1.33}{2017/03/10}{Added macro (Michael D.~Adams)} -% Whether we use timestamp mode -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{% - \if@ACM@timestamp - \PackageInfo{\@classname}{Using timestamp mode}% - \else - \PackageInfo{\@classname}{Not using timestamp mode}% - \fi}{\PackageError{\@classname}{The option timestamp can be either true or - false}} -\ExecuteOptionsX{timestamp=false} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\if@ACM@authordraft} -% \changes{v1.33}{2017/03/28}{Added macro} -% \changes{v1.36}{2017/05/13}{Corrected typo, thanks to bargteil} -% Whether we use author-draft mode -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{% - \if@ACM@authordraft - \PackageInfo{\@classname}{Using authordraft mode}% - \@ACM@timestamptrue - \@ACM@reviewtrue - \else - \PackageInfo{\@classname}{Not using authordraft mode}% - \fi}{\PackageError{\@classname}{The option authordraft can be either true or - false}} -\ExecuteOptionsX{authordraft=false} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\ACM@fontsize} -% The font size to pass to the base class -% \begin{macrocode} -\def\ACM@fontsize{} -\DeclareOptionX{9pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{10pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{11pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{12pt}{\edef\ACM@fontsize{\CurrentOption}} -% \end{macrocode} -% -% \end{macro} -% -% -% \changes{v1.01}{2016/04/18}{Explicitly put draft option -% (closes \url{https://github.com/borisveytsman/acmart/issues/4})} -% -% \begin{macrocode} -\DeclareOptionX{draft}{\PassOptionsToClass{\CurrentOption}{amsart}} -\DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}} -\ProcessOptionsX -\ClassInfo{\@classname}{Using format \ACM@format, number \ACM@format@nr} -% \end{macrocode} -% -% -% -%\subsection{Setting switches} -%\label{sec:switches} -% -% \begin{macro}{\if@ACM@manuscript} -% Whether we use manuscript mode -% \begin{macrocode} -\newif\if@ACM@manuscript -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@journal} -% There are two kinds of publications: journals and books -% \begin{macrocode} -\newif\if@ACM@journal -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\if@ACM@journal@bibstrip} -% \changes{v1.59}{2019/04/20}{Introduced macro} -% Sometimes ACM wants a journal-like publication to have conference -% information in the bibstrip and vice versa, so we have an additional -% switch. -% \begin{macrocode} -\newif\if@ACM@journal@bibstrip -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@sigchiamode} -% The formatting of SIGCHI extended abstracts is quite unusual. We have a -% special switch for them. -% \begin{macrocode} -\newif\if@ACM@sigchiamode -% \end{macrocode} -% -% \end{macro} -% -% -% Setting up switches -% \begin{macrocode} -\ifnum\ACM@format@nr=5\relax % siggraph -\ClassWarning{\@classname}{% - The format siggraph is now obsolete.\MessageBreak - I am switching to sigconf.} - \setkeys{acmart.cls}{format=sigconf} -\fi -\ifnum\ACM@format@nr=7\relax % sigchi -\ClassWarning{\@classname}{% - The format sigchi is now obsolete.\MessageBreak - I am switching to sigconf.} - \setkeys{acmart.cls}{format=sigconf} -\fi -\ifnum\ACM@format@nr=8\relax % sigchi -\ClassWarning{\@classname}{% - ACM SIGCHI has retired the SIGCHI-A template\MessageBreak - effective immediately. ACM is keeping this template\MessageBreak - option available to authors who are working on legacy\MessageBreak - documents only. ACM will not, under any circumstances,\MessageBreak - accept documents in this format for publication and\MessageBreak - will not offer technical support to the authors who use\MessageBreak - this template.\MessageBreak - ACM SIGCHI is directing Conference leaders and\MessageBreak - authors to publish their articles using the SIGCONF\MessageBreak - template call.} -\fi -\ifnum\ACM@format@nr=0\relax - \@ACM@manuscripttrue -\else - \@ACM@manuscriptfalse -\fi -\@ACM@sigchiamodefalse -\ifcase\ACM@format@nr -\relax % manuscript - \@ACM@journaltrue -\or % acmsmall - \@ACM@journaltrue -\or % acmlarge - \@ACM@journaltrue -\or % acmtog - \@ACM@journaltrue -\or % sigconf - \@ACM@journalfalse -\or % siggraph - \@ACM@journalfalse - \or % sigplan - \@ACM@journalfalse - \or % sigchi - \@ACM@journalfalse -\or % sigchi-a - \@ACM@journalfalse - \@ACM@sigchiamodetrue -\fi -\if@ACM@journal - \@ACM@journal@bibstriptrue -\else - \@ACM@journal@bibstripfalse -\fi -% \end{macrocode} -% -% -% -%\subsection{Loading the base class and package} -%\label{sec:loading} -% -% \changes{v1.13}{2016/06/06}{Increased font size for ACM Large} -% \changes{v1.38}{2017/05/13}{Increase default font size for SIGPLAN} -% -% -% At this point we either have \cs{ACM@fontsize} or use defaults -% \begin{macrocode} -\ifx\ACM@fontsize\@empty - \ifcase\ACM@format@nr - \relax % manuscript - \def\ACM@fontsize{9pt}% - \or % acmsmall - \def\ACM@fontsize{10pt}% - \or % acmlarge - \def\ACM@fontsize{10pt}% - \or % acmtog - \def\ACM@fontsize{9pt}% - \or % sigconf - \def\ACM@fontsize{9pt}% - \or % siggraph - \def\ACM@fontsize{9pt}% - \or % sigplan - \def\ACM@fontsize{10pt}% - \or % sigchi - \def\ACM@fontsize{9pt}% - \or % sigchi-a - \def\ACM@fontsize{10pt}% - \fi -\fi -\ClassInfo{\@classname}{Using fontsize \ACM@fontsize} -\LoadClass[\ACM@fontsize, reqno]{amsart} -\RequirePackage{microtype} -% \end{macrocode} -% -% -% We need |etoolbox| for delayed code -% \begin{macrocode} -\RequirePackage{etoolbox} -% \end{macrocode} -% -% Booktabs is now the default -% \begin{macrocode} -\RequirePackage{booktabs} -% \end{macrocode} -% -% -% We need |totpages| to calculate the number of pages and -% |refcount| to use that number -% \begin{macrocode} -\RequirePackage{refcount} -\RequirePackage{totpages} -% \end{macrocode} -% -% The \cs{collect@body} macro in |amsmath| is defined using \cs{def}. We load -% |environ| to access the \cs{long} version of this command -% \begin{macrocode} -\RequirePackage{environ} -% \end{macrocode} -% -% We use |setspace| for double spacing -% \begin{macrocode} -\if@ACM@manuscript -\RequirePackage{setspace} -\onehalfspacing -\fi -% \end{macrocode} -% -% \changes{v1.40}{2017/06/05}{Added `textcase' package} -% We need |textcase| for better upcasing -% \begin{macrocode} -\RequirePackage{textcase} -% \end{macrocode} -% -% -%\subsection{Citations} -% \changes{v1.19}{2016/07/28}{Include 'References' in PDF bookmarks -% (Matthew Fluet)} -% \changes{v1.14}{2016/06/09}{Patched \cs{citestyle}} -% \changes{v1.55}{2016/08/012}{Typo corrected (Zack Weinberg)} -% We patch \cs{setcitestyle} to allow, for example, -% \cs{setcitestyle}|{sort}| and \cs{setcitestyle}|{nosort}|. We patch -% \cs{citestyle} to warn about undefined citation styles. -% \begin{macrocode} -\if@ACM@natbib - \RequirePackage{natbib} - \renewcommand{\bibsection}{% - \section*{\refname}% - \phantomsection\addcontentsline{toc}{section}{\refname}% - } - \renewcommand{\bibfont}{\bibliofont} - \renewcommand\setcitestyle[1]{ - \@for\@tempa:=#1\do - {\def\@tempb{round}\ifx\@tempa\@tempb - \renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi - \def\@tempb{square}\ifx\@tempa\@tempb - \renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi - \def\@tempb{angle}\ifx\@tempa\@tempb - \renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi - \def\@tempb{curly}\ifx\@tempa\@tempb - \renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi - \def\@tempb{semicolon}\ifx\@tempa\@tempb - \renewcommand\NAT@sep{;}\fi - \def\@tempb{colon}\ifx\@tempa\@tempb - \renewcommand\NAT@sep{;}\fi - \def\@tempb{comma}\ifx\@tempa\@tempb - \renewcommand\NAT@sep{,}\fi - \def\@tempb{authoryear}\ifx\@tempa\@tempb - \NAT@numbersfalse\fi - \def\@tempb{numbers}\ifx\@tempa\@tempb - \NAT@numberstrue\NAT@superfalse\fi - \def\@tempb{super}\ifx\@tempa\@tempb - \NAT@numberstrue\NAT@supertrue\fi - \def\@tempb{nobibstyle}\ifx\@tempa\@tempb - \let\bibstyle=\@gobble\fi - \def\@tempb{bibstyle}\ifx\@tempa\@tempb - \let\bibstyle=\@citestyle\fi - \def\@tempb{sort}\ifx\@tempa\@tempb - \def\NAT@sort{\@ne}\fi - \def\@tempb{nosort}\ifx\@tempa\@tempb - \def\NAT@sort{\z@}\fi - \def\@tempb{compress}\ifx\@tempa\@tempb - \def\NAT@cmprs{\@ne}\fi - \def\@tempb{nocompress}\ifx\@tempa\@tempb - \def\NAT@cmprs{\z@}\fi - \def\@tempb{sort&compress}\ifx\@tempa\@tempb - \def\NAT@sort{\@ne}\def\NAT@cmprs{\@ne}\fi - \def\@tempb{mcite}\ifx\@tempa\@tempb - \let\NAT@merge\@ne\fi - \def\@tempb{merge}\ifx\@tempa\@tempb - \@ifnum{\NAT@merge<\tw@}{\let\NAT@merge\tw@}{}\fi - \def\@tempb{elide}\ifx\@tempa\@tempb - \@ifnum{\NAT@merge<\thr@@}{\let\NAT@merge\thr@@}{}\fi - \def\@tempb{longnamesfirst}\ifx\@tempa\@tempb - \NAT@longnamestrue\fi - \def\@tempb{nonamebreak}\ifx\@tempa\@tempb - \def\NAT@nmfmt#1{\mbox{\NAT@up#1}}\fi - \expandafter\NAT@find@eq\@tempa=\relax\@nil - \if\@tempc\relax\else - \expandafter\NAT@rem@eq\@tempc - \def\@tempb{open}\ifx\@tempa\@tempb - \xdef\NAT@open{\@tempc}\fi - \def\@tempb{close}\ifx\@tempa\@tempb - \xdef\NAT@close{\@tempc}\fi - \def\@tempb{aysep}\ifx\@tempa\@tempb - \xdef\NAT@aysep{\@tempc}\fi - \def\@tempb{yysep}\ifx\@tempa\@tempb - \xdef\NAT@yrsep{\@tempc}\fi - \def\@tempb{notesep}\ifx\@tempa\@tempb - \xdef\NAT@cmt{\@tempc}\fi - \def\@tempb{citesep}\ifx\@tempa\@tempb - \xdef\NAT@sep{\@tempc}\fi - \fi - }% - \NAT@@setcites - } - \renewcommand\citestyle[1]{% - \ifcsname bibstyle@#1\endcsname% - \csname bibstyle@#1\endcsname\let\bibstyle\@gobble% - \else% - \@latex@error{Undefined `#1' citestyle}% - \fi - }% -\fi -% \end{macrocode} -% -% \begin{macro}{\bibstyle@acmauthoryear} -% \changes{v1.13}{2016/06/06}{Added macro} -% \changes{v1.14}{2016/06/09}{Moved def of \cs{bibstyle@acmauthoryear} -% before use} -% \changes{v1.35}{2017/04/13}{Square brackets for author-year style} -% The default author-year format: -% \begin{macrocode} -\newcommand{\bibstyle@acmauthoryear}{% - \setcitestyle{% - authoryear,% - open={[},close={]},citesep={;},% - aysep={},yysep={,},% - notesep={, }}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\bibstyle@acmnumeric} -% \changes{v1.13}{2016/06/06}{Added macro} -% \changes{v1.14}{2016/06/09}{Moved def of \cs{bibstyle@numeric} -% before use} -% The default numeric format: -% \begin{macrocode} -\newcommand{\bibstyle@acmnumeric}{% - \setcitestyle{% - numbers,sort&compress,% - open={[},close={]},citesep={,},% - notesep={, }}} -% \end{macrocode} -% -% \end{macro} -% -% \changes{v1.28}{2017/01/07}{Corrected option natbib behavior} -% The default is numeric: -% \begin{macrocode} -\if@ACM@natbib -\citestyle{acmnumeric} -\fi -% \end{macrocode} -% -% \begin{macro}{\@startsection} -% \changes{v1.31}{2017/03/04}{Added \cs{tochangmeasure}} -% Before we call |hyperref|, we redefine \cs{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: -% \begin{macrocode} -\def\@startsection#1#2#3#4#5#6{% - \if@noskipsec \leavevmode \fi - \par - \@tempskipa #4\relax - \@afterindenttrue - \ifdim \@tempskipa <\z@ - \@tempskipa -\@tempskipa \@afterindentfalse - \fi - \if@nobreak - \everypar{}% - \else - \addpenalty\@secpenalty\addvspace\@tempskipa - \fi - \@ifstar - {\@ssect{#3}{#4}{#5}{#6}}% - {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} -\def\@sect#1#2#3#4#5#6[#7]#8{% - \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}% - \ifnum #2>\c@secnumdepth - \let\@svsec\@empty - \else - \refstepcounter{#1}% - \protected@edef\@svsec{\@seccntformat{#1}\relax}% - \fi - \@tempskipa #5\relax - \ifdim \@tempskipa>\z@ - \begingroup - #6{% - \@hangfrom{\hskip #3\relax\@svsec}% - \interlinepenalty \@M #8\@@par}% - \endgroup - \csname #1mark\endcsname{#7}% - \ifnum #2>\c@secnumdepth \else - \@tochangmeasure{\csname the#1\endcsname}% - \fi - \addcontentsline{toc}{#1}{% - \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% - \fi - #7}% - \else - \def\@svsechd{% - #6{\hskip #3\relax - \@svsec #8}% - \csname #1mark\endcsname{#7}% - \ifnum #2>\c@secnumdepth \else - \@tochangmeasure{\csname the#1\endcsname\space}% - \fi - \addcontentsline{toc}{#1}{% - \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% - \fi - #7}}% - \fi - \@xsect{#5}} -\def\@xsect#1{% - \@tempskipa #1\relax - \ifdim \@tempskipa>\z@ - \par \nobreak - \vskip \@tempskipa - \@afterheading - \else - \@nobreakfalse - \global\@noskipsectrue - \everypar{% - \if@noskipsec - \global\@noskipsecfalse - {\setbox\z@\lastbox}% - \clubpenalty\@M - \begingroup \@svsechd \endgroup - \unskip - \@tempskipa #1\relax - \hskip -\@tempskipa - \else - \clubpenalty \@clubpenalty - \everypar{}% - \fi}% - \fi - \ignorespaces} -\def\@seccntformat#1{\csname the#1\endcsname\quad} -\def\@ssect#1#2#3#4#5{% - \@tempskipa #3\relax - \ifdim \@tempskipa>\z@ - \begingroup - #4{% - \@hangfrom{\hskip #1}% - \interlinepenalty \@M #5\@@par}% - \endgroup - \else - \def\@svsechd{#4{\hskip #1\relax #5}}% - \fi - \@xsect{#3}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@startsection} -% \changes{v1.31}{2017/03/04}{Rededined macro} -% \changes{v1.43}{2017/07/09}{Added \cs{makeatletter}} -% The |amsart| package redefines \cs{startsection}. Here we redefine -% it again to make the table of contents work. -% \begin{macrocode} -\def\@starttoc#1#2{\begingroup\makeatletter - \setTrue{#1}% - \par\removelastskip\vskip\z@skip - \@startsection{section}\@M\z@{\linespacing\@plus\linespacing}% - {.5\linespacing}{\centering\contentsnamefont}{#2}% - \@input{\jobname.#1}% - \if@filesw - \@xp\newwrite\csname tf@#1\endcsname - \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax - \fi - \global\@nobreakfalse \endgroup - \addvspace{32\p@\@plus14\p@}% -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\l@subsection} -% \changes{v1.40}{2017/05/27}{Redefined macro} -% Section spacing is more generous than for |amsart| -% \begin{macrocode} -\def\l@section{\@tocline{1}{0pt}{1pc}{2pc}{}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\l@subsection} -% \changes{v1.31}{2017/03/04}{Redefined macro} -% The spacing in |amsart| is too large -% \begin{macrocode} -\def\l@subsection{\@tocline{2}{0pt}{1pc}{3pc}{}} -% \end{macrocode} -% -% \end{macro} -% \begin{macro}{\l@subsubsection} -% \changes{v1.31}{2017/03/04}{Redefined macro} -% \changes{v1.71}{2020/04/30}{Bug fixed (thanks to Andrew Black)} -% The spacing in |amsart| is too large -% \begin{macrocode} -\def\l@subsubsection{\@tocline{3}{0pt}{1pc}{5pc}{}} -% \end{macrocode} -% -% \end{macro} -% -% We need to define foonote-related stuff before the call to hyperref -% (Ross Moore) -% \begin{macro}{\@makefntext} -% We do not use indentation for footnotes -% \begin{macrocode} -\def\@makefntext{\noindent\@makefnmark} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@footnotetext} -% In |sigchi-a| mode our footnotes are in the margin! -% \begin{macrocode} -\if@ACM@sigchiamode -\long\def\@footnotetext#1{\marginpar{% - \reset@font\small - \interlinepenalty\interfootnotelinepenalty - \protected@edef\@currentlabel{% - \csname p@footnote\endcsname\@thefnmark - }% - \color@begingroup - \@makefntext{% - \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% - \color@endgroup}}% -\fi -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mpfootnotetext} -% \changes{v1.13}{2016/06/06}{Made minipage footnotes centered} -% We want the footnotes in minipages centered: -% \begin{macrocode} -\long\def\@mpfootnotetext#1{% - \global\setbox\@mpfootins\vbox{% - \unvbox\@mpfootins - \reset@font\footnotesize - \hsize\columnwidth - \@parboxrestore - \protected@edef\@currentlabel - {\csname p@mpfootnote\endcsname\@thefnmark}% - \color@begingroup\centering - \@makefntext{% - \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% - \color@endgroup}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@makefnmark} -% \changes{v1.17}{2016/067/09}{Redefined} -% AMS classes use a buggy definition of \cs{makefnmark}. We revert -% to the standard one. -% \begin{macrocode} -\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} -% \end{macrocode} -% -% \end{macro} -% -% -% And now, |hyperref| -% \changes{v1.28}{2017/01/07}{Got rid of warnings in pdf keywords} -% \changes{v1.46}{2017/08/25}{Delayed hypersetup since journal options -% may change screen mode} -% \changes{v1.55}{2018/10/20}{Now we use purple color for links} -% \changes{v1.58}{2019/26/01}{Suppressed \cs{addtocounter} in pdf -% subject} -% \begin{macrocode} -\let\@footnotemark@nolink\@footnotemark -\let\@footnotetext@nolink\@footnotetext -\RequirePackage[bookmarksnumbered,unicode]{hyperref} -\pdfstringdefDisableCommands{% - \def\addtocounter#1#2{}% - \def\unskip{}% - \def\textbullet{- }% - \def\textrightarrow{ -> }% - \def\footnotemark{}% -} -\urlstyle{rm} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \urlstyle{sf} -\or % sigchi -\or % sigchi-a - \urlstyle{sf} -\fi -\AtEndPreamble{% - \if@ACM@urlbreakonhyphens - \def\do@url@hyp{\do\-}% - \fi - \if@ACM@screen - \hypersetup{colorlinks, - linkcolor=ACMPurple, - citecolor=ACMPurple, - urlcolor=ACMDarkBlue, - filecolor=ACMDarkBlue} - \else - \hypersetup{hidelinks} - \fi - \hypersetup{pdflang={en}, - pdfdisplaydoctitle}} -% \end{macrocode} -% -% And |hyperxmp| -% \changes{v1.72}{2020/06/14}{Added hyperxmp} -% \begin{macrocode} -\RequirePackage{hyperxmp} -% \end{macrocode} -% -% -% Bibliography mangling. -% \changes{v1.33}{2017/03/23}{Moved \cs{citename} definition for -% non-natbib bibliography, so a package may redefine it} -% \changes{v1.48}{2017/09/23}{\cs{citeyear} no longer behaves like -% \cs{citeyearpar}} -% \begin{macrocode} -\if@ACM@natbib - \let\citeN\cite - \let\cite\citep - \let\citeANP\citeauthor - \let\citeNN\citeyearpar - \let\citeyearNP\citeyear - \let\citeNP\citealt - \DeclareRobustCommand\citeA - {\begingroup\NAT@swafalse - \let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}% - \providecommand\newblock{}% -\else - \AtBeginDocument{% - \let\shortcite\cite% - \providecommand\citename[1]{#1}} -\fi -\newcommand\shortcite[2][]{% - \ifNAT@numbers\cite[#1]{#2}\else\citeyearpar[#1]{#2}\fi} -% \end{macrocode} -% -% -% \begin{macro}{\bibliographystyle} -% \changes{v1.13}{2016/06/06}{Redefined macro} -% The |amsart| package redefines \cs{bibliographystyle} since it -% prefers the AMS bibliography style. We turn it back to the -% \LaTeX\ definition: -% \begin{macrocode} -\def\bibliographystyle#1{% - \ifx\@begindocumenthook\@undefined\else - \expandafter\AtBeginDocument - \fi - {\if@filesw - \immediate\write\@auxout{\string\bibstyle{#1}}% - \fi}} -% \end{macrocode} -% -% \end{macro} -% -% -% Graphics and color. -% \changes{1.48}{2017/10/22}{Added prologue option to xcolor} -% \begin{macrocode} -\RequirePackage{graphicx} -\RequirePackage[prologue]{xcolor} -% \end{macrocode} -% -% We define ACM colors according to~\cite{ACMIdentityStandards}: -% \begin{macrocode} -\definecolor[named]{ACMBlue}{cmyk}{1,0.1,0,0.1} -\definecolor[named]{ACMYellow}{cmyk}{0,0.16,1,0} -\definecolor[named]{ACMOrange}{cmyk}{0,0.42,1,0.01} -\definecolor[named]{ACMRed}{cmyk}{0,0.90,0.86,0} -\definecolor[named]{ACMLightBlue}{cmyk}{0.49,0.01,0,0} -\definecolor[named]{ACMGreen}{cmyk}{0.20,0,1,0.19} -\definecolor[named]{ACMPurple}{cmyk}{0.55,1,0,0.15} -\definecolor[named]{ACMDarkBlue}{cmyk}{1,0.58,0,0.21} -% \end{macrocode} -% -% -% Author-draft mode or sigchi-a mode -% \begin{macrocode} -\if@ACM@authordraft - \RequirePackage{draftwatermark} - \SetWatermarkFontSize{0.5in} - \SetWatermarkColor[gray]{.9} - \SetWatermarkText{\parbox{12em}{\centering - Unpublished working draft.\\ - Not for distribution.}} -\else - \if@ACM@sigchiamode - \if@ACM@nonacm\else - \RequirePackage{draftwatermark} - \SetWatermarkFontSize{0.5in} - \SetWatermarkColor[gray]{.9} - \SetWatermarkText{\parbox{12em}{\centering - Legacy document. \\ - Not for publication in an ACM venue}} - \fi - \fi -\fi -% \end{macrocode} -% -% -%\subsection{Paper size and paragraphing} -%\label{sec:paper} -% -% \changes{v1.17}{2016/07/07}{Slightly decreased margins for sigs} -% \changes{v1.29}{2017/01/22}{Increased head to 13pt} -% \changes{v1.40}{2017/07/15}{Added heightrounded to geometry} -% \changes{v1.56}{2018/10/16}{Make two-column layouts flush (Philip Quinn)} -% We use |geometry| for dimensions. Note that the present margins do not -% depend on the font size option---we might need to change this. -% See \url{https://github.com/borisveytsman/acmart/issues/5#issuecomment-272881329}. -% \begin{macrocode} -\RequirePackage{geometry} -\ifcase\ACM@format@nr -\relax % manuscript - \geometry{letterpaper,head=13pt, - marginparwidth=6pc,heightrounded}% -\or % acmsmall - \geometry{twoside=true, - includeheadfoot, head=13pt, foot=2pc, - paperwidth=6.75in, paperheight=10in, - top=58pt, bottom=44pt, inner=46pt, outer=46pt, - marginparwidth=2pc,heightrounded - }% -\or % acmlarge - \geometry{twoside=true, head=13pt, foot=2pc, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, - top=78pt, bottom=114pt, inner=81pt, outer=81pt, - marginparwidth=4pc,heightrounded - }% -\or % acmtog - \geometry{twoside=true, head=13pt, foot=2pc, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=24pt, - top=52pt, bottom=75pt, inner=52pt, outer=52pt, - marginparwidth=2pc,heightrounded - }% -\or % sigconf - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=2pc, - top=57pt, bottom=73pt, inner=54pt, outer=54pt, - marginparwidth=2pc,heightrounded - }% -\or % siggraph - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=2pc, - top=57pt, bottom=73pt, inner=54pt, outer=54pt, - marginparwidth=2pc,heightrounded - }% -\or % sigplan - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot=false, columnsep=2pc, - top=1in, bottom=1in, inner=0.75in, outer=0.75in, - marginparwidth=2pc,heightrounded - }% -\or % sigchi - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=2pc, - top=66pt, bottom=73pt, inner=54pt, outer=54pt, - marginparwidth=2pc,heightrounded - }% -\or % sigchi-a - \geometry{twoside=false, head=13pt, - paperwidth=11in, paperheight=8.5in, - includeheadfoot, marginparsep=72pt, - marginparwidth=170pt, columnsep=20pt, - top=72pt, bottom=72pt, left=314pt, right=72pt - }% - \@mparswitchfalse - \reversemarginpar -\fi -% \end{macrocode} -% -% -% \begin{macro}{\parindent} -% \begin{macro}{\parskip} -% Paragraphing -% \begin{macrocode} -\setlength\parindent{10\p@} -\setlength\parskip{\z@} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog - \setlength\parindent{9\p@}% -\or % sigconf -\or % siggraph -\or % sigplan -\or % sigchi -\or % sigchi-a -\fi -% \end{macrocode} -% -% \end{macro} -% \end{macro} -% -% \begin{macro}{\normalparindent} -% \changes{v1.37}{2017/05/13}{Set \cs{normalparindent} (Matthew Fluet)}% -% The |amsart| package defines the \cs{normalparindent} length and -% initializes it to 12pt (the value of \cs{parindent} in |amsart|). It -% is later used to set the \cs{listparindent} length in the |quotation| -% environment and the \cs{parindent} length in the \cs{@footnotetext} -% command. We set \cs{normalparindent} to the value of \cs{parindent} -% as selected by |acmart| for consistent paragraph indents. -% \begin{macrocode} -\setlength\normalparindent{\parindent} -% \end{macrocode} -% -% \end{macro} -% -% Footnotes require some consideration. We have several layers of -% footnotes: frontmatter footnotes, ``regular'' footnotes and the -% special insert for the bibstrip. In the old ACM classes, the bibstrip -% was a \cs{@float}. The problem with floats is that they tend to, well, -% float---and we want the guarantee they stay. -% -% We use |manyfoot| for layered footnotes instead. -% -% \begin{macro}{\copyrightpermissionfootnoterule} -% \changes{v1.12}{2016/05/30}{Added macro} -% This is the footnote rule that separates the bibstrip from the rest of -% the paper. It is a full width rule. -% \begin{macrocode} -\def\copyrightpermissionfootnoterule{\kern-3\p@ - \hrule \@width \columnwidth \kern 2.6\p@} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -\RequirePackage{manyfoot} -\SelectFootnoteRule[2]{copyrightpermission} -\DeclareNewFootnote{authorsaddresses} -\SelectFootnoteRule[2]{copyrightpermission} -\DeclareNewFootnote{copyrightpermission} -% \end{macrocode} -% -% -% \begin{macro}{\footnoterule} -% \changes{v1.12}{2016/05/30}{Made shorter} -% Tschichold's rules: -% \begin{macrocode} -\def\footnoterule{\kern-3\p@ - \hrule \@width 4pc \kern 2.6\p@} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\endminipage} -% We do not use footnote rules in minipages -% \begin{macrocode} -\def\endminipage{% - \par - \unskip - \ifvoid\@mpfootins\else - \vskip\skip\@mpfootins - \normalcolor - \unvbox\@mpfootins - \fi - \@minipagefalse - \color@endgroup - \egroup - \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@textbottom} -% \changes{v1.31}{2017/03/04}{Redefined} -% Add some stretch according to David Carlisle's advice at -% \url{http://tex.stackexchange.com/a/62318/5522} -% \begin{macrocode} -\def\@textbottom{\vskip \z@ \@plus 1pt} -\let\@texttop\relax -% \end{macrocode} -% -% \end{macro} -% -% In two-column layouts, force both columns to be the same height by inserting -% extra internal vertical space to fill out the page. -% \begin{macrocode} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog - \flushbottom -\or % sigconf - \flushbottom -\or % siggraph - \flushbottom -\or % sigplan - \flushbottom -\or % sigchi - \flushbottom -\or % sigchi-a -\fi -% \end{macrocode} -% -%\subsection{Fonts} -%\label{sec:fonts} -% -% \changes{v1.12}{2016/05/30}{Added graceful behavior when libertine -% fonts are absent} -% \changes{v1.33}{2017/03/29}{Added cmap and glyphtounicode} -% \changes{v1.40}{2017/05/27}{Added Ross Moore code for glyphtounicode} -% -% 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. -% \begin{macrocode} -\ifPDFTeX -\input{glyphtounicode} -\pdfglyphtounicode{f_f}{FB00} -\pdfglyphtounicode{f_f_i}{FB03} -\pdfglyphtounicode{f_f_l}{FB04} -\pdfglyphtounicode{f_i}{FB01} -\pdfglyphtounicode{t_t}{0074 0074} -\pdfglyphtounicode{f_t}{0066 0074} -\pdfglyphtounicode{T_h}{0054 0068} -\pdfgentounicode=1 -\RequirePackage{cmap} -\fi -% \end{macrocode} -% -% -% \begin{macro}{\if@ACM@newfonts} -% \changes{v1.12}{2016/05/30}{Added macro}% -% Whether we load the new fonts -% \begin{macrocode} -\newif\if@ACM@newfonts -\@ACM@newfontstrue -\IfFileExists{libertine.sty}{}{\ClassWarning{\@classname}{You do not - have the libertine package installed. Please upgrade your - TeX}\@ACM@newfontsfalse} -\IfFileExists{zi4.sty}{}{\ClassWarning{\@classname}{You do not - have the inconsolata (zi4.sty) package installed. Please upgrade your - TeX}\@ACM@newfontsfalse} -\IfFileExists{newtxmath.sty}{}{\ClassWarning{\@classname}{You do not - have the newtxmath package installed. Please upgrade your - TeX}\@ACM@newfontsfalse} -% \end{macrocode} -% -% \end{macro} -% -% \changes{v1.30}{2017/02/15}{Switched to T1: looks like libertine has -% problems with \cs{l} in OT1}% -% \changes{v1.33}{2017/03/12}{Switched to Type~1 fonts for libertine -% even if OTF-capable engine is used (Kai Mindermann)} -% \changes{v1.51}{2018/04/05}{XeTeX now uses OTF fonts (Joachim -% Breitner)} -% \changes{v1.54}{2018/07/16}{XeTeX now uses T1 encoding} -% \changes{v1.56}{2018/11/11}{Looks like XeTeX requires explicit -% monotype font declaration} -% \changes{v1.74}{2020/10/25}{Changed the order of font loading}% -% We use Libertine throughout. -% \begin{macrocode} -\if@ACM@newfonts - \RequirePackage[T1]{fontenc} - % Note that the order in which packages are loaded matters, - % and the correct order depends on the LaTeX engine used. - % See https://github.com/borisveytsman/acmart/issues/402 - % and https://github.com/borisveytsman/acmart/issues/410 - \ifxetex - \RequirePackage[libertine]{newtxmath} - \RequirePackage[tt=false]{libertine} - \setmonofont[StylisticSet=3]{inconsolata} - \else - \ifluatex - \RequirePackage[libertine]{newtxmath} - \RequirePackage[tt=false]{libertine} - \setmonofont[StylisticSet=3]{inconsolata} - \else - \RequirePackage[tt=false, type1=true]{libertine} - \RequirePackage[varqu]{zi4} - \RequirePackage[libertine]{newtxmath} - \fi - \fi -\fi -% \end{macrocode} -% -% \begin{macro}{\liningnums} -% \changes{v1.46}{2017/08/28}{Workaround for compatibility with fontspec} -% Libertine defines \cs{liningnums}, which makes |fontspec| unhappy. -% While we do not use |fontspec|, some users do. -% \begin{macrocode} -\let\liningnums\@undefined -\AtEndPreamble{% - \DeclareTextFontCommand{\liningnums}{\libertineLF}} -% \end{macrocode} -% -% \end{macro} -% -% -% The SIGCHI extended abstracts are sans serif: -% \begin{macrocode} -\if@ACM@sigchiamode - \renewcommand{\familydefault}{\sfdefault} -\fi -% \end{macrocode} -% -% -% -%\subsection{Image descriptions} -%\label{sec:description} -% -% \begin{macro}{\if@Description@present} -% \changes{v1.56}{2018/11/11}{Added macro} -% A local switch: whether there is a description in the given figure -% \begin{macrocode} -\newif\if@Description@present -\@Description@presenttrue -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\if@undescribed@images} -% \changes{v1.56}{2018/11/11}{Added macro} -% A global switch whether some images were \emph{not} described -% \begin{macrocode} -\newif\if@undescribed@images -\@undescribed@imagesfalse -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\Description} -% \changes{v1.56}{2018/11/11}{Added macro} -% The Description macro right now just sets switches -% \begin{macrocode} -\newcommand\Description[2][]{\global\@Description@presenttrue\ignorespaces} -% \end{macrocode} -% \end{macro} -% -% The global warning -% \begin{macrocode} -\AtEndDocument{\if@undescribed@images - \ClassWarningNoLine{\@classname}{Some images may lack descriptions}\fi} -% \end{macrocode} -% -% Hooks for figures and tables. We also patch |algorithm| and -% |algorithm*| in case somebody uses them. -% \changes{v1.66}{2019/11/23}{Patching algorithm and algorithm* -% to prevent spurious space warnings} -% \changes{v1.67}{2020/01/11}{Patching lstlisting and lstlisting* -% to prevent spurious space warnings} -% \changes{v1.73}{2020/08/23}{Patching minted and minted* -% to prevent spurious space warnings} -% \begin{macrocode} -\AtBeginEnvironment{figure}{\@Description@presentfalse - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{figure*}{\@Description@presentfalse - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtEndEnvironment{figure}{\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without description}\fi} -\AtEndEnvironment{figure*}{\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without description}\fi} -\AtBeginEnvironment{table}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{table*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{algorithm}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{algorithm*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{lstlisting}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{lstlisting*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{minted}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{minted*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{listing}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{listing*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} - -% \end{macrocode} -% -% -%\subsection{Floats} -%\label{sec:floats} -% -% \changes{v1.55}{2018/10/20}{Table captions for SIGCHI now use the -% same font size as figure captions (Luis Leiva)} -% We use the |caption| package -% \begin{macrocode} -\RequirePackage{caption, float} -\captionsetup[table]{position=top} -\if@ACM@journal - \captionsetup{labelfont={sf, small}, - textfont={sf, small}, margin=\z@} - \captionsetup[figure]{name={Fig.}} -\else - \captionsetup{labelfont={bf}, - textfont={bf}, labelsep=colon, margin=\z@} - \ifcase\ACM@format@nr - \relax % manuscript - \or % acmsmall - \or % acmlarge - \or % acmtog - \or % sigconf - \or % siggraph - \captionsetup{textfont={it}} - \or % sigplan - \captionsetup{labelfont={bf}, - textfont={normalfont}, labelsep=period, margin=\z@} - \or % sigchi - \captionsetup[figure]{labelfont={bf, small}, - textfont={bf, small}} - \captionsetup[table]{labelfont={bf, small}, - textfont={bf, small}} - \or % sigchi-a - \captionsetup[figure]{labelfont={bf, small}, - textfont={bf, small}} - \captionsetup[table]{labelfont={bf, small}, - textfont={bf, small}} - \fi -\fi -% \end{macrocode} -% -% \begin{macro}{sidebar} -% The |sidebar| environment: -% \begin{macrocode} -\newfloat{sidebar}{}{sbar} -\floatname{sidebar}{Sidebar} -\renewenvironment{sidebar}{\Collect@Body\@sidebar}{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@sidebar} -% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning} -% The processing of the saved text -% \begin{macrocode} -\long\def\@sidebar#1{\bgroup\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig\captionsetup{type=sidebar}% - \marginpar{\small#1}\egroup} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{marginfigure} -% The |marginfigure| environment: -% \begin{macrocode} -\newenvironment{marginfigure}{\Collect@Body\@marginfigure}{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@marginfigure} -% \changes{v1.12}{2016/05/30}{Now centering by default} -% \changes{v1.56}{2018/11/11}{Added checking for description} -% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning} -% The processing of the saved text -% \begin{macrocode} -\long\def\@marginfigure#1{\bgroup - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \captionsetup{type=figure}% - \marginpar{\@Description@presentfalse\centering - \small#1\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without description} - \fi}% - \egroup} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{margintable} -% The |margintable| environment: -% \begin{macrocode} -\newenvironment{margintable}{\Collect@Body\@margintable}{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@margintable} -% \changes{v1.12}{2016/05/30}{Now centering by default} -% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning} -% The processing of the saved text -% \begin{macrocode} -\long\def\@margintable#1{\bgroup\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig\captionsetup{type=table}% - \marginpar{\centering\small#1}\egroup} -% \end{macrocode} -% -% \end{macro} -% -% -% SIGCHI extended abstracts provide an interesting possibility to push -% into the margin. Here we use |figure*| and |table*| for this. -% \begin{macro}{\fulltextwidth} -% We define the width of the boxes as -% \begin{macrocode} -\newdimen\fulltextwidth -\fulltextwidth=\dimexpr(\textwidth+\marginparwidth+\marginparsep) -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@dblfloat} -% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning} -% 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) -% \begin{macrocode} -\if@ACM@sigchiamode -\def\@dblfloat{\bgroup\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig\columnwidth=\fulltextwidth - \let\@endfloatbox\@endwidefloatbox - \def\@fpsadddefault{\def\@fps{tp}}% - \@float} -\fi -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\end@dblfloat} -% And the end. Just adding a \cs{bgroup}. -% \begin{macrocode} -\if@ACM@sigchiamode -\def\end@dblfloat{% - \end@float\egroup} -\fi -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@endwidefloatbox} -% This is the end of a wide box---we basically move everything -% to the left -% \begin{macrocode} -\def\@endwidefloatbox{% - \par\vskip\z@skip - \@minipagefalse - \outer@nobreak - \egroup - \color@endbox - \global\setbox\@currbox=\vbox{\moveleft - \dimexpr(\fulltextwidth-\textwidth)\box\@currbox}% - \wd\@currbox=\textwidth -} -% \end{macrocode} -% -% \end{macro} -% -% -%\subsection{Lists} -%\label{sec:lists} -% -% \begin{macrocode} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan -\def\labelenumi{\theenumi.} -\def\labelenumii{\theenumii.} -\def\labelenumiii{\theenumiii.} -\def\labelenumiv{\theenumiv.} -\or % sigchi -\or % sigchi-a -\fi -% \end{macrocode} -% -% -% \changes{v1.37}{2017/05/13}{Reduce list indentation (Matthew Fluet)}% -% The AMS uses generous margins for lists. Note that |amsart| defines -% \cs{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| environments with a -% \cs{makelabel} command that uses \cs{llap}, so the \cs{labelwidth} -% value is~(effectively) irrelevant; nonetheless, we follow |amsart| -% and set \cs{labelwidth} to \cs{leftmargin} minus \cs{labelsep}. -% \begin{macrocode} -\newdimen\@ACM@labelwidth -\AtBeginDocument{% - \setlength\labelsep{4pt} - \setlength{\@ACM@labelwidth}{6.5pt} - - %% First-level list: when beginning after the first line of an - %% indented paragraph or ending before an indented paragraph, labels - %% should not hang to the left of the preceding/following text. - \setlength\leftmargini{\z@} - \addtolength\leftmargini{\parindent} - \addtolength\leftmargini{2\labelsep} - \addtolength\leftmargini{\@ACM@labelwidth} - - %% Second-level and higher lists. - \setlength\leftmarginii{\z@} - \addtolength\leftmarginii{0.5\labelsep} - \addtolength\leftmarginii{\@ACM@labelwidth} - \setlength\leftmarginiii{\leftmarginii} - \setlength\leftmarginiv{\leftmarginiii} - \setlength\leftmarginv{\leftmarginiv} - \setlength\leftmarginvi{\leftmarginv} - \@listi} -\newskip\listisep -\listisep\smallskipamount -\def\@listI{\leftmargin\leftmargini - \labelwidth\leftmargini \advance\labelwidth-\labelsep - \listparindent\z@ - \topsep\listisep} -\let\@listi\@listI -\def\@listii{\leftmargin\leftmarginii - \labelwidth\leftmarginii \advance\labelwidth-\labelsep - \topsep\z@skip} -\def\@listiii{\leftmargin\leftmarginiii - \labelwidth\leftmarginiii \advance\labelwidth-\labelsep} -\def\@listiv{\leftmargin\leftmarginiv - \labelwidth\leftmarginiv \advance\labelwidth-\labelsep} -\def\@listv{\leftmargin\leftmarginv - \labelwidth\leftmarginv \advance\labelwidth-\labelsep} -\def\@listvi{\leftmargin\leftmarginvi - \labelwidth\leftmarginvi \advance\labelwidth-\labelsep} -% \end{macrocode} -% -% -% \begin{macro}{\descriptionlabel} -% \changes{v1.37}{2017/05/13}{Reduce list indentation (Matthew Fluet)}% -% \changes{v1.12}{2016/05/30}{Redefined} -% We do not use a colon by default like |amsart| does: -% \begin{macrocode} -\renewcommand{\descriptionlabel}[1]{\upshape\bfseries #1} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\description} -% \changes{v1.37}{2017/05/13}{Reduce list indentation (Matthew Fluet)}% -% \changes{v1.17}{2016/07/07}{Decreased indent} -% Make the |description| environment indentation consistent with that of -% the |itemize| and |enumerate| environments. -% \begin{macrocode} -\renewenvironment{description}{\list{}{% - \labelwidth\@ACM@labelwidth - \let\makelabel\descriptionlabel}% -}{ - \endlist -} -\let\enddescription=\endlist % for efficiency -% \end{macrocode} -% -% \end{macro} -% -% -%\subsection{Top-matter data} -%\label{sec:top_matter_data} -% -% \begin{macro}{\if@ACM@maketitle@typeset} -% \changes{v1.64}{2019/08/17}{Introduced macro} -% The switch to check whether \cs{maketitle} is already typeset. It -% is initally false, and setting top matter when it is true is wrong. -% \begin{macrocode} -\newif\if@ACM@maketitle@typeset -\@ACM@maketitle@typesetfalse -% \end{macrocode} -% -% \end{macro} -% -% \changes{v1.24}{2016/11/16}{Add IMWUT journal option} -% \changes{v1.25}{2016/12/03}{Updated PACMPL} -% \changes{v1.30}{2017/02/15}{Updated IMWUT and PACMPL} -% \changes{v1.36}{2017/05/13}{Added PACMHCI journal options} -% \changes{v1.46}{2017/08/25}{PACM now set screen to true} -% \changes{v1.53}{2018/04/14}{Added PACMCGIT, TIOT, TDSCI} -% \changes{v1.58}{2019/03/29}{Added HEALTH. TDSCI is renamed to TDS} -% \changes{1.70}{2020/02/22}{Name change for TDS} -% -% We use the |xkeyval| interface to define journal titles and the relevant -% information -% \begin{macrocode} -\define@choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode@nr]{% - CIE,% - CSUR,% - DGOV,% - DTRAP,% - HEALTH,% - IMWUT,% - JACM,% - JDIQ,% - JEA,% - JERIC,% - JETC,% - JOCCH,% - PACMCGIT,% - PACMHCI,% - PACMPL,% - POMACS,% - TAAS,% - TACCESS,% - TACO,% - TALG,% - TALLIP,% - TAP,% - TCPS,% - TDS,% - TEAC,% - TECS,% - TELO,% - THRI,% - TIIS,% - TIOT,% - TISSEC,% - TIST,% - TKDD,% - TMIS,% - TOCE,% - TOCHI,% - TOCL,% - TOCS,% - TOCT,% - TODAES,% - TODS,% - TOG,% - TOIS,% - TOIT,% - TOMACS,% - TOMM,% - TOMPECS,% - TOMS,% - TOPC,% - TOPS,% - TOPLAS,% - TOS,% - TOSEM,% - TOSN,% - TQC,% - TRETS,% - TSAS,% - TSC,% - TSLP,% - TWEB,% - FACMP% -}{% -\ifcase\@journalCode@nr -\relax % CIE - \def\@journalName{ACM Computers in Entertainment}% - \def\@journalNameShort{ACM Comput. Entertain.}% - \def\@permissionCodeOne{1544-3574}% -\or % CSUR - \def\@journalName{ACM Computing Surveys}% - \def\@journalNameShort{ACM Comput. Surv.}% - \def\@permissionCodeOne{0360-0300}% -\or % DGOV - \def\@journalName{Digital Government: Research and Practice}% - \def\@journalNameShort{Digit. Gov. Res. Pract.}% - \def\@permissionCodeOne{2639-0175}% -\or % DTRAP - \def\@journalName{Digital Threats: Research and Practice}% - \def\@journalNameShort{Digit. Threat. Res. Pract.}% - \def\@permissionCodeOne{2576-5337}% -\or % HEALTH - \def\@journalName{ACM Transactions on Computing for Healthcare}% - \def\@journalNameShort{ACM Trans. Comput. Healthcare}% - \def\@permissionCodeOne{2637-8051}% -\or % IMWUT - \def\@journalName{Proceedings of the ACM on Interactive, Mobile, - Wearable and Ubiquitous Technologies}% - \def\@journalNameShort{Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.}% - \def\@permissionCodeOne{2474-9567}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % JACM - \def\@journalName{Journal of the ACM}% - \def\@journalNameShort{J. ACM}% - \def\@permissionCodeOne{0004-5411}% -\or % JDIQ - \def\@journalName{ACM Journal of Data and Information Quality}% - \def\@journalNameShort{ACM J. Data Inform. Quality}% - \def\@permissionCodeOne{1936-1955}% -\or % JEA - \def\@journalName{ACM Journal of Experimental Algorithmics}% - \def\@journalNameShort{ACM J. Exp. Algor.}% - \def\@permissionCodeOne{1084-6654}% -\or % JERIC - \def\@journalName{ACM Journal of Educational Resources in Computing}% - \def\@journalNameShort{ACM J. Edu. Resources in Comput.}% - \def\@permissionCodeOne{1073-0516}% -\or % JETC - \def\@journalName{ACM Journal on Emerging Technologies in Computing Systems}% - \def\@journalNameShort{ACM J. Emerg. Technol. Comput. Syst.}% - \def\@permissionCodeOne{1550-4832}% -\or % JOCCH - \def\@journalName{ACM Journal on Computing and Cultural Heritage}% - \def\@journalNameShort{ACM J. Comput. Cult. Herit.}% -\or % PACMCGIT - \def\@journalName{Proceedings of the ACM on Computer Graphics and Interactive Techniques}% - \def\@journalNameShort{Proc. ACM Comput. Graph. Interact. Tech.}% - \def\@permissionCodeOne{2577-6193}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % PACMHCI - \def\@journalName{Proceedings of the ACM on Human-Computer Interaction}% - \def\@journalNameShort{Proc. ACM Hum.-Comput. Interact.}% - \def\@permissionCodeOne{2573-0142}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % PACMPL - \def\@journalName{Proceedings of the ACM on Programming Languages}% - \def\@journalNameShort{Proc. ACM Program. Lang.}% - \def\@permissionCodeOne{2475-1421}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % POMACS - \def\@journalName{Proceedings of the ACM on Measurement and Analysis of Computing Systems}% - \def\@journalNameShort{Proc. ACM Meas. Anal. Comput. Syst.}% - \def\@permissionCodeOne{2476-1249}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % TAAS - \def\@journalName{ACM Transactions on Autonomous and Adaptive Systems}% - \def\@journalNameShort{ACM Trans. Autonom. Adapt. Syst.}% - \def\@permissionCodeOne{1556-4665}% -\or % TACCESS - \def\@journalName{ACM Transactions on Accessible Computing}% - \def\@journalNameShort{ACM Trans. Access. Comput.}% - \def\@permissionCodeOne{1936-7228}% -\or % TACO - \def\@journalName{ACM Transactions on Architecture and Code Optimization}% - \def\@journalNameShort{ACM Trans. Arch. Code Optim.}% -\or % TALG - \def\@journalName{ACM Transactions on Algorithms}% - \def\@journalNameShort{ACM Trans. Algor.}% - \def\@permissionCodeOne{1549-6325}% -\or % TALLIP - \def\@journalName{ACM Transactions on Asian and Low-Resource Language Information Processing}% - \def\@journalNameShort{ACM Trans. Asian Low-Resour. Lang. Inf. Process.}% - \def\@permissionCodeOne{2375-4699}% -\or % TAP - \def\@journalName{ACM Transactions on Applied Perception}% -\or % TCPS - \def\@journalName{ACM Transactions on Cyber-Physical Systems}% -\or % TDS - \def\@journalName{ACM/IMS Transactions on Data Science}% - \def\@journalNameShort{ACM/IMS Trans. Data Sci.}% - \def\@permissionCodeOne{2577-3224}% -\or % TEAC - \def\@journalName{ACM Transactions on Economics and Computation}% -\or % TECS - \def\@journalName{ACM Transactions on Embedded Computing Systems}% - \def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}% - \def\@permissionCodeOne{1539-9087}% -\or % TELO - \def\@journalName{ACM Transactions on Evolutionary Learning}% - \def\@journalNameShort{ACM Trans. Evol. Learn.}% - \def\@permissionCodeOne{2688-3007}% -\or % THRI - \def\@journalName{ACM Transactions on Human-Robot Interaction}% - \def\@journalNameShort{ACM Trans. Hum.-Robot Interact.}% - \def\@permissionCodeOne{2573-9522}% -\or % TIIS - \def\@journalName{ACM Transactions on Interactive Intelligent Systems}% - \def\@journalNameShort{ACM Trans. Interact. Intell. Syst.}% - \def\@permissionCodeOne{2160-6455}% -\or % TIOT - \def\@journalName{ACM Transactions on Internet of Things}% - \def\@journalNameShort{ACM Trans. Internet Things}% - \def\@permissionCodeOne{2577-6207}% -\or % TISSEC - \def\@journalName{ACM Transactions on Information and System Security}% - \def\@journalNameShort{ACM Trans. Info. Syst. Sec.}% - \def\@permissionCodeOne{1094-9224}% -\or % TIST - \def\@journalName{ACM Transactions on Intelligent Systems and Technology}% - \def\@journalNameShort{ACM Trans. Intell. Syst. Technol.}% - \def\@permissionCodeOne{2157-6904}% -\or % TKDD - \def\@journalName{ACM Transactions on Knowledge Discovery from Data}% - \def\@journalNameShort{ACM Trans. Knowl. Discov. Data.}% - \def\@permissionCodeOne{1556-4681}% -\or % TMIS - \def\@journalName{ACM Transactions on Management Information Systems}% - \def\@journalNameShort{ACM Trans. Manag. Inform. Syst.}% - \def\@permissionCodeOne{2158-656X}% -\or % TOCE - \def\@journalName{ACM Transactions on Computing Education}% - \def\@journalNameShort{ACM Trans. Comput. Educ.}% - \def\@permissionCodeOne{1946-6226}% -\or % TOCHI - \def\@journalName{ACM Transactions on Computer-Human Interaction}% - \def\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}% - \def\@permissionCodeOne{1073-0516}% -\or % TOCL - \def\@journalName{ACM Transactions on Computational Logic}% - \def\@journalNameShort{ACM Trans. Comput. Logic}% - \def\@permissionCodeOne{1529-3785}% -\or % TOCS - \def\@journalName{ACM Transactions on Computer Systems}% - \def\@journalNameShort{ACM Trans. Comput. Syst.}% - \def\@permissionCodeOne{0734-2071}% -\or % TOCT - \def\@journalName{ACM Transactions on Computation Theory}% - \def\@journalNameShort{ACM Trans. Comput. Theory}% - \def\@permissionCodeOne{1942-3454}% -\or % TODAES - \def\@journalName{ACM Transactions on Design Automation of Electronic Systems}% - \def\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}% - \def\@permissionCodeOne{1084-4309}% -\or % TODS - \def\@journalName{ACM Transactions on Database Systems}% - \def\@journalNameShort{ACM Trans. Datab. Syst.}% - \def\@permissionCodeOne{0362-5915}% -\or % TOG - \def\@journalName{ACM Transactions on Graphics}% - \def\@journalNameShort{ACM Trans. Graph.}% - \def\@permissionCodeOne{0730-0301} -\or % TOIS - \def\@journalName{ACM Transactions on Information Systems}% - \def\@permissionCodeOne{1046-8188}% -\or % TOIT - \def\@journalName{ACM Transactions on Internet Technology}% - \def\@journalNameShort{ACM Trans. Internet Technol.}% - \def\@permissionCodeOne{1533-5399}% -\or % TOMACS - \def\@journalName{ACM Transactions on Modeling and Computer Simulation}% - \def\@journalNameShort{ACM Trans. Model. Comput. Simul.}% -\or % TOMM - \def\@journalName{ACM Transactions on Multimedia Computing, Communications and Applications}% - \def\@journalNameShort{ACM Trans. Multimedia Comput. Commun. Appl.}% - \def\@permissionCodeOne{1551-6857}% - \def\@permissionCodeTwo{0100}% -\or % TOMPECS - \def\@journalName{ACM Transactions on Modeling and Performance Evaluation of Computing Systems}% - \def\@journalNameShort{ACM Trans. Model. Perform. Eval. Comput. Syst.}% - \def\@permissionCodeOne{2376-3639}% -\or % TOMS - \def\@journalName{ACM Transactions on Mathematical Software}% - \def\@journalNameShort{ACM Trans. Math. Softw.}% - \def\@permissionCodeOne{0098-3500}% -\or % TOPC - \def\@journalName{ACM Transactions on Parallel Computing}% - \def\@journalNameShort{ACM Trans. Parallel Comput.}% - \def\@permissionCodeOne{1539-9087}% -\or % TOPS - \def\@journalName{ACM Transactions on Privacy and Security}% - \def\@journalNameShort{ACM Trans. Priv. Sec.}% - \def\@permissionCodeOne{2471-2566}% -\or % TOPLAS - \def\@journalName{ACM Transactions on Programming Languages and Systems}% - \def\@journalNameShort{ACM Trans. Program. Lang. Syst.}% - \def\@permissionCodeOne{0164-0925}% -\or % TOS - \def\@journalName{ACM Transactions on Storage}% - \def\@journalNameShort{ACM Trans. Storage}% - \def\@permissionCodeOne{1553-3077}% -\or % TOSEM - \def\@journalName{ACM Transactions on Software Engineering and Methodology}% - \def\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}% - \def\@permissionCodeOne{1049-331X}% -\or % TOSN - \def\@journalName{ACM Transactions on Sensor Networks}% - \def\@journalNameShort{ACM Trans. Sensor Netw.}% - \def\@permissionCodeOne{1550-4859}% -\or % TQC - \def\@journalName{ACM Transactions on Quantum Computing}% - \def\@journalNameShort{ACM Trans. Quantum Comput.}% - \def\@permissionCodeOne{2643-6817}% -\or % TRETS - \def\@journalName{ACM Transactions on Reconfigurable Technology and Systems}% - \def\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}% - \def\@permissionCodeOne{1936-7406}% -\or % TSAS - \def\@journalName{ACM Transactions on Spatial Algorithms and Systems}% - \def\@journalNameShort{ACM Trans. Spatial Algorithms Syst.}% - \def\@permissionCodeOne{2374-0353}% -\or % TSC - \def\@journalName{ACM Transactions on Social Computing}% - \def\@journalNameShort{ACM Trans. Soc. Comput.}% - \def\@permissionCodeOne{2469-7818}% -\or % TSLP - \def\@journalName{ACM Transactions on Speech and Language Processing}% - \def\@journalNameShort{ACM Trans. Speech Lang. Process.}% - \def\@permissionCodeOne{1550-4875}% -\or % TWEB - \def\@journalName{ACM Transactions on the Web}% - \def\@journalNameShort{ACM Trans. Web}% - \def\@permissionCodeOne{1559-1131}% -\else % FACMP, a dummy journal - \def\@journalName{Forthcoming ACM Publication}% - \def\@journalNameShort{ACM Forthcoming}% - \def\@permissionCodeOne{XXXX-XXXX}% -\fi -\ClassInfo{\@classname}{Using journal code \@journalCode}% -}{% - \ClassError{\@classname}{Incorrect journal #1}% -}% -% \end{macrocode} -% \begin{macro}{\acmJournal} -% \changes{v1.59}{2019/04/20}{Setting \cs{@ACM@journal@bibstrip}} -% And the syntactic sugar around it -% \begin{macrocode} -\def\acmJournal#1{\setkeys{ACM}{acmJournal=#1}% - \global\@ACM@journal@bibstriptrue} -% \end{macrocode} -% -% \end{macro} -% -% The defaults: -% \begin{macrocode} -\def\@journalCode@nr{0} -\def\@journalName{}% -\def\@journalNameShort{\@journalName}% -\def\@permissionCodeOne{XXXX-XXXX}% -\def\@permissionCodeTwo{}% -% \end{macrocode} -% -% -% \begin{macro}{\acmConference} -% \changes{v1.59}{2019/04/20}{Setting \cs{@ACM@journal@bibstrip}} -% This is the conference command -% \begin{macrocode} -\newcommand\acmConference[4][]{% - \gdef\acmConference@shortname{#1}% - \gdef\acmConference@name{#2}% - \gdef\acmConference@date{#3}% - \gdef\acmConference@venue{#4}% - \ifx\acmConference@shortname\@empty - \gdef\acmConference@shortname{#2}% - \fi - \global\@ACM@journal@bibstripfalse -} -\if@ACM@journal\else -\acmConference[Conference'17]{ACM Conference}{July 2017}{Washington, - DC, USA}% -\fi -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmBooktitle} -% \changes{v1.44}{2017/08/11}{Added macro} -% \begin{macro}{\@acmBooktitle} -% \changes{v1.44}{2017/08/11}{Added macro} -% The book title of the conference: -% \begin{macrocode} -\def\acmBooktitle#1{\gdef\@acmBooktitle{#1}} -\acmBooktitle{Proceedings of \acmConference@name - \ifx\acmConference@name\acmConference@shortname\else - \ (\acmConference@shortname)\fi} -% \end{macrocode} -% -% \end{macro} -% \end{macro} -% -% \begin{macro}{\@editorsAbbrev} -% \changes{v1.44}{2017/08/11}{Added macro} -% How to abbreviate editors -% \begin{macrocode} -\def\@editorsAbbrev{(Ed.)} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@acmEditors} -% \changes{v1.44}{2017/08/11}{Added macro} -% The list of editors -% \begin{macrocode} -\def\@acmEditors{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\editor} -% \changes{v1.44}{2017/08/11}{Added macro} -% Add a new editor to the list -% \begin{macrocode} -\def\editor#1{\ifx\@acmEditors\@empty - \gdef\@acmEditors{#1}% - \else - \gdef\@editorsAbbrev{(Eds.)}% - \g@addto@macro\@acmEditors{\and#1}% -\fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\subtitle} -% The subtitle macro -% \begin{macrocode} -\def\subtitle#1{\def\@subtitle{#1}} -\subtitle{} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\num@authorgroups} -% \changes{v1.15}{2016/06/25}{Renamed} -% The total number of ``groups''. Each group is several authors with -% the same affiliations(s) -% \begin{macrocode} -\newcount\num@authorgroups -\num@authorgroups=0\relax -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\num@authors} -% \changes{v1.46}{2017/08/27}{Introduced macro} -% The total number of authors -% \begin{macrocode} -\newcount\num@authors -\num@authors=0\relax -% \end{macrocode} -% -% \end{macro} -% -% -% -% -% \begin{macro}{\if@insideauthorgroup} -% \changes{v1.15}{2016/06/25}{Introduced macro} -% Whether we are continuing an author group -% \begin{macrocode} -\newif\if@insideauthorgroup -\@insideauthorgroupfalse -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\author} -% \changes{v1.15}{2016/06/25}{Added code for author groups} -% \changes{v1.46}{2017/08/27}{Started counting authors} -% \changes{v1.54}{2018/06/23}{Added submission id in anonymous mode} -% \changes{v1.57}{2018/12/09}{Added warning if \cs{author} has comma} -% \changes{v1.72}{2020/05/04}{Added \cs{detokenize} (Kuldeep S. Meel)} -% Adding an author to the list of authors and addresses -% \begin{macrocode} -\renewcommand\author[2][]{% - \IfSubStr{\detokenize{#2}}{,}{\ClassWarning{\@classname}{Do not put several - authors in the same \string\author\space macro!}}{}% - \global\advance\num@authors by 1\relax - \if@insideauthorgroup\else - \global\advance\num@authorgroups by 1\relax - \global\@insideauthorgrouptrue - \fi - \ifx\addresses\@empty - \if@ACM@anonymous - \gdef\addresses{\@author{Anonymous Author(s)% - \ifx\@acmSubmissionID\@empty\else\\Submission Id: - \@acmSubmissionID\fi}}% - \gdef\authors{Anonymous Author(s)}% - \else - \gdef\addresses{\@author{#2}}% - \gdef\authors{#2}% - \fi - \else - \if@ACM@anonymous\else - \g@addto@macro\addresses{\and\@author{#2}}% - \g@addto@macro\authors{\and#2}% - \fi - \fi - \if@ACM@anonymous - \ifx\shortauthors\@empty - \gdef\shortauthors{Anon. - \ifx\@acmSubmissionID\@empty\else Submission Id: - \@acmSubmissionID\fi}% - \fi - \else - \def\@tempa{#1}% - \ifx\@tempa\@empty - \ifx\shortauthors\@empty - \gdef\shortauthors{#2}% - \else - \g@addto@macro\shortauthors{\and#2}% - \fi - \else - \ifx\shortauthors\@empty - \gdef\shortauthors{#1}% - \else - \g@addto@macro\shortauthors{\and#1}% - \fi - \fi - \fi} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\affiliation} -% \changes{v1.15}{2016/06/25}{Added code for author groups} -% The macro \cs{affiliation} mimics \cs{address} from |amsart|. -% Note that it has an optional argument, which we use differently -% from |amsart|. -% \begin{macrocode} -\newcommand{\affiliation}[2][]{% - \global\@insideauthorgroupfalse - \if@ACM@anonymous\else - \g@addto@macro\addresses{\affiliation{#1}{#2}}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@affiliation@obeypunctuation} -% \changes{v1.33}{2017/03/28}{Added macro} -% Whether to use the author's punctuation (false by default, which adds -% American-style address punctuation) -% \begin{macrocode} -\define@boolkey+{@ACM@affiliation@}[@ACM@affiliation@]{obeypunctuation}% -[true]{}{\ClassError{\@classname}{The option obeypunctuation can be either true or false}} -% \end{macrocode} -% -% \end{macro} -% -% -% -% \begin{macro}{\additionalaffiliation} -% \changes{v1.31}{2017/03/04}{Added macro} -% Additional affiliations go to footnotes -% \begin{macrocode} -\def\additionalaffiliation#1{\authornote{\@additionalaffiliation{#1}}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@additionalaffiliation} -% \changes{v1.31}{2017/03/04}{Added macro} -% Process \cs{additionalaffiliation} inside \cs{authornote} -% \begin{macrocode} -\def\@additionalaffiliation#1{\bgroup - \def\position##1{\ignorespaces}% - \def\institution##1{##1\ignorespaces}% - \def\department{\@ifnextchar[{\@department}{\@department[]}}% - \def\@department[##1]##2{\unskip, ##2\ignorespaces}% - \let\streetaddress\position - \let\city\position - \let\state\position - \let\postcode\position - \let\country\position - Also with #1\unskip.\egroup} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\email} -% \changes{v1.57}{2018/12/09}{Added warning if \cs{author} has comma} -% The macro \cs{email} mimics \cs{email} from |amsart|. -% Again, it has an optional argument that we do not currently need -% but keep for possible future use. -% \begin{macrocode} -\renewcommand{\email}[2][]{% - \IfSubStr{#2}{,}{\ClassWarning{\@classname}{Do not put several - addresses in the same \string\email\space macro!}}{}% - \if@ACM@anonymous\else - \g@addto@macro\addresses{\email{#1}{#2}}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\orcid} -% \changes{v1.15}{2016/06/25}{Introduced macro} -% Right now we do not typeset ORCIDs -% \begin{macrocode} -\def\orcid#1{\unskip\ignorespaces} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\authorsaddresses} -% \changes{v1.46}{2017/08/27}{Introduced macro} -% Setting up authors' addresses -% \begin{macrocode} -\def\authorsaddresses#1{\def\@authorsaddresses{#1}} -\authorsaddresses{\@mkauthorsaddresses} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@titlenotes} -% The title notes -% \begin{macrocode} -\def\@titlenotes{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\titlenote} -% Adding a note to the title -% \begin{macrocode} -\def\titlenote#1{% - \g@addto@macro\@title{\footnotemark}% - \if@ACM@anonymous - \g@addto@macro\@titlenotes{% - \stepcounter{footnote}\footnotetext{Title note}}% - \else - \g@addto@macro\@titlenotes{\stepcounter{footnote}\footnotetext{#1}}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@subtitlenotes} -% The subtitle notes -% \begin{macrocode} -\def\@subtitlenotes{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\subtitlenote} -% Adding a note to the subtitle -% \begin{macrocode} -\def\subtitlenote#1{% - \g@addto@macro\@subtitle{\footnotemark}% - \if@ACM@anonymous - \g@addto@macro\@subtitlenotes{% - \stepcounter{footnote}\footnotetext{Subtitle note}}% - \else - \g@addto@macro\@subtitlenotes{% - \stepcounter{footnote}\footnotetext{#1}}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@authornotes} -% The author notes -% \begin{macrocode} -\def\@authornotes{} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\authornote} -% Adding a note to the author -% \begin{macrocode} -\def\authornote#1{% - \if@ACM@anonymous\else - \g@addto@macro\addresses{\@authornotemark}% - \g@addto@macro\@authornotes{% - \stepcounter{footnote}\footnotetext{#1}}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\authornotemark} -% \changes{v1.39}{2017/05/14}{Added macro} -% Adding a footnote mark to the authors -% \begin{macrocode} -\newcommand\authornotemark[1][\relax]{% - \ifx#1\relax\relax\relax - \g@addto@macro\addresses{\@authornotemark}% - \else - \g@addto@macro\addresses{\@@authornotemark{#1}}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmVolume} -% \changes{v1.17}{2016/07/10}{The default is now numerical} -% The current volume -% \begin{macrocode} -\def\acmVolume#1{\def\@acmVolume{#1}} -\acmVolume{1} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmNumber} -% \changes{v1.17}{2016/07/10}{The default is now numerical} -% The current number -% \begin{macrocode} -\def\acmNumber#1{\def\@acmNumber{#1}} -\acmNumber{1} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmArticle} -% \changes{v1.17}{2016/07/10}{The default is now numerical} -% \changes{v1.44}{2017/08/111}{The default is now empty} -% The current article -% \begin{macrocode} -\def\acmArticle#1{\def\@acmArticle{#1}} -\acmArticle{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmArticleSeq} -% \changes{v1.04}{2016/04/26}{Name change by Matthew Fluet} -% \changes{v1.44}{2017/08/11}{Now acmArticle might be empty} -% The sequence number -% \begin{macrocode} -\def\acmArticleSeq#1{\def\@acmArticleSeq{#1}} -\acmArticleSeq{\@acmArticle} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmYear} -% \changes{v1.17}{2016/07/10}{The default is now numerical} -% \changes{v1.31}{2017/03/04}{The default now is the current year -% (Matteo Riondato)} -% The current year -% \begin{macrocode} -\def\acmYear#1{\def\@acmYear{#1}} -\acmYear{\the\year} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmMonth} -% \changes{v1.17}{2016/07/09}{The default must be numerical. Closes \#50.} -% \changes{v1.31}{2017/03/04}{The default now is the current month -% (Matteo Riondato)} -% The current month -% \begin{macrocode} -\def\acmMonth#1{\def\@acmMonth{#1}} -\acmMonth{\the\month} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@acmPubDate} -% The publication date -% \begin{macrocode} -\def\@acmPubDate{\ifcase\@acmMonth\or - January\or February\or March\or April\or May\or June\or - July\or August\or September\or October\or November\or - December\fi~\@acmYear} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmPrice} -% The price -% \begin{macrocode} -\def\acmPrice#1{\def\@acmPrice{#1}} -\acmPrice{15.00} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\acmSubmissionID} -% \changes{v1.33}{2017/03/29}{Added macro} -% The submission ID -% \begin{macrocode} -\def\acmSubmissionID#1{\def\@acmSubmissionID{#1}} -\acmSubmissionID{} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\acmISBN} -% \changes{v1.04}{2016/04/26}{Name change by Matthew Fluet} -% The book ISBN -% \begin{macrocode} -\def\acmISBN#1{\def\@acmISBN{#1}} -\acmISBN{978-x-xxxx-xxxx-x/YY/MM} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmDOI} -% \changes{v1.04}{2016/04/26}{Name change by Matthew Fluet} -% The paper DOI -% \begin{macrocode} -\def\acmDOI#1{\def\@acmDOI{#1}} -\acmDOI{10.1145/nnnnnnn.nnnnnnn} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@badge} -% \changes{v1.06}{2016/05/01}{Added macro} -% Whether to print a badge. Note that either a left or right badge -% triggers it: -% \begin{macrocode} -\newif\if@ACM@badge -\@ACM@badgefalse -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@ACM@badge@width} -% \changes{v1.06}{2016/05/01}{Added macro} -% The width of the badge -% \begin{macrocode} -\newlength\@ACM@badge@width -\setlength\@ACM@badge@width{5pc} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@ACM@title@width} -% \changes{v1.06}{2016/05/01}{Added macro} -% The width of the badge -% \begin{macrocode} -\newlength\@ACM@title@width -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@ACM@badge@skip} -% \changes{v1.06}{2016/05/01}{Added macro} -% The space between the badge and the title -% \begin{macrocode} -\newlength\@ACM@badge@skip -\setlength\@ACM@badge@skip{1pc} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmBadgeR} -% \changes{v1.06}{2016/05/01}{Added macro} -% Setting the right badge -% \begin{macrocode} -\newcommand\acmBadgeR[2][]{\@ACM@badgetrue - \def\@acmBadgeR@url{#1}% - \def\@acmBadgeR@image{#2}} -\def\@acmBadgeR@url{} -\def\@acmBadgeR@image{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmBadgeL} -% \changes{v1.06}{2016/05/01}{Added macro} -% Setting the left badge -% \begin{macrocode} -\newcommand\acmBadgeL[2][]{\@ACM@badgetrue - \def\@acmBadgeL@url{#1}% - \def\@acmBadgeL@image{#2}} -\def\@acmBadgeL@url{} -\def\@acmBadgeL@image{} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\startPage} -% The start page of the paper -% \begin{macrocode} -\def\startPage#1{\def\@startPage{#1}} -\startPage{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\terms} -% \changes{v1.34}{2017/04/09}{The \cs{terms} command now just produces -% a warning} -% Terms are obsolete. We use CCS now. -% \begin{macrocode} -\def\terms#1{\ClassWarning{\@classname}{The command \string\terms{} is - obsolete. I am going to ignore it}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\keywords} -% Keywords are mostly obsolete. We use CCS now. Still it makes -% sense to keep them for compatibility. -% \begin{macrocode} -\def\keywords#1{\def\@keywords{#1}} -\let\@keywords\@empty -% \end{macrocode} -% -% \changes{1.66}{2019/12/18}{Added warning for missing keywords} -% \begin{macrocode} -\AtEndDocument{\if@ACM@nonacm\else\ifx\@keywords\@empty - \ifnum\getrefnumber{TotPages}>2\relax - \ClassWarningNoLine{\@classname}{ACM keywords are mandatory - for papers over two pages}% - \fi\fi\fi} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{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 -% \begin{macrocode} -\renewenvironment{abstract}{\Collect@Body\@saveabstract}{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@saveabstract} -% And saving the abstract -% \begin{macrocode} -\long\def\@saveabstract#1{\if@ACM@maketitle@typeset - \ClassError{\@classname}{Abstract must be defined before maketitle - command. Please move it!}\fi - \long\gdef\@abstract{#1}} -\@saveabstract{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@lempty} -% The long version of \cs{@empty} (to compare with \cs{@abstract}) -% \begin{macrocode} -\long\def\@lempty{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@printccs} -% \changes{v1.27}{2016/12/29}{Typo corrected} -% Whether to print CCS -% \begin{macrocode} -\define@boolkey+{@ACM@topmatter@}[@ACM@]{printccs}[true]{% - \if@ACM@printccs - \ClassInfo{\@classname}{Printing CCS}% - \else - \ClassInfo{\@classname}{Suppressing CCS}% - \fi}{\ClassError{\@classname}{The option printccs can be either true or false}} -% \end{macrocode} -% -% \end{macro} -% \begin{macro}{\if@ACM@printacmref} -% \changes{v1.17}{2016/07/10}{Renamed from \cs{if@ACM@printbib}} -% Whether to print the ACM bibstrip -% \begin{macrocode} -\define@boolkey+{@ACM@topmatter@}[@ACM@]{printacmref}[true]{% - \if@ACM@printacmref - \ClassInfo{\@classname}{Printing bibformat}% - \else - \ClassInfo{\@classname}{Suppressing bibformat}% - \fi}{\ClassError{\@classname}{The option printacmref can be either true or false}} -% \end{macrocode} -% -% \changes{1.66}{2019/12/18}{Added warning for longer papers} -% \begin{macrocode} -\AtEndDocument{\if@ACM@nonacm\else\if@ACM@printacmref\else - \ifnum\getrefnumber{TotPages}>1\relax - \ClassWarningNoLine{\@classname}{ACM reference format is mandatory - for papers over one page}% - \fi\fi\fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@printfolios} -% \changes{v1.13}{2016/06/06}{Added macro} -% Whether to print folios -% \begin{macrocode} -\define@boolkey+{@ACM@topmatter@}[@ACM@]{printfolios}[true]{% - \if@ACM@printfolios - \ClassInfo{\@classname}{Printing folios}% - \else - \ClassInfo{\@classname}{Suppressing folios}% - \fi}{\ClassError{\@classname}{The option printfolios can be either true or false}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\@ACM@authorsperrow} -% \changes{v1.36}{2017/05/13}{Added macro} -% The number of authors per row. 0 means use the default algorithm. -% \begin{macrocode} -\define@cmdkey{@ACM@topmatter@}[@ACM@]{authorsperrow}[0]{% - \IfInteger{#1}{\ClassInfo{\@classname}{Setting authorsperrow to - #1}}{\ClassWarning{\@classname}{The parameter authorsperrow must be - numerical. Ignoring the input #1}\gdef\@ACM@authorsperrow{0}}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\settopmatter} -% The usual syntactic sugar -% \begin{macrocode} -\def\settopmatter#1{\setkeys{@ACM@topmatter@}{#1}} -% \end{macrocode} -% -% \end{macro} -% -% -% \changes{v1.13}{2016/06/06}{Print bibliographic information by -% default for the proceedings} -% Now the settings -% \begin{macrocode} -\settopmatter{printccs=true, printacmref=true} -\if@ACM@manuscript - \settopmatter{printfolios=true} -\else - \if@ACM@journal - \settopmatter{printfolios=true} - \else - \settopmatter{printfolios=false} - \fi -\fi -\settopmatter{authorsperrow=0} -% \end{macrocode} -% -% \begin{macro}{\@received} -% The container for the paper history -% \begin{macrocode} -\def\@received{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\received} -% The \cs{received} command -% \begin{macrocode} -\newcommand\received[2][]{\def\@tempa{#1}% - \ifx\@tempa\@empty - \ifx\@received\@empty - \gdef\@received{Received #2}% - \else - \g@addto@macro{\@received}{; revised #2}% - \fi - \else - \ifx\@received\@empty - \gdef\@received{#1 #2}% - \else - \g@addto@macro{\@received}{; #1 #2}% - \fi - \fi} -\AtEndDocument{% - \ifx\@received\@empty\else - \par\bigskip\noindent\small\normalfont\@received\par - \fi} -% \end{macrocode} -% -% \end{macro} -% -%\subsection{Concepts system} -%\label{sec:concepts} -% -% We exclude |CCSXML| stuff generated by the ACM system: -% \begin{macrocode} -\RequirePackage{comment} -\excludecomment{CCSXML} -% \end{macrocode} -% -% \begin{macro}{\@concepts} -% This is the storage macro and counter for concepts -% \begin{macrocode} -\let\@concepts\@empty -\newcounter{@concepts} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\ccsdesc} -% \changes{v1.40}{2017/05/27}{Now we can parse |Significance~General| nodes} -% The first argument is the significance, the second is the -% concept(s) -% \begin{macrocode} -\newcommand\ccsdesc[2][100]{% - \ccsdesc@parse#1~#2~~\ccsdesc@parse@end} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\ccsdesc@parse} -% \changes{v1.28}{2017/01/04}{Change from \cs{to} to -% \cs{textrightarrow} (Matteo Riondato)} -% \changes{v1.29}{2017/01/22}{Add spacing after bullet and around -% rightarrow; semicolon separators no longer in bold/italic (John Wickerson)} -% \changes{v1.40}{2017/05/27}{Now we can parse |Significance~General| nodes} -% \changes{v1.56}{2018/10/23}{End the concepts list with a period -% (Philip Quinn)} -% \changes{v1.69}{2019/02/06}{Use math right arrow in text} -% The parser of the expression |Significance~General~Specific| (we need -% |textcomp| for |\textrightarrow|). Note that |Specific| can be empty! -% \begin{macrocode} -\def\textrightarrow{$\rightarrow$} -\def\ccsdesc@parse#1~#2~#3~{% - \stepcounter{@concepts}% - \expandafter\ifx\csname CCS@General@#2\endcsname\relax - \expandafter\gdef\csname CCS@General@#2\endcsname{\textbullet\ - \textbf{#2}}% - \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{; }% - \expandafter\gdef\csname CCS@Specific@#2\endcsname{}% - \g@addto@macro{\@concepts}{\csname CCS@General@#2\endcsname - \csname CCS@Punctuation@#2\endcsname - \csname CCS@Specific@#2\endcsname}% - \fi - \ifx#3\relax\relax\else - \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{ - \textrightarrow\ }% - \expandafter\g@addto@macro\expandafter{\csname CCS@Specific@#2\endcsname}{% - \addtocounter{@concepts}{-1}% - \ifnum#1>499\textbf{#3}\else - \ifnum#1>299\textit{#3}\else - #3\fi\fi\ifnum\value{@concepts}=0.\else; \fi}% - \fi -\ccsdesc@parse@finish} -% \end{macrocode} -% -% \changes{1.66}{2019/12/18}{Added warning for missing concepts} -% \begin{macrocode} -\AtEndDocument{\if@ACM@nonacm\else\ifx\@concepts\@empty\relax - \ifnum\getrefnumber{TotPages}>2\relax - \ClassWarningNoLine{\@classname}{CCS concepts are mandatory - for papers over two pages}% - \fi\fi\fi} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\ccdesc@parse@finish} -% \changes{v1.40}{2017/05/27}{Added macro} -% Gobble everything to |\ccsdesc@parse@end| -% \begin{macrocode} -\def\ccsdesc@parse@finish#1\ccsdesc@parse@end{} -% \end{macrocode} -% -% \end{macro} -% -%\subsection{Copyright system} -%\label{sec:copyright} -% -% This is from |acmcopyright.sty| -% -% \begin{macro}{\if@printcopyright} -% Whether to print a copyright symbol -% \begin{macrocode} -\newif\if@printcopyright -\@printcopyrighttrue -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@printpermission} -% Whether to print the permission block -% \begin{macrocode} -\newif\if@printpermission -\@printpermissiontrue -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@acmowned} -% Whether the ACM owns the rights to the paper -% \begin{macrocode} -\newif\if@acmowned -\@acmownedtrue -% \end{macrocode} -% -% \end{macro} -% -% \changes{v1.10}{2016/05/22}{Changes of `licensedothergov' wording} -% \changes{v1.35}{2017/04/22}{If the copyright is set to usgov or -% rigtsretained, the price is suppressed} -% \changes{v1.51}{2018/04/05}{Suppress price if the copyright is set -% to iw3c2w3 or iw3c2w3g} -% \changes{v1.51}{2018/04/05}{Corrected the bug with price suppression} -% Keys: -% \begin{macrocode} -\define@choicekey*{ACM@}{acmcopyrightmode}[% - \acm@copyrightinput\acm@copyrightmode]{none,% - acmcopyright,acmlicensed,rightsretained,% - usgov,usgovmixed,cagov,cagovmixed,licensedusgovmixed,% - licensedcagov,licensedcagovmixed,othergov,licensedothergov,% - iw3c2w3,iw3c2w3g}{% - \@printpermissiontrue - \@printcopyrighttrue - \@acmownedtrue - \ifnum\acm@copyrightmode=0\relax % none - \@printpermissionfalse - \@printcopyrightfalse - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=2\relax % acmlicensed - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=3\relax % rightsretained - \@acmownedfalse - \AtBeginDocument{\acmPrice{}}% - \fi - \ifnum\acm@copyrightmode=4\relax % usgov - \@printpermissiontrue - \@printcopyrightfalse - \@acmownedfalse - \AtBeginDocument{\acmPrice{}}% - \fi - \ifnum\acm@copyrightmode=6\relax % cagov - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=8\relax % licensedusgovmixed - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=9\relax % licensedcagov - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=10\relax % licensedcagovmixed - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=11\relax % othergov - \@acmownedtrue - \fi - \ifnum\acm@copyrightmode=12\relax % licensedothergov - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=13\relax % iw3c2w3 - \@acmownedfalse - \AtBeginDocument{\acmPrice{}}% - \fi - \ifnum\acm@copyrightmode=14\relax % iw3c2w3g - \@acmownedfalse - \AtBeginDocument{\acmPrice{}}% - \fi} -% \end{macrocode} -% -% \begin{macro}{\setcopyright} -% This is the syntactic sugar around setting keys. -% \begin{macrocode} -\def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}} -\setcopyright{acmcopyright} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@copyrightowner} -% \changes{v1.40}{2017/06/16}{Added new copyright version: -% licensedcagov} -% \changes{v1.52}{2018/04/09}{Rewording of licenses} -% Here is the owner of the copyright -% \begin{macrocode} -\def\@copyrightowner{% - \ifcase\acm@copyrightmode\relax % none - \or % acmcopyright - Association for Computing Machinery. - \or % acmlicensed - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % rightsretained - Copyright held by the owner/author(s). - \or % usgov - \or % usgovmixed - Association for Computing Machinery. - \or % cagov - Crown in Right of Canada. - \or %cagovmixed - Association for Computing Machinery. - \or %licensedusgovmixed - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % licensedcagov - Crown in Right of Canada. Publication rights licensed to - ACM\@. - \or %licensedcagovmixed - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % othergov - Association for Computing Machinery. - \or % licensedothergov - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % ic2w3www - IW3C2 (International World Wide Web Conference Committee), published - under Creative Commons CC-BY~4.0 License. - \or % ic2w3wwwgoogle - IW3C2 (International World Wide Web Conference Committee), published - under Creative Commons CC-BY-NC-ND~4.0 License. - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@formatdoi} -% \changes{v1.03}{2016/04/22}{Added macro} -% \changes{v1.32}{2017/04/07}{New doi format} -% Print a clickable DOI -% \begin{macrocode} -\def\@formatdoi#1{\url{https://doi.org/#1}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@copyrightpermission} -% \changes{v1.40}{2017/06/16}{Added new copyright version: licensedcagov} -% \changes{v1.50}{2018/02/07}{New copyright statements for iw3c2w3[g]} -% \changes{v1.52}{2018/04/09}{Another rewording of copyright -% statements for iw3c2w3[g]} -% The canned permission block. -% \begin{macrocode} -\def\@copyrightpermission{% - \ifcase\acm@copyrightmode\relax % none - \or % acmcopyright - Permission to make digital or hard copies of all or part of this - work for personal or classroom use is granted without fee provided - that copies are not made or distributed for profit or commercial - advantage and that copies bear this notice and the full citation on - the first page. Copyrights for components of this work owned by - others than ACM must be honored. Abstracting with credit is - permitted. To copy otherwise, or republish, to post on servers or to - redistribute to lists, requires prior specific permission - and\hspace*{.5pt}/or a fee. Request permissions from - permissions@acm.org. - \or % acmlicensed - Permission to make digital or hard copies of all or part of this - work for personal or classroom use is granted without fee provided - that copies are not made or distributed for profit or commercial - advantage and that copies bear this notice and the full citation on - the first page. Copyrights for components of this work owned by - others than the author(s) must be honored. Abstracting with credit - is permitted. To copy otherwise, or republish, to post on servers - or to redistribute to lists, requires prior specific permission - and\hspace*{.5pt}/or a fee. Request permissions from - permissions@acm.org. - \or % rightsretained - Permission to make digital or hard copies of part or all of this work - for personal or classroom use is granted without fee provided that - copies are not made or distributed for profit or commercial advantage - and that copies bear this notice and the full citation on the first - page. Copyrights for third-party components of this work must be - honored. For all other uses, contact the - owner\hspace*{.5pt}/author(s). - \or % usgov - This paper is authored by an employee(s) of the United States - Government and is in the public domain. Non-exclusive copying or - redistribution is allowed, provided that the article citation is - given and the authors and agency are clearly identified as its - source. - \or % usgovmixed - ACM acknowledges that this contribution was authored or co-authored - by an employee, contractor, or affiliate of the United States - government. As such, the United States government retains a - nonexclusive, royalty-free right to publish or reproduce this - article, or to allow others to do so, for government purposes only. - \or % cagov - This article was authored by employees of the Government of Canada. - As such, the Canadian government retains all interest in the - copyright to this work and grants to ACM a nonexclusive, - royalty-free right to publish or reproduce this article, or to allow - others to do so, provided that clear attribution is given both to - the authors and the Canadian government agency employing them. - Permission to make digital or hard copies for personal or classroom - use is granted. Copies must bear this notice and the full citation - on the first page. Copyrights for components of this work owned by - others than the Canadian Government must be honored. To copy - otherwise, distribute, republish, or post, requires prior specific - permission and\hspace*{.5pt}/or a fee. Request permissions from - permissions@acm.org. - \or % cagovmixed - ACM acknowledges that this contribution was co-authored by an - affiliate of the national government of Canada. As such, the Crown - in Right of Canada retains an equal interest in the copyright. - Reprints must include clear attribution to ACM and the author's - government agency affiliation. Permission to make digital or hard - copies for personal or classroom use is granted. Copies must bear - this notice and the full citation on the first page. Copyrights for - components of this work owned by others than ACM must be honored. - To copy otherwise, distribute, republish, or post, requires prior - specific permission and\hspace*{.5pt}/or a fee. Request permissions - from permissions@acm.org. - \or % licensedusgovmixed - Publication rights licensed to ACM\@. ACM acknowledges that this - contribution was authored or co-authored by an employee, contractor - or affiliate of the United States government. As such, the - Government retains a nonexclusive, royalty-free right to publish or - reproduce this article, or to allow others to do so, for Government - purposes only. - \or % licensedcagov - This article was authored by employees of the Government of Canada. - As such, the Canadian government retains all interest in the - copyright to this work and grants to ACM a nonexclusive, - royalty-free right to publish or reproduce this article, or to allow - others to do so, provided that clear attribution is given both to - the authors and the Canadian government agency employing them. - Permission to make digital or hard copies for personal or classroom - use is granted. Copies must bear this notice and the full citation - on the first page. Copyrights for components of this work owned by - others than the Canadian Government must be honored. To copy - otherwise, distribute, republish, or post, requires prior specific - permission and\hspace*{.5pt}/or a fee. Request permissions from - permissions@acm.org. - \or % licensedcagovmixed - Publication rights licensed to ACM\@. ACM acknowledges that this - contribution was authored or co-authored by an employee, contractor - or affiliate of the national government of Canada. As such, the - Government retains a nonexclusive, royalty-free right to publish or - reproduce this article, or to allow others to do so, for Government - purposes only. - \or % othergov - ACM acknowledges that this contribution was authored or co-authored - by an employee, contractor or affiliate of a national government. As - such, the Government retains a nonexclusive, royalty-free right to - publish or reproduce this article, or to allow others to do so, for - Government purposes only. - \or % licensedothergov - Publication rights licensed to ACM\@. ACM acknowledges that this - contribution was authored or co-authored by an employee, contractor - or affiliate of a national government. As such, the Government - retains a nonexclusive, royalty-free right to publish or reproduce - this article, or to allow others to do so, for Government purposes - only. - \or % iw3c2w3 - This paper is published under the Creative Commons Attribution~4.0 - International (CC-BY~4.0) license. Authors reserve their rights to - disseminate the work on their personal and corporate Web sites with - the appropriate attribution. - \or % iw3c2w3g - This paper is published under the Creative Commons - Attribution-NonCommercial-NoDerivs~4.0 International - (CC-BY-NC-ND~4.0) license. Authors reserve their rights to - disseminate the work on their personal and corporate Web sites with - the appropriate attribution. - \fi} -% \end{macrocode} -% -% \end{macro} -% -% -% -% -% \begin{macro}{\copyrightyear} -% By default, the copyright year is the same as \cs{acmYear}, but -% one can override this: -% \begin{macrocode} -\def\copyrightyear#1{\def\@copyrightyear{#1}} -\copyrightyear{\@acmYear} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@teaserfigures} -% The teaser figures container -% \begin{macrocode} -\def\@teaserfigures{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{teaserfigure} -% The teaser figure -% \begin{macrocode} -\newenvironment{teaserfigure}{\Collect@Body\@saveteaser}{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@saveteaser} -% Saving the teaser -% \begin{macrocode} -\long\def\@saveteaser#1{\g@addto@macro\@teaserfigures{\@teaser{#1}}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\thanks} -% We redefine |amsart| \cs{thanks} so the |anonymous| key works -% \begin{macrocode} -\renewcommand{\thanks}[1]{% - \@ifnotempty{#1}{% - \if@ACM@anonymous - \g@addto@macro\thankses{\thanks{A note}}% - \else - \g@addto@macro\thankses{\thanks{#1}}% - \fi}} -% \end{macrocode} -% -% \end{macro} -% -% -%\subsection{Maketitle hook} -%\label{sec:hook} -% -% The current \LaTeX\ provides a nice |lthooks| mechanism. However, -% since it is relatively new, we will use oldfashioned approach---at -% least for now. -% -% \begin{macro}{\@beginmaketitlehook} -% \changes{v1.75}{2020/11/15}{Introduced macro} -% The hook -% \begin{macrocode} -\ifx\@beginmaketitlehook\@undefined - \let\@beginmaketitlehook\@empty -\fi -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\AtBeginMaketitle} -% \changes{v1.75}{2020/11/15}{Introduced macro} -% Adding to the hook -% \begin{macrocode} -\def\AtBeginMaketitle{\g@addto@macro\@beginmaketitlehook} -% \end{macrocode} -% \end{macro} -% -% \subsection{Typesetting top matter} -% \label{sec:maketitle} -% -% \begin{macro}{\mktitle@bx} -% Some of our formats use a two-column design. Some use a one-column -% design. In all cases we use a wide title. Thus we typeset the top -% matter in a special box to be used in the construction -% \cs{@twocolumn}\oarg{box}. -% \begin{macrocode} -\newbox\mktitle@bx -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\maketitle} -% \changes{v1.03}{2016/04/22}{Added special case of authorversion} -% \changes{v1.07}{2016/05/03}{Corrected a bug with abstract footnotes} -% \changes{v1.07}{2016/05/03}{Corrected a bug with permssion and -% footnotes order} -% \changes{v1.10}{2016/05/23}{Corrected a bug with doi in manuscript -% and author vertsion, -% \url{https://github.com/borisveytsman/acmart/issues/36}} -% \changes{v1.12}{2016/05/30}{Moved thankses to copyrightpermission box} -% \changes{v1.33}{2017/03/27}{Fixed the bug with figures on top and -% bottom of the title page, thanks to David Epstein} -% \changes{v1.34}{2017/04/09}{Deleted `DOI' from doi numbers} -% \changes{v1.34}{2017/04/09}{Added date to the bibstrip in conf proceedings} -% \changes{v1.34}{2017/04/09}{The \cs{terms} command is now obsolete} -% \changes{v1.34}{2017/04/11}{Rearranged bibstrip} -% \changes{v1.44}{2017/07/30}{Empty DOI or ISBN are not printed (by -% Michael Ekstrand)} -% \changes{v1.46}{2017/08/27}{Added authors' addresses} -% \changes{v1.46}{2017/08/28}{Thankses go before authors' addresses} -% \changes{v1.48}{2017/09/23}{Added acmart and version info to -% pdfcreator tag} -% \changes{v1.48}{2017/10/14}{Suppressed empty DOI (Serguei Mokhov)} -% \changes{v1.48}{2017/11/18}{Added language and doctitle attributes -% to PDF (Andreas Reichinger)} -% \changes{v1.55}{2018/10/14}{Fixes topnum} -% \changes{v1.58}{2019/01/23}{Original \cs{vspace} inside -% \cs{maketitle}} -% \changes{v1.64}{2019/08/17}{Added a switch setting to show that -% \cs{maketitle} is typeset} -% \changes{v1.72}{2020/06/14}{Do not andify authors for pdf metadata -% (Scott Pakin)} -% \changes{v1.73}{2020/09/07}{Do not check again the presense of -% address fields} -% \changes{v1.75}{2020/11/15}{Added \cs{@beginmaketitlehook}} -% The (in)famous \cs{maketitle}. Note that in |sigchi-a| mode, authors -% are \emph{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 copyright/permission block. By the -% way, this was the default behavior of the old ACM classes. -% \begin{macrocode} -\def\maketitle{\@beginmaketitlehook - \@ACM@maketitle@typesettrue - \if@ACM@anonymous - % Anonymize omission of \author-s - \ifnum\num@authorgroups=0\author{}\fi - \fi - \begingroup - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \let\@footnotemark\@footnotemark@nolink - \let\@footnotetext\@footnotetext@nolink - \renewcommand\thefootnote{\@fnsymbol\c@footnote}% - \hsize=\textwidth - \def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}% - \@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers - \@printtopmatter - \if@ACM@sigchiamode\@mkauthors\fi - \setcounter{footnote}{0}% - \def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}% - \@titlenotes - \@subtitlenotes - \@authornotes - \let\@makefnmark\relax - \let\@thefnmark\relax - \let\@makefntext\noindent - \ifx\@empty\thankses\else - \footnotetextauthorsaddresses{% - \def\par{\let\par\@par}\parindent\z@\@setthanks}% - \fi - \ifx\@empty\@authorsaddresses\else - \if@ACM@anonymous\else - \if@ACM@journal@bibstrip - \footnotetextauthorsaddresses{% - \def\par{\let\par\@par}\parindent\z@\@setauthorsaddresses}% - \fi - \fi - \fi - \if@ACM@nonacm\else\footnotetextcopyrightpermission{% - \if@ACM@authordraft - \raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries - Unpublished working draft. Not for distribution.}}% - \color[gray]{0.9}% - \fi - \parindent\z@\parskip0.1\baselineskip - \if@ACM@authorversion\else - \if@printpermission\@copyrightpermission\par\fi - \fi - \if@ACM@manuscript\else - \if@ACM@journal@bibstrip\else % Print the conference information - {\itshape \acmConference@shortname, \acmConference@date, \acmConference@venue}\par - \fi - \fi - \if@printcopyright - \copyright\ \@copyrightyear\ \@copyrightowner\\ - \else - \@copyrightyear.\ - \fi - \if@ACM@manuscript - Manuscript submitted to ACM\\ - \else - \if@ACM@authorversion - This is the author's version of the work. It is posted here for - your personal use. Not for redistribution. The definitive Version - of Record was published in - \if@ACM@journal@bibstrip - \emph{\@journalName}% - \else - \emph{\@acmBooktitle}% - \fi - \ifx\@acmDOI\@empty - . - \else - , \@formatdoi{\@acmDOI}. - \fi\\ - \else - \if@ACM@nonacm\else - \if@ACM@journal@bibstrip - \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle - \ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\ - \@formatdoi{\@acmDOI}% - \else % Conference - \ifx\@acmISBN\@empty\else ACM~ISBN~\@acmISBN - \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\\fi - \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi% - \fi - \fi - \fi - \fi} - \fi - \endgroup - \setcounter{footnote}{0}% - \@mkabstract - \if@ACM@printccs - \ifx\@concepts\@empty\else\bgroup - {\@specialsection{CCS Concepts}% - \noindent\@concepts\par}\egroup - \fi - \fi - \ifx\@keywords\@empty\else\bgroup - {\if@ACM@journal - \@specialsection{Additional Key Words and Phrases}% - \else - \@specialsection{Keywords}% - \fi - \noindent\@keywords}\par\egroup - \fi - \let\metadata@authors=\authors - \nxandlist{, }{, }{, }\metadata@authors - \def\@ACM@checkaffil{}% - \hypersetup{% - pdfauthor={\metadata@authors}, - pdftitle={\@title}, - pdfsubject={\@concepts}, - pdfkeywords={\@keywords}, - pdfcreator={LaTeX with acmart - \csname ver@acmart.cls\endcsname\space - and hyperref - \csname ver@hyperref.sty\endcsname}}% - \andify\authors - \andify\shortauthors - \global\let\authors=\authors - \global\let\shortauthors=\shortauthors - \if@ACM@printacmref - \@mkbibcitation - \fi - \global\@topnum\z@ % this prevents floats from falling - % at the top of page 1 - \global\@botnum\z@ % we do not want them to be on the bottom either - \@printendtopmatter - \@afterindentfalse - \@afterheading -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@specialsection} -% \changes{v1.66}{2019/11/23}{Suppress warnings about \cs{vspace}} -% \changes{v1.67}{2020/01/11}{Paragraph inside group does not print -% its argument. Added a bugfix} -% \changes{v1.68}{2020/01/19}{Deleted grouping altogether} -% \changes{v1.69}{2020/02/02}{Changed dot to colon for sigplan} -% This macro starts sections for proceedings and uses \cs{small} for journals -% \begin{macrocode} -\def\@specialsection#1{% - \ifcase\ACM@format@nr - \relax % manuscript - \par\medskip\small\noindent#1: % - \or % acmsmall - \par\medskip\small\noindent#1: % - \or % acmlarge - \par\medskip\small\noindent#1: % - \or % acmtog - \par\medskip\small\noindent#1: % - \or % sigconf - \section*{#1}% - \or % siggraph - \section*{#1}% - \or % sigplan - \noindentparagraph*{#1:~}% - \or % sigchi - \section*{#1}% - \or % sigchi-a - \section*{#1}% - \fi -} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@printtopmatter} -% \changes{v1.06}{2016/05/01}{Added processing badges} -% \changes{v1.46}{2017/08/29}{Deleted rule} -% 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 \cs{mktitle} since we want them in the margins. -% \begin{macrocode} -\def\@printtopmatter{% - \ifx\@startPage\@empty - \gdef\@startPage{1}% - \else - \setcounter{page}{\@startPage}% - \fi - \thispagestyle{firstpagestyle}% - \noindent - \ifcase\ACM@format@nr - \relax % manuscript - \box\mktitle@bx\par - \or % acmsmall - \box\mktitle@bx\par - \or % acmlarge - \box\mktitle@bx\par - \or % acmtog - \twocolumn[\box\mktitle@bx]% - \or % sigconf - \twocolumn[\box\mktitle@bx]% - \or % siggraph - \twocolumn[\box\mktitle@bx]% - \or % sigplan - \twocolumn[\box\mktitle@bx]% - \or % sigchi - \twocolumn[\box\mktitle@bx]% - \or % sigchi-a - \par\box\mktitle@bx\par\bigskip - \if@ACM@badge - \marginpar{\noindent - \ifx\@acmBadgeL@image\@empty\else - \href{\@acmBadgeL@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}% - \hskip\@ACM@badge@skip - \fi - \ifx\@acmBadgeR@image\@empty\else - \href{\@acmBadgeR@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}% - \fi}% - \fi - \fi -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mktitle} -% The title of the article -% \begin{macrocode} -\def\@mktitle{% - \ifcase\ACM@format@nr - \relax % manuscript - \@mktitle@i - \or % acmsmall - \@mktitle@i - \or % acmlarge - \@mktitle@i - \or % acmtog - \@mktitle@i - \or % sigconf - \@mktitle@iii - \or % siggraph - \@mktitle@iii - \or % sigplan - \@mktitle@iii - \or % sigchi - \@mktitle@iii - \or % sigchi-a - \@mktitle@iv - \fi -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@titlefont} -% \changes{v1.06}{2016/05/01}{Added macro} -% \changes{v1.45}{2017/08/15}{Switched \cs{bfeseries}\cs{sffamily} to -% \cs{sffamily}\cs{bfseries}} -% The font to typeset the title -% \begin{macrocode} -\def\@titlefont{% - \ifcase\ACM@format@nr - \relax % manuscript - \LARGE\sffamily\bfseries - \or % acmsmall - \LARGE\sffamily\bfseries - \or % acmlarge - \LARGE\sffamily\bfseries - \or % acmtog - \Huge\sffamily - \or % sigconf - \Huge\sffamily\bfseries - \or % siggraph - \Huge\sffamily\bfseries - \or % sigplan - \Huge\bfseries - \or % sigchi - \Huge\sffamily\bfseries - \or % sigchi-a - \Huge\bfseries - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@subtitlefont} -% \changes{v1.06}{2016/05/01}{Added macro} -% \changes{v1.33}{2017/03/12}{Added \cs{normalsize}} -% The font to typeset the subtitle -% \begin{macrocode} -\def\@subtitlefont{\normalsize - \ifcase\ACM@format@nr - \relax % manuscript - \mdseries - \or % acmsmall - \mdseries - \or % acmlarge - \mdseries - \or % acmtog - \LARGE - \or % sigconf - \LARGE\mdseries - \or % siggraph - \LARGE\mdseries - \or % sigplan - \LARGE\mdseries - \or % sigchi - \LARGE\mdseries - \or % sigchi-a - \mdseries - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mktitle@i} -% \changes{v1.06}{2016/05/01}{Made generic} -% \changes{v1.06}{2016/05/01}{Added processing badges} -% The version of \cs{mktitle} for most journals -% \begin{macrocode} -\def\@mktitle@i{\hsize=\textwidth - \@ACM@title@width=\hsize - \ifx\@acmBadgeL@image\@empty\else - \advance\@ACM@title@width by -\@ACM@badge@width - \advance\@ACM@title@width by -\@ACM@badge@skip - \fi - \ifx\@acmBadgeR@image\@empty\else - \advance\@ACM@title@width by -\@ACM@badge@width - \advance\@ACM@title@width by -\@ACM@badge@skip - \fi - \setbox\mktitle@bx=\vbox{\noindent\@titlefont - \ifx\@acmBadgeL@image\@empty\else - \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}% - \hskip\@ACM@badge@skip - \fi - \parbox[t]{\@ACM@title@width}{\raggedright - \@titlefont\noindent - \@title - \ifx\@subtitle\@empty\else - \par\noindent{\@subtitlefont\@subtitle} - \fi}% - \ifx\@acmBadgeR@image\@empty\else - \hskip\@ACM@badge@skip - \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}% - \fi - \par\bigskip}}% -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mktitle@ii} -% \changes{v1.06}{2016/05/01}{Now this macro is obsolete} -% The version of \cs{mktitle} for TOG. Since v1.06, this is subsumed by -% the \cs{mktitle@i} macro -% \end{macro} -% -% -% \begin{macro}{\@mktitle@iii} -% \changes{v1.06}{2016/05/01}{Made more generic} -% \changes{v1.06}{2016/05/01}{Added processing badges} -% The version of \cs{@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. -% \begin{macrocode} -\def\@mktitle@iii{\hsize=\textwidth - \setbox\mktitle@bx=\vbox{\@titlefont\centering - \@ACM@title@width=\hsize - \if@ACM@badge - \advance\@ACM@title@width by -2\@ACM@badge@width - \advance\@ACM@title@width by -2\@ACM@badge@skip - \parbox[b]{\@ACM@badge@width}{\strut - \ifx\@acmBadgeL@image\@empty\else - \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}% - \fi}% - \hskip\@ACM@badge@skip - \fi - \parbox[t]{\@ACM@title@width}{\centering\@titlefont - \@title - \ifx\@subtitle\@empty\else - \par\noindent{\@subtitlefont\@subtitle} - \fi - }% - \if@ACM@badge - \hskip\@ACM@badge@skip - \parbox[b]{\@ACM@badge@width}{\strut - \ifx\@acmBadgeR@image\@empty\else - \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}% - \fi}% - \fi - \par\bigskip}}% -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@mktitle@iv} -% \changes{v1.06}{2016/05/01}{Made more generic} -% The version of \cs{@mktitle} for |sigchi-a| -% \begin{macrocode} -\def\@mktitle@iv{\hsize=\textwidth - \setbox\mktitle@bx=\vbox{\raggedright\leftskip5pc\@titlefont - \noindent\leavevmode\leaders\hrule height 2pt\hfill\kern0pt\par - \noindent\@title - \ifx\@subtitle\@empty\else - \par\noindent\@subtitlefont\@subtitle - \fi - \par\bigskip}}% -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@ACM@addtoaddress} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% This macro adds an item to the address using the following rules: -% \begin{enumerate} -% \item If we start a paragraph, add the item -% \item Otherwise, add a comma and the item -% \item However, the comma is deleted if it is at the end of a -% line. We use the magic \cs{cleaders} trick for this. -% \end{enumerate} -% \begin{macrocode} -\newbox\@ACM@commabox -\def\@ACM@addtoaddress#1{% - \ifvmode\else - \if@ACM@affiliation@obeypunctuation\else - \setbox\@ACM@commabox=\hbox{, }% - \unskip\cleaders\copy\@ACM@commabox\hskip\wd\@ACM@commabox - \fi\fi - #1} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\institution} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.73}{2020/09/07}{Check the presence in affil} -% \begin{macro}{\position} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \begin{macro}{\department} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.30}{2017/02/10}{Added optional parameter} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \begin{macro}{\streetaddress} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.40}{2017/06/15}{We now do not print this even in SIG} -% \begin{macro}{\city} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.40}{2017/06/15}{We now do not print this even in SIG} -% \changes{v1.73}{2020/09/07}{Check the presence in affil} -% \begin{macro}{\state} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.40}{2017/06/15}{We now do not print this even in SIG} -% \begin{macro}{\postcode} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.40}{2017/06/15}{We now do not print this even in SIG} -% \begin{macro}{\country} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.40}{2017/05/27}{Fixed bugs with extra spaces} -% \changes{v1.43}{2017/07/11}{Added comma before country for journals} -% \changes{v1.46}{2017/08/30}{Corrected spacing for institution} -% \changes{v1.73}{2020/09/07}{Check the presence in affil} -% Theoretically we can define the macros for \cs{affiliation} inside -% the \cs{@mkauthors}-style commands. However, this would lead to a -% strange error if an author uses them outside \cs{affiliation}. Of -% course we can make them produce an error message, but\ldots -% \begin{macrocode} -\def\streetaddress#1{\unskip\ignorespaces} -\def\postcode#1{\unskip\ignorespaces} -\if@ACM@journal - \def\position#1{\unskip\ignorespaces} - \def\institution#1{\global\@ACM@instpresenttrue - \unskip~#1\ignorespaces} - \def\city#1{\global\@ACM@citypresenttrue\unskip\ignorespaces} - \def\state#1{\unskip\ignorespaces} - \newcommand\department[2][0]{\unskip\ignorespaces} - \def\country#1{\global\@ACM@countrypresenttrue - \if@ACM@affiliation@obeypunctuation\else, \fi#1\ignorespaces} -\else - \def\position#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}% - \def\institution#1{\global\@ACM@instpresenttrue - \if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}% - \newcommand\department[2][0]{\if@ACM@affiliation@obeypunctuation - #2\else#2\par\fi}% -% \def\streetaddress#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}% - \def\city#1{\global\@ACM@citypresenttrue\@ACM@addtoaddress{#1}}% - \let\state\@ACM@addtoaddress -% \def\postcode#1{\if@ACM@affiliation@obeypunctuation#1\else\unskip\space#1\fi}% - \def\country#1{\global\@ACM@countrypresenttrue\@ACM@addtoaddress{#1}}% -\fi -% \end{macrocode} -% -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\@mkauthors} -% \changes{v1.17}{2016/07/09}{TOG now uses the same authors block as -% other journals} -% Typesetting the authors -% \begin{macrocode} -\def\@mkauthors{\begingroup - \hsize=\textwidth - \ifcase\ACM@format@nr - \relax % manuscript - \@mkauthors@i - \or % acmsmall - \@mkauthors@i - \or % acmlarge - \@mkauthors@i - \or % acmtog - \@mkauthors@i - \or % sigconf - \@mkauthors@iii - \or % siggraph - \@mkauthors@iii - \or % sigplan - \@mkauthors@iii - \or % sigchi - \@mkauthors@iii - \or % sigchi-a - \@mkauthors@iv - \fi - \endgroup -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@authorfont} -% Somehow different conferences use different fonts for author -% names. Why? -% \begin{macrocode} -\def\@authorfont{\Large\sffamily} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@affiliationfont} -% Font for affiliations -% \begin{macrocode} -\def\@affiliationfont{\normalsize\normalfont} -% \end{macrocode} -% \end{macro} -% -% \changes{v1.13}{2016/06/06}{Font adjustments for acmsmall} -% Adjusting fonts for different formats -% \begin{macrocode} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall - \def\@authorfont{\large\sffamily} - \def\@affiliationfont{\small\normalfont} -\or % acmlarge -\or % acmtog - \def\@authorfont{\LARGE\sffamily} - \def\@affiliationfont{\large} -\or % sigconf - \def\@authorfont{\LARGE} - \def\@affiliationfont{\large} -\or % siggraph - \def\@authorfont{\normalsize\normalfont} - \def\@affiliationfont{\normalsize\normalfont} -\or % sigplan - \def\@authorfont{\Large\normalfont} - \def\@affiliationfont{\normalsize\normalfont} -\or % sigchi - \def\@authorfont{\bfseries} - \def\@affiliationfont{\mdseries} -\or % sigchi-a - \def\@authorfont{\bfseries} - \def\@affiliationfont{\mdseries} -\fi -% \end{macrocode} -% -% \begin{macro}{\@typeset@author@line} -% \changes{v1.18}{2016/07/12}{Added macro} -% At this point we have \cs{@currentauthors} and -% \cs{@currentaffiliations}. We typeset them in the journal style -% \begin{macrocode} -\def\@typeset@author@line{% - \andify\@currentauthors\par\noindent - \@currentauthors\def\@currentauthors{}% - \ifx\@currentaffiliations\@empty\else - \andify\@currentaffiliations - \unskip, {\@currentaffiliations}\par - \fi - \def\@currentaffiliations{}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@instpresent} -% \changes{v1.73}{2020/09/07}{Added macro} -% Whether the given affiliation has institution -% \begin{macrocode} -\newif\if@ACM@instpresent -\@ACM@instpresenttrue -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\if@ACM@citypresent} -% \changes{v1.73}{2020/09/07}{Added macro} -% Whether the given affiliation has city -% \begin{macrocode} -\newif\if@ACM@citypresent -\@ACM@citypresenttrue -% \end{macrocode} -% -% \end{macro} -% \begin{macro}{\if@ACM@countrypresent} -% \changes{v1.73}{2020/09/07}{Added macro} -% Whether the given affiliation has country -% \begin{macrocode} -\newif\if@ACM@countrypresent -\@ACM@countrypresenttrue -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@ACM@resetaffil} -% \changes{v1.73}{2020/09/07}{Added macro} -% Reset affiliation flags -% \begin{macrocode} -\def\@ACM@resetaffil{% - \global\@ACM@instpresentfalse - \global\@ACM@citypresentfalse - \global\@ACM@countrypresentfalse -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@ACM@checkaffil} -% \changes{v1.73}{2020/09/07}{Added macro} -% \changes{v1.75}{2020/11/15}{Changed warning to error for country} -% Check affiliation flags -% \begin{macrocode} -\def\@ACM@checkaffil{% - \if@ACM@instpresent\else - \ClassWarningNoLine{\@classname}{No institution present for an affiliation}% - \fi - \if@ACM@citypresent\else - \ClassWarningNoLine{\@classname}{No city present for an affiliation}% - \fi - \if@ACM@countrypresent\else - \ClassError{\@classname}{No country present for an affiliation}{ACM - requires each author to indicate their country using country macro.}% - \fi -} -% \end{macrocode} -% -% \end{macro} -% -% -% -% -% \begin{macro}{\@mkauthors@i} -% \changes{v1.18}{2016/07/12}{Now we andify affiliations} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.40}{2017/06/04}{Switched to MakeTextUppercase} -% \changes{v1.73}{2020/09/07}{Check the presence of required elements -% for affiliations} -% This version is used in most journal formats. Note that \cs{and} between -% authors with the same affiliation becomes \verb*| and |: -% \begin{macrocode} -\def\@mkauthors@i{% - \def\@currentauthors{}% - \def\@currentaffiliations{}% - \global\let\and\@typeset@author@line - \def\@author##1{% - \ifx\@currentauthors\@empty - \gdef\@currentauthors{\@authorfont\MakeTextUppercase{##1}}% - \else - \g@addto@macro{\@currentauthors}{\and\MakeTextUppercase{##1}}% - \fi - \gdef\and{}}% - \def\email##1##2{}% - \def\affiliation##1##2{% - \def\@tempa{##2}\ifx\@tempa\@empty\else - \ifx\@currentaffiliations\@empty - \gdef\@currentaffiliations{% - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}% - \@ACM@resetaffil - \@affiliationfont##2\@ACM@checkaffil}% - \else - \g@addto@macro{\@currentaffiliations}{\and - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \fi - \fi - \global\let\and\@typeset@author@line}% - \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par\medskip - \noindent\addresses\@typeset@author@line - \par\medskip}% -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mkauthors@ii} -% \changes{v1.17}{2016/07/09}{Deleted} -% The \cs{@mkauthors@ii} command was the version used in |acmtog|. -% It is no longer necessary. -% -% \end{macro} -% -% \begin{macro}{\author@bx} -% The box to put an individual author in -% \begin{macrocode} -\newbox\author@bx -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\author@bx@wd} -% The width of the author box -% \begin{macrocode} -\newdimen\author@bx@wd -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\author@bx@sep} -% The separation between author boxes -% \begin{macrocode} -\newskip\author@bx@sep -\author@bx@sep=1pc\relax -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@typeset@author@bx} -% \changes{v1.15}{2016/07/04}{Moved to separate macro} -% \changes{v1.61}{2019/05/26}{Added \cs{normalbaselines}} -% Typesetting the box with authors. Note that in |sigchi-a| the box -% is not centered. -% \begin{macrocode} -\def\@typeset@author@bx{\bgroup\hsize=\author@bx@wd - \def\and{\par}\normalbaselines - \global\setbox\author@bx=\vtop{\if@ACM@sigchiamode\else\centering\fi - \@authorfont\@currentauthors\par\@affiliationfont - \@currentaffiliation}\egroup - \box\author@bx\hspace{\author@bx@sep}% - \gdef\@currentauthors{}% - \gdef\@currentaffiliation{}} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@mkauthors@iii} -% \changes{v1.15}{2016/07/04}{New authors system} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.36}{2017/05/12}{Added authorsperrow overrride} -% \changes{v1.73}{2020/09/07}{Check the presence of required elements -% for affiliations} -% The |sigconf| version. Here we use a centered design with each -% author in a separate box. -% \begin{macrocode} -\def\@mkauthors@iii{% -% \end{macrocode} -% First, we need to determine the design of the author strip. The -% boxes are separated by \cs{author@bx@sep} plus two -% \cs{author@bx@sep} margins. This means that each box must be of -% width $(\cs{textwidth}-\cs{author@bx@sep})/N-\cs{author@bx@sep}$, -% where $N$ is the number of boxes per row. -% \begin{macrocode} - \author@bx@wd=\textwidth\relax - \advance\author@bx@wd by -\author@bx@sep\relax - \ifnum\@ACM@authorsperrow>0\relax - \divide\author@bx@wd by \@ACM@authorsperrow\relax - \else - \ifcase\num@authorgroups - \relax % 0? - \or % 1=one author per row - \or % 2=two authors per row - \divide\author@bx@wd by \num@authorgroups\relax - \or % 3=three authors per row - \divide\author@bx@wd by \num@authorgroups\relax - \or % 4=two authors per row (!) - \divide\author@bx@wd by 2\relax - \else % three authors per row - \divide\author@bx@wd by 3\relax - \fi - \fi - \advance\author@bx@wd by -\author@bx@sep\relax -% \end{macrocode} -% Now, parsing of \cs{addresses}: -% \begin{macrocode} - \gdef\@currentauthors{}% - \gdef\@currentaffiliation{}% - \def\@author##1{\ifx\@currentauthors\@empty - \gdef\@currentauthors{\par##1}% - \else - \g@addto@macro\@currentauthors{\par##1}% - \fi - \gdef\and{}}% - \def\email##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{\bgroup - \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}% - \else - \g@addto@macro\@currentaffiliation{\par\bgroup - \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}% - \fi}% - \def\affiliation##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{% - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \else - \g@addto@macro\@currentaffiliation{\par - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \fi - \global\let\and\@typeset@author@bx -}% -% \end{macrocode} -% Actual typesetting is done by the \cs{and} macro: -% \begin{macrocode} - \hsize=\textwidth - \global\setbox\mktitle@bx=\vbox{\noindent - \box\mktitle@bx\par\medskip\leavevmode - \lineskip=1pc\relax\centering\hspace*{-1em}% - \addresses\let\and\@typeset@author@bx\and\par\bigskip}} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@mkauthors@iv} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.36}{2017/05/12}{Added authorsperrow overrride} -% \changes{v1.73}{2020/09/07}{Check the presence of required elements -% for affiliations} -% The |sigchi-a| version. We put authors in the main text with -% no more than 2 authors per line, unless overriden. -% \begin{macrocode} -\def\@mkauthors@iv{% -% \end{macrocode} -% First, we need to determine the design of the author strip. The -% boxes are separated by \cs{author@bx@sep} plus two -% \cs{author@bx@sep} margins. This means that each box must be of -% width $(\cs{textwidth}-\cs{author@bx@sep})/N-\cs{author@bx@sep}$, -% where $N$ is the number of boxes per row. -% \begin{macrocode} - \author@bx@wd=\columnwidth\relax - \advance\author@bx@wd by -\author@bx@sep\relax - \ifnum\@ACM@authorsperrow>0\relax - \divide\author@bx@wd by \@ACM@authorsperrow\relax - \else - \ifcase\num@authorgroups - \relax % 0? - \or % 1=one author per row - \else % 2=two authors per row - \divide\author@bx@wd by 2\relax - \fi - \fi - \advance\author@bx@wd by -\author@bx@sep\relax -% \end{macrocode} -% Now, parsing of \cs{addresses}: -% \begin{macrocode} - \gdef\@currentauthors{}% - \gdef\@currentaffiliation{}% - \def\@author##1{\ifx\@currentauthors\@empty - \gdef\@currentauthors{\par##1}% - \else - \g@addto@macro\@currentauthors{\par##1}% - \fi - \gdef\and{}}% - \def\email##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{\nolinkurl{##2}}% - \else - \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}% - \fi}% - \def\affiliation##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{% - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \else - \g@addto@macro\@currentaffiliation{\par - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \fi - \global\let\and\@typeset@author@bx}% -% -% \end{macrocode} -% Actual typesetting is done by the \cs{and} macro -% \begin{macrocode} - \bgroup\hsize=\columnwidth - \par\raggedright\leftskip=\z@ - \lineskip=1pc\noindent - \addresses\let\and\@typeset@author@bx\and\par\bigskip\egroup} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mkauthorsaddresses} -% \changes{v1.46}{2017/08/27}{Introduced macro} -% \changes{v1.65}{2019/10/13}{Deleted cs{@addpunct}} -% Typesetting authors' addresses in the footnote style -% \begin{macrocode} -\def\@mkauthorsaddresses{% - \ifnum\num@authors>1\relax - Authors' \else Author's \fi - \ifnum\num@authorgroups>1\relax - addresses: \else address: \fi - \bgroup - \def\streetaddress##1{\unskip, ##1}% - \def\postcode##1{\unskip, ##1}% - \def\position##1{\unskip\ignorespaces}% - \def\institution##1{\unskip, ##1}% - \def\city##1{\unskip, ##1}% - \def\state##1{\unskip, ##1}% - \renewcommand\department[2][0]{\unskip\@addpunct, ##2}% - \def\country##1{\unskip, ##1}% - \def\and{\unskip; }% - \def\@author##1{##1}% - \def\email##1##2{\unskip, \nolinkurl{##2}}% - \addresses - \egroup} -% \end{macrocode} -% -% \changes{1.66}{2019/12/18}{Added warning for missing addresses} -% \begin{macrocode} -\AtEndDocument{\if@ACM@nonacm\else\if@ACM@journal - \ifx\@authorsaddresses\@empty - \ClassWarningNoLine{\@classname}{Authors' - addresses are mandatory for ACM journals}% - \fi\fi\fi} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\@setaddresses} -% This is an |amsart| macro that we do not need. -% \begin{macrocode} -\def\@setaddresses{} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@authornotemark} -% Adding a footnote mark to authors. This version adds a ``normal'' -% footnote mark. -% \begin{macrocode} -\def\@authornotemark{\g@addto@macro\@currentauthors{\footnotemark\relax}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@@authornotemark} -% \changes{v1.39}{2017/05/14}{Added macro} -% Adding a footnote mark to authors with a given number -% \begin{macrocode} -\def\@@authornotemark#1{\g@addto@macro\@currentauthors{\footnotemark[#1]}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mkteasers} -% Typesetting the teasers -% \changes{v1.56}{2018/11/1}{Added check for description} -% \begin{macrocode} -\def\@mkteasers{% - \ifx\@teaserfigures\@empty\else - \def\@teaser##1{\par\bigskip\bgroup - \captionsetup{type=figure}##1\egroup\par} - \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par - \noindent\@Description@presentfalse - \@teaserfigures\par\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without - description}\fi - \medskip}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mkabstract} -% \changes{v1.19}{2016/07/28}{Include 'Abstract' in PDF bookmarks -% (Matthew Fluet)} -% \changes{v1.20}{2016/08/03}{Deleted spurious space} -% \changes{v1.29}{2017/01/22}{Removed spurious indentation (John -% Wickerson)} -% \changes{v1.48}{2017/09/16}{Removed spurious indentation if abstract -% is followed by an empty line} -% Typesetting the abstract -% \begin{macrocode} -\def\@mkabstract{\bgroup - \ifx\@abstract\@lempty\else - {\phantomsection\addcontentsline{toc}{section}{Abstract}% - \if@ACM@journal - \everypar{\setbox\z@\lastbox\everypar{}}\small - \else - \section*{\abstractname}% - \fi - \ignorespaces\@abstract\par}% - \fi\egroup} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mkbibcitation} -% \changes{v1.17}{2016/07/10}{Changed format for sigs} -% \changes{v1.17}{2016/07/10}{Added \cs{nobreak}} -% \changes{v1.31}{2017/03/04}{Disabled linebreak} -% \changes{v1.34}{2017/04/09}{Deleted DOI from doi numbers} -% \changes{v1.44}{2017/07/30}{If the paper has just one page, use -% `page' instead of `pages'} -% \changes{v1.46}{2017/08/25}{Added subtitle} -% \changes{v1.54}{2018/06/10}{Bug corrected (Ross Moore)} -% \changes{v1.55}{2018/07/25}{Bug corrected} -% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning} -% Print the |bibcitation| format -% \begin{macrocode} -\def\@mkbibcitation{\bgroup - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \def\@pages@word{\ifnum\getrefnumber{TotPages}=1\relax page\else pages\fi}% - \def\footnotemark{}% - \def\\{\unskip{} \ignorespaces}% - \def\footnote{\ClassError{\@classname}{Please do not use footnotes - inside a \string\title{} or \string\author{} command! Use - \string\titlenote{} or \string\authornote{} instead!}}% - \def\@article@string{\ifx\@acmArticle\@empty{\ }\else, - Article~\@acmArticle\ \fi}% - \par\medskip\small\noindent{\bfseries ACM Reference Format:}\par\nobreak - \noindent\bgroup - \def\\{\unskip{}, \ignorespaces}\authors\egroup. \@acmYear. \@title - \ifx\@subtitle\@empty. \else: \@subtitle. \fi - \if@ACM@nonacm\else - % The 'nonacm' option disables 'printacmref' by default, - % and the present \@mkbibcitation definition is never used - % in this case. The conditional remains useful if the user - % explicitly sets \settopmatter{printacmref=true}. - \if@ACM@journal@bibstrip - \textit{\@journalNameShort} - \@acmVolume, \@acmNumber \@article@string (\@acmPubDate), - \ref{TotPages}~\@pages@word. - \else - In \textit{\@acmBooktitle}% - \ifx\@acmEditors\@empty\textit{.}\else - \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.% - \fi\ - ACM, New York, NY, USA% - \@article@string\unskip, \ref{TotPages}~\@pages@word. - \fi - \fi - \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi -\par\egroup} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@printendtopmatter} -% \changes{v1.46}{2017/08/28}{Made it \cs{par}\cs{bigskip} uniformly} -% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning} -% \changes{v1.69}{2020/02/02}{Deleted grouping} -% End the top matter -% \begin{macrocode} -\def\@printendtopmatter{% - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \par\bigskip - \let\@vspace\@vspace@acm - \let\@vspacer\@vspacer@acm - } -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@setthanks} -% We redefine \cs{\@setthanks} using \cs{long} -% \begin{macrocode} -\def\@setthanks{\long\def\thanks##1{\par##1\@addpunct.}\thankses} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@setauthorsaddresses} -% \changes{v1.46}{2018/08/25}{Introduced macro} -% \begin{macrocode} -\def\@setauthorsaddresses{\@authorsaddresses\unskip\@addpunct.} -% \end{macrocode} -% -% \end{macro} -% -% -% -%\subsection{Headers and Footers} -%\label{sec:head_foot} -% -% We use |fancyhdr| for our headers and footers: -% \begin{macrocode} -\RequirePackage{fancyhdr} -% \end{macrocode} -% -% \begin{macro}{\ACM@restore@pagestyle} -% \changes{v1.44}{2017/07/30}{Added macro} -% The following code by Ross Moore protects against changes by -% the |totpages| package: -% \begin{macrocode} -\let\ACM@ps@plain\ps@plain -\let\ACM@ps@myheadings\ps@myheadings -\let\ACM@ps@headings\ps@headings -\def\ACM@restore@pagestyle{% - \let\ps@plain\ACM@ps@plain - \let\ps@myheadings\ACM@ps@myheadings - \let\ps@headings\ACM@ps@headings} -\AtBeginDocument{\ACM@restore@pagestyle} -% \end{macrocode} -% -% -% \end{macro} -% -% -% -% \begin{macro}{\ACM@linecount@bx} -% \changes{v1.34}{2017/04/10}{Rulers now are continuous} -% \changes{v1.40}{2017/05/27}{Work around a bug in xcolor: looks like -% cmyk colors in boxes do not work} -% \changes{v1.46}{2017/08/28}{Rearranged the code to get rid of -% spurious underfull messages (Benjamin Byholm)} -% \changes{v1.64}{2019/08/24}{Bug fix: made the spacing on the left -% and the right size equal} -% This is the box displayed in review mode -% \begin{macrocode} -\if@ACM@review - \newsavebox{\ACM@linecount@bx} - \newlength\ACM@linecount@bxht - \newcount\ACM@linecount - \ACM@linecount\@ne\relax - \def\ACM@mk@linecount{% - \savebox{\ACM@linecount@bx}[4em][t]{\parbox[t]{4em}{\normalfont - \normalsize - \setlength{\ACM@linecount@bxht}{0pt}% - \loop{\color{red}\scriptsize\the\ACM@linecount}\\ - \global\advance\ACM@linecount by \@ne - \addtolength{\ACM@linecount@bxht}{\baselineskip}% - \ifdim\ACM@linecount@bxht<\textheight\repeat - {\color{red}\scriptsize\the\ACM@linecount}\hfill - \global\advance\ACM@linecount by \@ne}}} -\fi -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\ACM@linecountL} -% \changes{v1.33}{2017/03/29}{Renamed macro} -% \changes{v1.34}{2017/04/10}{Rulers now are continuous} -% How to display the box on the left -% \begin{macrocode} -\def\ACM@linecountL{% - \if@ACM@review - \ACM@mk@linecount - \begin{picture}(0,0)% - \put(-26,-22){\usebox{\ACM@linecount@bx}}% - \end{picture}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\ACM@linecountR} -% \changes{v1.33}{2017/03/29}{Added macro} -% \changes{v1.34}{2017/04/10}{Rulers now are continuous} -% \changes{v1.69}{2020/02/02}{Do not increase numbers in one column format} -% How to display the box on the right. In one column formats we do -% not step the numbers. -% \begin{macrocode} -\def\ACM@linecountR{% - \if@ACM@review - \ifcase\ACM@format@nr - \relax % manuscript - \relax - \or % acmsmall - \relax - \or % acmlarge - \relax - \or % acmtog - \ACM@mk@linecount - \or % sigconf - \ACM@mk@linecount - \or % siggraph - \ACM@mk@linecount - \or % sigplan - \ACM@mk@linecount - \or % sigchi - \ACM@mk@linecount - \or % sigchi-a - \ACM@mk@linecount - \fi - \begin{picture}(0,0)% - \put(20,-22){\usebox{\ACM@linecount@bx}}% - \end{picture}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\ACM@timestamp} -% \changes{v1.33}{2017/03/10}{Added macro (Michael D.~Adams)} -% \changes{v1.33}{2017/03/28}{Added current page number} -% \changes{v1.33}{2017/03/29}{Added submission id} -% \changes{v1.48}{2017/09/16}{Fromatting change (Michael D.~Adams)} -% The timestamp system -% \begin{macrocode} -\if@ACM@timestamp - % Subtracting 30 from \time gives us the effect of rounding down despite - % \numexpr rounding to nearest - \newcounter{ACM@time@hours} - \setcounter{ACM@time@hours}{\numexpr (\time - 30) / 60 \relax} - \newcounter{ACM@time@minutes} - \setcounter{ACM@time@minutes}{\numexpr \time - \theACM@time@hours * 60 \relax} - \newcommand\ACM@timestamp{% - \footnotesize% - \ifx\@acmSubmissionID\@empty\relax\else - Submission ID: \@acmSubmissionID.{ }% - \fi - \the\year-\two@digits{\the\month}-\two@digits{\the\day}{ }% - \two@digits{\theACM@time@hours}:\two@digits{\theACM@time@minutes}{. }% - Page \thepage\ of \@startPage--\pageref*{TotPages}.% - } -\fi -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\@shortauthors} -% \changes{v1.15}{2016/07/04}{Introduced macro} -% \changes{v1.54}{2016/06/23}{Added submission id in anonymous mode} -% Even if the author redefined \cs{shortauthors}, we do not print -% it in the headers when in anonymous mode: -% \begin{macrocode} -\def\@shortauthors{% - \if@ACM@anonymous - Anon. - \ifx\@acmSubmissionID\@empty\else Submission Id: \@acmSubmissionID\fi - \else\shortauthors\fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@headfootfont} -% \changes{v1.16}{2016/07/07}{Added macro} -% \changes{v1.48}{2017/09/16}{Deleted unnecessary switch (Michael D.~Adams)} -% \changes{v1.60}{2019/04/22}{Moved to footnotesize} -% The font to typeset header and footer text. -% \begin{macrocode} -\def\@headfootfont{\sffamily\footnotesize} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{standardpagestyle} -% \changes{v1.10}{2016/05/22}{Reversed folios location} -% \changes{v1.13}{2016/06/06}{Suppressed folios if sig} -% \changes{v1.13}{2016/06/06}{Added headers for sigs} -% \changes{v1.13}{2016/06/06}{Expanded headers for sigchi-a} -% \changes{v1.15}{2016/07/04}{Better handling of anonymous mode} -% \changes{v1.16}{2016/07/07}{Customize header/footer text font} -% \changes{v1.17}{2016/07/10}{Added paper title to sigs} -% \changes{v1.29}{2017/01/22}{Corrected printfolios (Matthew Fluet)} -% \changes{v1.33}{2017/03/10}{Added timestamp (Michael D.~Adams)} -% \changes{v1.33}{2017/03/29}{Added right linecount for two-column formats} -% The page style for all pages but the first one -% \changes{v1.51}{2018/04/05}{We now use journal abbreviation for -% footers} -% \changes{v1.59}{2019/04/20}{Added logic for conference papers using -% journal format} -% \changes{v1.59}{2019/04/20}{Moved page styles to \cs{AtBeginDocument}} -% The page style for all pages but the first one -% \begin{macrocode} -\AtBeginDocument{% -\fancypagestyle{standardpagestyle}{% - \fancyhf{}% - \renewcommand{\headrulewidth}{\z@}% - \renewcommand{\footrulewidth}{\z@}% - \def\@acmArticlePage{% - \ifx\@acmArticle\empty% - \if@ACM@printfolios\thepage\fi% - \else% - \@acmArticle\if@ACM@printfolios:\thepage\fi% - \fi% - }% - \if@ACM@journal@bibstrip - \ifcase\ACM@format@nr - \relax % manuscript - \fancyhead[LE]{\ACM@linecountL\if@ACM@printfolios\thepage\fi}% - \fancyhead[RO]{\if@ACM@printfolios\thepage\fi}% - \fancyhead[RE]{\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL\shorttitle}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM} - \fi% - \or % acmsmall - \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticlePage}% - \fancyhead[RO]{\@headfootfont\@acmArticlePage}% - \fancyhead[RE]{\@headfootfont\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% - \fi - \or % acmlarge - \fancyhead[LE]{\ACM@linecountL\@headfootfont - \@acmArticlePage\quad\textbullet\quad\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyhead[RO]{\@headfootfont - \shorttitle\quad\textbullet\quad\@acmArticlePage}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% - \fi - \or % acmtog - \fancyhead[LE]{\ACM@linecountL\@headfootfont - \@acmArticlePage\quad\textbullet\quad\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyhead[RE]{\ACM@linecountR}% - \fancyhead[RO]{\@headfootfont - \shorttitle\quad\textbullet\quad\@acmArticlePage\ACM@linecountR}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% - \fi - \else % Proceedings - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}% - \if@ACM@nonacm\else% - \fancyhead[LE]{\ACM@linecountL\@headfootfont\footnotesize - \acmConference@shortname, - \acmConference@date, \acmConference@venue}% - \fancyhead[RO]{\@headfootfont - \acmConference@shortname, - \acmConference@date, \acmConference@venue\ACM@linecountR}% - \fi - \fi - \else % Proceedings - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}% - \if@ACM@nonacm\else% - \fancyhead[LE]{\ACM@linecountL\@headfootfont - \acmConference@shortname, - \acmConference@date, \acmConference@venue}% - \fancyhead[RO]{\@headfootfont - \acmConference@shortname, - \acmConference@date, \acmConference@venue\ACM@linecountR}% - \fi - \fi - \if@ACM@sigchiamode - \fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}% - \fi - \if@ACM@timestamp - \fancyfoot[LO,RE]{\ACM@timestamp} - \fi -}% -\pagestyle{standardpagestyle} -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@folio@wd} -% \begin{macro}{\@folio@ht} -% \begin{macro}{\@folio@voffset} -% \begin{macro}{\@folio@max} -% Folio blob width, height, offsets and max number -% \begin{macrocode} -\newdimen\@folio@wd -\@folio@wd=\z@ -\newdimen\@folio@ht -\@folio@ht=\z@ -\newdimen\@folio@voffset -\@folio@voffset=\z@ -\def\@folio@max{1} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall - \@folio@wd=45.75pt\relax - \@folio@ht=1.25in\relax - \@folio@voffset=.2in\relax - \def\@folio@max{8} -\or % acmlarge - \@folio@wd=43.25pt\relax - \@folio@ht=79pt\relax - \@folio@voffset=.55in\relax - \def\@folio@max{10} -\fi -% \end{macrocode} -% -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\@folioblob} -% \changes{v1.44}{2017/08/11}{Suppress the blob if acmArticleSeq is empty} -% \changes{v1.45}{2017/08/15}{Switched \cs{bfeseries}\cs{sffamily} to -% \cs{sffamily}\cs{bfseries}} -% The macro to typeset the folio blob. -% \begin{macrocode} -\def\@folioblob{\@tempcnta=0\@acmArticleSeq\relax - \ifnum\@tempcnta=0\relax\else -% \end{macrocode} -% First, we calculate \cs{@acmArticleSeq} modulo \cs{@folio@max} -% \begin{macrocode} - \loop - \ifnum\@tempcnta>\@folio@max\relax - \advance\@tempcnta by - \@folio@max - \repeat -% \end{macrocode} -% -% \begin{macrocode} - \advance\@tempcnta by -1\relax - \@tempdima=\@folio@ht\relax - \multiply\@tempdima by \the\@tempcnta\relax - \advance\@tempdima by -\@folio@voffset\relax - \begin{picture}(0,0) - \makebox[\z@]{\raisebox{-\@tempdima}{% - \rlap{% - \raisebox{-0.45\@folio@ht}[\z@][\z@]{% - \rule{\@folio@wd}{\@folio@ht}}}% - \parbox{\@folio@wd}{% - \centering - \textcolor{white}{\LARGE\sffamily\bfseries\@acmArticle}}}} - \end{picture}\fi} - -% \end{macrocode} -% -% -% \end{macro} -% -% \begin{macro}{firstpagestyle} -% \changes{v1.33}{2017/03/10}{Added timestamp (Michael D.~Adams)} -% \changes{v1.33}{2017/03/29}{Added right linecount for two-column -% formats} -% \changes{v1.51}{2018/04/05}{We now use journal abbreviation for -% footers} -% \changes{v1.59}{2019/04/20}{Added logic for conference papers using -% journal format} -% \changes{v1.59}{2019/04/20}{Moved page styles to \cs{AtBeginDocument}} -% The page style for the first page only. -% \begin{macrocode} -\AtBeginDocument{% -\fancypagestyle{firstpagestyle}{% - \fancyhf{}% - \renewcommand{\headrulewidth}{\z@}% - \renewcommand{\footrulewidth}{\z@}% - \if@ACM@journal@bibstrip - \ifcase\ACM@format@nr - \relax % manuscript - \fancyhead[L]{\ACM@linecountL}% - \fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}% - \if@ACM@nonacm\else% - \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}% - \fi% - \or % acmsmall - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% - \fi% - \fancyhead[LE]{\ACM@linecountL\@folioblob}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyhead[RO]{\@folioblob}% - \fancyheadoffset[RO,LE]{0.6\@folio@wd}% - \or % acmlarge - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% - \fi% - \fancyhead[RO]{\@folioblob}% - \fancyhead[LE]{\ACM@linecountL\@folioblob}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyheadoffset[RO,LE]{1.4\@folio@wd}% - \or % acmtog - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% - \fi% - \fancyhead[L]{\ACM@linecountL}% - \fancyhead[R]{\ACM@linecountR}% - \else % Conference proceedings - \fancyhead[L]{\ACM@linecountL}% - \fancyhead[R]{\ACM@linecountR}% - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fi - \else - \fancyhead[L]{\ACM@linecountL}% - \fancyhead[R]{\ACM@linecountR}% - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fi - \if@ACM@timestamp - \ifnum\ACM@format@nr=0\relax % Manuscript - \fancyfoot[LO,RE]{\ACM@timestamp\quad - \if@ACM@nonacm\else - \footnotesize Manuscript submitted to ACM - \fi} - \else - \fancyfoot[LO,RE]{\ACM@timestamp} - \fi - \fi -}} -% \end{macrocode} -% -% \end{macro} -% -% -%\subsection{Sectioning} -%\label{sec:sectioninng} -% -% \begin{macro}{\ACM@NRadjust} -% \changes{v1.54}{2018/06/17}{Added macro} -% Ross Moore's macro. -% \begin{quotation} -% Initially |\ACM@sect@format@| just passes through its |#1| -% argument unchanged. -% When a sectioning macro such as |\section| occurs, the -% |\ACM@NRadjust| redefines |\ACM@sect@format@| to expand into the -% styling commands; e.g., |\@secfont|. -% Then |\Sectionformat| is temporarily redefined to produce -% |\realSectionformat{\ACM@sect@format{#1}}{#2}|, which ultimately -% becomes |\Sectionformat{\@secfont{#1}}{#2}|. -% This is done to allow |\Sectionformat| to be variable, as may be -% needed in particular circumstances. Its current expansion is saved -% as |\realSectionformat| which is used with the modified 1st argument, -% then |\Sectionformat| is reverted to its former expansion. -% -% To style the section-number, the line |#1{}| is used at the end of -% |\ACM@NRadjust|. This imposes style-changing commands for fonts and -% sizes, but any |\MakeUppercase| acts on just the |{}|. It's a bit hacky, -% by essentially assuming that only numbers occur here, not letters to -% be case-changed. (This should be acceptable in a class-file, as it -% ought to be possible to change the case elsewhere, if that was ever -% desired.) Also, it can result in |\@adddotafter| being called too -% soon, so a slight adjustment is made, via |\ACM@adddotafter|, which -% now tests whether its argument is empty. But the coding has to allow -% for other packages to have also patched |\@adddotafter|. -% \end{quotation} -% \begin{macrocode} -\def\ACM@NRadjust#1{% - \begingroup - \expandafter\ifx\csname Sectionformat\endcsname\relax - % do nothing when \Sectionformat is unknown - \def\next{\endgroup #1}% - \else - \def\next{\endgroup - \let\realSectionformat\Sectionformat - \def\ACM@sect@format@{#1}% - \let\Sectionformat\ACM@NR@adjustedSectionformat - %% next lines added 2018-06-17 to ensure section number is styled - \let\real@adddotafter\@adddotafter - \let\@adddotafter\ACM@adddotafter - #1{}% imposes the styles, but nullifies \MakeUppercase - \let\@adddotafter\real@adddotafter - }% - \fi \next -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\ACM@NR@adjustedSectionformat} -% \changes{v1.54}{2018/06/17}{Added macro} -% \begin{macrocode} -\def\ACM@NR@adjustedSectionformat#1#2{% - \realSectionformat{\ACM@sect@format{#1}}{#2}% - \let\Sectionformat\realSectionformat} -\DeclareRobustCommand{\ACM@sect@format}{\ACM@sect@format@} -\def\ACM@sect@format@null#1{#1} -\let\ACM@sect@format@\ACM@sect@format@null -\AtBeginDocument{% - \expandafter\ifx\csname LTX@adddotafter\endcsname\relax - \let\LTX@adddotafter\@adddotafter - \fi -} -% \end{macrocode} -% -% \end{macro} -% \begin{macro}{\ACM@adddotafter} -% \changes{v1.54}{2018/06/17}{Added macro} -% \begin{macrocode} -\def\ACM@adddotafter#1{\ifx\relax#1\relax\else\LTX@adddotafter{#1}\fi} -% \end{macrocode} -% -% \end{macro} -% -% \changes{v1.54}{2018/05/27}{Deleted indent for subsubsection} -% \changes{v1.54}{2018/06/17}{Added Ross's patch for sectioning} -% \changes{v1.68}{2020/01/19}{New command for unindent paras} -% \changes{v1.69}{2020/02/02}{No dots for unindented paragraphs} -% Sectioning is different for different levels -% \begin{macrocode} -\renewcommand\section{\@startsection{section}{1}{\z@}% - {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {.25\baselineskip}% - {\ACM@NRadjust\@secfont}} -\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% - {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {.25\baselineskip}% - {\ACM@NRadjust\@subsecfont}} -\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% - {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {-3.5\p@}% - {\ACM@NRadjust{\@subsubsecfont\@adddotafter}}} -\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}% - {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {-3.5\p@}% - {\ACM@NRadjust{\@parfont\@adddotafter}}} -\newcommand\noindentparagraph{\@startsection{paragraph}{4}{\z@}% - {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {-3.5\p@}% - {\ACM@NRadjust{\@parfont}}} - -\renewcommand\part{\@startsection{part}{9}{\z@}% - {-10\p@ \@plus -4\p@ \@minus -2\p@}% - {4\p@}% - {\ACM@NRadjust\@parfont}} -% \end{macrocode} -% -% \begin{macro}{\section@raggedright} -% \changes{v1.12}{2016/05/30}{Introduced macro}% -% Special version of \cs{raggedright} compatible with -% \cs{MakeUppercase} -% \begin{macrocode} -\def\section@raggedright{\@rightskip\@flushglue - \rightskip\@rightskip - \leftskip\z@skip - \parindent\z@} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@secfont} -% \begin{macro}{\@subsecfont} -% \begin{macro}{\@subsubsecfont} -% \begin{macro}{\@parfont} -% \changes{v1.12}{2016/05/30}{Moved to \cs{section@raggedright}}% -% \changes{v1.40}{2017/06/04}{Switched to MakeTextUppercase} -% \changes{v1.45}{2017/08/15}{Switched \cs{bfeseries}\cs{sffamily} to -% \cs{sffamily}\cs{bfseries}} -% \changes{v1.67}{2020/01/11}{Deleted redefinitions of sections} -% Fonts for sections etc. are different for different formats. -% \begin{macrocode} -\def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase} -\def\@subsecfont{\sffamily\bfseries\section@raggedright} -\def\@subsubsecfont{\sffamily\itshape} -\def\@parfont{\itshape} -\setcounter{secnumdepth}{3} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge - \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\large\section@raggedright} -\or % acmtog - \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\large\section@raggedright} -\or % sigconf - \def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\bfseries\Large\section@raggedright} -\or % siggraph - \def\@secfont{\sffamily\bfseries\Large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\bfseries\Large\section@raggedright} -\or % sigplan - \def\@secfont{\bfseries\Large\section@raggedright} - \def\@subsecfont{\bfseries\section@raggedright} - \def\@subsubsecfont{\bfseries\section@raggedright} - \def\@parfont{\bfseries\itshape} - \def\@subparfont{\itshape} -\or % sigchi - \setcounter{secnumdepth}{1} - \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\bfseries\section@raggedright} -\or % sigchi-a - \setcounter{secnumdepth}{0} - \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\bfseries\section@raggedright} -\fi -% \end{macrocode} -% -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\@adddotafter} -% Add punctuation after a sectioning command -% \begin{macrocode} -\def\@adddotafter#1{#1\@addpunct{.}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@addspaceafter} -% Add space after a sectioning command -% \begin{macrocode} -\def\@addspaceafter#1{#1\@addpunct{\enspace}} -% \end{macrocode} -% -% \end{macro} -% -%\subsection{TOC lists} -%\label{sec:tocs} -% -% \begin{macro}{\@dotsep} -% Related to the \cs{tableofcontents} are all the horizontal fillers. Base -% \LaTeX\ defines \cs{@dottedtocline}, which we should not disable. Yet, this -% command expects \cs{@dotsep} to be defined but leaves this to the class -% implementation. Since |amsart| does not provide this, we copy the standard -% variant from |article| here. -% \begin{macrocode} -\providecommand*\@dotsep{4.5} -% \end{macrocode} -% \end{macro} -% -% -% -%\subsection{Theorems} -%\label{sec:theorems} -% -% \begin{macro}{\@acmplainbodyfont} -% The font to typeset the body of the |acmplain| theorem style. -% \begin{macrocode} -\def\@acmplainbodyfont{\itshape} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@acmplainindent} -% The amount to indent the |acmplain| theorem style. -% \begin{macrocode} -\def\@acmplainindent{\parindent} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@acmplainheadfont} -% The font to typeset the head of the |acmplain| theorem style. -% \begin{macrocode} -\def\@acmplainheadfont{\scshape} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@acmplainnotefont} -% The font to typeset the note of the |acmplain| theorem style. -% \begin{macrocode} -\def\@acmplainnotefont{\@empty} -% \end{macrocode} -% -% \end{macro} -% -% Customization of the |acmplain| theorem style: -% \begin{macrocode} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \def\@acmplainbodyfont{\itshape} - \def\@acmplainindent{\z@} - \def\@acmplainheadfont{\bfseries} - \def\@acmplainnotefont{\normalfont} -\or % sigchi -\or % sigchi-a -\fi -% \end{macrocode} -% -% \begin{macro}{acmplain} -% The |acmplain| theorem style -% \begin{macrocode} -\newtheoremstyle{acmplain}% - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space above - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space below - {\@acmplainbodyfont}% body font - {\@acmplainindent}% indent amount - {\@acmplainheadfont}% head font - {.}% punctuation after head - {.5em}% spacing after head - {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmplainnotefont(#3)}}}% head spec -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@acmdefinitionbodyfont} -% The font to typeset the body of the |acmdefinition| theorem style. -% \begin{macrocode} -\def\@acmdefinitionbodyfont{\normalfont} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@acmdefinitionindent} -% The amount to indent the |acmdefinition| theorem style. -% \begin{macrocode} -\def\@acmdefinitionindent{\parindent} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@acmdefinitionheadfont} -% The font to typeset the head of the |acmdefinition| theorem style. -% \begin{macrocode} -\def\@acmdefinitionheadfont{\itshape} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@acmdefinitionnotefont} -% The font to typeset the note of the |acmdefinition| theorem style. -% \begin{macrocode} -\def\@acmdefinitionnotefont{\@empty} -% \end{macrocode} -% -% \end{macro} -% -% Customization of the |acmdefinition| theorem style: -% \begin{macrocode} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \def\@acmdefinitionbodyfont{\normalfont} - \def\@acmdefinitionindent{\z@} - \def\@acmdefinitionheadfont{\bfseries} - \def\@acmdefinitionnotefont{\normalfont} -\or % sigchi -\or % sigchi-a -\fi -% \end{macrocode} -% -% \begin{macro}{acmdefinition} -% The |acmdefinition| theorem style -% \begin{macrocode} -\newtheoremstyle{acmdefinition}% - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space above - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space below - {\@acmdefinitionbodyfont}% body font - {\@acmdefinitionindent}% indent amount - {\@acmdefinitionheadfont}% head font - {.}% punctuation after head - {.5em}% spacing after head - {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmdefinitionnotefont(#3)}}}% head spec -% \end{macrocode} -% -% \end{macro} -% -% Make |acmplain| the default theorem style. -% \begin{macrocode} -\theoremstyle{acmplain} -% \end{macrocode} -% -% Delay defining the theorem environments until after other packages -% have been loaded. In particular, the |cleveref| package must be -% loaded before the theorem environments are defined in order to show -% the correct environment name (see -% \url{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. -% \begin{macrocode} -\AtEndPreamble{% - \if@ACM@acmthm - \theoremstyle{acmplain} - \@ifundefined{theorem}{% - \newtheorem{theorem}{Theorem}[section] - }{} - \@ifundefined{conjecture}{% - \newtheorem{conjecture}[theorem]{Conjecture} - }{} - \@ifundefined{proposition}{% - \newtheorem{proposition}[theorem]{Proposition} - }{} - \@ifundefined{lemma}{% - \newtheorem{lemma}[theorem]{Lemma} - }{} - \@ifundefined{corollary}{% - \newtheorem{corollary}[theorem]{Corollary} - }{} - \theoremstyle{acmdefinition} - \@ifundefined{example}{% - \newtheorem{example}[theorem]{Example} - }{} - \@ifundefined{definition}{% - \newtheorem{definition}[theorem]{Definition} - }{} - \fi - \theoremstyle{acmplain} -} -% \end{macrocode} -% -% -% \begin{macro}{\@proofnamefont} -% The font to typeset the proof name. -% \begin{macrocode} -\def\@proofnamefont{\scshape} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@proofindent} -% Whether or not to indent proofs. -% \begin{macrocode} -\def\@proofindent{\indent} -% \end{macrocode} -% -% \end{macro} -% -% Customization of the proof environment. -% \begin{macrocode} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \def\@proofnamefont{\itshape} - \def\@proofindent{\noindent} -\or % sigchi -\or % sigchi-a -\fi -% \end{macrocode} -% -% \begin{macro}{proof} -% We want some customization of the proof environment. -% \begin{macrocode} -\renewenvironment{proof}[1][\proofname]{\par - \pushQED{\qed}% - \normalfont \topsep6\p@\@plus6\p@\relax - \trivlist - \item[\@proofindent\hskip\labelsep - {\@proofnamefont #1\@addpunct{.}}]\ignorespaces -}{% - \popQED\endtrivlist\@endpefalse -} -% \end{macrocode} -% -% \end{macro} -% -% -% -%\subsection{Balancing columns} -%\label{sec:balancing} -% -% We need balancing only if the user did not disable it, and we use a -% two column format -% \begin{macrocode} -\AtEndPreamble{% - \if@ACM@balance - \ifcase\ACM@format@nr - \relax % manuscript - \global\@ACM@balancefalse - \or % acmsmall - \global\@ACM@balancefalse - \or % acmlarge - \global\@ACM@balancefalse - \or % acmtog - \RequirePackage{balance}% - \or % sigconf - \RequirePackage{balance}% - \or % siggraph - \RequirePackage{balance}% - \or % sigplan - \RequirePackage{balance}% - \or % sigchi - \RequirePackage{balance}% - \or % sigchi-a - \global\@ACM@balancefalse - \fi - \fi -} -\AtEndDocument{% - \if@ACM@balance - \if@twocolumn - \balance - \fi\fi} -% \end{macrocode} -% -% -%\subsection{Acknowledgments} -%\label{sec:acks} -% -% \begin{macro}{\acksname} -% \changes{v1.56}{2018/10/16}{Added macro (Philip Quinn)} -% \begin{macrocode} -\newcommand\acksname{Acknowledgments} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acks} -% \changes{v1.19}{2016/07/28}{Include 'Acknowledgements' in PDF bookmarks -% (Matthew Fluet)} -% \changes{v1.15}{2016/07/05}{Added macro} -% This is a |comment|-like structure -% \begin{macrocode} -\specialcomment{acks}{% - \begingroup - \section*{\acksname} - \phantomsection\addcontentsline{toc}{section}{\acksname} -}{% - \endgroup -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\grantsponsor} -% \changes{v1.15}{2016/07/05}{Added macro} -% \changes{v1.17}{2016/07/10}{Renamed} -% We just typeset the name of the sponsor -% \begin{macrocode} -\def\grantsponsor#1#2#3{#2} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\grantnum} -% \changes{v1.15}{2016/07/05}{Added macro} -% \changes{v1.17}{2016/07/10}{Added url} -% \begin{macrocode} -\newcommand\grantnum[3][]{#3% - \def\@tempa{#1}\ifx\@tempa\@empty\else\space(\url{#1})\fi} -% \end{macrocode} -% -% \end{macro} -% -% \subsection{Conditional typesetting} -% \label{sec:conditional} -% -% We use the |comment| package for conditional typesetting: -% \begin{macrocode} -\AtEndPreamble{% -\if@ACM@screen - \includecomment{screenonly} - \excludecomment{printonly} -\else - \excludecomment{screenonly} - \includecomment{printonly} -\fi -\if@ACM@anonymous - \excludecomment{anonsuppress} - \excludecomment{acks} -\else - \includecomment{anonsuppress} -\fi} -% \end{macrocode} -% -% -% -%\subsection{Additional bibliography commands} -%\label{sec:bibliography} -% -% \begin{macro}{\showeprint} -% \changes{v1.21}{2016/09/04}{Added macro} -% The command \cs{showeprint} has two arguments: the (optional) -% prefix and the eprint number. Right now the only prefix we understand is -% the (lowercase) word `arxiv'. -% \begin{macrocode} -\newcommand\showeprint[2][arxiv]{% - \def\@tempa{#1}% - \ifx\@tempa\@empty\def\@tempa{arxiv}\fi - \def\@tempb{arxiv}% - \ifx\@tempa\@tempb - arXiv:\href{https://arxiv.org/abs/#2}{#2}\else arXiv:#2% - \fi} -% \end{macrocode} -% -% -% \end{macro} -% -%\subsection{End of Class} -%\label{end} -% -% \begin{macro}{\vspace} -% \changes{v1.57}{2018/12/16}{Added warning} -% \changes{v1.58}{2019/01/23}{Preserved old versions as -% \cs{@vspace@orig} and \cs{@vspace@orig}} -% \changes{1.69}{2020/02/02}{Added the changed command to avoid grouping} -% We do not disable \cs{vspace}, but add warning to it -% \begin{macrocode} -\let\@vspace@orig=\@vspace -\let\@vspacer@orig=\@vspacer -\apptocmd{\@vspace}{\ClassWarning{\@classname}{\string\vspace\space should - only be used to provide space above/below surrounding - objects}}{}{} -\apptocmd{\@vspacer}{\ClassWarning{\@classname}{\string\vspace\space should - only be used to provide space above/below surrounding - objects}}{}{} -\let\@vspace@acm=\@vspace -\let\@vspacer@acm=\@vspacer -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\ACM@origbaselinestretch} -% \changes{v1.57}{2018/12/16}{Added check whether the user changed -% \cs{baselinestretch}} -% We produce an error if the user tries to change \cs{baselinestretch} -% \begin{macrocode} -\let\ACM@origbaselinestretch\baselinestretch -\AtEndDocument{\ifx\baselinestretch\ACM@origbaselinestretch\else - \ClassError{\@classname}{An attempt to redefine - \string\baselinestretch\space detected. Please do not do this for - ACM submissions!}\fi} -% \end{macrocode} -% -% \end{macro} -% -% \changes{v1.30}{2017/02/10}{Added \cs{frenchspacing}} -% \begin{macrocode} -\normalsize\normalfont\frenchspacing -%</class> -% \end{macrocode} -% -%\Finale -%\clearpage -% -%\PrintChanges -%\clearpage -%\PrintIndex -% -\endinput diff --git a/docs/acmart.ins b/docs/acmart.ins deleted file mode 100644 index d17dc066fd7f86023b4ea0e33aa75aef95b33857..0000000000000000000000000000000000000000 --- a/docs/acmart.ins +++ /dev/null @@ -1,30 +0,0 @@ -% -% Doctrip file for acmart -% This file is in public domain -% $Id: acmart.ins,v 1.1 2015/11/23 22:42:55 boris Exp $ -% -\def\batchfile{acmart.ins} -\input docstrip -\keepsilent -\showprogress - - -\askforoverwritefalse - -\generate{% - \file{acmart.cls}{\from{acmart.dtx}{class}} -} - -\obeyspaces -\Msg{*****************************************************}% -\Msg{* Congratulations! You successfully generated the *}% -\Msg{* acmart package. *}% -\Msg{* *}% -\Msg{* Please move the file acmart.cls to where LaTeX *}% -\Msg{* files are stored in your system. The manual is *}% -\Msg{* acmart.pdf. *}% -\Msg{* *}% -\Msg{* The package is released under LPPL *}% -\Msg{* *}% -\Msg{* Happy TeXing! *}% -\Msg{*****************************************************}% \ No newline at end of file diff --git a/docs/acmart.pdf b/docs/acmart.pdf deleted file mode 100644 index cc5e115836c6e397e12bbea0f975a7d6f5fa61c6..0000000000000000000000000000000000000000 Binary files a/docs/acmart.pdf and /dev/null differ diff --git a/docs/comment.cut b/docs/comment.cut index 5b2dff9f25353b62ffade8be6aed59a3b6bf7131..6048ce22a60657adbb768be4c90d5c2921d062ee 100644 --- a/docs/comment.cut +++ b/docs/comment.cut @@ -1 +1,3 @@ -To Robert, for the bagels and explaining CMYK and color spaces. + To Dr. László Szécsi, associate professor at the Computer Graphics Group + (Department of Control Engineering and Information Technology), whom I had + the chance to consult with during the semester. diff --git a/docs/necessary/documentation.aux b/docs/documentation.aux similarity index 100% rename from docs/necessary/documentation.aux rename to docs/documentation.aux diff --git a/docs/necessary/documentation.log b/docs/documentation.log similarity index 95% rename from docs/necessary/documentation.log rename to docs/documentation.log index ace18efd116de948c23e1be34b3af9d213ddf189..7d6eec789f8b4b7a544a4439d5c31c9882accc6e 100644 --- a/docs/necessary/documentation.log +++ b/docs/documentation.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2020.10.23) 7 DEC 2020 14:30 +This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2020.10.23) 7 DEC 2020 14:56 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -945,7 +945,7 @@ File: mt-msa.cfg 2006/02/04 v1.1 microtype config. file: AMS symbols (a) (RS) (/usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msb.cfg File: mt-msb.cfg 2005/06/01 v1.0 microtype config. file: AMS symbols (b) (RS) ) -<teaser.png, id=51, 602.25pt x 401.5pt> +<teaser.png, id=47, 602.25pt x 401.5pt> File: teaser.png Graphic file (type png) <use teaser.png> Package pdftex.def Info: teaser.png used on input line 93. @@ -1018,45 +1018,35 @@ Package atveryend Info: Empty hook `AfterLastShipout' on input line 168. (./documentation.aux) Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 168. Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 168. - - -Package rerunfilecheck Warning: File `documentation.out' has changed. -(rerunfilecheck) Rerun to get outlines right -(rerunfilecheck) or use package `bookmark'. - -Package rerunfilecheck Info: Checksums for `documentation.out': -(rerunfilecheck) Before: C8CBE37651DDA4F66386A6C5AEF9BF5B;1612 -(rerunfilecheck) After: 000E024C33539C590A731CD571800868;1667. +Package rerunfilecheck Info: File `documentation.out' has not changed. +(rerunfilecheck) Checksum: 000E024C33539C590A731CD571800868;1667. ) Here is how much of TeX's memory you used: - 18946 strings out of 481239 - 283879 string characters out of 5920376 + 18944 strings out of 481239 + 283857 string characters out of 5920376 582283 words of memory out of 5000000 - 33555 multiletter control sequences out of 15000+600000 + 33554 multiletter control sequences out of 15000+600000 644174 words of font info for 156 fonts, out of 8000000 for 9000 1302 hyphenation exceptions out of 8191 63i,11n,100p,804b,468s stack positions out of 5000i,500n,10000p,200000b,80000s -pdfTeX warning (dest): name{appendix.B} has been referenced but does not exis -t, replaced by a fixed one - -{/usr/share/texlive/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-4.enc}{/usr/sh -are/texlive/texmf-dist/fonts/enc/dvips/libertine/lbtn_7grukw.enc}{/usr/share/te -xlive/texmf-dist/fonts/enc/dvips/libertine/lbtn_naooyc.enc}{/usr/share/texlive/ -texmf-dist/fonts/enc/dvips/libertine/lbtn_ki75ao.enc}{/usr/share/texlive/texmf- -dist/fonts/enc/dvips/libertine/lbtn_25tcsq.enc}{/usr/share/texlive/texmf-dist/f -onts/enc/dvips/libertine/lbtn_76gpa5.enc}{/usr/share/texlive/texmf-dist/fonts/e -nc/dvips/libertine/lbtn_nh77jq.enc}</usr/share/texlive/texmf-dist/fonts/type1/p -ublic/inconsolata/Inconsolata-zi4r.pfb></usr/share/texlive/texmf-dist/fonts/typ -e1/public/libertine/LinBiolinumT.pfb></usr/share/texlive/texmf-dist/fonts/type1 -/public/libertine/LinLibertineT.pfb></usr/share/texlive/texmf-dist/fonts/type1/ -public/libertine/LinLibertineTB.pfb></usr/share/texlive/texmf-dist/fonts/type1/ -public/libertine/LinLibertineTBI.pfb></usr/share/texlive/texmf-dist/fonts/type1 -/public/libertine/LinLibertineTI.pfb></usr/share/texlive/texmf-dist/fonts/type1 -/public/newtx/txsys.pfb> -Output written on documentation.pdf (2 pages, 369625 bytes). +{/usr/share/texlive/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-4.enc}{/usr/ +share/texlive/texmf-dist/fonts/enc/dvips/libertine/lbtn_7grukw.enc}{/usr/share/ +texlive/texmf-dist/fonts/enc/dvips/libertine/lbtn_naooyc.enc}{/usr/share/texliv +e/texmf-dist/fonts/enc/dvips/libertine/lbtn_ki75ao.enc}{/usr/share/texlive/texm +f-dist/fonts/enc/dvips/libertine/lbtn_25tcsq.enc}{/usr/share/texlive/texmf-dist +/fonts/enc/dvips/libertine/lbtn_76gpa5.enc}{/usr/share/texlive/texmf-dist/fonts +/enc/dvips/libertine/lbtn_nh77jq.enc}</usr/share/texlive/texmf-dist/fonts/type1 +/public/inconsolata/Inconsolata-zi4r.pfb></usr/share/texlive/texmf-dist/fonts/t +ype1/public/libertine/LinBiolinumT.pfb></usr/share/texlive/texmf-dist/fonts/typ +e1/public/libertine/LinLibertineT.pfb></usr/share/texlive/texmf-dist/fonts/type +1/public/libertine/LinLibertineTB.pfb></usr/share/texlive/texmf-dist/fonts/type +1/public/libertine/LinLibertineTBI.pfb></usr/share/texlive/texmf-dist/fonts/typ +e1/public/libertine/LinLibertineTI.pfb></usr/share/texlive/texmf-dist/fonts/typ +e1/public/newtx/txsys.pfb> +Output written on documentation.pdf (2 pages, 369592 bytes). PDF statistics: - 124 PDF objects out of 1000 (max. 8388607) - 99 compressed objects within 1 object stream - 20 named destinations out of 1000 (max. 500000) - 30318 words of extra memory for PDF output out of 35830 (max. 10000000) + 120 PDF objects out of 1000 (max. 8388607) + 95 compressed objects within 1 object stream + 19 named destinations out of 1000 (max. 500000) + 30310 words of extra memory for PDF output out of 35830 (max. 10000000) diff --git a/docs/necessary/documentation.out b/docs/documentation.out similarity index 100% rename from docs/necessary/documentation.out rename to docs/documentation.out diff --git a/docs/necessary/documentation.pdf b/docs/documentation.pdf similarity index 98% rename from docs/necessary/documentation.pdf rename to docs/documentation.pdf index 4fc2db7cc1fe77b95233f929b14ee280591ef7bc..d10d8de9c04e5ed84bda7610a4930dd66e265035 100644 Binary files a/docs/necessary/documentation.pdf and b/docs/documentation.pdf differ diff --git a/docs/necessary/documentation.tex b/docs/documentation.tex similarity index 100% rename from docs/necessary/documentation.tex rename to docs/documentation.tex diff --git a/docs/necessary/acmart.cls b/docs/necessary/acmart.cls deleted file mode 100644 index 49c56b215757876a8a5168d944019a12ec6208a1..0000000000000000000000000000000000000000 --- a/docs/necessary/acmart.cls +++ /dev/null @@ -1,3010 +0,0 @@ -%% -%% This is file `acmart.cls', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% acmart.dtx (with options: `class') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from acmart.cls. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file acmart.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -\NeedsTeXFormat{LaTeX2e} -\ProvidesClass{acmart} -[2020/11/15 v1.75 Typesetting articles for the Association for Computing Machinery] -\def\@classname{acmart} -\InputIfFileExists{acmart-preload-hook.tex}{% - \ClassWarning{\@classname}{% - I am loading acmart-preload-hook.tex. You are fully responsible - for any problems from now on.}}{} -\RequirePackage{xkeyval} -\RequirePackage{xstring} -\RequirePackage{iftex} -\define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{% - manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph, - sigplan, sigchi, sigchi-a}[manuscript]{}{% - \ClassError{\@classname}{The option format must be manuscript, - acmsmall, acmlarge, acmtog, sigconf, siggraph, - sigplan, sigchi or sigchi-a}} -\def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{acmart.cls}{format=#1}}} -\@DeclareACMFormat{manuscript} -\@DeclareACMFormat{acmsmall} -\@DeclareACMFormat{acmlarge} -\@DeclareACMFormat{acmtog} -\@DeclareACMFormat{sigconf} -\@DeclareACMFormat{siggraph} -\@DeclareACMFormat{sigplan} -\@DeclareACMFormat{sigchi} -\@DeclareACMFormat{sigchi-a} -\ExecuteOptionsX{format} -\define@boolkey+{acmart.cls}[@ACM@]{screen}[true]{% - \if@ACM@screen - \PackageInfo{\@classname}{Using screen mode}% - \else - \PackageInfo{\@classname}{Not using screen mode}% - \fi}{\PackageError{\@classname}{The option screen can be either true or - false}} -\ExecuteOptionsX{screen=false} -\define@boolkey+{acmart.cls}[@ACM@]{urlbreakonhyphens}[true]{% - \if@ACM@urlbreakonhyphens - \PackageInfo{\@classname}{Using breaking urls on hyphens}% - \else - \PackageInfo{\@classname}{Not breaking urls on hyphens}% - \fi}{\PackageError{\@classname}{The option urlbreakonhyphens can be either true or - false}} -\ExecuteOptionsX{urlbreakonhyphens=true} -\define@boolkey+{acmart.cls}[@ACM@]{acmthm}[true]{% - \if@ACM@acmthm - \PackageInfo{\@classname}{Requiring acmthm}% - \else - \PackageInfo{\@classname}{Suppressing acmthm}% - \fi}{\PackageError{\@classname}{The option acmthm can be either true or - false}} -\ExecuteOptionsX{acmthm=true} -\define@boolkey+{acmart.cls}[@ACM@]{review}[true]{% - \if@ACM@review - \PackageInfo{\@classname}{Using review mode}% - \AtBeginDocument{\@ACM@printfoliostrue}% - \else - \PackageInfo{\@classname}{Not using review mode}% - \fi}{\PackageError{\@classname}{The option review can be either true or - false}} -\ExecuteOptionsX{review=false} -\define@boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{% - \if@ACM@authorversion - \PackageInfo{\@classname}{Using authorversion mode}% - \else - \PackageInfo{\@classname}{Not using authorversion mode}% - \fi}{\PackageError{\@classname}{The option authorversion can be either true or - false}} -\ExecuteOptionsX{authorversion=false} -\define@boolkey+{acmart.cls}[@ACM@]{nonacm}[true]{% - \if@ACM@nonacm - \PackageInfo{\@classname}{Using nonacm mode}% - \AtBeginDocument{\@ACM@printacmreffalse}% - % in 'nonacm' mode we disable the "ACM Reference Format" - % printing by default, but this can be re-enabled by the - % user using \settopmatter{printacmref=true} - \else - \PackageInfo{\@classname}{Not using nonacm mode}% - \fi}{\PackageError{\@classname}{The option nonacm can be either true or - false}} -\ExecuteOptionsX{nonacm=false} -\define@boolkey+{acmart.cls}[@ACM@]{balance}[true]{}{% - \PackageError{\@classname}{The option balance can be either true or - false}} -\ExecuteOptionsX{balance} -\define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{% - \if@ACM@natbib - \PackageInfo{\@classname}{Explicitly selecting natbib mode}% - \else - \PackageInfo{\@classname}{Explicitly deselecting natbib mode}% - \fi}{\PackageError{\@classname}{The option natbib can be either true or - false}} -\ExecuteOptionsX{natbib=true} -\define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{% - \if@ACM@anonymous - \PackageInfo{\@classname}{Using anonymous mode}% - \else - \PackageInfo{\@classname}{Not using anonymous mode}% - \fi}{\PackageError{\@classname}{The option anonymous can be either true or - false}} -\ExecuteOptionsX{anonymous=false} -\define@boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{% - \if@ACM@timestamp - \PackageInfo{\@classname}{Using timestamp mode}% - \else - \PackageInfo{\@classname}{Not using timestamp mode}% - \fi}{\PackageError{\@classname}{The option timestamp can be either true or - false}} -\ExecuteOptionsX{timestamp=false} -\define@boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{% - \if@ACM@authordraft - \PackageInfo{\@classname}{Using authordraft mode}% - \@ACM@timestamptrue - \@ACM@reviewtrue - \else - \PackageInfo{\@classname}{Not using authordraft mode}% - \fi}{\PackageError{\@classname}{The option authordraft can be either true or - false}} -\ExecuteOptionsX{authordraft=false} -\def\ACM@fontsize{} -\DeclareOptionX{9pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{10pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{11pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{12pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{draft}{\PassOptionsToClass{\CurrentOption}{amsart}} -\DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}} -\ProcessOptionsX -\ClassInfo{\@classname}{Using format \ACM@format, number \ACM@format@nr} -\newif\if@ACM@manuscript -\newif\if@ACM@journal -\newif\if@ACM@journal@bibstrip -\newif\if@ACM@sigchiamode -\ifnum\ACM@format@nr=5\relax % siggraph -\ClassWarning{\@classname}{% - The format siggraph is now obsolete.\MessageBreak - I am switching to sigconf.} - \setkeys{acmart.cls}{format=sigconf} -\fi -\ifnum\ACM@format@nr=7\relax % sigchi -\ClassWarning{\@classname}{% - The format sigchi is now obsolete.\MessageBreak - I am switching to sigconf.} - \setkeys{acmart.cls}{format=sigconf} -\fi -\ifnum\ACM@format@nr=8\relax % sigchi -\ClassWarning{\@classname}{% - ACM SIGCHI has retired the SIGCHI-A template\MessageBreak - effective immediately. ACM is keeping this template\MessageBreak - option available to authors who are working on legacy\MessageBreak - documents only. ACM will not, under any circumstances,\MessageBreak - accept documents in this format for publication and\MessageBreak - will not offer technical support to the authors who use\MessageBreak - this template.\MessageBreak - ACM SIGCHI is directing Conference leaders and\MessageBreak - authors to publish their articles using the SIGCONF\MessageBreak - template call.} -\fi -\ifnum\ACM@format@nr=0\relax - \@ACM@manuscripttrue -\else - \@ACM@manuscriptfalse -\fi -\@ACM@sigchiamodefalse -\ifcase\ACM@format@nr -\relax % manuscript - \@ACM@journaltrue -\or % acmsmall - \@ACM@journaltrue -\or % acmlarge - \@ACM@journaltrue -\or % acmtog - \@ACM@journaltrue -\or % sigconf - \@ACM@journalfalse -\or % siggraph - \@ACM@journalfalse - \or % sigplan - \@ACM@journalfalse - \or % sigchi - \@ACM@journalfalse -\or % sigchi-a - \@ACM@journalfalse - \@ACM@sigchiamodetrue -\fi -\if@ACM@journal - \@ACM@journal@bibstriptrue -\else - \@ACM@journal@bibstripfalse -\fi -\ifx\ACM@fontsize\@empty - \ifcase\ACM@format@nr - \relax % manuscript - \def\ACM@fontsize{9pt}% - \or % acmsmall - \def\ACM@fontsize{10pt}% - \or % acmlarge - \def\ACM@fontsize{10pt}% - \or % acmtog - \def\ACM@fontsize{9pt}% - \or % sigconf - \def\ACM@fontsize{9pt}% - \or % siggraph - \def\ACM@fontsize{9pt}% - \or % sigplan - \def\ACM@fontsize{10pt}% - \or % sigchi - \def\ACM@fontsize{9pt}% - \or % sigchi-a - \def\ACM@fontsize{10pt}% - \fi -\fi -\ClassInfo{\@classname}{Using fontsize \ACM@fontsize} -\LoadClass[\ACM@fontsize, reqno]{amsart} -\RequirePackage{microtype} -\RequirePackage{etoolbox} -\RequirePackage{booktabs} -\RequirePackage{refcount} -\RequirePackage{totpages} -\RequirePackage{environ} -\if@ACM@manuscript -\RequirePackage{setspace} -\onehalfspacing -\fi -\RequirePackage{textcase} -\if@ACM@natbib - \RequirePackage{natbib} - \renewcommand{\bibsection}{% - \section*{\refname}% - \phantomsection\addcontentsline{toc}{section}{\refname}% - } - \renewcommand{\bibfont}{\bibliofont} - \renewcommand\setcitestyle[1]{ - \@for\@tempa:=#1\do - {\def\@tempb{round}\ifx\@tempa\@tempb - \renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi - \def\@tempb{square}\ifx\@tempa\@tempb - \renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi - \def\@tempb{angle}\ifx\@tempa\@tempb - \renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi - \def\@tempb{curly}\ifx\@tempa\@tempb - \renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi - \def\@tempb{semicolon}\ifx\@tempa\@tempb - \renewcommand\NAT@sep{;}\fi - \def\@tempb{colon}\ifx\@tempa\@tempb - \renewcommand\NAT@sep{;}\fi - \def\@tempb{comma}\ifx\@tempa\@tempb - \renewcommand\NAT@sep{,}\fi - \def\@tempb{authoryear}\ifx\@tempa\@tempb - \NAT@numbersfalse\fi - \def\@tempb{numbers}\ifx\@tempa\@tempb - \NAT@numberstrue\NAT@superfalse\fi - \def\@tempb{super}\ifx\@tempa\@tempb - \NAT@numberstrue\NAT@supertrue\fi - \def\@tempb{nobibstyle}\ifx\@tempa\@tempb - \let\bibstyle=\@gobble\fi - \def\@tempb{bibstyle}\ifx\@tempa\@tempb - \let\bibstyle=\@citestyle\fi - \def\@tempb{sort}\ifx\@tempa\@tempb - \def\NAT@sort{\@ne}\fi - \def\@tempb{nosort}\ifx\@tempa\@tempb - \def\NAT@sort{\z@}\fi - \def\@tempb{compress}\ifx\@tempa\@tempb - \def\NAT@cmprs{\@ne}\fi - \def\@tempb{nocompress}\ifx\@tempa\@tempb - \def\NAT@cmprs{\z@}\fi - \def\@tempb{sort&compress}\ifx\@tempa\@tempb - \def\NAT@sort{\@ne}\def\NAT@cmprs{\@ne}\fi - \def\@tempb{mcite}\ifx\@tempa\@tempb - \let\NAT@merge\@ne\fi - \def\@tempb{merge}\ifx\@tempa\@tempb - \@ifnum{\NAT@merge<\tw@}{\let\NAT@merge\tw@}{}\fi - \def\@tempb{elide}\ifx\@tempa\@tempb - \@ifnum{\NAT@merge<\thr@@}{\let\NAT@merge\thr@@}{}\fi - \def\@tempb{longnamesfirst}\ifx\@tempa\@tempb - \NAT@longnamestrue\fi - \def\@tempb{nonamebreak}\ifx\@tempa\@tempb - \def\NAT@nmfmt#1{\mbox{\NAT@up#1}}\fi - \expandafter\NAT@find@eq\@tempa=\relax\@nil - \if\@tempc\relax\else - \expandafter\NAT@rem@eq\@tempc - \def\@tempb{open}\ifx\@tempa\@tempb - \xdef\NAT@open{\@tempc}\fi - \def\@tempb{close}\ifx\@tempa\@tempb - \xdef\NAT@close{\@tempc}\fi - \def\@tempb{aysep}\ifx\@tempa\@tempb - \xdef\NAT@aysep{\@tempc}\fi - \def\@tempb{yysep}\ifx\@tempa\@tempb - \xdef\NAT@yrsep{\@tempc}\fi - \def\@tempb{notesep}\ifx\@tempa\@tempb - \xdef\NAT@cmt{\@tempc}\fi - \def\@tempb{citesep}\ifx\@tempa\@tempb - \xdef\NAT@sep{\@tempc}\fi - \fi - }% - \NAT@@setcites - } - \renewcommand\citestyle[1]{% - \ifcsname bibstyle@#1\endcsname% - \csname bibstyle@#1\endcsname\let\bibstyle\@gobble% - \else% - \@latex@error{Undefined `#1' citestyle}% - \fi - }% -\fi -\newcommand{\bibstyle@acmauthoryear}{% - \setcitestyle{% - authoryear,% - open={[},close={]},citesep={;},% - aysep={},yysep={,},% - notesep={, }}} -\newcommand{\bibstyle@acmnumeric}{% - \setcitestyle{% - numbers,sort&compress,% - open={[},close={]},citesep={,},% - notesep={, }}} -\if@ACM@natbib -\citestyle{acmnumeric} -\fi -\def\@startsection#1#2#3#4#5#6{% - \if@noskipsec \leavevmode \fi - \par - \@tempskipa #4\relax - \@afterindenttrue - \ifdim \@tempskipa <\z@ - \@tempskipa -\@tempskipa \@afterindentfalse - \fi - \if@nobreak - \everypar{}% - \else - \addpenalty\@secpenalty\addvspace\@tempskipa - \fi - \@ifstar - {\@ssect{#3}{#4}{#5}{#6}}% - {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} -\def\@sect#1#2#3#4#5#6[#7]#8{% - \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}% - \ifnum #2>\c@secnumdepth - \let\@svsec\@empty - \else - \refstepcounter{#1}% - \protected@edef\@svsec{\@seccntformat{#1}\relax}% - \fi - \@tempskipa #5\relax - \ifdim \@tempskipa>\z@ - \begingroup - #6{% - \@hangfrom{\hskip #3\relax\@svsec}% - \interlinepenalty \@M #8\@@par}% - \endgroup - \csname #1mark\endcsname{#7}% - \ifnum #2>\c@secnumdepth \else - \@tochangmeasure{\csname the#1\endcsname}% - \fi - \addcontentsline{toc}{#1}{% - \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% - \fi - #7}% - \else - \def\@svsechd{% - #6{\hskip #3\relax - \@svsec #8}% - \csname #1mark\endcsname{#7}% - \ifnum #2>\c@secnumdepth \else - \@tochangmeasure{\csname the#1\endcsname\space}% - \fi - \addcontentsline{toc}{#1}{% - \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% - \fi - #7}}% - \fi - \@xsect{#5}} -\def\@xsect#1{% - \@tempskipa #1\relax - \ifdim \@tempskipa>\z@ - \par \nobreak - \vskip \@tempskipa - \@afterheading - \else - \@nobreakfalse - \global\@noskipsectrue - \everypar{% - \if@noskipsec - \global\@noskipsecfalse - {\setbox\z@\lastbox}% - \clubpenalty\@M - \begingroup \@svsechd \endgroup - \unskip - \@tempskipa #1\relax - \hskip -\@tempskipa - \else - \clubpenalty \@clubpenalty - \everypar{}% - \fi}% - \fi - \ignorespaces} -\def\@seccntformat#1{\csname the#1\endcsname\quad} -\def\@ssect#1#2#3#4#5{% - \@tempskipa #3\relax - \ifdim \@tempskipa>\z@ - \begingroup - #4{% - \@hangfrom{\hskip #1}% - \interlinepenalty \@M #5\@@par}% - \endgroup - \else - \def\@svsechd{#4{\hskip #1\relax #5}}% - \fi - \@xsect{#3}} -\def\@starttoc#1#2{\begingroup\makeatletter - \setTrue{#1}% - \par\removelastskip\vskip\z@skip - \@startsection{section}\@M\z@{\linespacing\@plus\linespacing}% - {.5\linespacing}{\centering\contentsnamefont}{#2}% - \@input{\jobname.#1}% - \if@filesw - \@xp\newwrite\csname tf@#1\endcsname - \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax - \fi - \global\@nobreakfalse \endgroup - \addvspace{32\p@\@plus14\p@}% -} -\def\l@section{\@tocline{1}{0pt}{1pc}{2pc}{}} -\def\l@subsection{\@tocline{2}{0pt}{1pc}{3pc}{}} -\def\l@subsubsection{\@tocline{3}{0pt}{1pc}{5pc}{}} -\def\@makefntext{\noindent\@makefnmark} -\if@ACM@sigchiamode -\long\def\@footnotetext#1{\marginpar{% - \reset@font\small - \interlinepenalty\interfootnotelinepenalty - \protected@edef\@currentlabel{% - \csname p@footnote\endcsname\@thefnmark - }% - \color@begingroup - \@makefntext{% - \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% - \color@endgroup}}% -\fi -\long\def\@mpfootnotetext#1{% - \global\setbox\@mpfootins\vbox{% - \unvbox\@mpfootins - \reset@font\footnotesize - \hsize\columnwidth - \@parboxrestore - \protected@edef\@currentlabel - {\csname p@mpfootnote\endcsname\@thefnmark}% - \color@begingroup\centering - \@makefntext{% - \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% - \color@endgroup}} -\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} -\let\@footnotemark@nolink\@footnotemark -\let\@footnotetext@nolink\@footnotetext -\RequirePackage[bookmarksnumbered,unicode]{hyperref} -\pdfstringdefDisableCommands{% - \def\addtocounter#1#2{}% - \def\unskip{}% - \def\textbullet{- }% - \def\textrightarrow{ -> }% - \def\footnotemark{}% -} -\urlstyle{rm} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \urlstyle{sf} -\or % sigchi -\or % sigchi-a - \urlstyle{sf} -\fi -\AtEndPreamble{% - \if@ACM@urlbreakonhyphens - \def\do@url@hyp{\do\-}% - \fi - \if@ACM@screen - \hypersetup{colorlinks, - linkcolor=ACMPurple, - citecolor=ACMPurple, - urlcolor=ACMDarkBlue, - filecolor=ACMDarkBlue} - \else - \hypersetup{hidelinks} - \fi - \hypersetup{pdflang={en}, - pdfdisplaydoctitle}} -\RequirePackage{hyperxmp} -\if@ACM@natbib - \let\citeN\cite - \let\cite\citep - \let\citeANP\citeauthor - \let\citeNN\citeyearpar - \let\citeyearNP\citeyear - \let\citeNP\citealt - \DeclareRobustCommand\citeA - {\begingroup\NAT@swafalse - \let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}% - \providecommand\newblock{}% -\else - \AtBeginDocument{% - \let\shortcite\cite% - \providecommand\citename[1]{#1}} -\fi -\newcommand\shortcite[2][]{% - \ifNAT@numbers\cite[#1]{#2}\else\citeyearpar[#1]{#2}\fi} -\def\bibliographystyle#1{% - \ifx\@begindocumenthook\@undefined\else - \expandafter\AtBeginDocument - \fi - {\if@filesw - \immediate\write\@auxout{\string\bibstyle{#1}}% - \fi}} -\RequirePackage{graphicx} -\RequirePackage[prologue]{xcolor} -\definecolor[named]{ACMBlue}{cmyk}{1,0.1,0,0.1} -\definecolor[named]{ACMYellow}{cmyk}{0,0.16,1,0} -\definecolor[named]{ACMOrange}{cmyk}{0,0.42,1,0.01} -\definecolor[named]{ACMRed}{cmyk}{0,0.90,0.86,0} -\definecolor[named]{ACMLightBlue}{cmyk}{0.49,0.01,0,0} -\definecolor[named]{ACMGreen}{cmyk}{0.20,0,1,0.19} -\definecolor[named]{ACMPurple}{cmyk}{0.55,1,0,0.15} -\definecolor[named]{ACMDarkBlue}{cmyk}{1,0.58,0,0.21} -\if@ACM@authordraft - \RequirePackage{draftwatermark} - \SetWatermarkFontSize{0.5in} - \SetWatermarkColor[gray]{.9} - \SetWatermarkText{\parbox{12em}{\centering - Unpublished working draft.\\ - Not for distribution.}} -\else - \if@ACM@sigchiamode - \if@ACM@nonacm\else - \RequirePackage{draftwatermark} - \SetWatermarkFontSize{0.5in} - \SetWatermarkColor[gray]{.9} - \SetWatermarkText{\parbox{12em}{\centering - Legacy document. \\ - Not for publication in an ACM venue}} - \fi - \fi -\fi -\RequirePackage{geometry} -\ifcase\ACM@format@nr -\relax % manuscript - \geometry{letterpaper,head=13pt, - marginparwidth=6pc,heightrounded}% -\or % acmsmall - \geometry{twoside=true, - includeheadfoot, head=13pt, foot=2pc, - paperwidth=6.75in, paperheight=10in, - top=58pt, bottom=44pt, inner=46pt, outer=46pt, - marginparwidth=2pc,heightrounded - }% -\or % acmlarge - \geometry{twoside=true, head=13pt, foot=2pc, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, - top=78pt, bottom=114pt, inner=81pt, outer=81pt, - marginparwidth=4pc,heightrounded - }% -\or % acmtog - \geometry{twoside=true, head=13pt, foot=2pc, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=24pt, - top=52pt, bottom=75pt, inner=52pt, outer=52pt, - marginparwidth=2pc,heightrounded - }% -\or % sigconf - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=2pc, - top=57pt, bottom=73pt, inner=54pt, outer=54pt, - marginparwidth=2pc,heightrounded - }% -\or % siggraph - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=2pc, - top=57pt, bottom=73pt, inner=54pt, outer=54pt, - marginparwidth=2pc,heightrounded - }% -\or % sigplan - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot=false, columnsep=2pc, - top=1in, bottom=1in, inner=0.75in, outer=0.75in, - marginparwidth=2pc,heightrounded - }% -\or % sigchi - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=2pc, - top=66pt, bottom=73pt, inner=54pt, outer=54pt, - marginparwidth=2pc,heightrounded - }% -\or % sigchi-a - \geometry{twoside=false, head=13pt, - paperwidth=11in, paperheight=8.5in, - includeheadfoot, marginparsep=72pt, - marginparwidth=170pt, columnsep=20pt, - top=72pt, bottom=72pt, left=314pt, right=72pt - }% - \@mparswitchfalse - \reversemarginpar -\fi -\setlength\parindent{10\p@} -\setlength\parskip{\z@} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog - \setlength\parindent{9\p@}% -\or % sigconf -\or % siggraph -\or % sigplan -\or % sigchi -\or % sigchi-a -\fi -\setlength\normalparindent{\parindent} -\def\copyrightpermissionfootnoterule{} -\RequirePackage{manyfoot} -\SelectFootnoteRule[2]{copyrightpermission} -\DeclareNewFootnote{authorsaddresses} -\SelectFootnoteRule[2]{copyrightpermission} -\DeclareNewFootnote{copyrightpermission} -\def\footnoterule{\kern-3\p@ - \hrule \@width 4pc \kern 2.6\p@} -\def\endminipage{% - \par - \unskip - \ifvoid\@mpfootins\else - \vskip\skip\@mpfootins - \normalcolor - \unvbox\@mpfootins - \fi - \@minipagefalse - \color@endgroup - \egroup - \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}} -\def\@textbottom{\vskip \z@ \@plus 1pt} -\let\@texttop\relax -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog - \flushbottom -\or % sigconf - \flushbottom -\or % siggraph - \flushbottom -\or % sigplan - \flushbottom -\or % sigchi - \flushbottom -\or % sigchi-a -\fi -\ifPDFTeX -\input{glyphtounicode} -\pdfglyphtounicode{f_f}{FB00} -\pdfglyphtounicode{f_f_i}{FB03} -\pdfglyphtounicode{f_f_l}{FB04} -\pdfglyphtounicode{f_i}{FB01} -\pdfglyphtounicode{t_t}{0074 0074} -\pdfglyphtounicode{f_t}{0066 0074} -\pdfglyphtounicode{T_h}{0054 0068} -\pdfgentounicode=1 -\RequirePackage{cmap} -\fi -\newif\if@ACM@newfonts -\@ACM@newfontstrue -\IfFileExists{libertine.sty}{}{\ClassWarning{\@classname}{You do not - have the libertine package installed. Please upgrade your - TeX}\@ACM@newfontsfalse} -\IfFileExists{zi4.sty}{}{\ClassWarning{\@classname}{You do not - have the inconsolata (zi4.sty) package installed. Please upgrade your - TeX}\@ACM@newfontsfalse} -\IfFileExists{newtxmath.sty}{}{\ClassWarning{\@classname}{You do not - have the newtxmath package installed. Please upgrade your - TeX}\@ACM@newfontsfalse} -\if@ACM@newfonts - \RequirePackage[T1]{fontenc} - % Note that the order in which packages are loaded matters, - % and the correct order depends on the LaTeX engine used. - % See https://github.com/borisveytsman/acmart/issues/402 - % and https://github.com/borisveytsman/acmart/issues/410 - \ifxetex - \RequirePackage[libertine]{newtxmath} - \RequirePackage[tt=false]{libertine} - \setmonofont[StylisticSet=3]{inconsolata} - \else - \ifluatex - \RequirePackage[libertine]{newtxmath} - \RequirePackage[tt=false]{libertine} - \setmonofont[StylisticSet=3]{inconsolata} - \else - \RequirePackage[tt=false, type1=true]{libertine} - \RequirePackage[varqu]{zi4} - \RequirePackage[libertine]{newtxmath} - \fi - \fi -\fi -\let\liningnums\@undefined -\AtEndPreamble{% - \DeclareTextFontCommand{\liningnums}{\libertineLF}} -\if@ACM@sigchiamode - \renewcommand{\familydefault}{\sfdefault} -\fi -\newif\if@Description@present -\@Description@presenttrue -\newif\if@undescribed@images -\@undescribed@imagesfalse -\newcommand\Description[2][]{\global\@Description@presenttrue\ignorespaces} -\AtEndDocument{\if@undescribed@images - \ClassWarningNoLine{\@classname}{Some images may lack descriptions}\fi} -\AtBeginEnvironment{figure}{\@Description@presentfalse - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{figure*}{\@Description@presentfalse - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtEndEnvironment{figure}{\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without description}\fi} -\AtEndEnvironment{figure*}{\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without description}\fi} -\AtBeginEnvironment{table}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{table*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{algorithm}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{algorithm*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{lstlisting}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{lstlisting*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{minted}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{minted*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{listing}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{listing*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} - -\RequirePackage{caption, float} -\captionsetup[table]{position=top} -\if@ACM@journal - \captionsetup{labelfont={sf, small}, - textfont={sf, small}, margin=\z@} - \captionsetup[figure]{name={Fig.}} -\else - \captionsetup{labelfont={bf}, - textfont={bf}, labelsep=colon, margin=\z@} - \ifcase\ACM@format@nr - \relax % manuscript - \or % acmsmall - \or % acmlarge - \or % acmtog - \or % sigconf - \or % siggraph - \captionsetup{textfont={it}} - \or % sigplan - \captionsetup{labelfont={bf}, - textfont={normalfont}, labelsep=period, margin=\z@} - \or % sigchi - \captionsetup[figure]{labelfont={bf, small}, - textfont={bf, small}} - \captionsetup[table]{labelfont={bf, small}, - textfont={bf, small}} - \or % sigchi-a - \captionsetup[figure]{labelfont={bf, small}, - textfont={bf, small}} - \captionsetup[table]{labelfont={bf, small}, - textfont={bf, small}} - \fi -\fi -\newfloat{sidebar}{}{sbar} -\floatname{sidebar}{Sidebar} -\renewenvironment{sidebar}{\Collect@Body\@sidebar}{} -\long\def\@sidebar#1{\bgroup\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig\captionsetup{type=sidebar}% - \marginpar{\small#1}\egroup} -\newenvironment{marginfigure}{\Collect@Body\@marginfigure}{} -\long\def\@marginfigure#1{\bgroup - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \captionsetup{type=figure}% - \marginpar{\@Description@presentfalse\centering - \small#1\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without description} - \fi}% - \egroup} -\newenvironment{margintable}{\Collect@Body\@margintable}{} -\long\def\@margintable#1{\bgroup\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig\captionsetup{type=table}% - \marginpar{\centering\small#1}\egroup} -\newdimen\fulltextwidth -\fulltextwidth=\dimexpr(\textwidth+\marginparwidth+\marginparsep) -\if@ACM@sigchiamode -\def\@dblfloat{\bgroup\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig\columnwidth=\fulltextwidth - \let\@endfloatbox\@endwidefloatbox - \def\@fpsadddefault{\def\@fps{tp}}% - \@float} -\fi -\if@ACM@sigchiamode -\def\end@dblfloat{% - \end@float\egroup} -\fi -\def\@endwidefloatbox{% - \par\vskip\z@skip - \@minipagefalse - \outer@nobreak - \egroup - \color@endbox - \global\setbox\@currbox=\vbox{\moveleft - \dimexpr(\fulltextwidth-\textwidth)\box\@currbox}% - \wd\@currbox=\textwidth -} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan -\def\labelenumi{\theenumi.} -\def\labelenumii{\theenumii.} -\def\labelenumiii{\theenumiii.} -\def\labelenumiv{\theenumiv.} -\or % sigchi -\or % sigchi-a -\fi -\newdimen\@ACM@labelwidth -\AtBeginDocument{% - \setlength\labelsep{4pt} - \setlength{\@ACM@labelwidth}{6.5pt} - - %% First-level list: when beginning after the first line of an - %% indented paragraph or ending before an indented paragraph, labels - %% should not hang to the left of the preceding/following text. - \setlength\leftmargini{\z@} - \addtolength\leftmargini{\parindent} - \addtolength\leftmargini{2\labelsep} - \addtolength\leftmargini{\@ACM@labelwidth} - - %% Second-level and higher lists. - \setlength\leftmarginii{\z@} - \addtolength\leftmarginii{0.5\labelsep} - \addtolength\leftmarginii{\@ACM@labelwidth} - \setlength\leftmarginiii{\leftmarginii} - \setlength\leftmarginiv{\leftmarginiii} - \setlength\leftmarginv{\leftmarginiv} - \setlength\leftmarginvi{\leftmarginv} - \@listi} -\newskip\listisep -\listisep\smallskipamount -\def\@listI{\leftmargin\leftmargini - \labelwidth\leftmargini \advance\labelwidth-\labelsep - \listparindent\z@ - \topsep\listisep} -\let\@listi\@listI -\def\@listii{\leftmargin\leftmarginii - \labelwidth\leftmarginii \advance\labelwidth-\labelsep - \topsep\z@skip} -\def\@listiii{\leftmargin\leftmarginiii - \labelwidth\leftmarginiii \advance\labelwidth-\labelsep} -\def\@listiv{\leftmargin\leftmarginiv - \labelwidth\leftmarginiv \advance\labelwidth-\labelsep} -\def\@listv{\leftmargin\leftmarginv - \labelwidth\leftmarginv \advance\labelwidth-\labelsep} -\def\@listvi{\leftmargin\leftmarginvi - \labelwidth\leftmarginvi \advance\labelwidth-\labelsep} -\renewcommand{\descriptionlabel}[1]{\upshape\bfseries #1} -\renewenvironment{description}{\list{}{% - \labelwidth\@ACM@labelwidth - \let\makelabel\descriptionlabel}% -}{ - \endlist -} -\let\enddescription=\endlist % for efficiency -\newif\if@ACM@maketitle@typeset -\@ACM@maketitle@typesetfalse -\define@choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode@nr]{% - CIE,% - CSUR,% - DGOV,% - DTRAP,% - HEALTH,% - IMWUT,% - JACM,% - JDIQ,% - JEA,% - JERIC,% - JETC,% - JOCCH,% - PACMCGIT,% - PACMHCI,% - PACMPL,% - POMACS,% - TAAS,% - TACCESS,% - TACO,% - TALG,% - TALLIP,% - TAP,% - TCPS,% - TDS,% - TEAC,% - TECS,% - TELO,% - THRI,% - TIIS,% - TIOT,% - TISSEC,% - TIST,% - TKDD,% - TMIS,% - TOCE,% - TOCHI,% - TOCL,% - TOCS,% - TOCT,% - TODAES,% - TODS,% - TOG,% - TOIS,% - TOIT,% - TOMACS,% - TOMM,% - TOMPECS,% - TOMS,% - TOPC,% - TOPS,% - TOPLAS,% - TOS,% - TOSEM,% - TOSN,% - TQC,% - TRETS,% - TSAS,% - TSC,% - TSLP,% - TWEB,% - FACMP% -}{% -\ifcase\@journalCode@nr -\relax % CIE - \def\@journalName{ACM Computers in Entertainment}% - \def\@journalNameShort{ACM Comput. Entertain.}% - \def\@permissionCodeOne{1544-3574}% -\or % CSUR - \def\@journalName{ACM Computing Surveys}% - \def\@journalNameShort{ACM Comput. Surv.}% - \def\@permissionCodeOne{0360-0300}% -\or % DGOV - \def\@journalName{Digital Government: Research and Practice}% - \def\@journalNameShort{Digit. Gov. Res. Pract.}% - \def\@permissionCodeOne{2639-0175}% -\or % DTRAP - \def\@journalName{Digital Threats: Research and Practice}% - \def\@journalNameShort{Digit. Threat. Res. Pract.}% - \def\@permissionCodeOne{2576-5337}% -\or % HEALTH - \def\@journalName{ACM Transactions on Computing for Healthcare}% - \def\@journalNameShort{ACM Trans. Comput. Healthcare}% - \def\@permissionCodeOne{2637-8051}% -\or % IMWUT - \def\@journalName{Proceedings of the ACM on Interactive, Mobile, - Wearable and Ubiquitous Technologies}% - \def\@journalNameShort{Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.}% - \def\@permissionCodeOne{2474-9567}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % JACM - \def\@journalName{Journal of the ACM}% - \def\@journalNameShort{J. ACM}% - \def\@permissionCodeOne{0004-5411}% -\or % JDIQ - \def\@journalName{ACM Journal of Data and Information Quality}% - \def\@journalNameShort{ACM J. Data Inform. Quality}% - \def\@permissionCodeOne{1936-1955}% -\or % JEA - \def\@journalName{ACM Journal of Experimental Algorithmics}% - \def\@journalNameShort{ACM J. Exp. Algor.}% - \def\@permissionCodeOne{1084-6654}% -\or % JERIC - \def\@journalName{ACM Journal of Educational Resources in Computing}% - \def\@journalNameShort{ACM J. Edu. Resources in Comput.}% - \def\@permissionCodeOne{1073-0516}% -\or % JETC - \def\@journalName{ACM Journal on Emerging Technologies in Computing Systems}% - \def\@journalNameShort{ACM J. Emerg. Technol. Comput. Syst.}% - \def\@permissionCodeOne{1550-4832}% -\or % JOCCH - \def\@journalName{ACM Journal on Computing and Cultural Heritage}% - \def\@journalNameShort{ACM J. Comput. Cult. Herit.}% -\or % PACMCGIT - \def\@journalName{Proceedings of the ACM on Computer Graphics and Interactive Techniques}% - \def\@journalNameShort{Proc. ACM Comput. Graph. Interact. Tech.}% - \def\@permissionCodeOne{2577-6193}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % PACMHCI - \def\@journalName{Proceedings of the ACM on Human-Computer Interaction}% - \def\@journalNameShort{Proc. ACM Hum.-Comput. Interact.}% - \def\@permissionCodeOne{2573-0142}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % PACMPL - \def\@journalName{Proceedings of the ACM on Programming Languages}% - \def\@journalNameShort{Proc. ACM Program. Lang.}% - \def\@permissionCodeOne{2475-1421}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % POMACS - \def\@journalName{Proceedings of the ACM on Measurement and Analysis of Computing Systems}% - \def\@journalNameShort{Proc. ACM Meas. Anal. Comput. Syst.}% - \def\@permissionCodeOne{2476-1249}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % TAAS - \def\@journalName{ACM Transactions on Autonomous and Adaptive Systems}% - \def\@journalNameShort{ACM Trans. Autonom. Adapt. Syst.}% - \def\@permissionCodeOne{1556-4665}% -\or % TACCESS - \def\@journalName{ACM Transactions on Accessible Computing}% - \def\@journalNameShort{ACM Trans. Access. Comput.}% - \def\@permissionCodeOne{1936-7228}% -\or % TACO - \def\@journalName{ACM Transactions on Architecture and Code Optimization}% - \def\@journalNameShort{ACM Trans. Arch. Code Optim.}% -\or % TALG - \def\@journalName{ACM Transactions on Algorithms}% - \def\@journalNameShort{ACM Trans. Algor.}% - \def\@permissionCodeOne{1549-6325}% -\or % TALLIP - \def\@journalName{ACM Transactions on Asian and Low-Resource Language Information Processing}% - \def\@journalNameShort{ACM Trans. Asian Low-Resour. Lang. Inf. Process.}% - \def\@permissionCodeOne{2375-4699}% -\or % TAP - \def\@journalName{ACM Transactions on Applied Perception}% -\or % TCPS - \def\@journalName{ACM Transactions on Cyber-Physical Systems}% -\or % TDS - \def\@journalName{ACM/IMS Transactions on Data Science}% - \def\@journalNameShort{ACM/IMS Trans. Data Sci.}% - \def\@permissionCodeOne{2577-3224}% -\or % TEAC - \def\@journalName{ACM Transactions on Economics and Computation}% -\or % TECS - \def\@journalName{ACM Transactions on Embedded Computing Systems}% - \def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}% - \def\@permissionCodeOne{1539-9087}% -\or % TELO - \def\@journalName{ACM Transactions on Evolutionary Learning}% - \def\@journalNameShort{ACM Trans. Evol. Learn.}% - \def\@permissionCodeOne{2688-3007}% -\or % THRI - \def\@journalName{ACM Transactions on Human-Robot Interaction}% - \def\@journalNameShort{ACM Trans. Hum.-Robot Interact.}% - \def\@permissionCodeOne{2573-9522}% -\or % TIIS - \def\@journalName{ACM Transactions on Interactive Intelligent Systems}% - \def\@journalNameShort{ACM Trans. Interact. Intell. Syst.}% - \def\@permissionCodeOne{2160-6455}% -\or % TIOT - \def\@journalName{ACM Transactions on Internet of Things}% - \def\@journalNameShort{ACM Trans. Internet Things}% - \def\@permissionCodeOne{2577-6207}% -\or % TISSEC - \def\@journalName{ACM Transactions on Information and System Security}% - \def\@journalNameShort{ACM Trans. Info. Syst. Sec.}% - \def\@permissionCodeOne{1094-9224}% -\or % TIST - \def\@journalName{ACM Transactions on Intelligent Systems and Technology}% - \def\@journalNameShort{ACM Trans. Intell. Syst. Technol.}% - \def\@permissionCodeOne{2157-6904}% -\or % TKDD - \def\@journalName{ACM Transactions on Knowledge Discovery from Data}% - \def\@journalNameShort{ACM Trans. Knowl. Discov. Data.}% - \def\@permissionCodeOne{1556-4681}% -\or % TMIS - \def\@journalName{ACM Transactions on Management Information Systems}% - \def\@journalNameShort{ACM Trans. Manag. Inform. Syst.}% - \def\@permissionCodeOne{2158-656X}% -\or % TOCE - \def\@journalName{ACM Transactions on Computing Education}% - \def\@journalNameShort{ACM Trans. Comput. Educ.}% - \def\@permissionCodeOne{1946-6226}% -\or % TOCHI - \def\@journalName{ACM Transactions on Computer-Human Interaction}% - \def\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}% - \def\@permissionCodeOne{1073-0516}% -\or % TOCL - \def\@journalName{ACM Transactions on Computational Logic}% - \def\@journalNameShort{ACM Trans. Comput. Logic}% - \def\@permissionCodeOne{1529-3785}% -\or % TOCS - \def\@journalName{ACM Transactions on Computer Systems}% - \def\@journalNameShort{ACM Trans. Comput. Syst.}% - \def\@permissionCodeOne{0734-2071}% -\or % TOCT - \def\@journalName{ACM Transactions on Computation Theory}% - \def\@journalNameShort{ACM Trans. Comput. Theory}% - \def\@permissionCodeOne{1942-3454}% -\or % TODAES - \def\@journalName{ACM Transactions on Design Automation of Electronic Systems}% - \def\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}% - \def\@permissionCodeOne{1084-4309}% -\or % TODS - \def\@journalName{ACM Transactions on Database Systems}% - \def\@journalNameShort{ACM Trans. Datab. Syst.}% - \def\@permissionCodeOne{0362-5915}% -\or % TOG - \def\@journalName{ACM Transactions on Graphics}% - \def\@journalNameShort{ACM Trans. Graph.}% - \def\@permissionCodeOne{0730-0301} -\or % TOIS - \def\@journalName{ACM Transactions on Information Systems}% - \def\@permissionCodeOne{1046-8188}% -\or % TOIT - \def\@journalName{ACM Transactions on Internet Technology}% - \def\@journalNameShort{ACM Trans. Internet Technol.}% - \def\@permissionCodeOne{1533-5399}% -\or % TOMACS - \def\@journalName{ACM Transactions on Modeling and Computer Simulation}% - \def\@journalNameShort{ACM Trans. Model. Comput. Simul.}% -\or % TOMM - \def\@journalName{ACM Transactions on Multimedia Computing, Communications and Applications}% - \def\@journalNameShort{ACM Trans. Multimedia Comput. Commun. Appl.}% - \def\@permissionCodeOne{1551-6857}% - \def\@permissionCodeTwo{0100}% -\or % TOMPECS - \def\@journalName{ACM Transactions on Modeling and Performance Evaluation of Computing Systems}% - \def\@journalNameShort{ACM Trans. Model. Perform. Eval. Comput. Syst.}% - \def\@permissionCodeOne{2376-3639}% -\or % TOMS - \def\@journalName{ACM Transactions on Mathematical Software}% - \def\@journalNameShort{ACM Trans. Math. Softw.}% - \def\@permissionCodeOne{0098-3500}% -\or % TOPC - \def\@journalName{ACM Transactions on Parallel Computing}% - \def\@journalNameShort{ACM Trans. Parallel Comput.}% - \def\@permissionCodeOne{1539-9087}% -\or % TOPS - \def\@journalName{ACM Transactions on Privacy and Security}% - \def\@journalNameShort{ACM Trans. Priv. Sec.}% - \def\@permissionCodeOne{2471-2566}% -\or % TOPLAS - \def\@journalName{ACM Transactions on Programming Languages and Systems}% - \def\@journalNameShort{ACM Trans. Program. Lang. Syst.}% - \def\@permissionCodeOne{0164-0925}% -\or % TOS - \def\@journalName{ACM Transactions on Storage}% - \def\@journalNameShort{ACM Trans. Storage}% - \def\@permissionCodeOne{1553-3077}% -\or % TOSEM - \def\@journalName{ACM Transactions on Software Engineering and Methodology}% - \def\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}% - \def\@permissionCodeOne{1049-331X}% -\or % TOSN - \def\@journalName{ACM Transactions on Sensor Networks}% - \def\@journalNameShort{ACM Trans. Sensor Netw.}% - \def\@permissionCodeOne{1550-4859}% -\or % TQC - \def\@journalName{ACM Transactions on Quantum Computing}% - \def\@journalNameShort{ACM Trans. Quantum Comput.}% - \def\@permissionCodeOne{2643-6817}% -\or % TRETS - \def\@journalName{ACM Transactions on Reconfigurable Technology and Systems}% - \def\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}% - \def\@permissionCodeOne{1936-7406}% -\or % TSAS - \def\@journalName{ACM Transactions on Spatial Algorithms and Systems}% - \def\@journalNameShort{ACM Trans. Spatial Algorithms Syst.}% - \def\@permissionCodeOne{2374-0353}% -\or % TSC - \def\@journalName{ACM Transactions on Social Computing}% - \def\@journalNameShort{ACM Trans. Soc. Comput.}% - \def\@permissionCodeOne{2469-7818}% -\or % TSLP - \def\@journalName{ACM Transactions on Speech and Language Processing}% - \def\@journalNameShort{ACM Trans. Speech Lang. Process.}% - \def\@permissionCodeOne{1550-4875}% -\or % TWEB - \def\@journalName{ACM Transactions on the Web}% - \def\@journalNameShort{ACM Trans. Web}% - \def\@permissionCodeOne{1559-1131}% -\else % FACMP, a dummy journal - \def\@journalName{Forthcoming ACM Publication}% - \def\@journalNameShort{ACM Forthcoming}% - \def\@permissionCodeOne{XXXX-XXXX}% -\fi -\ClassInfo{\@classname}{Using journal code \@journalCode}% -}{% - \ClassError{\@classname}{Incorrect journal #1}% -}% -\def\acmJournal#1{\setkeys{ACM}{acmJournal=#1}% - \global\@ACM@journal@bibstriptrue} -\def\@journalCode@nr{0} -\def\@journalName{}% -\def\@journalNameShort{\@journalName}% -\def\@permissionCodeOne{XXXX-XXXX}% -\def\@permissionCodeTwo{}% -\newcommand\acmConference[4][]{% - \gdef\acmConference@shortname{#1}% - \gdef\acmConference@name{#2}% - \gdef\acmConference@date{#3}% - \gdef\acmConference@venue{#4}% - \ifx\acmConference@shortname\@empty - \gdef\acmConference@shortname{#2}% - \fi - \global\@ACM@journal@bibstripfalse -} -\if@ACM@journal\else -\acmConference[]{}{}{}% -\fi -\def\acmBooktitle#1{\gdef\@acmBooktitle{#1}} -\acmBooktitle{Proceedings of \acmConference@name - \ifx\acmConference@name\acmConference@shortname\else - \ (\acmConference@shortname)\fi} -\def\@editorsAbbrev{(Ed.)} -\def\@acmEditors{} -\def\editor#1{\ifx\@acmEditors\@empty - \gdef\@acmEditors{#1}% - \else - \gdef\@editorsAbbrev{(Eds.)}% - \g@addto@macro\@acmEditors{\and#1}% -\fi} -\def\subtitle#1{\def\@subtitle{#1}} -\subtitle{} -\newcount\num@authorgroups -\num@authorgroups=0\relax -\newcount\num@authors -\num@authors=0\relax -\newif\if@insideauthorgroup -\@insideauthorgroupfalse -\renewcommand\author[2][]{% - \IfSubStr{\detokenize{#2}}{,}{\ClassWarning{\@classname}{Do not put several - authors in the same \string\author\space macro!}}{}% - \global\advance\num@authors by 1\relax - \if@insideauthorgroup\else - \global\advance\num@authorgroups by 1\relax - \global\@insideauthorgrouptrue - \fi - \ifx\addresses\@empty - \if@ACM@anonymous - \gdef\addresses{\@author{Anonymous Author(s)% - \ifx\@acmSubmissionID\@empty\else\\Submission Id: - \@acmSubmissionID\fi}}% - \gdef\authors{Anonymous Author(s)}% - \else - \gdef\addresses{\@author{#2}}% - \gdef\authors{#2}% - \fi - \else - \if@ACM@anonymous\else - \g@addto@macro\addresses{\and\@author{#2}}% - \g@addto@macro\authors{\and#2}% - \fi - \fi - \if@ACM@anonymous - \ifx\shortauthors\@empty - \gdef\shortauthors{Anon. - \ifx\@acmSubmissionID\@empty\else Submission Id: - \@acmSubmissionID\fi}% - \fi - \else - \def\@tempa{#1}% - \ifx\@tempa\@empty - \ifx\shortauthors\@empty - \gdef\shortauthors{#2}% - \else - \g@addto@macro\shortauthors{\and#2}% - \fi - \else - \ifx\shortauthors\@empty - \gdef\shortauthors{#1}% - \else - \g@addto@macro\shortauthors{\and#1}% - \fi - \fi - \fi} -\newcommand{\affiliation}[2][]{% - \global\@insideauthorgroupfalse - \if@ACM@anonymous\else - \g@addto@macro\addresses{\affiliation{#1}{#2}}% - \fi} -\define@boolkey+{@ACM@affiliation@}[@ACM@affiliation@]{obeypunctuation}% -[true]{}{\ClassError{\@classname}{The option obeypunctuation can be either true or false}} -\def\additionalaffiliation#1{\authornote{\@additionalaffiliation{#1}}} -\def\@additionalaffiliation#1{\bgroup - \def\position##1{\ignorespaces}% - \def\institution##1{##1\ignorespaces}% - \def\department{\@ifnextchar[{\@department}{\@department[]}}% - \def\@department[##1]##2{\unskip, ##2\ignorespaces}% - \let\streetaddress\position - \let\city\position - \let\state\position - \let\postcode\position - \let\country\position - Also with #1\unskip.\egroup} -\renewcommand{\email}[2][]{% - \IfSubStr{#2}{,}{\ClassWarning{\@classname}{Do not put several - addresses in the same \string\email\space macro!}}{}% - \if@ACM@anonymous\else - \g@addto@macro\addresses{\email{#1}{#2}}% - \fi} -\def\orcid#1{\unskip\ignorespaces} -\def\authorsaddresses#1{\def\@authorsaddresses{#1}} -\authorsaddresses{\@mkauthorsaddresses} -\def\@titlenotes{} -\def\titlenote#1{% - \g@addto@macro\@title{\footnotemark}% - \if@ACM@anonymous - \g@addto@macro\@titlenotes{% - \stepcounter{footnote}\footnotetext{Title note}}% - \else - \g@addto@macro\@titlenotes{\stepcounter{footnote}\footnotetext{#1}}% - \fi} -\def\@subtitlenotes{} -\def\subtitlenote#1{% - \g@addto@macro\@subtitle{\footnotemark}% - \if@ACM@anonymous - \g@addto@macro\@subtitlenotes{% - \stepcounter{footnote}\footnotetext{Subtitle note}}% - \else - \g@addto@macro\@subtitlenotes{% - \stepcounter{footnote}\footnotetext{#1}}% - \fi} -\def\@authornotes{} -\def\authornote#1{% - \if@ACM@anonymous\else - \g@addto@macro\addresses{\@authornotemark}% - \g@addto@macro\@authornotes{% - \stepcounter{footnote}\footnotetext{#1}}% - \fi} -\newcommand\authornotemark[1][\relax]{% - \ifx#1\relax\relax\relax - \g@addto@macro\addresses{\@authornotemark}% - \else - \g@addto@macro\addresses{\@@authornotemark{#1}}% - \fi} -\def\acmVolume#1{\def\@acmVolume{#1}} -\acmVolume{1} -\def\acmNumber#1{\def\@acmNumber{#1}} -\acmNumber{1} -\def\acmArticle#1{\def\@acmArticle{#1}} -\acmArticle{} -\def\acmArticleSeq#1{\def\@acmArticleSeq{#1}} -\acmArticleSeq{\@acmArticle} -\def\acmYear#1{\def\@acmYear{#1}} -\acmYear{\the\year} -\def\acmMonth#1{\def\@acmMonth{#1}} -\acmMonth{\the\month} -\def\@acmPubDate{\ifcase\@acmMonth\or - January\or February\or March\or April\or May\or June\or - July\or August\or September\or October\or November\or - December\fi~\@acmYear} -\def\acmPrice#1{\def\@acmPrice{#1}} -\acmPrice{} -\def\acmSubmissionID#1{\def\@acmSubmissionID{#1}} -\acmSubmissionID{} -\def\acmISBN#1{\def\@acmISBN{#1}} -\acmISBN{} -\def\acmDOI#1{\def\@acmDOI{#1}} -\acmDOI{10.1145/nnnnnnn.nnnnnnn} -\newif\if@ACM@badge -\@ACM@badgefalse -\newlength\@ACM@badge@width -\setlength\@ACM@badge@width{5pc} -\newlength\@ACM@title@width -\newlength\@ACM@badge@skip -\setlength\@ACM@badge@skip{1pc} -\newcommand\acmBadgeR[2][]{\@ACM@badgetrue - \def\@acmBadgeR@url{#1}% - \def\@acmBadgeR@image{#2}} -\def\@acmBadgeR@url{} -\def\@acmBadgeR@image{} -\newcommand\acmBadgeL[2][]{\@ACM@badgetrue - \def\@acmBadgeL@url{#1}% - \def\@acmBadgeL@image{#2}} -\def\@acmBadgeL@url{} -\def\@acmBadgeL@image{} -\def\startPage#1{\def\@startPage{#1}} -\startPage{} -\def\terms#1{\ClassWarning{\@classname}{The command \string\terms{} is - obsolete. I am going to ignore it}} -\def\keywords#1{\def\@keywords{#1}} -\let\@keywords\@empty -\AtEndDocument{\if@ACM@nonacm\else\ifx\@keywords\@empty - \ifnum\getrefnumber{TotPages}>2\relax - \ClassWarningNoLine{\@classname}{ACM keywords are mandatory - for papers over two pages}% - \fi\fi\fi} -\renewenvironment{abstract}{\Collect@Body\@saveabstract}{} -\long\def\@saveabstract#1{\if@ACM@maketitle@typeset - \ClassError{\@classname}{Abstract must be defined before maketitle - command. Please move it!}\fi - \long\gdef\@abstract{#1}} -\@saveabstract{} -\long\def\@lempty{} -\define@boolkey+{@ACM@topmatter@}[@ACM@]{printccs}[true]{% - \if@ACM@printccs - \ClassInfo{\@classname}{Printing CCS}% - \else - \ClassInfo{\@classname}{Suppressing CCS}% - \fi}{\ClassError{\@classname}{The option printccs can be either true or false}} -\define@boolkey+{@ACM@topmatter@}[@ACM@]{printacmref}[true]{% - \if@ACM@printacmref - \ClassInfo{\@classname}{Printing bibformat}% - \else - \ClassInfo{\@classname}{Suppressing bibformat}% - \fi}{\ClassError{\@classname}{The option printacmref can be either true or false}} -\AtEndDocument{\if@ACM@nonacm\else\if@ACM@printacmref\else - \ifnum\getrefnumber{TotPages}>1\relax - \ClassWarningNoLine{\@classname}{ACM reference format is mandatory - for papers over one page}% - \fi\fi\fi} -\define@boolkey+{@ACM@topmatter@}[@ACM@]{printfolios}[true]{% - \if@ACM@printfolios - \ClassInfo{\@classname}{Printing folios}% - \else - \ClassInfo{\@classname}{Suppressing folios}% - \fi}{\ClassError{\@classname}{The option printfolios can be either true or false}} -\define@cmdkey{@ACM@topmatter@}[@ACM@]{authorsperrow}[0]{% - \IfInteger{#1}{\ClassInfo{\@classname}{Setting authorsperrow to - #1}}{\ClassWarning{\@classname}{The parameter authorsperrow must be - numerical. Ignoring the input #1}\gdef\@ACM@authorsperrow{0}}} -\def\settopmatter#1{\setkeys{@ACM@topmatter@}{#1}} -\settopmatter{printccs=true, printacmref=true} -\if@ACM@manuscript - \settopmatter{printfolios=true} -\else - \if@ACM@journal - \settopmatter{printfolios=true} - \else - \settopmatter{printfolios=false} - \fi -\fi -\settopmatter{authorsperrow=0} -\def\@received{} -\newcommand\received[2][]{\def\@tempa{#1}% - \ifx\@tempa\@empty - \ifx\@received\@empty - \gdef\@received{Received #2}% - \else - \g@addto@macro{\@received}{; revised #2}% - \fi - \else - \ifx\@received\@empty - \gdef\@received{#1 #2}% - \else - \g@addto@macro{\@received}{; #1 #2}% - \fi - \fi} -\AtEndDocument{% - \ifx\@received\@empty\else - \par\bigskip\noindent\small\normalfont\@received\par - \fi} -\RequirePackage{comment} -\excludecomment{CCSXML} -\let\@concepts\@empty -\newcounter{@concepts} -\newcommand\ccsdesc[2][100]{% - \ccsdesc@parse#1~#2~~\ccsdesc@parse@end} -\def\textrightarrow{$\rightarrow$} -\def\ccsdesc@parse#1~#2~#3~{% - \stepcounter{@concepts}% - \expandafter\ifx\csname CCS@General@#2\endcsname\relax - \expandafter\gdef\csname CCS@General@#2\endcsname{\textbullet\ - \textbf{#2}}% - \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{; }% - \expandafter\gdef\csname CCS@Specific@#2\endcsname{}% - \g@addto@macro{\@concepts}{\csname CCS@General@#2\endcsname - \csname CCS@Punctuation@#2\endcsname - \csname CCS@Specific@#2\endcsname}% - \fi - \ifx#3\relax\relax\else - \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{ - \textrightarrow\ }% - \expandafter\g@addto@macro\expandafter{\csname CCS@Specific@#2\endcsname}{% - \addtocounter{@concepts}{-1}% - \ifnum#1>499\textbf{#3}\else - \ifnum#1>299\textit{#3}\else - #3\fi\fi\ifnum\value{@concepts}=0.\else; \fi}% - \fi -\ccsdesc@parse@finish} -\AtEndDocument{\if@ACM@nonacm\else\ifx\@concepts\@empty\relax - \ifnum\getrefnumber{TotPages}>2\relax - \ClassWarningNoLine{\@classname}{CCS concepts are mandatory - for papers over two pages}% - \fi\fi\fi} -\def\ccsdesc@parse@finish#1\ccsdesc@parse@end{} -\newif\if@printcopyright -\@printcopyrighttrue -\newif\if@printpermission -\@printpermissiontrue -\newif\if@acmowned -\@acmownedtrue -\define@choicekey*{ACM@}{acmcopyrightmode}[% - \acm@copyrightinput\acm@copyrightmode]{none,% - acmcopyright,acmlicensed,rightsretained,% - usgov,usgovmixed,cagov,cagovmixed,licensedusgovmixed,% - licensedcagov,licensedcagovmixed,othergov,licensedothergov,% - iw3c2w3,iw3c2w3g}{% - \@printpermissiontrue - \@printcopyrighttrue - \@acmownedtrue - \ifnum\acm@copyrightmode=0\relax % none - \@printpermissionfalse - \@printcopyrightfalse - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=2\relax % acmlicensed - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=3\relax % rightsretained - \@acmownedfalse - \AtBeginDocument{\acmPrice{}}% - \fi - \ifnum\acm@copyrightmode=4\relax % usgov - \@printpermissiontrue - \@printcopyrightfalse - \@acmownedfalse - \AtBeginDocument{\acmPrice{}}% - \fi - \ifnum\acm@copyrightmode=6\relax % cagov - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=8\relax % licensedusgovmixed - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=9\relax % licensedcagov - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=10\relax % licensedcagovmixed - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=11\relax % othergov - \@acmownedtrue - \fi - \ifnum\acm@copyrightmode=12\relax % licensedothergov - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=13\relax % iw3c2w3 - \@acmownedfalse - \AtBeginDocument{\acmPrice{}}% - \fi - \ifnum\acm@copyrightmode=14\relax % iw3c2w3g - \@acmownedfalse - \AtBeginDocument{\acmPrice{}}% - \fi} -\def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}} -\setcopyright{acmcopyright} -\def\@copyrightowner{% - \ifcase\acm@copyrightmode\relax % none - \or % acmcopyright - % Association for Computing Machinery. - \or % acmlicensed - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % rightsretained - Copyright held by the owner/author(s). - \or % usgov - \or % usgovmixed - Association for Computing Machinery. - \or % cagov - Crown in Right of Canada. - \or %cagovmixed - Association for Computing Machinery. - \or %licensedusgovmixed - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % licensedcagov - Crown in Right of Canada. Publication rights licensed to - ACM\@. - \or %licensedcagovmixed - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % othergov - Association for Computing Machinery. - \or % licensedothergov - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % ic2w3www - IW3C2 (International World Wide Web Conference Committee), published - under Creative Commons CC-BY~4.0 License. - \or % ic2w3wwwgoogle - IW3C2 (International World Wide Web Conference Committee), published - under Creative Commons CC-BY-NC-ND~4.0 License. - \fi} -\def\@formatdoi#1{} -\def\@copyrightpermission{% - \ifcase\acm@copyrightmode\relax % none - \or % acmcopyright - % Permission to make digital or hard copies of all or part of this - % work for personal or classroom use is granted without fee provided - % that copies are not made or distributed for profit or commercial - % advantage and that copies bear this notice and the full citation on - % the first page. Copyrights for components of this work owned by - % others than ACM must be honored. Abstracting with credit is - % permitted. To copy otherwise, or republish, to post on servers or to - % redistribute to lists, requires prior specific permission - % and\hspace*{.5pt}/or a fee. Request permissions from - % permissions@acm.org. - \or % acmlicensed - Permission to make digital or hard copies of all or part of this - work for personal or classroom use is granted without fee provided - that copies are not made or distributed for profit or commercial - advantage and that copies bear this notice and the full citation on - the first page. Copyrights for components of this work owned by - others than the author(s) must be honored. Abstracting with credit - is permitted. To copy otherwise, or republish, to post on servers - or to redistribute to lists, requires prior specific permission - and\hspace*{.5pt}/or a fee. Request permissions from - permissions@acm.org. - \or % rightsretained - Permission to make digital or hard copies of part or all of this work - for personal or classroom use is granted without fee provided that - copies are not made or distributed for profit or commercial advantage - and that copies bear this notice and the full citation on the first - page. Copyrights for third-party components of this work must be - honored. For all other uses, contact the - owner\hspace*{.5pt}/author(s). - \or % usgov - This paper is authored by an employee(s) of the United States - Government and is in the public domain. Non-exclusive copying or - redistribution is allowed, provided that the article citation is - given and the authors and agency are clearly identified as its - source. - \or % usgovmixed - ACM acknowledges that this contribution was authored or co-authored - by an employee, contractor, or affiliate of the United States - government. As such, the United States government retains a - nonexclusive, royalty-free right to publish or reproduce this - article, or to allow others to do so, for government purposes only. - \or % cagov - This article was authored by employees of the Government of Canada. - As such, the Canadian government retains all interest in the - copyright to this work and grants to ACM a nonexclusive, - royalty-free right to publish or reproduce this article, or to allow - others to do so, provided that clear attribution is given both to - the authors and the Canadian government agency employing them. - Permission to make digital or hard copies for personal or classroom - use is granted. Copies must bear this notice and the full citation - on the first page. Copyrights for components of this work owned by - others than the Canadian Government must be honored. To copy - otherwise, distribute, republish, or post, requires prior specific - permission and\hspace*{.5pt}/or a fee. Request permissions from - permissions@acm.org. - \or % cagovmixed - ACM acknowledges that this contribution was co-authored by an - affiliate of the national government of Canada. As such, the Crown - in Right of Canada retains an equal interest in the copyright. - Reprints must include clear attribution to ACM and the author's - government agency affiliation. Permission to make digital or hard - copies for personal or classroom use is granted. Copies must bear - this notice and the full citation on the first page. Copyrights for - components of this work owned by others than ACM must be honored. - To copy otherwise, distribute, republish, or post, requires prior - specific permission and\hspace*{.5pt}/or a fee. Request permissions - from permissions@acm.org. - \or % licensedusgovmixed - Publication rights licensed to ACM\@. ACM acknowledges that this - contribution was authored or co-authored by an employee, contractor - or affiliate of the United States government. As such, the - Government retains a nonexclusive, royalty-free right to publish or - reproduce this article, or to allow others to do so, for Government - purposes only. - \or % licensedcagov - This article was authored by employees of the Government of Canada. - As such, the Canadian government retains all interest in the - copyright to this work and grants to ACM a nonexclusive, - royalty-free right to publish or reproduce this article, or to allow - others to do so, provided that clear attribution is given both to - the authors and the Canadian government agency employing them. - Permission to make digital or hard copies for personal or classroom - use is granted. Copies must bear this notice and the full citation - on the first page. Copyrights for components of this work owned by - others than the Canadian Government must be honored. To copy - otherwise, distribute, republish, or post, requires prior specific - permission and\hspace*{.5pt}/or a fee. Request permissions from - permissions@acm.org. - \or % licensedcagovmixed - Publication rights licensed to ACM\@. ACM acknowledges that this - contribution was authored or co-authored by an employee, contractor - or affiliate of the national government of Canada. As such, the - Government retains a nonexclusive, royalty-free right to publish or - reproduce this article, or to allow others to do so, for Government - purposes only. - \or % othergov - ACM acknowledges that this contribution was authored or co-authored - by an employee, contractor or affiliate of a national government. As - such, the Government retains a nonexclusive, royalty-free right to - publish or reproduce this article, or to allow others to do so, for - Government purposes only. - \or % licensedothergov - Publication rights licensed to ACM\@. ACM acknowledges that this - contribution was authored or co-authored by an employee, contractor - or affiliate of a national government. As such, the Government - retains a nonexclusive, royalty-free right to publish or reproduce - this article, or to allow others to do so, for Government purposes - only. - \or % iw3c2w3 - This paper is published under the Creative Commons Attribution~4.0 - International (CC-BY~4.0) license. Authors reserve their rights to - disseminate the work on their personal and corporate Web sites with - the appropriate attribution. - \or % iw3c2w3g - This paper is published under the Creative Commons - Attribution-NonCommercial-NoDerivs~4.0 International - (CC-BY-NC-ND~4.0) license. Authors reserve their rights to - disseminate the work on their personal and corporate Web sites with - the appropriate attribution. - \fi} -\def\copyrightyear#1{\def\@copyrightyear{#1}} -\copyrightyear{\@acmYear} -\def\@teaserfigures{} -\newenvironment{teaserfigure}{\Collect@Body\@saveteaser}{} -\long\def\@saveteaser#1{\g@addto@macro\@teaserfigures{\@teaser{#1}}} -\renewcommand{\thanks}[1]{% - \@ifnotempty{#1}{% - \if@ACM@anonymous - \g@addto@macro\thankses{\thanks{A note}}% - \else - \g@addto@macro\thankses{\thanks{#1}}% - \fi}} -\ifx\@beginmaketitlehook\@undefined - \let\@beginmaketitlehook\@empty -\fi -\def\AtBeginMaketitle{\g@addto@macro\@beginmaketitlehook} -\newbox\mktitle@bx -\def\maketitle{\@beginmaketitlehook - \@ACM@maketitle@typesettrue - \if@ACM@anonymous - % Anonymize omission of \author-s - \ifnum\num@authorgroups=0\author{}\fi - \fi - \begingroup - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \let\@footnotemark\@footnotemark@nolink - \let\@footnotetext\@footnotetext@nolink - \renewcommand\thefootnote{\@fnsymbol\c@footnote}% - \hsize=\textwidth - \def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}% - \@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers - \@printtopmatter - \if@ACM@sigchiamode\@mkauthors\fi - \setcounter{footnote}{0}% - \def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}% - \@titlenotes - \@subtitlenotes - \@authornotes - \let\@makefnmark\relax - \let\@thefnmark\relax - \let\@makefntext\noindent - \ifx\@empty\thankses\else - \footnotetextauthorsaddresses{% - \def\par{\let\par\@par}\parindent\z@\@setthanks}% - \fi - \ifx\@empty\@authorsaddresses\else - \if@ACM@anonymous\else - \if@ACM@journal@bibstrip - \footnotetextauthorsaddresses{% - \def\par{\let\par\@par}\parindent\z@\@setauthorsaddresses}% - \fi - \fi - \fi - \if@ACM@nonacm\else\footnotetextcopyrightpermission{% - \if@ACM@authordraft - \raisebox{0ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries - Unpublished working draft. Not for distribution.}}% - \color[gray]{0.9}% - \fi - \parindent\z@\parskip0.1\baselineskip - \if@ACM@authorversion\else - \if@printpermission\@copyrightpermission\par\fi - \fi - \if@ACM@manuscript\else - \if@ACM@journal@bibstrip\else % Print the conference information - {\itshape \acmConference@shortname \acmConference@date \acmConference@venue}\par - \fi - \fi - \if@printcopyright - \copyright\ \@copyrightyear\ \@copyrightowner\\ - \else - \@copyrightyear.\ - \fi - \if@ACM@manuscript - Manuscript submitted to ACM\\ - \else - \if@ACM@authorversion - This is the author's version of the work. It is posted here for - your personal use. Not for redistribution. The definitive Version - of Record was published in - \if@ACM@journal@bibstrip - \emph{\@journalName}% - \else - \emph{\@acmBooktitle}% - \fi - \ifx\@acmDOI\@empty - - \else - \@formatdoi{\@acmDOI}. - \fi\\ - \else - \if@ACM@nonacm\else - \if@ACM@journal@bibstrip - \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle - \ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\ - \@formatdoi{\@acmDOI}% - \else % Conference - \ifx\@acmISBN\@empty\else \@acmISBN - \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\\fi - \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi% - \fi - \fi - \fi - \fi} - \fi - \endgroup - \setcounter{footnote}{0}% - \@mkabstract - \if@ACM@printccs - \ifx\@concepts\@empty\else\bgroup - {\@specialsection{CCS Concepts}% - \noindent\@concepts\par}\egroup - \fi - \fi - \ifx\@keywords\@empty\else\bgroup - {\if@ACM@journal - \@specialsection{Additional Key Words and Phrases}% - \else - \@specialsection{Keywords}% - \fi - \noindent\@keywords}\par\egroup - \fi - \let\metadata@authors=\authors - \nxandlist{, }{, }{, }\metadata@authors - \def\@ACM@checkaffil{}% - \hypersetup{% - pdfauthor={\metadata@authors}, - pdftitle={\@title}, - pdfsubject={\@concepts}, - pdfkeywords={\@keywords}, - pdfcreator={LaTeX with acmart - \csname ver@acmart.cls\endcsname\space - and hyperref - \csname ver@hyperref.sty\endcsname}}% - \andify\authors - \andify\shortauthors - \global\let\authors=\authors - \global\let\shortauthors=\shortauthors - \if@ACM@printacmref - \@mkbibcitation - \fi - \global\@topnum\z@ % this prevents floats from falling - % at the top of page 1 - \global\@botnum\z@ % we do not want them to be on the bottom either - \@printendtopmatter - \@afterindentfalse - \@afterheading -} -\def\@specialsection#1{% - \ifcase\ACM@format@nr - \relax % manuscript - \par\medskip\small\noindent#1: % - \or % acmsmall - \par\medskip\small\noindent#1: % - \or % acmlarge - \par\medskip\small\noindent#1: % - \or % acmtog - \par\medskip\small\noindent#1: % - \or % sigconf - \section*{#1}% - \or % siggraph - \section*{#1}% - \or % sigplan - \noindentparagraph*{#1:~}% - \or % sigchi - \section*{#1}% - \or % sigchi-a - \section*{#1}% - \fi -} -\def\@printtopmatter{% - \ifx\@startPage\@empty - \gdef\@startPage{1}% - \else - \setcounter{page}{\@startPage}% - \fi - \thispagestyle{firstpagestyle}% - \noindent - \ifcase\ACM@format@nr - \relax % manuscript - \box\mktitle@bx\par - \or % acmsmall - \box\mktitle@bx\par - \or % acmlarge - \box\mktitle@bx\par - \or % acmtog - \twocolumn[\box\mktitle@bx]% - \or % sigconf - \twocolumn[\box\mktitle@bx]% - \or % siggraph - \twocolumn[\box\mktitle@bx]% - \or % sigplan - \twocolumn[\box\mktitle@bx]% - \or % sigchi - \twocolumn[\box\mktitle@bx]% - \or % sigchi-a - \par\box\mktitle@bx\par\bigskip - \if@ACM@badge - \marginpar{\noindent - \ifx\@acmBadgeL@image\@empty\else - \href{\@acmBadgeL@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}% - \hskip\@ACM@badge@skip - \fi - \ifx\@acmBadgeR@image\@empty\else - \href{\@acmBadgeR@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}% - \fi}% - \fi - \fi -} -\def\@mktitle{% - \ifcase\ACM@format@nr - \relax % manuscript - \@mktitle@i - \or % acmsmall - \@mktitle@i - \or % acmlarge - \@mktitle@i - \or % acmtog - \@mktitle@i - \or % sigconf - \@mktitle@iii - \or % siggraph - \@mktitle@iii - \or % sigplan - \@mktitle@iii - \or % sigchi - \@mktitle@iii - \or % sigchi-a - \@mktitle@iv - \fi -} -\def\@titlefont{% - \ifcase\ACM@format@nr - \relax % manuscript - \LARGE\sffamily\bfseries - \or % acmsmall - \LARGE\sffamily\bfseries - \or % acmlarge - \LARGE\sffamily\bfseries - \or % acmtog - \Huge\sffamily - \or % sigconf - \Huge\sffamily\bfseries - \or % siggraph - \Huge\sffamily\bfseries - \or % sigplan - \Huge\bfseries - \or % sigchi - \Huge\sffamily\bfseries - \or % sigchi-a - \Huge\bfseries - \fi} -\def\@subtitlefont{\normalsize - \ifcase\ACM@format@nr - \relax % manuscript - \mdseries - \or % acmsmall - \mdseries - \or % acmlarge - \mdseries - \or % acmtog - \LARGE - \or % sigconf - \LARGE\mdseries - \or % siggraph - \LARGE\mdseries - \or % sigplan - \LARGE\mdseries - \or % sigchi - \LARGE\mdseries - \or % sigchi-a - \mdseries - \fi} -\def\@mktitle@i{\hsize=\textwidth - \@ACM@title@width=\hsize - \ifx\@acmBadgeL@image\@empty\else - \advance\@ACM@title@width by -\@ACM@badge@width - \advance\@ACM@title@width by -\@ACM@badge@skip - \fi - \ifx\@acmBadgeR@image\@empty\else - \advance\@ACM@title@width by -\@ACM@badge@width - \advance\@ACM@title@width by -\@ACM@badge@skip - \fi - \setbox\mktitle@bx=\vbox{\noindent\@titlefont - \ifx\@acmBadgeL@image\@empty\else - \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}% - \hskip\@ACM@badge@skip - \fi - \parbox[t]{\@ACM@title@width}{\raggedright - \@titlefont\noindent - \@title - \ifx\@subtitle\@empty\else - \par\noindent{\@subtitlefont\@subtitle} - \fi}% - \ifx\@acmBadgeR@image\@empty\else - \hskip\@ACM@badge@skip - \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}% - \fi - \par\bigskip}}% -\def\@mktitle@iii{\hsize=\textwidth - \setbox\mktitle@bx=\vbox{\@titlefont\centering - \@ACM@title@width=\hsize - \if@ACM@badge - \advance\@ACM@title@width by -2\@ACM@badge@width - \advance\@ACM@title@width by -2\@ACM@badge@skip - \parbox[b]{\@ACM@badge@width}{\strut - \ifx\@acmBadgeL@image\@empty\else - \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}% - \fi}% - \hskip\@ACM@badge@skip - \fi - \parbox[t]{\@ACM@title@width}{\centering\@titlefont - \@title - \ifx\@subtitle\@empty\else - \par\noindent{\@subtitlefont\@subtitle} - \fi - }% - \if@ACM@badge - \hskip\@ACM@badge@skip - \parbox[b]{\@ACM@badge@width}{\strut - \ifx\@acmBadgeR@image\@empty\else - \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}% - \fi}% - \fi - \par\bigskip}}% -\def\@mktitle@iv{\hsize=\textwidth - \setbox\mktitle@bx=\vbox{\raggedright\leftskip5pc\@titlefont - \noindent\leavevmode\leaders\hrule height 2pt\hfill\kern0pt\par - \noindent\@title - \ifx\@subtitle\@empty\else - \par\noindent\@subtitlefont\@subtitle - \fi - \par\bigskip}}% -\newbox\@ACM@commabox -\def\@ACM@addtoaddress#1{% - \ifvmode\else - \if@ACM@affiliation@obeypunctuation\else - \setbox\@ACM@commabox=\hbox{, }% - \unskip\cleaders\copy\@ACM@commabox\hskip\wd\@ACM@commabox - \fi\fi - #1} -\def\streetaddress#1{\unskip\ignorespaces} -\def\postcode#1{\unskip\ignorespaces} -\if@ACM@journal - \def\position#1{\unskip\ignorespaces} - \def\institution#1{\global\@ACM@instpresenttrue - \unskip~#1\ignorespaces} - \def\city#1{\global\@ACM@citypresenttrue\unskip\ignorespaces} - \def\state#1{\unskip\ignorespaces} - \newcommand\department[2][0]{\unskip\ignorespaces} - \def\country#1{\global\@ACM@countrypresenttrue - \if@ACM@affiliation@obeypunctuation\else, \fi#1\ignorespaces} -\else - \def\position#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}% - \def\institution#1{\global\@ACM@instpresenttrue - \if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}% - \newcommand\department[2][0]{\if@ACM@affiliation@obeypunctuation - #2\else#2\par\fi}% - \def\city#1{\global\@ACM@citypresenttrue\@ACM@addtoaddress{#1}}% - \let\state\@ACM@addtoaddress - \def\country#1{\global\@ACM@countrypresenttrue\@ACM@addtoaddress{#1}}% -\fi -\def\@mkauthors{\begingroup - \hsize=\textwidth - \ifcase\ACM@format@nr - \relax % manuscript - \@mkauthors@i - \or % acmsmall - \@mkauthors@i - \or % acmlarge - \@mkauthors@i - \or % acmtog - \@mkauthors@i - \or % sigconf - \@mkauthors@iii - \or % siggraph - \@mkauthors@iii - \or % sigplan - \@mkauthors@iii - \or % sigchi - \@mkauthors@iii - \or % sigchi-a - \@mkauthors@iv - \fi - \endgroup -} -\def\@authorfont{\Large\sffamily} -\def\@affiliationfont{\normalsize\normalfont} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall - \def\@authorfont{\large\sffamily} - \def\@affiliationfont{\small\normalfont} -\or % acmlarge -\or % acmtog - \def\@authorfont{\LARGE\sffamily} - \def\@affiliationfont{\large} -\or % sigconf - \def\@authorfont{\LARGE} - \def\@affiliationfont{\large} -\or % siggraph - \def\@authorfont{\normalsize\normalfont} - \def\@affiliationfont{\normalsize\normalfont} -\or % sigplan - \def\@authorfont{\Large\normalfont} - \def\@affiliationfont{\normalsize\normalfont} -\or % sigchi - \def\@authorfont{\bfseries} - \def\@affiliationfont{\mdseries} -\or % sigchi-a - \def\@authorfont{\bfseries} - \def\@affiliationfont{\mdseries} -\fi -\def\@typeset@author@line{% - \andify\@currentauthors\par\noindent - \@currentauthors\def\@currentauthors{}% - \ifx\@currentaffiliations\@empty\else - \andify\@currentaffiliations - \unskip, {\@currentaffiliations}\par - \fi - \def\@currentaffiliations{}} -\newif\if@ACM@instpresent -\@ACM@instpresenttrue -\newif\if@ACM@citypresent -\@ACM@citypresenttrue -\newif\if@ACM@countrypresent -\@ACM@countrypresenttrue -\def\@ACM@resetaffil{% - \global\@ACM@instpresentfalse - \global\@ACM@citypresentfalse - \global\@ACM@countrypresentfalse -} -\def\@ACM@checkaffil{% - \if@ACM@instpresent\else - \ClassWarningNoLine{\@classname}{No institution present for an affiliation}% - \fi - \if@ACM@citypresent\else - \ClassWarningNoLine{\@classname}{No city present for an affiliation}% - \fi - \if@ACM@countrypresent\else - \ClassError{\@classname}{No country present for an affiliation}{ACM - requires each author to indicate their country using country macro.}% - \fi -} -\def\@mkauthors@i{% - \def\@currentauthors{}% - \def\@currentaffiliations{}% - \global\let\and\@typeset@author@line - \def\@author##1{% - \ifx\@currentauthors\@empty - \gdef\@currentauthors{\@authorfont\MakeTextUppercase{##1}}% - \else - \g@addto@macro{\@currentauthors}{\and\MakeTextUppercase{##1}}% - \fi - \gdef\and{}}% - \def\email##1##2{}% - \def\affiliation##1##2{% - \def\@tempa{##2}\ifx\@tempa\@empty\else - \ifx\@currentaffiliations\@empty - \gdef\@currentaffiliations{% - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}% - \@ACM@resetaffil - \@affiliationfont##2\@ACM@checkaffil}% - \else - \g@addto@macro{\@currentaffiliations}{\and - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \fi - \fi - \global\let\and\@typeset@author@line}% - \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par\medskip - \noindent\addresses\@typeset@author@line - \par\medskip}% -} -\newbox\author@bx -\newdimen\author@bx@wd -\newskip\author@bx@sep -\author@bx@sep=1pc\relax -\def\@typeset@author@bx{\bgroup\hsize=\author@bx@wd - \def\and{\par}\normalbaselines - \global\setbox\author@bx=\vtop{\if@ACM@sigchiamode\else\centering\fi - \@authorfont\@currentauthors\par\@affiliationfont - \@currentaffiliation}\egroup - \box\author@bx\hspace{\author@bx@sep}% - \gdef\@currentauthors{}% - \gdef\@currentaffiliation{}} -\def\@mkauthors@iii{% - \author@bx@wd=\textwidth\relax - \advance\author@bx@wd by -\author@bx@sep\relax - \ifnum\@ACM@authorsperrow>0\relax - \divide\author@bx@wd by \@ACM@authorsperrow\relax - \else - \ifcase\num@authorgroups - \relax % 0? - \or % 1=one author per row - \or % 2=two authors per row - \divide\author@bx@wd by \num@authorgroups\relax - \or % 3=three authors per row - \divide\author@bx@wd by \num@authorgroups\relax - \or % 4=two authors per row (!) - \divide\author@bx@wd by 2\relax - \else % three authors per row - \divide\author@bx@wd by 3\relax - \fi - \fi - \advance\author@bx@wd by -\author@bx@sep\relax - \gdef\@currentauthors{}% - \gdef\@currentaffiliation{}% - \def\@author##1{\ifx\@currentauthors\@empty - \gdef\@currentauthors{\par##1}% - \else - \g@addto@macro\@currentauthors{\par##1}% - \fi - \gdef\and{}}% - \def\email##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{\bgroup - \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}% - \else - \g@addto@macro\@currentaffiliation{\par\bgroup - \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}% - \fi}% - \def\affiliation##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{% - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \else - \g@addto@macro\@currentaffiliation{\par - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \fi - \global\let\and\@typeset@author@bx -}% - \hsize=\textwidth - \global\setbox\mktitle@bx=\vbox{\noindent - \box\mktitle@bx\par\medskip\leavevmode - \lineskip=1pc\relax\centering\hspace*{-1em}% - \addresses\let\and\@typeset@author@bx\and\par\bigskip}} -\def\@mkauthors@iv{% - \author@bx@wd=\columnwidth\relax - \advance\author@bx@wd by -\author@bx@sep\relax - \ifnum\@ACM@authorsperrow>0\relax - \divide\author@bx@wd by \@ACM@authorsperrow\relax - \else - \ifcase\num@authorgroups - \relax % 0? - \or % 1=one author per row - \else % 2=two authors per row - \divide\author@bx@wd by 2\relax - \fi - \fi - \advance\author@bx@wd by -\author@bx@sep\relax - \gdef\@currentauthors{}% - \gdef\@currentaffiliation{}% - \def\@author##1{\ifx\@currentauthors\@empty - \gdef\@currentauthors{\par##1}% - \else - \g@addto@macro\@currentauthors{\par##1}% - \fi - \gdef\and{}}% - \def\email##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{\nolinkurl{##2}}% - \else - \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}% - \fi}% - \def\affiliation##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{% - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \else - \g@addto@macro\@currentaffiliation{\par - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \fi - \global\let\and\@typeset@author@bx}% - \bgroup\hsize=\columnwidth - \par\raggedright\leftskip=\z@ - \lineskip=1pc\noindent - \addresses\let\and\@typeset@author@bx\and\par\bigskip\egroup} -\def\@mkauthorsaddresses{% - \ifnum\num@authors>1\relax - Authors' \else Author's \fi - \ifnum\num@authorgroups>1\relax - addresses: \else address: \fi - \bgroup - \def\streetaddress##1{\unskip, ##1}% - \def\postcode##1{\unskip, ##1}% - \def\position##1{\unskip\ignorespaces}% - \def\institution##1{\unskip, ##1}% - \def\city##1{\unskip, ##1}% - \def\state##1{\unskip, ##1}% - \renewcommand\department[2][0]{\unskip\@addpunct, ##2}% - \def\country##1{\unskip, ##1}% - \def\and{\unskip; }% - \def\@author##1{##1}% - \def\email##1##2{\unskip, \nolinkurl{##2}}% - \addresses - \egroup} -\AtEndDocument{\if@ACM@nonacm\else\if@ACM@journal - \ifx\@authorsaddresses\@empty - \ClassWarningNoLine{\@classname}{Authors' - addresses are mandatory for ACM journals}% - \fi\fi\fi} -\def\@setaddresses{} -\def\@authornotemark{\g@addto@macro\@currentauthors{\footnotemark\relax}} -\def\@@authornotemark#1{\g@addto@macro\@currentauthors{\footnotemark[#1]}} -\def\@mkteasers{% - \ifx\@teaserfigures\@empty\else - \def\@teaser##1{\par\bigskip\bgroup - \captionsetup{type=figure}##1\egroup\par} - \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par - \noindent\@Description@presentfalse - \@teaserfigures\par\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without - description}\fi - \medskip}% - \fi} -\def\@mkabstract{\bgroup - \ifx\@abstract\@lempty\else - {\phantomsection\addcontentsline{toc}{section}{Abstract}% - \if@ACM@journal - \everypar{\setbox\z@\lastbox\everypar{}}\small - \else - \section*{\abstractname}% - \fi - \ignorespaces\@abstract\par}% - \fi\egroup} -\def\@mkbibcitation{\bgroup - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \def\@pages@word{\ifnum\getrefnumber{TotPages}=1\relax page\else pages\fi}% - \def\footnotemark{}% - \def\\{\unskip{} \ignorespaces}% - \def\footnote{\ClassError{\@classname}{Please do not use footnotes - inside a \string\title{} or \string\author{} command! Use - \string\titlenote{} or \string\authornote{} instead!}}% - \def\@article@string{\ifx\@acmArticle\@empty{\ }\else, - Article~\@acmArticle\ \fi}% - \par\medskip\small\noindent{\bfseries ACM Reference Format:}\par\nobreak - \noindent\bgroup - \def\\{\unskip{}, \ignorespaces}\authors\egroup. \@acmYear. \@title - \ifx\@subtitle\@empty. \else: \@subtitle. \fi - \if@ACM@nonacm\else - % The 'nonacm' option disables 'printacmref' by default, - % and the present \@mkbibcitation definition is never used - % in this case. The conditional remains useful if the user - % explicitly sets \settopmatter{printacmref=true}. - \if@ACM@journal@bibstrip - \textit{\@journalNameShort} - \@acmVolume, \@acmNumber \@article@string (\@acmPubDate), - \ref{TotPages}~\@pages@word. - \else - % In \textit{\@acmBooktitle}% - % \ifx\@acmEditors\@empty\textit{.}\else - % \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.% - % \fi\ - % ACM, New York, NY, USA% - % \@article@string\unskip, \ref{TotPages}~\@pages@word. - \fi - \fi - \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi -\par\egroup} -\def\@printendtopmatter{% - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \par\bigskip - \let\@vspace\@vspace@acm - \let\@vspacer\@vspacer@acm - } -\def\@setthanks{\long\def\thanks##1{\par##1\@addpunct.}\thankses} -\def\@setauthorsaddresses{\@authorsaddresses\unskip\@addpunct.} -\RequirePackage{fancyhdr} -\let\ACM@ps@plain\ps@plain -\let\ACM@ps@myheadings\ps@myheadings -\let\ACM@ps@headings\ps@headings -\def\ACM@restore@pagestyle{% - \let\ps@plain\ACM@ps@plain - \let\ps@myheadings\ACM@ps@myheadings - \let\ps@headings\ACM@ps@headings} -\AtBeginDocument{\ACM@restore@pagestyle} -\if@ACM@review - \newsavebox{\ACM@linecount@bx} - \newlength\ACM@linecount@bxht - \newcount\ACM@linecount - \ACM@linecount\@ne\relax - \def\ACM@mk@linecount{% - \savebox{\ACM@linecount@bx}[4em][t]{\parbox[t]{4em}{\normalfont - \normalsize - \setlength{\ACM@linecount@bxht}{0pt}% - \loop{\color{red}\scriptsize\the\ACM@linecount}\\ - \global\advance\ACM@linecount by \@ne - \addtolength{\ACM@linecount@bxht}{\baselineskip}% - \ifdim\ACM@linecount@bxht<\textheight\repeat - {\color{red}\scriptsize\the\ACM@linecount}\hfill - \global\advance\ACM@linecount by \@ne}}} -\fi -\def\ACM@linecountL{% - \if@ACM@review - \ACM@mk@linecount - \begin{picture}(0,0)% - \put(-26,-22){\usebox{\ACM@linecount@bx}}% - \end{picture}% - \fi} -\def\ACM@linecountR{% - \if@ACM@review - \ifcase\ACM@format@nr - \relax % manuscript - \relax - \or % acmsmall - \relax - \or % acmlarge - \relax - \or % acmtog - \ACM@mk@linecount - \or % sigconf - \ACM@mk@linecount - \or % siggraph - \ACM@mk@linecount - \or % sigplan - \ACM@mk@linecount - \or % sigchi - \ACM@mk@linecount - \or % sigchi-a - \ACM@mk@linecount - \fi - \begin{picture}(0,0)% - \put(20,-22){\usebox{\ACM@linecount@bx}}% - \end{picture}% - \fi} -\if@ACM@timestamp - % Subtracting 30 from \time gives us the effect of rounding down despite - % \numexpr rounding to nearest - \newcounter{ACM@time@hours} - \setcounter{ACM@time@hours}{\numexpr (\time - 30) / 60 \relax} - \newcounter{ACM@time@minutes} - \setcounter{ACM@time@minutes}{\numexpr \time - \theACM@time@hours * 60 \relax} - \newcommand\ACM@timestamp{% - \footnotesize% - \ifx\@acmSubmissionID\@empty\relax\else - Submission ID: \@acmSubmissionID.{ }% - \fi - \the\year-\two@digits{\the\month}-\two@digits{\the\day}{ }% - \two@digits{\theACM@time@hours}:\two@digits{\theACM@time@minutes}{. }% - Page \thepage\ of \@startPage--\pageref*{TotPages}.% - } -\fi -\def\@shortauthors{% - \if@ACM@anonymous - Anon. - \ifx\@acmSubmissionID\@empty\else Submission Id: \@acmSubmissionID\fi - \else\shortauthors\fi} -\def\@headfootfont{\sffamily\footnotesize} -\AtBeginDocument{% -\fancypagestyle{standardpagestyle}{% - \fancyhf{}% - \renewcommand{\headrulewidth}{\z@}% - \renewcommand{\footrulewidth}{\z@}% - \def\@acmArticlePage{% - \ifx\@acmArticle\empty% - \if@ACM@printfolios\thepage\fi% - \else% - \@acmArticle\if@ACM@printfolios:\thepage\fi% - \fi% - }% - \if@ACM@journal@bibstrip - \ifcase\ACM@format@nr - \relax % manuscript - \fancyhead[LE]{\ACM@linecountL\if@ACM@printfolios\thepage\fi}% - \fancyhead[RO]{\if@ACM@printfolios\thepage\fi}% - \fancyhead[RE]{\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL\shorttitle}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM} - \fi% - \or % acmsmall - \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticlePage}% - \fancyhead[RO]{\@headfootfont\@acmArticlePage}% - \fancyhead[RE]{\@headfootfont\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% - \fi - \or % acmlarge - \fancyhead[LE]{\ACM@linecountL\@headfootfont - \@acmArticlePage\quad\textbullet\quad\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyhead[RO]{\@headfootfont - \shorttitle\quad\textbullet\quad\@acmArticlePage}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% - \fi - \or % acmtog - \fancyhead[LE]{\ACM@linecountL\@headfootfont - \@acmArticlePage\quad\textbullet\quad\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyhead[RE]{\ACM@linecountR}% - \fancyhead[RO]{\@headfootfont - \shorttitle\quad\textbullet\quad\@acmArticlePage\ACM@linecountR}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% - \fi - \else % Proceedings - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}% - \if@ACM@nonacm\else% - \fancyhead[LE]{\ACM@linecountL\@headfootfont\footnotesize - \acmConference@shortname, - \acmConference@date, \acmConference@venue}% - \fancyhead[RO]{\@headfootfont - \acmConference@shortname, - \acmConference@date, \acmConference@venue\ACM@linecountR}% - \fi - \fi - \else % Proceedings - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}% - \if@ACM@nonacm\else% - \fancyhead[LE]{\ACM@linecountL\@headfootfont - \acmConference@shortname, - \acmConference@date, \acmConference@venue}% - \fancyhead[RO]{\@headfootfont - \acmConference@shortname, - \acmConference@date, \acmConference@venue\ACM@linecountR}% - \fi - \fi - \if@ACM@sigchiamode - \fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}% - \fi - \if@ACM@timestamp - \fancyfoot[LO,RE]{\ACM@timestamp} - \fi -}% -\pagestyle{standardpagestyle} -} -\newdimen\@folio@wd -\@folio@wd=\z@ -\newdimen\@folio@ht -\@folio@ht=\z@ -\newdimen\@folio@voffset -\@folio@voffset=\z@ -\def\@folio@max{1} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall - \@folio@wd=45.75pt\relax - \@folio@ht=1.25in\relax - \@folio@voffset=.2in\relax - \def\@folio@max{8} -\or % acmlarge - \@folio@wd=43.25pt\relax - \@folio@ht=79pt\relax - \@folio@voffset=.55in\relax - \def\@folio@max{10} -\fi -\def\@folioblob{\@tempcnta=0\@acmArticleSeq\relax - \ifnum\@tempcnta=0\relax\else - \loop - \ifnum\@tempcnta>\@folio@max\relax - \advance\@tempcnta by - \@folio@max - \repeat - \advance\@tempcnta by -1\relax - \@tempdima=\@folio@ht\relax - \multiply\@tempdima by \the\@tempcnta\relax - \advance\@tempdima by -\@folio@voffset\relax - \begin{picture}(0,0) - \makebox[\z@]{\raisebox{-\@tempdima}{% - \rlap{% - \raisebox{-0.45\@folio@ht}[\z@][\z@]{% - \rule{\@folio@wd}{\@folio@ht}}}% - \parbox{\@folio@wd}{% - \centering - \textcolor{white}{\LARGE\sffamily\bfseries\@acmArticle}}}} - \end{picture}\fi} - -\AtBeginDocument{% -\fancypagestyle{firstpagestyle}{% - \fancyhf{}% - \renewcommand{\headrulewidth}{\z@}% - \renewcommand{\footrulewidth}{\z@}% - \if@ACM@journal@bibstrip - \ifcase\ACM@format@nr - \relax % manuscript - \fancyhead[L]{\ACM@linecountL}% - \fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}% - \if@ACM@nonacm\else% - \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}% - \fi% - \or % acmsmall - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% - \fi% - \fancyhead[LE]{\ACM@linecountL\@folioblob}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyhead[RO]{\@folioblob}% - \fancyheadoffset[RO,LE]{0.6\@folio@wd}% - \or % acmlarge - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% - \fi% - \fancyhead[RO]{\@folioblob}% - \fancyhead[LE]{\ACM@linecountL\@folioblob}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyheadoffset[RO,LE]{1.4\@folio@wd}% - \or % acmtog - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% - \fi% - \fancyhead[L]{\ACM@linecountL}% - \fancyhead[R]{\ACM@linecountR}% - \else % Conference proceedings - \fancyhead[L]{\ACM@linecountL}% - \fancyhead[R]{\ACM@linecountR}% - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fi - \else - \fancyhead[L]{\ACM@linecountL}% - \fancyhead[R]{\ACM@linecountR}% - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fi - \if@ACM@timestamp - \ifnum\ACM@format@nr=0\relax % Manuscript - \fancyfoot[LO,RE]{\ACM@timestamp\quad - \if@ACM@nonacm\else - \footnotesize Manuscript submitted to ACM - \fi} - \else - \fancyfoot[LO,RE]{\ACM@timestamp} - \fi - \fi -}} -\def\ACM@NRadjust#1{% - \begingroup - \expandafter\ifx\csname Sectionformat\endcsname\relax - % do nothing when \Sectionformat is unknown - \def\next{\endgroup #1}% - \else - \def\next{\endgroup - \let\realSectionformat\Sectionformat - \def\ACM@sect@format@{#1}% - \let\Sectionformat\ACM@NR@adjustedSectionformat - %% next lines added 2018-06-17 to ensure section number is styled - \let\real@adddotafter\@adddotafter - \let\@adddotafter\ACM@adddotafter - #1{}% imposes the styles, but nullifies \MakeUppercase - \let\@adddotafter\real@adddotafter - }% - \fi \next -} -\def\ACM@NR@adjustedSectionformat#1#2{% - \realSectionformat{\ACM@sect@format{#1}}{#2}% - \let\Sectionformat\realSectionformat} -\DeclareRobustCommand{\ACM@sect@format}{\ACM@sect@format@} -\def\ACM@sect@format@null#1{#1} -\let\ACM@sect@format@\ACM@sect@format@null -\AtBeginDocument{% - \expandafter\ifx\csname LTX@adddotafter\endcsname\relax - \let\LTX@adddotafter\@adddotafter - \fi -} -\def\ACM@adddotafter#1{\ifx\relax#1\relax\else\LTX@adddotafter{#1}\fi} -\renewcommand\section{\@startsection{section}{1}{\z@}% - {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {.25\baselineskip}% - {\ACM@NRadjust\@secfont}} -\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% - {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {.25\baselineskip}% - {\ACM@NRadjust\@subsecfont}} -\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% - {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {-3.5\p@}% - {\ACM@NRadjust{\@subsubsecfont\@adddotafter}}} -\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}% - {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {-3.5\p@}% - {\ACM@NRadjust{\@parfont\@adddotafter}}} -\newcommand\noindentparagraph{\@startsection{paragraph}{4}{\z@}% - {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {-3.5\p@}% - {\ACM@NRadjust{\@parfont}}} - -\renewcommand\part{\@startsection{part}{9}{\z@}% - {-10\p@ \@plus -4\p@ \@minus -2\p@}% - {4\p@}% - {\ACM@NRadjust\@parfont}} -\def\section@raggedright{\@rightskip\@flushglue - \rightskip\@rightskip - \leftskip\z@skip - \parindent\z@} -\def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase} -\def\@subsecfont{\sffamily\bfseries\section@raggedright} -\def\@subsubsecfont{\sffamily\itshape} -\def\@parfont{\itshape} -\setcounter{secnumdepth}{3} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge - \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\large\section@raggedright} -\or % acmtog - \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\large\section@raggedright} -\or % sigconf - \def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\bfseries\Large\section@raggedright} -\or % siggraph - \def\@secfont{\sffamily\bfseries\Large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\bfseries\Large\section@raggedright} -\or % sigplan - \def\@secfont{\bfseries\Large\section@raggedright} - \def\@subsecfont{\bfseries\section@raggedright} - \def\@subsubsecfont{\bfseries\section@raggedright} - \def\@parfont{\bfseries\itshape} - \def\@subparfont{\itshape} -\or % sigchi - \setcounter{secnumdepth}{1} - \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\bfseries\section@raggedright} -\or % sigchi-a - \setcounter{secnumdepth}{0} - \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\bfseries\section@raggedright} -\fi -\def\@adddotafter#1{#1\@addpunct{.}} -\def\@addspaceafter#1{#1\@addpunct{\enspace}} -\providecommand*\@dotsep{4.5} -\def\@acmplainbodyfont{\itshape} -\def\@acmplainindent{\parindent} -\def\@acmplainheadfont{\scshape} -\def\@acmplainnotefont{\@empty} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \def\@acmplainbodyfont{\itshape} - \def\@acmplainindent{\z@} - \def\@acmplainheadfont{\bfseries} - \def\@acmplainnotefont{\normalfont} -\or % sigchi -\or % sigchi-a -\fi -\newtheoremstyle{acmplain}% - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space above - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space below - {\@acmplainbodyfont}% body font - {\@acmplainindent}% indent amount - {\@acmplainheadfont}% head font - {.}% punctuation after head - {.5em}% spacing after head - {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmplainnotefont(#3)}}}% head spec -\def\@acmdefinitionbodyfont{\normalfont} -\def\@acmdefinitionindent{\parindent} -\def\@acmdefinitionheadfont{\itshape} -\def\@acmdefinitionnotefont{\@empty} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \def\@acmdefinitionbodyfont{\normalfont} - \def\@acmdefinitionindent{\z@} - \def\@acmdefinitionheadfont{\bfseries} - \def\@acmdefinitionnotefont{\normalfont} -\or % sigchi -\or % sigchi-a -\fi -\newtheoremstyle{acmdefinition}% - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space above - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space below - {\@acmdefinitionbodyfont}% body font - {\@acmdefinitionindent}% indent amount - {\@acmdefinitionheadfont}% head font - {.}% punctuation after head - {.5em}% spacing after head - {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmdefinitionnotefont(#3)}}}% head spec -\theoremstyle{acmplain} -\AtEndPreamble{% - \if@ACM@acmthm - \theoremstyle{acmplain} - \@ifundefined{theorem}{% - \newtheorem{theorem}{Theorem}[section] - }{} - \@ifundefined{conjecture}{% - \newtheorem{conjecture}[theorem]{Conjecture} - }{} - \@ifundefined{proposition}{% - \newtheorem{proposition}[theorem]{Proposition} - }{} - \@ifundefined{lemma}{% - \newtheorem{lemma}[theorem]{Lemma} - }{} - \@ifundefined{corollary}{% - \newtheorem{corollary}[theorem]{Corollary} - }{} - \theoremstyle{acmdefinition} - \@ifundefined{example}{% - \newtheorem{example}[theorem]{Example} - }{} - \@ifundefined{definition}{% - \newtheorem{definition}[theorem]{Definition} - }{} - \fi - \theoremstyle{acmplain} -} -\def\@proofnamefont{\scshape} -\def\@proofindent{\indent} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \def\@proofnamefont{\itshape} - \def\@proofindent{\noindent} -\or % sigchi -\or % sigchi-a -\fi -\renewenvironment{proof}[1][\proofname]{\par - \pushQED{\qed}% - \normalfont \topsep6\p@\@plus6\p@\relax - \trivlist - \item[\@proofindent\hskip\labelsep - {\@proofnamefont #1\@addpunct{.}}]\ignorespaces -}{% - \popQED\endtrivlist\@endpefalse -} -\AtEndPreamble{% - \if@ACM@balance - \ifcase\ACM@format@nr - \relax % manuscript - \global\@ACM@balancefalse - \or % acmsmall - \global\@ACM@balancefalse - \or % acmlarge - \global\@ACM@balancefalse - \or % acmtog - \RequirePackage{balance}% - \or % sigconf - \RequirePackage{balance}% - \or % siggraph - \RequirePackage{balance}% - \or % sigplan - \RequirePackage{balance}% - \or % sigchi - \RequirePackage{balance}% - \or % sigchi-a - \global\@ACM@balancefalse - \fi - \fi -} -\AtEndDocument{% - \if@ACM@balance - \if@twocolumn - \balance - \fi\fi} -\newcommand\acksname{Acknowledgments} -\specialcomment{acks}{% - \begingroup - \section*{\acksname} - \phantomsection\addcontentsline{toc}{section}{\acksname} -}{% - \endgroup -} -\def\grantsponsor#1#2#3{#2} -\newcommand\grantnum[3][]{#3% - \def\@tempa{#1}\ifx\@tempa\@empty\else\space(\url{#1})\fi} -\AtEndPreamble{% -\if@ACM@screen - \includecomment{screenonly} - \excludecomment{printonly} -\else - \excludecomment{screenonly} - \includecomment{printonly} -\fi -\if@ACM@anonymous - \excludecomment{anonsuppress} - \excludecomment{acks} -\else - \includecomment{anonsuppress} -\fi} -\newcommand\showeprint[2][arxiv]{% - \def\@tempa{#1}% - \ifx\@tempa\@empty\def\@tempa{arxiv}\fi - \def\@tempb{arxiv}% - \ifx\@tempa\@tempb - arXiv:\href{https://arxiv.org/abs/#2}{#2}\else arXiv:#2% - \fi} -\let\@vspace@orig=\@vspace -\let\@vspacer@orig=\@vspacer -\apptocmd{\@vspace}{\ClassWarning{\@classname}{\string\vspace\space should - only be used to provide space above/below surrounding - objects}}{}{} -\apptocmd{\@vspacer}{\ClassWarning{\@classname}{\string\vspace\space should - only be used to provide space above/below surrounding - objects}}{}{} -\let\@vspace@acm=\@vspace -\let\@vspacer@acm=\@vspacer -\let\ACM@origbaselinestretch\baselinestretch -\AtEndDocument{\ifx\baselinestretch\ACM@origbaselinestretch\else - \ClassError{\@classname}{An attempt to redefine - \string\baselinestretch\space detected. Please do not do this for - ACM submissions!}\fi} -\normalsize\normalfont\frenchspacing -\endinput -%% -%% End of file `acmart.cls'. diff --git a/docs/necessary/comment.cut b/docs/necessary/comment.cut deleted file mode 100644 index 6048ce22a60657adbb768be4c90d5c2921d062ee..0000000000000000000000000000000000000000 --- a/docs/necessary/comment.cut +++ /dev/null @@ -1,3 +0,0 @@ - To Dr. László Szécsi, associate professor at the Computer Graphics Group - (Department of Control Engineering and Information Technology), whom I had - the chance to consult with during the semester. diff --git a/docs/necessary/references.bib b/docs/references.bib similarity index 100% rename from docs/necessary/references.bib rename to docs/references.bib diff --git a/docs/sample-franklin.png b/docs/sample-franklin.png deleted file mode 100644 index c0b2af9131a7983bb96fcadb86d38f13f360e9c7..0000000000000000000000000000000000000000 Binary files a/docs/sample-franklin.png and /dev/null differ diff --git a/docs/sample-sigplan.aux b/docs/sample-sigplan.aux deleted file mode 100644 index 4666628ba3d6a3ab6c3a0fed2f12c99252c4a448..0000000000000000000000000000000000000000 --- a/docs/sample-sigplan.aux +++ /dev/null @@ -1,94 +0,0 @@ -\relax -\providecommand\hyper@newdestlabel[2]{} -\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} -\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined -\global\let\oldcontentsline\contentsline -\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} -\global\let\oldnewlabel\newlabel -\gdef\newlabel#1#2{\newlabelxx{#1}#2} -\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} -\AtEndDocument{\ifx\hyper@anchor\@undefined -\let\contentsline\oldcontentsline -\let\newlabel\oldnewlabel -\fi} -\fi} -\global\let\hyper@last\relax -\gdef\HyperFirstAtBeginDocument#1{#1} -\providecommand\HyField@AuxAddToFields[1]{} -\providecommand\HyField@AuxAddToCoFields[2]{} -\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Seattle Mariners at Spring Training, 2010.\relax }}{1}{figure.caption.1}\protected@file@percent } -\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}} -\newlabel{fig:teaser}{{1}{1}{Seattle Mariners at Spring Training, 2010.\relax }{figure.caption.1}{}} -\@writefile{toc}{\contentsline {section}{Abstract}{1}{section*.2}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}{section.1}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2}Template Overview}{2}{section.2}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Template Styles}{2}{subsection.2.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Template Parameters}{2}{subsection.2.2}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3}Modifications}{2}{section.3}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4}Typefaces}{2}{section.4}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5}Title Information}{2}{section.5}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6}Authors and Affiliations}{2}{section.6}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {7}Rights Information}{3}{section.7}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {8}CCS Concepts and User-Defined Keywords}{3}{section.8}\protected@file@percent } -\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces Frequency of Special Characters\relax }}{3}{table.caption.6}\protected@file@percent } -\newlabel{tab:freq}{{1}{3}{Frequency of Special Characters\relax }{table.caption.6}{}} -\@writefile{toc}{\contentsline {section}{\numberline {9}Sectioning Commands}{3}{section.9}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {10}Tables}{3}{section.10}\protected@file@percent } -\citation{Lamport:LaTeX} -\@writefile{lot}{\contentsline {table}{\numberline {2}{\ignorespaces Some Typical Commands\relax }}{4}{table.caption.7}\protected@file@percent } -\newlabel{tab:commands}{{2}{4}{Some Typical Commands\relax }{table.caption.7}{}} -\@writefile{toc}{\contentsline {section}{\numberline {11}Math Equations}{4}{section.11}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {11.1}Inline (In-text) Equations}{4}{subsection.11.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {11.2}Display Equations}{4}{subsection.11.2}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {12}Figures}{4}{section.12}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces 1907 Franklin Model D roadster. Photograph by Harris \& Ewing, Inc. [Public domain], via Wikimedia Commons. (\url {https://goo.gl/VLCRBB}).\relax }}{4}{figure.caption.8}\protected@file@percent } -\citation{Abril07} -\citation{Cohen07} -\citation{JCohen96} -\citation{Kosiur01} -\citation{Harel79} -\citation{Editor00} -\citation{Editor00a} -\citation{Spector90} -\citation{Douglass98} -\citation{Knuth97} -\citation{Andler79,Hagerup1993} -\citation{Smith10} -\citation{VanGundy07} -\citation{Harel78} -\citation{Bornmann2019,AnzarootPBM14} -\citation{Clarkson85} -\citation{anisi03} -\citation{Thornburg01,Ablamowicz07,Poker06} -\citation{Obama08} -\citation{Novak03} -\citation{Lee05} -\citation{JoeScientist001} -\citation{rous08} -\citation{SaeediMEJ10} -\citation{SaeediJETC10} -\citation{Kirschmer:2010:AEI:1958016.1958018} -\citation{MR781536} -\citation{MR781537} -\citation{2004:ITE:1009386.1010128,Kirschmer:2010:AEI:1958016.1958018} -\citation{TUGInstmem,Thornburg01,CTANacmart} -\citation{R} -\citation{UMassCitations} -\bibstyle{ACM-Reference-Format} -\bibdata{sample-base} -\@writefile{toc}{\contentsline {subsection}{\numberline {12.1}The ``Teaser Figure''}{5}{subsection.12.1}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {13}Citations and Bibliographies}{5}{section.13}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {14}Acknowledgments}{5}{section.14}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {15}Appendices}{5}{section.15}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {16}SIGCHI Extended Abstracts}{5}{section.16}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{Acknowledgments}{5}{section*.10}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {A}Research Methods}{5}{appendix.A}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {A.1}Part One}{5}{subsection.A.1}\protected@file@percent } -\newlabel{tocindent-1}{0pt} -\newlabel{tocindent0}{0pt} -\newlabel{tocindent1}{9.29999pt} -\newlabel{tocindent2}{16.14998pt} -\newlabel{tocindent3}{0pt} -\@writefile{toc}{\contentsline {subsection}{\numberline {A.2}Part Two}{6}{subsection.A.2}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {B}Online Resources}{6}{appendix.B}\protected@file@percent } -\newlabel{TotPages}{{6}{6}{}{page.6}{}} diff --git a/docs/sample-sigplan.log b/docs/sample-sigplan.log deleted file mode 100644 index 4e3ec3b2962abcdf8924c0107957024c644c6b15..0000000000000000000000000000000000000000 --- a/docs/sample-sigplan.log +++ /dev/null @@ -1,1291 +0,0 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2020.10.23) 1 DEC 2020 12:26 -entering extended mode - restricted \write18 enabled. - %&-line parsing enabled. -**sample-sigplan.tex -(./sample-sigplan.tex -LaTeX2e <2020-02-02> patch level 2 -L3 programming layer <2020-02-14> (./acmart.cls -Document Class: acmart 2020/11/15 v1.75 Typesetting articles for the Associatio -n for Computing Machinery -(/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty -Package: xkeyval 2014/12/03 v2.7a package option processing (HA) - -(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex -(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex -\XKV@toks=\toks14 -\XKV@tempa@toks=\toks15 - -(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/keyval.tex)) -\XKV@depth=\count167 -File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) -)) -(/usr/share/texlive/texmf-dist/tex/generic/xstring/xstring.sty -(/usr/share/texlive/texmf-dist/tex/generic/xstring/xstring.tex -\integerpart=\count168 -\decimalpart=\count169 -) -Package: xstring 2019/02/06 v1.83 String manipulations (CT) -) -(/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty -Package: iftex 2019/11/07 v1.0c TeX engine tests -) -Package acmart Info: Not using screen mode on input line 73. -Package acmart Info: Using breaking urls on hyphens on input line 81. -Package acmart Info: Requiring acmthm on input line 89. -Package acmart Info: Not using review mode on input line 98. -Package acmart Info: Not using authorversion mode on input line 106. -Package acmart Info: Not using nonacm mode on input line 118. -Package acmart Info: Explicitly selecting natbib mode on input line 130. -Package acmart Info: Not using anonymous mode on input line 138. -Package acmart Info: Not using timestamp mode on input line 146. -Package acmart Info: Not using authordraft mode on input line 156. -Package acmart Info: Using screen mode on input line 165. -Class acmart Info: Using format sigplan, number 6 on input line 165. -Class acmart Info: Using fontsize 10pt on input line 249. - -(/usr/share/texlive/texmf-dist/tex/latex/amscls/amsart.cls -Document Class: amsart 2017/10/31 v2.20.4 -\linespacing=\dimen134 -\normalparindent=\dimen135 -\normaltopskip=\skip47 -(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty -Package: amsmath 2020/01/20 v2.17e AMS math features -\@mathmargin=\skip48 - -For additional information on amsmath, use the `?' option. -(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty -Package: amstext 2000/06/29 v2.01 AMS text - -(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty -File: amsgen.sty 1999/11/30 v2.0 generic functions -\@emptytoks=\toks16 -\ex@=\dimen136 -)) -(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty -Package: amsbsy 1999/11/29 v1.2d Bold Symbols -\pmbraise@=\dimen137 -) -(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty -Package: amsopn 2016/03/08 v2.02 operator names -) -\inf@bad=\count170 -LaTeX Info: Redefining \frac on input line 227. -\uproot@=\count171 -\leftroot@=\count172 -LaTeX Info: Redefining \overline on input line 389. -\classnum@=\count173 -\DOTSCASE@=\count174 -LaTeX Info: Redefining \ldots on input line 486. -LaTeX Info: Redefining \dots on input line 489. -LaTeX Info: Redefining \cdots on input line 610. -\Mathstrutbox@=\box45 -\strutbox@=\box46 -\big@size=\dimen138 -LaTeX Font Info: Redeclaring font encoding OML on input line 733. -LaTeX Font Info: Redeclaring font encoding OMS on input line 734. -\macc@depth=\count175 -\c@MaxMatrixCols=\count176 -\dotsspace@=\muskip16 -\c@parentequation=\count177 -\dspbrk@lvl=\count178 -\tag@help=\toks17 -\row@=\count179 -\column@=\count180 -\maxfields@=\count181 -\andhelp@=\toks18 -\eqnshift@=\dimen139 -\alignsep@=\dimen140 -\tagshift@=\dimen141 -\tagwidth@=\dimen142 -\totwidth@=\dimen143 -\lineht@=\dimen144 -\@envbody=\toks19 -\multlinegap=\skip49 -\multlinetaggap=\skip50 -\mathdisplay@stack=\toks20 -LaTeX Info: Redefining \[ on input line 2859. -LaTeX Info: Redefining \] on input line 2860. -) -LaTeX Font Info: Trying to load font information for U+msa on input line 398 -. - -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd -File: umsa.fd 2013/01/14 v3.01 AMS symbols A -) -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty -Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support -\symAMSa=\mathgroup4 -\symAMSb=\mathgroup5 -LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. -LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' -(Font) U/euf/m/n --> U/euf/b/n on input line 106. -) -\copyins=\insert199 -\abstractbox=\box47 -\listisep=\skip51 -\c@part=\count182 -\c@section=\count183 -\c@subsection=\count184 -\c@subsubsection=\count185 -\c@paragraph=\count186 -\c@subparagraph=\count187 -\c@figure=\count188 -\c@table=\count189 -\abovecaptionskip=\skip52 -\belowcaptionskip=\skip53 -\captionindent=\dimen145 -\thm@style=\toks21 -\thm@bodyfont=\toks22 -\thm@headfont=\toks23 -\thm@notefont=\toks24 -\thm@headpunct=\toks25 -\thm@preskip=\skip54 -\thm@postskip=\skip55 -\thm@headsep=\skip56 -\dth@everypar=\toks26 -) -(/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.sty -Package: microtype 2019/11/18 v2.7d Micro-typographical refinements (RS) -\MT@toks=\toks27 -\MT@count=\count190 -LaTeX Info: Redefining \textls on input line 790. -\MT@outer@kern=\dimen146 -LaTeX Info: Redefining \textmicrotypecontext on input line 1354. -\MT@listname@count=\count191 - -(/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype-pdftex.def -File: microtype-pdftex.def 2019/11/18 v2.7d Definitions specific to pdftex (RS) - -LaTeX Info: Redefining \lsstyle on input line 914. -LaTeX Info: Redefining \lslig on input line 914. -\MT@outer@space=\skip57 -) -Package microtype Info: Loading configuration file microtype.cfg. - -(/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg -File: microtype.cfg 2019/11/18 v2.7d microtype main configuration file (RS) -)) -(/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty -Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) -\etb@tempcnta=\count192 -) -(/usr/share/texlive/texmf-dist/tex/latex/booktabs/booktabs.sty -Package: booktabs 2020/01/12 v1.61803398 Publication quality tables -\heavyrulewidth=\dimen147 -\lightrulewidth=\dimen148 -\cmidrulewidth=\dimen149 -\belowrulesep=\dimen150 -\belowbottomsep=\dimen151 -\aboverulesep=\dimen152 -\abovetopsep=\dimen153 -\cmidrulesep=\dimen154 -\cmidrulekern=\dimen155 -\defaultaddspace=\dimen156 -\@cmidla=\count193 -\@cmidlb=\count194 -\@aboverulesep=\dimen157 -\@belowrulesep=\dimen158 -\@thisruleclass=\count195 -\@lastruleclass=\count196 -\@thisrulewidth=\dimen159 -) -(/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty -Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) - -(/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -Package: ltxcmds 2019/12/15 v1.24 LaTeX kernel commands for general use (HO) -) -(/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty -Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) -)) -(/usr/share/texlive/texmf-dist/tex/latex/totpages/totpages.sty -Package: totpages 2005/09/19 v2.00 Totpages Package (muewi) - -(/usr/share/texlive/texmf-dist/tex/latex/ms/everyshi.sty -Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) -)) -(/usr/share/texlive/texmf-dist/tex/latex/environ/environ.sty -Package: environ 2014/05/04 v0.3 A new way to define environments - -(/usr/share/texlive/texmf-dist/tex/latex/trimspaces/trimspaces.sty -Package: trimspaces 2009/09/17 v1.1 Trim spaces around a token list -)) -(/usr/share/texlive/texmf-dist/tex/latex/textcase/textcase.sty -Package: textcase 2019/09/14 v1.00 Text only upper/lower case changing (DPC) -) -(/usr/share/texlive/texmf-dist/tex/latex/natbib/natbib.sty -Package: natbib 2010/09/13 8.31b (PWD, AO) -\bibhang=\skip58 -\bibsep=\skip59 -LaTeX Info: Redefining \cite on input line 694. -\c@NAT@ctr=\count197 -) -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty -Package: hyperref 2020/01/14 v7.00d Hypertext links for LaTeX - -(/usr/share/texlive/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty -Package: pdftexcmds 2019/11/24 v0.31 Utility functions of pdfTeX for LuaTeX (HO -) -Package pdftexcmds Info: \pdf@primitive is available. -Package pdftexcmds Info: \pdf@ifprimitive is available. -Package pdftexcmds Info: \pdfdraftmode found. -) -(/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty -Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO) -) -(/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) -) -(/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty -Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) -) -(/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty -Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) -) -(/usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO) -) -(/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty -Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) -) -(/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty -Package: kvoptions 2019/11/29 v3.13 Key value format for package options (HO) -) -\@linkdim=\dimen160 -\Hy@linkcounter=\count198 -\Hy@pagecounter=\count266 - -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def -File: pd1enc.def 2020/01/14 v7.00d Hyperref: PDFDocEncoding definition (HO) -Now handling font encoding PD1 ... -... no UTF-8 mapping file for font encoding PD1 -) -(/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty -Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) -) -(/usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty -Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO) -) -\Hy@SavedSpaceFactor=\count267 -\pdfmajorversion=\count268 -Package hyperref Info: Option `bookmarksnumbered' set `true' on input line 4421 -. -Package hyperref Info: Option `unicode' set `true' on input line 4421. - -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def -File: puenc.def 2020/01/14 v7.00d Hyperref: PDF Unicode definition (HO) -Now handling font encoding PU ... -... no UTF-8 mapping file for font encoding PU -) -Package hyperref Info: Hyper figures OFF on input line 4547. -Package hyperref Info: Link nesting OFF on input line 4552. -Package hyperref Info: Hyper index ON on input line 4555. -Package hyperref Info: Plain pages OFF on input line 4562. -Package hyperref Info: Backreferencing OFF on input line 4567. -Package hyperref Info: Implicit mode ON; LaTeX internals redefined. -Package hyperref Info: Bookmarks ON on input line 4800. -\c@Hy@tempcnt=\count269 - -(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty -\Urlmuskip=\muskip17 -Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. -) -LaTeX Info: Redefining \url on input line 5159. -\XeTeXLinkMargin=\dimen161 - -(/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty -Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) - -(/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO -) -)) -\Fld@menulength=\count270 -\Field@Width=\dimen162 -\Fld@charsize=\dimen163 -Package hyperref Info: Hyper figures OFF on input line 6430. -Package hyperref Info: Link nesting OFF on input line 6435. -Package hyperref Info: Hyper index ON on input line 6438. -Package hyperref Info: backreferencing OFF on input line 6445. -Package hyperref Info: Link coloring OFF on input line 6450. -Package hyperref Info: Link coloring with OCG OFF on input line 6455. -Package hyperref Info: PDF/A mode OFF on input line 6460. -LaTeX Info: Redefining \ref on input line 6500. -LaTeX Info: Redefining \pageref on input line 6504. - -(/usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty -Package: atbegshi 2019/12/05 v1.19 At begin shipout hook (HO) -) -\Hy@abspage=\count271 -\c@Item=\count272 -\c@Hfootnote=\count273 -) -Package hyperref Info: Driver (autodetected): hpdftex. - -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def -File: hpdftex.def 2020/01/14 v7.00d Hyperref driver for pdfTeX - -(/usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty -Package: atveryend 2019-12-11 v1.11 Hooks at the very end of document (HO) -) -\Fld@listcount=\count274 -\c@bookmark@seq@number=\count275 - -(/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -Package: rerunfilecheck 2019/12/05 v1.9 Rerun checks for auxiliary files (HO) - -(/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) -) -Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 -86. -) -\Hy@SectionHShift=\skip60 -) -(/usr/share/texlive/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty -Package: hyperxmp 2019/04/05 v4.1 Store hyperref metadata in XMP format - -(/usr/share/texlive/texmf-dist/tex/generic/stringenc/stringenc.sty -Package: stringenc 2019/11/29 v1.12 Convert strings between diff. encodings (HO -) -) -(/usr/share/texlive/texmf-dist/tex/generic/iftex/ifxetex.sty -Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead. -) -(/usr/share/texlive/texmf-dist/tex/latex/ifmtarg/ifmtarg.sty -Package: ifmtarg 2018/04/16 v1.2b check for an empty argument -) -(/usr/share/texlive/texmf-dist/tex/generic/iftex/ifluatex.sty -Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead. -)) -(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty -Package: graphicx 2019/11/30 v1.2a Enhanced LaTeX Graphics (DPC,SPQR) - -(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2019/11/30 v1.4a Standard LaTeX Graphics (DPC,SPQR) - -(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty -Package: trig 2016/01/03 v1.10 sin cos tan (DPC) -) -(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg -File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration -) -Package graphics Info: Driver file: pdftex.def on input line 105. - -(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def -File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex -)) -\Gin@req@height=\dimen164 -\Gin@req@width=\dimen165 -) -(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty -Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) - -(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg -File: color.cfg 2016/01/02 v1.6 sample color configuration -) -Package xcolor Info: Driver file: pdftex.def on input line 225. -Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. -Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. -Package xcolor Info: Model `RGB' extended on input line 1364. -Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. -Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. -Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. -Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. -Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. -Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. -) -(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty -Package: geometry 2020/01/02 v5.9 Page Geometry - -(/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty -Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. -) -\Gm@cnth=\count276 -\Gm@cntv=\count277 -\c@Gm@tempcnt=\count278 -\Gm@bindingoffset=\dimen166 -\Gm@wd@mp=\dimen167 -\Gm@odd@mp=\dimen168 -\Gm@even@mp=\dimen169 -\Gm@layoutwidth=\dimen170 -\Gm@layoutheight=\dimen171 -\Gm@layouthoffset=\dimen172 -\Gm@layoutvoffset=\dimen173 -\Gm@dimlist=\toks28 -) -(/usr/share/texlive/texmf-dist/tex/latex/ncctools/manyfoot.sty -Package: manyfoot 2019/08/03 v1.11 Many Footnote Levels Package (NCC) - -(/usr/share/texlive/texmf-dist/tex/latex/ncctools/nccfoots.sty -Package: nccfoots 2005/02/03 v1.2 NCC Footnotes Package (NCC) -) -\MFL@columnwidth=\dimen174 -) -\footinsauthorsaddresses=\insert252 -\c@footnoteauthorsaddresses=\count279 -\footinscopyrightpermission=\insert251 -\c@footnotecopyrightpermission=\count280 - -(/usr/share/texlive/texmf-dist/tex/generic/pdftex/glyphtounicode.tex) -(/usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty -Package: cmap 2008/03/06 v1.0h CMap support: searchable PDF -) -(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty -Package: fontenc 2020/02/11 v2.0o Standard LaTeX package -<<t1.cmap>>) -(/usr/share/texlive/texmf-dist/tex/latex/libertine/libertine.sty -Package: libertine 2019/07/01 (Bob Tennent) Supports Libertine and Biolinum fon -ts for all LaTeX engines. - -(/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty -Package: textcomp 2020/02/02 v2.0n Standard LaTeX package -) -(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty -Package: fontenc 2020/02/11 v2.0o Standard LaTeX package -) -(/usr/share/texlive/texmf-dist/tex/latex/fontaxes/fontaxes.sty -Package: fontaxes 2014/03/23 v1.0d Font selection axes -LaTeX Info: Redefining \upshape on input line 29. -LaTeX Info: Redefining \itshape on input line 31. -LaTeX Info: Redefining \slshape on input line 33. -LaTeX Info: Redefining \swshape on input line 35. -LaTeX Info: Redefining \scshape on input line 37. -LaTeX Info: Redefining \sscshape on input line 39. -LaTeX Info: Redefining \ulcshape on input line 41. -LaTeX Info: Redefining \textsw on input line 47. -LaTeX Info: Redefining \textssc on input line 48. -LaTeX Info: Redefining \textulc on input line 49. -) -LaTeX Info: Redefining \oldstylenums on input line 494. - -(/usr/share/texlive/texmf-dist/tex/latex/libertine/LinLibertine_I.tex)) -(/usr/share/texlive/texmf-dist/tex/latex/inconsolata/zi4.sty -Package: zi4 2019/05/17 v1.12 - -`inconsolata-zi4' v1.12, 2019/05/17 Text macros for Inconsolata (msharpe) -\zifour@ocount=\count281 -) -(/usr/share/texlive/texmf-dist/tex/latex/newtx/newtxmath.sty -Package: newtxmath 2020/01/25 v1.624 - -`newtxmath' v1.624, 2020/01/25 Math macros based originally on txfonts (msharpe -) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/centernot.sty -Package: centernot 2016/05/16 v1.4 Centers the not symbol horizontally (HO) -) -\tx@cntz=\count282 - -(/usr/share/texlive/texmf-dist/tex/generic/kastrup/binhex.tex) -\tx@Isdigit=\count283 -\tx@IsAlNum=\count284 -\tx@tA=\toks29 -\tx@tB=\toks30 -\tx@su=\read2 -LaTeX Font Info: Redeclaring symbol font `operators' on input line 317. -LaTeX Font Info: Overwriting symbol font `operators' in version `normal' -(Font) OT1/cmr/m/n --> OT1/LinuxLibertineT-TLF/m/n on input li -ne 317. -LaTeX Font Info: Overwriting symbol font `operators' in version `bold' -(Font) OT1/cmr/bx/n --> OT1/LinuxLibertineT-TLF/m/n on input l -ine 317. -LaTeX Font Info: Overwriting symbol font `operators' in version `bold' -(Font) OT1/LinuxLibertineT-TLF/m/n --> OT1/LinuxLibertineT-TLF -/sb/n on input line 318. -LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 326. -LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' -(Font) OT1/cmss/m/n --> T1/LinuxBiolinumT-TLF/m/n on input lin -e 326. -LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' -(Font) OT1/cmss/bx/n --> T1/LinuxBiolinumT-TLF/m/n on input li -ne 326. -LaTeX Font Info: Redeclaring math alphabet \mathit on input line 327. -LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' -(Font) OT1/cmr/m/it --> OT1/LinuxLibertineT-TLF/m/it on input -line 327. -LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' -(Font) OT1/cmr/bx/it --> OT1/LinuxLibertineT-TLF/m/it on input - line 327. -LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 328. -LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' -(Font) OT1/cmtt/m/n --> T1/zi4/m/n on input line 328. -LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' -(Font) OT1/cmtt/m/n --> T1/zi4/m/n on input line 328. -LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 330. -LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' -(Font) OT1/cmr/bx/n --> OT1/LinuxLibertineT-TLF/sb/n on input -line 330. -LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' -(Font) OT1/cmr/bx/n --> OT1/LinuxLibertineT-TLF/sb/n on input -line 330. -LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' -(Font) OT1/LinuxLibertineT-TLF/m/it --> OT1/LinuxLibertineT-TL -F/sb/it on input line 331. -LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' -(Font) T1/LinuxBiolinumT-TLF/m/n --> T1/LinuxBiolinumT-TLF/b/n - on input line 332. -LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' -(Font) T1/zi4/m/n --> T1/zi4/b/n on input line 333. -LaTeX Font Info: Redeclaring symbol font `letters' on input line 350. -LaTeX Font Info: Overwriting symbol font `letters' in version `normal' -(Font) OML/cmm/m/it --> OML/nxlmi/m/it on input line 350. -LaTeX Font Info: Overwriting symbol font `letters' in version `bold' -(Font) OML/cmm/b/it --> OML/nxlmi/m/it on input line 350. -LaTeX Font Info: Overwriting symbol font `letters' in version `bold' -(Font) OML/nxlmi/m/it --> OML/nxlmi/b/it on input line 351. -\symlettersA=\mathgroup6 -LaTeX Font Info: Overwriting symbol font `lettersA' in version `bold' -(Font) U/ntxmia/m/it --> U/ntxmia/b/it on input line 476. -LaTeX Font Info: Redeclaring math alphabet \mathfrak on input line 478. -Now handling font encoding LMS ... -... no UTF-8 mapping file for font encoding LMS -LaTeX Font Info: Redeclaring symbol font `symbols' on input line 497. -LaTeX Font Info: Encoding `OMS' has changed to `LMS' for symbol font -(Font) `symbols' in the math version `normal' on input line 497. -LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' -(Font) OMS/cmsy/m/n --> LMS/ntxsy/m/n on input line 497. -LaTeX Font Info: Encoding `OMS' has changed to `LMS' for symbol font -(Font) `symbols' in the math version `bold' on input line 497. -LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' -(Font) OMS/cmsy/b/n --> LMS/ntxsy/m/n on input line 497. -LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' -(Font) LMS/ntxsy/m/n --> LMS/ntxsy/b/n on input line 498. -\symAMSm=\mathgroup7 -LaTeX Font Info: Overwriting symbol font `AMSm' in version `bold' -(Font) U/ntxsym/m/n --> U/ntxsym/b/n on input line 521. -\symsymbolsC=\mathgroup8 -LaTeX Font Info: Overwriting symbol font `symbolsC' in version `bold' -(Font) U/ntxsyc/m/n --> U/ntxsyc/b/n on input line 542. -Now handling font encoding LMX ... -... no UTF-8 mapping file for font encoding LMX -LaTeX Font Info: Redeclaring symbol font `largesymbols' on input line 555. -LaTeX Font Info: Encoding `OMX' has changed to `LMX' for symbol font -(Font) `largesymbols' in the math version `normal' on input line 5 -55. -LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' -(Font) OMX/cmex/m/n --> LMX/ntxexx/m/n on input line 555. -LaTeX Font Info: Encoding `OMX' has changed to `LMX' for symbol font -(Font) `largesymbols' in the math version `bold' on input line 555 -. -LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' -(Font) OMX/cmex/m/n --> LMX/ntxexx/m/n on input line 555. -LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' -(Font) LMX/ntxexx/m/n --> LMX/ntxexx/b/n on input line 556. -\symlargesymbolsTXA=\mathgroup9 -LaTeX Font Info: Overwriting symbol font `largesymbolsTXA' in version `bold' - -(Font) U/ntxexa/m/n --> U/ntxexa/b/n on input line 570. -\tx@sbptoks=\toks31 -LaTeX Font Info: Redeclaring math delimiter \lfloor on input line 792. -LaTeX Font Info: Redeclaring math delimiter \rfloor on input line 793. -LaTeX Font Info: Redeclaring math delimiter \lceil on input line 794. -LaTeX Font Info: Redeclaring math delimiter \rceil on input line 795. -LaTeX Font Info: Redeclaring math delimiter \lbrace on input line 796. -LaTeX Font Info: Redeclaring math delimiter \rbrace on input line 797. -LaTeX Font Info: Redeclaring math delimiter \langle on input line 798. -LaTeX Font Info: Redeclaring math delimiter \rangle on input line 800. -LaTeX Font Info: Redeclaring math delimiter \arrowvert on input line 804. -LaTeX Font Info: Redeclaring math delimiter \vert on input line 805. -LaTeX Font Info: Redeclaring math accent \dot on input line 876. -LaTeX Font Info: Redeclaring math accent \ddot on input line 877. -LaTeX Font Info: Redeclaring math accent \vec on input line 1940. -\ntx@numstart=\count285 -\ntx@UCstart=\count286 -\ntx@lcstart=\count287 -\ntx@tmpc=\count288 -\ntx@imath=\count289 -\ntx@jmath=\count290 -LaTeX Info: Redefining \Bbbk on input line 2449. -LaTeX Info: Redefining \not on input line 2598. -LaTeX Info: Redefining \textsquare on input line 2628. -LaTeX Info: Redefining \openbox on input line 2630. -) -(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty -Package: caption 2020/01/03 v3.4h Customizing captions (AR) - -(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty -Package: caption3 2020/01/03 v1.8h caption3 kernel (AR) -Package caption3 Info: TeX engine: e-TeX on input line 61. -\captionmargin=\dimen175 -\captionmargin@=\dimen176 -\captionwidth=\dimen177 -\caption@tempdima=\dimen178 -\caption@indent=\dimen179 -\caption@parindent=\dimen180 -\caption@hangindent=\dimen181 -Package caption Info: AMS or SMF document class detected. -) -Package caption Info: AMS or SMF document class. -\c@caption@flags=\count291 -\c@continuedfloat=\count292 -Package caption Info: hyperref package is loaded. -) -(/usr/share/texlive/texmf-dist/tex/latex/float/float.sty -Package: float 2001/11/08 v1.3d Float enhancements (AL) -\c@float@type=\count293 -\float@exts=\toks32 -\float@box=\box48 -\@float@everytoks=\toks33 -\@floatcapt=\box49 -) -\@float@every@sidebar=\toks34 -\c@sidebar=\count294 -\fulltextwidth=\dimen182 -\@ACM@labelwidth=\dimen183 -\listisep=\skip61 -\num@authorgroups=\count295 -\num@authors=\count296 -\@ACM@badge@width=\skip62 -\@ACM@title@width=\skip63 -\@ACM@badge@skip=\skip64 -Class acmart Info: Printing CCS on input line 1483. -Class acmart Info: Printing bibformat on input line 1483. -Class acmart Info: Suppressing folios on input line 1490. -Class acmart Info: Setting authorsperrow to 0 on input line 1493. - -(/usr/share/texlive/texmf-dist/tex/latex/comment/comment.sty -\CommentStream=\write3 - -Excluding comment 'comment') Excluding comment 'CCSXML' -\c@@concepts=\count297 -\mktitle@bx=\box50 -\@ACM@commabox=\box51 -\author@bx=\box52 -\author@bx@wd=\dimen184 -\author@bx@sep=\skip65 - -(/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty -Package: fancyhdr 2019/01/31 v3.10 Extensive control of page headers and footer -s -\f@nch@headwidth=\skip66 -\f@nch@O@elh=\skip67 -\f@nch@O@erh=\skip68 -\f@nch@O@olh=\skip69 -\f@nch@O@orh=\skip70 -\f@nch@O@elf=\skip71 -\f@nch@O@erf=\skip72 -\f@nch@O@olf=\skip73 -\f@nch@O@orf=\skip74 -) -\@folio@wd=\dimen185 -\@folio@ht=\dimen186 -\@folio@voffset=\dimen187 - -Special comment 'acks' -LaTeX Font Info: Trying to load font information for T1+LinuxLibertineT-TLF -on input line 3009. - -(/usr/share/texlive/texmf-dist/tex/latex/libertine/T1LinuxLibertineT-TLF.fd -File: T1LinuxLibertineT-TLF.fd 2017/03/20 (autoinst) Font definitions for T1/Li -nuxLibertineT-TLF. -) -LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 10.0pt on input line 3009. -) -Package hyperref Info: Option `colorlinks' set `true' on input line 73. -Package hyperref Info: Option `pdfdisplaydoctitle' set `true' on input line 73. - -\c@theorem=\count298 - -(/usr/share/texlive/texmf-dist/tex/latex/preprint/balance.sty -Package: balance 1999/02/23 4.3 (PWD) -\oldvsize=\dimen188 -) -Include comment 'screenonly' Excluding comment 'printonly' -Include comment 'anonsuppress' -(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def -File: l3backend-pdfmode.def 2020-02-03 L3 backend support: PDF mode -\l__kernel_color_stack_int=\count299 -\l__pdf_internal_box=\box53 -) -(./sample-sigplan.aux) -\openout1 = `sample-sigplan.aux'. - -LaTeX Font Info: Checking defaults for OML/nxlmi/m/it on input line 73. -LaTeX Font Info: Trying to load font information for OML+nxlmi on input line - 73. - -(/usr/share/texlive/texmf-dist/tex/latex/newtx/omlnxlmi.fd -File: omlnxlmi.fd 2013/11/19 Fontinst v1.933 font definitions for OML/nxlmi. -) -LaTeX Font Info: ... okay on input line 73. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 73. -LaTeX Font Info: ... okay on input line 73. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 73. -LaTeX Font Info: ... okay on input line 73. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 73. -LaTeX Font Info: ... okay on input line 73. -LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 73. -LaTeX Font Info: ... okay on input line 73. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 73. -LaTeX Font Info: ... okay on input line 73. -LaTeX Font Info: Checking defaults for U/ntxexa/m/n on input line 73. -LaTeX Font Info: Trying to load font information for U+ntxexa on input line -73. - -(/usr/share/texlive/texmf-dist/tex/latex/newtx/untxexa.fd -File: untxexa.fd 2012/04/16 Fontinst v1.933 font definitions for U/ntxexa. -) -LaTeX Font Info: ... okay on input line 73. -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 73. -LaTeX Font Info: ... okay on input line 73. -LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 73. -LaTeX Font Info: ... okay on input line 73. -LaTeX Font Info: Checking defaults for LMS/ntxsy/m/n on input line 73. -LaTeX Font Info: Trying to load font information for LMS+ntxsy on input line - 73. - -(/usr/share/texlive/texmf-dist/tex/latex/newtx/lmsntxsy.fd -File: lmsntxsy.fd 2016/07/02 Fontinst v1.933 font definitions for LMS/ntxsy. -) -LaTeX Font Info: ... okay on input line 73. -LaTeX Font Info: Checking defaults for LMX/ntxexx/m/n on input line 73. -LaTeX Font Info: Trying to load font information for LMX+ntxexx on input lin -e 73. - -(/usr/share/texlive/texmf-dist/tex/latex/newtx/lmxntxexx.fd -File: lmxntxexx.fd 2016/07/03 Fontinst v1.933 font definitions for LMX/ntxexx. -) -LaTeX Font Info: ... okay on input line 73. -LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 8.0pt on input line 73. -LaTeX Font Info: Trying to load font information for OT1+LinuxLibertineT-TLF - on input line 73. - -(/usr/share/texlive/texmf-dist/tex/latex/libertine/OT1LinuxLibertineT-TLF.fd -File: OT1LinuxLibertineT-TLF.fd 2017/03/20 (autoinst) Font definitions for OT1/ -LinuxLibertineT-TLF. -) -LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 8.0pt on input line 73. -<<ot1.cmap>> -LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 6.2pt on input line 73. -LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 5.5pt on input line 73. -<<oml.cmap>> -LaTeX Font Info: Trying to load font information for U+msa on input line 73. - - -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd -File: umsa.fd 2013/01/14 v3.01 AMS symbols A -) -LaTeX Font Info: Trying to load font information for U+msb on input line 73. - - -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd -File: umsb.fd 2013/01/14 v3.01 AMS symbols B -) -LaTeX Font Info: Trying to load font information for U+ntxmia on input line -73. - -(/usr/share/texlive/texmf-dist/tex/latex/newtx/untxmia.fd -File: untxmia.fd 2018/04/14 Fontinst v1.933 font definitions for U/ntxmia. -) -LaTeX Font Info: Trying to load font information for U+ntxsym on input line -73. - -(/usr/share/texlive/texmf-dist/tex/latex/newtx/untxsym.fd -File: untxsym.fd 2015/03/20 Fontinst v1.933 font definitions for U/ntxsym. -) -LaTeX Font Info: Trying to load font information for U+ntxsyc on input line -73. - -(/usr/share/texlive/texmf-dist/tex/latex/newtx/untxsyc.fd -File: untxsyc.fd 2012/04/12 Fontinst v1.933 font definitions for U/ntxsyc. -) -LaTeX Info: Redefining \microtypecontext on input line 73. -Package microtype Info: Generating PDF output. -Package microtype Info: Character protrusion enabled (level 2). -Package microtype Info: Using default protrusion set `alltext'. -Package microtype Info: Automatic font expansion enabled (level 2), -(microtype) stretch: 20, shrink: 20, step: 1, non-selected. -Package microtype Info: Using default expansion set `basictext'. -LaTeX Info: Redefining \showhyphens on input line 73. -Package microtype Info: No adjustment of tracking. -Package microtype Info: No adjustment of interword spacing. -Package microtype Info: No adjustment of character kerning. -Package microtype Info: Loading generic protrusion settings for font family -(microtype) `LinuxLibertineT-TLF' (encoding: T1). -(microtype) For optimal results, create family-specific settings. -(microtype) See the microtype manual for details. - -ABD: EveryShipout initializing macros -\AtBeginShipoutBox=\box54 -Package hyperref Info: Link coloring ON on input line 73. - -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty -Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section - -(/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) -) -\c@section@level=\count300 -) -LaTeX Info: Redefining \ref on input line 73. -LaTeX Info: Redefining \pageref on input line 73. -LaTeX Info: Redefining \nameref on input line 73. - -(./sample-sigplan.out) (./sample-sigplan.out) -\@outlinefile=\write4 -\openout4 = `sample-sigplan.out'. - - -(/usr/share/texlive/texmf-dist/tex/generic/stringenc/se-pdfdoc.def -File: se-pdfdoc.def 2019/11/29 v1.12 stringenc: PDFDocEncoding -) -(/usr/share/texlive/texmf-dist/tex/generic/stringenc/se-utf8.def -File: se-utf8.def 2019/11/29 v1.12 stringenc: UTF-8 -) -(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count301 -\scratchdimen=\dimen189 -\scratchbox=\box55 -\nofMPsegments=\count302 -\nofMParguments=\count303 -\everyMPshowfont=\toks35 -\MPscratchCnt=\count304 -\MPscratchDim=\dimen190 -\MPnumerator=\count305 -\makeMPintoPDFobject=\count306 -\everyMPtoPDFconversion=\toks36 -) (/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty -Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf -Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 -85. - -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg -File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv -e -)) -*geometry* driver: auto-detecting -*geometry* detected driver: pdftex -*geometry* verbose mode - [ preamble ] result: -* driver: pdftex -* paper: custom -* layout: <same size as paper> -* layoutoffset:(h,v)=(0.0pt,0.0pt) -* modes: twoside heightrounded -* h-part:(L,W,R)=(54.2025pt, 505.89pt, 54.2025pt) -* v-part:(T,H,B)=(72.26999pt, 650.43001pt, 72.26999pt) -* \paperwidth=614.295pt -* \paperheight=794.96999pt -* \textwidth=505.89pt -* \textheight=646.0pt -* \oddsidemargin=-18.06749pt -* \evensidemargin=-18.06749pt -* \topmargin=-27.0pt -* \headheight=13.0pt -* \headsep=14.0pt -* \topskip=10.0pt -* \footskip=12.0pt -* \marginparwidth=24.0pt -* \marginparsep=11.0pt -* \columnsep=24.0pt -* \skip\footins=7.0pt plus 11.0pt -* \hoffset=0.0pt -* \voffset=0.0pt -* \mag=1000 -* \@twocolumnfalse -* \@twosidetrue -* \@mparswitchtrue -* \@reversemarginfalse -* (1in=72.27pt=25.4mm, 1cm=28.453pt) - -\c@mv@tabular=\count307 -\c@mv@boldtabular=\count308 -(/usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty -Package: upquote 2012/04/19 v1.3 upright-quote and grave-accent glyphs in verba -tim -) -Package caption Info: Begin \AtBeginDocument code. -Package caption Info: float package is loaded. -Package caption Info: End \AtBeginDocument code. - -Excluding 'CCSXML' comment. -LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 20.74pt on input line 231. -LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/b/n' will be -(Font) scaled to size 20.74pt on input line 231. -LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 12.0pt on input line 231. -LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 12.0pt on input line 231. -Package microtype Info: Loading generic protrusion settings for font family -(microtype) `LinuxLibertineT-TLF' (encoding: OT1). -(microtype) For optimal results, create family-specific settings. -(microtype) See the microtype manual for details. -LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 8.8pt on input line 231. -LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 6.6pt on input line 231. - -(/usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msa.cfg -File: mt-msa.cfg 2006/02/04 v1.1 microtype config. file: AMS symbols (a) (RS) -) -(/usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msb.cfg -File: mt-msb.cfg 2005/06/01 v1.0 microtype config. file: AMS symbols (b) (RS) -) -LaTeX Font Info: Trying to load font information for TS1+LinuxLibertineT-TLF - on input line 231. - -(/usr/share/texlive/texmf-dist/tex/latex/libertine/TS1LinuxLibertineT-TLF.fd -File: TS1LinuxLibertineT-TLF.fd 2017/03/20 (autoinst) Font definitions for TS1/ -LinuxLibertineT-TLF. -) -LaTeX Font Info: Font shape `TS1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 8.8pt on input line 231. -Package microtype Info: Loading generic protrusion settings for font family -(microtype) `LinuxLibertineT-TLF' (encoding: TS1). -(microtype) For optimal results, create family-specific settings. -(microtype) See the microtype manual for details. -LaTeX Font Info: Trying to load font information for T1+LinuxBiolinumT-TLF o -n input line 231. - -(/usr/share/texlive/texmf-dist/tex/latex/libertine/T1LinuxBiolinumT-TLF.fd -File: T1LinuxBiolinumT-TLF.fd 2017/03/20 (autoinst) Font definitions for T1/Lin -uxBiolinumT-TLF. -) -LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/n' will be -(Font) scaled to size 10.0pt on input line 231. -Package microtype Info: Loading generic protrusion settings for font family -(microtype) `LinuxBiolinumT-TLF' (encoding: T1). -(microtype) For optimal results, create family-specific settings. -(microtype) See the microtype manual for details. -LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 10.0pt on input line 231. -LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 7.3pt on input line 231. -<sampleteaser.pdf, id=115, 2055.68pt x 511.9125pt> -File: sampleteaser.pdf Graphic file (type pdf) -<use sampleteaser.pdf> -Package pdftex.def Info: sampleteaser.pdf used on input line 231. -(pdftex.def) Requested size: 505.89pt x 125.97815pt. -LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/b/n' will be -(Font) scaled to size 10.0pt on input line 231. -LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 6.2pt on input line 231. -LaTeX Font Info: Font shape `TS1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 6.2pt on input line 231. -LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/it' will be -(Font) scaled to size 8.0pt on input line 231. -LaTeX Font Info: Font shape `TS1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 8.0pt on input line 231. -LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/n' will be -(Font) scaled to size 8.0pt on input line 231. -LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/b/n' will be -(Font) scaled to size 12.0pt on input line 231. -LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 7.3pt on input line 231. -LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/b/it' will be -(Font) scaled to size 10.0pt on input line 231. -LaTeX Font Info: Font shape `TS1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 10.0pt on input line 231. -LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/it' will be -(Font) scaled to size 10.0pt on input line 231. - -Overfull \hbox (3.11588pt too wide) in paragraph at lines 231--231 - []\T1/LinuxLibertineT-TLF/b/it/10 CCS Con-cepts: \TS1/LinuxLibertineT-TLF/m/n/ -10 � \T1/LinuxLibertineT-TLF/b/n/10 Com-puter sys-tems or-ga-ni-za-tion $\LMS/n -txsy/m/n/10 !$ \T1/LinuxLibertineT-TLF/b/n/10 Em- - [] - -LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 9.0pt on input line 231. -LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/b/n' will be -(Font) scaled to size 9.0pt on input line 231. -LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/it' will be -(Font) scaled to size 9.0pt on input line 231. -LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/n' will be -(Font) scaled to size 9.0pt on input line 231. -LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be -(Font) scaled to size 9.0pt on input line 231. - -Overfull \hbox (8.57014pt too wide) in paragraph at lines 231--231 -\T1/LinuxLibertineT-TLF/m/n/9 (-20) Pa-tel, Huifen Chan, Charles Palmer, John S -mith, and Julius P. Kumquat. - [] - -[1.1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map} - - <./sampleteaser.pdf>] -LaTeX Font Info: Trying to load font information for T1+zi4 on input line 24 -6. - -(/usr/share/texlive/texmf-dist/tex/latex/inconsolata/t1zi4.fd -File: t1zi4.fd 2018/01/14 T1/zi4 (Inconsolata) -) -LaTeX Font Info: Font shape `T1/zi4/m/n' will be -(Font) scaled to size 10.0pt on input line 246. -Package microtype Info: Loading generic protrusion settings for font family -(microtype) `zi4' (encoding: T1). -(microtype) For optimal results, create family-specific settings. -(microtype) See the microtype manual for details. -LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/it' will be -(Font) scaled to size 7.3pt on input line 261. - -Overfull \hbox (1.40663pt too wide) in paragraph at lines 300--304 -\T1/LinuxLibertineT-TLF/m/n/10 (-20) fer-ence sub-mis-sion. Anonymizes the work - and in-cludes - [] - -[2.2] -Overfull \hbox (3.33664pt too wide) in paragraph at lines 424--427 -[]\T1/LinuxLibertineT-TLF/m/n/10 (-20) User-defined key-words are a comma-separ -ated list of words - [] - - -Overfull \hbox (5.99104pt too wide) in paragraph at lines 434--438 -[][]\T1/zi4/m/n/10 section[]\T1/LinuxLibertineT-TLF/m/n/10 (-20) , [][]\T1/zi4/ -m/n/10 subsection[]\T1/LinuxLibertineT-TLF/m/n/10 (-20) , [][]\T1/zi4/m/n/10 su -bsubsection[]\T1/LinuxLibertineT-TLF/m/n/10 (-20) , and [][]\T1/zi4/m/n/10 para -graph[]\T1/LinuxLibertineT-TLF/m/n/10 (-20) . They - [] - -[3.3] - -Package natbib Warning: Citation `Lamport:LaTeX' on page 4 undefined on input l -ine 520. - -<sample-franklin.png, id=167, 411.5375pt x 323.2075pt> -File: sample-franklin.png Graphic file (type png) -<use sample-franklin.png> -Package pdftex.def Info: sample-franklin.png used on input line 561. -(pdftex.def) Requested size: 240.94499pt x 189.23097pt. -[4.4 <./sample-franklin.png>] -Overfull \hbox (10.37471pt too wide) in paragraph at lines 605--605 -[] \T1/zi4/m/n/10 \includegraphics[width=\textwidth]{sampleteaser}[] - [] - -LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/sc' will be -(Font) scaled to size 10.0pt on input line 609. - -Overfull \hbox (18.46985pt too wide) in paragraph at lines 616--618 -\T1/LinuxLibertineT-TLF/m/n/10 (-20) with these two com-mands, placed just be-f -ore the [][]\T1/zi4/m/n/10 \end{document} - [] - - -Package natbib Warning: Citation `Abril07' on page 5 undefined on input line 63 -4. - - -Package natbib Warning: Citation `Cohen07' on page 5 undefined on input line 63 -5. - - -Package natbib Warning: Citation `JCohen96' on page 5 undefined on input line 6 -36. - - -Package natbib Warning: Citation `Kosiur01' on page 5 undefined on input line 6 -36. - - -Package natbib Warning: Citation `Harel79' on page 5 undefined on input line 63 -8. - - -Package natbib Warning: Citation `Editor00' on page 5 undefined on input line 6 -39. - - -Package natbib Warning: Citation `Editor00a' on page 5 undefined on input line -640. - - -Package natbib Warning: Citation `Spector90' on page 5 undefined on input line -642. - - -Package natbib Warning: Citation `Douglass98' on page 5 undefined on input line - 643. - - -Package natbib Warning: Citation `Knuth97' on page 5 undefined on input line 64 -4. - - -Package natbib Warning: Citation `Andler79' on page 5 undefined on input line 6 -46. - - -Package natbib Warning: Citation `Hagerup1993' on page 5 undefined on input lin -e 646. - - -Package natbib Warning: Citation `Smith10' on page 5 undefined on input line 64 -7. - - -Package natbib Warning: Citation `VanGundy07' on page 5 undefined on input line - 648. - - -Package natbib Warning: Citation `Harel78' on page 5 undefined on input line 64 -9. - - -Package natbib Warning: Citation `Bornmann2019' on page 5 undefined on input li -ne 650. - - -Package natbib Warning: Citation `AnzarootPBM14' on page 5 undefined on input l -ine 650. - - -Package natbib Warning: Citation `Clarkson85' on page 5 undefined on input line - 650. - - -Package natbib Warning: Citation `anisi03' on page 5 undefined on input line 65 -1. - - -Package natbib Warning: Citation `Thornburg01' on page 5 undefined on input lin -e 652. - - -Package natbib Warning: Citation `Ablamowicz07' on page 5 undefined on input li -ne 652. - - -Package natbib Warning: Citation `Poker06' on page 5 undefined on input line 65 -2. - - -Package natbib Warning: Citation `Obama08' on page 5 undefined on input line 65 -3. - - -Package natbib Warning: Citation `Novak03' on page 5 undefined on input line 65 -3. - - -Package natbib Warning: Citation `Lee05' on page 5 undefined on input line 653. - - - -Package natbib Warning: Citation `JoeScientist001' on page 5 undefined on input - line 654. - - -Package natbib Warning: Citation `rous08' on page 5 undefined on input line 655 -. - - -Package natbib Warning: Citation `SaeediMEJ10' on page 5 undefined on input lin -e 656. - - -Package natbib Warning: Citation `SaeediJETC10' on page 5 undefined on input li -ne 656. - - -Package natbib Warning: Citation `Kirschmer:2010:AEI:1958016.1958018' on page 5 - undefined on input line 658. - - -Package natbib Warning: Citation `MR781536' on page 5 undefined on input line 6 -59. - - -Package natbib Warning: Citation `MR781537' on page 5 undefined on input line 6 -59. - - -Package natbib Warning: Citation `2004:ITE:1009386.1010128' on page 5 undefined - on input line 661. - - -Package natbib Warning: Citation `Kirschmer:2010:AEI:1958016.1958018' on page 5 - undefined on input line 661. - - -Package natbib Warning: Citation `TUGInstmem' on page 5 undefined on input line - 662. - - -Package natbib Warning: Citation `Thornburg01' on page 5 undefined on input lin -e 662. - - -Package natbib Warning: Citation `CTANacmart' on page 5 undefined on input line - 662. - - -Package natbib Warning: Citation `R' on page 5 undefined on input line 663. - - -Package natbib Warning: Citation `UMassCitations' on page 5 undefined on input -line 663. - - -Overfull \hbox (27.39621pt too wide) in paragraph at lines 687--690 -\T1/LinuxLibertineT-TLF/m/n/10 (-20) If your work needs an ap-pen-dix, add it b -e-fore the ``[][]\T1/zi4/m/n/10 \end{document}[]\T1/LinuxLibertineT-TLF/m/n/10 -(-20) '' - [] - -Processing 'acks' comment. -\openout3 = `comment.cut'. - - Comment 'acks' writing to comment.cut. -Straight input of comment.cut. (./comment.cut) -No file sample-sigplan.bbl. - -Overfull \hbox (1.43195pt too wide) in paragraph at lines 735--740 -\T1/LinuxLibertineT-TLF/m/n/10 (-20) Lorem ip-sum do-lor sit amet, con-secte-tu -r adip-isc-ing elit. Morbi - [] - -[5.5] - -Package natbib Warning: There were undefined citations. - -[6.6] -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 761. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 761. - (./sample-sigplan.aux) -Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 761. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 761. -Package rerunfilecheck Info: File `sample-sigplan.out' has not changed. -(rerunfilecheck) Checksum: CD9EB06E0A6A301FFA9A88D7EB42D44E;4031. - ) -Here is how much of TeX's memory you used: - 19288 strings out of 481239 - 291498 string characters out of 5920376 - 591702 words of memory out of 5000000 - 33683 multiletter control sequences out of 15000+600000 - 710387 words of font info for 324 fonts, out of 8000000 for 9000 - 1302 hyphenation exceptions out of 8191 - 63i,12n,100p,805b,603s stack positions out of 5000i,500n,10000p,200000b,80000s -{/usr/share/texlive/texmf-dist/fonts/enc/dvips/libertine/lbtn_ncsllp.enc}{/us -r/share/texlive/texmf-dist/fonts/enc/dvips/libertine/lbtn_oexx6f.enc}{/usr/shar -e/texlive/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-4.enc}{/usr/share/texliv -e/texmf-dist/fonts/enc/dvips/libertine/lbtn_ki75ao.enc}{/usr/share/texlive/texm -f-dist/fonts/enc/dvips/libertine/lbtn_7grukw.enc}{/usr/share/texlive/texmf-dist -/fonts/enc/dvips/libertine/lbtn_25tcsq.enc}{/usr/share/texlive/texmf-dist/fonts -/enc/dvips/libertine/lbtn_naooyc.enc}{/usr/share/texlive/texmf-dist/fonts/enc/d -vips/libertine/lbtn_76gpa5.enc}{/usr/share/texlive/texmf-dist/fonts/enc/dvips/l -ibertine/lbtn_nh77jq.enc}</usr/share/texlive/texmf-dist/fonts/type1/public/inco -nsolata/Inconsolata-zi4r.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/ -newtx/LibertineMathMI.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/new -tx/LibertineMathMI7.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/newtx -/LibertineMathRM.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/libertin -e/LinBiolinumT.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/libertine/ -LinLibertineT.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/libertine/L -inLibertineTB.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/libertine/L -inLibertineTBI.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/libertine/ -LinLibertineTI.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/newtx/txex -s.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/newtx/txmiaX.pfb></usr/ -share/texlive/texmf-dist/fonts/type1/public/newtx/txsys.pfb> -Output written on sample-sigplan.pdf (6 pages, 995507 bytes). -PDF statistics: - 272 PDF objects out of 1000 (max. 8388607) - 224 compressed objects within 3 object streams - 44 named destinations out of 1000 (max. 500000) - 60147 words of extra memory for PDF output out of 61914 (max. 10000000) - diff --git a/docs/sample-sigplan.out b/docs/sample-sigplan.out deleted file mode 100644 index a36e1aaa0410cf333fc7c44fa94650ea1e20d7c6..0000000000000000000000000000000000000000 --- a/docs/sample-sigplan.out +++ /dev/null @@ -1,27 +0,0 @@ -\BOOKMARK [1][-]{section*.2}{\376\377\000A\000b\000s\000t\000r\000a\000c\000t}{}% 1 -\BOOKMARK [1][-]{section.1}{\376\377\0001\000\040\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n}{}% 2 -\BOOKMARK [1][-]{section.2}{\376\377\0002\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000O\000v\000e\000r\000v\000i\000e\000w}{}% 3 -\BOOKMARK [2][-]{subsection.2.1}{\376\377\0002\000.\0001\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000S\000t\000y\000l\000e\000s}{section.2}% 4 -\BOOKMARK [2][-]{subsection.2.2}{\376\377\0002\000.\0002\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000P\000a\000r\000a\000m\000e\000t\000e\000r\000s}{section.2}% 5 -\BOOKMARK [1][-]{section.3}{\376\377\0003\000\040\000M\000o\000d\000i\000f\000i\000c\000a\000t\000i\000o\000n\000s}{}% 6 -\BOOKMARK [1][-]{section.4}{\376\377\0004\000\040\000T\000y\000p\000e\000f\000a\000c\000e\000s}{}% 7 -\BOOKMARK [1][-]{section.5}{\376\377\0005\000\040\000T\000i\000t\000l\000e\000\040\000I\000n\000f\000o\000r\000m\000a\000t\000i\000o\000n}{}% 8 -\BOOKMARK [1][-]{section.6}{\376\377\0006\000\040\000A\000u\000t\000h\000o\000r\000s\000\040\000a\000n\000d\000\040\000A\000f\000f\000i\000l\000i\000a\000t\000i\000o\000n\000s}{}% 9 -\BOOKMARK [1][-]{section.7}{\376\377\0007\000\040\000R\000i\000g\000h\000t\000s\000\040\000I\000n\000f\000o\000r\000m\000a\000t\000i\000o\000n}{}% 10 -\BOOKMARK [1][-]{section.8}{\376\377\0008\000\040\000C\000C\000S\000\040\000C\000o\000n\000c\000e\000p\000t\000s\000\040\000a\000n\000d\000\040\000U\000s\000e\000r\000-\000D\000e\000f\000i\000n\000e\000d\000\040\000K\000e\000y\000w\000o\000r\000d\000s}{}% 11 -\BOOKMARK [1][-]{section.9}{\376\377\0009\000\040\000S\000e\000c\000t\000i\000o\000n\000i\000n\000g\000\040\000C\000o\000m\000m\000a\000n\000d\000s}{}% 12 -\BOOKMARK [1][-]{section.10}{\376\377\0001\0000\000\040\000T\000a\000b\000l\000e\000s}{}% 13 -\BOOKMARK [1][-]{section.11}{\376\377\0001\0001\000\040\000M\000a\000t\000h\000\040\000E\000q\000u\000a\000t\000i\000o\000n\000s}{}% 14 -\BOOKMARK [2][-]{subsection.11.1}{\376\377\0001\0001\000.\0001\000\040\000I\000n\000l\000i\000n\000e\000\040\000\050\000I\000n\000-\000t\000e\000x\000t\000\051\000\040\000E\000q\000u\000a\000t\000i\000o\000n\000s}{section.11}% 15 -\BOOKMARK [2][-]{subsection.11.2}{\376\377\0001\0001\000.\0002\000\040\000D\000i\000s\000p\000l\000a\000y\000\040\000E\000q\000u\000a\000t\000i\000o\000n\000s}{section.11}% 16 -\BOOKMARK [1][-]{section.12}{\376\377\0001\0002\000\040\000F\000i\000g\000u\000r\000e\000s}{}% 17 -\BOOKMARK [2][-]{subsection.12.1}{\376\377\0001\0002\000.\0001\000\040\000T\000h\000e\000\040\000`\000`\000T\000e\000a\000s\000e\000r\000\040\000F\000i\000g\000u\000r\000e\000'\000'}{section.12}% 18 -\BOOKMARK [1][-]{section.13}{\376\377\0001\0003\000\040\000C\000i\000t\000a\000t\000i\000o\000n\000s\000\040\000a\000n\000d\000\040\000B\000i\000b\000l\000i\000o\000g\000r\000a\000p\000h\000i\000e\000s}{}% 19 -\BOOKMARK [1][-]{section.14}{\376\377\0001\0004\000\040\000A\000c\000k\000n\000o\000w\000l\000e\000d\000g\000m\000e\000n\000t\000s}{}% 20 -\BOOKMARK [1][-]{section.15}{\376\377\0001\0005\000\040\000A\000p\000p\000e\000n\000d\000i\000c\000e\000s}{}% 21 -\BOOKMARK [1][-]{section.16}{\376\377\0001\0006\000\040\000S\000I\000G\000C\000H\000I\000\040\000E\000x\000t\000e\000n\000d\000e\000d\000\040\000A\000b\000s\000t\000r\000a\000c\000t\000s}{}% 22 -\BOOKMARK [1][-]{section*.10}{\376\377\000A\000c\000k\000n\000o\000w\000l\000e\000d\000g\000m\000e\000n\000t\000s}{}% 23 -\BOOKMARK [1][-]{appendix.A}{\376\377\000A\000\040\000R\000e\000s\000e\000a\000r\000c\000h\000\040\000M\000e\000t\000h\000o\000d\000s}{}% 24 -\BOOKMARK [2][-]{subsection.A.1}{\376\377\000A\000.\0001\000\040\000P\000a\000r\000t\000\040\000O\000n\000e}{appendix.A}% 25 -\BOOKMARK [2][-]{subsection.A.2}{\376\377\000A\000.\0002\000\040\000P\000a\000r\000t\000\040\000T\000w\000o}{appendix.A}% 26 -\BOOKMARK [1][-]{appendix.B}{\376\377\000B\000\040\000O\000n\000l\000i\000n\000e\000\040\000R\000e\000s\000o\000u\000r\000c\000e\000s}{}% 27 diff --git a/docs/sample-sigplan.pdf b/docs/sample-sigplan.pdf deleted file mode 100644 index 04ac1f2d4b608d4cc5add60fb8f091d4057f2909..0000000000000000000000000000000000000000 Binary files a/docs/sample-sigplan.pdf and /dev/null differ diff --git a/docs/sample-sigplan.tex b/docs/sample-sigplan.tex deleted file mode 100644 index ea98bfd202104c39cad1d416c95a4eb77e155830..0000000000000000000000000000000000000000 --- a/docs/sample-sigplan.tex +++ /dev/null @@ -1,764 +0,0 @@ -%% -%% This is file `sample-sigplan.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% samples.dtx (with options: `sigplan') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from sample-sigplan.tex. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file samples.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% The first command in your LaTeX source must be the \documentclass command. -\documentclass[sigplan,screen]{acmart} - -%% -%% \BibTeX command to typeset BibTeX logo in the docs -\AtBeginDocument{% - \providecommand\BibTeX{{% - \normalfont B\kern-0.5em{\scshape i\kern-0.25em b}\kern-0.8em\TeX}}} - -%% Rights management information. This information is sent to you -%% when you complete the rights form. These commands have SAMPLE -%% values in them; it is your responsibility as an author to replace -%% the commands and values with those provided to you when you -%% complete the rights form. -\setcopyright{acmcopyright} -\copyrightyear{2018} -\acmYear{2018} -\acmDOI{10.1145/1122445.1122456} - -%% These commands are for a PROCEEDINGS abstract or paper. -\acmConference[Woodstock '18]{Woodstock '18: ACM Symposium on Neural - Gaze Detection}{June 03--05, 2018}{Woodstock, NY} -\acmBooktitle{Woodstock '18: ACM Symposium on Neural Gaze Detection, - June 03--05, 2018, Woodstock, NY} -\acmPrice{15.00} -\acmISBN{978-1-4503-XXXX-X/18/06} - - -%% -%% Submission ID. -%% Use this when submitting an article to a sponsored event. You'll -%% receive a unique submission ID from the organizers -%% of the event, and this ID should be used as the parameter to this command. -%%\acmSubmissionID{123-A56-BU3} - -%% -%% The majority of ACM publications use numbered citations and -%% references. The command \citestyle{authoryear} switches to the -%% "author year" style. -%% -%% If you are preparing content for an event -%% sponsored by ACM SIGGRAPH, you must use the "author year" style of -%% citations and references. -%% Uncommenting -%% the next command will enable that style. -%%\citestyle{acmauthoryear} - -%% -%% end of the preamble, start of the body of the document source. -\begin{document} - -%% -%% The "title" command has an optional parameter, -%% allowing the author to define a "short title" to be used in page headers. -\title{Barni témalabja} - -%% -%% The "author" command and its associated commands are used to define -%% the authors and their affiliations. -%% Of note is the shared affiliation of the first two authors, and the -%% "authornote" and "authornotemark" commands -%% used to denote shared contribution to the research. -\author{Ben Trovato} -\authornote{Both authors contributed equally to this research.} -\email{trovato@corporation.com} -\orcid{1234-5678-9012} -\author{G.K.M. Tobin} -\authornotemark[1] -\email{webmaster@marysville-ohio.com} -\affiliation{% - \institution{Institute for Clarity in Documentation} - \streetaddress{P.O. Box 1212} - \city{Dublin} - \state{Ohio} - \country{USA} - \postcode{43017-6221} -} - -\author{Lars Th{\o}rv{\"a}ld} -\affiliation{% - \institution{The Th{\o}rv{\"a}ld Group} - \streetaddress{1 Th{\o}rv{\"a}ld Circle} - \city{Hekla} - \country{Iceland}} -\email{larst@affiliation.org} - -\author{Valerie B\'eranger} -\affiliation{% - \institution{Inria Paris-Rocquencourt} - \city{Rocquencourt} - \country{France} -} - -\author{Aparna Patel} -\affiliation{% - \institution{Rajiv Gandhi University} - \streetaddress{Rono-Hills} - \city{Doimukh} - \state{Arunachal Pradesh} - \country{India}} - -\author{Huifen Chan} -\affiliation{% - \institution{Tsinghua University} - \streetaddress{30 Shuangqing Rd} - \city{Haidian Qu} - \state{Beijing Shi} - \country{China}} - -\author{Charles Palmer} -\affiliation{% - \institution{Palmer Research Laboratories} - \streetaddress{8600 Datapoint Drive} - \city{San Antonio} - \state{Texas} - \country{USA} - \postcode{78229}} -\email{cpalmer@prl.com} - -\author{John Smith} -\affiliation{% - \institution{The Th{\o}rv{\"a}ld Group} - \streetaddress{1 Th{\o}rv{\"a}ld Circle} - \city{Hekla} - \country{Iceland}} -\email{jsmith@affiliation.org} - -\author{Julius P. Kumquat} -\affiliation{% - \institution{The Kumquat Consortium} - \city{New York} - \country{USA}} -\email{jpkumquat@consortium.net} - -%% -%% By default, the full list of authors will be used in the page -%% headers. Often, this list is too long, and will overlap -%% other information printed in the page headers. This command allows -%% the author to define a more concise list -%% of authors' names for this purpose. -\renewcommand{\shortauthors}{Trovato and Tobin, et al.} - -%% -%% The abstract is a short summary of the work to be presented in the -%% article. -\begin{abstract} - A clear and well-documented \LaTeX\ document is presented as an - article formatted for publication by ACM in a conference proceedings - or journal publication. Based on the ``acmart'' document class, this - article presents and explains many of the common variations, as well - as many of the formatting elements an author may use in the - preparation of the documentation of their work. -\end{abstract} - -%% -%% The code below is generated by the tool at http://dl.acm.org/ccs.cfm. -%% Please copy and paste the code instead of the example below. -%% -\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} - -\ccsdesc[500]{Computer systems organization~Embedded systems} -\ccsdesc[300]{Computer systems organization~Redundancy} -\ccsdesc{Computer systems organization~Robotics} -\ccsdesc[100]{Networks~Network reliability} - -%% -%% Keywords. The author(s) should pick words that accurately describe -%% the work being presented. Separate the keywords with commas. -\keywords{datasets, neural networks, gaze detection, text tagging} - -%% A "teaser" image appears between the author and affiliation -%% information and the body of the document, and typically spans the -%% page. -\begin{teaserfigure} - \includegraphics[width=\textwidth]{sampleteaser} - \caption{Seattle Mariners at Spring Training, 2010.} - \Description{Enjoying the baseball game from the third-base - seats. Ichiro Suzuki preparing to bat.} - \label{fig:teaser} -\end{teaserfigure} - -%% -%% This command processes the author and affiliation and title -%% information and builds the first part of the formatted document. -\maketitle - -\section{Introduction} -ACM's consolidated article template, introduced in 2017, provides a -consistent \LaTeX\ style for use across ACM publications, and -incorporates accessibility and metadata-extraction functionality -necessary for future Digital Library endeavors. Numerous ACM and -SIG-specific \LaTeX\ templates have been examined, and their unique -features incorporated into this single new template. - -If you are new to publishing with ACM, this document is a valuable -guide to the process of preparing your work for publication. If you -have published with ACM before, this document provides insight and -instruction into more recent changes to the article template. - -The ``\verb|acmart|'' document class can be used to prepare articles -for any ACM publication --- conference or journal, and for any stage -of publication, from review to final ``camera-ready'' copy, to the -author's own version, with {\itshape very} few changes to the source. - -\section{Template Overview} -As noted in the introduction, the ``\verb|acmart|'' document class can -be used to prepare many different kinds of documentation --- a -double-blind initial submission of a full-length technical paper, a -two-page SIGGRAPH Emerging Technologies abstract, a ``camera-ready'' -journal article, a SIGCHI Extended Abstract, and more --- all by -selecting the appropriate {\itshape template style} and {\itshape - template parameters}. - -This document will explain the major features of the document -class. For further information, the {\itshape \LaTeX\ User's Guide} is -available from -\url{https://www.acm.org/publications/proceedings-template}. - -\subsection{Template Styles} - -The primary parameter given to the ``\verb|acmart|'' document class is -the {\itshape template style} which corresponds to the kind of publication -or SIG publishing the work. This parameter is enclosed in square -brackets and is a part of the {\verb|documentclass|} command: -\begin{verbatim} - \documentclass[STYLE]{acmart} -\end{verbatim} - -Journals use one of three template styles. All but three ACM journals -use the {\verb|acmsmall|} template style: -\begin{itemize} -\item {\verb|acmsmall|}: The default journal template style. -\item {\verb|acmlarge|}: Used by JOCCH and TAP. -\item {\verb|acmtog|}: Used by TOG. -\end{itemize} - -The majority of conference proceedings documentation will use the {\verb|acmconf|} template style. -\begin{itemize} -\item {\verb|acmconf|}: The default proceedings template style. -\item{\verb|sigchi|}: Used for SIGCHI conference articles. -\item{\verb|sigchi-a|}: Used for SIGCHI ``Extended Abstract'' articles. -\item{\verb|sigplan|}: Used for SIGPLAN conference articles. -\end{itemize} - -\subsection{Template Parameters} - -In addition to specifying the {\itshape template style} to be used in -formatting your work, there are a number of {\itshape template parameters} -which modify some part of the applied template style. A complete list -of these parameters can be found in the {\itshape \LaTeX\ User's Guide.} - -Frequently-used parameters, or combinations of parameters, include: -\begin{itemize} -\item {\verb|anonymous,review|}: Suitable for a ``double-blind'' - conference submission. Anonymizes the work and includes line - numbers. Use with the \verb|\acmSubmissionID| command to print the - submission's unique ID on each page of the work. -\item{\verb|authorversion|}: Produces a version of the work suitable - for posting by the author. -\item{\verb|screen|}: Produces colored hyperlinks. -\end{itemize} - -This document uses the following string as the first command in the -source file: -\begin{verbatim} -\documentclass[sigplan,screen]{acmart} -\end{verbatim} - -\section{Modifications} - -Modifying the template --- including but not limited to: adjusting -margins, typeface sizes, line spacing, paragraph and list definitions, -and the use of the \verb|\vspace| command to manually adjust the -vertical spacing between elements of your work --- is not allowed. - -{\bfseries Your document will be returned to you for revision if - modifications are discovered.} - -\section{Typefaces} - -The ``\verb|acmart|'' document class requires the use of the -``Libertine'' typeface family. Your \TeX\ installation should include -this set of packages. Please do not substitute other typefaces. The -``\verb|lmodern|'' and ``\verb|ltimes|'' packages should not be used, -as they will override the built-in typeface families. - -\section{Title Information} - -The title of your work should use capital letters appropriately - -\url{https://capitalizemytitle.com/} has useful rules for -capitalization. Use the {\verb|title|} command to define the title of -your work. If your work has a subtitle, define it with the -{\verb|subtitle|} command. Do not insert line breaks in your title. - -If your title is lengthy, you must define a short version to be used -in the page headers, to prevent overlapping text. The \verb|title| -command has a ``short title'' parameter: -\begin{verbatim} - \title[short title]{full title} -\end{verbatim} - -\section{Authors and Affiliations} - -Each author must be defined separately for accurate metadata -identification. Multiple authors may share one affiliation. Authors' -names should not be abbreviated; use full first names wherever -possible. Include authors' e-mail addresses whenever possible. - -Grouping authors' names or e-mail addresses, or providing an ``e-mail -alias,'' as shown below, is not acceptable: -\begin{verbatim} - \author{Brooke Aster, David Mehldau} - \email{dave,judy,steve@university.edu} - \email{firstname.lastname@phillips.org} -\end{verbatim} - -The \verb|authornote| and \verb|authornotemark| commands allow a note -to apply to multiple authors --- for example, if the first two authors -of an article contributed equally to the work. - -If your author list is lengthy, you must define a shortened version of -the list of authors to be used in the page headers, to prevent -overlapping text. The following command should be placed just after -the last \verb|\author{}| definition: -\begin{verbatim} - \renewcommand{\shortauthors}{McCartney, et al.} -\end{verbatim} -Omitting this command will force the use of a concatenated list of all -of the authors' names, which may result in overlapping text in the -page headers. - -The article template's documentation, available at -\url{https://www.acm.org/publications/proceedings-template}, has a -complete explanation of these commands and tips for their effective -use. - -Note that authors' addresses are mandatory for journal articles. - -\section{Rights Information} - -Authors of any work published by ACM will need to complete a rights -form. Depending on the kind of work, and the rights management choice -made by the author, this may be copyright transfer, permission, -license, or an OA (open access) agreement. - -Regardless of the rights management choice, the author will receive a -copy of the completed rights form once it has been submitted. This -form contains \LaTeX\ commands that must be copied into the source -document. When the document source is compiled, these commands and -their parameters add formatted text to several areas of the final -document: -\begin{itemize} -\item the ``ACM Reference Format'' text on the first page. -\item the ``rights management'' text on the first page. -\item the conference information in the page header(s). -\end{itemize} - -Rights information is unique to the work; if you are preparing several -works for an event, make sure to use the correct set of commands with -each of the works. - -The ACM Reference Format text is required for all articles over one -page in length, and is optional for one-page articles (abstracts). - -\section{CCS Concepts and User-Defined Keywords} - -Two elements of the ``acmart'' document class provide powerful -taxonomic tools for you to help readers find your work in an online -search. - -The ACM Computing Classification System --- -\url{https://www.acm.org/publications/class-2012} --- is a set of -classifiers and concepts that describe the computing -discipline. Authors can select entries from this classification -system, via \url{https://dl.acm.org/ccs/ccs.cfm}, and generate the -commands to be included in the \LaTeX\ source. - -User-defined keywords are a comma-separated list of words and phrases -of the authors' choosing, providing a more flexible way of describing -the research being presented. - -CCS concepts and user-defined keywords are required for for all -articles over two pages in length, and are optional for one- and -two-page articles (or abstracts). - -\section{Sectioning Commands} - -Your work should use standard \LaTeX\ sectioning commands: -\verb|section|, \verb|subsection|, \verb|subsubsection|, and -\verb|paragraph|. They should be numbered; do not remove the numbering -from the commands. - -Simulating a sectioning command by setting the first word or words of -a paragraph in boldface or italicized text is {\bfseries not allowed.} - -\section{Tables} - -The ``\verb|acmart|'' document class includes the ``\verb|booktabs|'' -package --- \url{https://ctan.org/pkg/booktabs} --- for preparing -high-quality tables. - -Table captions are placed {\itshape above} the table. - -Because tables cannot be split across pages, the best placement for -them is typically the top of the page nearest their initial cite. To -ensure this proper ``floating'' placement of tables, use the -environment \textbf{table} to enclose the table's contents and the -table caption. The contents of the table itself must go in the -\textbf{tabular} environment, to be aligned properly in rows and -columns, with the desired horizontal and vertical rules. Again, -detailed instructions on \textbf{tabular} material are found in the -\textit{\LaTeX\ User's Guide}. - -Immediately following this sentence is the point at which -Table~\ref{tab:freq} is included in the input file; compare the -placement of the table here with the table in the printed output of -this document. - -\begin{table} - \caption{Frequency of Special Characters} - \label{tab:freq} - \begin{tabular}{ccl} - \toprule - Non-English or Math&Frequency&Comments\\ - \midrule - \O & 1 in 1,000& For Swedish names\\ - $\pi$ & 1 in 5& Common in math\\ - \$ & 4 in 5 & Used in business\\ - $\Psi^2_1$ & 1 in 40,000& Unexplained usage\\ - \bottomrule -\end{tabular} -\end{table} - -To set a wider table, which takes up the whole width of the page's -live area, use the environment \textbf{table*} to enclose the table's -contents and the table caption. As with a single-column table, this -wide table will ``float'' to a location deemed more -desirable. Immediately following this sentence is the point at which -Table~\ref{tab:commands} is included in the input file; again, it is -instructive to compare the placement of the table here with the table -in the printed output of this document. - -\begin{table*} - \caption{Some Typical Commands} - \label{tab:commands} - \begin{tabular}{ccl} - \toprule - Command &A Number & Comments\\ - \midrule - \texttt{{\char'134}author} & 100& Author \\ - \texttt{{\char'134}table}& 300 & For tables\\ - \texttt{{\char'134}table*}& 400& For wider tables\\ - \bottomrule - \end{tabular} -\end{table*} - -Always use midrule to separate table header rows from data rows, and -use it only for this purpose. This enables assistive technologies to -recognise table headers and support their users in navigating tables -more easily. - -\section{Math Equations} -You may want to display math equations in three distinct styles: -inline, numbered or non-numbered display. Each of the three are -discussed in the next sections. - -\subsection{Inline (In-text) Equations} -A formula that appears in the running text is called an inline or -in-text formula. It is produced by the \textbf{math} environment, -which can be invoked with the usual -\texttt{{\char'134}begin\,\ldots{\char'134}end} construction or with -the short form \texttt{\$\,\ldots\$}. You can use any of the symbols -and structures, from $\alpha$ to $\omega$, available in -\LaTeX~\cite{Lamport:LaTeX}; this section will simply show a few -examples of in-text equations in context. Notice how this equation: -\begin{math} - \lim_{n\rightarrow \infty}x=0 -\end{math}, -set here in in-line math style, looks slightly different when -set in display style. (See next section). - -\subsection{Display Equations} -A numbered display equation---one set off by vertical space from the -text and centered horizontally---is produced by the \textbf{equation} -environment. An unnumbered display equation is produced by the -\textbf{displaymath} environment. - -Again, in either environment, you can use any of the symbols and -structures available in \LaTeX\@; this section will just give a couple -of examples of display equations in context. First, consider the -equation, shown as an inline equation above: -\begin{equation} - \lim_{n\rightarrow \infty}x=0 -\end{equation} -Notice how it is formatted somewhat differently in -the \textbf{displaymath} -environment. Now, we'll enter an unnumbered equation: -\begin{displaymath} - \sum_{i=0}^{\infty} x + 1 -\end{displaymath} -and follow it with another numbered equation: -\begin{equation} - \sum_{i=0}^{\infty}x_i=\int_{0}^{\pi+2} f -\end{equation} -just to demonstrate \LaTeX's able handling of numbering. - -\section{Figures} - -The ``\verb|figure|'' environment should be used for figures. One or -more images can be placed within a figure. If your figure contains -third-party material, you must clearly identify it as such, as shown -in the example below. -\begin{figure}[h] - \centering - \includegraphics[width=\linewidth]{sample-franklin} - \caption{1907 Franklin Model D roadster. Photograph by Harris \& - Ewing, Inc. [Public domain], via Wikimedia - Commons. (\url{https://goo.gl/VLCRBB}).} - \Description{A woman and a girl in white dresses sit in an open car.} -\end{figure} - -Your figures should contain a caption which describes the figure to -the reader. - -Figure captions are placed {\itshape below} the figure. - -Every figure should also have a figure description unless it is purely -decorative. These descriptions convey what’s in the image to someone -who cannot see it. They are also used by search engine crawlers for -indexing images, and when images cannot be loaded. - -A figure description must be unformatted plain text less than 2000 -characters long (including spaces). {\bfseries Figure descriptions - should not repeat the figure caption – their purpose is to capture - important information that is not already provided in the caption or - the main text of the paper.} For figures that convey important and -complex new information, a short text description may not be -adequate. More complex alternative descriptions can be placed in an -appendix and referenced in a short figure description. For example, -provide a data table capturing the information in a bar chart, or a -structured list representing a graph. For additional information -regarding how best to write figure descriptions and why doing this is -so important, please see -\url{https://www.acm.org/publications/taps/describing-figures/}. - -\subsection{The ``Teaser Figure''} - -A ``teaser figure'' is an image, or set of images in one figure, that -are placed after all author and affiliation information, and before -the body of the article, spanning the page. If you wish to have such a -figure in your article, place the command immediately before the -\verb|\maketitle| command: -\begin{verbatim} - \begin{teaserfigure} - \includegraphics[width=\textwidth]{sampleteaser} - \caption{figure caption} - \Description{figure description} - \end{teaserfigure} -\end{verbatim} - -\section{Citations and Bibliographies} - -The use of \BibTeX\ for the preparation and formatting of one's -references is strongly recommended. Authors' names should be complete ---- use full first names (``Donald E. Knuth'') not initials -(``D. E. Knuth'') --- and the salient identifying features of a -reference should be included: title, year, volume, number, pages, -article DOI, etc. - -The bibliography is included in your source document with these two -commands, placed just before the \verb|\end{document}| command: -\begin{verbatim} - \bibliographystyle{ACM-Reference-Format} - \bibliography{bibfile} -\end{verbatim} -where ``\verb|bibfile|'' is the name, without the ``\verb|.bib|'' -suffix, of the \BibTeX\ file. - -Citations and references are numbered by default. A small number of -ACM publications have citations and references formatted in the -``author year'' style; for these exceptions, please include this -command in the {\bfseries preamble} (before the command -``\verb|\begin{document}|'') of your \LaTeX\ source: -\begin{verbatim} - \citestyle{acmauthoryear} -\end{verbatim} - - Some examples. A paginated journal article \cite{Abril07}, an - enumerated journal article \cite{Cohen07}, a reference to an entire - issue \cite{JCohen96}, a monograph (whole book) \cite{Kosiur01}, a - monograph/whole book in a series (see 2a in spec. document) - \cite{Harel79}, a divisible-book such as an anthology or compilation - \cite{Editor00} followed by the same example, however we only output - the series if the volume number is given \cite{Editor00a} (so - Editor00a's series should NOT be present since it has no vol. no.), - a chapter in a divisible book \cite{Spector90}, a chapter in a - divisible book in a series \cite{Douglass98}, a multi-volume work as - book \cite{Knuth97}, a couple of articles in a proceedings (of a - conference, symposium, workshop for example) (paginated proceedings - article) \cite{Andler79, Hagerup1993}, a proceedings article with - all possible elements \cite{Smith10}, an example of an enumerated - proceedings article \cite{VanGundy07}, an informally published work - \cite{Harel78}, a couple of preprints \cite{Bornmann2019, - AnzarootPBM14}, a doctoral dissertation \cite{Clarkson85}, a - master's thesis: \cite{anisi03}, an online document / world wide web - resource \cite{Thornburg01, Ablamowicz07, Poker06}, a video game - (Case 1) \cite{Obama08} and (Case 2) \cite{Novak03} and \cite{Lee05} - and (Case 3) a patent \cite{JoeScientist001}, work accepted for - publication \cite{rous08}, 'YYYYb'-test for prolific author - \cite{SaeediMEJ10} and \cite{SaeediJETC10}. Other cites might - contain 'duplicate' DOI and URLs (some SIAM articles) - \cite{Kirschmer:2010:AEI:1958016.1958018}. Boris / Barbara Beeton: - multi-volume works as books \cite{MR781536} and \cite{MR781537}. A - couple of citations with DOIs: - \cite{2004:ITE:1009386.1010128,Kirschmer:2010:AEI:1958016.1958018}. Online - citations: \cite{TUGInstmem, Thornburg01, CTANacmart}. Artifacts: - \cite{R} and \cite{UMassCitations}. - -\section{Acknowledgments} - -Identification of funding sources and other support, and thanks to -individuals and groups that assisted in the research and the -preparation of the work should be included in an acknowledgment -section, which is placed just before the reference section in your -document. - -This section has a special environment: -\begin{verbatim} - \begin{acks} - ... - \end{acks} -\end{verbatim} -so that the information contained therein can be more easily collected -during the article metadata extraction phase, and to ensure -consistency in the spelling of the section heading. - -Authors should not prepare this section as a numbered or unnumbered {\verb|\section|}; please use the ``{\verb|acks|}'' environment. - -\section{Appendices} - -If your work needs an appendix, add it before the -``\verb|\end{document}|'' command at the conclusion of your source -document. - -Start the appendix with the ``\verb|appendix|'' command: -\begin{verbatim} - \appendix -\end{verbatim} -and note that in the appendix, sections are lettered, not -numbered. This document has two appendices, demonstrating the section -and subsection identification method. - -\section{SIGCHI Extended Abstracts} - -The ``\verb|sigchi-a|'' template style (available only in \LaTeX\ and -not in Word) produces a landscape-orientation formatted article, with -a wide left margin. Three environments are available for use with the -``\verb|sigchi-a|'' template style, and produce formatted output in -the margin: -\begin{itemize} -\item {\verb|sidebar|}: Place formatted text in the margin. -\item {\verb|marginfigure|}: Place a figure in the margin. -\item {\verb|margintable|}: Place a table in the margin. -\end{itemize} - -%% -%% The acknowledgments section is defined using the "acks" environment -%% (and NOT an unnumbered section). This ensures the proper -%% identification of the section in the article metadata, and the -%% consistent spelling of the heading. -\begin{acks} -To Robert, for the bagels and explaining CMYK and color spaces. -\end{acks} - -%% -%% The next two lines define the bibliography style to be used, and -%% the bibliography file. -\bibliographystyle{ACM-Reference-Format} -\bibliography{sample-base} - -%% -%% If your work has an appendix, this is the place to put it. -\appendix - -\section{Research Methods} - -\subsection{Part One} - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi -malesuada, quam in pulvinar varius, metus nunc fermentum urna, id -sollicitudin purus odio sit amet enim. Aliquam ullamcorper eu ipsum -vel mollis. Curabitur quis dictum nisl. Phasellus vel semper risus, et -lacinia dolor. Integer ultricies commodo sem nec semper. - -\subsection{Part Two} - -Etiam commodo feugiat nisl pulvinar pellentesque. Etiam auctor sodales -ligula, non varius nibh pulvinar semper. Suspendisse nec lectus non -ipsum convallis congue hendrerit vitae sapien. Donec at laoreet -eros. Vivamus non purus placerat, scelerisque diam eu, cursus -ante. Etiam aliquam tortor auctor efficitur mattis. - -\section{Online Resources} - -Nam id fermentum dui. Suspendisse sagittis tortor a nulla mollis, in -pulvinar ex pretium. Sed interdum orci quis metus euismod, et sagittis -enim maximus. Vestibulum gravida massa ut felis suscipit -congue. Quisque mattis elit a risus ultrices commodo venenatis eget -dui. Etiam sagittis eleifend elementum. - -Nam interdum magna at lectus dignissim, ac dignissim lorem -rhoncus. Maecenas eu arcu ac neque placerat aliquam. Nunc pulvinar -massa et mattis lacinia. - -\end{document} -\endinput -%% -%% End of file `sample-sigplan.tex'. diff --git a/docs/sampleteaser.pdf b/docs/sampleteaser.pdf deleted file mode 100644 index 374f676f0df547dc4dcac3268f573ab99cae6ffd..0000000000000000000000000000000000000000 Binary files a/docs/sampleteaser.pdf and /dev/null differ diff --git a/docs/necessary/teaser.png b/docs/teaser.png similarity index 100% rename from docs/necessary/teaser.png rename to docs/teaser.png