From 7bc9aae28b9ca51b001a7a2b2241797a2201c560 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 17 Jul 2018 21:17:06 +0000 Subject: acmart (17jul18) git-svn-id: svn://tug.org/texlive/trunk@48214 c570f23f-e606-0410-a88d-b1316a301751 --- .../bibtex/bst/acmart/ACM-Reference-Format.bst | 12 +- Master/texmf-dist/doc/latex/acmart/README | 12 +- Master/texmf-dist/doc/latex/acmart/acmart.pdf | Bin 803907 -> 817321 bytes Master/texmf-dist/doc/latex/acmart/acmguide.pdf | Bin 416190 -> 418261 bytes .../doc/latex/acmart/sample-acmlarge.pdf | Bin 632960 -> 633081 bytes .../doc/latex/acmart/sample-acmsmall.pdf | Bin 635331 -> 635432 bytes .../texmf-dist/doc/latex/acmart/sample-acmtog.pdf | Bin 598341 -> 598381 bytes .../doc/latex/acmart/sample-manuscript.pdf | Bin 635943 -> 636016 bytes .../doc/latex/acmart/sample-sigchi-a.pdf | Bin 1281644 -> 1281839 bytes .../texmf-dist/doc/latex/acmart/sample-sigchi.pdf | Bin 1104318 -> 1104438 bytes .../latex/acmart/sample-sigconf-authordraft.pdf | Bin 650677 -> 650919 bytes .../doc/latex/acmart/sample-sigconf-xelatex.pdf | Bin 109905 -> 109927 bytes .../texmf-dist/doc/latex/acmart/sample-sigconf.pdf | Bin 646332 -> 646522 bytes .../texmf-dist/doc/latex/acmart/sample-sigplan.pdf | Bin 986208 -> 986534 bytes .../texmf-dist/doc/latex/acmart/sample-sigplan.tex | 4 + Master/texmf-dist/source/latex/acmart/acmart.dtx | 431 ++++++++++++++------- Master/texmf-dist/tex/latex/acmart/acmart.cls | 276 ++++++++----- 17 files changed, 503 insertions(+), 232 deletions(-) diff --git a/Master/texmf-dist/bibtex/bst/acmart/ACM-Reference-Format.bst b/Master/texmf-dist/bibtex/bst/acmart/ACM-Reference-Format.bst index 04976b28928..d65cd699aeb 100644 --- a/Master/texmf-dist/bibtex/bst/acmart/ACM-Reference-Format.bst +++ b/Master/texmf-dist/bibtex/bst/acmart/ACM-Reference-Format.bst @@ -1456,14 +1456,16 @@ FUNCTION { format.articleno.numpages } %% numpages, pages -> "pages-value" %% numpages -> "numpages-value" %% pages -> "pages-value" + %% + %% We no longer issue warninig when missing articleno, but having numpages articleno empty.or.unknown eid empty.or.unknown and { - numpages empty.or.unknown - { } - { "numpages field, but no articleno or eid field, in " - cite$ * warning$ } - if$ +%% numpages empty.or.unknown +%% { } +%% { "numpages field, but no articleno or eid field, in " +%% cite$ * warning$ } +%% if$ "" } { diff --git a/Master/texmf-dist/doc/latex/acmart/README b/Master/texmf-dist/doc/latex/acmart/README index 14bdb6e294a..0cbcae1ade6 100644 --- a/Master/texmf-dist/doc/latex/acmart/README +++ b/Master/texmf-dist/doc/latex/acmart/README @@ -185,4 +185,14 @@ Version 1.51 Journal footers now use abbreviated journal titles. Version 1.52 Another rewording of licenses -Version 1.53 New journals: PACMCGIT, TIOT, TDSCI \ No newline at end of file +Version 1.53 New journals: PACMCGIT, TIOT, TDSCI + +Version 1.54 New option: 'noacm' (Gabriel Scherer) + Deleted indent for subsubsection (suggested by Ross Moore) + Suppressed some obscurious warning in BibTeX processing + Suppressed hyperrerf warnings (Paolo G. Giarrusso) + New code for sections to help with accessibility patches + (Ross Moore) + Submission id, if present, is printed in anon mode + Bug fixes + \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/acmart/acmart.pdf b/Master/texmf-dist/doc/latex/acmart/acmart.pdf index 1cf61264503..38050bc92e0 100644 Binary files a/Master/texmf-dist/doc/latex/acmart/acmart.pdf and b/Master/texmf-dist/doc/latex/acmart/acmart.pdf differ diff --git a/Master/texmf-dist/doc/latex/acmart/acmguide.pdf b/Master/texmf-dist/doc/latex/acmart/acmguide.pdf index 0ee59c1c904..bfad0c7661d 100644 Binary files a/Master/texmf-dist/doc/latex/acmart/acmguide.pdf and b/Master/texmf-dist/doc/latex/acmart/acmguide.pdf differ diff --git a/Master/texmf-dist/doc/latex/acmart/sample-acmlarge.pdf b/Master/texmf-dist/doc/latex/acmart/sample-acmlarge.pdf index 519fa72467f..700b67227f1 100644 Binary files a/Master/texmf-dist/doc/latex/acmart/sample-acmlarge.pdf and b/Master/texmf-dist/doc/latex/acmart/sample-acmlarge.pdf differ diff --git a/Master/texmf-dist/doc/latex/acmart/sample-acmsmall.pdf b/Master/texmf-dist/doc/latex/acmart/sample-acmsmall.pdf index 5af66192a59..dc71af300ca 100644 Binary files a/Master/texmf-dist/doc/latex/acmart/sample-acmsmall.pdf and b/Master/texmf-dist/doc/latex/acmart/sample-acmsmall.pdf differ diff --git a/Master/texmf-dist/doc/latex/acmart/sample-acmtog.pdf b/Master/texmf-dist/doc/latex/acmart/sample-acmtog.pdf index 9f6f582a9d8..d19dbf2372c 100644 Binary files a/Master/texmf-dist/doc/latex/acmart/sample-acmtog.pdf and b/Master/texmf-dist/doc/latex/acmart/sample-acmtog.pdf differ diff --git a/Master/texmf-dist/doc/latex/acmart/sample-manuscript.pdf b/Master/texmf-dist/doc/latex/acmart/sample-manuscript.pdf index 67ecb7e79fc..fe2fa74b410 100644 Binary files a/Master/texmf-dist/doc/latex/acmart/sample-manuscript.pdf and b/Master/texmf-dist/doc/latex/acmart/sample-manuscript.pdf differ diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigchi-a.pdf b/Master/texmf-dist/doc/latex/acmart/sample-sigchi-a.pdf index b7a00473f3f..8132b3da757 100644 Binary files a/Master/texmf-dist/doc/latex/acmart/sample-sigchi-a.pdf and b/Master/texmf-dist/doc/latex/acmart/sample-sigchi-a.pdf differ diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigchi.pdf b/Master/texmf-dist/doc/latex/acmart/sample-sigchi.pdf index c43fe1c417f..2ea9ec9fde8 100644 Binary files a/Master/texmf-dist/doc/latex/acmart/sample-sigchi.pdf and b/Master/texmf-dist/doc/latex/acmart/sample-sigchi.pdf differ diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigconf-authordraft.pdf b/Master/texmf-dist/doc/latex/acmart/sample-sigconf-authordraft.pdf index 295a3b78acd..7a6107d939b 100644 Binary files a/Master/texmf-dist/doc/latex/acmart/sample-sigconf-authordraft.pdf and b/Master/texmf-dist/doc/latex/acmart/sample-sigconf-authordraft.pdf differ diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigconf-xelatex.pdf b/Master/texmf-dist/doc/latex/acmart/sample-sigconf-xelatex.pdf index 0699eadbb9f..933d04b0e72 100644 Binary files a/Master/texmf-dist/doc/latex/acmart/sample-sigconf-xelatex.pdf and b/Master/texmf-dist/doc/latex/acmart/sample-sigconf-xelatex.pdf differ diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigconf.pdf b/Master/texmf-dist/doc/latex/acmart/sample-sigconf.pdf index 8d11f30c5d7..88cfa3e78f9 100644 Binary files a/Master/texmf-dist/doc/latex/acmart/sample-sigconf.pdf and b/Master/texmf-dist/doc/latex/acmart/sample-sigconf.pdf differ diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigplan.pdf b/Master/texmf-dist/doc/latex/acmart/sample-sigplan.pdf index faabeb88ac2..080aefbb87d 100644 Binary files a/Master/texmf-dist/doc/latex/acmart/sample-sigplan.pdf and b/Master/texmf-dist/doc/latex/acmart/sample-sigplan.pdf differ diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigplan.tex b/Master/texmf-dist/doc/latex/acmart/sample-sigplan.tex index 9dc36f66ec8..10f791d2e23 100644 --- a/Master/texmf-dist/doc/latex/acmart/sample-sigplan.tex +++ b/Master/texmf-dist/doc/latex/acmart/sample-sigplan.tex @@ -31,6 +31,9 @@ %\acmBadgeL[http://ctuning.org/ae/ppopp2016.html]{ae-logo} %\acmBadgeR[http://ctuning.org/ae/ppopp2016.html]{ae-logo} +% Submission ID +\acmSubmissionID{123-A56-BU3} + \begin{document} \title{SIG Proceedings Paper in LaTeX Format} @@ -116,6 +119,7 @@ \renewcommand{\shortauthors}{B. Trovato et al.} + \begin{abstract} This paper provides a sample of a \LaTeX\ document which conforms, somewhat loosely, to the formatting guidelines for diff --git a/Master/texmf-dist/source/latex/acmart/acmart.dtx b/Master/texmf-dist/source/latex/acmart/acmart.dtx index de4661b94dd..f553598dd0e 100644 --- a/Master/texmf-dist/source/latex/acmart/acmart.dtx +++ b/Master/texmf-dist/source/latex/acmart/acmart.dtx @@ -123,6 +123,7 @@ % Craig Rodkin, % Bernard Rous, % David Shamma, +% Gabriel Scherer, % Stephen Spencer, % Daniel Thomas, % Zack Weinberg, @@ -360,6 +361,9 @@ % authorversion & false & Whether to generate a special % version for the authors' personal use or posting (see % Section~\ref{sec:ug_topmatter})\\ +% nonacm & false & Use the class typesetting options for +% a non-ACM document, which will not include the conference/journal +% header and footers or permission statements\\ % timestamp & false & Whether to put a time stamp in the % footer of each page\\ % authordraft & false & Whether author's-draft mode is enabled\\ @@ -1459,7 +1463,26 @@ % } % \end{verbatim} % -% +% A note about sorting. The current ACM bibliography styles always +% sort the entries according to authors names and publication year. +% There is a controversy about sorting names with ``von'' or ``van'' +% part: should Ludwig van Beethoven be sorted under ``V'' or under +% ``B''? The American practice is to use ``van'' in sorting, i.e. to +% file van Beethoven under ``V''. However, some authorities recommend +% to sort Dutch persons according to their last names (see +% e.g. \url{https://www.ifla.org/files/assets/cataloguing/pubs/names-of-persons_1996.pdf}). +% While I do not want to take a part in this dispute, I would like to +% point to the old ``noopsort'' trick by Oren Patashnik. Add to the +% \texttt{.bib} file the line +% \begin{verbatim} +% @PREAMBLE{"\providecommand{\noopsort}[1]{}"} +% \end{verbatim} +% and then encode the author as +% \begin{verbatim} +% author = {Ludwig {\noopsort{Beethoven}}van Beethoven}, +% \end{verbatim} +% This will make the author to be sorted as ``Beethoven'' rather than +% ``van Beethoven''. % %\subsection{Colors} %\label{sec:ug_colors} @@ -1690,7 +1713,7 @@ \ProvidesFile{acmart.dtx} % %\ProvidesClass{acmart} -[2018/04/14 v1.53 Typesetting articles for the Association for +[2018/07/16 v1.54 Typesetting articles for the Association for Computing Machinery] % \end{macrocode} % @@ -1772,6 +1795,8 @@ Computing Machinery] % \changes{1.49}{2018/01/24}{New journal: DTRAP} % \changes{1.53}{2018/04/14}{New journals: PACMCGIT, TIOT, TDSCI} % \changes{1.53}{2018/04/14}{Rearranged docs} +% \changes{1.54}{2018/06/17}{Moved footnote stuff before hyperref call +% (Ross Moore)} % % And the driver code: % \begin{macrocode} @@ -1913,6 +1938,26 @@ Computing Machinery] % % \end{macro} % +% \begin{macro}{\if@ACM@nonacm} +% \changes{v1.54}{2018/05/08}{Added macro} +% Special option for non-ACM publications +% using the ACM typesetting options. +% \begin{macrocode} +\define@boolkey+{acmart.cls}[@ACM@]{nonacm}[true]{% + \if@ACM@nonacm + \PackageInfo{\@classname}{Using nonacm mode}% + \AtBeginDocument{\@ACM@printacmreffalse}% + % in 'nonacm' mode we disable the "ACM Reference Format" + % printing by default, but this can be re-enabled by the + % user using \settopmatter{printacmref=true} + \else + \PackageInfo{\@classname}{Not using nonacm mode}% + \fi}{\PackageError{\@classname}{The option nonacm can be either true or + false}} +\ExecuteOptionsX{nonacm=false} +% \end{macrocode} +% +% \end{macro} % % \begin{macro}{\if@ACM@natbib@override} % \changes{v1.12}{2016/05/30}{Added macro} @@ -2433,7 +2478,67 @@ Computing Machinery] % % \end{macro} % -% And |hyperref| +% We need to define foonote-related stuff before the call to hyperref +% (Ross Moore) +% \begin{macro}{\@makefntext} +% We do not use indentation for footnotes +% \begin{macrocode} +\def\@makefntext{\noindent\@makefnmark} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@footnotetext} +% In |sigchi-a| mode our footnotes are in the margin! +% \begin{macrocode} +\if@ACM@sigchiamode +\long\def\@footnotetext#1{\marginpar{% + \reset@font\small + \interlinepenalty\interfootnotelinepenalty + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark + }% + \color@begingroup + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \color@endgroup}}% +\fi +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@mpfootnotetext} +% \changes{v1.13}{2016/06/06}{Made minipage footnotes centered} +% We want the footnotes in minipages centered: +% \begin{macrocode} +\long\def\@mpfootnotetext#1{% + \global\setbox\@mpfootins\vbox{% + \unvbox\@mpfootins + \reset@font\footnotesize + \hsize\columnwidth + \@parboxrestore + \protected@edef\@currentlabel + {\csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup\centering + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \color@endgroup}} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@makefnmark} +% \changes{v1.17}{2016/067/09}{Redefined} +% AMS classes use a buggy definition of \cs{makefnmark}. We revert +% to the standard one. +% \begin{macrocode} +\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} +% \end{macrocode} +% +% \end{macro} +% +% +% And now, |hyperref| % \changes{v1.28}{2017/01/07}{Got rid of warnings in pdf keywords} % \changes{v1.46}{2017/08/25}{Delayed hypersetup since journal options % may change screen mode} @@ -2470,7 +2575,9 @@ Computing Machinery] filecolor=ACMDarkBlue} \else \hypersetup{hidelinks} - \fi} + \fi + \hypersetup{pdflang={English}, + pdfdisplaydoctitle}} % \end{macrocode} % % Bibliography mangling. @@ -2721,63 +2828,6 @@ Computing Machinery] % % \end{macro} % -% \begin{macro}{\@makefntext} -% We do not use indentation for footnotes -% \begin{macrocode} -\def\@makefntext{\noindent\@makefnmark} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@footnotetext} -% In |sigchi-a| mode our footnotes are in the margin! -% \begin{macrocode} -\if@ACM@sigchiamode -\long\def\@footnotetext#1{\marginpar{% - \reset@font\small - \interlinepenalty\interfootnotelinepenalty - \protected@edef\@currentlabel{% - \csname p@footnote\endcsname\@thefnmark - }% - \color@begingroup - \@makefntext{% - \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% - \color@endgroup}}% -\fi -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mpfootnotetext} -% \changes{v1.13}{2016/06/06}{Made minipage footnotes centered} -% We want the footnotes in minipages centered: -% \begin{macrocode} -\long\def\@mpfootnotetext#1{% - \global\setbox\@mpfootins\vbox{% - \unvbox\@mpfootins - \reset@font\footnotesize - \hsize\columnwidth - \@parboxrestore - \protected@edef\@currentlabel - {\csname p@mpfootnote\endcsname\@thefnmark}% - \color@begingroup\centering - \@makefntext{% - \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% - \color@endgroup}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@makefnmark} -% \changes{v1.17}{2016/067/09}{Redefined} -% AMS classes use a buggy definition of \cs{makefnmark}. We revert -% to the standard one. -% \begin{macrocode} -\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} -% \end{macrocode} -% -% \end{macro} -% % % \begin{macro}{\@textbottom} % \changes{v1.31}{2017/03/04}{Redefined} @@ -2809,9 +2859,9 @@ Computing Machinery] \pdfglyphtounicode{f_f_i}{FB03} \pdfglyphtounicode{f_f_l}{FB04} \pdfglyphtounicode{f_i}{FB01} -\pdfglyphtounicode{t_t}{00740074} -\pdfglyphtounicode{f_t}{00660074} -\pdfglyphtounicode{T_h}{00540068} +\pdfglyphtounicode{t_t}{0074 0074} +\pdfglyphtounicode{f_t}{0066 0074} +\pdfglyphtounicode{T_h}{0054 0068} \pdfgentounicode=1 \fi \RequirePackage{cmap} @@ -2841,10 +2891,13 @@ Computing Machinery] % problems with \cs{l} in OT1}% % \changes{v1.33}{2017/03/12}{Switched to Type~1 fonts for libertine % even if OTF-capable engine is used (Kai Mindermann)} -% \changes{v1.51}{2018/04/05}{XeTeX now uses OTF fonts (Joachim Breitner)} +% \changes{v1.51}{2018/04/05}{XeTeX now uses OTF fonts (Joachim +% Breitner)} +% \changes{v1.54}{2018/07/16}{XeTeX now uses T1 encoding} % We use Libertine throughout. % \begin{macrocode} \if@ACM@newfonts + \RequirePackage[T1]{fontenc} \ifxetex \RequirePackage[tt=false]{libertine} \else @@ -2852,9 +2905,6 @@ Computing Machinery] \fi \RequirePackage[varqu]{zi4} \RequirePackage[libertine]{newtxmath} -\ifxetex\else - \RequirePackage[T1]{fontenc} -\fi \fi % \end{macrocode} % @@ -3563,6 +3613,7 @@ Computing Machinery] % \begin{macro}{\author} % \changes{v1.15}{2016/06/25}{Added code for author groups} % \changes{v1.46}{2017/08/27}{Started counting authors} +% \changes{v1.54}{2018/06/23}{Added submission id in anonymous mode} % Adding an author to the list of authors and addresses % \begin{macrocode} \renewcommand\author[2][]{% @@ -3573,7 +3624,9 @@ Computing Machinery] \fi \ifx\addresses\@empty \if@ACM@anonymous - \gdef\addresses{\@author{Anonymous Author(s)}}% + \gdef\addresses{\@author{Anonymous Author(s)% + \ifx\@acmSubmissionID\@empty\else\\Submission Id: + \@acmSubmissionID\fi}}% \gdef\authors{Anonymous Author(s)}% \else \gdef\addresses{\@author{#2}}% @@ -3587,7 +3640,9 @@ Computing Machinery] \fi \if@ACM@anonymous \ifx\shortauthors\@empty - \gdef\shortauthors{Anon.}% + \gdef\shortauthors{Anon. + \ifx\@acmSubmissionID\@empty\else Submission Id: + \@acmSubmissionID\fi}% \fi \else \def\@tempa{#1}% @@ -4638,7 +4693,7 @@ Computing Machinery] \fi \fi \fi - \footnotetextcopyrightpermission{% + \if@ACM@nonacm\else\footnotetextcopyrightpermission{% \if@ACM@authordraft \raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries Unpublished working draft. Not for distribution.}}% @@ -4656,7 +4711,7 @@ Computing Machinery] \if@printcopyright \copyright\ \@copyrightyear\ \@copyrightowner\\ \else - \@copyrightyear.\ + \@copyrightyear.\ \fi \if@ACM@manuscript Manuscript submitted to ACM\\ @@ -4676,17 +4731,20 @@ Computing Machinery] , \@formatdoi{\@acmDOI}. \fi\\ \else - \if@ACM@journal - \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle - \ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\ - \@formatdoi{\@acmDOI}% - \else % Conference - \ifx\@acmISBN\@empty\else ACM~ISBN~\@acmISBN - \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\\fi - \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi% + \if@ACM@nonacm\else + \if@ACM@journal + \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle + \ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\ + \@formatdoi{\@acmDOI}% + \else % Conference + \ifx\@acmISBN\@empty\else ACM~ISBN~\@acmISBN + \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\\fi + \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi% + \fi \fi \fi \fi} + \fi \endgroup \setcounter{footnote}{0}% \@mkabstract @@ -4712,8 +4770,6 @@ Computing Machinery] \@mkbibcitation \fi \hypersetup{% - pdflang={English}, - pdfdisplaydoctitle, pdfauthor={\authors}, pdftitle={\@title}, pdfsubject={\@concepts}, @@ -5517,13 +5573,14 @@ Computing Machinery] % \changes{v1.44}{2017/07/30}{If the paper has just one page, use % `page' instead of `pages'} % \changes{v1.46}{2017/08/25}{Added subtitle} +% \changes{v1.54}{2018/06/10}{Bug corrected (Ross Moore)} % Print the |bibcitation| format % \begin{macrocode} \def\@mkbibcitation{\bgroup \def\@pages@word{\ifnum\getrefnumber{TotPages}=1\relax page\else pages\fi}% \def\footnotemark{}% - \def\\{\unskip{} \ignorespaces}% - \def\footnote{\ClassError{\@classname}{Please do note use footnotes + \def\\{\unskip{}, \ignorespaces}% + \def\footnote{\ClassError{\@classname}{Please do not use footnotes inside a \string\title{} or \string\author{} command! Use \string\titlenote{} or \string\authornote{} instead!}}% \def\@article@string{\ifx\@acmArticle\@empty{\ }\else, @@ -5531,17 +5588,23 @@ Computing Machinery] \par\medskip\small\noindent{\bfseries ACM Reference Format:}\par\nobreak \noindent\authors. \@acmYear. \@title \ifx\@subtitle\@empty. \else: \@subtitle. \fi - \if@ACM@journal - \textit{\@journalNameShort} - \@acmVolume, \@acmNumber \@article@string (\@acmPubDate), - \ref{TotPages}~\@pages@word. - \else - In \textit{\@acmBooktitle}% - \ifx\@acmEditors\@empty\textit{.}\else - \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.% - \fi\ - ACM, New York, NY, USA% - \@article@string\unskip, \ref{TotPages}~\@pages@word. + \if@ACM@nonacm\else + % The 'nonacm' option disables 'printacmref' by default, + % and the present \@mkbibcitation definition is never used + % in this case. The conditional remains useful if the user + % explicitly sets \settopmatter{printacmref=true}. + \if@ACM@journal + \textit{\@journalNameShort} + \@acmVolume, \@acmNumber \@article@string (\@acmPubDate), + \ref{TotPages}~\@pages@word. + \else + In \textit{\@acmBooktitle}% + \ifx\@acmEditors\@empty\textit{.}\else + \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.% + \fi\ + ACM, New York, NY, USA% + \@article@string\unskip, \ref{TotPages}~\@pages@word. + \fi \fi \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi \par\egroup} @@ -5672,10 +5735,15 @@ Computing Machinery] % % \begin{macro}{\@shortauthors} % \changes{v1.15}{2016/07/04}{Introduced macro} +% \changes{v1.54}{2016/06/23}{Added submission id in anonymous mode} % Even if the author redefined \cs{shortauthors}, we do not print % it in the headers when in anonymous mode: % \begin{macrocode} -\def\@shortauthors{\if@ACM@anonymous Anon.\else\shortauthors\fi} +\def\@shortauthors{% + \if@ACM@anonymous + Anon. + \ifx\@acmSubmissionID\@empty\else Submission Id: \@acmSubmissionID\fi + \else\shortauthors\fi} % \end{macrocode} % % \end{macro} @@ -5709,45 +5777,62 @@ Computing Machinery] \fancyhf{}% \renewcommand{\headrulewidth}{\z@}% \renewcommand{\footrulewidth}{\z@}% + \def\@acmArticlePage{% + \ifx\@acmArticle\empty% + \if@ACM@printfolios\thepage\fi% + \else% + \@acmArticle\if@ACM@printfolios:\thepage\fi% + \fi% + } \ifcase\ACM@format@nr \relax % manuscript \fancyhead[LE]{\ACM@linecountL\if@ACM@printfolios\thepage\fi}% \fancyhead[RO]{\if@ACM@printfolios\thepage\fi}% \fancyhead[RE]{\@shortauthors}% \fancyhead[LO]{\ACM@linecountL\shorttitle}% - \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM}% + \if@ACM@nonacm\else% + \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM} + \fi% \or % acmsmall - \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}% - \fancyhead[RO]{\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}% + \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticlePage}% + \fancyhead[RO]{\@headfootfont\@acmArticlePage}% \fancyhead[RE]{\@headfootfont\@shortauthors}% \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \if@ACM@nonacm\else% + \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \fi% \or % acmlarge \fancyhead[LE]{\ACM@linecountL\@headfootfont - \@acmArticle\if@ACM@printfolios:\thepage\fi\quad\textbullet\quad\@shortauthors}% + \@acmArticlePage\quad\textbullet\quad\@shortauthors}% \fancyhead[LO]{\ACM@linecountL}% \fancyhead[RO]{\@headfootfont - \shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi}% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \shorttitle\quad\textbullet\quad\@acmArticlePage}% + \if@ACM@nonacm\else% + \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \fi% \or % acmtog \fancyhead[LE]{\ACM@linecountL\@headfootfont - \@acmArticle\if@ACM@printfolios:\thepage\fi\quad\textbullet\quad\@shortauthors}% + \@acmArticlePage\quad\textbullet\quad\@shortauthors}% \fancyhead[LO]{\ACM@linecountL}% \fancyhead[RE]{\ACM@linecountR}% \fancyhead[RO]{\@headfootfont - \shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi\ACM@linecountR}% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \shorttitle\quad\textbullet\quad\@acmArticlePage\ACM@linecountR}% + \if@ACM@nonacm\else% + \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \fi% \else % Proceedings \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}% - \fancyhead[LE]{\ACM@linecountL\@headfootfont\acmConference@shortname, - \acmConference@date, \acmConference@venue}% - \fancyhead[RO]{\@headfootfont\acmConference@shortname, - \acmConference@date, \acmConference@venue\ACM@linecountR}% + \if@ACM@nonacm\else% + \fancyhead[LE]{\ACM@linecountL\@headfootfont\acmConference@shortname, + \acmConference@date, \acmConference@venue}% + \fancyhead[RO]{\@headfootfont\acmConference@shortname, + \acmConference@date, \acmConference@venue\ACM@linecountR}% + \fi% \fi \if@ACM@sigchiamode \fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}% @@ -5847,27 +5932,35 @@ Computing Machinery] \relax % manuscript \fancyhead[L]{\ACM@linecountL}% \fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}% - \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}% + \if@ACM@nonacm\else% + \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}% + \fi% \or % acmsmall - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% + \if@ACM@nonacm\else% + \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: + \@acmPubDate.}% + \fi% \fancyhead[LE]{\ACM@linecountL\@folioblob}% \fancyhead[LO]{\ACM@linecountL}% \fancyhead[RO]{\@folioblob}% \fancyheadoffset[RO,LE]{0.6\@folio@wd}% \or % acmlarge - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% + \if@ACM@nonacm\else% + \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: + \@acmPubDate.}% + \fi% \fancyhead[RO]{\@folioblob}% \fancyhead[LE]{\ACM@linecountL\@folioblob}% \fancyhead[LO]{\ACM@linecountL}% \fancyheadoffset[RO,LE]{1.4\@folio@wd}% \or % acmtog - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% + \if@ACM@nonacm\else% + \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: + \@acmPubDate.}% + \fi% \fancyhead[L]{\ACM@linecountL}% \fancyhead[R]{\ACM@linecountR}% \else % Conference proceedings @@ -5878,7 +5971,9 @@ Computing Machinery] \if@ACM@timestamp \ifnum\ACM@format@nr=0\relax % Manuscript \fancyfoot[LO,RE]{\ACM@timestamp\quad - \footnotesize Manuscript submitted to ACM} + \if@ACM@nonacm\else + \footnotesize Manuscript submitted to ACM + \fi} \else \fancyfoot[LO,RE]{\ACM@timestamp} \fi @@ -5910,29 +6005,105 @@ Computing Machinery] %\subsection{Sectioning} %\label{sec:sectioninng} % +% \begin{macro}{\ACM@NRadjust} +% \changes{v1.54}{2018/06/17}{Added macro} +% Ross Moore's macro. +% \begin{quotation} +% Initially |\ACM@sect@format@| just passes through its |#1| +% argument unchanged. +% When a sectioning macro such as |\section| occurs, the +% |\ACM@NRadjust| redefines |\ACM@sect@format@| to expand into the +% styling commands; e.g., |\@secfont|. +% Then |\Sectionformat| is temporarily redefined to produce +% |\realSectionformat{\ACM@sect@format{#1}}{#2}|, which ultimately +% becomes |\Sectionformat{\@secfont{#1}}{#2}|. +% This is done to allow |\Sectionformat| to be variable, as may be +% needed in particular circumstances. Its current expansion is saved +% as |\realSectionformat| which is used with the modified 1st argument, +% then |\Sectionformat| is reverted to its former expansion. +% +% To style the section-number, the line |#1{}| is used at the end of +% |\ACM@NRadjust|. This imposes style-changing commands for fonts and +% sizes, but any |\MakeUppercase| acts on just the |{}|. It's a bit hacky, +% by essentially assuming that only numbers occur here, not letters to +% be case-changed. (This should be acceptable in a class-file, as it +% ought to be possible to change the case elsewhere, if that was ever +% desired.) Also, it can result in |\@adddotafter| being called too +% soon, so a slight adjustment is made, via |\ACM@adddotafter|, which +% now tests whether its argument is empty. But the coding has to allow +% for other packages to have also patched |\@adddotafter|. +% \end{quotation} +% \begin{macrocode} +\def\ACM@NRadjust#1{% + \begingroup + \expandafter\ifx\csname Sectionformat\endcsname\relax + % do nothing when \Sectionformat is unknown + \def\next{\endgroup #1}% + \else + \def\next{\endgroup + \let\realSectionformat\Sectionformat + \def\ACM@sect@format@{#1}% + \let\Sectionformat\ACM@NR@adjustedSectionformat + %% next lines added 2018-06-17 to ensure section number is styled + \let\real@adddotafter\@adddotafter + \let\@adddotafter\ACM@adddotafter + #1{}% imposes the styles, but nullifies \MakeUppercase + \let\@adddotafter\real@adddotafter + }% + \fi \next +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ACM@NR@adjustedSectionformat} +% \changes{v1.54}{2018/06/17}{Added macro} +% \begin{macrocode} +\def\ACM@NR@adjustedSectionformat#1#2{% + \realSectionformat{\ACM@sect@format{#1}}{#2}% + \let\Sectionformat\realSectionformat} +\DeclareRobustCommand{\ACM@sect@format}{\ACM@sect@format@} +\def\ACM@sect@format@null#1{#1} +\let\ACM@sect@format@\ACM@sect@format@null +\AtBeginDocument{% + \expandafter\ifx\csname LTX@adddotafter\endcsname\relax + \let\LTX@adddotafter\@adddotafter + \fi +} +% \end{macrocode} +% +% \end{macro} +% \begin{macro}{\ACM@adddotafter} +% \changes{v1.54}{2018/06/17}{Added macro} +% \begin{macrocode} +\def\ACM@adddotafter#1{\ifx\relax#1\relax\else\LTX@adddotafter{#1}\fi} +% \end{macrocode} +% +% \end{macro} % +% \changes{v1.54}{2018/05/27}{Deleted indent for subsubsection} +% \changes{v1.54}{2018/06/17}{Added Ross's patch for sectioning} % Sectioning is different for different levels % \begin{macrocode} \renewcommand\section{\@startsection{section}{1}{\z@}% {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% {.25\baselineskip}% - {\@secfont}} + {\ACM@NRadjust\@secfont}} \renewcommand\subsection{\@startsection{subsection}{2}{\z@}% {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% {.25\baselineskip}% - {\@subsecfont}} -\renewcommand\subsubsection{\@startsection{subsubsection}{3}{10pt}% + {\ACM@NRadjust\@subsecfont}} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% {-3.5\p@}% - {\@subsubsecfont\@adddotafter}} + {\ACM@NRadjust{\@subsubsecfont\@adddotafter}}} \renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}% {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% {-3.5\p@}% - {\@parfont\@adddotafter}} + {\ACM@NRadjust{\@parfont\@adddotafter}}} \renewcommand\part{\@startsection{part}{9}{\z@}% {-10\p@ \@plus -4\p@ \@minus -2\p@}% {4\p@}% - {\@parfont}} + {\ACM@NRadjust\@parfont}} % \end{macrocode} % % \begin{macro}{\section@raggedright} diff --git a/Master/texmf-dist/tex/latex/acmart/acmart.cls b/Master/texmf-dist/tex/latex/acmart/acmart.cls index 7b360a98cd0..95abbe420e1 100644 --- a/Master/texmf-dist/tex/latex/acmart/acmart.cls +++ b/Master/texmf-dist/tex/latex/acmart/acmart.cls @@ -37,7 +37,7 @@ %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{acmart} -[2018/04/14 v1.53 Typesetting articles for the Association for +[2018/07/16 v1.54 Typesetting articles for the Association for Computing Machinery] \def\@classname{acmart} \InputIfFileExists{acmart-preload-hook.tex}{% @@ -96,6 +96,18 @@ Computing Machinery] \fi}{\PackageError{\@classname}{The option authorversion can be either true or false}} \ExecuteOptionsX{authorversion=false} +\define@boolkey+{acmart.cls}[@ACM@]{nonacm}[true]{% + \if@ACM@nonacm + \PackageInfo{\@classname}{Using nonacm mode}% + \AtBeginDocument{\@ACM@printacmreffalse}% + % in 'nonacm' mode we disable the "ACM Reference Format" + % printing by default, but this can be re-enabled by the + % user using \settopmatter{printacmref=true} + \else + \PackageInfo{\@classname}{Not using nonacm mode}% + \fi}{\PackageError{\@classname}{The option nonacm can be either true or + false}} +\ExecuteOptionsX{nonacm=false} \define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{% \if@ACM@natbib \PackageInfo{\@classname}{Explicitly selecting natbib mode}% @@ -410,6 +422,32 @@ Computing Machinery] \def\l@section{\@tocline{1}{0pt}{1pc}{2pc}{}} \def\l@subsection{\@tocline{2}{0pt}{1pc}{3pc}{}} \def\l@subsubsection{\@tocline{2}{0pt}{1pc}{5pc}{}} +\def\@makefntext{\noindent\@makefnmark} +\if@ACM@sigchiamode +\long\def\@footnotetext#1{\marginpar{% + \reset@font\small + \interlinepenalty\interfootnotelinepenalty + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark + }% + \color@begingroup + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \color@endgroup}}% +\fi +\long\def\@mpfootnotetext#1{% + \global\setbox\@mpfootins\vbox{% + \unvbox\@mpfootins + \reset@font\footnotesize + \hsize\columnwidth + \@parboxrestore + \protected@edef\@currentlabel + {\csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup\centering + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \color@endgroup}} +\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} \let\@footnotemark@nolink\@footnotemark \let\@footnotetext@nolink\@footnotetext \RequirePackage[bookmarksnumbered,unicode]{hyperref} @@ -442,7 +480,9 @@ Computing Machinery] filecolor=ACMDarkBlue} \else \hypersetup{hidelinks} - \fi} + \fi + \hypersetup{pdflang={English}, + pdfdisplaydoctitle}} \if@ACM@natbib \let\citeN\cite \let\cite\citep @@ -586,32 +626,6 @@ Computing Machinery] \color@endgroup \egroup \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}} -\def\@makefntext{\noindent\@makefnmark} -\if@ACM@sigchiamode -\long\def\@footnotetext#1{\marginpar{% - \reset@font\small - \interlinepenalty\interfootnotelinepenalty - \protected@edef\@currentlabel{% - \csname p@footnote\endcsname\@thefnmark - }% - \color@begingroup - \@makefntext{% - \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% - \color@endgroup}}% -\fi -\long\def\@mpfootnotetext#1{% - \global\setbox\@mpfootins\vbox{% - \unvbox\@mpfootins - \reset@font\footnotesize - \hsize\columnwidth - \@parboxrestore - \protected@edef\@currentlabel - {\csname p@mpfootnote\endcsname\@thefnmark}% - \color@begingroup\centering - \@makefntext{% - \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% - \color@endgroup}} -\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} \def\@textbottom{\vskip \z@ \@plus 1pt} \let\@texttop\relax \RequirePackage{iftex} @@ -621,9 +635,9 @@ Computing Machinery] \pdfglyphtounicode{f_f_i}{FB03} \pdfglyphtounicode{f_f_l}{FB04} \pdfglyphtounicode{f_i}{FB01} -\pdfglyphtounicode{t_t}{00740074} -\pdfglyphtounicode{f_t}{00660074} -\pdfglyphtounicode{T_h}{00540068} +\pdfglyphtounicode{t_t}{0074 0074} +\pdfglyphtounicode{f_t}{0066 0074} +\pdfglyphtounicode{T_h}{0054 0068} \pdfgentounicode=1 \fi \RequirePackage{cmap} @@ -639,6 +653,7 @@ Computing Machinery] have the newtxmath package installed. Please upgrade your TeX}\@ACM@newfontsfalse} \if@ACM@newfonts + \RequirePackage[T1]{fontenc} \ifxetex \RequirePackage[tt=false]{libertine} \else @@ -646,9 +661,6 @@ Computing Machinery] \fi \RequirePackage[varqu]{zi4} \RequirePackage[libertine]{newtxmath} -\ifxetex\else - \RequirePackage[T1]{fontenc} -\fi \fi \let\liningnums\@undefined \AtEndPreamble{% @@ -1114,7 +1126,9 @@ Computing Machinery] \fi \ifx\addresses\@empty \if@ACM@anonymous - \gdef\addresses{\@author{Anonymous Author(s)}}% + \gdef\addresses{\@author{Anonymous Author(s)% + \ifx\@acmSubmissionID\@empty\else\\Submission Id: + \@acmSubmissionID\fi}}% \gdef\authors{Anonymous Author(s)}% \else \gdef\addresses{\@author{#2}}% @@ -1128,7 +1142,9 @@ Computing Machinery] \fi \if@ACM@anonymous \ifx\shortauthors\@empty - \gdef\shortauthors{Anon.}% + \gdef\shortauthors{Anon. + \ifx\@acmSubmissionID\@empty\else Submission Id: + \@acmSubmissionID\fi}% \fi \else \def\@tempa{#1}% @@ -1606,7 +1622,7 @@ Computing Machinery] \fi \fi \fi - \footnotetextcopyrightpermission{% + \if@ACM@nonacm\else\footnotetextcopyrightpermission{% \if@ACM@authordraft \raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries Unpublished working draft. Not for distribution.}}% @@ -1624,7 +1640,7 @@ Computing Machinery] \if@printcopyright \copyright\ \@copyrightyear\ \@copyrightowner\\ \else - \@copyrightyear.\ + \@copyrightyear.\ \fi \if@ACM@manuscript Manuscript submitted to ACM\\ @@ -1644,17 +1660,20 @@ Computing Machinery] , \@formatdoi{\@acmDOI}. \fi\\ \else - \if@ACM@journal - \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle - \ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\ - \@formatdoi{\@acmDOI}% - \else % Conference - \ifx\@acmISBN\@empty\else ACM~ISBN~\@acmISBN - \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\\fi - \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi% + \if@ACM@nonacm\else + \if@ACM@journal + \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle + \ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\ + \@formatdoi{\@acmDOI}% + \else % Conference + \ifx\@acmISBN\@empty\else ACM~ISBN~\@acmISBN + \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\\fi + \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi% + \fi \fi \fi \fi} + \fi \endgroup \setcounter{footnote}{0}% \@mkabstract @@ -1680,8 +1699,6 @@ Computing Machinery] \@mkbibcitation \fi \hypersetup{% - pdflang={English}, - pdfdisplaydoctitle, pdfauthor={\authors}, pdftitle={\@title}, pdfsubject={\@concepts}, @@ -2142,8 +2159,8 @@ Computing Machinery] \def\@mkbibcitation{\bgroup \def\@pages@word{\ifnum\getrefnumber{TotPages}=1\relax page\else pages\fi}% \def\footnotemark{}% - \def\\{\unskip{} \ignorespaces}% - \def\footnote{\ClassError{\@classname}{Please do note use footnotes + \def\\{\unskip{}, \ignorespaces}% + \def\footnote{\ClassError{\@classname}{Please do not use footnotes inside a \string\title{} or \string\author{} command! Use \string\titlenote{} or \string\authornote{} instead!}}% \def\@article@string{\ifx\@acmArticle\@empty{\ }\else, @@ -2151,17 +2168,23 @@ Computing Machinery] \par\medskip\small\noindent{\bfseries ACM Reference Format:}\par\nobreak \noindent\authors. \@acmYear. \@title \ifx\@subtitle\@empty. \else: \@subtitle. \fi - \if@ACM@journal - \textit{\@journalNameShort} - \@acmVolume, \@acmNumber \@article@string (\@acmPubDate), - \ref{TotPages}~\@pages@word. - \else - In \textit{\@acmBooktitle}% - \ifx\@acmEditors\@empty\textit{.}\else - \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.% - \fi\ - ACM, New York, NY, USA% - \@article@string\unskip, \ref{TotPages}~\@pages@word. + \if@ACM@nonacm\else + % The 'nonacm' option disables 'printacmref' by default, + % and the present \@mkbibcitation definition is never used + % in this case. The conditional remains useful if the user + % explicitly sets \settopmatter{printacmref=true}. + \if@ACM@journal + \textit{\@journalNameShort} + \@acmVolume, \@acmNumber \@article@string (\@acmPubDate), + \ref{TotPages}~\@pages@word. + \else + In \textit{\@acmBooktitle}% + \ifx\@acmEditors\@empty\textit{.}\else + \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.% + \fi\ + ACM, New York, NY, USA% + \@article@string\unskip, \ref{TotPages}~\@pages@word. + \fi \fi \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi \par\egroup} @@ -2215,51 +2238,72 @@ Computing Machinery] Page \thepage\ of \@startPage--\pageref*{TotPages}.% } \fi -\def\@shortauthors{\if@ACM@anonymous Anon.\else\shortauthors\fi} +\def\@shortauthors{% + \if@ACM@anonymous + Anon. + \ifx\@acmSubmissionID\@empty\else Submission Id: \@acmSubmissionID\fi + \else\shortauthors\fi} \def\@headfootfont{\sffamily} \fancypagestyle{standardpagestyle}{% \fancyhf{}% \renewcommand{\headrulewidth}{\z@}% \renewcommand{\footrulewidth}{\z@}% + \def\@acmArticlePage{% + \ifx\@acmArticle\empty% + \if@ACM@printfolios\thepage\fi% + \else% + \@acmArticle\if@ACM@printfolios:\thepage\fi% + \fi% + } \ifcase\ACM@format@nr \relax % manuscript \fancyhead[LE]{\ACM@linecountL\if@ACM@printfolios\thepage\fi}% \fancyhead[RO]{\if@ACM@printfolios\thepage\fi}% \fancyhead[RE]{\@shortauthors}% \fancyhead[LO]{\ACM@linecountL\shorttitle}% - \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM}% + \if@ACM@nonacm\else% + \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM} + \fi% \or % acmsmall - \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}% - \fancyhead[RO]{\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}% + \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticlePage}% + \fancyhead[RO]{\@headfootfont\@acmArticlePage}% \fancyhead[RE]{\@headfootfont\@shortauthors}% \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \if@ACM@nonacm\else% + \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \fi% \or % acmlarge \fancyhead[LE]{\ACM@linecountL\@headfootfont - \@acmArticle\if@ACM@printfolios:\thepage\fi\quad\textbullet\quad\@shortauthors}% + \@acmArticlePage\quad\textbullet\quad\@shortauthors}% \fancyhead[LO]{\ACM@linecountL}% \fancyhead[RO]{\@headfootfont - \shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi}% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \shorttitle\quad\textbullet\quad\@acmArticlePage}% + \if@ACM@nonacm\else% + \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \fi% \or % acmtog \fancyhead[LE]{\ACM@linecountL\@headfootfont - \@acmArticle\if@ACM@printfolios:\thepage\fi\quad\textbullet\quad\@shortauthors}% + \@acmArticlePage\quad\textbullet\quad\@shortauthors}% \fancyhead[LO]{\ACM@linecountL}% \fancyhead[RE]{\ACM@linecountR}% \fancyhead[RO]{\@headfootfont - \shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi\ACM@linecountR}% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \shorttitle\quad\textbullet\quad\@acmArticlePage\ACM@linecountR}% + \if@ACM@nonacm\else% + \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \fi% \else % Proceedings \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}% - \fancyhead[LE]{\ACM@linecountL\@headfootfont\acmConference@shortname, - \acmConference@date, \acmConference@venue}% - \fancyhead[RO]{\@headfootfont\acmConference@shortname, - \acmConference@date, \acmConference@venue\ACM@linecountR}% + \if@ACM@nonacm\else% + \fancyhead[LE]{\ACM@linecountL\@headfootfont\acmConference@shortname, + \acmConference@date, \acmConference@venue}% + \fancyhead[RO]{\@headfootfont\acmConference@shortname, + \acmConference@date, \acmConference@venue\ACM@linecountR}% + \fi% \fi \if@ACM@sigchiamode \fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}% @@ -2317,27 +2361,35 @@ Computing Machinery] \relax % manuscript \fancyhead[L]{\ACM@linecountL}% \fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}% - \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}% + \if@ACM@nonacm\else% + \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}% + \fi% \or % acmsmall - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% + \if@ACM@nonacm\else% + \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: + \@acmPubDate.}% + \fi% \fancyhead[LE]{\ACM@linecountL\@folioblob}% \fancyhead[LO]{\ACM@linecountL}% \fancyhead[RO]{\@folioblob}% \fancyheadoffset[RO,LE]{0.6\@folio@wd}% \or % acmlarge - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% + \if@ACM@nonacm\else% + \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: + \@acmPubDate.}% + \fi% \fancyhead[RO]{\@folioblob}% \fancyhead[LE]{\ACM@linecountL\@folioblob}% \fancyhead[LO]{\ACM@linecountL}% \fancyheadoffset[RO,LE]{1.4\@folio@wd}% \or % acmtog - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% + \if@ACM@nonacm\else% + \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: + \@acmPubDate.}% + \fi% \fancyhead[L]{\ACM@linecountL}% \fancyhead[R]{\ACM@linecountR}% \else % Conference proceedings @@ -2348,7 +2400,9 @@ Computing Machinery] \if@ACM@timestamp \ifnum\ACM@format@nr=0\relax % Manuscript \fancyfoot[LO,RE]{\ACM@timestamp\quad - \footnotesize Manuscript submitted to ACM} + \if@ACM@nonacm\else + \footnotesize Manuscript submitted to ACM + \fi} \else \fancyfoot[LO,RE]{\ACM@timestamp} \fi @@ -2362,26 +2416,56 @@ Computing Machinery] \let\ps@myheadings\ACM@ps@myheadings \let\ps@headings\ACM@ps@headings} \AtBeginDocument{\ACM@restore@pagestyle} +\def\ACM@NRadjust#1{% + \begingroup + \expandafter\ifx\csname Sectionformat\endcsname\relax + % do nothing when \Sectionformat is unknown + \def\next{\endgroup #1}% + \else + \def\next{\endgroup + \let\realSectionformat\Sectionformat + \def\ACM@sect@format@{#1}% + \let\Sectionformat\ACM@NR@adjustedSectionformat + %% next lines added 2018-06-17 to ensure section number is styled + \let\real@adddotafter\@adddotafter + \let\@adddotafter\ACM@adddotafter + #1{}% imposes the styles, but nullifies \MakeUppercase + \let\@adddotafter\real@adddotafter + }% + \fi \next +} +\def\ACM@NR@adjustedSectionformat#1#2{% + \realSectionformat{\ACM@sect@format{#1}}{#2}% + \let\Sectionformat\realSectionformat} +\DeclareRobustCommand{\ACM@sect@format}{\ACM@sect@format@} +\def\ACM@sect@format@null#1{#1} +\let\ACM@sect@format@\ACM@sect@format@null +\AtBeginDocument{% + \expandafter\ifx\csname LTX@adddotafter\endcsname\relax + \let\LTX@adddotafter\@adddotafter + \fi +} +\def\ACM@adddotafter#1{\ifx\relax#1\relax\else\LTX@adddotafter{#1}\fi} \renewcommand\section{\@startsection{section}{1}{\z@}% {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% {.25\baselineskip}% - {\@secfont}} + {\ACM@NRadjust\@secfont}} \renewcommand\subsection{\@startsection{subsection}{2}{\z@}% {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% {.25\baselineskip}% - {\@subsecfont}} -\renewcommand\subsubsection{\@startsection{subsubsection}{3}{10pt}% + {\ACM@NRadjust\@subsecfont}} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% {-3.5\p@}% - {\@subsubsecfont\@adddotafter}} + {\ACM@NRadjust{\@subsubsecfont\@adddotafter}}} \renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}% {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% {-3.5\p@}% - {\@parfont\@adddotafter}} + {\ACM@NRadjust{\@parfont\@adddotafter}}} \renewcommand\part{\@startsection{part}{9}{\z@}% {-10\p@ \@plus -4\p@ \@minus -2\p@}% {4\p@}% - {\@parfont}} + {\ACM@NRadjust\@parfont}} \def\section@raggedright{\@rightskip\@flushglue \rightskip\@rightskip \leftskip\z@skip -- cgit v1.2.3