Commit 55c219d0 authored by Paul Fiterau Brostean's avatar Paul Fiterau Brostean

Updated tex files

parent 75be428d
......@@ -35,12 +35,15 @@
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{acmart}
[2017/01/07 v1.28 Typesetting articles for Association of
[2017/04/23 v1.35 Typesetting articles for Association of
Computing Machinery]
\def\@classname{acmart}
\InputIfFileExists{acmart-preload-hook.tex}{%
\ClassWarning{\@classname}{%
I am loading acmart-preload-hook.tex. You are fully responsible
for any problems from now on.}}{}
\RequirePackage{xkeyval}
\define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{%
manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph,
......@@ -83,16 +86,14 @@ Computing Machinery]
\fi}{\PackageError{\@classname}{Option authorversion can be either true or
false}}
\ExecuteOptionsX{authorversion=false}
\newif\if@ACM@natbib@override
\@ACM@natbib@overridefalse
\define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{%
\@ACM@natbib@overridetrue
\if@ACM@natbib
\PackageInfo{\@classname}{Explicitly selecting natbib mode}%
\else
\PackageInfo{\@classname}{Explicitly deselecting natbib mode}%
\fi}{\PackageError{\@classname}{Option natbib can be either true or
false}}
\ExecuteOptionsX{natbib=true}
\define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{%
\if@ACM@anonymous
\PackageInfo{\@classname}{Using anonymous mode}%
......@@ -101,6 +102,24 @@ Computing Machinery]
\fi}{\PackageError{\@classname}{Option anonymous can be either true or
false}}
\ExecuteOptionsX{anonymous=false}
\define@boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{%
\if@ACM@timestamp
\PackageInfo{\@classname}{Using timestamp mode}%
\else
\PackageInfo{\@classname}{Not using timestamp mode}%
\fi}{\PackageError{\@classname}{Option timestamp can be either true or
false}}
\ExecuteOptionsX{timestamp=false}
\define@boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{%
\if@ACM@authordraft
\PackageInfo{\@classname}{Using authordraft mode}%
\@ACM@timestamptrue
\@ACM@reviewtrue
\else
\PackageInfo{\@classname}{Not using authordraft mode}%
\fi}{\PackageError{\@classname}{Option authordraft can be either true or
false}}
\ExecuteOptionsX{timestamp=false}
\def\ACM@fontsize{}
\DeclareOptionX{9pt}{\edef\ACM@fontsize{\CurrentOption}}
\DeclareOptionX{10pt}{\edef\ACM@fontsize{\CurrentOption}}
......@@ -113,6 +132,11 @@ Computing Machinery]
\newif\if@ACM@manuscript
\newif\if@ACM@journal
\newif\if@ACM@sigchiamode
\ifnum\ACM@format@nr=5\relax % siggraph
\ClassWarning{\@classname}{The format `siggraph' is now obsolete.
I am switching to sigconf.}
\setkeys{acmart.cls}{format=sigconf}
\fi
\ifnum\ACM@format@nr=0\relax
\@ACM@manuscripttrue
\else
......@@ -140,9 +164,6 @@ Computing Machinery]
\@ACM@journalfalse
\@ACM@sigchiamodetrue
\fi
\if@ACM@natbib@override\else
\@ACM@natbibtrue
\fi
\ifx\ACM@fontsize\@empty
\ifcase\ACM@format@nr
\relax % manuscript
......@@ -257,7 +278,7 @@ Computing Machinery]
\newcommand{\bibstyle@acmauthoryear}{%
\setcitestyle{%
authoryear,%
open={(},close={)},citesep={;},%
open={[},close={]},citesep={;},%
aysep={},yysep={,},%
notesep={, }}}
\newcommand{\bibstyle@acmnumeric}{%
......@@ -285,6 +306,7 @@ Computing Machinery]
{\@ssect{#3}{#4}{#5}{#6}}%
{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
\def\@sect#1#2#3#4#5#6[#7]#8{%
\edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}%
\ifnum #2>\c@secnumdepth
\let\@svsec\@empty
\else
......@@ -299,6 +321,9 @@ Computing Machinery]
\interlinepenalty \@M #8\@@par}%
\endgroup
\csname #1mark\endcsname{#7}%
\ifnum #2>\c@secnumdepth \else
\@tochangmeasure{\csname the#1\endcsname}%
\fi
\addcontentsline{toc}{#1}{%
\ifnum #2>\c@secnumdepth \else
\protect\numberline{\csname the#1\endcsname}%
......@@ -309,6 +334,9 @@ Computing Machinery]
#6{\hskip #3\relax
\@svsec #8}%
\csname #1mark\endcsname{#7}%
\ifnum #2>\c@secnumdepth \else
\@tochangmeasure{\csname the#1\endcsname\space}%
\fi
\addcontentsline{toc}{#1}{%
\ifnum #2>\c@secnumdepth \else
\protect\numberline{\csname the#1\endcsname}%
......@@ -353,14 +381,29 @@ Computing Machinery]
\def\@svsechd{#4{\hskip #1\relax #5}}%
\fi
\@xsect{#3}}
\def\@starttoc#1#2{\begingroup
\setTrue{#1}%
\par\removelastskip\vskip\z@skip
\@startsection{section}\@M\z@{\linespacing\@plus\linespacing}%
{.5\linespacing}{\centering\contentsnamefont}{#2}%
\@input{\jobname.#1}%
\if@filesw
\@xp\newwrite\csname tf@#1\endcsname
\immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax
\fi
\global\@nobreakfalse \endgroup
\addvspace{32\p@\@plus14\p@}%
}
\def\l@subsection{\@tocline{2}{0pt}{1pc}{3pc}{}}
\def\l@subsubsection{\@tocline{2}{0pt}{1pc}{5pc}{}}
\let\@footnotemark@nolink\@footnotemark
\let\@footnotetext@nolink\@footnotetext
\RequirePackage[bookmarksnumbered,unicode]{hyperref}
\pdfstringdefDisableCommands{%
\def\unskip{}
\def\textbullet{- }
\def\textrightarrow{ -> }
\def\footnotemark{}
\def\unskip{}%
\def\textbullet{- }%
\def\textrightarrow{ -> }%
\def\footnotemark{}%
}
\urlstyle{rm}
\ifcase\ACM@format@nr
......@@ -398,9 +441,12 @@ Computing Machinery]
\let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}%
\providecommand\newblock{}%
\else
\providecommand\citename[1]{#1}
\AtBeginDocument{%
\let\shortcite\cite%
\providecommand\citename[1]{#1}}
\fi
\def\shortcite#1{\ifNAT@numbers\cite{#1}\else\citeyear{#1}\fi}
\newcommand\shortcite[2][]{%
\ifNAT@numbers\cite[#1]{#2}\else\citeyear[#1]{#2}\fi}
\def\bibliographystyle#1{%
\ifx\@begindocumenthook\@undefined\else
\expandafter\AtBeginDocument
......@@ -417,54 +463,70 @@ Computing Machinery]
\definecolor[named]{ACMGreen}{cmyk}{0.20,0,1,0.19}
\definecolor[named]{ACMPurple}{cmyk}{0.55,1,0,0.15}
\definecolor[named]{ACMDarkBlue}{cmyk}{1,0.58,0,0.21}
\if@ACM@authordraft
\RequirePackage{draftwatermark}
\SetWatermarkFontSize{0.5in}
\SetWatermarkColor[gray]{.9}
\SetWatermarkText{\parbox{12em}{\centering
Unpublished working draft\\
Not for distribution}}
\fi
\RequirePackage{geometry}
\ifcase\ACM@format@nr
\relax % manuscript
\geometry{letterpaper,head=1pc}%
\geometry{letterpaper,head=13pt,
marginparwidth=6pc}%
\or % acmsmall
\geometry{twoside=true,
includeheadfoot, head=1pc, foot=2pc,
includeheadfoot, head=13pt, foot=2pc,
paperwidth=6.75in, paperheight=10in,
top=58pt, bottom=44pt, inner=46pt, outer=46pt
top=58pt, bottom=44pt, inner=46pt, outer=46pt,
marginparwidth=2pc
}%
\or % acmlarge
\geometry{twoside=true, head=1pc, foot=2pc,
\geometry{twoside=true, head=13pt, foot=2pc,
paperwidth=8.5in, paperheight=11in,
includeheadfoot,
top=78pt, bottom=114pt, inner=81pt, outer=81pt
top=78pt, bottom=114pt, inner=81pt, outer=81pt,
marginparwidth=4pc
}%
\or % acmtog
\geometry{twoside=true, head=1pc, foot=2pc,
\geometry{twoside=true, head=13pt, foot=2pc,
paperwidth=8.5in, paperheight=11in,
includeheadfoot, columnsep=24pt,
top=52pt, bottom=75pt, inner=52pt, outer=52pt
top=52pt, bottom=75pt, inner=52pt, outer=52pt,
marginparwidth=2pc
}%
\or % sigconf
\geometry{twoside=true, head=1pc,
\geometry{twoside=true, head=13pt,
paperwidth=8.5in, paperheight=11in,
includeheadfoot, columnsep=2pc,
top=57pt, bottom=73pt, inner=54pt, outer=54pt
top=57pt, bottom=73pt, inner=54pt, outer=54pt,
marginparwidth=2pc
}%
\or % siggraph
\geometry{twoside=true, head=1pc,
\geometry{twoside=true, head=13pt,
paperwidth=8.5in, paperheight=11in,
includeheadfoot, columnsep=2pc,
top=57pt, bottom=73pt, inner=54pt, outer=54pt
top=57pt, bottom=73pt, inner=54pt, outer=54pt,
marginparwidth=2pc
}%
\or % sigplan
\geometry{twoside=true, head=1pc,
\geometry{twoside=true, head=13pt,
paperwidth=8.5in, paperheight=11in,
includeheadfoot=false, columnsep=2pc,
top=1in, bottom=1in, inner=0.75in, outer=0.75in
top=1in, bottom=1in, inner=0.75in, outer=0.75in,
marginparwidth=2pc
}%
\or % sigchi
\geometry{twoside=true, head=1pc,
\geometry{twoside=true, head=13pt,
paperwidth=8.5in, paperheight=11in,
includeheadfoot, columnsep=2pc,
top=66pt, bottom=73pt, inner=54pt, outer=54pt
top=66pt, bottom=73pt, inner=54pt, outer=54pt,
marginparwidth=2pc
}%
\or % sigchi-a
\geometry{twoside=false, head=1pc,
\geometry{twoside=false, head=13pt,
paperwidth=11in, paperheight=8.5in,
includeheadfoot, marginparsep=72pt,
marginparwidth=170pt, columnsep=20pt,
......@@ -532,6 +594,14 @@ Computing Machinery]
\rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
\color@endgroup}}
\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}
\def\@textbottom{\vskip \z@ \@plus 1pt}
\let\@texttop\relax
\RequirePackage{iftex}
\ifPDFTeX
\input{glyphtounicode}
\pdfgentounicode=1
\fi
\RequirePackage{cmap}
\newif\if@ACM@newfonts
\@ACM@newfontstrue
\IfFileExists{libertine.sty}{}{\ClassWarning{\@classname}{You do not
......@@ -543,9 +613,10 @@ Computing Machinery]
have newtxmath package installed. Please upgrade your
TeX}\@ACM@newfontsfalse}
\if@ACM@newfonts
\RequirePackage[tt=false]{libertine}
\RequirePackage[tt=false, type1=true]{libertine}
\RequirePackage[varqu]{zi4}
\RequirePackage[libertine]{newtxmath}
\RequirePackage[T1]{fontenc}
\fi
\if@ACM@sigchiamode
\renewcommand{\familydefault}{\sfdefault}
......@@ -645,6 +716,7 @@ Computing Machinery]
JETC,%
JOCCH,%
PACMPL,%
POMACS,%
TAAS,%
TACCESS,%
TACO,%
......@@ -695,9 +767,9 @@ Computing Machinery]
\def\@journalNameShort{ACM Comput. Surv.}%
\def\@permissionCodeOne{0360-0300}%
\or % IMWUT
\def\@journalName{PACM on Interactive, Mobile, Wearable and
Ubiquitous Technologies}%
\def\@journalNameShort{PACM Interact. Mob. Wearable Ubiquitous Technol.}%
\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}%
\or % JACM
\def\@journalName{Journal of the ACM}%
......@@ -723,9 +795,13 @@ Computing Machinery]
\def\@journalName{ACM Journal on Computing and Cultural Heritage}%
\def\@journalName{ACM J. Comput. Cult. Herit.}%
\or % PACMPL
\def\@journalName{PACM on Programming Languages}%
\def\@journalName{PACM Progr. Lang.}%
\def\@journalName{Proceedings of the ACM on Programming Languages}%
\def\@journalName{Proc. ACM Program. Lang.}%
\def\@permissionCodeOne{2475-1421}%
\or % POMACS
\def\@journalName{Proceedings of the ACM on Measurement and Analysis of Computing Systems}%
\def\@journalName{Proc. ACM Meas. Anal. Comput. Syst.}%
\def\@permissionCodeOne{2476-1249}%
\or % TAAS
\def\@journalName{ACM Transactions on Autonomous and Adaptive Systems}%
\def\@journalNameShort{ACM Trans. Autonom. Adapt. Syst.}%
......@@ -946,6 +1022,20 @@ Computing Machinery]
\if@ACM@anonymous\else
\g@addto@macro\addresses{\affiliation{#1}{#2}}%
\fi}
\define@boolkey+{@ACM@affiliation@}[@ACM@affiliation@]{obeypunctuation}%
[true]{}{\ClassError{\@classname}{obeypunctuation must be true or false}}
\def\additionalaffiliation#1{\authornote{\@additionalaffiliation{#1}}}
\def\@additionalaffiliation#1{\bgroup
\def\position##1{\ignorespaces}%
\def\institution##1{##1\ignorespaces}%
\def\department{\@ifnextchar[{\@department}{\@department[]}}%
\def\@department[##1]##2{\unskip, ##2\ignorespaces}%
\let\streetaddress\position
\let\city\position
\let\state\position
\let\postcode\position
\let\country\position
Also with #1\unskip.\egroup}
\renewcommand{\email}[2][]{%
\if@ACM@anonymous\else
\g@addto@macro\addresses{\email{#1}{#2}}%
......@@ -986,15 +1076,17 @@ Computing Machinery]
\def\acmArticleSeq#1{\def\@acmArticleSeq{#1}}
\acmArticleSeq{\@acmArticle}
\def\acmYear#1{\def\@acmYear{#1}}
\acmYear{2016}
\acmYear{\the\year}
\def\acmMonth#1{\def\@acmMonth{#1}}
\acmMonth{1}
\acmMonth{\the\month}
\def\@acmPubDate{\ifcase\@acmMonth\or
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or
December\fi~\@acmYear}
\def\acmPrice#1{\def\@acmPrice{#1}}
\acmPrice{15.00}
\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}}
......@@ -1018,8 +1110,8 @@ Computing Machinery]
\def\@acmBadgeL@image{}
\def\startPage#1{\def\@startPage{#1}}
\startPage{}
\def\terms#1{\def\@terms{#1}}
\terms{}
\def\terms#1{\ClassWarning{\@classname}{The command \string\terms{} is
obsolete. I am going to ignore it}}
\def\keywords#1{\def\@keywords{#1}}
\keywords{}
\renewenvironment{abstract}{\Collect@Body\@saveabstract}{}
......@@ -1082,11 +1174,11 @@ Computing Machinery]
\RequirePackage{textcomp}
\def\ccsdesc@parse#1~#2~#3~{%
\expandafter\ifx\csname CCS@#2\endcsname\relax
\expandafter\gdef\csname CCS@#2\endcsname{\textbullet\textbf{#2} \textrightarrow }%
\expandafter\gdef\csname CCS@#2\endcsname{\textbullet\ \textbf{#2} \textrightarrow\ }%
\g@addto@macro{\@concepts}{\csname CCS@#2\endcsname}\fi
\expandafter\g@addto@macro\expandafter{\csname CCS@#2\endcsname}{%
\ifnum#1>499\textbf{#3; }\else
\ifnum#1>299\textit{#3; }\else
\ifnum#1>499\textbf{#3}; \else
\ifnum#1>299\textit{#3}; \else
#3; \fi\fi}}
\newif\if@printcopyright
\@printcopyrighttrue
......@@ -1111,11 +1203,13 @@ Computing Machinery]
\fi
\ifnum\acm@copyrightmode=3\relax % rightsretained
\@acmownedfalse
\acmPrice{}%
\fi
\ifnum\acm@copyrightmode=4\relax % usgov
\@printpermissiontrue
\@printcopyrightfalse
\@acmownedfalse
\acmPrice{}%
\fi
\ifnum\acm@copyrightmode=6\relax % cagov
\@acmownedfalse
......@@ -1137,32 +1231,32 @@ Computing Machinery]
\def\@copyrightowner{%
\ifcase\acm@copyrightmode\relax % none
\or % acmcopyright
ACM\@.
Association for Computing Machinery.
\or % acmlicensed
Copyright held by the owner/author(s). Publication rights licensed to
ACM\@.
Association for Computing Machinery.
\or % rightsretained
Copyright held by the owner/author(s).
\or % usgov
\or % usgovmixed
ACM\@.
Association for Computing Machinery.
\or % cagov
Crown in Right of Canada.
\or %cagovmixed
ACM\@.
Association for Computing Machinery.
\or %licensedusgovmixed
Copyright held by the owner/author(s). Publication rights licensed to
ACM\@.
Association for Computing Machinery.
\or %licensedcagovmixed
Copyright held by the owner/author(s). Publication rights licensed to
ACM\@.
Association for Computing Machinery.
\or % othergov
ACM\@.
Association for Computing Machinery.
\or % licensedothergov
Copyright held by the owner/author(s). Publication rights licensed to
ACM\@.
Association for Computing Machinery.
\fi}
\def\@formatdoi#1{\url{http://dx.doi.org/#1}}
\def\@formatdoi#1{\url{https://doi.org/#1}}
\def\@copyrightpermission{%
\ifcase\acm@copyrightmode\relax % none
\or % acmcopyright
......@@ -1289,8 +1383,9 @@ Computing Machinery]
\let\@footnotemark\@footnotemark@nolink
\let\@footnotetext\@footnotetext@nolink
\renewcommand\thefootnote{\@fnsymbol\c@footnote}%
\@topnum\z@ % this prevents figures from falling at the top of page
% 1
\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 bottom either
\hsize=\textwidth
\def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}%
\@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers
......@@ -1307,49 +1402,56 @@ Computing Machinery]
\footnotetextcopyrightpermission{%
\def\par{\let\par\@par}\parindent\z@\@setthanks}%
\fi
\footnotetextcopyrightpermission{\parindent\z@\parskip0.1\baselineskip
\if@ACM@authorversion\else
\if@printpermission\@copyrightpermission\par\fi
\fi
\if@ACM@manuscript\else
\if@ACM@journal\else % Print the conference short name
{\itshape \acmConference@shortname, \acmConference@venue}\par
\footnotetextcopyrightpermission{%
\if@ACM@authordraft
\raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries
Unpublished
working draft. Not for distribution}}%
\color[gray]{0.9}%
\fi
\fi
\if@printcopyright
\copyright\ \@copyrightyear\ \@copyrightowner\
\else
\@copyrightyear.\
\fi
\if@ACM@manuscript
Manuscript submitted to ACM\\
\else
\if@ACM@authorversion
This is the author's version of the work. It is posted here for
your personal use. Not for redistribution. The definitive Version
of Record was published in
\if@ACM@journal
\emph{\@journalName}%
\else
\emph{Proceedings of \acmConference@name, \acmConference@date}%
\fi
\ifx\@acmDOI\@empty
.
\parindent\z@\parskip0.1\baselineskip
\if@ACM@authorversion\else
\if@printpermission\@copyrightpermission\par\fi
\fi
\if@ACM@manuscript\else
\if@ACM@journal\else % Print the conference information
{\itshape \acmConference@shortname, \acmConference@date, \acmConference@venue}\par
\fi
\fi
\if@printcopyright
\copyright\ \@copyrightyear\ \@copyrightowner\\
\else
\@copyrightyear.\
\fi
\if@ACM@manuscript
Manuscript submitted to ACM\\
\else
\if@ACM@authorversion
This is the author's version of the work. It is posted here for
your personal use. Not for redistribution. The definitive Version
of Record was published in
\if@ACM@journal
\emph{\@journalName}%
\else
\emph{Proceedings of \acmConference@name, \acmConference@date}%
\fi
\ifx\@acmDOI\@empty
.
\else
, \@formatdoi{\@acmDOI}.
\fi\\
\else
, \@formatdoi{\@acmDOI}.
\fi\\
\else
\if@ACM@journal
\@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle\
\$\@acmPrice\\
DOI: \nolinkurl{\@acmDOI}%
\else % Conference
\@acmISBN
\ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\
DOI: \nolinkurl{\@acmDOI}%
\if@ACM@journal
\@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle
\ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\
\@formatdoi{\@acmDOI}%
\else % Conference
ACM~ISBN~\@acmISBN
\ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\
\@formatdoi{\@acmDOI}%
\fi
\fi
\fi
\fi}%
\fi}
\endgroup
\setcounter{footnote}{0}%
\@mkabstract
......@@ -1359,10 +1461,6 @@ Computing Machinery]
\@concepts\par}\egroup
\fi
\fi
\if\@terms\@empty\else\bgroup
{\@specialsection{General Terms}%
\@terms\par}\egroup
\fi
\ifx\@keywords\@empty\else\bgroup
{\if@ACM@journal
\@specialsection{Additional Key Words and Phrases}%
......@@ -1492,7 +1590,7 @@ Computing Machinery]
\or % sigchi-a
\Huge\bfseries
\fi}
\def\@subtitlefont{%
\def\@subtitlefont{\normalsize
\ifcase\ACM@format@nr
\relax % manuscript
\mdseries
......@@ -1580,27 +1678,29 @@ Computing Machinery]
\newbox\@ACM@commabox
\def\@ACM@addtoaddress#1{%
\ifvmode\else
\if@ACM@affiliation@obeypunctuation\else
\setbox\@ACM@commabox=\hbox{, }%
\unskip\cleaders\copy\@ACM@commabox\hskip\wd\@ACM@commabox
\fi
\fi\fi
#1}
\if@ACM@journal
\let\position\@gobble
\def\institution#1{#1\ignorespaces}%
\let\department\@gobble
\newcommand\department[2][0]{}%
\let\streetaddress\@gobble
\let\city\@gobble
\let\state\@gobble
\let\postcode\@gobble
\let\country\@gobble
\else
\def\position#1{#1\par}%
\def\institution#1{#1\par}%
\def\department#1{#1\par}%
\def\streetaddress#1{#1\par}%
\def\position#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
\def\institution#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
\newcommand\department[2][0]{\if@ACM@affiliation@obeypunctuation
#2\else#2\par\fi}%
\def\streetaddress#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
\let\city\@ACM@addtoaddress
\let\state\@ACM@addtoaddress
\def\postcode#1{\unskip\space#1}%
\def\postcode#1{\if@ACM@affiliation@obeypunctuation#1\else\unskip\space#1\fi}%
\let\country\@ACM@addtoaddress
\fi
\def\@mkauthors{\begingroup
......@@ -1677,12 +1777,17 @@ Computing Machinery]
\def\affiliation##1##2{%
\def\@tempa{##2}\ifx\@tempa\@empty\else
\ifx\@currentaffiliations\@empty
\gdef\@currentaffiliations{\@affiliationfont##2}%
\gdef\@currentaffiliations{%
\setkeys{@ACM@affiliation@}{obeypunctuation=false}%
\setkeys{@ACM@affiliation@}{##1}%
\@affiliationfont##2}%
\else
\g@addto@macro{\@currentaffiliations}{\and##2}%
\g@addto@macro{\@currentaffiliations}{\and
\setkeys{@ACM@affiliation@}{obeypunctuation=false}%
\setkeys{@ACM@affiliation@}{##1}##2}%
\fi
\fi
\global\let\and\@typeset@author@line}
\global\let\and\@typeset@author@line}%
\global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par\medskip
\noindent\addresses\@typeset@author@line
\par\medskip}%
......@@ -1728,9 +1833,13 @@ Computing Machinery]
\g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}%
\fi}%
\def\affiliation##1##2{\ifx\@currentaffiliation\@empty
\gdef\@currentaffiliation{##2}%
\gdef\@currentaffiliation{%
\setkeys{@ACM@affiliation@}{obeypunctuation=false}%
\setkeys{@ACM@affiliation@}{##1}##2}%
\else
\g@addto@macro\@currentaffiliation{\par##2}%
\g@addto@macro\@currentaffiliation{\par
\setkeys{@ACM@affiliation@}{obeypunctuation=false}%
\setkeys{@ACM@affiliation@}{##1}##2}%
\fi
\global\let\and\@typeset@author@bx
}%
......@@ -1763,9 +1872,13 @@ Computing Machinery]
\g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}%
\fi}%
\def\affiliation##1##2{\ifx\@currentaffiliation\@empty
\gdef\@currentaffiliation{##2}%
\gdef\@currentaffiliation{%
\setkeys{@ACM@affiliation@}{obeypunctuation=false}%
\setkeys{@ACM@affiliation@}{##1}##2}%
\else
\g@addto@macro\@currentaffiliation{\par##2}%
\g@addto@macro\@currentaffiliation{\par
\setkeys{@ACM@affiliation@}{obeypunctuation=false}%
\setkeys{@ACM@affiliation@}{##1}##2}%
\fi
\global\let\and\@typeset@author@bx}%
\bgroup\hsize=\columnwidth
......@@ -1783,16 +1896,20 @@ Computing Machinery]
\def\@setaddresses{}
\def\@mkabstract{\bgroup
\ifx\@abstract\@lempty\else
{\if@ACM@journal
{\phantomsection\addcontentsline{toc}{section}{Abstract}%
\if@ACM@journal
\small\noindent
\else
\section*{Abstract}%
\fi
\phantomsection\addcontentsline{toc}{section}{Abstract}%
\ignorespaces\@abstract\par}%
\fi\egroup}
\def\@mkbibcitation{\bgroup
\def\footnotemark{}%
\def\\{\unskip{} \ignorespaces}%
\def\footnote{\ClassError{\@classname}{Please do note use footnotes
inside \string\title{} or \string\author{} command! Use
\string\titlenote{} or \string\authornote{} instead!}}%
\par\medskip\small\noindent{\bfseries ACM Reference format:}\par\nobreak
\noindent\authors. \@acmYear. \@title.
\if@ACM@journal
......@@ -1806,7 +1923,7 @@ Computing Machinery]
\ (\acmConference@shortname)\fi
,} \ref{TotPages}~pages.
\fi\par
\noindent DOI: \nolinkurl{\@acmDOI}
\noindent\@formatdoi{\@acmDOI}
\par\egroup}
\def\@printendtopmatter{\par\medskip
\ifcase\ACM@format@nr
......@@ -1833,20 +1950,48 @@ Computing Machinery]
\RequirePackage{fancyhdr}
\if@ACM@review
\newsavebox{\ACM@linecount@bx}
\savebox{\ACM@linecount@bx}[4em][t]{\parbox[t]{4em}{%
\newlength\ACM@linecount@bxht\setlength{\ACM@linecount@bxht}{-\baselineskip}
\@tempcnta\@ne\relax
\loop{\color{ACMRed}\scriptsize\the\@tempcnta}\\
\advance\@tempcnta by \@ne
\addtolength{\ACM@linecount@bxht}{\baselineskip}
\ifdim\ACM@linecount@bxht<\textheight\repeat}}
\newlength\ACM@linecount@bxht
\newcount\ACM@linecount
\ACM@linecount\@ne\relax
\def\ACM@mk@linecount{%
\savebox{\ACM@linecount@bx}[4em][t]{\parbox[t]{4em}{%
\setlength{\ACM@linecount@bxht}{-\baselineskip}%
\loop{\color{ACMRed}\scriptsize\the\ACM@linecount}\\
\global\advance\ACM@linecount by \@ne
\addtolength{\ACM@linecount@bxht}{\baselineskip}%
\ifdim\ACM@linecount@bxht<\textheight\repeat}}}
\fi
\def\ACM@linecount{%
\def\ACM@linecountL{%
\if@ACM@review
\ACM@mk@linecount
\begin{picture}(0,0)%
\put(-26,-22){\usebox{\ACM@linecount@bx}}%
\end{picture}%
\fi}
\def\ACM@linecountR{%
\if@ACM@review
\ACM@mk@linecount
\begin{picture}(0,0)%
\put(20,-22){\usebox{\ACM@linecount@bx}}%
\end{picture}%
\fi}
\if@ACM@timestamp
% Subtracting 30 from \time gives us the effect of rounding-down despite