summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/acmart/acmart.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-05-03 18:20:02 +0000
committerKarl Berry <karl@freefriends.org>2019-05-03 18:20:02 +0000
commit581a89125a8e5ac5b8be27a1d62b72a5e77e05fd (patch)
tree89dec269a0eebaa8c23c62e5e66222115d78322e /Master/texmf-dist/source/latex/acmart/acmart.dtx
parent82729f5722f58fbfd10f586d14176b69f508b514 (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.dtx284
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}
%
%