texlive[72113] Master/texmf-dist: acmart (26aug24)
commits+karl at tug.org
commits+karl at tug.org
Mon Aug 26 22:07:21 CEST 2024
Revision: 72113
https://tug.org/svn/texlive?view=revision&revision=72113
Author: karl
Date: 2024-08-26 22:07:21 +0200 (Mon, 26 Aug 2024)
Log Message:
-----------
acmart (26aug24)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/acmart/README
trunk/Master/texmf-dist/doc/latex/acmart/acmart.pdf
trunk/Master/texmf-dist/doc/latex/acmart/acmguide.pdf
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmcp.pdf
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmcp.tex
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmengage.pdf
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmlarge.pdf
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmlarge.tex
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-biblatex.pdf
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-biblatex.tex
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-conf.pdf
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-conf.tex
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-submission.pdf
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-submission.tex
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall.pdf
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall.tex
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog-conf.pdf
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog-conf.tex
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog.pdf
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog.tex
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-manuscript.pdf
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-manuscript.tex
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-authordraft.pdf
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-authordraft.tex
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-biblatex.pdf
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-biblatex.tex
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-i13n.pdf
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-i13n.tex
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-lualatex.tex
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-xelatex.tex
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf.pdf
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf.tex
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigplan.pdf
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigplan.tex
trunk/Master/texmf-dist/doc/latex/acmart/samples/samples.dtx
trunk/Master/texmf-dist/doc/latex/acmart/samples/samples.ins
trunk/Master/texmf-dist/source/latex/acmart/Makefile
trunk/Master/texmf-dist/source/latex/acmart/acmart.dtx
trunk/Master/texmf-dist/source/latex/acmart/acmart.ins
trunk/Master/texmf-dist/tex/latex/acmart/acmart.cls
Added Paths:
-----------
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.pdf
trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.tex
trunk/Master/texmf-dist/tex/latex/acmart/acmart-tagged.cls
Modified: trunk/Master/texmf-dist/doc/latex/acmart/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/README 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/README 2024-08-26 20:07:21 UTC (rev 72113)
@@ -12,6 +12,9 @@
Changes
+Version 2.09. Experimental tagging code is now in the main branch.
+ Creative Commons license is now allowed for all materials.
+
Version 2.08. Section titles are in lowercase now.
Documentation updates.
Modified: trunk/Master/texmf-dist/doc/latex/acmart/acmart.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/acmart/acmguide.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmcp.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmcp.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmcp.tex 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmcp.tex 2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
%TC:envir math 0 word
%TC:envir comment 0 0
%%
-%%
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
@@ -46,7 +45,6 @@
%%
%%
\documentclass[acmcp]{acmart}
-
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
@@ -63,7 +61,6 @@
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-
%%
%% These commands are for a JOURNAL article.
\acmJournal{JDS}
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmengage.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmlarge.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmlarge.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmlarge.tex 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmlarge.tex 2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
%TC:envir math 0 word
%TC:envir comment 0 0
%%
-%%
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
@@ -46,7 +45,6 @@
%%
%%
\documentclass[acmlarge]{acmart}
-
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
@@ -63,7 +61,6 @@
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-
%%
%% These commands are for a JOURNAL article.
\acmJournal{POMACS}
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-biblatex.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-biblatex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-biblatex.tex 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-biblatex.tex 2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
%TC:envir math 0 word
%TC:envir comment 0 0
%%
-%%
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
@@ -46,7 +45,6 @@
%%
%%
\documentclass[acmsmall,natbib=false]{acmart}
-
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
@@ -63,7 +61,6 @@
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-
%%
%% These commands are for a JOURNAL article.
\acmJournal{JACM}
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-conf.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-conf.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-conf.tex 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-conf.tex 2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
%TC:envir math 0 word
%TC:envir comment 0 0
%%
-%%
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
@@ -46,7 +45,6 @@
%%
%%
\documentclass[acmsmall]{acmart}
-
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
@@ -62,7 +60,6 @@
\copyrightyear{2018}
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-
%% These commands are for a PROCEEDINGS abstract or paper.
\acmConference[Conference acronym 'XX]{Make sure to enter the correct
conference title from your rights confirmation emai}{June 03--05,
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-submission.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-submission.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-submission.tex 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-submission.tex 2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
%TC:envir math 0 word
%TC:envir comment 0 0
%%
-%%
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
@@ -46,7 +45,6 @@
%%
%%
\documentclass[acmsmall,screen,review]{acmart}
-
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
@@ -63,7 +61,6 @@
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-
%%
%% These commands are for a JOURNAL article.
\acmJournal{JACM}
Added: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.pdf 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.pdf 2024-08-26 20:07:21 UTC (rev 72113)
Property changes on: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.tex 2024-08-26 20:07:21 UTC (rev 72113)
@@ -0,0 +1,808 @@
+%%
+%% This is file `sample-acmsmall-tagged.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% samples.dtx (with options: `all,journal,acmsmall,tagged')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from sample-acmsmall-tagged.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.)
+%%
+%%
+%% Commands for TeXCount
+%TC:macro \cite [option:text,text]
+%TC:macro \citep [option:text,text]
+%TC:macro \citet [option:text,text]
+%TC:envir table 0 1
+%TC:envir table* 0 1
+%TC:envir tabular [ignore] word
+%TC:envir displaymath 0 word
+%TC:envir math 0 word
+%TC:envir comment 0 0
+%%
+%% The tagged file should start with the metadata commands.
+%% We also need currently use lualatex-dev for compilation!
+\ifx\HCode\Undef
+\DocumentMetadata{
+ pdfversion=2.0,pdfstandard=ua-2,
+ testphase={phase-III,firstaid,math,title}}
+\else
+\DocumentMetadata{}
+\fi
+%% The first command in your LaTeX source must be the \documentclass
+%% command.
+%%
+%% For submission and review of your manuscript please change the
+%% command to \documentclass[manuscript, screen, review]{acmart}.
+%%
+%% When submitting camera ready or to TAPS, please change the command
+%% to \documentclass[sigconf]{acmart} or whichever template is required
+%% for your publication.
+%%
+%%
+\documentclass[acmsmall]{acmart-tagged}
+%%
+%% \BibTeX command to typeset BibTeX logo in the docs
+\AtBeginDocument{%
+ \providecommand\BibTeX{{%
+ Bib\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{acmlicensed}
+\copyrightyear{2018}
+\acmYear{2018}
+\acmDOI{XXXXXXX.XXXXXXX}
+
+%%
+%% These commands are for a JOURNAL article.
+\acmJournal{JACM}
+\acmVolume{37}
+\acmNumber{4}
+\acmArticle{111}
+\acmMonth{8}
+
+%%
+%% 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}
+
+%%
+%% For managing citations, it is recommended to use bibliography
+%% files in BibTeX format.
+%%
+%% You can then either use BibTeX with the ACM-Reference-Format style,
+%% or BibLaTeX with the acmnumeric or acmauthoryear sytles, that include
+%% support for advanced citation of software artefact from the
+%% biblatex-software package, also separately available on CTAN.
+%%
+%% Look at the sample-*-biblatex.tex files for templates showcasing
+%% the biblatex styles.
+%%
+
+
+
+%%
+%% 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{The Name of the Title Is Hope}
+
+%%
+%% 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 at corporation.com}
+\orcid{1234-5678-9012}
+\author{G.K.M. Tobin}
+\authornotemark[1]
+\email{webmaster at marysville-ohio.com}
+\affiliation{%
+ \institution{Institute for Clarity in Documentation}
+ \city{Dublin}
+ \state{Ohio}
+ \country{USA}
+}
+
+\author{Lars Th{\o}rv{\"a}ld}
+\affiliation{%
+ \institution{The Th{\o}rv{\"a}ld Group}
+ \city{Hekla}
+ \country{Iceland}}
+\email{larst at affiliation.org}
+
+\author{Valerie B\'eranger}
+\affiliation{%
+ \institution{Inria Paris-Rocquencourt}
+ \city{Rocquencourt}
+ \country{France}
+}
+
+\author{Aparna Patel}
+\affiliation{%
+ \institution{Rajiv Gandhi University}
+ \city{Doimukh}
+ \state{Arunachal Pradesh}
+ \country{India}}
+
+\author{Huifen Chan}
+\affiliation{%
+ \institution{Tsinghua University}
+ \city{Haidian Qu}
+ \state{Beijing Shi}
+ \country{China}}
+
+\author{Charles Palmer}
+\affiliation{%
+ \institution{Palmer Research Laboratories}
+ \city{San Antonio}
+ \state{Texas}
+ \country{USA}}
+\email{cpalmer at prl.com}
+
+\author{John Smith}
+\affiliation{%
+ \institution{The Th{\o}rv{\"a}ld Group}
+ \city{Hekla}
+ \country{Iceland}}
+\email{jsmith at affiliation.org}
+
+\author{Julius P. Kumquat}
+\affiliation{%
+ \institution{The Kumquat Consortium}
+ \city{New York}
+ \country{USA}}
+\email{jpkumquat at 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 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>00000000.0000000.0000000</concept_id>
+ <concept_desc>Do Not Use This Code, Generate the Correct Terms for Your Paper</concept_desc>
+ <concept_significance>500</concept_significance>
+ </concept>
+ <concept>
+ <concept_id>00000000.00000000.00000000</concept_id>
+ <concept_desc>Do Not Use This Code, Generate the Correct Terms for Your Paper</concept_desc>
+ <concept_significance>300</concept_significance>
+ </concept>
+ <concept>
+ <concept_id>00000000.00000000.00000000</concept_id>
+ <concept_desc>Do Not Use This Code, Generate the Correct Terms for Your Paper</concept_desc>
+ <concept_significance>100</concept_significance>
+ </concept>
+ <concept>
+ <concept_id>00000000.00000000.00000000</concept_id>
+ <concept_desc>Do Not Use This Code, Generate the Correct Terms for Your Paper</concept_desc>
+ <concept_significance>100</concept_significance>
+ </concept>
+</ccs2012>
+\end{CCSXML}
+
+\ccsdesc[500]{Do Not Use This Code~Generate the Correct Terms for Your Paper}
+\ccsdesc[300]{Do Not Use This Code~Generate the Correct Terms for Your Paper}
+\ccsdesc{Do Not Use This Code~Generate the Correct Terms for Your Paper}
+\ccsdesc[100]{Do Not Use This Code~Generate the Correct Terms for Your Paper}
+
+%%
+%% Keywords. The author(s) should pick words that accurately describe
+%% the work being presented. Separate the keywords with commas.
+\keywords{Do, Not, Us, This, Code, Put, the, Correct, Terms, for,
+ Your, Paper}
+
+\received{20 February 2007}
+\received[revised]{12 March 2009}
+\received[accepted]{5 June 2009}
+
+%%
+%% 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-anonymous 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 {\texttt{acmsmall}}: The default journal template style.
+\item {\texttt{acmlarge}}: Used by JOCCH and TAP.
+\item {\texttt{acmtog}}: Used by TOG.
+\end{itemize}
+
+The majority of conference proceedings documentation will use the {\verb|acmconf|} template style.
+\begin{itemize}
+\item {\texttt{sigconf}}: The default proceedings template style.
+\item{\texttt{sigchi}}: Used for SIGCHI conference articles.
+\item{\texttt{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 {\texttt{anonymous,review}}: Suitable for a ``double-anonymous''
+ conference submission. Anonymizes the work and includes line
+ numbers. Use with the \texttt{\acmSubmissionID} command to print the
+ submission's unique ID on each page of the work.
+\item{\texttt{authorversion}}: Produces a version of the work suitable
+ for posting by the author.
+\item{\texttt{screen}}: Produces colored hyperlinks.
+\end{itemize}
+
+This document uses the following string as the first command in the
+source file:
+\begin{verbatim}
+\documentclass[acmsmall]{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. As an exception, 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 at university.edu}
+ \email{firstname.lastname at 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{Multi-language papers}
+
+Papers may be written in languages other than English or include
+titles, subtitles, keywords and abstracts in different languages (as a
+rule, a paper in a language other than English should include an
+English title and an English abstract). Use \verb|language=...| for
+every language used in the paper. The last language indicated is the
+main language of the paper. For example, a French paper with
+additional titles and abstracts in English and German may start with
+the following command
+\begin{verbatim}
+\documentclass[sigconf, language=english, language=german,
+ language=french]{acmart}
+\end{verbatim}
+
+The title, subtitle, keywords and abstract will be typeset in the main
+language of the paper. The commands \verb|\translatedXXX|, \verb|XXX|
+begin title, subtitle and keywords, can be used to set these elements
+in the other languages. The environment \verb|translatedabstract| is
+used to set the translation of the abstract. These commands and
+environment have a mandatory first argument: the language of the
+second argument. See \verb|sample-sigconf-i13n.tex| file for examples
+of their usage.
+
+\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{description}
+\item[\texttt{sidebar}:] Place formatted text in the margin.
+\item[\texttt{marginfigure}:] Place a figure in the margin.
+\item[\texttt{margintable}:] Place a table in the margin.
+\end{description}
+
+%%
+%% 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-acmsmall-tagged.tex'.
Property changes on: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall.tex 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall.tex 2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
%TC:envir math 0 word
%TC:envir comment 0 0
%%
-%%
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
@@ -46,7 +45,6 @@
%%
%%
\documentclass[acmsmall]{acmart}
-
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
@@ -63,7 +61,6 @@
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-
%%
%% These commands are for a JOURNAL article.
\acmJournal{JACM}
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog-conf.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog-conf.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog-conf.tex 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog-conf.tex 2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
%TC:envir math 0 word
%TC:envir comment 0 0
%%
-%%
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
@@ -46,7 +45,6 @@
%%
%%
\documentclass[acmtog]{acmart}
-
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
@@ -62,7 +60,6 @@
\copyrightyear{2018}
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-
%% These commands are for a PROCEEDINGS abstract or paper.
\acmConference[Conference acronym 'XX]{Make sure to enter the correct
conference title from your rights confirmation emai}{June 03--05,
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog.tex 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog.tex 2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
%TC:envir math 0 word
%TC:envir comment 0 0
%%
-%%
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
@@ -46,7 +45,6 @@
%%
%%
\documentclass[acmtog]{acmart}
-
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
@@ -63,7 +61,6 @@
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-
%%
%% These commands are for a JOURNAL article.
\acmJournal{TOG}
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-manuscript.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-manuscript.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-manuscript.tex 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-manuscript.tex 2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
%TC:envir math 0 word
%TC:envir comment 0 0
%%
-%%
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
@@ -46,7 +45,6 @@
%%
%%
\documentclass[manuscript,screen,review]{acmart}
-
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
@@ -62,7 +60,6 @@
\copyrightyear{2018}
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-
%% These commands are for a PROCEEDINGS abstract or paper.
\acmConference[Conference acronym 'XX]{Make sure to enter the correct
conference title from your rights confirmation emai}{June 03--05,
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-authordraft.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-authordraft.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-authordraft.tex 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-authordraft.tex 2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
%TC:envir math 0 word
%TC:envir comment 0 0
%%
-%%
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
@@ -46,7 +45,6 @@
%%
%%
\documentclass[sigconf,authordraft]{acmart}
-
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
@@ -62,7 +60,6 @@
\copyrightyear{2018}
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-
%% These commands are for a PROCEEDINGS abstract or paper.
\acmConference[Conference acronym 'XX]{Make sure to enter the correct
conference title from your rights confirmation emai}{June 03--05,
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-biblatex.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-biblatex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-biblatex.tex 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-biblatex.tex 2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
%TC:envir math 0 word
%TC:envir comment 0 0
%%
-%%
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
@@ -46,7 +45,6 @@
%%
%%
\documentclass[sigconf,natbib=false]{acmart}
-
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
@@ -62,7 +60,6 @@
\copyrightyear{2018}
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-
%% These commands are for a PROCEEDINGS abstract or paper.
\acmConference[Conference acronym 'XX]{Make sure to enter the correct
conference title from your rights confirmation emai}{June 03--05,
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-i13n.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-i13n.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-i13n.tex 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-i13n.tex 2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
%TC:envir math 0 word
%TC:envir comment 0 0
%%
-%%
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
@@ -47,7 +46,6 @@
%%
\documentclass[sigconf, language=french,
language=german, language=spanish, language=english]{acmart}
-
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
@@ -63,7 +61,6 @@
\copyrightyear{2018}
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-
%% These commands are for a PROCEEDINGS abstract or paper.
\acmConference[Conference acronym 'XX]{Make sure to enter the correct
conference title from your rights confirmation emai}{June 03--05,
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-lualatex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-lualatex.tex 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-lualatex.tex 2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
%TC:envir math 0 word
%TC:envir comment 0 0
%%
-%%
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
@@ -46,7 +45,6 @@
%%
%%
\documentclass[sigconf]{acmart}
-
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
@@ -62,7 +60,6 @@
\copyrightyear{2018}
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-
%% These commands are for a PROCEEDINGS abstract or paper.
\acmConference[Conference acronym 'XX]{Make sure to enter the correct
conference title from your rights confirmation emai}{June 03--05,
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-xelatex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-xelatex.tex 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-xelatex.tex 2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
%TC:envir math 0 word
%TC:envir comment 0 0
%%
-%%
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
@@ -46,7 +45,6 @@
%%
%%
\documentclass[sigconf]{acmart}
-
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
@@ -62,7 +60,6 @@
\copyrightyear{2018}
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-
%% These commands are for a PROCEEDINGS abstract or paper.
\acmConference[Conference acronym 'XX]{Make sure to enter the correct
conference title from your rights confirmation emai}{June 03--05,
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf.tex 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf.tex 2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
%TC:envir math 0 word
%TC:envir comment 0 0
%%
-%%
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
@@ -46,7 +45,6 @@
%%
%%
\documentclass[sigconf]{acmart}
-
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
@@ -62,7 +60,6 @@
\copyrightyear{2018}
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-
%% These commands are for a PROCEEDINGS abstract or paper.
\acmConference[Conference acronym 'XX]{Make sure to enter the correct
conference title from your rights confirmation emai}{June 03--05,
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigplan.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigplan.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigplan.tex 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigplan.tex 2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
%TC:envir math 0 word
%TC:envir comment 0 0
%%
-%%
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
@@ -46,7 +45,6 @@
%%
%%
\documentclass[sigplan,screen]{acmart}
-
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
@@ -62,7 +60,6 @@
\copyrightyear{2018}
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-
%% These commands are for a PROCEEDINGS abstract or paper.
\acmConference[Conference acronym 'XX]{Make sure to enter the correct
conference title from your rights confirmation emai}{June 03--05,
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/samples.dtx
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/samples.dtx 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/samples.dtx 2024-08-26 20:07:21 UTC (rev 72113)
@@ -14,7 +14,19 @@
%TC:envir comment 0 0
%TCMACROS
%%
-%%
+%</all>
+%<*tagged>
+%% The tagged file should start with the metadata commands.
+%% We also need currently use lualatex-dev for compilation!
+\ifx\HCode\Undef
+\DocumentMetadata{
+ pdfversion=2.0,pdfstandard=ua-2,
+ testphase={phase-III,firstaid,math,title}}
+\else
+\DocumentMetadata{}
+\fi
+%</tagged>
+%<*all>
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
@@ -27,7 +39,8 @@
%%
%%
%<manuscript>\documentclass[manuscript,screen,review]{acmart}
-%<acmsmall|acmsmall-conf>\documentclass[acmsmall]{acmart}
+%<acmsmall&!tagged>\documentclass[acmsmall]{acmart}
+%<acmsmall-conf>\documentclass[acmsmall]{acmart}
%<acmsmall-biblatex>\documentclass[acmsmall,natbib=false]{acmart}
%<acmsmall-submission>\documentclass[acmsmall,screen,review]{acmart}
%<acmlarge>\documentclass[acmlarge]{acmart}
@@ -41,7 +54,7 @@
%<sigconf-i13n>\documentclass[sigconf, language=french,
%<sigconf-i13n>language=german, language=spanish, language=english]{acmart}
%<acmcp>\documentclass[acmcp]{acmart}
-
+%<acmsmall&tagged>\documentclass[acmsmall]{acmart-tagged}
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
@@ -58,7 +71,6 @@
\copyrightyear{2018}
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-
%</all>
%<*proceedings>
%% These commands are for a PROCEEDINGS abstract or paper.
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/samples.ins
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/samples.ins 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/samples.ins 2024-08-26 20:07:21 UTC (rev 72113)
@@ -24,5 +24,6 @@
\file{sample-acmtog-conf.tex}{\from{samples.dtx}{all,journal,proceedings,bibtex,acmtog-conf}}
\file{sample-acmcp.tex}{\from{samples.dtx}{all,journal,acmcp}}
\file{sample-acmengage.tex}{\from{acmengage.dtx}{acmengage}}
+ \file{sample-acmsmall-tagged.tex}{\from{samples.dtx}{all,journal,acmsmall,tagged}}
}
Modified: trunk/Master/texmf-dist/source/latex/acmart/Makefile
===================================================================
--- trunk/Master/texmf-dist/source/latex/acmart/Makefile 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/source/latex/acmart/Makefile 2024-08-26 20:07:21 UTC (rev 72113)
@@ -14,6 +14,7 @@
PDF = $(PACKAGE).pdf acmguide.pdf
BIBLATEXFILES= $(wildcard *.bbx) $(wildcard *.cbx) $(wildcard *.dbx) $(wildcard *.lbx)
+
SAMPLEBIBLATEXFILES=$(patsubst %,samples/%,$(BIBLATEXFILES))
ACMCPSAMPLES= \
@@ -21,7 +22,7 @@
samples/sample-acmcp-Invited.pdf \
samples/sample-acmcp-Position.pdf \
samples/sample-acmcp-Research.pdf \
- samples/sample-acmcp-Review.pdf \
+ samples/sample-acmcp-Review.pdf
all: ${PDF} ALLSAMPLES
@@ -46,7 +47,10 @@
%.cls: %.ins %.dtx
pdflatex $<
+%-tagged.cls: %.ins %.dtx
+ pdflatex $<
+
ALLSAMPLES: $(SAMPLEBIBLATEXFILES)
cd samples; pdflatex samples.ins; cd ..
for texfile in samples/*.tex; do \
@@ -59,6 +63,7 @@
samples/$(PACKAGE).cls: $(PACKAGE).cls
+samples/$(PACKAGE)-tagged.cls: $(PACKAGE)-tagged.cls
samples/ACM-Reference-Format.bst: ACM-Reference-Format.bst
samples/abbrev.bib: ACM-Reference-Format.bst
@@ -116,8 +121,19 @@
samples/sample-acmcp.pdf: samples/acm-jdslogo.png
-.PRECIOUS: $(PACKAGE).cfg $(PACKAGE).cls
+samples/sample-acmsmall-tagged.pdf: samples/sample-acmsmall-tagged.tex samples/$(PACKAGE)-tagged.cls samples/ACM-Reference-Format.bst
+ cd $(dir $@) && lualatex-dev $(notdir $<)
+ - cd $(dir $@) && bibtex $(notdir $(basename $<))
+ cd $(dir $@) && lualatex-dev $(notdir $<)
+ cd $(dir $@) && lualatex-dev $(notdir $<)
+ while ( grep -q '^LaTeX Warning: Label(s) may have changed' $(basename $<).log) \
+ do cd $(dir $@) && lualatex-dev $(notdir $<); done
+
+
+
+.PRECIOUS: $(PACKAGE).cfg $(PACKAGE).cls $(PACKAGE)-tagged.cls
+
docclean:
$(RM) *.log *.aux \
*.cfg *.glo *.idx *.toc \
@@ -124,7 +140,9 @@
*.ilg *.ind *.out *.lof \
*.lot *.bbl *.blg *.gls *.cut *.hd \
*.dvi *.ps *.thm *.tgz *.zip *.rpi \
- samples/$(PACKAGE).cls samples/ACM-Reference-Format.bst \
+ samples/$(PACKAGE).cls \
+ samples/$(PACKAGE)-tagged.cls \
+ samples/ACM-Reference-Format.bst \
samples/*.log samples/*.aux samples/*.out \
samples/*.bbl samples/*.blg samples/*.cut \
samples/acm-jdslogo.png \
@@ -132,7 +150,7 @@
clean: docclean
- $(RM) $(PACKAGE).cls \
+ $(RM) $(PACKAGE).cls $(PACKAGE)-tagged.cls \
samples/*.tex
distclean: clean
Modified: trunk/Master/texmf-dist/source/latex/acmart/acmart.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/acmart/acmart.dtx 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/source/latex/acmart/acmart.dtx 2024-08-26 20:07:21 UTC (rev 72113)
@@ -998,13 +998,7 @@
% by IW3C2, when some authors are approved Google employees.\\
% \texttt{cc} & Creative Commons license. If this key is set,
% \textsl{doclicense} images are used to typeset the license. See
-% also \cs{setcctype} command. Note that at present this license
-% can be used only either for \texttt{acmengage} format, or for
-% \texttt{nonacm} publications, or for the authors that meet any
-% of the following requirements: (a)~part of the ACM Open Program;
-% (b)~publishing in a Gold Open Access publication;
-% (c)~paying the Open Access APC;
-% (d)~part of the Google publishing agreement.\\
+% also \cs{setcctype} command. \\
% \texttt{acmcopyright} & The authors transfer the copyright to the
% ACM. This choice is no longer available for the
% non-commissioned authors and will trigger a warning.\\
@@ -2239,8 +2233,26 @@
% \item |figure*|: \cs{fulltextwidth}.
% \end{enumerate}
%
+%\subsection{Experiments with tagging}
+%\label{sec:ug_tagged}
%
+% ACM is firmly committed to produce fully tagged PDFs compliant with
+% the accessibility standards. We use the developmental version of
+% tagging code by \LaTeX3 team, see the details at
+% \url{https://www.latex-project.org/publications/indexbytopic/pdf/}
+% and \url{https://tug.org/twg/accessibility/overview.html}.
%
+% At present this work is highly experimental. You may try the
+% experiments by (1)~using the class |acmart-tagged| in the document
+% class line, and (2)~adding the command
+% \cs{DocumentMetadata}\oarg{options} in the preamble, see the file
+% \path{sample-acmsmall-tagged.tex}. If you do this, please \emph{do
+% not ask ACM for support}. On the other hand, bug reports at
+% \url{https://github.com/borisveytsman/acmart/issues} will be
+% appreciated.
+%
+%
+%
% \StopEventually{
% \clearpage
% \bibliography{acmart}
@@ -2263,8 +2275,9 @@
%<*gobble>
\ProvidesFile{acmart.dtx}
%</gobble>
-%<class>\ProvidesClass{acmart}
-[2024/05/27 v2.08 Typesetting articles for the Association for Computing Machinery]
+%<class&!tagged>\ProvidesClass{acmart}
+%<tagged>\ProvidesClass{acmart-tagged}
+[2024/08/25 v2.09 Typesetting articles for the Association for Computing Machinery]
% \end{macrocode}
%
% \changes{v1.00}{2016/04/14}{First released version}
@@ -2401,7 +2414,8 @@
\end{document}
%</gobble>
%<*class>
-\def\@classname{acmart}
+%<!tagged>\def\@classname{acmart}
+%<tagged>\def\@classname{acmart-tagged}
% \end{macrocode}
%
%
@@ -2442,13 +2456,13 @@
% \changes{1.87}{2022/08/13}{New format: acmcp}
% The possible formats
% \begin{macrocode}
-\define at choicekey*+{acmart.cls}{format}[\ACM at format\ACM at format@nr]{%
+\define at choicekey*+{\@classname.cls}{format}[\ACM at format\ACM at format@nr]{%
manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph,
sigplan, sigchi, sigchi-a, acmengage, acmcp}[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}}}
+\def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{\@classname.cls}{format=#1}}}
\@DeclareACMFormat{manuscript}
\@DeclareACMFormat{acmsmall}
\@DeclareACMFormat{acmlarge}
@@ -2468,7 +2482,7 @@
% \begin{macro}{\if at ACM@screen}
% Whether we use screen mode
% \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{screen}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{screen}[true]{%
\if at ACM@screen
\PackageInfo{\@classname}{Using screen mode}%
\else
@@ -2483,7 +2497,7 @@
% \begin{macro}{\if at ACM@urlbreakonhyphens}
% \changes{1.60}{2019/04/22}{introduced macro}
% \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{urlbreakonhyphens}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{urlbreakonhyphens}[true]{%
\if at ACM@urlbreakonhyphens
\PackageInfo{\@classname}{Using breaking urls on hyphens}%
\else
@@ -2499,7 +2513,7 @@
% \changes{v1.46}{2017/08/29}{Modified description}
% Whether we define theorem-like environments.
% \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{acmthm}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{acmthm}[true]{%
\if at ACM@acmthm
\PackageInfo{\@classname}{Requiring acmthm}%
\else
@@ -2516,7 +2530,7 @@
% \changes{v1.48}{2017/09/09}{Review mode now switches on folios}
% Whether we use review mode
% \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{review}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{review}[true]{%
\if at ACM@review
\PackageInfo{\@classname}{Using review mode}%
\AtBeginDocument{\@ACM at printfoliostrue}%
@@ -2533,7 +2547,7 @@
% \changes{v1.03}{2016/04/22}{Added macro}
% Whether we use author's-version mode
% \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{authorversion}[true]{%
\if at ACM@authorversion
\PackageInfo{\@classname}{Using authorversion mode}%
\else
@@ -2550,7 +2564,7 @@
% Special option for non-ACM publications
% using the ACM typesetting options.
% \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{nonacm}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{nonacm}[true]{%
\if at ACM@nonacm
\PackageInfo{\@classname}{Using nonacm mode}%
\AtBeginDocument{\@ACM at printacmreffalse}%
@@ -2570,7 +2584,7 @@
% \changes{v1.57}{2018/12/16}{Added macro}
% Whether to balance the last page
% \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{balance}[true]{}{%
+\define at boolkey+{\@classname.cls}[@ACM@]{balance}[true]{}{%
\PackageError{\@classname}{The option balance can be either true or
false}}
\ExecuteOptionsX{balance}
@@ -2583,7 +2597,7 @@
% \changes{v1.76}{2021/03/16}{Added macro}
% Whether to balance the last page
% \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{pbalance}[true]{}{%
+\define at boolkey+{\@classname.cls}[@ACM@]{pbalance}[true]{}{%
\PackageError{\@classname}{The option pbalance can be either true or
false}}
\ExecuteOptionsX{pbalance=false}
@@ -2601,7 +2615,7 @@
% \begin{macro}{\if at ACM@natbib}
% Whether we use |natbib| mode
% \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{natbib}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{natbib}[true]{%
\if at ACM@natbib
\PackageInfo{\@classname}{Explicitly selecting natbib mode}%
\else
@@ -2617,7 +2631,7 @@
% \begin{macro}{\if at ACM@anonymous}
% Whether we use anonymous mode
% \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{anonymous}[true]{%
\if at ACM@anonymous
\PackageInfo{\@classname}{Using anonymous mode}%
\else
@@ -2634,7 +2648,7 @@
% \changes{v1.33}{2017/03/10}{Added macro (Michael D.~Adams)}
% Whether we use timestamp mode
% \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{timestamp}[true]{%
\if at ACM@timestamp
\PackageInfo{\@classname}{Using timestamp mode}%
\else
@@ -2652,7 +2666,7 @@
% \changes{v1.36}{2017/05/13}{Corrected typo, thanks to bargteil}
% Whether we use author-draft mode
% \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{authordraft}[true]{%
\if at ACM@authordraft
\PackageInfo{\@classname}{Using authordraft mode}%
\@ACM at timestamptrue
@@ -2788,13 +2802,13 @@
\ClassWarning{\@classname}{%
The format siggraph is now obsolete.\MessageBreak
I am switching to sigconf.}
- \setkeys{acmart.cls}{format=sigconf}
+ \setkeys{\@classname.cls}{format=sigconf}
\fi
\ifnum\ACM at format@nr=7\relax % sigchi
\ClassWarning{\@classname}{%
The format sigchi is now obsolete.\MessageBreak
I am switching to sigconf.}
- \setkeys{acmart.cls}{format=sigconf}
+ \setkeys{\@classname.cls}{format=sigconf}
\fi
\ifnum\ACM at format@nr=8\relax % sigchi
\ClassWarning{\@classname}{%
@@ -2861,7 +2875,43 @@
% \changes{v1.38}{2017/05/13}{Increase default font size for SIGPLAN}
% \changes{v1.87}{2022/08/27}{Set font sizes for |acmengage| and |acmcp|}
%
+%<*tagged>
+% \changes{v2.09}{2022/08/25}{Saved the old definitions (Ulrike's
+% code}
+% Before we load the base class we want to save the original
+% definitions of sectioning commands since |acmart| redefines them,
+% and we need the vanilla versions.
+% \begin{macro}{\@startsection at kernel}
+% \changes{v2.00}{2023/11/19}{Added macro}
+% \begin{macrocode}
+\let\@startsection at kernel\@startsection
+% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{\@xsect at kernel}
+% \changes{v2.00}{2023/11/19}{Added macro}
+% \begin{macrocode}
+\let\@xsect at kernel\@xsect
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@sect at kernel}
+% \changes{v2.00}{2023/11/19}{Added macro}
+% \begin{macrocode}
+\let\@sect at kernel\@sect
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@ssect at kernel}
+% \changes{v2.00}{2023/11/19}{Added macro}
+% \begin{macrocode}
+\let\@ssect at kernel\@ssect
+% \end{macrocode}
+% \end{macro}
+%
+%</tagged>
+%
+%
% At this point we either have \cs{ACM at fontsize} or use defaults
% \begin{macrocode}
\ifx\ACM at fontsize\@empty
@@ -3258,6 +3308,14 @@
% We need to do this early since we want |hyperref| to have a chance
% to redefine them again:
% \begin{macrocode}
+%</class>
+%<*tagged>
+\let\@startsection\@startsection at kernel
+\let\@sect\@sect at kernel
+\let\@ssect\@ssect at kernel
+\let\@xsect\@xsect at kernel
+%</tagged>
+%<*class&!tagged>
\def\@startsection#1#2#3#4#5#6{%
\if at noskipsec \leavevmode \fi
\par
@@ -3337,7 +3395,6 @@
\fi}%
\fi
\ignorespaces}
-\def\@seccntformat#1{\csname the#1\endcsname\quad}
\def\@ssect#1#2#3#4#5{%
\@tempskipa #3\relax
\ifdim \@tempskipa>\z@
@@ -3350,11 +3407,14 @@
\def\@svsechd{#4{\hskip #1\relax #5}}%
\fi
\@xsect{#3}}
+%</class&!tagged>
+%<*class>
+\def\@seccntformat#1{\csname the#1\endcsname\quad}
% \end{macrocode}
%
% \end{macro}
%
-% \begin{macro}{\@startsection}
+% \begin{macro}{\@starttoc}
% \changes{v1.31}{2017/03/04}{Redefined macro}
% \changes{v1.43}{2017/07/09}{Added \cs{makeatletter}}
% The |amsart| package redefines \cs{startsection}. Here we redefine
@@ -3365,7 +3425,9 @@
\par\removelastskip\vskip\z at skip
\@startsection{section}\@M\z@{\linespacing\@plus\linespacing}%
{.5\linespacing}{\centering\contentsnamefont}{#2}%
+%<tagged>\@starttoc at cfgpoint@before{#1}%NEW<<<<<<<<<< (name will change)
\@input{\jobname.#1}%
+%<tagged>\@starttoc at cfgpoint@after{#1}%NEW<<<<<<<<<<<< (name will change)
\if at filesw
\@xp\newwrite\csname tf@#1\endcsname
\immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax
@@ -5974,29 +6036,9 @@
%
% \begin{macro}{\@ACM at copyright@check at cc}
% \changes{v1.87}{2022/07/30}{Added macro}
-% At present cC licenses can be used only for acmengage format or for
-% non-acm stuff. This macro checks whether the CC license is
-% applicable and generates an error if not.
% \changes{v2.00}{2023/10/22}{Moved to warning}
-% \begin{macrocode}
-\def\@ACM at copyright@check at cc{%
- \if at ACM@nonacm
- \ClassInfo{\@classname}{Using CC license with a non-acm
- material}%
- \else
- \if at ACM@engage
- \ClassInfo{\@classname}{Using CC license with ACM Enage
- material}%
- \else
- \ClassWarning{\@classname}{%
- Sorry, Creative Commons licenses are\MessageBreak
- currently not used with ACM publications\MessageBreak
- typeset by the authors}{Please use nonacm
- option or ACM Engage class to enable CC licenses}%
- \fi
- \fi}
-% \end{macrocode}
-%
+% \changes{v2.09}{2024/08/25}{Deleted macro}
+% This macro is no longer needed due to the change in ACM policy.
% \end{macro}
%
% \begin{macro}{\@copyrightpermission}
@@ -6007,8 +6049,8 @@
% \changes{v1.85}{2022/05/08}{Added CC licenses}
% \changes{v1.87}{2022/07/30}{CC licenses now are allowed only for
% non-acm or ACM engage publications}
-% \changes{v2.00}{2023/10/24}{Rewrote wording}
-% \changes{v2.00}{2023/10/24}{Rewrote wording}
+% \changes{v2.09}{2024/08/25}{Deleted checking whether CC licenses are
+% allowed}
% The canned permission block.
% \begin{macrocode}
\def\@copyrightpermission{%
@@ -6139,7 +6181,6 @@
disseminate the work on their personal and corporate Web sites with
the appropriate attribution.
\or % CC
- \@ACM at copyright@check at cc
\IfEq{\ACM at cc@type}{zero}{%
\def\ACM at CC@Url{https://creativecommons.org/publicdomain/zero/1.0/legalcode}}{%
\edef\ACM at CC@Url{https://creativecommons.org/licenses/\ACM@cc@type/\ACM@cc@version/legalcode}}%
@@ -6471,7 +6512,7 @@
pdfsubject={\@concepts},
pdfkeywords={\@keywords},
pdfcreator={LaTeX with acmart
- \csname ver at acmart.cls\endcsname\space
+ \csname ver@\@classname.cls\endcsname\space
and hyperref
\csname ver at hyperref.sty\endcsname}}%
\andify\authors
@@ -7588,6 +7629,18 @@
%
% \end{macro}
%
+%<*tagged>
+% We stop tagging inside maketitle for now. Ulrike's code again.
+% \begin{macrocode}
+\ExplSyntaxOn
+\AddToHook{cmd/maketitle/before}
+ {\tagstructbegin{tag=Title}\tagmcbegin{} \tag_stop:}
+\AddToHook{cmd/maketitle/after}
+ {\tag_start:\tagmcend\tagstructend }
+\ExplSyntaxOff
+% \end{macrocode}
+%</tagged>
+%
%\subsection{Headers and Footers}
%\label{sec:head_foot}
%
@@ -8129,28 +8182,33 @@
% \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@}%
+\renewcommand\section{\def\@toclevel{1}%
+ \@startsection{section}{1}{\z@}%
{-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
{.25\baselineskip}%
{\ACM at NRadjust\@secfont}}
-\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
+\renewcommand\subsection{\def\@toclevel{2}%
+ \@startsection{subsection}{2}{\z@}%
{-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
{.25\baselineskip}%
{\ACM at NRadjust\@subsecfont}}
-\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+\renewcommand\subsubsection{\def\@toclevel{3}%
+ \@startsection{subsubsection}{3}{\z@}%
{-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
{-3.5\p@}%
{\ACM at NRadjust{\@subsubsecfont\@adddotafter}}}
-\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}%
+\renewcommand\paragraph{\def\@toclevel{4}%
+ \@startsection{paragraph}{4}{\parindent}%
{-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
{-3.5\p@}%
{\ACM at NRadjust{\@parfont\@adddotafter}}}
-\newcommand\noindentparagraph{\@startsection{paragraph}{4}{\z@}%
+\newcommand\noindentparagraph{\def\@toclevel{4}%
+ \@startsection{paragraph}{4}{\z@}%
{-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
{-3.5\p@}%
{\ACM at NRadjust{\@parfont}}}
-
-\renewcommand\part{\@startsection{part}{9}{\z@}%
+\renewcommand\part{\def\@toclevel{9}%
+ \@startsection{part}{9}{\z@}%
{-10\p@ \@plus -4\p@ \@minus -2\p@}%
{4\p@}%
{\ACM at NRadjust\@parfont}}
Modified: trunk/Master/texmf-dist/source/latex/acmart/acmart.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/acmart/acmart.ins 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/source/latex/acmart/acmart.ins 2024-08-26 20:07:21 UTC (rev 72113)
@@ -13,6 +13,7 @@
\generate{%
\file{acmart.cls}{\from{acmart.dtx}{class}}
+ \file{acmart-tagged.cls}{\from{acmart.dtx}{class,tagged}}
}
\obeyspaces
Added: trunk/Master/texmf-dist/tex/latex/acmart/acmart-tagged.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/acmart/acmart-tagged.cls (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/acmart/acmart-tagged.cls 2024-08-26 20:07:21 UTC (rev 72113)
@@ -0,0 +1,3492 @@
+%%
+%% This is file `acmart-tagged.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% acmart.dtx (with options: `class,tagged')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from acmart-tagged.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-tagged}
+[2024/08/25 v2.09 Typesetting articles for the Association for Computing Machinery]
+\def\@classname{acmart-tagged}
+\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 at choicekey*+{\@classname.cls}{format}[\ACM at format\ACM at format@nr]{%
+ manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph,
+ sigplan, sigchi, sigchi-a, acmengage, acmcp}[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{\@classname.cls}{format=#1}}}
+\@DeclareACMFormat{manuscript}
+\@DeclareACMFormat{acmsmall}
+\@DeclareACMFormat{acmlarge}
+\@DeclareACMFormat{acmtog}
+\@DeclareACMFormat{sigconf}
+\@DeclareACMFormat{siggraph}
+\@DeclareACMFormat{sigplan}
+\@DeclareACMFormat{sigchi}
+\@DeclareACMFormat{sigchi-a}
+\@DeclareACMFormat{acmengage}
+\@DeclareACMFormat{acmcp}
+\ExecuteOptionsX{format}
+\define at boolkey+{\@classname.cls}[@ACM@]{screen}[true]{%
+ \if at 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 at boolkey+{\@classname.cls}[@ACM@]{urlbreakonhyphens}[true]{%
+ \if at 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 at boolkey+{\@classname.cls}[@ACM@]{acmthm}[true]{%
+ \if at 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 at boolkey+{\@classname.cls}[@ACM@]{review}[true]{%
+ \if at ACM@review
+ \PackageInfo{\@classname}{Using review mode}%
+ \AtBeginDocument{\@ACM at printfoliostrue}%
+ \else
+ \PackageInfo{\@classname}{Not using review mode}%
+ \fi}{\PackageError{\@classname}{The option review can be either true or
+ false}}
+\ExecuteOptionsX{review=false}
+\define at boolkey+{\@classname.cls}[@ACM@]{authorversion}[true]{%
+ \if at 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 at boolkey+{\@classname.cls}[@ACM@]{nonacm}[true]{%
+ \if at ACM@nonacm
+ \PackageInfo{\@classname}{Using nonacm mode}%
+ \AtBeginDocument{\@ACM at 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 at boolkey+{\@classname.cls}[@ACM@]{balance}[true]{}{%
+ \PackageError{\@classname}{The option balance can be either true or
+ false}}
+\ExecuteOptionsX{balance}
+\define at boolkey+{\@classname.cls}[@ACM@]{pbalance}[true]{}{%
+ \PackageError{\@classname}{The option pbalance can be either true or
+ false}}
+\ExecuteOptionsX{pbalance=false}
+\define at boolkey+{\@classname.cls}[@ACM@]{natbib}[true]{%
+ \if at 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 at boolkey+{\@classname.cls}[@ACM@]{anonymous}[true]{%
+ \if at 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 at boolkey+{\@classname.cls}[@ACM@]{timestamp}[true]{%
+ \if at 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 at boolkey+{\@classname.cls}[@ACM@]{authordraft}[true]{%
+ \if at ACM@authordraft
+ \PackageInfo{\@classname}{Using authordraft mode}%
+ \@ACM at timestamptrue
+ \@ACM at 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 at fontsize{}
+\DeclareOptionX{8pt}{\edef\ACM at fontsize{\CurrentOption}}
+\DeclareOptionX{9pt}{\edef\ACM at fontsize{\CurrentOption}}
+\DeclareOptionX{10pt}{\edef\ACM at fontsize{\CurrentOption}}
+\DeclareOptionX{11pt}{\edef\ACM at fontsize{\CurrentOption}}
+\DeclareOptionX{12pt}{\edef\ACM at fontsize{\CurrentOption}}
+\def\ACM at languages{}
+\DeclareOptionX{language}{%
+ \ifx\ACM at languages\@empty
+ \gdef\ACM at languages{english}\fi
+ \g at addto@macro\ACM at languages{, #1}}
+\DeclareOptionX{draft}{\PassOptionsToClass{\CurrentOption}{amsart}}
+\DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}}
+\ProcessOptionsX
+\ClassInfo{\@classname}{Using format \ACM at format, number \ACM at format@nr}
+\newif\if at ACM@manuscript
+\newif\if at ACM@journal
+\newif\if at ACM@journal at bibstrip
+\newif\if at ACM@journal at bibstrip@or at tog
+\newif\if at ACM@sigchiamode
+\newif\if at ACM@engage
+\@ACM at engagefalse
+\newif\if at ACM@acmcp
+\@ACM at acmcpfalse
+\ifnum\ACM at format@nr=5\relax % siggraph
+\ClassWarning{\@classname}{%
+ The format siggraph is now obsolete.\MessageBreak
+ I am switching to sigconf.}
+ \setkeys{\@classname.cls}{format=sigconf}
+\fi
+\ifnum\ACM at format@nr=7\relax % sigchi
+\ClassWarning{\@classname}{%
+ The format sigchi is now obsolete.\MessageBreak
+ I am switching to sigconf.}
+ \setkeys{\@classname.cls}{format=sigconf}
+\fi
+\ifnum\ACM at 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 at format@nr=0\relax
+ \@ACM at manuscripttrue
+\else
+ \@ACM at manuscriptfalse
+\fi
+\@ACM at sigchiamodefalse
+\ifcase\ACM at format@nr
+\relax % manuscript
+ \@ACM at journaltrue
+\or % acmsmall
+ \@ACM at journaltrue
+\or % acmlarge
+ \@ACM at journaltrue
+\or % acmtog
+ \@ACM at journaltrue
+ \@ACM at journal@bibstrip at or@togtrue
+\or % sigconf
+ \@ACM at journalfalse
+\or % siggraph
+ \@ACM at journalfalse
+ \or % sigplan
+ \@ACM at journalfalse
+ \or % sigchi
+ \@ACM at journalfalse
+\or % sigchi-a
+ \@ACM at journalfalse
+ \@ACM at sigchiamodetrue
+\or % acmengage
+ \@ACM at journalfalse
+ \@ACM at engagetrue
+\or % acmcp
+ \@ACM at journaltrue
+ \@ACM at acmcptrue
+ \AtBeginDocument{\@ACM at printacmreffalse}%
+\fi
+\if at ACM@journal
+ \@ACM at journal@bibstriptrue
+ \@ACM at journal@bibstrip at or@togtrue
+\else
+ \@ACM at journal@bibstripfalse
+\fi
+\let\@startsection at kernel\@startsection
+\let\@xsect at kernel\@xsect
+\let\@sect at kernel\@sect
+\let\@ssect at kernel\@ssect
+\ifx\ACM at fontsize\@empty
+ \ifcase\ACM at format@nr
+ \relax % manuscript
+ \def\ACM at fontsize{9pt}%
+ \or % acmsmall
+ \def\ACM at fontsize{10pt}%
+ \or % acmlarge
+ \def\ACM at fontsize{10pt}%
+ \or % acmtog
+ \def\ACM at fontsize{9pt}%
+ \or % sigconf
+ \def\ACM at fontsize{9pt}%
+ \or % siggraph
+ \def\ACM at fontsize{9pt}%
+ \or % sigplan
+ \def\ACM at fontsize{10pt}%
+ \or % sigchi
+ \def\ACM at fontsize{9pt}%
+ \or % sigchi-a
+ \def\ACM at fontsize{10pt}%
+ \or % acmengage
+ \def\ACM at fontsize{10pt}%
+ \or % acmcp
+ \def\ACM at fontsize{9pt}%
+ \fi
+\fi
+\ClassInfo{\@classname}{Using fontsize \ACM at fontsize}
+\LoadClass[\ACM at fontsize, reqno]{amsart}
+\RequirePackage{microtype}
+\RequirePackage{etoolbox}
+\RequirePackage{booktabs}
+\RequirePackage{refcount}
+\RequirePackage{totpages}
+\RequirePackage{environ}
+\if at ACM@manuscript
+\RequirePackage{setspace}
+\onehalfspacing
+\fi
+\RequirePackage{textcase}
+\if at ACM@acmcp
+\RequirePackage{framed}
+\RequirePackage{zref-savepos, zref-user}
+\fi
+\newdimen\@ACM at acmcp@delta
+\@ACM at acmcp@delta=0pt\relax
+\if at 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 at open{(}\renewcommand\NAT at close{)}\fi
+ \def\@tempb{square}\ifx\@tempa\@tempb
+ \renewcommand\NAT at open{[}\renewcommand\NAT at close{]}\fi
+ \def\@tempb{angle}\ifx\@tempa\@tempb
+ \renewcommand\NAT at open{$<$}\renewcommand\NAT at close{$>$}\fi
+ \def\@tempb{curly}\ifx\@tempa\@tempb
+ \renewcommand\NAT at open{\{}\renewcommand\NAT at close{\}}\fi
+ \def\@tempb{semicolon}\ifx\@tempa\@tempb
+ \renewcommand\NAT at sep{;}\fi
+ \def\@tempb{colon}\ifx\@tempa\@tempb
+ \renewcommand\NAT at sep{;}\fi
+ \def\@tempb{comma}\ifx\@tempa\@tempb
+ \renewcommand\NAT at sep{,}\fi
+ \def\@tempb{authoryear}\ifx\@tempa\@tempb
+ \NAT at numbersfalse\fi
+ \def\@tempb{numbers}\ifx\@tempa\@tempb
+ \NAT at numberstrue\NAT at superfalse\fi
+ \def\@tempb{super}\ifx\@tempa\@tempb
+ \NAT at numberstrue\NAT at 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 at sort{\@ne}\fi
+ \def\@tempb{nosort}\ifx\@tempa\@tempb
+ \def\NAT at sort{\z@}\fi
+ \def\@tempb{compress}\ifx\@tempa\@tempb
+ \def\NAT at cmprs{\@ne}\fi
+ \def\@tempb{nocompress}\ifx\@tempa\@tempb
+ \def\NAT at cmprs{\z@}\fi
+ \def\@tempb{sort&compress}\ifx\@tempa\@tempb
+ \def\NAT at sort{\@ne}\def\NAT at cmprs{\@ne}\fi
+ \def\@tempb{mcite}\ifx\@tempa\@tempb
+ \let\NAT at merge\@ne\fi
+ \def\@tempb{merge}\ifx\@tempa\@tempb
+ \@ifnum{\NAT at merge<\tw@}{\let\NAT at merge\tw@}{}\fi
+ \def\@tempb{elide}\ifx\@tempa\@tempb
+ \@ifnum{\NAT at merge<\thr@@}{\let\NAT at merge\thr@@}{}\fi
+ \def\@tempb{longnamesfirst}\ifx\@tempa\@tempb
+ \NAT at longnamestrue\fi
+ \def\@tempb{nonamebreak}\ifx\@tempa\@tempb
+ \def\NAT at nmfmt#1{\mbox{\NAT at up#1}}\fi
+ \expandafter\NAT at find@eq\@tempa=\relax\@nil
+ \if\@tempc\relax\else
+ \expandafter\NAT at rem@eq\@tempc
+ \def\@tempb{open}\ifx\@tempa\@tempb
+ \xdef\NAT at open{\@tempc}\fi
+ \def\@tempb{close}\ifx\@tempa\@tempb
+ \xdef\NAT at close{\@tempc}\fi
+ \def\@tempb{aysep}\ifx\@tempa\@tempb
+ \xdef\NAT at aysep{\@tempc}\fi
+ \def\@tempb{yysep}\ifx\@tempa\@tempb
+ \xdef\NAT at yrsep{\@tempc}\fi
+ \def\@tempb{notesep}\ifx\@tempa\@tempb
+ \xdef\NAT at cmt{\@tempc}\fi
+ \def\@tempb{citesep}\ifx\@tempa\@tempb
+ \xdef\NAT at sep{\@tempc}\fi
+ \fi
+ }%
+ \NAT@@setcites
+ }
+ \renewcommand\citestyle[1]{%
+ \ifcsname bibstyle@#1\endcsname%
+ \csname bibstyle@#1\endcsname\let\bibstyle\@gobble%
+ \else%
+ \@latex at error{Undefined `#1' citestyle}%
+ \fi
+ }%
+\fi
+\newcommand{\bibstyle at acmauthoryear}{%
+ \setcitestyle{%
+ authoryear,%
+ open={[},close={]},citesep={;},%
+ aysep={},yysep={,},%
+ notesep={, }}}
+\newcommand{\bibstyle at acmnumeric}{%
+ \setcitestyle{%
+ numbers,sort&compress,%
+ open={[},close={]},citesep={,},%
+ notesep={, }}}
+\if at ACM@natbib
+\citestyle{acmnumeric}
+\fi
+\if at ACM@journal
+ \renewcommand\keywordsname{Additional Key Words and Phrases}%
+\else
+ \renewcommand\keywordsname{Keywords}%
+\fi
+\if at ACM@engage
+ \renewcommand\abstractname{Synopsis}%
+\fi
+\ifx\ACM at languages\@empty
+\else
+ \RequirePackage[\ACM at languages]{babel}%
+ \addto\captionsenglish{%
+ \if at ACM@journal
+ \renewcommand\keywordsname{Additional Key Words and Phrases}%
+ \else
+ \renewcommand\keywordsname{Keywords}%
+ \fi
+ \renewcommand\acksname{Acknowledgements}%
+ \if at ACM@engage
+ \renewcommand\abstractname{Synopsis}%
+ \fi
+ }%
+ \addto\captionsfrench{%
+ \if at ACM@journal
+ \renewcommand\keywordsname{Mots Clés et Phrases Supplémentaires}%
+ \else
+ \renewcommand\keywordsname{Mots clés}%
+ \fi
+ \renewcommand\acksname{Remerciements}%
+ }%
+ \addto\captionsgerman{%
+ \if at ACM@journal
+ \renewcommand\keywordsname{Zusätzliche Schlagwörter und Phrasen}%
+ \else
+ \renewcommand\keywordsname{Schlagwörter}%
+ \fi
+ \renewcommand\acksname{Danksagungen}%
+ }%
+ \addto\captionsspanish{%
+ \if at ACM@journal
+ \renewcommand\keywordsname{Palabras y Frases Claves Adicionales}%
+ \else
+ \renewcommand\keywordsname{Palabras claves}%
+ \fi
+ \renewcommand\acksname{Expresiones de gratitud}%
+ }%
+\fi
+\newcommand\ACM at lang@check[1]{%
+ \ifx\ACM at languages\@empty\relax
+ \ClassError{\@classname}{%
+ Command \string#1 \MessageBreak is used in monlingual document}{%
+ You used a command (\string#1) \MessageBreak
+ that does not have a meaning \MessageBreak
+ unless are languages are defined. \MessageBreak
+ Please choose the languages in \string\documentclass
+ \MessageBreak
+ (e.g. \string\documentclass[languages={french, english}]{acmart}),
+ \MessageBreak
+ or delete the command.}%
+ \fi}
+\def\@translatedtitle{}
+\newcommand\translatedtitle[2]{\ACM at lang@check{\translatedtitle}%
+\g at addto@macro\@translatedtitle{\par\foreignlanguage{#1}{#2}}}
+\def\@translatedsubtitle{}
+\newcommand\translatedsubtitle[2]{\ACM at lang@check{\translatedsubtitle}%
+\g at addto@macro\@translatedsubtitle{\par\foreignlanguage{#1}{#2}}}
+\def\@translatedkeywords{}
+\newcommand\translatedkeywords[2]{\ACM at lang@check{\translatedkeywords}%
+\g at addto@macro\@translatedkeywords{\@mktranslatedkeywords{#1}{#2}}}
+\def\@translatedabstracts{}
+\newenvironment{translatedabstract}[1]{\Collect at Body
+ \@savetranslatedabstract\@mktranslatedabstract{#1}}{}
+\long\def\@savetranslatedabstract#1{\if at ACM@maketitle at typeset
+ \ClassError{\@classname}{Abstract must be defined before maketitle
+ command. Please move it!}\fi
+ \ACM at lang@check{translatedabstract}%
+ \g at addto@macro\@translatedabstracts{\bgroup#1\egroup}}
+\let\@startsection\@startsection at kernel
+\let\@sect\@sect at kernel
+\let\@ssect\@ssect at kernel
+\let\@xsect\@xsect at kernel
+\def\@seccntformat#1{\csname the#1\endcsname\quad}
+\def\@starttoc#1#2{\begingroup\makeatletter
+ \setTrue{#1}%
+ \par\removelastskip\vskip\z at skip
+ \@startsection{section}\@M\z@{\linespacing\@plus\linespacing}%
+ {.5\linespacing}{\centering\contentsnamefont}{#2}%
+\@starttoc at cfgpoint@before{#1}%NEW<<<<<<<<<< (name will change)
+ \@input{\jobname.#1}%
+\@starttoc at cfgpoint@after{#1}%NEW<<<<<<<<<<<< (name will change)
+ \if at 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 at section{\@tocline{1}{0pt}{1pc}{2pc}{}}
+\def\l at subsection{\@tocline{2}{0pt}{1pc}{3pc}{}}
+\def\l at subsubsection{\@tocline{3}{0pt}{1pc}{5pc}{}}
+\def\@makefntext{\noindent\@makefnmark}
+\if at ACM@sigchiamode
+\long\def\@footnotetext#1{\marginpar{%
+ \reset at font\small
+ \interlinepenalty\interfootnotelinepenalty
+ \protected at edef\@currentlabel{%
+ \csname p at footnote\endcsname\@thefnmark
+ }%
+ \color at begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+ \color at endgroup}}%
+\fi
+\long\def\@mpfootnotetext#1{%
+ \global\setbox\@mpfootins\vbox{%
+ \unvbox\@mpfootins
+ \reset at font\footnotesize
+ \hsize\columnwidth
+ \@parboxrestore
+ \protected at edef\@currentlabel
+ {\csname p at mpfootnote\endcsname\@thefnmark}%
+ \color at begingroup\centering
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+ \color at endgroup}}
+\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}
+\let\@footnotemark at nolink\@footnotemark
+\let\@footnotetext at nolink\@footnotetext
+\RequirePackage[bookmarksnumbered,unicode]{hyperref}
+\RequirePackage{hyperxmp}
+\pdfstringdefDisableCommands{%
+ \def\addtocounter#1#2{}%
+ \def\unskip{}%
+ \def\textbullet{- }%
+ \def\textrightarrow{ -> }%
+ \def\footnotemark{}%
+}
+\urlstyle{rm}
+\ifcase\ACM at 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}
+\or % acmengage
+\or % acmcp
+\fi
+\AtEndPreamble{%
+ \if at ACM@urlbreakonhyphens
+ \def\do at url@hyp{\do\-}%
+ \fi
+ \if at ACM@screen
+ \hypersetup{colorlinks,
+ linkcolor=ACMPurple,
+ citecolor=ACMPurple,
+ urlcolor=ACMDarkBlue,
+ filecolor=ACMDarkBlue}
+ \else
+ \hypersetup{hidelinks}
+ \fi
+ \hypersetup{pdflang={en},
+ pdfdisplaydoctitle}}
+\if at ACM@natbib
+ \let\citeN\cite
+ \let\cite\citep
+ \let\citeANP\citeauthor
+ \let\citeNN\citeyearpar
+ \let\citeyearNP\citeyear
+ \let\citeNP\citealt
+ \DeclareRobustCommand\citeA
+ {\begingroup\NAT at swafalse
+ \let\NAT at ctype\@ne\NAT at partrue\NAT at fullfalse\NAT at open\NAT at citetp}%
+ \providecommand\newblock{}%
+\else
+ \AtBeginDocument{%
+ \let\shortcite\cite%
+ \providecommand\citename[1]{#1}}
+\fi
+\newcommand\shortcite[2][]{%
+ \ifNAT at numbers\cite[#1]{#2}\else\citeyearpar[#1]{#2}\fi}
+\def\bibliographystyle#1{%
+ \ifx\@begindocumenthook\@undefined\else
+ \expandafter\AtBeginDocument
+ \fi
+ {\if at 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 at ACM@authordraft
+ \RequirePackage{draftwatermark}
+ \SetWatermarkFontSize{0.5in}
+ \SetWatermarkColor[gray]{.9}
+ \SetWatermarkText{\parbox{12em}{\centering
+ Unpublished working draft.\\
+ Not for distribution.}}
+\else
+ \if at ACM@sigchiamode
+ \if at 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 at 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
+\or % acmengage
+ \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 % acmcp
+ \geometry{twoside=true,
+ includeheadfoot, head=13pt, foot=2pc,
+ paperwidth=6.75in, paperheight=10in,
+ top=58pt, bottom=44pt, inner=46pt, outer=46pt,
+ marginparwidth=2pc,heightrounded
+ }%
+\fi
+\setlength\parindent{10\p@}
+\setlength\parskip{\z@}
+\ifcase\ACM at 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
+\or % acmengage
+\or % acmcp
+\fi
+\setlength\normalparindent{\parindent}
+\def\copyrightpermissionfootnoterule{\kern-3\p@
+ \hrule \@width \columnwidth \kern 2.6\p@}
+\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 at endgroup
+ \egroup
+ \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}}
+\def\@textbottom{\vskip \z@ \@plus 1pt}
+\let\@texttop\relax
+\ifcase\ACM at 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
+\or % acmengage
+ \flushbottom
+\or % acmcp
+ \flushbottom
+\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 at ACM@newfonts
+\@ACM at newfontstrue
+\IfFileExists{libertine.sty}{}{\ClassWarning{\@classname}{You do not
+ have the libertine package installed. Please upgrade your
+ TeX}\@ACM at newfontsfalse}
+\IfFileExists{zi4.sty}{}{\ClassWarning{\@classname}{You do not
+ have the inconsolata (zi4.sty) package installed. Please upgrade your
+ TeX}\@ACM at newfontsfalse}
+\IfFileExists{newtxmath.sty}{}{\ClassWarning{\@classname}{You do not
+ have the newtxmath package installed. Please upgrade your
+ TeX}\@ACM at newfontsfalse}
+\if at 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 at ACM@sigchiamode
+ \renewcommand{\familydefault}{\sfdefault}
+\fi
+\newif\if at Description@present
+\@Description at presenttrue
+\newif\if at undescribed@images
+\@undescribed at imagesfalse
+\newcommand\Description[2][]{\global\@Description at presenttrue\ignorespaces}
+\AtEndDocument{\if at undescribed@images
+ \ClassWarningNoLine{\@classname}{Some images may lack descriptions}\fi}
+\AtBeginEnvironment{figure}{\@Description at presentfalse
+ \let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{figure*}{\@Description at presentfalse
+ \let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig}
+\AtEndEnvironment{figure}{\if at Description@present\else
+ \global\@undescribed at imagestrue
+ \ClassWarning{\@classname}{A possible image without description}\fi}
+\AtEndEnvironment{figure*}{\if at Description@present\else
+ \global\@undescribed at imagestrue
+ \ClassWarning{\@classname}{A possible image without description}\fi}
+\AtBeginEnvironment{table}{\let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{table*}{\let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{algorithm}{\let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{algorithm*}{\let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{lstlisting}{\let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{lstlisting*}{\let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{minted}{\let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{minted*}{\let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{listing}{\let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{listing*}{\let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig}
+
+\RequirePackage{caption, float}
+\captionsetup[table]{position=top}
+\if at 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 at 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}}
+ \or % acmengage
+ \or % acmcp
+ \fi
+\fi
+\newfloat{sidebar}{}{sbar}
+\floatname{sidebar}{Sidebar}
+\renewenvironment{sidebar}{\Collect at Body\@sidebar}{}
+\long\def\@sidebar#1{\bgroup\let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig\captionsetup{type=sidebar}%
+ \marginpar{\small#1}\egroup}
+\newenvironment{marginfigure}{\Collect at Body\@marginfigure}{}
+\long\def\@marginfigure#1{\bgroup
+ \let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig
+ \captionsetup{type=figure}%
+ \marginpar{\@Description at presentfalse\centering
+ \small#1\if at Description@present\else
+ \global\@undescribed at imagestrue
+ \ClassWarning{\@classname}{A possible image without description}
+ \fi}%
+ \egroup}
+\newenvironment{margintable}{\Collect at Body\@margintable}{}
+\long\def\@margintable#1{\bgroup\let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig\captionsetup{type=table}%
+ \marginpar{\centering\small#1}\egroup}
+\newdimen\fulltextwidth
+\fulltextwidth=\dimexpr(\textwidth+\marginparwidth+\marginparsep)
+\if at ACM@sigchiamode
+\def\@dblfloat{\bgroup\let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig\columnwidth=\fulltextwidth
+ \let\@endfloatbox\@endwidefloatbox
+ \def\@fpsadddefault{\def\@fps{tp}}%
+ \@float}
+\fi
+\if at ACM@sigchiamode
+\def\end at dblfloat{%
+ \end at float\egroup}
+\fi
+\def\@endwidefloatbox{%
+ \par\vskip\z at skip
+ \@minipagefalse
+ \outer at nobreak
+ \egroup
+ \color at endbox
+ \global\setbox\@currbox=\vbox{\moveleft
+ \dimexpr(\fulltextwidth-\textwidth)\box\@currbox}%
+ \wd\@currbox=\textwidth
+}
+\ifcase\ACM at 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
+\or % acmengage
+\or % acmcp
+\fi
+\newdimen\@ACM at labelwidth
+\AtBeginDocument{%
+ \setlength\labelsep{4pt}
+ \setlength{\@ACM at 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 at labelwidth}
+
+ %% Second-level and higher lists.
+ \setlength\leftmarginii{\z@}
+ \addtolength\leftmarginii{0.5\labelsep}
+ \addtolength\leftmarginii{\@ACM at 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 at 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 at labelwidth
+ \let\makelabel\descriptionlabel}%
+}{
+ \endlist
+}
+\let\enddescription=\endlist % for efficiency
+\newif\if at ACM@maketitle at typeset
+\@ACM at maketitle@typesetfalse
+\define at choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode at nr]{%
+ ACMJCSS,%
+ CIE,%
+ CSUR,%
+ DGOV,%
+ DLT,%
+ DTRAP,%
+ FAC,%
+ GAMES,%
+ HEALTH,%
+ IMWUT,%
+ JACM,%
+ JATS,%
+ JDIQ,%
+ JDS,%
+ JEA,%
+ JERIC,%
+ JETC,%
+ JOCCH,%
+ JRC,%
+ PACMCGIT,%
+ PACMHCI,%
+ PACMMOD,%
+ PACMNET,%
+ PACMPL,%
+ PACMSE,%
+ 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,%
+ TOPLAS,%
+ TOPML,%
+ TOPS,%
+ TORS,%
+ TOS,%
+ TOSEM,%
+ TOSN,%
+ TQC,%
+ TRETS,%
+ TSAS,%
+ TSC,%
+ TSLP,%
+ TWEB,%
+ FACMP%
+}{%
+\ifcase\@journalCode at nr
+\relax % ACMJCSS
+ \def\@journalName{ACM Journal on Computing and Sustainable Societies}%
+ \def\@journalNameShort{ACM J. Comput. Sustain. Soc.}%
+ \def\@permissionCodeOne{2834-5533}%
+ \def\@permissionCodeTwo{2834-5533}%
+\or % 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}%
+ \def\@permissionCodeTwo{1557-7341}%
+\or % DGOV
+ \def\@journalName{Digital Government: Research and Practice}%
+ \def\@journalNameShort{Digit. Gov. Res. Pract.}%
+ \def\@permissionCodeOne{2639-0175}%
+ \def\@permissionCodeTwo{2639-0175}%
+\or % DLT
+ \def\@journalName{Distributed Ledger Technologies: Research and Practice}%
+ \def\@journalNameShort{Distrib. Ledger Technol.}%
+ \def\@permissionCodeOne{2769-6472}%
+ \def\@permissionCodeTwo{2769-6480}%
+\or % DTRAP
+ \def\@journalName{Digital Threats: Research and Practice}%
+ \def\@journalNameShort{Digit. Threat. Res. Pract.}%
+ \def\@permissionCodeOne{2576-5337}%
+ \def\@permissionCodeTwo{2576-5337}%
+\or % FAC
+ \def\@journalName{Formal Aspects of Computing}%
+ \def\@journalNameShort{Form. Asp. Comput.}%
+ \def\@permissionCodeOne{0934-5043}%
+ \def\@permissionCodeTwo{1433-299X}%
+\or % GAMES
+ \def\@journalName{ACM Games: Research and Practice}%
+ \def\@journalNameShort{ACM Games}%
+ \def\@permissionCodeOne{2832-5516}%
+ \def\@permissionCodeTwo{2832-5516}%
+\or % HEALTH
+ \def\@journalName{ACM Transactions on Computing for Healthcare}%
+ \def\@journalNameShort{ACM Trans. Comput. Healthcare}%
+ \def\@permissionCodeOne{2637-8051}%
+ \def\@permissionCodeTwo{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}%
+ \def\@permissionCodeTwo{2474-9567}%
+ \@ACM at 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}%
+ \def\@permissionCodeTwo{1557-735X}%
+\or % JATS
+ \def\@journalName{Journal on Autonomous Transportation Systems}%
+ \def\@journalNameShort{ACM J. Auton. Transport. Syst.}%
+ \def\@permissionCodeOne{2833-0528}%
+ \def\@permissionCodeTwo{2833-0528}%
+\or % JDIQ
+ \def\@journalName{ACM Journal of Data and Information Quality}%
+ \def\@journalNameShort{ACM J. Data Inform. Quality}%
+ \def\@permissionCodeOne{1936-1955}%
+ \def\@permissionCodeTwo{1936-1963}%
+\or % JDS
+ \def\@journalName{ACM/IMS Journal of Data Science}%
+ \def\@journalNameShort{ACM/IMS J. Data Sci.}%
+ \def\@permissionCodeOne{2831-3194}%
+ \def\@permissionCodeTwo{2831-3194}%
+\or % JEA
+ \def\@journalName{ACM Journal of Experimental Algorithmics}%
+ \def\@journalNameShort{ACM J. Exp. Algor.}%
+ \def\@permissionCodeOne{1084-6654}%
+ \def\@permissionCodeTwo{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}%
+ \def\@permissionCodeTwo{1550-4840}%
+\or % JOCCH
+ \def\@journalName{ACM Journal on Computing and Cultural Heritage}%
+ \def\@journalNameShort{ACM J. Comput. Cult. Herit.}%
+ \def\@permissionCodeOne{1556-4673}%
+ \def\@permissionCodeTwo{1556-4711}%
+\or % JRC
+ \def\@journalName{ACM Journal on Responsible Computing}%
+ \def\@journalNameShort{ACM J. Responsib. Comput.}%
+ \def\@permissionCodeOne{2832-0565}%
+ \def\@permissionCodeTwo{2832-0565}%
+\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}%
+ \def\@permissionCodeTwo{2577-6193}%
+ \@ACM at 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}%
+ \def\@permissionCodeTwo{2573-0142}%
+ \@ACM at screentrue
+ \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
+\or % PACMMOD
+ \def\@journalName{Proceedings of the ACM on Management of Data}%
+ \def\@journalNameShort{Proc. ACM Manag. Data}%
+ \def\@permissionCodeOne{2836-6573}%
+ \def\@permissionCodeTwo{2836-6573}%
+\or % PACMNET
+ \def\@journalName{Proceedings of the ACM on Networkng}%
+ \def\@journalNameShort{Proc. ACM Netw.}%
+ \def\@permissionCodeOne{2834-5509}%
+ \def\@permissionCodeTwo{2834-5509}%
+\or % PACMPL
+ \def\@journalName{Proceedings of the ACM on Programming Languages}%
+ \def\@journalNameShort{Proc. ACM Program. Lang.}%
+ \def\@permissionCodeOne{2475-1421}%
+ \def\@permissionCodeTwo{2475-1421}%
+ \@ACM at screentrue
+ \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
+\or % PACMSE
+ \def\@journalName{Proceedings of the ACM on Software Engineering}%
+ \def\@journalNameShort{Proc. ACM Softw. Eng.}%
+ \def\@permissionCodeOne{2994-970X}%
+ \def\@permissionCodeTwo{2994-970X}%
+ \@ACM at 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}%
+ \def\@permissionCodeTwo{2476-1249}%
+ \@ACM at 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}%
+ \def\@permissionCodeTwo{1556-4703}%
+\or % TACCESS
+ \def\@journalName{ACM Transactions on Accessible Computing}%
+ \def\@journalNameShort{ACM Trans. Access. Comput.}%
+ \def\@permissionCodeOne{1936-7228}%
+ \def\@permissionCodeTwo{1936-7236}%
+\or % TACO
+ \def\@journalName{ACM Transactions on Architecture and Code Optimization}%
+ \def\@journalNameShort{ACM Trans. Arch. Code Optim.}%
+ \def\@permissionCodeOne{1544-3566}%
+ \def\@permissionCodeTwo{1544-3973}%
+\or % TALG
+ \def\@journalName{ACM Transactions on Algorithms}%
+ \def\@journalNameShort{ACM Trans. Algor.}%
+ \def\@permissionCodeOne{1549-6325}%
+ \def\@permissionCodeTwo{1549-6333}%
+\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}%
+ \def\@permissionCodeTwo{2375-4702}%
+\or % TAP
+ \def\@journalName{ACM Transactions on Applied Perception}%
+ \def\@journalNameShort{ACM Trans. Appl. Percept.}%
+ \def\@permissionCodeOne{1544-3558}%
+ \def\@permissionCodeTwo{1544-3965}%
+\or % TCPS
+ \def\@journalName{ACM Transactions on Cyber-Physical Systems}%
+ \def\@journalNameShort{ACM Trans. Cyber-Phys. Syst.}%
+ \def\@permissionCodeOne{2378-962X}%
+ \def\@permissionCodeTwo{2378-9638}%
+\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}%
+ \def\@journalNameShort{ACM Trans. Econ. Comput.}%
+ \def\@permissionCodeOne{2167-8375}%
+ \def\@permissionCodeTwo{2167-8383}%
+\or % TECS
+ \def\@journalName{ACM Transactions on Embedded Computing Systems}%
+ \def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}%
+ \def\@permissionCodeOne{1539-9087}%
+ \def\@permissionCodeTwo{1558-3465}%
+\or % TELO
+ \def\@journalName{ACM Transactions on Evolutionary Learning and Optimization}%
+ \def\@journalNameShort{ACM Trans. Evol. Learn. Optim.}%
+ \def\@permissionCodeOne{2688-299X}%
+ \def\@permissionCodeTwo{2688-3007}%
+\or % THRI
+ \def\@journalName{ACM Transactions on Human-Robot Interaction}%
+ \def\@journalNameShort{ACM Trans. Hum.-Robot Interact.}%
+ \def\@permissionCodeOne{2573-9522}%
+ \def\@permissionCodeTwo{2573-9522}%
+\or % TIIS
+ \def\@journalName{ACM Transactions on Interactive Intelligent Systems}%
+ \def\@journalNameShort{ACM Trans. Interact. Intell. Syst.}%
+ \def\@permissionCodeOne{2160-6455}%
+ \def\@permissionCodeTwo{2160-6463}%
+\or % TIOT
+ \def\@journalName{ACM Transactions on Internet of Things}%
+ \def\@journalNameShort{ACM Trans. Internet Things}%
+ \def\@permissionCodeOne{2577-6207}%
+ \def\@permissionCodeTwo{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}%
+ \def\@permissionCodeTwo{2157-6912}%
+\or % TKDD
+ \def\@journalName{ACM Transactions on Knowledge Discovery from Data}%
+ \def\@journalNameShort{ACM Trans. Knowl. Discov. Data.}%
+ \def\@permissionCodeOne{1556-4681}%
+ \def\@permissionCodeTwo{1556-472X}%
+\or % TMIS
+ \def\@journalName{ACM Transactions on Management Information Systems}%
+ \def\@journalNameShort{ACM Trans. Manag. Inform. Syst.}%
+ \def\@permissionCodeOne{2158-656X}%
+ \def\@permissionCodeTwo{2158-6578}%
+\or % TOCE
+ \def\@journalName{ACM Transactions on Computing Education}%
+ \def\@journalNameShort{ACM Trans. Comput. Educ.}%
+ \def\@permissionCodeOne{1946-6226}%
+ \def\@permissionCodeTwo{1946-6226}%
+\or % TOCHI
+ \def\@journalName{ACM Transactions on Computer-Human Interaction}%
+ \def\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}%
+ \def\@permissionCodeOne{1073-0516}%
+ \def\@permissionCodeTwo{1557-7325}%
+\or % TOCL
+ \def\@journalName{ACM Transactions on Computational Logic}%
+ \def\@journalNameShort{ACM Trans. Comput. Logic}%
+ \def\@permissionCodeOne{1529-3785}%
+ \def\@permissionCodeTwo{1557-945X}%
+\or % TOCS
+ \def\@journalName{ACM Transactions on Computer Systems}%
+ \def\@journalNameShort{ACM Trans. Comput. Syst.}%
+ \def\@permissionCodeOne{0734-2071}%
+ \def\@permissionCodeTwo{1557-7333}%
+\or % TOCT
+ \def\@journalName{ACM Transactions on Computation Theory}%
+ \def\@journalNameShort{ACM Trans. Comput. Theory}%
+ \def\@permissionCodeOne{1942-3454}%
+ \def\@permissionCodeTwo{1942-3462}%
+\or % TODAES
+ \def\@journalName{ACM Transactions on Design Automation of Electronic Systems}%
+ \def\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}%
+ \def\@permissionCodeOne{1084-4309}%
+ \def\@permissionCodeTwo{1557-7309}%
+\or % TODS
+ \def\@journalName{ACM Transactions on Database Systems}%
+ \def\@journalNameShort{ACM Trans. Datab. Syst.}%
+ \def\@permissionCodeOne{0362-5915}%
+ \def\@permissionCodeTwo{1557-4644}%
+\or % TOG
+ \def\@journalName{ACM Transactions on Graphics}%
+ \def\@journalNameShort{ACM Trans. Graph.}%
+ \def\@permissionCodeOne{0730-0301}%
+ \def\@permissionCodeTwo{1557-7368}%
+\or % TOIS
+ \def\@journalName{ACM Transactions on Information Systems}%
+ \def\@journalNameShort{ACM Trans. Inf. Syst.}%
+ \def\@permissionCodeOne{1046-8188}%
+ \def\@permissionCodeTwo{1558-2868}%
+\or % TOIT
+ \def\@journalName{ACM Transactions on Internet Technology}%
+ \def\@journalNameShort{ACM Trans. Internet Technol.}%
+ \def\@permissionCodeOne{1533-5399}%
+ \def\@permissionCodeTwo{1557-6051}%
+\or % TOMACS
+ \def\@journalName{ACM Transactions on Modeling and Computer Simulation}%
+ \def\@journalNameShort{ACM Trans. Model. Comput. Simul.}%
+ \def\@permissionCodeOne{1049-3301}%
+ \def\@permissionCodeTwo{1558-1195}%
+\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{1551-6865}%
+\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}%
+ \def\@permissionCodeTwo{2376-3647}%
+\or % TOMS
+ \def\@journalName{ACM Transactions on Mathematical Software}%
+ \def\@journalNameShort{ACM Trans. Math. Softw.}%
+ \def\@permissionCodeOne{0098-3500}%
+ \def\@permissionCodeTwo{1557-7295}%
+\or % TOPC
+ \def\@journalName{ACM Transactions on Parallel Computing}%
+ \def\@journalNameShort{ACM Trans. Parallel Comput.}%
+ \def\@permissionCodeOne{2329-4949}%
+ \def\@permissionCodeTwo{2329-4957}%
+\or % TOPLAS
+ \def\@journalName{ACM Transactions on Programming Languages and Systems}%
+ \def\@journalNameShort{ACM Trans. Program. Lang. Syst.}%
+ \def\@permissionCodeOne{0164-0925}%
+ \def\@permissionCodeTwo{1558-4593}%
+\or % TOPML
+ \def\@journalName{ACM Transactions on Probabilistic Machine Learning}%
+ \def\@journalNameShort{ACM Trans. Probab. Mach. Learn.}%
+ \def\@permissionCodeOne{2836-8924}%
+ \def\@permissionCodeTwo{2836-8924}%
+\or % TOPS
+ \def\@journalName{ACM Transactions on Privacy and Security}%
+ \def\@journalNameShort{ACM Trans. Priv. Sec.}%
+ \def\@permissionCodeOne{2471-2566}%
+ \def\@permissionCodeTwo{2471-2574}%
+\or % TORS
+ \def\@journalName{ACM Transactions on Recommender Systems}%
+ \def\@journalNameShort{ACM Trans. Recomm. Syst.}%
+ \def\@permissionCodeOne{2770-6699}%
+ \def\@permissionCodeTwo{2770-6699}%
+\or % TOS
+ \def\@journalName{ACM Transactions on Storage}%
+ \def\@journalNameShort{ACM Trans. Storage}%
+ \def\@permissionCodeOne{1553-3077}%
+ \def\@permissionCodeTwo{1553-3093}%
+\or % TOSEM
+ \def\@journalName{ACM Transactions on Software Engineering and Methodology}%
+ \def\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}%
+ \def\@permissionCodeOne{1049-331X}%
+ \def\@permissionCodeTwo{1557-7392}%
+\or % TOSN
+ \def\@journalName{ACM Transactions on Sensor Networks}%
+ \def\@journalNameShort{ACM Trans. Sensor Netw.}%
+ \def\@permissionCodeOne{1550-4859}%
+ \def\@permissionCodeTwo{1550-4867}%
+\or % TQC
+ \def\@journalName{ACM Transactions on Quantum Computing}%
+ \def\@journalNameShort{ACM Trans. Quantum Comput.}%
+ \def\@permissionCodeOne{2643-6817}%
+ \def\@permissionCodeTwo{2643-6817}%
+\or % TRETS
+ \def\@journalName{ACM Transactions on Reconfigurable Technology and Systems}%
+ \def\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}%
+ \def\@permissionCodeOne{1936-7406}%
+ \def\@permissionCodeTwo{1936-7414}%
+\or % TSAS
+ \def\@journalName{ACM Transactions on Spatial Algorithms and Systems}%
+ \def\@journalNameShort{ACM Trans. Spatial Algorithms Syst.}%
+ \def\@permissionCodeOne{2374-0353}%
+ \def\@permissionCodeTwo{2374-0361}%
+\or % TSC
+ \def\@journalName{ACM Transactions on Social Computing}%
+ \def\@journalNameShort{ACM Trans. Soc. Comput.}%
+ \def\@permissionCodeOne{2469-7818}%
+ \def\@permissionCodeTwo{2469-7826}%
+\or % TSLP
+ \def\@journalName{ACM Transactions on Speech and Language Processing}%
+ \def\@journalNameShort{ACM Trans. Speech Lang. Process.}%
+ \def\@permissionCodeOne{1550-4875}%
+ \def\@permissionCodeTwo{2329-9304}%
+\or % TWEB
+ \def\@journalName{ACM Transactions on the Web}%
+ \def\@journalNameShort{ACM Trans. Web}%
+ \def\@permissionCodeOne{1559-1131}%
+ \def\@permissionCodeTwo{1559-114X}%
+\else % FACMP, a dummy journal
+ \def\@journalName{ACM Just Accepted}%
+ \def\@journalNameShort{ACM Accepted}%
+ \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 at journal@bibstriptrue
+ \global\@ACM at journal@bibstrip at or@togtrue}
+\def\@journalCode at nr{0}
+\def\@journalName{}%
+\def\@journalNameShort{\@journalName}%
+\def\@permissionCodeOne{XXXX-XXXX}%
+\def\@permissionCodeTwo{\@permissionCodeOne}%
+\newcommand\acmConference[4][]{%
+ \gdef\acmConference at shortname{#1}%
+ \gdef\acmConference at name{#2}%
+ \gdef\acmConference at date{#3}%
+ \gdef\acmConference at venue{#4}%
+ \ifx\acmConference at shortname\@empty
+ \gdef\acmConference at shortname{#2}%
+ \fi
+ \global\@ACM at journal@bibstripfalse
+ \ifx\@acmBooktitle\@empty\relax
+ \acmBooktitle{Proceedings of \acmConference at name
+ \ifx\acmConference at name\acmConference at shortname\else
+ \ (\acmConference at shortname)\fi}%
+ \fi
+}
+\if at ACM@journal\else
+\acmConference[Conference'17]{ACM Conference}{July 2017}{Washington,
+ DC, USA}%
+\fi
+\def\acmBooktitle#1{\gdef\@acmBooktitle{#1}}
+\acmBooktitle{}
+\def\@editorsAbbrev{(Ed.)}
+\def\@acmEditors{}
+\def\editor#1{\ifx\@acmEditors\@empty
+ \gdef\@acmEditors{#1}%
+ \else
+ \gdef\@editorsAbbrev{(Eds.)}%
+ \g at addto@macro\@acmEditors{\and#1}%
+\fi}
+\def\subtitle#1{\def\@subtitle{#1}}
+\subtitle{}
+\newcount\num at authorgroups
+\num at authorgroups=0\relax
+\newcount\num at authors
+\num at authors=0\relax
+\newif\if at 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 at authors by 1\relax
+ \if at insideauthorgroup\else
+ \global\advance\num at authorgroups by 1\relax
+ \global\@insideauthorgrouptrue
+ \fi
+ \ifx\addresses\@empty
+ \if at ACM@anonymous
+ \gdef\addresses{\@author{Anonymous Author(s)%
+ \ifx\@acmSubmissionID\@empty\else\\Submission Id:
+ \@acmSubmissionID\fi}}%
+ \gdef\authors{Anonymous Author(s)}%
+ \else
+ \expandafter\gdef\expandafter\addresses\expandafter{%
+ \expandafter\@author\expandafter{%
+ \csname typeset at author\the\num at authors\endcsname{#2}}}%
+ \gdef\authors{#2}%
+ \fi
+ \else
+ \if at ACM@anonymous\else
+ \expandafter\g at addto@macro\expandafter\addresses\expandafter{%
+ \expandafter\and\expandafter\@author\expandafter{%
+ \csname typeset at author\the\num at authors\endcsname{#2}}}%
+ \g at addto@macro\authors{\and#2}%
+ \fi
+ \fi
+ \if at 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 at addto@macro\shortauthors{\and#2}%
+ \fi
+ \else
+ \ifx\shortauthors\@empty
+ \gdef\shortauthors{#1}%
+ \else
+ \g at addto@macro\shortauthors{\and#1}%
+ \fi
+ \fi
+ \fi}
+\newcommand{\affiliation}[2][]{%
+ \global\@insideauthorgroupfalse
+ \if at ACM@anonymous\else
+ \g at addto@macro\addresses{\affiliation{#1}{#2}}%
+ \fi}
+\define at boolkey+{@ACM at affiliation@}[@ACM at 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\city\position
+ \let\state\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 at ACM@anonymous\else
+ \g at addto@macro\addresses{\email{#1}{#2}}%
+ \fi}
+\def\orcid#1{\unskip\ignorespaces%
+ \IfBeginWith{#1}{http}{%
+ \expandafter\gdef\csname
+ typeset at author\the\num at authors\endcsname##1{%
+ \href{#1}{##1}}}{%
+ \expandafter\gdef\csname
+ typeset at author\the\num at authors\endcsname##1{%
+ \href{https://orcid.org/#1}{##1}}}}
+\def\authorsaddresses#1{\def\@authorsaddresses{#1}}
+\authorsaddresses{\@mkauthorsaddresses}
+\newcommand\@mktranslatedkeywords[2]{\bgroup
+ \selectlanguage{#1}%
+ {\@specialsection{\keywordsname}%
+ \noindent#2\par}\egroup}
+\def\@titlenotes{}
+\def\titlenote#1{%
+ \g at addto@macro\@title{\footnotemark}%
+ \if at ACM@anonymous
+ \g at addto@macro\@titlenotes{%
+ \stepcounter{footnote}\footnotetext{Title note}}%
+ \else
+ \g at addto@macro\@titlenotes{\stepcounter{footnote}\footnotetext{#1}}%
+ \fi}
+\def\@subtitlenotes{}
+\def\subtitlenote#1{%
+ \g at addto@macro\@subtitle{\footnotemark}%
+ \if at ACM@anonymous
+ \g at addto@macro\@subtitlenotes{%
+ \stepcounter{footnote}\footnotetext{Subtitle note}}%
+ \else
+ \g at addto@macro\@subtitlenotes{%
+ \stepcounter{footnote}\footnotetext{#1}}%
+ \fi}
+\def\@authornotes{}
+\def\authornote#1{%
+ \if at ACM@anonymous\else
+ \g at addto@macro\addresses{\@authornotemark}%
+ \g at addto@macro\@authornotes{%
+ \stepcounter{footnote}\footnotetext{#1}}%
+ \fi}
+\newcommand\authornotemark[1][\relax]{%
+ \ifx#1\relax\relax\relax
+ \g at addto@macro\addresses{\@authornotemark}%
+ \else
+ \g at 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{\ClassWarning{\@classname}{The macro \string\acmPrice
+ is obsolete. ACM no longer prints the price in bibstrip.}}
+\def\acmSubmissionID#1{\def\@acmSubmissionID{#1}}
+\acmSubmissionID{}
+\def\acmISBN#1{\def\@acmISBN{#1}}
+\acmISBN{978-x-xxxx-xxxx-x/YY/MM}
+\def\acmDOI#1{\def\@acmDOI{#1}}
+\acmDOI{10.1145/nnnnnnn.nnnnnnn}
+\newlength\@ACM at badge@width
+\setlength\@ACM at badge@width{3pc}
+\newlength\@ACM at title@width
+\newlength\@ACM at badge@skip
+\setlength\@ACM at badge@skip{1pt}
+\def\@acmBadgeR{}
+\def\@acmBadgeL{}
+\newcommand\acmBadgeR[2][]{%
+ \ifx\@acmBadgeR\@empty
+ \gdef\@acmBadgeR{%
+ \smash{%
+ \raisebox{0.5\height}{%
+ \href{#1}{\includegraphics[width=\@ACM at badge@width]{#2}}}}}%
+ \else
+ \g at addto@macro{\@acmBadgeR}{%
+ \hspace{\@ACM at badge@skip}%
+ \smash{%
+ \raisebox{0.5\height}{%
+ \href{#1}{\includegraphics[width=\@ACM at badge@width]{#2}}}}}%
+ \fi}
+\newcommand\acmBadgeL[2][]{%
+ \ifx\@acmBadgeL\@empty
+ \gdef\@acmBadgeL{%
+ \smash{%
+ \raisebox{0.5\height}{%
+ \href{#1}{\includegraphics[width=\@ACM at badge@width]{#2}}}}}%
+ \else
+ \g at addto@macro{\@acmBadgeL}{%
+ \hspace{\@ACM at badge@skip}%
+ \smash{%
+ \raisebox{0.5\height}{%
+ \href{#1}{\includegraphics[width=\@ACM at badge@width]{#2}}}}}%
+ \fi}
+\let\acmBadge=\acmBadgeR
+\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 at 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 at Body\@saveabstract}{}
+\long\def\@saveabstract#1{\if at ACM@maketitle at typeset
+ \ClassError{\@classname}{Abstract must be defined before maketitle
+ command. Please move it!}\fi
+ \long\gdef\@abstract{#1}}
+\@saveabstract{}
+\long\def\@lempty{}
+\define at boolkey+{@ACM at topmatter@}[@ACM@]{printccs}[true]{%
+ \if at ACM@printccs
+ \ClassInfo{\@classname}{Printing CCS}%
+ \else
+ \ClassInfo{\@classname}{Suppressing CCS}%
+ \fi}{\ClassError{\@classname}{The option printccs can be either true or false}}
+\define at boolkey+{@ACM at topmatter@}[@ACM@]{printacmref}[true]{%
+ \if at 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 at ACM@nonacm\else\if at ACM@printacmref\else
+ \ifnum\getrefnumber{TotPages}>1\relax
+ \ClassWarningNoLine{\@classname}{%
+ ACM reference format is mandatory \MessageBreak
+ for papers over one page. \MessageBreak
+ Please add printacmref=true to the \MessageBreak
+ \string\settopmatter\space command.}%
+ \fi\fi\fi}
+\define at boolkey+{@ACM at topmatter@}[@ACM@]{printfolios}[true]{%
+ \if at ACM@printfolios
+ \ClassInfo{\@classname}{Printing folios}%
+ \else
+ \ClassInfo{\@classname}{Suppressing folios}%
+ \fi}{\ClassError{\@classname}{The option printfolios can be either true or false}}
+\define at cmdkey{@ACM at 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 at authorsperrow{0}}}
+\def\settopmatter#1{\setkeys{@ACM at topmatter@}{#1}}
+\settopmatter{printccs=true, printacmref=true}
+\if at ACM@manuscript
+ \settopmatter{printfolios=true}
+\else
+ \if at 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 at addto@macro{\@received}{; revised #2}%
+ \fi
+ \else
+ \ifx\@received\@empty
+ \gdef\@received{#1 #2}%
+ \else
+ \g at addto@macro{\@received}{; #1 #2}%
+ \fi
+ \fi}
+\AtEndDocument{%
+ \ifx\@received\@empty\else
+ \par\bigskip\noindent\small\normalfont\@received\par
+ \fi}
+\define at choicekey+{ACM}{articletype}[\ACM at ArticleType\ACM at ArticleType@nr]{%
+ Research,Review,Discussion,Invited,Position}[Review]{%
+ \ifcase\ACM at ArticleType@nr
+ \relax % Research
+ \colorlet{@ACM at Article@color}{ACMBlue}%
+ \or % Review
+ \colorlet{@ACM at Article@color}{ACMOrange}%
+ \or % Discussion
+ \colorlet{@ACM at Article@color}{ACMGreen}%
+ \or % Invited
+ \colorlet{@ACM at Article@color}{ACMPurple}%
+ \or % Position
+ \colorlet{@ACM at Article@color}{ACMRed}%
+ \fi
+}{%
+ \ClassError{\@classname}{Article Type must be Research, Review,\MessageBreak
+ Discussion, Invited, or Position}}
+\def\acmArticleType#1{\setkeys{ACM}{articletype=#1}}
+\if at ACM@acmcp
+\acmArticleType{Research}%
+\fi
+ % \end{macrocode}
+\newenvironment{@ACM at color@frame}{%
+ \def\FrameCommand{\hspace*{-6.5pc}%
+ \colorbox{@ACM at Article@color!10!white}}%
+ \MakeFramed {\advance\hsize
+ -6.5pc\relax\FrameRestore}}{\zsaveposy{@ACM at acmcpframe@y}%
+ \endMakeFramed}
+\def\acmCodeLink#1{%
+ \ifx\@acmCodeDataLink\@empty
+ \gdef\@acmCodeDataLink{\url{#1}}%
+ \else
+ \g at addto@macro{\@acmCodeDataLink}{\\ \url{#1}}%
+ \fi}
+\def\@acmCodeDataLink{}
+\def\acmContributions#1{\gdef\@acmContributions{#1}}
+\acmContributions{}
+\let\acmDataLink\acmCodeLink
+\RequirePackage{comment}
+\excludecomment{CCSXML}
+\let\@concepts\@empty
+\newcounter{@concepts}
+\newcommand\ccsdesc[2][100]{%
+ \ccsdesc at parse#1~#2~~\ccsdesc at parse@end}
+\def\textrightarrow{$\rightarrow$}
+\def\ccsdesc at parse#1~#2~#3~{%
+ \stepcounter{@concepts}%
+ \expandafter\ifx\csname CCS at General@#2\endcsname\relax
+ \expandafter\gdef\csname CCS at General@#2\endcsname{\textbullet\
+ \textbf{#2}}%
+ \expandafter\gdef\csname CCS at Punctuation@#2\endcsname{; }%
+ \expandafter\gdef\csname CCS at Specific@#2\endcsname{}%
+ \g at addto@macro{\@concepts}{\csname CCS at General@#2\endcsname
+ \csname CCS at Punctuation@#2\endcsname
+ \csname CCS at Specific@#2\endcsname}%
+ \fi
+ \ifx#3\relax\relax\else
+ \expandafter\gdef\csname CCS at Punctuation@#2\endcsname{
+ \textrightarrow\ }%
+ \expandafter\g at addto@macro\expandafter{\csname CCS at 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 at parse@finish}
+\AtEndDocument{\if at 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 at parse@finish#1\ccsdesc at parse@end{}
+\newif\if at printcopyright
+\@printcopyrighttrue
+\newif\if at printpermission
+\@printpermissiontrue
+\newif\if at acmowned
+\@acmownedtrue
+\define at choicekey*{ACM@}{acmcopyrightmode}[%
+ \acm at copyrightinput\acm at copyrightmode]{none,%
+ acmcopyright,acmlicensed,rightsretained,%
+ usgov,usgovmixed,cagov,cagovmixed,licensedusgovmixed,%
+ licensedcagov,licensedcagovmixed,othergov,licensedothergov,%
+ iw3c2w3,iw3c2w3g,cc}{%
+ \@printpermissiontrue
+ \@printcopyrighttrue
+ \@acmownedtrue
+ \ifnum\acm at copyrightmode=0\relax % none
+ \@printpermissionfalse
+ \@printcopyrightfalse
+ \@acmownedfalse
+ \fi
+ \ifnum\acm at copyrightmode=2\relax % acmlicensed
+ \@acmownedfalse
+ \fi
+ \ifnum\acm at copyrightmode=3\relax % rightsretained
+ \@acmownedfalse
+ \fi
+ \ifnum\acm at copyrightmode=4\relax % usgov
+ \@printpermissiontrue
+ \@printcopyrightfalse
+ \@acmownedfalse
+ \fi
+ \ifnum\acm at copyrightmode=6\relax % cagov
+ \@acmownedfalse
+ \fi
+ \ifnum\acm at copyrightmode=8\relax % licensedusgovmixed
+ \@acmownedfalse
+ \fi
+ \ifnum\acm at copyrightmode=9\relax % licensedcagov
+ \@acmownedfalse
+ \fi
+ \ifnum\acm at copyrightmode=10\relax % licensedcagovmixed
+ \@acmownedfalse
+ \fi
+ \ifnum\acm at copyrightmode=11\relax % othergov
+ \@acmownedtrue
+ \fi
+ \ifnum\acm at copyrightmode=12\relax % licensedothergov
+ \@acmownedfalse
+ \fi
+ \ifnum\acm at copyrightmode=13\relax % iw3c2w3
+ \@acmownedfalse
+ \fi
+ \ifnum\acm at copyrightmode=14\relax % iw3c2w3g
+ \@acmownedfalse
+ \fi
+ \ifnum\acm at copyrightmode=15\relax % cc
+ \@acmownedfalse
+ \fi}
+\def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}}
+\setcopyright{acmlicensed}
+\newcommand\setcctype[2][4.0]{%
+ \def\ACM at cc@version{#1}%
+ \def\ACM at cc@type{#2}}
+\setcctype{by}
+\def\@copyrightowner{%
+ \ifcase\acm at copyrightmode\relax % none
+ \or % acmcopyright
+ ACM\@.
+ \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
+ Copyright held by the owner/author(s).
+ \or % cagov
+ Copyright Crown in Right of Canada.
+ \or %cagovmixed
+ Copyright held by the owner/author(s).
+ \or %licensedusgovmixed
+ Copyright held by the owner/author(s). Publication rights licensed to
+ ACM\@.
+ \or % licensedcagov
+ Copyright held by the owner/author(s).
+ \or %licensedcagovmixed
+ Copyright held by the owner/author(s). Publication rights licensed to
+ ACM\@.
+ \or % othergov
+ Copyright held by the owner/author(s).
+ \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.
+ \or % cc
+ Copyright held by the owner/author(s).
+ \fi}
+\def\@formatdoi#1{\url{https://doi.org/#1}}
+\def\@copyrightpermission{%
+ \ifcase\acm at 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 at 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 at acm.org.
+ \or % rightsretained
+ 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 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. All others Request permissions from
+ owner\hspace*{.5pt}/author(s).
+ \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. Request permissions from owner\hspace*{.5pt}/author(s).
+ \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/or a fee. Request permissions from
+ owner\hspace*{.5pt}/author(s).
+ \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/or a fee. Request
+ permissions from owner\hspace*{.5pt}/author(s).
+ \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. Request permissions from
+ owner\hspace*{.5pt}/author(s).
+ \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/or a fee. Request permissions from
+ owner\hspace*{.5pt}/author(s).
+ \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. Request permissions from
+ owner\hspace*{.5pt}/author(s).
+ \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. Request
+ permissions from owner\hspace*{.5pt}/author(s).
+ \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. Request permissions from owner\hspace*{.5pt}/author(s).
+ \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.
+ \or % CC
+ \IfEq{\ACM at cc@type}{zero}{%
+ \def\ACM at CC@Url{https://creativecommons.org/publicdomain/zero/1.0/legalcode}}{%
+ \edef\ACM at CC@Url{https://creativecommons.org/licenses/\ACM@cc@type/\ACM@cc@version/legalcode}}%
+ \href{\ACM at CC@Url}{\includegraphics[height=5ex]{doclicense-CC-\ACM at cc@type-88x31}}\\
+ \href{\ACM at CC@Url}{%
+ This work is licensed under a Creative Commons
+ \IfEq{\ACM at cc@type}{zero}{CC0 1.0 Universal}{%
+ \IfEq{\ACM at cc@type}{by}{Attribution}{}%
+ \IfEq{\ACM at cc@type}{by-sa}{Attribution-ShareAlike}{}%
+ \IfEq{\ACM at cc@type}{by-nd}{Attribution-NoDerivatives}{}%
+ \IfEq{\ACM at cc@type}{by-nc}{Attribution-NonCommercial}{}%
+ \IfEq{\ACM at cc@type}{by-nc-sa}{Attribution-NonCommercial-ShareAlike}{}%
+ \IfEq{\ACM at cc@type}{by-nc-nd}{Attribution-NonCommercial-NoDerivatives}{}%
+ ~\IfEq{\ACM at cc@version}{4.0}{4.0 International}{3.0 Unported}%
+ }
+ License.}%
+ \fi}
+%%
+\def\copyrightyear#1{\def\@copyrightyear{#1}}
+\copyrightyear{\@acmYear}
+\def\@teaserfigures{}
+\newenvironment{teaserfigure}{\Collect at Body\@saveteaser}{}
+\long\def\@saveteaser#1{\g at addto@macro\@teaserfigures{\@teaser{#1}}}
+\renewcommand{\thanks}[1]{%
+ \@ifnotempty{#1}{%
+ \if at ACM@anonymous
+ \g at addto@macro\thankses{\thanks{A note}}%
+ \else
+ \g at addto@macro\thankses{\thanks{#1}}%
+ \fi}}
+\newcommand{\anon}[2][ANONYMIZED]{%
+ \if at ACM@anonymous%
+ {\color{ACMOrange}#1}%
+ \else%
+ #2%
+ \fi}
+\ifx\@beginmaketitlehook\@undefined
+ \let\@beginmaketitlehook\@empty
+\fi
+\def\AtBeginMaketitle{\g at addto@macro\@beginmaketitlehook}
+\def\@acmengagemetadata{}
+\def\setengagemetadata#1#2{%
+ \g at addto@macro{\@acmengagemetadata}{%
+ \@setengagemetadata{#1}{#2}}}
+\newbox\mktitle at bx
+\def\maketitle{\@beginmaketitlehook
+ \@ACM at maketitle@typesettrue
+ \if at ACM@anonymous
+ % Anonymize omission of \author-s
+ \ifnum\num at authorgroups=0\author{}\fi
+ \fi
+ \begingroup
+ \let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig
+ \let\@footnotemark\@footnotemark at nolink
+ \let\@footnotetext\@footnotetext at nolink
+ \renewcommand\thefootnote{\@fnsymbol\c at footnote}%
+ \hsize=\textwidth
+ \def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}%
+ \@mktitle\if at ACM@sigchiamode\else\@mkauthors\fi\@mkteasers
+ \@printtopmatter
+ \if at 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
+ \if at ACM@acmcp\else
+ \ifx\@empty\@authorsaddresses\else
+ \if at ACM@anonymous\else
+ \if at ACM@journal at bibstrip@or at tog
+ \footnotetextauthorsaddresses{%
+ \def\par{\let\par\@par}\parindent\z@\@setauthorsaddresses}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \if at ACM@nonacm
+ \ifnum\acm at copyrightmode=15\relax % cc
+ \footnotetextcopyrightpermission{\@copyrightpermission}%
+ \fi
+ \else
+ \if at ACM@acmcp\else
+ \footnotetextcopyrightpermission{%
+ \if at 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 at ACM@authorversion\else
+ \if at printpermission\@copyrightpermission\par\fi
+ \fi
+ \if at ACM@manuscript\else
+ \if at ACM@journal at bibstrip\else % Print the conference information
+ \if at ACM@engage
+ {\itshape \@acmBooktitle, \@acmYear.}\par
+ \else
+ {\itshape \acmConference at shortname, \acmConference at date, \acmConference at venue}\par
+ \fi
+ \fi
+ \fi
+ \if at printcopyright
+ \copyright\ \@copyrightyear\ \@copyrightowner\\
+ \else
+ \@copyrightyear.\
+ \fi
+ \if at ACM@manuscript
+ Manuscript submitted to ACM\\
+ \else
+ \if at 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 at ACM@journal at bibstrip
+ \emph{\@journalName}%
+ \else
+ \emph{\@acmBooktitle}%
+ \fi
+ \ifx\@acmDOI\@empty
+ .
+ \else
+ , \@formatdoi{\@acmDOI}.
+ \fi\\
+ \else
+ \if at ACM@nonacm\else
+ \if at ACM@journal at bibstrip
+ ACM~\@permissionCodeTwo/\@acmYear/\@acmMonth-ART\@acmArticle\\
+ \@formatdoi{\@acmDOI}%
+ \else % Conference
+ \ifx\@acmISBN\@empty\else ACM~ISBN~\@acmISBN\\\fi
+ \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi%
+ \fi
+ \fi
+ \fi
+ \fi}%
+ \fi
+ \fi
+ \endgroup
+ \if at ACM@engage\@typesetengagemetadata\fi
+ \setcounter{footnote}{0}%
+ \@mkabstract
+ \ifx\@translatedabstracts\@empty\else
+ \@translatedabstracts\fi
+ \if at ACM@printccs
+ \ifx\@concepts\@empty\else\bgroup
+ {\@specialsection{CCS Concepts}%
+ \noindent\@concepts\par}\egroup
+ \fi
+ \fi
+ \if at ACM@acmcp\else
+ \ifx\@keywords\@empty\else\bgroup
+ {\@specialsection{\keywordsname}%
+ \noindent\@keywords\par}\egroup
+ \fi
+ \ifx\@translatedkeywords\@empty\else
+ \@translatedkeywords
+ \fi
+ \fi
+ \let\metadata at authors=\authors
+ \nxandlist{, }{, }{, }\metadata at authors
+ \def\@ACM at checkaffil{}%
+ \hypersetup{%
+ pdfauthor={\metadata at authors},
+ pdftitle={\@title},
+ pdfsubject={\@concepts},
+ pdfkeywords={\@keywords},
+ pdfcreator={LaTeX with acmart
+ \csname ver@\@classname.cls\endcsname\space
+ and hyperref
+ \csname ver at hyperref.sty\endcsname}}%
+ \andify\authors
+ \andify\shortauthors
+ \global\let\authors=\authors
+ \global\let\shortauthors=\shortauthors
+ \if at 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
+ \if at ACM@acmcp
+ \set at ACM@acmcpbox
+ \AtEndDocument{\end at ACM@color at frame}%
+ \@ACM at color@frame
+ \fi
+}
+\newbox\@ACM at acmcpbox
+\def\set at ACM@acmcpbox{%
+ \bgroup
+ \hsize=5pc
+ \global\setbox\@ACM at acmcpbox=\vbox{%
+ \setlength{\parindent}{\z@}%
+ {\includegraphics[width=\hsize]{acm-jdslogo}\par}%
+ \scriptsize
+ \ifnum\getrefnumber{TotPages}>1\else
+ \zrefused{@ACM at acmcpbox@y}%
+ \zrefused{@ACM at acmcpframe@y}%
+ \@tempdima=\dimexpr\zposy{@ACM at acmcpbox@y}sp -
+ \zposy{@ACM at acmcpframe@y}sp+0.3\FrameSep+
+ \@ACM at acmcp@delta\relax
+ \ifdim\@tempdima>0pt\relax
+ \vspace*{\@tempdima}%
+ \protected at write\@auxout{}%
+ {\string\global\@ACM at acmcp@delta=\the\@tempdima\relax}%
+ \fi
+ \fi
+ \ifx\@acmCodeDataLink\@empty\else\bigskip
+ Code and data links:\\ \@acmCodeDataLink\par\bigskip
+ \fi
+ \ifx\@keywords\@empty\else\bigskip
+ Keywords: \@keywords\par
+ \fi
+ \ifx\@acmContributions\@empty\else\bigskip
+ \@acmContributions\par
+ \fi
+ \ifx\@empty\@authorsaddresses\else\bigskip\@setauthorsaddresses\fi
+ \zsaveposy{@ACM at acmcpbox@y}%
+ }
+\egroup}
+\def\@specialsection#1{%
+ \let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig
+ \ifcase\ACM at 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}%
+ \or % acmengage
+ \section*{#1}%
+ \or % acmcp
+ \section*{#1}%
+ \fi
+ \let\@vspace\@vspace at acm
+ \let\@vspacer\@vspacer at acm
+}
+\def\@printtopmatter{%
+ \ifx\@startPage\@empty
+ \gdef\@startPage{1}%
+ \else
+ \setcounter{page}{\@startPage}%
+ \fi
+ \@tempdima=\ht\mktitle at bx
+ \advance\@tempdima by \dp\mktitle at bx
+ \ifdim\@tempdima>0.9\textheight
+ \loop
+ \setbox\@tempboxa=\vsplit \mktitle at bx to 0.9\textheight
+ \thispagestyle{firstpagestyle}%
+ \noindent\unvbox\@tempboxa
+ \clearpage
+ \@tempdima=\ht\mktitle at bx
+ \advance\@tempdima by \dp\mktitle at bx
+ \ifdim\@tempdima>0.9\textheight\repeat
+ \fi
+ \thispagestyle{firstpagestyle}%
+ \noindent
+ \ifcase\ACM at format@nr
+ \relax % manuscript
+ \box\mktitle at bx\par
+ \or % acmsmall
+ \box\mktitle at bx\par
+ \or % acmlarge
+ \box\mktitle at bx\par
+ \or % acmtog
+ \twocolumn[\box\mktitle at bx]%
+ \or % sigconf
+ \twocolumn[\box\mktitle at bx]%
+ \or % siggraph
+ \twocolumn[\box\mktitle at bx]%
+ \or % sigplan
+ \twocolumn[\box\mktitle at bx]%
+ \or % sigchi
+ \twocolumn[\box\mktitle at bx]%
+ \or % sigchi-a
+ \par\box\mktitle at bx\par\bigskip
+ \or % acmengage
+ \twocolumn[\box\mktitle at bx]%
+ \or % acmcp
+ \box\mktitle at bx\par
+ \fi
+}
+\def\@mktitle{%
+ \ifcase\ACM at format@nr
+ \relax % manuscript
+ \@mktitle at i
+ \or % acmsmall
+ \@mktitle at i
+ \or % acmlarge
+ \@mktitle at i
+ \or % acmtog
+ \@mktitle at i
+ \or % sigconf
+ \@mktitle at iii
+ \or % siggraph
+ \@mktitle at iii
+ \or % sigplan
+ \@mktitle at iii
+ \or % sigchi
+ \@mktitle at iii
+ \or % sigchi-a
+ \@mktitle at iv
+ \or % acmengage
+ \@mktitle at iii
+ \or % acmcp
+ \@mktitle at i
+ \fi
+}
+\def\@titlefont{%
+ \ifcase\ACM at 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
+ \or % acmengage
+ \Huge\sffamily\bfseries
+ \or % acmcp
+ \LARGE\sffamily\bfseries
+ \fi}
+\def\@subtitlefont{\normalsize
+ \ifcase\ACM at 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
+ \or % acmengage
+ \LARGE\mdseries
+ \or % acmcp
+ \mdseries
+ \fi}
+\def\@mktitle at i{\hsize=\textwidth
+ \if at ACM@acmcp
+ \advance\hsize by -6pc%
+ \fi
+ \@ACM at title@width=\hsize
+ \setbox\mktitle at bx=\vbox{\noindent\@titlefont
+ \parbox[t]{\@ACM at title@width}{\raggedright
+ \@titlefont\noindent
+ \@title\@translatedtitle%
+ \ifx\@subtitle\@empty\else
+ \par\noindent{\@subtitlefont\@subtitle\@translatedsubtitle}%
+ \fi}%
+ \par\bigskip}}%
+\def\@mktitle at iii{\hsize=\textwidth
+ \setbox\mktitle at bx=\vbox{\@titlefont\centering
+ \@ACM at title@width=\hsize
+ \parbox[t]{\@ACM at title@width}{\centering\@titlefont
+ \@title\@translatedtitle%
+ \ifx\@subtitle\@empty\else
+ \par\noindent{\@subtitlefont\@subtitle\@translatedsubtitle}
+ \fi
+ }%
+ \par\bigskip}}%
+\def\@mktitle at iv{\hsize=\textwidth
+ \setbox\mktitle at bx=\vbox{\raggedright\leftskip5pc\@titlefont
+ \noindent\leavevmode\leaders\hrule height 2pt\hfill\kern0pt\par
+ \noindent\@title\@translatedtitle%
+ \ifx\@subtitle\@empty\else
+ \par\noindent\@subtitlefont\@subtitle\@translatedsubtitle%
+ \fi
+ \par\bigskip}}%
+\newbox\@ACM at commabox
+\def\@ACM at addtoaddress#1{%
+ \ifvmode\else
+ \if at ACM@affiliation at obeypunctuation\else
+ \setbox\@ACM at commabox=\hbox{, }%
+ \unskip\cleaders\copy\@ACM at commabox\hskip\wd\@ACM at commabox
+ \fi\fi
+ #1}
+\def\streetaddress#1{\ClassWarning{\@classname}{ACM no longer collects
+ authors' postal addresses. I am ignoring your street
+ address}\unskip\ignorespaces}
+\def\postcode#1{\ClassWarning{\@classname}{ACM no longer collects
+ authors' postal addresses. I am ignoring your postal
+ code}\unskip\ignorespaces}
+\if at ACM@journal
+ \def\position#1{\unskip\ignorespaces}
+ \def\institution#1{\global\@ACM at instpresenttrue
+ \unskip~#1\ignorespaces}
+ \def\city#1{\global\@ACM at citypresenttrue\unskip\ignorespaces}
+ \def\state#1{\unskip\ignorespaces}
+ \newcommand\department[2][0]{\unskip\ignorespaces}
+ \def\country#1{\StrDel{#1}{ }[\@tempa]%
+ \ifx\@tempa\@empty\else
+ \global\@ACM at countrypresenttrue\fi
+ \if at ACM@affiliation at obeypunctuation\else, \fi#1\ignorespaces}
+\else
+ \def\position#1{\if at ACM@affiliation at obeypunctuation#1\else#1\par\fi}%
+ \def\institution#1{\global\@ACM at instpresenttrue
+ \if at ACM@affiliation at obeypunctuation#1\else#1\par\fi}%
+ \newcommand\department[2][0]{\if at ACM@affiliation at obeypunctuation
+ #2\else#2\par\fi}%
+ \def\city#1{\global\@ACM at citypresenttrue\@ACM at addtoaddress{#1}}%
+ \let\state\@ACM at addtoaddress
+ \def\country#1{\global\@ACM at countrypresenttrue\@ACM at addtoaddress{#1}}%
+\fi
+\def\@mkauthors{\begingroup
+ \hsize=\textwidth
+ \ifcase\ACM at format@nr
+ \relax % manuscript
+ \@mkauthors at i
+ \or % acmsmall
+ \@mkauthors at i
+ \or % acmlarge
+ \@mkauthors at i
+ \or % acmtog
+ \@mkauthors at i
+ \or % sigconf
+ \@mkauthors at iii
+ \or % siggraph
+ \@mkauthors at iii
+ \or % sigplan
+ \@mkauthors at iii
+ \or % sigchi
+ \@mkauthors at iii
+ \or % sigchi-a
+ \@mkauthors at iv
+ \or % acmengage
+ \@mkauthors at iii
+ \or % acmcp
+ \@mkauthors at i
+ \fi
+ \endgroup
+}
+\def\@authorfont{\Large\sffamily}
+\def\@affiliationfont{\normalsize\normalfont}
+\ifcase\ACM at 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}
+\or % acmengage
+ \def\@authorfont{\LARGE}
+ \def\@affiliationfont{\large}
+\or % acmcp
+ \def\@authorfont{\large\sffamily}
+ \def\@affiliationfont{\small\normalfont}
+\fi
+\def\@typeset at author@line{%
+ \andify\@currentauthors\par\noindent
+ \@currentauthors\def\@currentauthors{}%
+ \ifx\@currentaffiliations\@empty\else
+ \andify\@currentaffiliations
+ \unskip, {\@currentaffiliations}\par
+ \fi
+ \def\@currentaffiliations{}}
+\newif\if at ACM@instpresent
+\@ACM at instpresenttrue
+\newif\if at ACM@citypresent
+\@ACM at citypresenttrue
+\newif\if at ACM@countrypresent
+\@ACM at countrypresenttrue
+\def\@ACM at resetaffil{%
+ \global\@ACM at instpresentfalse
+ \global\@ACM at citypresentfalse
+ \global\@ACM at countrypresentfalse
+}
+\def\@ACM at checkaffil{%
+ \if at ACM@instpresent\else
+ \ClassWarningNoLine{\@classname}{No institution present for an affiliation}%
+ \fi
+ \if at ACM@citypresent\else
+ \ClassWarningNoLine{\@classname}{No city present for an affiliation}%
+ \fi
+ \if at 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 at i{%
+ \def\@currentauthors{}%
+ \def\@currentaffiliations{}%
+ \global\let\and\@typeset at author@line
+ \def\@author##1{%
+ \ifx\@currentauthors\@empty
+ \gdef\@currentauthors{\@authorfont\MakeTextUppercase{##1}}%
+ \else
+ \g at 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 at affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM at affiliation@}{##1}%
+ \@ACM at resetaffil
+ \@affiliationfont##2\@ACM at checkaffil}%
+ \else
+ \g at addto@macro{\@currentaffiliations}{\and
+ \setkeys{@ACM at affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM at affiliation@}{##1}\@ACM at resetaffil
+ ##2\@ACM at checkaffil}%
+ \fi
+ \fi
+ \global\let\and\@typeset at author@line}%
+ \if at ACM@acmcp
+ \advance\hsize by -6pc%
+ \fi
+ \global\setbox\mktitle at bx=\vbox{\noindent\unvbox\mktitle at bx\par\medskip
+ \noindent\addresses\@typeset at author@line
+ \par\medskip}%
+}
+\newbox\author at bx
+\newdimen\author at bx@wd
+\newskip\author at bx@sep
+\author at bx@sep=1pc\relax
+\def\@typeset at author@bx{\bgroup\hsize=\author at bx@wd
+ \def\and{\par}\normalbaselines
+ \global\setbox\author at bx=\vtop{\if at ACM@sigchiamode\else\centering\fi
+ \@authorfont\@currentauthors\par\@affiliationfont
+ \@currentaffiliation}\egroup
+ \box\author at bx\hspace{\author at bx@sep}%
+ \gdef\@currentauthors{}%
+ \gdef\@currentaffiliation{}}
+\def\@mkauthors at iii{%
+ \author at bx@wd=\textwidth\relax
+ \advance\author at bx@wd by -\author at bx@sep\relax
+ \ifnum\@ACM at authorsperrow>0\relax
+ \divide\author at bx@wd by \@ACM at authorsperrow\relax
+ \else
+ \ifcase\num at authorgroups
+ \relax % 0?
+ \or % 1=one author per row
+ \or % 2=two authors per row
+ \divide\author at bx@wd by \num at authorgroups\relax
+ \or % 3=three authors per row
+ \divide\author at bx@wd by \num at authorgroups\relax
+ \or % 4=two authors per row (!)
+ \divide\author at bx@wd by 2\relax
+ \else % three authors per row
+ \divide\author at bx@wd by 3\relax
+ \fi
+ \fi
+ \advance\author at bx@wd by -\author at bx@sep\relax
+ \gdef\@currentauthors{}%
+ \gdef\@currentaffiliation{}%
+ \def\@author##1{\ifx\@currentauthors\@empty
+ \gdef\@currentauthors{\par##1}%
+ \else
+ \g at 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 at addto@macro\@currentaffiliation{\par\bgroup
+ \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}%
+ \fi}%
+ \def\affiliation##1##2{\ifx\@currentaffiliation\@empty
+ \gdef\@currentaffiliation{%
+ \setkeys{@ACM at affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM at affiliation@}{##1}\@ACM at resetaffil
+ ##2\@ACM at checkaffil}%
+ \else
+ \g at addto@macro\@currentaffiliation{\par
+ \setkeys{@ACM at affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM at affiliation@}{##1}\@ACM at resetaffil
+ ##2\@ACM at checkaffil}%
+ \fi
+ \global\let\and\@typeset at author@bx
+}%
+ \hsize=\textwidth
+ \global\setbox\mktitle at bx=\vbox{\noindent
+ \unvbox\mktitle at bx\par\medskip\leavevmode
+ \lineskip=1pc\relax\centering\hspace*{-1em}%
+ \addresses\let\and\@typeset at author@bx\and\par\bigskip}}
+\def\@mkauthors at iv{%
+ \author at bx@wd=\columnwidth\relax
+ \advance\author at bx@wd by -\author at bx@sep\relax
+ \ifnum\@ACM at authorsperrow>0\relax
+ \divide\author at bx@wd by \@ACM at authorsperrow\relax
+ \else
+ \ifcase\num at authorgroups
+ \relax % 0?
+ \or % 1=one author per row
+ \else % 2=two authors per row
+ \divide\author at bx@wd by 2\relax
+ \fi
+ \fi
+ \advance\author at bx@wd by -\author at bx@sep\relax
+ \gdef\@currentauthors{}%
+ \gdef\@currentaffiliation{}%
+ \def\@author##1{\ifx\@currentauthors\@empty
+ \gdef\@currentauthors{\par##1}%
+ \else
+ \g at addto@macro\@currentauthors{\par##1}%
+ \fi
+ \gdef\and{}}%
+ \def\email##1##2{\ifx\@currentaffiliation\@empty
+ \gdef\@currentaffiliation{\nolinkurl{##2}}%
+ \else
+ \g at addto@macro\@currentaffiliation{\par\nolinkurl{##2}}%
+ \fi}%
+ \def\affiliation##1##2{\ifx\@currentaffiliation\@empty
+ \gdef\@currentaffiliation{%
+ \setkeys{@ACM at affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM at affiliation@}{##1}\@ACM at resetaffil
+ ##2\@ACM at checkaffil}%
+ \else
+ \g at addto@macro\@currentaffiliation{\par
+ \setkeys{@ACM at affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM at affiliation@}{##1}\@ACM at resetaffil
+ ##2\@ACM at checkaffil}%
+ \fi
+ \global\let\and\@typeset at author@bx}%
+ \bgroup\hsize=\columnwidth
+ \par\raggedright\leftskip=\z@
+ \lineskip=1pc\noindent
+ \addresses\let\and\@typeset at author@bx\and\par\bigskip\egroup}
+\def\@mkauthorsaddresses{%
+ \ifnum\num at authors>1\relax
+ Authors' \else Author's \fi
+ Contact Information:
+ \bgroup
+ \def\streetaddress##1{\ClassWarning{\@classname}{ACM no longer collects
+ authors' postal addresses. I am ignoring your street
+ address}\unskip\ignorespaces}%
+ \def\postcode##1{\ClassWarning{\@classname}{ACM no longer collects
+ authors' postal addresses. I am ignoring your postal
+ code}\unskip\ignorespaces}%
+ \def\position##1{\unskip\ignorespaces}%
+ \gdef\@ACM at institution@separator{, }%
+ \def\institution##1{\unskip\@ACM at institution@separator ##1\gdef\@ACM at institution@separator{ and }}%
+ \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; \gdef\@ACM at institution@separator{, }}%
+ \def\@author##1{##1}%
+ \def\email##1##2{\unskip, \nolinkurl{##2}}%
+ \addresses
+ \egroup}
+\AtEndDocument{\if at ACM@nonacm\else\if at ACM@journal
+ \ifx\@authorsaddresses\@empty
+ \ClassWarningNoLine{\@classname}{Authors'
+ addresses are mandatory for ACM journals}%
+ \fi\fi\fi}
+\def\@setaddresses{}
+\def\@authornotemark{\g at addto@macro\@currentauthors{\footnotemark\relax}}
+\def\@@authornotemark#1{\g at 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 at bx=\vbox{\noindent\unvbox\mktitle at bx\par
+ \noindent\@Description at presentfalse
+ \@teaserfigures\par\if at Description@present\else
+ \global\@undescribed at imagestrue
+ \ClassWarning{\@classname}{A possible image without
+ description}\fi
+ \medskip}%
+ \fi}
+\def\@mkabstract{\bgroup
+ \ifx\@abstract\@lempty\else
+ {\phantomsection\addcontentsline{toc}{section}{\abstractname}%
+ \if at ACM@journal
+ \everypar{\setbox\z@\lastbox\everypar{}}\small
+ \else
+ \section*{\abstractname}%
+ \fi
+ \ignorespaces\@abstract\par}%
+ \fi\egroup}
+\def\@mktranslatedabstract#1{\selectlanguage{#1}%
+ \if at ACM@journal
+ \everypar{\setbox\z@\lastbox\everypar{}}\small
+ \else
+ \section*{\abstractname}%
+ \fi
+ \ignorespaces}
+\def\@mkbibcitation{\bgroup
+ \let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig
+ \def\@pages at 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 at 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 at 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 at ACM@journal at bibstrip
+ \textit{\@journalNameShort}
+ \@acmVolume, \@acmNumber \@article at string (\@acmPubDate),
+ \ref{TotPages}~\@pages at word.
+ \else
+ In \textit{\@acmBooktitle}%
+ \ifx\@acmEditors\@empty\textit{.}\else
+ \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.%
+ \fi\
+ ACM, New York, NY, USA%
+ \@article at string\unskip, \ref{TotPages}~\@pages at word.
+ \fi
+ \fi
+ \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi
+\par\egroup}
+\def\@printendtopmatter{%
+ \let\@vspace\@vspace at orig
+ \let\@vspacer\@vspacer at orig
+ \par\bigskip
+ \let\@vspace\@vspace at acm
+ \let\@vspacer\@vspacer at acm
+ }
+\def\@setthanks{\long\def\thanks##1{\par##1\@addpunct.}\thankses}
+\def\@setauthorsaddresses{\@authorsaddresses\unskip\@addpunct.}
+\def\@typesetengagemetadata{%
+ \def\@setengagemetadata##1##2{\par\noindent\textbf{##1} ##2\par}%
+ \@acmengagemetadata}
+\ExplSyntaxOn
+\AddToHook{cmd/maketitle/before}
+ {\tagstructbegin{tag=Title}\tagmcbegin{} \tag_stop:}
+\AddToHook{cmd/maketitle/after}
+ {\tag_start:\tagmcend\tagstructend }
+\ExplSyntaxOff
+\RequirePackage{fancyhdr}
+\let\ACM at ps@plain\ps at plain
+\let\ACM at ps@myheadings\ps at myheadings
+\let\ACM at ps@headings\ps at headings
+\def\ACM at restore@pagestyle{%
+ \let\ps at plain\ACM at ps@plain
+ \let\ps at myheadings\ACM at ps@myheadings
+ \let\ps at headings\ACM at ps@headings}
+\AtBeginDocument{\ACM at restore@pagestyle}
+\if at ACM@review
+ \newsavebox{\ACM at linecount@bx}
+ \newlength\ACM at linecount@bxht
+ \newcount\ACM at linecount
+ \ACM at linecount\@ne\relax
+ \def\ACM at mk@linecount{%
+ \savebox{\ACM at linecount@bx}[4em][t]{\parbox[t]{4em}{\normalfont
+ \normalsize
+ \setlength{\ACM at linecount@bxht}{0pt}%
+ \loop{\color{red}\scriptsize\the\ACM at linecount}\\
+ \global\advance\ACM at linecount by \@ne
+ \addtolength{\ACM at linecount@bxht}{\baselineskip}%
+ \ifdim\ACM at linecount@bxht<\textheight\repeat
+ {\color{red}\scriptsize\the\ACM at linecount}\hfill
+ \global\advance\ACM at linecount by \@ne}}}
+\fi
+\def\ACM at linecountL{%
+ \if at ACM@review
+ \ACM at mk@linecount
+ \begin{picture}(0,0)%
+ \put(-26,-22){\usebox{\ACM at linecount@bx}}%
+ \end{picture}%
+ \fi}
+\def\ACM at linecountR{%
+ \if at ACM@review
+ \ifcase\ACM at format@nr
+ \relax % manuscript
+ \relax
+ \or % acmsmall
+ \relax
+ \or % acmlarge
+ \relax
+ \or % acmtog
+ \ACM at mk@linecount
+ \or % sigconf
+ \ACM at mk@linecount
+ \or % siggraph
+ \ACM at mk@linecount
+ \or % sigplan
+ \ACM at mk@linecount
+ \or % sigchi
+ \ACM at mk@linecount
+ \or % sigchi-a
+ \ACM at mk@linecount
+ \or % acmengage
+ \ACM at mk@linecount
+ \or % acmcp
+ \relax
+ \fi
+ \begin{picture}(0,0)%
+ \put(20,-22){\usebox{\ACM at linecount@bx}}%
+ \end{picture}%
+ \fi}
+\if at ACM@timestamp
+ % Subtracting 30 from \time gives us the effect of rounding down despite
+ % \numexpr rounding to nearest
+ \newcounter{ACM at time@hours}
+ \setcounter{ACM at time@hours}{\numexpr (\time - 30) / 60 \relax}
+ \newcounter{ACM at time@minutes}
+ \setcounter{ACM at time@minutes}{\numexpr \time - \theACM at time@hours * 60 \relax}
+ \newcommand\ACM at timestamp{%
+ \footnotesize%
+ \ifx\@acmSubmissionID\@empty\relax\else
+ Submission ID: \@acmSubmissionID.{ }%
+ \fi
+ \the\year-\two at digits{\the\month}-\two at digits{\the\day}{ }%
+ \two at digits{\theACM at time@hours}:\two at digits{\theACM at time@minutes}{. }%
+ Page \thepage\ of \@startPage--\pageref*{TotPages}.%
+ }
+\fi
+\def\@shortauthors{%
+ \if at 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 at ACM@printfolios\thepage\fi%
+ \else%
+ \@acmArticle\if at ACM@printfolios:\thepage\fi%
+ \fi%
+ }%
+ \if at ACM@journal at bibstrip@or at tog
+ \ifcase\ACM at format@nr
+ \relax % manuscript
+ \fancyhead[LE]{\ACM at linecountL\if at ACM@printfolios\thepage\fi}%
+ \fancyhead[RO]{\if at ACM@printfolios\thepage\fi}%
+ \fancyhead[RE]{\@shortauthors}%
+ \fancyhead[LO]{\ACM at linecountL\shorttitle}%
+ \if at ACM@nonacm\else%
+ \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM}
+ \fi%
+ \or % acmsmall
+ \fancyhead[LE]{\ACM at linecountL\@headfootfont\@acmArticlePage}%
+ \fancyhead[RO]{\@headfootfont\@acmArticlePage}%
+ \fancyhead[RE]{\@headfootfont\@shortauthors}%
+ \fancyhead[LO]{\ACM at linecountL\@headfootfont\shorttitle}%
+ \if at ACM@nonacm\else%
+ \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
+ \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
+ \fi
+ \or % acmlarge
+ \fancyhead[LE]{\ACM at linecountL\@headfootfont
+ \@acmArticlePage\quad\textbullet\quad\@shortauthors}%
+ \fancyhead[LO]{\ACM at linecountL}%
+ \fancyhead[RO]{\@headfootfont
+ \shorttitle\quad\textbullet\quad\@acmArticlePage}%
+ \if at ACM@nonacm\else%
+ \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
+ \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
+ \fi
+ \or % acmtog
+ \fancyhead[LE]{\ACM at linecountL\@headfootfont
+ \@acmArticlePage\quad\textbullet\quad\@shortauthors}%
+ \fancyhead[LO]{\ACM at linecountL}%
+ \fancyhead[RE]{\ACM at linecountR}%
+ \fancyhead[RO]{\@headfootfont
+ \shorttitle\quad\textbullet\quad\@acmArticlePage\ACM at linecountR}%
+ \if at ACM@nonacm\else
+ \if at ACM@journal at bibstrip
+ \fancyfoot[RO,LE]{\footnotesize \@journalNameShort,
+ Vol. \@acmVolume, No.~\@acmNumber, Article \@acmArticle.
+ Publication date: \@acmPubDate.}%
+ \else
+ \fancyfoot[RO,LE]{\footnotesize \acmConference at shortname,
+ \acmConference at date, \acmConference at venue.}%
+ \fi
+ \fi
+ \else % Proceedings
+ \fancyfoot[C]{\if at ACM@printfolios\footnotesize\thepage\fi}%
+ \fancyhead[LO]{\ACM at linecountL\@headfootfont\shorttitle}%
+ \fancyhead[RE]{\@headfootfont\@shortauthors\ACM at linecountR}%
+ \if at ACM@nonacm
+ \fancyhead[LE]{\ACM at linecountL}%
+ \fancyhead[RO]{\ACM at linecountR}%
+ \else%
+ \if at ACM@engage
+ \fancyhead[LE]{\ACM at linecountL\@headfootfont\footnotesize
+ EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi}%
+ \fancyhead[RO]{\@headfootfont
+ EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi
+ \ACM at linecountR}%
+ \else
+ \fancyhead[LE]{\ACM at linecountL\@headfootfont\footnotesize
+ \acmConference at shortname,
+ \acmConference at date, \acmConference at venue}%
+ \fancyhead[RO]{\@headfootfont
+ \acmConference at shortname,
+ \acmConference at date, \acmConference at venue\ACM at linecountR}%
+ \fi
+ \fi
+ \fi
+ \else % Proceedings
+ \fancyfoot[C]{\if at ACM@printfolios\footnotesize\thepage\fi}%
+ \fancyhead[LO]{\ACM at linecountL\@headfootfont\shorttitle}%
+ \fancyhead[RE]{\@headfootfont\@shortauthors\ACM at linecountR}%
+ \if at ACM@nonacm
+ \fancyhead[LE]{\ACM at linecountL}%
+ \fancyhead[RO]{\ACM at linecountR}%
+ \else%
+ \if at ACM@engage
+ \fancyhead[LE]{\ACM at linecountL\@headfootfont
+ EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi}%
+ \fancyhead[RO]{\@headfootfont
+ EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi
+ \ACM at linecountR}%
+ \else
+ \fancyhead[LE]{\ACM at linecountL\@headfootfont
+ \acmConference at shortname,
+ \acmConference at date, \acmConference at venue}%
+ \fancyhead[RO]{\@headfootfont
+ \acmConference at shortname,
+ \acmConference at date, \acmConference at venue\ACM at linecountR}%
+ \fi
+ \fi
+ \fi
+ \if at ACM@sigchiamode
+ \fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}%
+ \fi
+ \if at ACM@timestamp
+ \fancyfoot[LO,RE]{\ACM at timestamp}
+ \fi
+ \if at ACM@acmcp
+ \renewcommand{\footrulewidth}{0.1\p@}%
+ \fancyheadoffset[L]{46pt}%
+ \fancyhead[L]{\makebox[\z@][l]{%
+ \raisebox{-\dimexpr(0.2\textheight*(\ACM at ArticleType@nr-2))}{%
+ \rotatebox{90}{\colorbox{@ACM at Article@color}{\color{white}%
+ \strut\ACM at ArticleType~Article}}}}%
+ \ACM at linecountL}%
+ \fancyhead[R]{\makebox[\z@][r]{\box\@ACM at acmcpbox}}%
+ \fancyfoot[L,C]{}%
+ \fancyfoot[R]{\footnotesize
+ \@journalName, Volume~\@acmVolume, Issue~\@acmNumber,
+ \ifx\@acmArticle\@empty\else Article~\@acmArticle\fi\space
+ (\@acmPubDate)\ifx\@acmDOI\@empty\else\\\@formatdoi{\@acmDOI}\fi}
+ \fi
+}%
+\pagestyle{standardpagestyle}
+}
+\AtBeginDocument{%
+\fancypagestyle{firstpagestyle}{%
+ \fancyhf{}%
+ \renewcommand{\headrulewidth}{\z@}%
+ \renewcommand{\footrulewidth}{\z@}%
+ \if at ACM@journal at bibstrip@or at tog
+ \ifcase\ACM at format@nr
+ \relax % manuscript
+ \fancyhead[L]{\ACM at linecountL\@acmBadgeL}%
+ \fancyhead[R]{\@acmBadgeR}%
+ \fancyfoot[RO,LE]{\if at ACM@printfolios\small\thepage\fi}%
+ \if at ACM@nonacm\else%
+ \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}%
+ \fi%
+ \or % acmsmall
+ \if at ACM@nonacm\else%
+ \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
+ \@acmNumber, Article \@acmArticle. Publication date:
+ \@acmPubDate.}%
+ \fi%
+ \fancyhead[LE]{\ACM at linecountL\@acmBadgeL}%
+ \fancyhead[LO]{\ACM at linecountL\@acmBadgeL}%
+ \fancyhead[RO]{\@acmBadgeR}%
+ \fancyhead[RE]{\@acmBadgeR}%
+ \or % acmlarge
+ \if at ACM@nonacm\else%
+ \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
+ \@acmNumber, Article \@acmArticle. Publication date:
+ \@acmPubDate.}%
+ \fi%
+ \fancyhead[RO]{\@acmBadgeR}%
+ \fancyhead[RE]{\@acmBadgeR}%
+ \fancyhead[LE]{\ACM at linecountL\@acmBadgeL}%
+ \fancyhead[LO]{\ACM at linecountL\@acmBadgeL}%
+ \or % acmtog
+ \if at ACM@nonacm\else%
+ \if at ACM@journal at bibstrip
+ \fancyfoot[RO,LE]{\footnotesize \@journalNameShort,
+ Vol. \@acmVolume, No.~\@acmNumber, Article \@acmArticle.
+ Publication date: \@acmPubDate.}%
+ \else
+ \fancyfoot[RO,LE]{\footnotesize \acmConference at shortname,
+ \acmConference at date, \acmConference at venue.}%
+ \fi
+ \fi%
+ \fancyhead[L]{\ACM at linecountL\@acmBadgeL}%
+ \fancyhead[R]{\@acmBadgeR\ACM at linecountR}%
+ \else % Conference proceedings
+ \fancyhead[L]{\ACM at linecountL\@acmBadgeL}%
+ \fancyhead[R]{\@acmBadgeR\ACM at linecountR}%
+ \fancyfoot[C]{\if at ACM@printfolios\footnotesize\thepage\fi}%
+ \fi
+ \else
+ \fancyhead[L]{\ACM at linecountL\@acmBadgeL}%
+ \fancyhead[R]{\@acmBadgeR\ACM at linecountR}%
+ \fancyfoot[C]{\if at ACM@printfolios\footnotesize\thepage\fi}%
+ \fi
+ \if at ACM@timestamp
+ \ifnum\ACM at format@nr=0\relax % Manuscript
+ \fancyfoot[LO,RE]{\ACM at timestamp\quad
+ \if at ACM@nonacm\else
+ \footnotesize Manuscript submitted to ACM
+ \fi}
+ \else
+ \fancyfoot[LO,RE]{\ACM at timestamp}
+ \fi
+ \fi
+ \if at ACM@acmcp
+ \renewcommand{\footrulewidth}{0.1\p@}%
+ \fancyheadoffset[L]{46pt}%
+ \fancyhead[L]{\makebox[\z@][l]{%
+ \raisebox{-\dimexpr(0.2\textheight*(\ACM at ArticleType@nr-2))}{%
+ \rotatebox{90}{\colorbox{@ACM at Article@color}{\color{white}%
+ \strut\ACM at ArticleType~Article}}}}%
+ \ACM at linecountL\@acmBadgeL}%
+ \fancyhead[R]{\@acmBadgeR\makebox[\z@][r]{\box\@ACM at acmcpbox}}%
+ \fancyfoot[L,C]{}%
+ \fancyfoot[R]{\footnotesize
+ \@journalName, Volume~\@acmVolume, Issue~\@acmNumber,
+ \ifx\@acmArticle\@empty\else Article~\@acmArticle\fi\space
+ (\@acmPubDate)\ifx\@acmDOI\@empty\else\\\@formatdoi{\@acmDOI}\fi}
+ \fi
+}}
+\def\ACM at 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 at sect@format@{#1}%
+ \let\Sectionformat\ACM at NR@adjustedSectionformat
+ %% next lines added 2018-06-17 to ensure section number is styled
+ \let\real at adddotafter\@adddotafter
+ \let\@adddotafter\ACM at adddotafter
+ #1{}% imposes the styles, but nullifies \MakeUppercase
+ \let\@adddotafter\real at adddotafter
+ }%
+ \fi \next
+}
+\def\ACM at NR@adjustedSectionformat#1#2{%
+ \realSectionformat{\ACM at sect@format{#1}}{#2}%
+ \let\Sectionformat\realSectionformat}
+\DeclareRobustCommand{\ACM at sect@format}{\ACM at sect@format@}
+\def\ACM at sect@format at null#1{#1}
+\let\ACM at sect@format@\ACM at sect@format at null
+\AtBeginDocument{%
+ \expandafter\ifx\csname LTX at adddotafter\endcsname\relax
+ \let\LTX at adddotafter\@adddotafter
+ \fi
+}
+\def\ACM at adddotafter#1{\ifx\relax#1\relax\else\LTX at adddotafter{#1}\fi}
+\renewcommand\section{\def\@toclevel{1}%
+ \@startsection{section}{1}{\z@}%
+ {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+ {.25\baselineskip}%
+ {\ACM at NRadjust\@secfont}}
+\renewcommand\subsection{\def\@toclevel{2}%
+ \@startsection{subsection}{2}{\z@}%
+ {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+ {.25\baselineskip}%
+ {\ACM at NRadjust\@subsecfont}}
+\renewcommand\subsubsection{\def\@toclevel{3}%
+ \@startsection{subsubsection}{3}{\z@}%
+ {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+ {-3.5\p@}%
+ {\ACM at NRadjust{\@subsubsecfont\@adddotafter}}}
+\renewcommand\paragraph{\def\@toclevel{4}%
+ \@startsection{paragraph}{4}{\parindent}%
+ {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+ {-3.5\p@}%
+ {\ACM at NRadjust{\@parfont\@adddotafter}}}
+\newcommand\noindentparagraph{\def\@toclevel{4}%
+ \@startsection{paragraph}{4}{\z@}%
+ {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+ {-3.5\p@}%
+ {\ACM at NRadjust{\@parfont}}}
+\renewcommand\part{\def\@toclevel{9}%
+ \@startsection{part}{9}{\z@}%
+ {-10\p@ \@plus -4\p@ \@minus -2\p@}%
+ {4\p@}%
+ {\ACM at NRadjust\@parfont}}
+\def\section at raggedright{\@rightskip\@flushglue
+ \rightskip\@rightskip
+ \leftskip\z at skip
+ \parindent\z@}
+\def\@secfont{\sffamily\bfseries\section at raggedright}
+\def\@subsecfont{\sffamily\bfseries\section at raggedright}
+\def\@subsubsecfont{\sffamily\itshape}
+\def\@parfont{\itshape}
+\setcounter{secnumdepth}{3}
+\ifcase\ACM at format@nr
+\relax % manuscript
+\or % acmsmall
+\or % acmlarge
+ \def\@secfont{\sffamily\large\section at raggedright}
+ \def\@subsecfont{\sffamily\large\section at raggedright}
+\or % acmtog
+ \def\@secfont{\sffamily\large\section at raggedright}
+ \def\@subsecfont{\sffamily\large\section at raggedright}
+\or % sigconf
+ \def\@secfont{\bfseries\Large\section at raggedright}
+ \def\@subsecfont{\bfseries\Large\section at raggedright}
+\or % siggraph
+ \def\@secfont{\sffamily\bfseries\Large\section at raggedright}
+ \def\@subsecfont{\sffamily\bfseries\Large\section at raggedright}
+\or % sigplan
+ \def\@secfont{\bfseries\Large\section at raggedright}
+ \def\@subsecfont{\bfseries\section at raggedright}
+ \def\@subsubsecfont{\bfseries\section at raggedright}
+ \def\@parfont{\bfseries\itshape}
+ \def\@subparfont{\itshape}
+\or % sigchi
+ \setcounter{secnumdepth}{1}
+ \def\@secfont{\sffamily\bfseries\section at raggedright}
+ \def\@subsecfont{\sffamily\bfseries\section at raggedright}
+\or % sigchi-a
+ \setcounter{secnumdepth}{0}
+ \def\@secfont{\sffamily\bfseries\section at raggedright}
+ \def\@subsecfont{\sffamily\bfseries\section at raggedright}
+\or % acmengage
+ \def\@secfont{\bfseries\Large\section at raggedright}
+ \def\@subsecfont{\bfseries\Large\section at raggedright}
+\or %acmcp
+\fi
+\def\@adddotafter#1{#1\@addpunct{.}}
+\def\@addspaceafter#1{#1\@addpunct{\enspace}}
+\if at ACM@acmcp
+ \setcounter{secnumdepth}{-1}%
+\fi
+\providecommand*\@dotsep{4.5}
+\def\@acmplainbodyfont{\itshape}
+\def\@acmplainindent{\parindent}
+\def\@acmplainheadfont{\scshape}
+\def\@acmplainnotefont{\@empty}
+\ifcase\ACM at 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
+\or % acmengage
+\or % acmcp
+\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 at 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
+\or % acmengage
+\or % acmcp
+\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 at 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 at 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
+\or % acmengage
+\or % acmcp
+\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 at ACM@pbalance
+ \global\@ACM at balancefalse
+ \ifcase\ACM at format@nr
+ \relax % manuscript
+ \or % acmsmall
+ \or % acmlarge
+ \or % acmtog
+ \RequirePackage{pbalance}%
+ \or % sigconf
+ \RequirePackage{pbalance}%
+ \or % siggraph
+ \RequirePackage{pbalance}%
+ \or % sigplan
+ \RequirePackage{pbalance}%
+ \or % sigchi
+ \RequirePackage{pbalance}%
+ \or % sigchi-a
+ \or % acmengage
+ \RequirePackage{pbalance}%
+ \or % acmcp
+ \fi
+ \fi
+ \if at ACM@balance
+ \ifcase\ACM at format@nr
+ \relax % manuscript
+ \global\@ACM at balancefalse
+ \or % acmsmall
+ \global\@ACM at balancefalse
+ \or % acmlarge
+ \global\@ACM at 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 at balancefalse
+ \or % acmengage
+ \RequirePackage{balance}%
+ \or % acmcp
+ \global\@ACM at balancefalse
+ \fi
+ \fi
+}
+\AtEndDocument{%
+ \if at ACM@balance
+ \if at 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 at ACM@screen
+ \includecomment{screenonly}
+ \excludecomment{printonly}
+\else
+ \excludecomment{screenonly}
+ \includecomment{printonly}
+\fi
+\if at 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\relax
+ arXiv:\href{https://arxiv.org/abs/#2}{#2}%
+ \else
+ \def\@tempb{arXiv}%
+ \ifx\@tempa\@tempb\relax
+ arXiv:\href{https://arxiv.org/abs/#2}{#2}%
+ \else
+ #1:#2%
+ \fi
+ \fi}
+\def\theindex{\@restonecoltrue\if at twocolumn\@restonecolfalse\fi
+ \columnseprule\z@ \columnsep 35\p@
+ \@indextitlestyle
+ \let\item\@idxitem
+ \parindent\z@ \parskip\z@\@plus.3\p@\relax
+ \raggedright
+ \hyphenpenalty\@M
+ \footnotesize}
+\let\@vspace at orig=\@vspace
+\let\@vspacer at 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 at acm=\@vspace
+\let\@vspacer at acm=\@vspacer
+\let\ACM at origbaselinestretch\baselinestretch
+\AtEndDocument{\ifx\baselinestretch\ACM at 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-tagged.cls'.
Property changes on: trunk/Master/texmf-dist/tex/latex/acmart/acmart-tagged.cls
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/acmart/acmart.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/acmart/acmart.cls 2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/tex/latex/acmart/acmart.cls 2024-08-26 20:07:21 UTC (rev 72113)
@@ -38,7 +38,7 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{acmart}
-[2024/05/27 v2.08 Typesetting articles for the Association for Computing Machinery]
+[2024/08/25 v2.09 Typesetting articles for the Association for Computing Machinery]
\def\@classname{acmart}
\InputIfFileExists{acmart-preload-hook.tex}{%
\ClassWarning{\@classname}{%
@@ -47,13 +47,13 @@
\RequirePackage{xkeyval}
\RequirePackage{xstring}
\RequirePackage{iftex}
-\define at choicekey*+{acmart.cls}{format}[\ACM at format\ACM at format@nr]{%
+\define at choicekey*+{\@classname.cls}{format}[\ACM at format\ACM at format@nr]{%
manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph,
sigplan, sigchi, sigchi-a, acmengage, acmcp}[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}}}
+\def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{\@classname.cls}{format=#1}}}
\@DeclareACMFormat{manuscript}
\@DeclareACMFormat{acmsmall}
\@DeclareACMFormat{acmlarge}
@@ -66,7 +66,7 @@
\@DeclareACMFormat{acmengage}
\@DeclareACMFormat{acmcp}
\ExecuteOptionsX{format}
-\define at boolkey+{acmart.cls}[@ACM@]{screen}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{screen}[true]{%
\if at ACM@screen
\PackageInfo{\@classname}{Using screen mode}%
\else
@@ -74,7 +74,7 @@
\fi}{\PackageError{\@classname}{The option screen can be either true or
false}}
\ExecuteOptionsX{screen=false}
-\define at boolkey+{acmart.cls}[@ACM@]{urlbreakonhyphens}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{urlbreakonhyphens}[true]{%
\if at ACM@urlbreakonhyphens
\PackageInfo{\@classname}{Using breaking urls on hyphens}%
\else
@@ -82,7 +82,7 @@
\fi}{\PackageError{\@classname}{The option urlbreakonhyphens can be either true or
false}}
\ExecuteOptionsX{urlbreakonhyphens=true}
-\define at boolkey+{acmart.cls}[@ACM@]{acmthm}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{acmthm}[true]{%
\if at ACM@acmthm
\PackageInfo{\@classname}{Requiring acmthm}%
\else
@@ -90,7 +90,7 @@
\fi}{\PackageError{\@classname}{The option acmthm can be either true or
false}}
\ExecuteOptionsX{acmthm=true}
-\define at boolkey+{acmart.cls}[@ACM@]{review}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{review}[true]{%
\if at ACM@review
\PackageInfo{\@classname}{Using review mode}%
\AtBeginDocument{\@ACM at printfoliostrue}%
@@ -99,7 +99,7 @@
\fi}{\PackageError{\@classname}{The option review can be either true or
false}}
\ExecuteOptionsX{review=false}
-\define at boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{authorversion}[true]{%
\if at ACM@authorversion
\PackageInfo{\@classname}{Using authorversion mode}%
\else
@@ -107,7 +107,7 @@
\fi}{\PackageError{\@classname}{The option authorversion can be either true or
false}}
\ExecuteOptionsX{authorversion=false}
-\define at boolkey+{acmart.cls}[@ACM@]{nonacm}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{nonacm}[true]{%
\if at ACM@nonacm
\PackageInfo{\@classname}{Using nonacm mode}%
\AtBeginDocument{\@ACM at printacmreffalse}%
@@ -119,15 +119,15 @@
\fi}{\PackageError{\@classname}{The option nonacm can be either true or
false}}
\ExecuteOptionsX{nonacm=false}
-\define at boolkey+{acmart.cls}[@ACM@]{balance}[true]{}{%
+\define at boolkey+{\@classname.cls}[@ACM@]{balance}[true]{}{%
\PackageError{\@classname}{The option balance can be either true or
false}}
\ExecuteOptionsX{balance}
-\define at boolkey+{acmart.cls}[@ACM@]{pbalance}[true]{}{%
+\define at boolkey+{\@classname.cls}[@ACM@]{pbalance}[true]{}{%
\PackageError{\@classname}{The option pbalance can be either true or
false}}
\ExecuteOptionsX{pbalance=false}
-\define at boolkey+{acmart.cls}[@ACM@]{natbib}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{natbib}[true]{%
\if at ACM@natbib
\PackageInfo{\@classname}{Explicitly selecting natbib mode}%
\else
@@ -135,7 +135,7 @@
\fi}{\PackageError{\@classname}{The option natbib can be either true or
false}}
\ExecuteOptionsX{natbib=true}
-\define at boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{anonymous}[true]{%
\if at ACM@anonymous
\PackageInfo{\@classname}{Using anonymous mode}%
\else
@@ -143,7 +143,7 @@
\fi}{\PackageError{\@classname}{The option anonymous can be either true or
false}}
\ExecuteOptionsX{anonymous=false}
-\define at boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{timestamp}[true]{%
\if at ACM@timestamp
\PackageInfo{\@classname}{Using timestamp mode}%
\else
@@ -151,7 +151,7 @@
\fi}{\PackageError{\@classname}{The option timestamp can be either true or
false}}
\ExecuteOptionsX{timestamp=false}
-\define at boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{authordraft}[true]{%
\if at ACM@authordraft
\PackageInfo{\@classname}{Using authordraft mode}%
\@ACM at timestamptrue
@@ -189,13 +189,13 @@
\ClassWarning{\@classname}{%
The format siggraph is now obsolete.\MessageBreak
I am switching to sigconf.}
- \setkeys{acmart.cls}{format=sigconf}
+ \setkeys{\@classname.cls}{format=sigconf}
\fi
\ifnum\ACM at format@nr=7\relax % sigchi
\ClassWarning{\@classname}{%
The format sigchi is now obsolete.\MessageBreak
I am switching to sigconf.}
- \setkeys{acmart.cls}{format=sigconf}
+ \setkeys{\@classname.cls}{format=sigconf}
\fi
\ifnum\ACM at format@nr=8\relax % sigchi
\ClassWarning{\@classname}{%
@@ -546,7 +546,6 @@
\fi}%
\fi
\ignorespaces}
-\def\@seccntformat#1{\csname the#1\endcsname\quad}
\def\@ssect#1#2#3#4#5{%
\@tempskipa #3\relax
\ifdim \@tempskipa>\z@
@@ -559,6 +558,7 @@
\def\@svsechd{#4{\hskip #1\relax #5}}%
\fi
\@xsect{#3}}
+\def\@seccntformat#1{\csname the#1\endcsname\quad}
\def\@starttoc#1#2{\begingroup\makeatletter
\setTrue{#1}%
\par\removelastskip\vskip\z at skip
@@ -2001,22 +2001,6 @@
Copyright held by the owner/author(s).
\fi}
\def\@formatdoi#1{\url{https://doi.org/#1}}
-\def\@ACM at copyright@check at cc{%
- \if at ACM@nonacm
- \ClassInfo{\@classname}{Using CC license with a non-acm
- material}%
- \else
- \if at ACM@engage
- \ClassInfo{\@classname}{Using CC license with ACM Enage
- material}%
- \else
- \ClassWarning{\@classname}{%
- Sorry, Creative Commons licenses are\MessageBreak
- currently not used with ACM publications\MessageBreak
- typeset by the authors}{Please use nonacm
- option or ACM Engage class to enable CC licenses}%
- \fi
- \fi}
\def\@copyrightpermission{%
\ifcase\acm at copyrightmode\relax % none
\or % acmcopyright
@@ -2145,7 +2129,6 @@
disseminate the work on their personal and corporate Web sites with
the appropriate attribution.
\or % CC
- \@ACM at copyright@check at cc
\IfEq{\ACM at cc@type}{zero}{%
\def\ACM at CC@Url{https://creativecommons.org/publicdomain/zero/1.0/legalcode}}{%
\edef\ACM at CC@Url{https://creativecommons.org/licenses/\ACM@cc@type/\ACM@cc@version/legalcode}}%
@@ -2321,7 +2304,7 @@
pdfsubject={\@concepts},
pdfkeywords={\@keywords},
pdfcreator={LaTeX with acmart
- \csname ver at acmart.cls\endcsname\space
+ \csname ver@\@classname.cls\endcsname\space
and hyperref
\csname ver at hyperref.sty\endcsname}}%
\andify\authors
@@ -3263,28 +3246,33 @@
\fi
}
\def\ACM at adddotafter#1{\ifx\relax#1\relax\else\LTX at adddotafter{#1}\fi}
-\renewcommand\section{\@startsection{section}{1}{\z@}%
+\renewcommand\section{\def\@toclevel{1}%
+ \@startsection{section}{1}{\z@}%
{-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
{.25\baselineskip}%
{\ACM at NRadjust\@secfont}}
-\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
+\renewcommand\subsection{\def\@toclevel{2}%
+ \@startsection{subsection}{2}{\z@}%
{-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
{.25\baselineskip}%
{\ACM at NRadjust\@subsecfont}}
-\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+\renewcommand\subsubsection{\def\@toclevel{3}%
+ \@startsection{subsubsection}{3}{\z@}%
{-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
{-3.5\p@}%
{\ACM at NRadjust{\@subsubsecfont\@adddotafter}}}
-\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}%
+\renewcommand\paragraph{\def\@toclevel{4}%
+ \@startsection{paragraph}{4}{\parindent}%
{-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
{-3.5\p@}%
{\ACM at NRadjust{\@parfont\@adddotafter}}}
-\newcommand\noindentparagraph{\@startsection{paragraph}{4}{\z@}%
+\newcommand\noindentparagraph{\def\@toclevel{4}%
+ \@startsection{paragraph}{4}{\z@}%
{-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
{-3.5\p@}%
{\ACM at NRadjust{\@parfont}}}
-
-\renewcommand\part{\@startsection{part}{9}{\z@}%
+\renewcommand\part{\def\@toclevel{9}%
+ \@startsection{part}{9}{\z@}%
{-10\p@ \@plus -4\p@ \@minus -2\p@}%
{4\p@}%
{\ACM at NRadjust\@parfont}}
More information about the tex-live-commits
mailing list.