updated to latest .cls and .bst versions

master
carlnues@buffalo.edu 2023-04-17 19:31:40 -04:00
parent 40e25cc7ff
commit e87ab1d89f
2 changed files with 423 additions and 112 deletions

View File

@ -3,8 +3,8 @@
%%% @BibTeX-style-file{
%%% author = "Nelson H. F. Beebe, Boris Veytsman and Gerald Murray",
%%% version = "2.1",
%%% acmart-version = "1.79",
%%% date = "14 June 2017",
%%% acmart-version = "1.90",
%%% date = "Mar 26 2023",
%%% filename = "ACM-Reference-Format.bst",
%%% email = "borisv@lk.net, boris@varphi.com",
%%% codetable = "ISO/ASCII",
@ -152,7 +152,7 @@ FUNCTION { empty.or.unknown }
}
FUNCTION { empty.or.zero }
{
{
%% Examine the top entry and push 1 if it is empty, or is zero
duplicate$ empty$
{ pop$ #1 }
@ -2005,7 +2005,7 @@ FUNCTION { calc.basic.label }
if$
duplicate$
year empty.or.unknown
{ "[n.\,d.]" }
{ "{[n.\,d.]}" }
{ year field.or.null purify$ #-1 #4 substring$}
if$
*
@ -2053,7 +2053,7 @@ FUNCTION { calc.label }
% save the year for sort processing afterwards (adding a, b, c, etc.)
%
year empty.or.unknown
{ "[n.\,d.]" }
{ "{[n.\,d.]}" }
{ year field.or.null purify$ #-1 #4 substring$}
if$
'label.year :=

View File

@ -38,7 +38,7 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{acmart}
[2022/04/09 v1.84 Typesetting articles for the Association for Computing Machinery]
[2023/03/30 v1.90 Typesetting articles for the Association for Computing Machinery]
\def\@classname{acmart}
\InputIfFileExists{acmart-preload-hook.tex}{%
\ClassWarning{\@classname}{%
@ -49,7 +49,7 @@
\RequirePackage{iftex}
\define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{%
manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph,
sigplan, sigchi, sigchi-a}[manuscript]{}{%
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}}
@ -63,6 +63,8 @@
\@DeclareACMFormat{sigplan}
\@DeclareACMFormat{sigchi}
\@DeclareACMFormat{sigchi-a}
\@DeclareACMFormat{acmengage}
\@DeclareACMFormat{acmcp}
\ExecuteOptionsX{format}
\define@boolkey+{acmart.cls}[@ACM@]{screen}[true]{%
\if@ACM@screen
@ -160,6 +162,7 @@
false}}
\ExecuteOptionsX{authordraft=false}
\def\ACM@fontsize{}
\DeclareOptionX{8pt}{\edef\ACM@fontsize{\CurrentOption}}
\DeclareOptionX{9pt}{\edef\ACM@fontsize{\CurrentOption}}
\DeclareOptionX{10pt}{\edef\ACM@fontsize{\CurrentOption}}
\DeclareOptionX{11pt}{\edef\ACM@fontsize{\CurrentOption}}
@ -177,6 +180,10 @@
\newif\if@ACM@journal
\newif\if@ACM@journal@bibstrip
\newif\if@ACM@sigchiamode
\newif\if@ACM@engage
\@ACM@engagefalse
\newif\if@ACM@acmcp
\@ACM@acmcpfalse
\ifnum\ACM@format@nr=5\relax % siggraph
\ClassWarning{\@classname}{%
The format siggraph is now obsolete.\MessageBreak
@ -228,6 +235,13 @@
\or % sigchi-a
\@ACM@journalfalse
\@ACM@sigchiamodetrue
\or % acmengage
\@ACM@journalfalse
\@ACM@engagetrue
\or % acmcp
\@ACM@journaltrue
\@ACM@acmcptrue
\AtBeginDocument{\@ACM@printacmreffalse}%
\fi
\if@ACM@journal
\@ACM@journal@bibstriptrue
@ -254,6 +268,10 @@
\def\ACM@fontsize{9pt}%
\or % sigchi-a
\def\ACM@fontsize{10pt}%
\or % acmengage
\def\ACM@fontsize{10pt}%
\or % acmcp
\def\ACM@fontsize{9pt}%
\fi
\fi
\ClassInfo{\@classname}{Using fontsize \ACM@fontsize}
@ -269,6 +287,12 @@
\onehalfspacing
\fi
\RequirePackage{textcase}
\if@ACM@acmcp
\RequirePackage{framed}
\RequirePackage{zref-savepos, zref-user}
\fi
\newdimen\@ACM@acmcp@delta
\@ACM@acmcp@delta=0pt\relax
\if@ACM@natbib
\RequirePackage{natbib}
\renewcommand{\bibsection}{%
@ -368,6 +392,9 @@
\else
\renewcommand\keywordsname{Keywords}%
\fi
\if@ACM@engage
\renewcommand\abstractname{Synopsis}%
\fi
\ifx\ACM@languages\@empty
\else
\RequirePackage[\ACM@languages]{babel}%
@ -378,6 +405,9 @@
\renewcommand\keywordsname{Keywords}%
\fi
\renewcommand\acksname{Acknowledgements}%
\if@ACM@engage
\renewcommand\abstractname{Synopsis}%
\fi
}%
\addto\captionsfrench{%
\if@ACM@journal
@ -592,6 +622,8 @@
\or % sigchi
\or % sigchi-a
\urlstyle{sf}
\or % acmengage
\or % acmcp
\fi
\AtEndPreamble{%
\if@ACM@urlbreakonhyphens
@ -725,6 +757,20 @@
}%
\@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@}
@ -739,6 +785,8 @@
\or % sigplan
\or % sigchi
\or % sigchi-a
\or % acmengage
\or % acmcp
\fi
\setlength\normalparindent{\parindent}
\def\copyrightpermissionfootnoterule{\kern-3\p@
@ -779,6 +827,10 @@
\or % sigchi
\flushbottom
\or % sigchi-a
\or % acmengage
\flushbottom
\or % acmcp
\flushbottom
\fi
\ifPDFTeX
\input{glyphtounicode}
@ -901,6 +953,8 @@
textfont={bf, small}}
\captionsetup[table]{labelfont={bf, small},
textfont={bf, small}}
\or % acmengage
\or % acmcp
\fi
\fi
\newfloat{sidebar}{}{sbar}
@ -961,6 +1015,8 @@
\def\labelenumiv{\theenumiv.}
\or % sigchi
\or % sigchi-a
\or % acmengage
\or % acmcp
\fi
\newdimen\@ACM@labelwidth
\AtBeginDocument{%
@ -1013,6 +1069,7 @@
\newif\if@ACM@maketitle@typeset
\@ACM@maketitle@typesetfalse
\define@choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode@nr]{%
ACMJCSS,%
CIE,%
CSUR,%
DGOV,%
@ -1023,14 +1080,18 @@
HEALTH,%
IMWUT,%
JACM,%
JATS,%
JDIQ,%
JDS,%
JEA,%
JERIC,%
JETC,%
JOCCH,%
JRC,%
PACMCGIT,%
PACMHCI,%
PACMMOD,%
PACMNET,%
PACMPL,%
POMACS,%
TAAS,%
@ -1068,6 +1129,8 @@
TOPC,%
TOPS,%
TOPLAS,%
TOPML,%
TORS,%
TOS,%
TOSEM,%
TOSN,%
@ -1080,7 +1143,11 @@
FACMP%
}{%
\ifcase\@journalCode@nr
\relax % CIE
\relax % ACMJCSS
\def\@journalName{ACM Journal on Computing and Sustainable Societies}%
\def\@journalNameShort{ACM J. Comput. Sustain. Soc.}%
\def\@permissionCodeOne{2834-5533}%
\or % CIE
\def\@journalName{ACM Computers in Entertainment}%
\def\@journalNameShort{ACM Comput. Entertain.}%
\def\@permissionCodeOne{1544-3574}%
@ -1108,6 +1175,7 @@
\or % GAMES
\def\@journalName{ACM Games: Research and Practice}%
\def\@journalNameShort{ACM Games}%
\def\@permissionCodeOne{2832-5516}%
\or % HEALTH
\def\@journalName{ACM Transactions on Computing for Healthcare}%
\def\@journalNameShort{ACM Trans. Comput. Healthcare}%
@ -1123,6 +1191,10 @@
\def\@journalName{Journal of the ACM}%
\def\@journalNameShort{J. ACM}%
\def\@permissionCodeOne{0004-5411}%
\or % JATS
\def\@journalName{Journal on Autonomous Transportation Systems}%
\def\@journalNameShort{ACM J. Auton. Transport. Syst.}%
\def\@permissionCodeOne{2833-0528}%
\or % JDIQ
\def\@journalName{ACM Journal of Data and Information Quality}%
\def\@journalNameShort{ACM J. Data Inform. Quality}%
@ -1149,6 +1221,10 @@
\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}%
\or % PACMCGIT
\def\@journalName{Proceedings of the ACM on Computer Graphics and Interactive Techniques}%
\def\@journalNameShort{Proc. ACM Comput. Graph. Interact. Tech.}%
@ -1161,6 +1237,14 @@
\def\@permissionCodeOne{2573-0142}%
\@ACM@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}%
\or % PACMNET
\def\@journalName{Proceedings of the ACM on Networkng}%
\def\@journalNameShort{Proc. ACM Netw.}%
\def\@permissionCodeOne{2834-5509}%
\or % PACMPL
\def\@journalName{Proceedings of the ACM on Programming Languages}%
\def\@journalNameShort{Proc. ACM Program. Lang.}%
@ -1307,7 +1391,8 @@
\or % TOPC
\def\@journalName{ACM Transactions on Parallel Computing}%
\def\@journalNameShort{ACM Trans. Parallel Comput.}%
\def\@permissionCodeOne{1539-9087}%
\def\@permissionCodeOne{2329-4949}%
\def\@permissionCodeTwo{2329-4957}%
\or % TOPS
\def\@journalName{ACM Transactions on Privacy and Security}%
\def\@journalNameShort{ACM Trans. Priv. Sec.}%
@ -1316,6 +1401,14 @@
\def\@journalName{ACM Transactions on Programming Languages and Systems}%
\def\@journalNameShort{ACM Trans. Program. Lang. Syst.}%
\def\@permissionCodeOne{0164-0925}%
\or % TOPML
\def\@journalName{ACM Transactions on Probabilistic Machine Learning}%
\def\@journalNameShort{ACM Trans. Probab. Mach. Learn.}%
\def\@permissionCodeOne{2836-8924}%
\or % TORS
\def\@journalName{ACM Transactions on Recommender Systems}%
\def\@journalNameShort{ACM Trans. Recomm. Syst.}%
\def\@permissionCodeOne{2770-6699}%
\or % TOS
\def\@journalName{ACM Transactions on Storage}%
\def\@journalNameShort{ACM Trans. Storage}%
@ -1550,23 +1643,40 @@
\acmISBN{978-x-xxxx-xxxx-x/YY/MM}
\def\acmDOI#1{\def\@acmDOI{#1}}
\acmDOI{10.1145/nnnnnnn.nnnnnnn}
\newif\if@ACM@badge
\@ACM@badgefalse
\newlength\@ACM@badge@width
\setlength\@ACM@badge@width{5pc}
\setlength\@ACM@badge@width{3pc}
\newlength\@ACM@title@width
\newlength\@ACM@badge@skip
\setlength\@ACM@badge@skip{1pc}
\newcommand\acmBadgeR[2][]{\@ACM@badgetrue
\def\@acmBadgeR@url{#1}%
\def\@acmBadgeR@image{#2}}
\def\@acmBadgeR@url{}
\def\@acmBadgeR@image{}
\newcommand\acmBadgeL[2][]{\@ACM@badgetrue
\def\@acmBadgeL@url{#1}%
\def\@acmBadgeL@image{#2}}
\def\@acmBadgeL@url{}
\def\@acmBadgeL@image{}
\setlength\@ACM@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@badge@width]{#2}}}}}%
\else
\g@addto@macro{\@acmBadgeR}{%
\hspace{\@ACM@badge@skip}%
\smash{%
\raisebox{0.5\height}{%
\href{#1}{\includegraphics[width=\@ACM@badge@width]{#2}}}}}%
\fi}
\newcommand\acmBadgeL[2][]{%
\ifx\@acmBadgeL\@empty
\gdef\@acmBadgeL{%
\smash{%
\raisebox{0.5\height}{%
\href{#1}{\includegraphics[width=\@ACM@badge@width]{#2}}}}}%
\else
\g@addto@macro{\@acmBadgeL}{%
\hspace{\@ACM@badge@skip}%
\smash{%
\raisebox{0.5\height}{%
\href{#1}{\includegraphics[width=\@ACM@badge@width]{#2}}}}}%
\fi}
\let\acmBadge=\acmBadgeR
\def\startPage#1{\def\@startPage{#1}}
\startPage{}
\def\terms#1{\ClassWarning{\@classname}{The command \string\terms{} is
@ -1646,6 +1756,42 @@
\ifx\@received\@empty\else
\par\bigskip\noindent\small\normalfont\@received\par
\fi}
\define@choicekey+{ACM}{articletype}[\ACM@ArticleType\ACM@ArticleType@nr]{%
Research,Review,Discussion,Invited,Position}[Review]{%
\ifcase\ACM@ArticleType@nr
\relax % Research
\colorlet{@ACM@Article@color}{ACMBlue}%
\or % Review
\colorlet{@ACM@Article@color}{ACMOrange}%
\or % Discussion
\colorlet{@ACM@Article@color}{ACMGreen}%
\or % Invited
\colorlet{@ACM@Article@color}{ACMPurple}%
\or % Position
\colorlet{@ACM@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@ACM@acmcp
\acmArticleType{Research}%
\fi
% \end{macrocode}
\newenvironment{@ACM@color@frame}{%
\def\FrameCommand{\hspace*{-6.5pc}%
\colorbox{@ACM@Article@color!10!white}}%
\MakeFramed {\advance\hsize
-6.5pc\relax\FrameRestore}}{\zsaveposy{@ACM@acmcpframe@y}%
\endMakeFramed}
\def\acmCodeLink#1{%
\ifx\@acmCodeDataLink\@empty
\gdef\@acmCodeDataLink{\url{#1}}%
\else
\g@addto@macro{\@acmCodeDataLink}{\\ \url{#1}}%
\fi}
\def\@acmCodeDataLink{}
\let\acmDataLink\acmCodeLink
\RequirePackage{comment}
\excludecomment{CCSXML}
\let\@concepts\@empty
@ -1691,7 +1837,7 @@
acmcopyright,acmlicensed,rightsretained,%
usgov,usgovmixed,cagov,cagovmixed,licensedusgovmixed,%
licensedcagov,licensedcagovmixed,othergov,licensedothergov,%
iw3c2w3,iw3c2w3g}{%
iw3c2w3,iw3c2w3g,cc}{%
\@printpermissiontrue
\@printcopyrighttrue
\@acmownedtrue
@ -1738,9 +1884,17 @@
\ifnum\acm@copyrightmode=14\relax % iw3c2w3g
\@acmownedfalse
\AtBeginDocument{\acmPrice{}}%
\fi
\ifnum\acm@copyrightmode=15\relax % cc
\@acmownedfalse
\AtBeginDocument{\acmPrice{}}%
\fi}
\def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}}
\setcopyright{acmcopyright}
\newcommand\setcctype[2][4.0]{%
\def\ACM@cc@version{#1}%
\def\ACM@cc@type{#2}}
\setcctype{by}
\def\@copyrightowner{%
\ifcase\acm@copyrightmode\relax % none
\or % acmcopyright
@ -1777,8 +1931,26 @@
\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\@ACM@copyright@check@cc{%
\if@ACM@nonacm
\ClassInfo{\@classname}{Using CC license with a non-acm
material}%
\else
\if@ACM@engage
\ClassInfo{\@classname}{Using CC license with ACM Enage
material}%
\else
\ClassError{\@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@copyrightmode\relax % none
\or % acmcopyright
@ -1901,6 +2073,24 @@
(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
\@ACM@copyright@check@cc
\IfEq{\ACM@cc@type}{zero}{%
\def\ACM@CC@Url{https://creativecommons.org/publicdomain/zero/1.0/legalcode}}{%
\edef\ACM@CC@Url{https://creativecommons.org/licenses/\ACM@cc@type/\ACM@cc@version/legalcode}}%
\href{\ACM@CC@Url}{\includegraphics[height=5ex]{doclicense-CC-\ACM@cc@type-88x31}}\\
\href{\ACM@CC@Url}{%
This work is licensed under a Creative Commons
\IfEq{\ACM@cc@type}{zero}{CC0 1.0 Universal}{%
\IfEq{\ACM@cc@type}{by}{Attribution}{}%
\IfEq{\ACM@cc@type}{by-sa}{Attribution-ShareAlike}{}%
\IfEq{\ACM@cc@type}{by-nd}{Attribution-NoDerivatives}{}%
\IfEq{\ACM@cc@type}{by-nc}{Attribution-NonCommercial}{}%
\IfEq{\ACM@cc@type}{by-nc-sa}{Attribution-NonCommercial-ShareAlike}{}%
\IfEq{\ACM@cc@type}{by-nc-nd}{Attribution-NonCommercial-NoDerivatives}{}%
~\IfEq{\ACM@cc@version}{4.0}{4.0 International}{3.0 Unported}%
}
License.}%
\fi}
\def\copyrightyear#1{\def\@copyrightyear{#1}}
\copyrightyear{\@acmYear}
@ -1924,6 +2114,10 @@
\let\@beginmaketitlehook\@empty
\fi
\def\AtBeginMaketitle{\g@addto@macro\@beginmaketitlehook}
\def\@acmengagemetadata{}
\def\setengagemetadata#1#2{%
\g@addto@macro{\@acmengagemetadata}{%
\@setengagemetadata{#1}{#2}}}
\newbox\mktitle@bx
\def\maketitle{\@beginmaketitlehook
\@ACM@maketitle@typesettrue
@ -1954,15 +2148,23 @@
\footnotetextauthorsaddresses{%
\def\par{\let\par\@par}\parindent\z@\@setthanks}%
\fi
\ifx\@empty\@authorsaddresses\else
\if@ACM@anonymous\else
\if@ACM@journal@bibstrip
\footnotetextauthorsaddresses{%
\def\par{\let\par\@par}\parindent\z@\@setauthorsaddresses}%
\if@ACM@acmcp\else
\ifx\@empty\@authorsaddresses\else
\if@ACM@anonymous\else
\if@ACM@journal@bibstrip
\footnotetextauthorsaddresses{%
\def\par{\let\par\@par}\parindent\z@\@setauthorsaddresses}%
\fi
\fi
\fi
\fi
\fi
\if@ACM@nonacm\else\footnotetextcopyrightpermission{%
\if@ACM@nonacm
\ifnum\acm@copyrightmode=15\relax % cc
\footnotetextcopyrightpermission{\@copyrightpermission}%
\fi
\else
\if@ACM@acmcp\else
\footnotetextcopyrightpermission{%
\if@ACM@authordraft
\raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries
Unpublished working draft. Not for distribution.}}%
@ -1974,7 +2176,11 @@
\fi
\if@ACM@manuscript\else
\if@ACM@journal@bibstrip\else % Print the conference information
\if@ACM@engage
{\itshape \@acmBooktitle, \@acmYear.}\par
\else
{\itshape \acmConference@shortname, \acmConference@date, \acmConference@venue}\par
\fi
\fi
\fi
\if@printcopyright
@ -2012,9 +2218,11 @@
\fi
\fi
\fi
\fi}
\fi}%
\fi
\fi
\endgroup
\if@ACM@engage\@typesetengagemetadata\fi
\setcounter{footnote}{0}%
\@mkabstract
\ifx\@translatedabstracts\@empty\else
@ -2025,12 +2233,14 @@
\noindent\@concepts\par}\egroup
\fi
\fi
\ifx\@keywords\@empty\else\bgroup
{\@specialsection{\keywordsname}%
\noindent\@keywords\par}\egroup
\fi
\ifx\@translatedkeywords\@empty\else
\@translatedkeywords
\if@ACM@acmcp\else
\ifx\@keywords\@empty\else\bgroup
{\@specialsection{\keywordsname}%
\noindent\@keywords\par}\egroup
\fi
\ifx\@translatedkeywords\@empty\else
\@translatedkeywords
\fi
\fi
\let\metadata@authors=\authors
\nxandlist{, }{, }{, }\metadata@authors
@ -2057,7 +2267,42 @@
\@printendtopmatter
\@afterindentfalse
\@afterheading
\if@ACM@acmcp
\set@ACM@acmcpbox
\AtEndDocument{\end@ACM@color@frame}%
\@ACM@color@frame
\fi
}
\newbox\@ACM@acmcpbox
\def\set@ACM@acmcpbox{%
\bgroup
\hsize=5pc
\global\setbox\@ACM@acmcpbox=\vbox{%
\setlength{\parindent}{\z@}%
{\includegraphics[width=\hsize]{acm-jdslogo}\par}%
\scriptsize
\ifnum\getrefnumber{TotPages}>1\else
\zrefused{@ACM@acmcpbox@y}%
\zrefused{@ACM@acmcpframe@y}%
\@tempdima=\dimexpr\zposy{@ACM@acmcpbox@y}sp -
\zposy{@ACM@acmcpframe@y}sp+0.3\FrameSep+
\@ACM@acmcp@delta\relax
\ifdim\@tempdima>0pt\relax
\vspace*{\@tempdima}%
\protected@write\@auxout{}%
{\string\global\@ACM@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\@empty\@authorsaddresses\else\bigskip\@setauthorsaddresses\fi
\zsaveposy{@ACM@acmcpbox@y}%
}
\egroup}
\def\@specialsection#1{%
\let\@vspace\@vspace@orig
\let\@vspacer\@vspacer@orig
@ -2080,6 +2325,10 @@
\section*{#1}%
\or % sigchi-a
\section*{#1}%
\or % acmengage
\section*{#1}%
\or % acmcp
\section*{#1}%
\fi
\let\@vspace\@vspace@acm
\let\@vspacer\@vspacer@acm
@ -2123,18 +2372,10 @@
\twocolumn[\box\mktitle@bx]%
\or % sigchi-a
\par\box\mktitle@bx\par\bigskip
\if@ACM@badge
\marginpar{\noindent
\ifx\@acmBadgeL@image\@empty\else
\href{\@acmBadgeL@url}{%
\includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}%
\hskip\@ACM@badge@skip
\fi
\ifx\@acmBadgeR@image\@empty\else
\href{\@acmBadgeR@url}{%
\includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}%
\fi}%
\fi
\or % acmengage
\twocolumn[\box\mktitle@bx]%
\or % acmcp
\box\mktitle@bx\par
\fi
}
\def\@mktitle{%
@ -2157,6 +2398,10 @@
\@mktitle@iii
\or % sigchi-a
\@mktitle@iv
\or % acmengage
\@mktitle@iii
\or % acmcp
\@mktitle@i
\fi
}
\def\@titlefont{%
@ -2179,6 +2424,10 @@
\Huge\sffamily\bfseries
\or % sigchi-a
\Huge\bfseries
\or % acmengage
\Huge\sffamily\bfseries
\or % acmcp
\LARGE\sffamily\bfseries
\fi}
\def\@subtitlefont{\normalsize
\ifcase\ACM@format@nr
@ -2200,62 +2449,33 @@
\LARGE\mdseries
\or % sigchi-a
\mdseries
\or % acmengage
\LARGE\mdseries
\or % acmcp
\mdseries
\fi}
\def\@mktitle@i{\hsize=\textwidth
\if@ACM@acmcp
\advance\hsize by -6pc%
\fi
\@ACM@title@width=\hsize
\ifx\@acmBadgeL@image\@empty\else
\advance\@ACM@title@width by -\@ACM@badge@width
\advance\@ACM@title@width by -\@ACM@badge@skip
\fi
\ifx\@acmBadgeR@image\@empty\else
\advance\@ACM@title@width by -\@ACM@badge@width
\advance\@ACM@title@width by -\@ACM@badge@skip
\fi
\setbox\mktitle@bx=\vbox{\noindent\@titlefont
\ifx\@acmBadgeL@image\@empty\else
\raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{%
\includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}%
\hskip\@ACM@badge@skip
\fi
\parbox[t]{\@ACM@title@width}{\raggedright
\@titlefont\noindent
\@title\@translatedtitle%
\ifx\@subtitle\@empty\else
\par\noindent{\@subtitlefont\@subtitle\@translatedsubtitle}%
\fi}%
\ifx\@acmBadgeR@image\@empty\else
\hskip\@ACM@badge@skip
\raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{%
\includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}%
\fi
\par\bigskip}}%
\def\@mktitle@iii{\hsize=\textwidth
\setbox\mktitle@bx=\vbox{\@titlefont\centering
\@ACM@title@width=\hsize
\if@ACM@badge
\advance\@ACM@title@width by -2\@ACM@badge@width
\advance\@ACM@title@width by -2\@ACM@badge@skip
\parbox[b]{\@ACM@badge@width}{\strut
\ifx\@acmBadgeL@image\@empty\else
\raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{%
\includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}%
\fi}%
\hskip\@ACM@badge@skip
\fi
\parbox[t]{\@ACM@title@width}{\centering\@titlefont
\@title\@translatedtitle%
\ifx\@subtitle\@empty\else
\par\noindent{\@subtitlefont\@subtitle\@translatedsubtitle}
\fi
}%
\if@ACM@badge
\hskip\@ACM@badge@skip
\parbox[b]{\@ACM@badge@width}{\strut
\ifx\@acmBadgeR@image\@empty\else
\raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{%
\includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}%
\fi}%
\fi
\par\bigskip}}%
\def\@mktitle@iv{\hsize=\textwidth
\setbox\mktitle@bx=\vbox{\raggedright\leftskip5pc\@titlefont
@ -2282,7 +2502,9 @@
\def\city#1{\global\@ACM@citypresenttrue\unskip\ignorespaces}
\def\state#1{\unskip\ignorespaces}
\newcommand\department[2][0]{\unskip\ignorespaces}
\def\country#1{\global\@ACM@countrypresenttrue
\def\country#1{\StrDel{#1}{ }[\@tempa]%
\ifx\@tempa\@empty\else
\global\@ACM@countrypresenttrue\fi
\if@ACM@affiliation@obeypunctuation\else, \fi#1\ignorespaces}
\else
\def\position#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
@ -2315,6 +2537,10 @@
\@mkauthors@iii
\or % sigchi-a
\@mkauthors@iv
\or % acmengage
\@mkauthors@iii
\or % acmcp
\@mkauthors@i
\fi
\endgroup
}
@ -2344,6 +2570,12 @@
\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@author@line{%
\andify\@currentauthors\par\noindent
@ -2404,6 +2636,9 @@
\fi
\fi
\global\let\and\@typeset@author@line}%
\if@ACM@acmcp
\advance\hsize by -6pc%
\fi
\global\setbox\mktitle@bx=\vbox{\noindent\unvbox\mktitle@bx\par\medskip
\noindent\addresses\@typeset@author@line
\par\medskip}%
@ -2617,6 +2852,9 @@
}
\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}
\RequirePackage{fancyhdr}
\let\ACM@ps@plain\ps@plain
\let\ACM@ps@myheadings\ps@myheadings
@ -2670,6 +2908,10 @@
\ACM@mk@linecount
\or % sigchi-a
\ACM@mk@linecount
\or % acmengage
\ACM@mk@linecount
\or % acmcp
\relax
\fi
\begin{picture}(0,0)%
\put(20,-22){\usebox{\ACM@linecount@bx}}%
@ -2758,12 +3000,20 @@
\fancyhead[LE]{\ACM@linecountL}%
\fancyhead[RO]{\ACM@linecountR}%
\else%
\fancyhead[LE]{\ACM@linecountL\@headfootfont\footnotesize
\acmConference@shortname,
\acmConference@date, \acmConference@venue}%
\fancyhead[RO]{\@headfootfont
\acmConference@shortname,
\acmConference@date, \acmConference@venue\ACM@linecountR}%
\if@ACM@engage
\fancyhead[LE]{\ACM@linecountL\@headfootfont\footnotesize
EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi}%
\fancyhead[RO]{\@headfootfont
EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi
\ACM@linecountR}%
\else
\fancyhead[LE]{\ACM@linecountL\@headfootfont\footnotesize
\acmConference@shortname,
\acmConference@date, \acmConference@venue}%
\fancyhead[RO]{\@headfootfont
\acmConference@shortname,
\acmConference@date, \acmConference@venue\ACM@linecountR}%
\fi
\fi
\fi
\else % Proceedings
@ -2774,12 +3024,20 @@
\fancyhead[LE]{\ACM@linecountL}%
\fancyhead[RO]{\ACM@linecountR}%
\else%
\fancyhead[LE]{\ACM@linecountL\@headfootfont
\acmConference@shortname,
\acmConference@date, \acmConference@venue}%
\fancyhead[RO]{\@headfootfont
\acmConference@shortname,
\acmConference@date, \acmConference@venue\ACM@linecountR}%
\if@ACM@engage
\fancyhead[LE]{\ACM@linecountL\@headfootfont
EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi}%
\fancyhead[RO]{\@headfootfont
EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi
\ACM@linecountR}%
\else
\fancyhead[LE]{\ACM@linecountL\@headfootfont
\acmConference@shortname,
\acmConference@date, \acmConference@venue}%
\fancyhead[RO]{\@headfootfont
\acmConference@shortname,
\acmConference@date, \acmConference@venue\ACM@linecountR}%
\fi
\fi
\fi
\if@ACM@sigchiamode
@ -2788,6 +3046,21 @@
\if@ACM@timestamp
\fancyfoot[LO,RE]{\ACM@timestamp}
\fi
\if@ACM@acmcp
\renewcommand{\footrulewidth}{0.1\p@}%
\fancyheadoffset[L]{46pt}%
\fancyhead[L]{\makebox[\z@][l]{%
\raisebox{-\dimexpr(0.25\textheight*\ACM@ArticleType@nr)}{%
\rotatebox{90}{\colorbox{@ACM@Article@color}{\color{white}%
\strut\ACM@ArticleType~Article}}}}%
\ACM@linecountL}%
\fancyhead[R]{\makebox[\z@][r]{\box\@ACM@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}
}
@ -2839,7 +3112,8 @@
\if@ACM@journal@bibstrip
\ifcase\ACM@format@nr
\relax % manuscript
\fancyhead[L]{\ACM@linecountL}%
\fancyhead[L]{\ACM@linecountL\@acmBadgeL}%
\fancyhead[R]{\@acmBadgeR}%
\fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}%
\if@ACM@nonacm\else%
\fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}%
@ -2850,9 +3124,10 @@
\@acmNumber, Article \@acmArticle. Publication date:
\@acmPubDate.}%
\fi%
\fancyhead[LE]{\ACM@linecountL\@folioblob}%
\fancyhead[LO]{\ACM@linecountL}%
\fancyhead[RO]{\@folioblob}%
\fancyhead[LE]{\ACM@linecountL\@folioblob\@acmBadgeL}%
\fancyhead[LO]{\ACM@linecountL\@acmBadgeL}%
\fancyhead[RO]{\@acmBadgeR\@folioblob}%
\fancyhead[RE]{\@acmBadgeR}%
\fancyheadoffset[RO,LE]{0.6\@folio@wd}%
\or % acmlarge
\if@ACM@nonacm\else%
@ -2860,9 +3135,10 @@
\@acmNumber, Article \@acmArticle. Publication date:
\@acmPubDate.}%
\fi%
\fancyhead[RO]{\@folioblob}%
\fancyhead[LE]{\ACM@linecountL\@folioblob}%
\fancyhead[LO]{\ACM@linecountL}%
\fancyhead[RO]{\@acmBadgeR\@folioblob}%
\fancyhead[RE]{\@acmBadgeR}%
\fancyhead[LE]{\ACM@linecountL\@folioblob\@acmBadgeL}%
\fancyhead[LO]{\ACM@linecountL\@acmBadgeL}%
\fancyheadoffset[RO,LE]{1.4\@folio@wd}%
\or % acmtog
\if@ACM@nonacm\else%
@ -2870,16 +3146,16 @@
\@acmNumber, Article \@acmArticle. Publication date:
\@acmPubDate.}%
\fi%
\fancyhead[L]{\ACM@linecountL}%
\fancyhead[R]{\ACM@linecountR}%
\fancyhead[L]{\ACM@linecountL\@acmBadgeL}%
\fancyhead[R]{\@acmBadgeR\ACM@linecountR}%
\else % Conference proceedings
\fancyhead[L]{\ACM@linecountL}%
\fancyhead[R]{\ACM@linecountR}%
\fancyhead[L]{\ACM@linecountL\@acmBadgeL}%
\fancyhead[R]{\@acmBadgeR\ACM@linecountR}%
\fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
\fi
\else
\fancyhead[L]{\ACM@linecountL}%
\fancyhead[R]{\ACM@linecountR}%
\fancyhead[L]{\ACM@linecountL\@acmBadgeL}%
\fancyhead[R]{\@acmBadgeR\ACM@linecountR}%
\fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
\fi
\if@ACM@timestamp
@ -2892,6 +3168,21 @@
\fancyfoot[LO,RE]{\ACM@timestamp}
\fi
\fi
\if@ACM@acmcp
\renewcommand{\footrulewidth}{0.1\p@}%
\fancyheadoffset[L]{46pt}%
\fancyhead[L]{\makebox[\z@][l]{%
\raisebox{-\dimexpr(0.25\textheight*\ACM@ArticleType@nr)}{%
\rotatebox{90}{\colorbox{@ACM@Article@color}{\color{white}%
\strut\ACM@ArticleType~Article}}}}%
\ACM@linecountL\@acmBadgeL}%
\fancyhead[R]{\@acmBadgeR\makebox[\z@][r]{\box\@ACM@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@NRadjust#1{%
\begingroup
@ -2986,9 +3277,16 @@
\setcounter{secnumdepth}{0}
\def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
\def\@subsecfont{\sffamily\bfseries\section@raggedright}
\or % acmengage
\def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase}
\def\@subsecfont{\bfseries\Large\section@raggedright}
\or %acmcp
\fi
\def\@adddotafter#1{#1\@addpunct{.}}
\def\@addspaceafter#1{#1\@addpunct{\enspace}}
\if@ACM@acmcp
\setcounter{secnumdepth}{-1}%
\fi
\providecommand*\@dotsep{4.5}
\def\@acmplainbodyfont{\itshape}
\def\@acmplainindent{\parindent}
@ -3008,6 +3306,8 @@
\def\@acmplainnotefont{\normalfont}
\or % sigchi
\or % sigchi-a
\or % acmengage
\or % acmcp
\fi
\newtheoremstyle{acmplain}%
{.5\baselineskip\@plus.2\baselineskip
@ -3038,6 +3338,8 @@
\def\@acmdefinitionnotefont{\normalfont}
\or % sigchi
\or % sigchi-a
\or % acmengage
\or % acmcp
\fi
\newtheoremstyle{acmdefinition}%
{.5\baselineskip\@plus.2\baselineskip
@ -3093,6 +3395,8 @@
\def\@proofindent{\noindent}
\or % sigchi
\or % sigchi-a
\or % acmengage
\or % acmcp
\fi
\renewenvironment{proof}[1][\proofname]{\par
\pushQED{\qed}%
@ -3121,6 +3425,9 @@
\or % sigchi
\RequirePackage{pbalance}%
\or % sigchi-a
\or % acmengage
\RequirePackage{pbalance}%
\or % acmcp
\fi
\fi
\if@ACM@balance
@ -3143,6 +3450,10 @@
\RequirePackage{balance}%
\or % sigchi-a
\global\@ACM@balancefalse
\or % acmengage
\RequirePackage{balance}%
\or % acmcp
\global\@ACM@balancefalse
\fi
\fi
}