diff options
author | Karl Berry <karl@freefriends.org> | 2019-05-03 18:20:02 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-05-03 18:20:02 +0000 |
commit | 581a89125a8e5ac5b8be27a1d62b72a5e77e05fd (patch) | |
tree | 89dec269a0eebaa8c23c62e5e66222115d78322e /Master/texmf-dist/source/latex/acmart/acmart.dtx | |
parent | 82729f5722f58fbfd10f586d14176b69f508b514 (diff) |
acmart (21apr19)
git-svn-id: svn://tug.org/texlive/trunk@50968 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/acmart/acmart.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/acmart/acmart.dtx | 284 |
1 files changed, 173 insertions, 111 deletions
diff --git a/Master/texmf-dist/source/latex/acmart/acmart.dtx b/Master/texmf-dist/source/latex/acmart/acmart.dtx index 89afdd9a3fe..d3f9cf1d0f9 100644 --- a/Master/texmf-dist/source/latex/acmart/acmart.dtx +++ b/Master/texmf-dist/source/latex/acmart/acmart.dtx @@ -112,6 +112,7 @@ % Jamie Davis, % Luis Leiva, % Ben Liblit, +% Rholais Lii, % LianTze Lim, % Kai Mindermann, % Frank Mittelbach, @@ -420,9 +421,6 @@ % \emph{book} form do not set this macro. % % -% It is expected that this command is inserted by the author of the -% manuscript when she decides to which journal to submit the -% manuscript. % % \DescribeMacro{\acmConference}% % The macro @@ -454,6 +452,16 @@ % Art, Science and Engineering of Programming (Programming '17)} % \end{verbatim} % +% An ACM paper should have either \cs{acmJournal} or +% \cs{acmConference} command. If it has both (or more) commands, the +% last one takes precedence. Note that if you have the command +% \cs{acmConference} in a journal format like |acmsmall|, the class +% will use conference format for bibstrip and reference citation +% formatting. In the samples directory there is a file +% |sample-acmsmall-conf.tex| with the example of this usage. +% +% +% % \DescribeMacro{\editor}% % In most cases, conference proceedings are edited. You can use the % command \cs{editor}\marg{editor} to set the editor of the volume. @@ -1493,7 +1501,7 @@ % \end{verbatim} % % If you do not know the year of publication, the style will add -% ``[n. d.]'' (for ``no date'') to the entry. +% ``[n.\,d.]'' (for ``no date'') to the entry. % % If you do not know the author (this is often the case for online % entries), use the |key| field to add a key for sorting and citations, @@ -2161,6 +2169,18 @@ Computing Machinery] % % \end{macro} % +% +% \begin{macro}{\if@ACM@journal@bibstrip} +% \changes{v1.59}{2019/04/20}{Introduced macro} +% Sometimes ACM wants a journal-like publication to have conference +% information in the bibstrip and vice versa, so we have an additional +% switch. +% \begin{macrocode} +\newif\if@ACM@journal@bibstrip +% \end{macrocode} +% +% \end{macro} +% % \begin{macro}{\if@ACM@sigchiamode} % The formatting of SIGCHI extended abstracts is quite unusual. We have a % special switch for them. @@ -2205,6 +2225,11 @@ Computing Machinery] \@ACM@journalfalse \@ACM@sigchiamodetrue \fi +\if@ACM@journal + \@ACM@journal@bibstriptrue +\else + \@ACM@journal@bibstripfalse +\fi % \end{macrocode} % % @@ -3688,9 +3713,11 @@ Computing Machinery] }% % \end{macrocode} % \begin{macro}{\acmJournal} -% And the syntactic sugar around it +% \changes{v1.59}{2019/04/20}{Setting \cs{@ACM@journal@bibstrip}} +% And the syntactic sugar around it % \begin{macrocode} -\def\acmJournal#1{\setkeys{ACM}{acmJournal=#1}} +\def\acmJournal#1{\setkeys{ACM}{acmJournal=#1}% + \global\@ACM@journal@bibstriptrue} % \end{macrocode} % % \end{macro} @@ -3706,6 +3733,7 @@ Computing Machinery] % % % \begin{macro}{\acmConference} +% \changes{v1.59}{2019/04/20}{Setting \cs{@ACM@journal@bibstrip}} % This is the conference command % \begin{macrocode} \newcommand\acmConference[4][]{% @@ -3715,9 +3743,13 @@ Computing Machinery] \gdef\acmConference@venue{#4}% \ifx\acmConference@shortname\@empty \gdef\acmConference@shortname{#2}% - \fi} + \fi + \global\@ACM@journal@bibstripfalse +} +\if@ACM@journal\else \acmConference[Conference'17]{ACM Conference}{July 2017}{Washington, - DC, USA} + DC, USA}% +\fi % \end{macrocode} % % \end{macro} @@ -4903,7 +4935,7 @@ Computing Machinery] \fi \ifx\@empty\@authorsaddresses\else \if@ACM@anonymous\else - \if@ACM@journal + \if@ACM@journal@bibstrip \footnotetextauthorsaddresses{% \def\par{\let\par\@par}\parindent\z@\@setauthorsaddresses}% \fi @@ -4920,7 +4952,7 @@ Computing Machinery] \if@printpermission\@copyrightpermission\par\fi \fi \if@ACM@manuscript\else - \if@ACM@journal\else % Print the conference information + \if@ACM@journal@bibstrip\else % Print the conference information {\itshape \acmConference@shortname, \acmConference@date, \acmConference@venue}\par \fi \fi @@ -4936,7 +4968,7 @@ Computing Machinery] 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 + \if@ACM@journal@bibstrip \emph{\@journalName}% \else \emph{\@acmBooktitle}% @@ -4948,7 +4980,7 @@ Computing Machinery] \fi\\ \else \if@ACM@nonacm\else - \if@ACM@journal + \if@ACM@journal@bibstrip \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle \ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\ \@formatdoi{\@acmDOI}% @@ -5825,7 +5857,7 @@ Computing Machinery] % 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 + \if@ACM@journal@bibstrip \textit{\@journalNameShort} \@acmVolume, \@acmNumber \@article@string (\@acmPubDate), \ref{TotPages}~\@pages@word. @@ -5884,6 +5916,26 @@ Computing Machinery] \RequirePackage{fancyhdr} % \end{macrocode} % +% \begin{macro}{\ACM@restore@pagestyle} +% \changes{v1.44}{2017/07/30}{Added macro} +% The following code by Ross Moore protects against changes by +% the |totpages| package: +% \begin{macrocode} +\let\ACM@ps@plain\ps@plain +\let\ACM@ps@myheadings\ps@myheadings +\let\ACM@ps@headings\ps@headings +\def\ACM@restore@pagestyle{% + \let\ps@plain\ACM@ps@plain + \let\ps@myheadings\ACM@ps@myheadings + \let\ps@headings\ACM@ps@headings} +\AtBeginDocument{\ACM@restore@pagestyle} +% \end{macrocode} +% +% +% \end{macro} +% +% +% % \begin{macro}{\ACM@linecount@bx} % \changes{v1.34}{2017/04/10}{Rulers now are continuous} % \changes{v1.40}{2017/05/27}{Work around a bug in xcolor: looks like @@ -6007,9 +6059,14 @@ Computing Machinery] % \changes{v1.33}{2017/03/10}{Added timestamp (Michael D.~Adams)} % \changes{v1.33}{2017/03/29}{Added right linecount for two-column formats} % The page style for all pages but the first one -% \changes{v1.51}{2018/04/05}{We now use journal abbreviation for footers} +% \changes{v1.51}{2018/04/05}{We now use journal abbreviation for +% footers} +% \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}} % The page style for all pages but the first one % \begin{macrocode} +\AtBeginDocument{% \fancypagestyle{standardpagestyle}{% \fancyhf{}% \renewcommand{\headrulewidth}{\z@}% @@ -6020,46 +6077,58 @@ Computing Machinery] \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}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM} - \fi% - \or % acmsmall - \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticlePage}% - \fancyhead[RO]{\@headfootfont\@acmArticlePage}% - \fancyhead[RE]{\@headfootfont\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \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 - \@acmArticlePage\quad\textbullet\quad\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyhead[RO]{\@headfootfont - \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 + }% + \if@ACM@journal@bibstrip + \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}% + \if@ACM@nonacm\else% + \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM} + \fi% + \or % acmsmall + \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticlePage}% + \fancyhead[RO]{\@headfootfont\@acmArticlePage}% + \fancyhead[RE]{\@headfootfont\@shortauthors}% + \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% + \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 \@acmArticlePage\quad\textbullet\quad\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyhead[RE]{\ACM@linecountR}% - \fancyhead[RO]{\@headfootfont - \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% + \fancyhead[LO]{\ACM@linecountL}% + \fancyhead[RO]{\@headfootfont + \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 + \@acmArticlePage\quad\textbullet\quad\@shortauthors}% + \fancyhead[LO]{\ACM@linecountL}% + \fancyhead[RE]{\ACM@linecountR}% + \fancyhead[RO]{\@headfootfont + \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}% + \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 \else % Proceedings \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% @@ -6069,16 +6138,17 @@ Computing Machinery] \acmConference@date, \acmConference@venue}% \fancyhead[RO]{\@headfootfont\acmConference@shortname, \acmConference@date, \acmConference@venue\ACM@linecountR}% - \fi% - \fi + \fi + \fi \if@ACM@sigchiamode \fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}% \fi \if@ACM@timestamp \fancyfoot[LO,RE]{\ACM@timestamp} \fi -} +}% \pagestyle{standardpagestyle} +} % \end{macrocode} % % \end{macro} @@ -6159,48 +6229,58 @@ Computing Machinery] % formats} % \changes{v1.51}{2018/04/05}{We now use journal abbreviation for % footers} +% \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}} % The page style for the first page only. % \begin{macrocode} +\AtBeginDocument{% \fancypagestyle{firstpagestyle}{% \fancyhf{}% \renewcommand{\headrulewidth}{\z@}% \renewcommand{\footrulewidth}{\z@}% - \ifcase\ACM@format@nr - \relax % manuscript - \fancyhead[L]{\ACM@linecountL}% - \fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}% - \if@ACM@nonacm\else% - \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}% - \fi% - \or % acmsmall - \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 - \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 - \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 + \if@ACM@journal@bibstrip + \ifcase\ACM@format@nr + \relax % manuscript + \fancyhead[L]{\ACM@linecountL}% + \fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}% + \if@ACM@nonacm\else% + \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}% + \fi% + \or % acmsmall + \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 + \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 + \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 + \fancyhead[L]{\ACM@linecountL}% + \fancyhead[R]{\ACM@linecountR}% + \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% + \fi + \else \fancyhead[L]{\ACM@linecountL}% \fancyhead[R]{\ACM@linecountR}% \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% @@ -6215,27 +6295,9 @@ Computing Machinery] \fancyfoot[LO,RE]{\ACM@timestamp} \fi \fi -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\ACM@restore@pagestyle} -% \changes{v1.44}{2017/07/30}{Added macro} -% The following code by Ross Moore protects against changes by -% the |totpages| package: -% \begin{macrocode} -\let\ACM@ps@plain\ps@plain -\let\ACM@ps@myheadings\ps@myheadings -\let\ACM@ps@headings\ps@headings -\def\ACM@restore@pagestyle{% - \let\ps@plain\ACM@ps@plain - \let\ps@myheadings\ACM@ps@myheadings - \let\ps@headings\ACM@ps@headings} -\AtBeginDocument{\ACM@restore@pagestyle} +}} % \end{macrocode} % -% % \end{macro} % % |