summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/acmart/acmart.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-10-20 03:04:26 +0000
committerNorbert Preining <norbert@preining.info>2022-10-20 03:04:26 +0000
commit3b961a61ef9fb89adf20a89550d5de0bfe135448 (patch)
treee36f997e624c704dbb4ed2b5fdbd02835ea3c133 /macros/latex/contrib/acmart/acmart.dtx
parent7b6cdf4c23e6ed232601dabc70f5553a8dee9c9b (diff)
CTAN sync 202210200304
Diffstat (limited to 'macros/latex/contrib/acmart/acmart.dtx')
-rw-r--r--macros/latex/contrib/acmart/acmart.dtx418
1 files changed, 389 insertions, 29 deletions
diff --git a/macros/latex/contrib/acmart/acmart.dtx b/macros/latex/contrib/acmart/acmart.dtx
index da94d187c5..f8221dcccb 100644
--- a/macros/latex/contrib/acmart/acmart.dtx
+++ b/macros/latex/contrib/acmart/acmart.dtx
@@ -302,14 +302,14 @@
% \normalfont Value & Meaning\\
% \midrule
% manuscript & A manuscript. This is the default. \\
-% acmsmall & Small single-column format. Used for CIE, CSUR,
-% DLT, FAC, GAMES, JACM, JDIQ, JDS, JEA, JERIC,
+% acmsmall & Small single-column format. Used for ACMJCSS, CIE, CSUR,
+% DLT, FAC, GAMES, JACM, JATS, JDIQ, JDS, JEA, JERIC,
% JETC, JRC, PACMCGIT, PACMHCI, PACMPL, TAAS, TACCESS, TACO,
% TALG, TALLIP (formerly TALIP), TCPS, TDS,
% TEAC, TECS, TELO, THRI, TIIS, TIOT, TISSEC, TIST, TKDD, TMIS,
% TOCE, TOCHI, TOCL,
% TOCS, TOCT, TODAES, TODS, TOIS, TOIT, TOMACS, TOMM (formerly
-% TOMCCAP), TOMPECS, TOMS, TOPC, TOPLAS, TOPS,
+% TOMCCAP), TOMPECS, TOMS, TOPC, TOPLAS, TOPS, TORS
% TOS, TOSEM, TOSN, TQC, TRETS,
% TSAS, TSC, TSLP and TWEB, including special issues. \\
% acmlarge & Large single-column format. Used for DTRAP, HEALTH,
@@ -317,10 +317,11 @@
% acmtog & Large double-column format. Used for
% TOG, including annual conference Technical Papers.\\
% sigconf & Proceedings format for most ACM
-% conferences (with the exceptions listed below) and all ICPS
+% conferences (with the exception of SIGPlAN) and all ICPS
% volumes.\\
% sigplan & Proceedings format for SIGPLAN conferences.\\
-%. acmengage & ACM EngageCSEdu Course materials.\\
+% acmengage & ACM EngageCSEdu Course materials.\\
+% acmcp & ACM cover page. \\
% \bottomrule
% \end{tabularx}
% \end{table}
@@ -330,6 +331,9 @@
% If a file uses |sigchi| format, a warning is issued, and the format
% is automatically switched to |sigconf|. Format |sigchi-a| can be
% used for non-ACM documents only (see Section~\ref{sec:sigchi-a}).
+% The format |acmcp| is used for ACM cover pages discussed in
+% Section~\ref{sec:ug_acmcp}.
+%
%
% There are several Boolean options that can take |true| or |false|
% values. They are listed in Table~\ref{tab:opts_bool}. The words
@@ -408,7 +412,8 @@
% 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\\
+% header and footers. Currenly such documents allow only a
+% Creative Commons license.\\
% timestamp & false & Whether to put a time stamp in the
% footer of each page\\
% authordraft & false & Whether author's-draft mode is enabled\\
@@ -1000,6 +1005,8 @@
% \verb|\setcopyright{acmcopyright}|. The possible values for this
% command are listed in Table~\ref{tab:setcopyright}. This command
% must be placed in the preamble, before |\begin{document}|.
+% Additional information about ACM copyright rules is discussed in
+% Section~\ref{ug_cc}.
%
% \begin{table}
% \centering
@@ -1043,7 +1050,9 @@
% by IW3C2, when some authors are approved Google employees.\\
% \texttt{cc} & Creative Commons license. If this key is set,
% \textsl{doclicense} images are used to typeset the license. See
-% also \cs{setcctype} command.\\
+% also \cs{setcctype} command. Note that at present this license
+% can be used only for \texttt{acmengage} format or for
+% \texttt{nonacm} publications.\\
% \bottomrule
% \end{tabularx}
% \end{table}
@@ -1164,9 +1173,9 @@
% is |Received| for the first date and |revised| for the subsequent
% ones. For example,
% \begin{verbatim}
-% \received{February 2007}
-% \received[revised]{March 2009}
-% \received[accepted]{June 2009}
+% \received{20 February 2007}
+% \received[revised]{12 March 2009}
+% \received[accepted]{5 June 2009}
% \end{verbatim}
%
%
@@ -1211,6 +1220,58 @@
% Note that the type of Creative Commons license, if such license is
% used, is automatically added to the metadata.
%
+%
+%\subsection{ACM cover page}
+%\label{sec:ug_acmcp}
+%
+% ACM cover pages are forms of extended abstracts that are added to
+% journals at the late stage. Authors prepare them as separate
+% \texttt{.tex} files using |acmcp| format. At present only JDS uses
+% them, but in the future this may change.
+%
+% There are several top matter commands specific for this format.
+%
+% \DescribeMacro{\acmArticleType}%
+% There are five article types accepted by JDS: \emph{Research} (the
+% default), \emph{Review}, \emph{Discussion}, \emph{Invited}, and
+% \emph{Position}. The command \cs{acmArticleType}\marg{type} sets the
+% article type, for example
+% \begin{verbatim}
+% \acmArticleType{Review}
+% \end{verbatim}
+%
+% \DescribeMacro{\acmCodeLink}%
+% \DescribeMacro{\acmDataLink}%
+% The commands \cs{acmCodeDataLink}\marg{link} and
+% \cs{acmDataLink}\marg{link} set the links to the data and code
+% accompanying the paper, for example,
+% \begin{verbatim}
+% \acmCodeLink{https://github.com/repository/code}
+% \acmDataLink{https://datadryad.org/stash/dataset/doi:DOI}
+% \end{verbatim}
+% You may repeat these commands if you have several repositories.
+%
+%
+% ACM cover page should have the following obligatory sections:
+% \begin{itemize}
+% \item Problem statement,
+% \item Methods,
+% \item Results,
+% \item Significance.
+% \end{itemize}
+%
+% Sometimes the addresses extracted from the authors' data are too
+% long to fit on the page. In this case the command
+% \cs{authorsaddresses} can be use to override them, for example,
+% \begin{verbatim}
+% \authorsaddresses{Corresponding author: Ben Trovato,
+% \href{mailto:trovato@corporation.com}{trovato@corporation.com};
+% Institute for Clarity in Documentation, P.O. Box 1212, Dublin,
+% Ohio, USA, 43017-6221}
+% \end{verbatim}
+%
+%
+%
%\subsection{Internationalization}
%\label{sec:ug_i13n}
%
@@ -1908,6 +1969,29 @@
% document.
%
%
+%\subsection{Creative Commons licenses for ACM publications}
+%\label{sec:ug_cc}
+%
+% At present ACM does not allow the authors to typeset Creative
+% Commons license for most ACM publications. These licenses can be
+% used under an agreement with the ACM publishing office. In this
+% case they are inserted by ACM itself.
+%
+% The exceptions are ACM Engage format, which allows Creative Commons
+% license, and conferences organized and copyrighted by IW3C2. In
+% these cases the authors should use correspondingly
+% |\setcopyright{cc}|, |\setcopyright{iw3c2w3}|, or
+% |\setcopyright{iw3c2w3g}| (the latter should be used by Google
+% employees).
+%
+% Yet another case is the typesetting of non-ACM materials, when the
+% option |nonacm| is used. This case is somewhat opposite, because
+% for this case \emph{only} Creative Common licenses are supported.
+%
+% The command |\setcopyright{cc}| produces an error unless the format is
+% |acmengage| or |nonacm| option is selected. On the other hand, if
+% the option |nonacm| is selected, any argument of |\setcopyright|
+% other than |cc| is treated as |none|.
%
%
%\subsection{Disabled or forbidden commands}
@@ -1999,7 +2083,8 @@
% \midrule
% \endhead
% \bottomrule
-% \endfoot
+% \endfoot
+% ACMJCSS & ACM Journal on Computing and Sustainable Societies \\
% CIE & ACM Computers in Entertainment \\
% CSUR & ACM Computing Surveys\\
% DLT & Distributed Ledger Technologies: Research and Practice\\
@@ -2011,6 +2096,7 @@
% IMWUT & PACM on Interactive, Mobile, Wearable and Ubiquitous
% Technologies\\
% JACM & Journal of the ACM \\
+% JATS & ACM Journal on Autonomous Transportation Systems \\
% JDIQ & ACM Journal of Data and Information Quality \\
% JDS & ACM/IMS Journal of Data Science \\
% JEA & ACM Journal of Experimental Algorithmics \\
@@ -2061,6 +2147,7 @@
% TOPC & ACM Transactions on Parallel Computing\\
% TOPLAS & ACM Transactions on Programming Languages and Systems\\
% TOPS & ACM Transactions on Privacy and Security\\
+% TORS & ACM Transactions on Recommender Systems\\
% TOS & ACM Transactions on Storage\\
% TOSEM & ACM Transactions on Software Engineering and Methodology\\
% TOSN & ACM Transactions on Sensor Networks\\
@@ -2142,7 +2229,7 @@
\ProvidesFile{acmart.dtx}
%</gobble>
%<class>\ProvidesClass{acmart}
-[2022/06/26 v1.86 Typesetting articles for the Association for Computing Machinery]
+[2022/10/18 v1.87 Typesetting articles for the Association for Computing Machinery]
% \end{macrocode}
%
% \changes{v1.00}{2016/04/14}{First released version}
@@ -2252,6 +2339,7 @@
% \changes{1.78}{2021/05/01}{Documentation update: Word count}
% \changes{1.84}{2022/04/09}{New journals: JDS, GAMES}
% \changes{1.85}{2022/05/08}{Added CC licenses}
+% \changes{1.87}{2022/08/02}{New format: |acmcp|}
%
% And the driver code:
% \begin{macrocode}
@@ -2310,11 +2398,12 @@
%
% \begin{macro}{format}
% \changes{1.85}{2022/05/08}{New format: acmengage}
+% \changes{1.87}{2022/08/13}{New format: acmcp}
% The possible formats
% \begin{macrocode}
\define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{%
manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph,
- sigplan, sigchi, sigchi-a, acmengage}[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}}
@@ -2329,6 +2418,7 @@
\@DeclareACMFormat{sigchi}
\@DeclareACMFormat{sigchi-a}
\@DeclareACMFormat{acmengage}
+\@DeclareACMFormat{acmcp}
\ExecuteOptionsX{format}
% \end{macrocode}
%
@@ -2539,7 +2629,9 @@
% \begin{macro}{\ACM@fontsize}
% The font size to pass to the base class
% \begin{macrocode}
+% \changes{v1.87}{2022/08/27}{Added fontsize 8pt}
\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}}
@@ -2626,6 +2718,19 @@
%
% \end{macro}
%
+% \begin{macro}{\if@ACM@acmcp}
+% \changes{v1.87}{2022/08/12}{Introduced macro}
+% ACM cover page formatting
+% \begin{macrocode}
+\newif\if@ACM@acmcp
+\@ACM@acmcpfalse
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+%
+%
% Setting up switches
% \begin{macrocode}
\ifnum\ACM@format@nr=5\relax % siggraph
@@ -2682,6 +2787,10 @@
\or % acmengage
\@ACM@journalfalse
\@ACM@engagetrue
+\or % acmcp
+ \@ACM@journaltrue
+ \@ACM@acmcptrue
+ \AtBeginDocument{\@ACM@printacmreffalse}%
\fi
\if@ACM@journal
\@ACM@journal@bibstriptrue
@@ -2697,6 +2806,7 @@
%
% \changes{v1.13}{2016/06/06}{Increased font size for ACM Large}
% \changes{v1.38}{2017/05/13}{Increase default font size for SIGPLAN}
+% \changes{v1.87}{2022/08/27}{Set font sizes for |acmengage| and |acmcp|}
%
%
% At this point we either have \cs{ACM@fontsize} or use defaults
@@ -2721,6 +2831,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}
@@ -2768,6 +2882,13 @@
% \end{macrocode}
%
%
+% \changes{v1.87}{2022/08/14}{Added `framed' package for acmcp}
+% \begin{macrocode}
+\if@ACM@acmcp
+\RequirePackage{framed}
+\fi
+% \end{macrocode}
+%
%
%
%
@@ -3327,6 +3448,7 @@
\or % sigchi-a
\urlstyle{sf}
\or % acmengage
+\or % acmcp
\fi
\AtEndPreamble{%
\if@ACM@urlbreakonhyphens
@@ -3521,6 +3643,13 @@
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
% \end{macrocode}
%
@@ -3544,6 +3673,7 @@
\or % sigchi
\or % sigchi-a
\or % acmengage
+\or % acmcp
\fi
% \end{macrocode}
%
@@ -3652,6 +3782,8 @@
\or % sigchi-a
\or % acmengage
\flushbottom
+\or % acmcp
+ \flushbottom
\fi
% \end{macrocode}
%
@@ -3878,6 +4010,7 @@
\captionsetup[table]{labelfont={bf, small},
textfont={bf, small}}
\or % acmengage
+ \or % acmcp
\fi
\fi
% \end{macrocode}
@@ -4029,6 +4162,7 @@
\or % sigchi
\or % sigchi-a
\or % acmengage
+\or % acmcp
\fi
% \end{macrocode}
%
@@ -4142,11 +4276,13 @@
% several journals}
% \changes{1.84}{2022/04/09}{New journals: JDS, GAMES}
% \changes{1.85}{2022/05/08}{New journal: JRC}
+% \changes{1.85}{2022/10/18}{New journals: ACMJCSS, JATS, TORS}
%
% We use the |xkeyval| interface to define journal titles and the relevant
% information
% \begin{macrocode}
\define@choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode@nr]{%
+ ACMJCSS,%
CIE,%
CSUR,%
DGOV,%
@@ -4157,6 +4293,7 @@
HEALTH,%
IMWUT,%
JACM,%
+ JATS,%
JDIQ,%
JDS,%
JEA,%
@@ -4203,6 +4340,7 @@
TOPC,%
TOPS,%
TOPLAS,%
+ TORS,%
TOS,%
TOSEM,%
TOSN,%
@@ -4215,7 +4353,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{}%
+\or % CIE
\def\@journalName{ACM Computers in Entertainment}%
\def\@journalNameShort{ACM Comput. Entertain.}%
\def\@permissionCodeOne{1544-3574}%
@@ -4258,6 +4400,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}%
@@ -4446,7 +4592,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.}%
@@ -4455,6 +4602,10 @@
\def\@journalName{ACM Transactions on Programming Languages and Systems}%
\def\@journalNameShort{ACM Trans. Program. Lang. Syst.}%
\def\@permissionCodeOne{0164-0925}%
+\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}%
@@ -5282,6 +5433,67 @@
%
% \end{macro}
%
+% \begin{macro}{\acmArticleType}
+% \changes{v1.87}{2022/08/13}{Introduced macro}
+% Article type. We set up the color.
+% \begin{macrocode}
+\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}}
+\newenvironment{@ACM@color@frame}{%
+ \def\FrameCommand{\hspace*{-6.5pc}%
+ \colorbox{@ACM@Article@color!10!white}}%
+ \MakeFramed {\advance\hsize -6.5pc\relax\FrameRestore}}{\endMakeFramed}
+\if@ACM@acmcp
+\acmArticleType{Research}%
+\fi
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\acmCodeLink}
+% \changes{v1.87}{2022/08/13}{Introduced macro}
+% \changes{v1.87}{2022/08/28}{Added possibility to have several links}
+% The code link
+% \begin{macrocode}
+\def\acmCodeLink#1{%
+ \ifx\@acmCodeDataLink\@empty
+ \gdef\@acmCodeDataLink{\url{#1}}%
+ \else
+ \g@addto@macro{\@acmCodeDataLink}{\\ \url{#1}}%
+ \fi}
+\def\@acmCodeDataLink{}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\acmDataLink}
+% \changes{v1.87}{2022/08/13}{Introduced macro}
+% \changes{v1.87}{2022/08/28}{Now this is the same as the code link}
+% The code link
+% \begin{macrocode}
+\let\acmDataLink\acmCodeLink
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+%
%\subsection{Concepts system}
%\label{sec:concepts}
%
@@ -5547,12 +5759,40 @@
%
% \end{macro}
%
+% \begin{macro}{\@ACM@copyright@check@cc}
+% \changes{v1.87}{2022/07/30}{Added macro}
+% At present cC licenses can be used only for acmengage format or for
+% non-acm stuff. This macro checks whether the CC license is
+% applicable and generates an error if not.
+% \begin{macrocode}
+\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}
+% \end{macrocode}
+%
+% \end{macro}
+%
% \begin{macro}{\@copyrightpermission}
% \changes{v1.40}{2017/06/16}{Added new copyright version: licensedcagov}
% \changes{v1.50}{2018/02/07}{New copyright statements for iw3c2w3[g]}
% \changes{v1.52}{2018/04/09}{Another rewording of copyright
% statements for iw3c2w3[g]}
% \changes{v1.85}{2022/05/08}{Added CC licenses}
+% \changes{v1.87}{2022/07/30}{CC licenses now are allowed only for
+% non-acm or ACM engage publications}
% The canned permission block.
% \begin{macrocode}
\def\@copyrightpermission{%
@@ -5678,6 +5918,7 @@
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}}%
@@ -5867,6 +6108,7 @@
% \changes{v1.76}{2021/04/05}{Put \cs{par} inside group for keywords}
% \changes{v1.83}{2022/02/20}{I13n}
% \changes{v1.85}{2022/05/08}{acmengage}
+% \changes{v1.87}{2022/07/30}{CC license are allowed for non-acm publications}
% The (in)famous \cs{maketitle}. Note that in |sigchi-a| mode, authors
% are \emph{not} in the title box.
%
@@ -5904,15 +6146,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.}}%
@@ -5966,7 +6216,8 @@
\fi
\fi
\fi
- \fi}
+ \fi}%
+ \fi
\fi
\endgroup
\if@ACM@engage\@typesetengagemetadata\fi
@@ -5980,12 +6231,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
@@ -6012,11 +6265,43 @@
\@printendtopmatter
\@afterindentfalse
\@afterheading
+ \if@ACM@acmcp
+ \set@ACM@acmcpbox
+ \AtEndDocument{\end@ACM@color@frame}%
+ \@ACM@color@frame
+ \fi
}
% \end{macrocode}
%
% \end{macro}
%
+% \begin{macro}{\set@ACM@acmcpbox}
+% \changes{v1.87}{2022/08/14}{Added macro}
+% Setting infobox for acmcp
+% \begin{macrocode}
+\newbox\@ACM@acmcpbox
+\def\set@ACM@acmcpbox{%
+ \bgroup
+ \hsize=5pc
+ \global\setbox\@ACM@acmcpbox=\vtop to \textheight{%
+ \setlength{\parindent}{\z@}%
+ {\Large LOGO\par}%
+ \scriptsize
+ \vfill
+ \ifx\@acmCodeDataLink\@empty\else
+ Code and data links:\\ \@acmCodeDataLink\par\vfill
+ \fi
+ \ifx\@keywords\@empty\else Keywords:
+ \@keywords\par\vfill
+ \fi
+ \ifx\@empty\@authorsaddresses\else\@setauthorsaddresses\vfill\fi
+ }
+\egroup}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
% \begin{macro}{\@specialsection}
% \changes{v1.66}{2019/11/23}{Suppress warnings about \cs{vspace}}
% \changes{v1.67}{2020/01/11}{Paragraph inside group does not print
@@ -6051,6 +6336,8 @@
\section*{#1}%
\or % acmengage
\section*{#1}%
+ \or % acmcp
+ \section*{#1}%
\fi
\let\@vspace\@vspace@acm
\let\@vspacer\@vspacer@acm
@@ -6126,6 +6413,8 @@
\fi
\or % acmengage
\twocolumn[\box\mktitle@bx]%
+ \or % acmcp
+ \box\mktitle@bx\par
\fi
}
% \end{macrocode}
@@ -6158,6 +6447,8 @@
\@mktitle@iv
\or % acmengage
\@mktitle@iii
+ \or % acmcp
+ \@mktitle@i
\fi
}
% \end{macrocode}
@@ -6193,6 +6484,8 @@
\Huge\bfseries
\or % acmengage
\Huge\sffamily\bfseries
+ \or % acmcp
+ \LARGE\sffamily\bfseries
\fi}
% \end{macrocode}
%
@@ -6226,6 +6519,8 @@
\mdseries
\or % acmengage
\LARGE\mdseries
+ \or % acmcp
+ \mdseries
\fi}
% \end{macrocode}
%
@@ -6236,9 +6531,13 @@
% \changes{v1.06}{2016/05/01}{Added processing badges}
% \changes{v1.83}{2022/02/20}{Added \cs{translatedtitle} and
% \cs{translatedsubtitle}}
+% \changes{v1.87}{2022/08/14}{Special treatment for acmcp}
% The version of \cs{mktitle} for most journals
% \begin{macrocode}
\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
@@ -6465,6 +6764,8 @@
\@mkauthors@iv
\or % acmengage
\@mkauthors@iii
+ \or % acmcp
+ \@mkauthors@i
\fi
\endgroup
}
@@ -6518,6 +6819,9 @@
\or % acmengage
\def\@authorfont{\LARGE}
\def\@affiliationfont{\large}
+\or % acmcp
+ \def\@authorfont{\large\sffamily}
+ \def\@affiliationfont{\small\normalfont}
\fi
% \end{macrocode}
%
@@ -6615,6 +6919,7 @@
% \changes{v1.78}{2021/05/16}{Unboxing \cs{mktitle@bx}}
% This version is used in most journal formats. Note that \cs{and} between
% authors with the same affiliation becomes \verb*| and |:
+% \changes{v1.87}{2022/08/14}{Special treatment for acmcp}
% \begin{macrocode}
\def\@mkauthors@i{%
\def\@currentauthors{}%
@@ -6644,6 +6949,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}%
@@ -7181,6 +7489,8 @@
\ACM@mk@linecount
\or % acmengage
\ACM@mk@linecount
+ \or % acmcp
+ \relax
\fi
\begin{picture}(0,0)%
\put(20,-22){\usebox{\ACM@linecount@bx}}%
@@ -7263,6 +7573,7 @@
% \changes{v1.76}{2021/02/21}{Fixed bug with no line numbers for
% nonacm}
% \changes{v1.86}{2022/06/26}{Special treatment of ACM Engage materials}
+% \changes{v1.87}{2022/08/14}{Special treatment of ACMCP}
% The page style for all pages but the first one
% \begin{macrocode}
\AtBeginDocument{%
@@ -7371,6 +7682,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}
}
@@ -7448,6 +7774,8 @@
%
% \end{macro}
%
+%
+%
% \begin{macro}{firstpagestyle}
% \changes{v1.33}{2017/03/10}{Added timestamp (Michael D.~Adams)}
% \changes{v1.33}{2017/03/29}{Added right linecount for two-column
@@ -7457,6 +7785,7 @@
% \changes{v1.59}{2019/04/20}{Added logic for conference papers using
% journal format}
% \changes{v1.59}{2019/04/20}{Moved page styles to \cs{AtBeginDocument}}
+% \changes{v1.87}{2022/08/14}{Special treatment for acmcp}
% The page style for the first page only.
% \begin{macrocode}
\AtBeginDocument{%
@@ -7520,6 +7849,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}%
+ \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
}}
% \end{macrocode}
%
@@ -7529,6 +7873,7 @@
%\subsection{Sectioning}
%\label{sec:sectioninng}
%
+%
% \begin{macro}{\ACM@NRadjust}
% \changes{v1.54}{2018/06/17}{Added macro}
% Ross Moore's macro.
@@ -7700,6 +8045,7 @@
\or % acmengage
\def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase}
\def\@subsecfont{\bfseries\Large\section@raggedright}
+\or %acmcp
\fi
% \end{macrocode}
%
@@ -7724,6 +8070,14 @@
%
% \end{macro}
%
+% \changes{v1.87}{2022/08/14}{No numbering sections for ACMCP}
+% \begin{macrocode}
+\if@ACM@acmcp
+ \setcounter{secnumdepth}{-1}%
+\fi
+% \end{macrocode}
+%
+%
%\subsection{TOC lists}
%\label{sec:tocs}
%
@@ -7792,6 +8146,7 @@
\or % sigchi
\or % sigchi-a
\or % acmengage
+\or % acmcp
\fi
% \end{macrocode}
%
@@ -7863,6 +8218,7 @@
\or % sigchi
\or % sigchi-a
\or % acmengage
+\or % acmcp
\fi
% \end{macrocode}
%
@@ -7962,6 +8318,7 @@
\or % sigchi
\or % sigchi-a
\or % acmengage
+\or % acmcp
\fi
% \end{macrocode}
%
@@ -8010,6 +8367,7 @@
\or % sigchi-a
\or % acmengage
\RequirePackage{pbalance}%
+ \or % acmcp
\fi
\fi
\if@ACM@balance
@@ -8034,6 +8392,8 @@
\global\@ACM@balancefalse
\or % acmengage
\RequirePackage{balance}%
+ \or % acmcp
+ \global\@ACM@balancefalse
\fi
\fi
}