summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/acmart
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-05-15 21:14:01 +0000
committerKarl Berry <karl@freefriends.org>2017-05-15 21:14:01 +0000
commit8dc5a04688ab717789078f4d387cb0938bacbbaf (patch)
tree599ced060be851153f50c7a50270431e7a672ee8 /Master/texmf-dist/source/latex/acmart
parentce87ccee4a7de44078ae8d994c6d94482f787e5c (diff)
acmart (15may17)
git-svn-id: svn://tug.org/texlive/trunk@44367 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/acmart')
-rw-r--r--Master/texmf-dist/source/latex/acmart/acmart.dtx239
1 files changed, 204 insertions, 35 deletions
diff --git a/Master/texmf-dist/source/latex/acmart/acmart.dtx b/Master/texmf-dist/source/latex/acmart/acmart.dtx
index 76b80c798c4..8ede70c92e1 100644
--- a/Master/texmf-dist/source/latex/acmart/acmart.dtx
+++ b/Master/texmf-dist/source/latex/acmart/acmart.dtx
@@ -15,8 +15,13 @@
% The Current Maintainer of this work is Boris Veytsman,
% <borisv@lk.net>
%
-% This work consists of the file acmart.dtx and the
-% derived file acmart.cls, and
+% This work consists of the file acmart.dtx, the derived file
+% acmart.cls, the files ACM-Reference-Format.bst, and templates
+% sample-acmlarge.tex, sample-acmsmall.tex, sample-acmtog.tex,
+% samplebody-conf.tex, samplebody-journals.tex, sample-manuscript.tex,
+% sample-sigchi-a.tex, sample-sigchi.tex,
+% sample-sigconf-authordraft.tex, sample-sigconf.tex,
+% sample-sigplan.tex
%
% \fi
%
@@ -187,6 +192,7 @@
% \item \textsl{url}, \url{http://www.ctan.org/pkg/url}
% \item \textsl{xcolor}, \url{http://www.ctan.org/pkg/xcolor}
% \item \textsl{xkeyval}, \url{http://www.ctan.org/pkg/xkeyval}
+% \item \textsl{xstring}, \url{http://www.ctan.org/pkg/xstring}
% \end{itemize}
%
%
@@ -234,14 +240,14 @@
% \midrule
% manuscript & A manuscript. This is the default \\
% acmsmall & Small single column format, used for CIE, CSUR, JACM, JDIQ, JEA, JERIC,
-% JETC, TAAS, TACCESS, TACO, TALG, TALLIP (formerly TALIP), TCPS,
+% JETC, PACMPL, TAAS, TACCESS, TACO, TALG, TALLIP (formerly TALIP), TCPS,
% TEAC, TECS, TIIS, TISSEC, TIST, TKDD, TMIS, TOCE, TOCHI, TOCL,
% TOCS, TOCT, TODAES, TODS, TOIS, TOIT, TOMACS, TOMM (formerly
% TOMCCAP), TOMPECS, TOMS, TOPC, TOPLAS, TOPS,
% TOS, TOSEM, TOSN, TRETS,
% TSAS, TSC, TSLP, TWEB, including special issues. \\
% acmlarge & Large single column format, used for
-% IMWUT, JOCCH, PACMPL, POMACS, TAP, including special issues. \\
+% IMWUT, JOCCH, PACMHCI, POMACS, TAP, including special issues. \\
% acmtog & Large double column format, used for
% TOG, including special issues.\\
% sigconf & Proceedings format for most of ACM
@@ -371,6 +377,7 @@
% JERIC & ACM Journal of Educational Resources in Computing\\
% JETC & ACM Journal on Emerging Technologies in Computing Systems \\
% JOCCH & ACM Journal on Computing and Cultural Heritage \\
+% PACMHCI & PACM on Human-Computer Interaction\\
% PACMPL & PACM on Programming Languages \\
% POMACS & PACM on Measurement and Analysis of Computing Systems \\
% TAAS & ACM Transactions on Autonomous and Adaptive Systems\\
@@ -727,6 +734,20 @@
% commands, since this confuses metadata extraction software (actually
% these commands now produce errors).
%
+% \DescribeMacro{\authornotemark}%
+% Sometimes one may need to have the same footnote connected to
+% several authors. The command \cs{authornotemark}\oarg{number} adds
+% just the footnote mark, for example
+% \begin{verbatim}
+% \author{A. U. Thor}
+% \authornote{Both authors contributed equally to the paper}
+% ...
+% \author{A. N. Other}
+% \authornotemark[1]
+% \end{verbatim}
+% The correct numbering of these marks is the responsibility of the
+% user.
+%
% \DescribeMacro{\acmVolume}%
% \DescribeMacro{\acmNumber}%
% \DescribeMacro{\acmArticle}%
@@ -968,7 +989,18 @@
% \begin{verbatim}
% \settopmatter{printacmref=false, printccs=true, printfolios=true}
% \end{verbatim}
-%
+% The parameter |authorsperrow| requires some explanation. In
+% conference proceedings authors' information is typeset in boxes,
+% several boxes per row (see |sample-sigconf.pdf|,
+% |sample-sigplan.pdf| etc.). The number of the boxes per row is
+% determined automatically. If you want to override this decision,
+% you may do it using this parameter, for example,
+% \begin{verbatim}
+% \settopmatter{authorsperrow=4}
+% \end{verbatim}
+% However, in most cases you should \emph{not} do this and use the
+% default settings. Setting |authorsperrow| to $0$ will revert to
+% default settings.
%
% \begin{table}
% \centering
@@ -981,7 +1013,11 @@
% printccs & true/false & Whether to print CCS categories\\
% printacmref & true/false & Whether to print ACM bibliographic
% entry\\
-% printfolios & true/false & Whether to print page numbers (folios)\\
+% printfolios & true/false & Whether to print page numbers
+% (folios)\\
+% authorsperrow & numeric & Number of authors per row for title
+% page in
+% conference proceedings formats\\
% \bottomrule
% \end{tabularx}
% \end{table}
@@ -1509,7 +1545,7 @@
\ProvidesFile{acmart.dtx}
%</gobble>
%<class>\ProvidesClass{acmart}
-[2017/04/23 v1.35 Typesetting articles for Association of
+[2017/05/14 v1.39 Typesetting articles for Association of
Computing Machinery]
% \end{macrocode}
%
@@ -1562,6 +1598,11 @@ Computing Machinery]
% \changes{v1.33}{2017/03/28}{Added acmart-preload-hook}
% \changes{v1.33}{2017/03/33}{Documentation updates}
% \changes{v1.35}{2017/04/23}{BibTeX bug fixed: et al.}
+% \changes{v1.36}{2017/05/12}{Added the possibility to adjust number of
+% author boxes per row in conference formats}
+% \changes{v1.37}{2017/05/13}{Set \cs{normalparindent}; Reduce list
+% indentation (Matthew Fluet)}%
+% \changes{v1.38}{2017/05/13}{Increase default font size for SIGPLAN}
%
%
% And the driver code:
@@ -1607,7 +1648,11 @@ Computing Machinery]
\RequirePackage{xkeyval}
% \end{macrocode}
%
-%
+% We use |xstring| to check whether user input is integer
+% \begin{macrocode}
+\RequirePackage{xstring}
+% \end{macrocode}
+%
%
% \begin{macro}{format}
% The possible formats
@@ -1737,6 +1782,7 @@ Computing Machinery]
%
% \begin{macro}{\if@ACM@authordraft}
% \changes{v1.33}{2017/03/28}{Added macro}
+% \changes{v1.36}{2017/05/13}{Corrected typo, thanks to bargteil}
% Whether we use authordraft mode
% \begin{macrocode}
\define@boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{%
@@ -1748,7 +1794,7 @@ Computing Machinery]
\PackageInfo{\@classname}{Not using authordraft mode}%
\fi}{\PackageError{\@classname}{Option authordraft can be either true or
false}}
-\ExecuteOptionsX{timestamp=false}
+\ExecuteOptionsX{authordraft=false}
% \end{macrocode}
%
% \end{macro}
@@ -1850,6 +1896,7 @@ Computing Machinery]
%\label{sec:loading}
%
% \changes{v1.13}{2016/06/06}{Increased font size for ACM Large}
+% \changes{v1.38}{2017/05/13}{Increase default font size for SIGPLAN}
%
%
% At this point we either have \cs{ACM@fontsize}, or use defaults
@@ -1869,7 +1916,7 @@ Computing Machinery]
\or % siggraph
\def\ACM@fontsize{9pt}%
\or % sigplan
- \def\ACM@fontsize{9pt}%
+ \def\ACM@fontsize{10pt}%
\or % sigchi
\def\ACM@fontsize{10pt}%
\or % sigchi-a
@@ -2383,6 +2430,20 @@ Computing Machinery]
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\normalparindent}
+% \changes{v1.37}{2017/05/13}{Set \cs{normalparindent} (Matthew Fluet)}%
+% |amsart| defines the \cs{normalparindent} length and initializes it
+% to 12pt (the value of \cs{parindent} in |amsart|). It is later used
+% to set the \cs{listparindent} length in the |quotation| environment
+% and the \cs{parindent} length in the \cs{@footnotetext} command. We
+% set \cs{normalparindent} to the value of \cs{parindent} as selected
+% by |acmart| for consistent paragraph indents.
+% \begin{macrocode}
+\setlength\normalparindent{\parindent}
+% \end{macrocode}
+%
+% \end{macro}
+%
% Footnotes require some consideration. We have several layers of
% footnotes: frontmatter footnotes, ``regular'' footnotes and the
% special insert for bibstrip. In the old ACM classes bibstrip was a
@@ -2733,24 +2794,78 @@ Computing Machinery]
% \end{macrocode}
%
%
+% \changes{v1.37}{2017/05/13}{Reduce list indentation (Matthew Fluet)}%
+% AMS uses generous margins for the lists. Note that |amsart| defines
+% \cs{leftmargin} values for list levels at begin document, so we must
+% redefine them in the same manner. Also, note that |amsart|
+% redefines |enumerate| and |itemize| environments with a
+% \cs{makelabel} command that uses \cs{llap}, so the \cs{labelwidth}
+% value is (effectively) irrelevant; nonetheless, we follow |amsart|
+% and set \cs{labelwidth} to \cs{leftmargin} minus \cs{labelsep}.
+% \begin{macrocode}
+\newdimen\@ACM@labelwidth
+\AtBeginDocument{%
+ \setlength\labelsep{4pt}
+ \setlength{\@ACM@labelwidth}{6.5pt}
+
+ %% First-level list: when beginning after the first line of an
+ %% indented paragraph or ending before an indented paragraph, labels
+ %% should not hang to the left of the preceding/following text.
+ \setlength\leftmargini{\z@}
+ \addtolength\leftmargini{\parindent}
+ \addtolength\leftmargini{2\labelsep}
+ \addtolength\leftmargini{\@ACM@labelwidth}
+
+ %% Second-level and higher lists.
+ \setlength\leftmarginii{\z@}
+ \addtolength\leftmarginii{0.5\labelsep}
+ \addtolength\leftmarginii{\@ACM@labelwidth}
+ \setlength\leftmarginiii{\leftmarginii}
+ \setlength\leftmarginiv{\leftmarginiii}
+ \setlength\leftmarginv{\leftmarginiv}
+ \setlength\leftmarginvi{\leftmarginv}
+ \@listi}
+\newskip\listisep
+\listisep\smallskipamount
+\def\@listI{\leftmargin\leftmargini
+ \labelwidth\leftmargini \advance\labelwidth-\labelsep
+ \listparindent\z@
+ \topsep\listisep}
+\let\@listi\@listI
+\def\@listii{\leftmargin\leftmarginii
+ \labelwidth\leftmarginii \advance\labelwidth-\labelsep
+ \topsep\z@skip}
+\def\@listiii{\leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii \advance\labelwidth-\labelsep}
+\def\@listiv{\leftmargin\leftmarginiv
+ \labelwidth\leftmarginiv \advance\labelwidth-\labelsep}
+\def\@listv{\leftmargin\leftmarginv
+ \labelwidth\leftmarginv \advance\labelwidth-\labelsep}
+\def\@listvi{\leftmargin\leftmarginvi
+ \labelwidth\leftmarginvi \advance\labelwidth-\labelsep}
+% \end{macrocode}
+%
+%
% \begin{macro}{\descriptionlabel}
+% \changes{v1.37}{2017/05/13}{Reduce list indentation (Matthew Fluet)}%
% \changes{v1.12}{2016/05/30}{Redefined}
% We do not use default colon as \cs{amsart} does:
% \begin{macrocode}
-\renewcommand{\descriptionlabel}[1]{\hspace\labelsep \upshape\bfseries #1}
+\renewcommand{\descriptionlabel}[1]{\upshape\bfseries #1}
% \end{macrocode}
%
% \end{macro}
%
%
% \begin{macro}{\description}
+% \changes{v1.37}{2017/05/13}{Reduce list indentation (Matthew Fluet)}%
% \changes{v1.17}{2016/07/07}{Decreased indent}
-% AMS uses additional indent of 6pt. Frank recommends
-% dropping it.
+% Make |description| environment indentation consistent with that of
+% |itemize| and |enumerate| environments.
% \begin{macrocode}
\renewenvironment{description}{\list{}{%
- \itemindent-12\p@
- \labelwidth\z@ \let\makelabel\descriptionlabel}%
+ \labelwidth\@ACM@labelwidth
+ \let\makelabel\descriptionlabel}%
}{
\endlist
}
@@ -2767,6 +2882,7 @@ Computing Machinery]
% \changes{v1.24}{2016/11/16}{Add IMWUT journal option}
% \changes{v1.25}{2016/12/03}{Updated PACMPL}
% \changes{v1.30}{2017/02/15}{Updated IMWUT and PACMPL}
+% \changes{v1.36}{2017/05/13}{Added PACMHCI journal options}
%
% We use keyval interface to define journal title and relevant
% information
@@ -2781,6 +2897,7 @@ Computing Machinery]
JERIC,%
JETC,%
JOCCH,%
+ PACMHCI,%
PACMPL,%
POMACS,%
TAAS,%
@@ -2860,6 +2977,10 @@ Computing Machinery]
\or % JOCCH
\def\@journalName{ACM Journal on Computing and Cultural Heritage}%
\def\@journalName{ACM J. Comput. Cult. Herit.}%
+\or % PACMHCI
+ \def\@journalName{Proceedings of the ACM on Human-Computer Interaction}%
+ \def\@journalName{Proc. ACM Hum.-Comput. Interact.}%
+ \def\@permissionCodeOne{2573-0142}%
\or % PACMPL
\def\@journalName{Proceedings of the ACM on Programming Languages}%
\def\@journalName{Proc. ACM Program. Lang.}%
@@ -3269,7 +3390,7 @@ Computing Machinery]
% \begin{macrocode}
\def\authornote#1{%
\if@ACM@anonymous\else
- \g@addto@macro\addresses{\@authornotemark}
+ \g@addto@macro\addresses{\@authornotemark}%
\g@addto@macro\@authornotes{%
\stepcounter{footnote}\footnotetext{#1}}%
\fi}
@@ -3277,6 +3398,20 @@ Computing Machinery]
%
% \end{macro}
%
+% \begin{macro}{\authornotemark}
+% \changes{v1.39}{2017/05/14}{Added macro}
+% Adding footnotemark to authors
+% \begin{macrocode}
+\newcommand\authornotemark[1][\relax]{%
+ \ifx#1\relax\relax\relax
+ \g@addto@macro\addresses{\@authornotemark}%
+ \else
+ \g@addto@macro\addresses{\@@authornotemark{#1}}%
+ \fi}
+% \end{macrocode}
+%
+% \end{macro}
+%
% \begin{macro}{\acmVolume}
% \changes{v1.17}{2016/07/10}{The default is now numerical}
% The current volume
@@ -3560,6 +3695,18 @@ Computing Machinery]
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\@ACM@authorsperrow}
+% \changes{v1.36}{2017/05/13}{Added macro}
+% The number of authors per row. 0 means use default algorithm.
+% \begin{macrocode}
+\define@cmdkey{@ACM@topmatter@}[@ACM@]{authorsperrow}[0]{%
+ \IfInteger{#1}{\ClassInfo{\@classname}{Setting authorsperrow to
+ #1}}{\ClassWarning{\@classname}{Parameter authorsperrow must be
+ numerical. Ignoring the input #1}\gdef\@ACM@authorsperrow{0}}}
+% \end{macrocode}
+%
+% \end{macro}
+%
% \begin{macro}{\settopmatter}
% The usual syntactic sugar
% \begin{macrocode}
@@ -3583,6 +3730,7 @@ Computing Machinery]
\settopmatter{printfolios=false}
\fi
\fi
+\settopmatter{authorsperrow=0}
% \end{macrocode}
%
% \begin{macro}{\@received}
@@ -4658,6 +4806,7 @@ Computing Machinery]
% \begin{macro}{\@mkauthors@iii}
% \changes{v1.15}{2016/07/04}{New authors system}
% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
+% \changes{v1.36}{2017/05/12}{Added authorsperrow overrride}
% The |sigconf| version. Here we use centered design with each
% author in a separate box.
% \begin{macrocode}
@@ -4671,17 +4820,21 @@ Computing Machinery]
% \begin{macrocode}
\author@bx@wd=\textwidth\relax
\advance\author@bx@wd by -\author@bx@sep\relax
- \ifcase\num@authorgroups
- \relax % 0?
- \or % 1=one author per row
- \or % 2=two authors per row
- \divide\author@bx@wd by \num@authorgroups\relax
- \or % 3=three authors per row
- \divide\author@bx@wd by \num@authorgroups\relax
- \or % 4=two authors per row (!)
- \divide\author@bx@wd by 2\relax
- \else % three authors per row
- \divide\author@bx@wd by 3\relax
+ \ifnum\@ACM@authorsperrow>0\relax
+ \divide\author@bx@wd by \@ACM@authorsperrow\relax
+ \else
+ \ifcase\num@authorgroups
+ \relax % 0?
+ \or % 1=one author per row
+ \or % 2=two authors per row
+ \divide\author@bx@wd by \num@authorgroups\relax
+ \or % 3=three authors per row
+ \divide\author@bx@wd by \num@authorgroups\relax
+ \or % 4=two authors per row (!)
+ \divide\author@bx@wd by 2\relax
+ \else % three authors per row
+ \divide\author@bx@wd by 3\relax
+ \fi
\fi
\advance\author@bx@wd by -\author@bx@sep\relax
% \end{macrocode}
@@ -4726,8 +4879,10 @@ Computing Machinery]
%
% \begin{macro}{\@mkauthors@iv}
% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
+% \changes{v1.36}{2017/05/12}{Added authorsperrow overrride}
% The |sigchia| version. Now we put
-% authors in the main text, and no more than 2 authors per line.
+% authors in the main text, and no more than 2 authors per line,
+% unless overriden.
% \begin{macrocode}
\def\@mkauthors@iv{%
% \end{macrocode}
@@ -4739,11 +4894,15 @@ Computing Machinery]
% \begin{macrocode}
\author@bx@wd=\columnwidth\relax
\advance\author@bx@wd by -\author@bx@sep\relax
- \ifcase\num@authorgroups
- \relax % 0?
- \or % 1=one author per row
- \else % 2=two authors per row
- \divide\author@bx@wd by 2\relax
+ \ifnum\@ACM@authorsperrow>0\relax
+ \divide\author@bx@wd by \@ACM@authorsperrow\relax
+ \else
+ \ifcase\num@authorgroups
+ \relax % 0?
+ \or % 1=one author per row
+ \else % 2=two authors per row
+ \divide\author@bx@wd by 2\relax
+ \fi
\fi
\advance\author@bx@wd by -\author@bx@sep\relax
% \end{macrocode}
@@ -4785,13 +4944,23 @@ Computing Machinery]
% \end{macro}
%
% \begin{macro}{\@authornotemark}
-% Adding footnotemark to authors
+% Adding footnotemark to authors. This version adds ``normal''
+% footnotemark.
% \begin{macrocode}
-\def\@authornotemark{\g@addto@macro\@currentauthors{\footnotemark}}
+\def\@authornotemark{\g@addto@macro\@currentauthors{\footnotemark\relax}}
% \end{macrocode}
%
% \end{macro}
%
+% \begin{macro}{\@@authornotemark}
+% \changes{v1.39}{2017/05/14}{Added macro}
+% Adding footnotemark to authors with the given number
+% \begin{macrocode}
+\def\@@authornotemark#1{\g@addto@macro\@currentauthors{\footnotemark[#1]}}
+% \end{macrocode}
+%
+% \end{macro}
+%
% \begin{macro}{\@mkteasers}
% Typesetting teasers
% \begin{macrocode}