summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/acmart
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-07-14 21:38:03 +0000
committerKarl Berry <karl@freefriends.org>2016-07-14 21:38:03 +0000
commit3502b6b709295037d367cdd7ccd0795f027d095f (patch)
tree378cd0cb3210b1605119b372e5fdb0fd61a757dc /Master/texmf-dist/source/latex/acmart
parent143b84ee95f867427cf0e0d1895a194c9e7f6f35 (diff)
acmart (14jul16)
git-svn-id: svn://tug.org/texlive/trunk@41692 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/acmart')
-rw-r--r--Master/texmf-dist/source/latex/acmart/acmart.dtx982
1 files changed, 703 insertions, 279 deletions
diff --git a/Master/texmf-dist/source/latex/acmart/acmart.dtx b/Master/texmf-dist/source/latex/acmart/acmart.dtx
index 3500b5c3269..46a8f4e8f5c 100644
--- a/Master/texmf-dist/source/latex/acmart/acmart.dtx
+++ b/Master/texmf-dist/source/latex/acmart/acmart.dtx
@@ -263,7 +263,7 @@
% review & false & A review version: lines are numbered,
% hyperlinks are colored\\
% screen & false & A screen version: hyperlinks are colored\\
-% natbib & & Whether to use |natbib| package (see
+% natbib & true & Whether to use |natbib| package (see
% Section~\ref{sec:ug_bibliography})\\
% anonymous & false & Whether to make author(s) anonymous\\
% authorversion & false & Whether to generate a special
@@ -413,37 +413,126 @@
% Besides title, ACM classes allow subtitle, set with the
% \cs{subtitle}\marg{subtitle} macro.
%
+% The commands for specification of authors are highly structured.
+% The reason is, they serve double duty: the authors' information is
+% typeset in the manuscript, \emph{and} is used by the metadata
+% extraction tools for indexing and cataloguing. Therefore it is very
+% important to follow the guidelines exactly.
+%
% \DescribeMacro{\author}%
+% \DescribeMacro{\orcid}
% \DescribeMacro{\affiliation}%
% \DescribeMacro{\email}%
-% The interface for specifying the authors and their affiliations is
-% close the the one of \progname{amsart}~\cite{instr-l} (and different
-% from the standard \LaTeX). For each author a separate command
-% |\author| should be used, followed by |\affliation| and |\email|.
-% If several authors share affiliations, in journal formats like
-% |acmsmall| or |acmlarge| one may put the
-% affiliation after all these authors, for example:
+% The basic commands are \cs{author}, \cs{orcid} (for the researchers
+% registered with ORCID, \url{http://www.orcid.org/}), \cs{affiliation} and
+% \cs{email}. In the simplest case you enter them in this order:
% \begin{verbatim}
-% \author{A. U. Thor}
-% \email{author@nsw.au.edu}
-% \affiliation{University of New South Wales}
-% \author{A. N. Other}
-% \author{C. O. Respondent}
-% \affiliation{University of Pennsylvania}
+% \author{...}
+% \orcid{...}
+% \affiliation{...}
+% \email{...}
% \end{verbatim}
-% In the cases of overlapping affiliations it is advisable to repeat
-% the full list, for example,
+% Do \emph{not} use \LaTeX\ \cs{and} macro! Each author deserves
+% his or her own \cs{author} command.
+%
+% Note that some formats do not typset e-mails of ORCID identifiers.
+% Do now worry: metadata tools will get them.
+%
+% Sometimes an author has several affiliations. In this case the
+% \cs{affiliation} command should be repeated:
+% \begin{verbatim}
+% \author{...}
+% \orcid{...}
+% \affiliation{...}
+% \affiliation{...}
+% \email{...}
+% \end{verbatim}
+% Similarly you can repeat \cs{email} command.
+%
+% You may have several authors with the same afifliation, different
+% affiliations or overlapping affiliations (author~$A_1$ is affiliated
+% with institutions $I_1$ and $I_2$, while author $A_2$ is affiliated
+% with $I_2$ only, and author $A_3$ is affiliated with
+% $I_1$ and $I_3$, \ldots). The recommended solution is to put the
+% \cs{affiliation} commands after each author, possibly repeating them:
+% \begin{verbatim}
+% \author{...}
+% \orcid{...}
+% \affiliation{...}
+% \affiliation{...}
+% \email{...}
+% \author{...}
+% \orcid{...}
+% \affiliation{...}
+% \email{...}
+% \author{...}
+% \orcid{...}
+% \affiliation{...}
+% \affiliation{...}
+% \email{...}
+% \end{verbatim}
+% In some cases when several authors share the same affiliation you may
+% try to save the space using the format
+% \begin{verbatim}
+% \author{...}
+% \email{...}
+% \author{...}
+% \email{...}
+% \affiliation{...}
+% \end{verbatim}
+% However, this format is not generally recommended.
+%
+% \DescribeMacro{\position}%
+% \DescribeMacro{\institution}%
+% \DescribeMacro{\department}%
+% \DescribeMacro{\streetaddress}%
+% \DescribeMacro{\city}%
+% \DescribeMacro{\state}%
+% \DescribeMacro{\postcode}%
+% \DescribeMacro{\country}%
+% The \cs{affiliation} command is further structured to interact with
+% the metadata extraction tools. Inside the this command you should
+% use \cs{position}, \cs{institution}, \cs{department}, \cs{city},
+% \cs{streetaddress}, \cs{state}, \cs{postcode} and \cs{country}
+% macros to indicate the corresponding parts of the affiliation.
+% Note that in some cases (for example, journals) these parts are not
+% printed in the resulting copy, but they \emph{are} necessary since
+% they are used by the XML metadata extraction programs. Do
+% \emph{not} put commas or |\\| between the elements of
+% \cs{affiliation}: they will be provided automatically.
+%
+% An example of the author block:
% \begin{verbatim}
% \author{A. U. Thor}
-% \affiliation{University of New South Wales, Australia}
-% \email{author@nsw.edu.au}
+% \orcid{1234-4564-1234-4565}
+% \affiliation{%
+% \institution{University of New South Wales}
+% \department{School of Biomedical Engineering}
+% \streetaddress{Samuels Building (F25), Kensington Campus}
+% \city{Sidney}
+% \state{NSW}
+% \postcode{2052}
+% \country{Australia}}
+% \email{author@nsw.au.edu}
% \author{A. N. Other}
-% \affiliation{University of Pennsylvania, USA and University of New South
-% Wales, Australia}
-% \email{other@upenn.edu}
+% \affiliation{%
+% \institution{University of New South Wales}
+% \city{Sidney}
+% \state{NSW}
+% \country{Australia}}
+% \author{C. O. Respondent}
+% \orcid{1234-4565-4564-1234}
+% \affiliation{%
+% \institution{University of Pennsylvania}
+% \city{Philadelphia}
+% \state{PA}
+% \country{USA}}
+% \affiliation{%
+% \institution{University of New South Wales}
+% \city{Sidney}
+% \state{NSW}
+% \country{Australia}}
% \end{verbatim}
-% For \emph{conferences} the affiliations should \emph{always} be
-% repeated, even if they are shared between the authors.
%
% Note that old ACM conference formats did not allow for more than six
% authors and required some efforts from the authors to achieve
@@ -719,7 +808,7 @@
% settings and their meanings are listed in
% Table~\ref{tab:settopmatter}. For example,
% \begin{verbatim}
-% \settopmatter{printbib=false, printccs=true}
+% \settopmatter{printacmref=false, printccs=true, printfolios=true}
% \end{verbatim}
%
%
@@ -732,8 +821,9 @@
% Parameter & Values & Meaning\\
% \midrule
% printccs & true/false & Whether to print CCS categories\\
-% printbib & true/false & Whether to print ACM bibliographic
+% printacmref & true/false & Whether to print ACM bibliographic
% entry\\
+% printfolios & true/false & Whether to print page numbers (folios)\\
% \bottomrule
% \end{tabularx}
% \end{table}
@@ -891,6 +981,8 @@
%
%
%
+%
+%
%\subsection{Online-only and offline-only material}
%\label{sec:ug_screen}
%
@@ -912,10 +1004,11 @@
% \begin{screenonly}
% (The actual section).
% \end{screenonly}
-%
% \end{verbatim}
%
-%
+% We use \textsl{comment} package for typesetting this code, so
+% |\begin| and |\end| should start at the first positions of the lines
+% of their own (no initial spaces etc.).
%
%\subsection{Note about anonymous mode}
%\label{sec:ug_anonymous}
@@ -924,51 +1017,100 @@
% When the option |anonymous| is selected, \TeX\ suppresses author
% information (including number of authors) for a blind review.
% However, sometimes the information identifying the authors may be
-% present in the body of the paper, for example, in the
-% acknowledgements. The environment |anonsuppress| is used to
-% suppress such information, for example
+% present in the body of the paper
% \begin{verbatim}
-% \section*{Acknowledgements}
% \begin{anonsuppress}
-% The authors wish to thank Prof. C.~O.~Lleague for her generous
-% advices and the Society for Development of Oort Cloud for the
-% financial support.
+% This is the continuation of the previous work by the author
+% \cite{prev1, prev2}.
% \end{anonsuppress}
% \end{verbatim}
+%
+% As for |printonly| and |screenonly| environments,
+% |\begin{anonsuppress}| and |\end{anonsuppress}| should start the
+% line of their own (no leading or trailing spaces).
+%
+%\subsection{Acknowledgments}
+%\label{sec:ug_acks}
+%
+% The traditional ``Acknowledgments'' section is conventionally used
+% to thank persons and granting agencies for their help and support.
+% However, there are several important considerations about this
+% section.
+%
+% First, in the anonymous mode this section must be omitted: it gives
+% too much information to the reviewers. Second, the data about
+% the grants is extracted and stored separately by the postprocessing
+% software. ACM classes provide facilities for both these tasks.
+%
+% \DescribeEnv{acks}%
+% The environment |acks| starts an unnumbered section
+% ``Acknowledgments'' unless the anonymous mode is chosen. Put all
+% thanks inside this environment.
+%
+% As for |printonly| and |screenonly| environments,
+% |\begin{acks}| and |\end{acls}| should start the
+% line of their own (no leading or trailing spaces).
+
+%
+% \DescribeMacro{\grantsponsor}%
+% \DescribeMacro{\grantnum}%
+% All the financial support \emph{must} be listed using the commands
+% \cs{grantsponsor} and \cs{grantnum}. These commands tell the
+% postprocessing software about the granting organization and the
+% grant. The format of the command is the following:
+% \begin{quote}
+% \cs{grantsponsor}\marg{sponsorID}\marg{name}\marg{url}\\
+% \cs{grantnum}\oarg{url}\marg{sponsorID}\marg{number}.
+% \end{quote}
+% Here \marg{sponsorID} is the unique ID used to match grants to
+% sponsors, \marg{name} is the name of the sponsor, \marg{url} is its
+% URL, and \marg{number} is the grant number. The \marg{sponsorID} of
+% the \cs{grantnum} command must correspond to \cs{sponsorID} of a
+% \cs{grantsponsor command}. Some awards have their own web pages,
+% which you can include using the optional argument of \cs{grantnum}
+% command.
+%
+% Example:
+% \begin{verbatim}
+% \begin{acks}
+% The authors would like to thank Dr. Yuhua Li for providing the
+% matlab code of the \textit{BEPS} method.
+%
+% The authors would also like to thank the anonymous referees for
+% their valuable comments and helpful suggestions. The work is
+% supported by the \grantsponsor{GS501100001809}{National Natural
+% Science Foundation of
+% China}{http://dx.doi.org/10.13039/501100001809} under Grant
+% No.:~\grantnum{GS501100001809}{61273304}
+% and~\grantnum[http://www.nnsf.cn/youngscientsts]{GS501100001809}{Young
+% Scientsts' Support Program}.
+% \end{acks}
+% \end{verbatim}
%
%
%\subsection{Bibliography}
%\label{sec:ug_bibliography}
%
-% At present some formats use \textsl{natbib} package by default,
-% while some are not compatible with \textsl{natbib}. Table
-%
-% \begin{table}
-% \caption{Bibliography styles used by different formats}
-% \label{tab:bst}
-% \begin{tabularx}{\textwidth}{l<{\ttfamily}lX<{\raggedright}l}
-% \toprule
-% \normalfont Format & \textsl{natbib} use & Bibliography style &
-% Citaton format\\
-% \midrule
-% manuscript & Yes & ACM-Reference-Format-Journals & Author/year\\
-% acmsmall & Yes & ACM-Reference-Format-Journals & Author/year\\
-% acmlarge & Yes & ACM-Reference-Format-Journals & Author/year\\
-% acmtog & Yes & ACM-Reference-Format-Journals & Author/year\\
-% sigconf & No & acm-abbrv, acm-alpha, acm-plain or acm-unsrt &
-% Numeric or alpha \\
-% siggraph & No & acmsiggraph & Author/year \\
-% sigplan & Yes & ACM-Reference-Format-Journals & Author/year \\
-% sigchi & No & SIGCHI-Reference-Format & Numeric\\
-% sigchi-a & No & SIGCHI-Reference-Format & Numeric \\
-% \bottomrule
-% \end{tabularx}
-% \end{table}
+% ACM uses \textsl{natbib} package for formatting of referencing ant
+% the style \path{ACM-Reference-Format.bst} for Bib\TeX\
+% processing. You may disable loading of \textsl{natbib} by using the
+% option |natbib=false| in \cs{documentclass}. However, it is not
+% recommended, as well as the use of Bib\TeX\ styles other than
+% \path{ACM-Reference-Format.bst}, and may delay the processing of the
+% manuscript.
+%
%
-% Usually when you select a format, \LaTeX\ automatically determines
-% whether you need \textsl{natbib} and the required settings.
-% However, you can ovveride these decision by manually setting the
-% option |natbib| to |true| or |false|. You may further customize
+% \DescribeMacro{\citestyle}%
+% If you use |natbib|, you can select one of two predefined sitation
+% styles: the author-year format |acmauthoryear| or the numeric
+% format |acmnumeric| using the command \cs{sitestyle}, for example,
+% \begin{verbatim}
+% \citestyle{acmauthoryear}
+% \end{verbatim}
+% Note that numeric citations are the default mode for most formats.
+%
+% \DescribeMacro{\setcitestyle}%
+% You may further customize
% \textsl{natbib} using \cs{setcitestyle} command, for example,
% \begin{verbatim}
% \setcitestyle{numbers,sort&compress}
@@ -1037,7 +1179,7 @@
\ProvidesFile{acmart.dtx}
%</gobble>
%<class>\ProvidesClass{acmart}
-[2016/05/30 v1.12 Typesetting articles for Association of
+[2016/07/12 v1.18 Typesetting articles for Association of
Computing Machinery]
% \end{macrocode}
%
@@ -1065,6 +1207,11 @@ Computing Machinery]
% \changes{v1.11}{2016/05/27}{Customization of ACM theorem styles and
% proof environment by Matthew Fluet}
% \changes{v1.12}{2016/05/30}{Documentation updates}
+% \changes{v1.14}{2016/06/09}{\cs{citestyle} updates (Matthew Fluet)}
+% \changes{v1.16}{2016/07/07}{Formatting header/footer (Matthew
+% Fluet)}
+% \changes{v1.18}{2016/07/10}{Natbib is now the default for all
+% formats}
%
%
% And the driver code:
@@ -1300,26 +1447,7 @@ Computing Machinery]
% overrode format's selection):
% \begin{macrocode}
\if@ACM@natbib@override\else
- \ifcase\ACM@format@nr
- \relax % manuscript
- \@ACM@natbibtrue
- \or % acmsmall
- \@ACM@natbibtrue
- \or % acmlarge
\@ACM@natbibtrue
- \or % acmtog
- \@ACM@natbibtrue
- \or % sigconf
- \@ACM@natbibfalse
- \or % siggraph
- \@ACM@natbibfalse
- \or % sigplan
- \@ACM@natbibtrue
- \or % sigchi
- \@ACM@natbibfalse
- \or % sigchi-a
- \@ACM@natbibfalse
- \fi
\fi
% \end{macrocode}
%
@@ -1327,6 +1455,8 @@ Computing Machinery]
%\subsection{Loading base class and package}
%\label{sec:loading}
%
+% \changes{v1.13}{2016/06/06}{Increased font size for ACM Large}
+%
%
% At this point we either have \cs{ACM@fontsize}, or use defaults
% \begin{macrocode}
@@ -1337,7 +1467,7 @@ Computing Machinery]
\or % acmsmall
\def\ACM@fontsize{10pt}%
\or % acmlarge
- \def\ACM@fontsize{9pt}%
+ \def\ACM@fontsize{10pt}%
\or % acmtog
\def\ACM@fontsize{9pt}%
\or % sigconf
@@ -1377,8 +1507,10 @@ Computing Machinery]
\fi
% \end{macrocode}
%
+% \changes{v1.14}{2016/06/09}{Patched \cs{citestyle}}
% Citations. We patch \cs{setcitestyle} to allow, e.g.,
-% \cs{setcitestyle}|{sort}| and \cs{setcitestyle}|{nosort}|
+% \cs{setcitestyle}|{sort}| and \cs{setcitestyle}|{nosort}|. We patch
+% \cs{citestyle} to warn about undefined citation styles.
% \begin{macrocode}
\if@ACM@natbib
\RequirePackage{natbib}
@@ -1448,13 +1580,53 @@ Computing Machinery]
}%
\NAT@@setcites
}
- \setcitestyle{%
- open={[},close={]},citesep={;},%
- authoryear,aysep={},yysep={,},%
- notesep={, }}
+ \renewcommand\citestyle[1]{%
+ \ifcsname bibstyle@#1\endcsname%
+ \csname bibstyle@#1\endcsname\let\bibstyle\@gobble%
+ \else%
+ \@latex@error{Undefined `#1' citestyle}%
+ \fi
+ }%
\fi
% \end{macrocode}
%
+% \begin{macro}{\bibstyle@acmauthoryear}
+% \changes{v1.13}{2016/06/06}{Added macro}
+% \changes{v1.14}{2016/06/09}{Moved def of \cs{bibstyle@acmauthoryear}
+% before use}
+% The default author-year format:
+% \begin{macrocode}
+\newcommand{\bibstyle@acmauthoryear}{%
+ \setcitestyle{%
+ authoryear,%
+ open={(},close={)},citesep={;},%
+ aysep={},yysep={,},%
+ notesep={, }}}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\bibstyle@acmnumeric}
+% \changes{v1.13}{2016/06/06}{Added macro}
+% \changes{v1.14}{2016/06/09}{Moved def of \cs{bibstyle@numeric}
+% before use}
+% The default numeric format:
+% \begin{macrocode}
+\newcommand{\bibstyle@acmnumeric}{%
+ \setcitestyle{%
+ numbers,sort&compress,%
+ open={[},close={]},citesep={,},%
+ notesep={, }}}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% The default is numeric:
+% \begin{macrocode}
+\citestyle{acmnumeric}
+% \end{macrocode}
+%
+%
% Before we call |hyperref|, we redefine \cs{startsection} commands to
% their \LaTeX\ defaults, since |amsart| ones are too AMS-specific.
% We need to do this early since we want |hyperref| to have a chance
@@ -1578,7 +1750,7 @@ Computing Machinery]
\fi
% \end{macrocode}
%
-% Bibliography mangling. Siggraph does not want the label.
+% Bibliography mangling.
% \begin{macrocode}
\if@ACM@natbib
\let\citeN\cite
@@ -1591,45 +1763,31 @@ Computing Machinery]
\def\shortcite#1{\citeyear{#1}}
\DeclareRobustCommand\citeA
{\begingroup\NAT@swafalse
- \let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}
- \providecommand\newblock{}
+ \let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}%
+ \providecommand\newblock{}%
\else
\providecommand\citename[1]{#1}
\fi
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-\or % acmlarge
-\or % acmtog
-\or % sigconf
-\or % siggraph
- \def\@biblabel#1{}
- \ifx\bibhang\@undefined
- \newlength\bibhang
- \fi
- \setlength{\bibhang}{1em}
- \renewenvironment{thebibliography}[1]{%
- \@bibtitlestyle
- \normalfont\bibliofont\labelsep .5em\relax
- \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty
- \list{\@biblabel{\theenumiv}}{\labelwidth\z@
- \setlength{\itemindent}{-\bibhang}%
- \setlength{\leftmargin}{\bibhang}%
- \labelsep\z@
- \def\newblock{\hskip .11em plus .33em minus .07em}%
- \usecounter{enumiv}}%
- \sloppy \clubpenalty\@M \widowpenalty\clubpenalty
- \sfcode`\.=\@m
- }{%
- \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
- \endlist
- }
-\or % sigplan
-\or % sigchi
-\or % sigchi-a
-\fi
% \end{macrocode}
%
+%
+% \begin{macro}{\bibliographystyle}
+% \changes{v1.13}{2016/06/06}{Redefined macro}
+% Amsart redefines \cs{bibliographystyle} since it prefers AMS
+% bibliography. We turn it back to \LaTeX\ definition:
+% \begin{macrocode}
+\def\bibliographystyle#1{%
+ \ifx\@begindocumenthook\@undefined\else
+ \expandafter\AtBeginDocument
+ \fi
+ {\if@filesw
+ \immediate\write\@auxout{\string\bibstyle{#1}}%
+ \fi}}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
% Graphics and color
% \begin{macrocode}
\RequirePackage{graphicx, xcolor}
@@ -1651,6 +1809,7 @@ Computing Machinery]
%\subsection{Paper size and paragraphing}
%\label{sec:paper}
%
+% \changes{v1.17}{2016/07/07}{Slightly decreased margins for sigs}
% We use |geometry| for dimensions
% \begin{macrocode}
\RequirePackage{geometry}
@@ -1679,13 +1838,13 @@ Computing Machinery]
\geometry{twoside=true, head=1pc,
paperwidth=8.5in, paperheight=11in,
includeheadfoot, columnsep=2pc,
- top=57pt, bottom=75pt, inner=54pt, outer=57pt
+ top=57pt, bottom=73pt, inner=54pt, outer=54pt
}%
\or % siggraph
\geometry{twoside=true, head=1pc,
paperwidth=8.5in, paperheight=11in,
includeheadfoot, columnsep=2pc,
- top=57pt, bottom=75pt, inner=54pt, outer=57pt
+ top=57pt, bottom=73pt, inner=54pt, outer=54pt
}%
\or % sigplan
\geometry{twoside=true, head=1pc,
@@ -1697,7 +1856,7 @@ Computing Machinery]
\geometry{twoside=true, head=1pc,
paperwidth=8.5in, paperheight=11in,
includeheadfoot, columnsep=2pc,
- top=66pt, bottom=78pt, inner=54pt, outer=48pt
+ top=66pt, bottom=73pt, inner=54pt, outer=54pt
}%
\or % sigchi-a
\geometry{twoside=false, head=1pc,
@@ -1785,7 +1944,6 @@ Computing Machinery]
\color@endgroup
\egroup
\expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}}
-
% \end{macrocode}
%
% \end{macro}
@@ -1817,6 +1975,36 @@ Computing Machinery]
%
% \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}
+%
%\subsection{Fonts}
%\label{sec:fonts}
%
@@ -2038,6 +2226,24 @@ Computing Machinery]
%
% \end{macro}
%
+%
+% \begin{macro}{\description}
+% \changes{v1.17}{2016/07/07}{Decreased indent}
+% AMS uses additional indent of 6pt. Frank recommends
+% dropping it.
+% \begin{macrocode}
+\renewenvironment{description}{\list{}{%
+ \itemindent-12\p@
+ \labelwidth\z@ \let\makelabel\descriptionlabel}%
+}{
+ \endlist
+}
+\let\enddescription=\endlist % for efficiency
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
%\subsection{Top matter data}
%\label{sec:top_matter_data}
%
@@ -2292,6 +2498,7 @@ Computing Machinery]
%
% The defaults:
% \begin{macrocode}
+\def\@journalCode@nr{0}
\def\@journalName{}%
\def\@journalNameShort{\@journalName}%
\def\@permissionCodeOne{XXXX-XX}%
@@ -2326,20 +2533,33 @@ Computing Machinery]
% \end{macro}
%
%
-% \begin{macro}{\num@authors}
-% The total number of authors
+% \begin{macro}{\num@authorgroups}
+% \changes{v1.15}{2016/06/25}{Renamed}
+% The total number of ``groups''. Each group is several authors with
+% the same affiliations(s)
% \begin{macrocode}
-\newcount\num@authors
-\num@authors=0\relax
+\newcount\num@authorgroups
+\num@authorgroups=0\relax
% \end{macrocode}
%
% \end{macro}
%
+% \begin{macro}{\if@insideauthorgroup}
+% \changes{v1.15}{2016/06/25}{Introduced macro}
+% Whether we are continuing an author group
+\newif\if@insideauthorgroup
+\@insideauthorgroupfalse
+% \end{macro}
+%
% \begin{macro}{\author}
+% \changes{v1.15}{2016/06/25}{Added code for author groups}
% Adding an author to the list of authors and addresses
% \begin{macrocode}
\renewcommand\author[2][]{%
- \global\advance\num@authors by 1\relax
+ \if@insideauthorgroup\else
+ \global\advance\num@authorgroups by 1\relax
+ \global\@insideauthorgrouptrue
+ \fi
\ifx\addresses\@empty
\if@ACM@anonymous
\gdef\addresses{\@author{Anonymous Author(s)}}%
@@ -2380,11 +2600,13 @@ Computing Machinery]
%
%
% \begin{macro}{\affiliation}
+% \changes{v1.15}{2016/06/25}{Added code for author groups}
% The macro \cs{affiliation} mimics \cs{address} from |amsart|.
% Note that it has an optional argument we do not currently need,
% but keep for the possible future use.
% \begin{macrocode}
\newcommand{\affiliation}[2][]{%
+ \global\@insideauthorgroupfalse
\if@ACM@anonymous\else
\g@addto@macro\addresses{\affiliation{#1}{#2}}%
\fi}
@@ -2405,6 +2627,12 @@ Computing Machinery]
%
% \end{macro}
%
+% \begin{macro}{\orcid}
+% \changes{v1.15}{2016/06/25}{Introduced macro}
+% Right now we do not typeset orcids
+\let\orcid\@gobble
+% \end{macro}
+%
% \begin{macro}{\@titlenotes}
% The titlenotes
% \begin{macrocode}
@@ -2475,28 +2703,31 @@ Computing Machinery]
% \end{macro}
%
% \begin{macro}{\acmVolume}
+% \changes{v1.17}{2016/07/10}{The default is now numerical}
% The current volume
% \begin{macrocode}
\def\acmVolume#1{\def\@acmVolume{#1}}
-\acmVolume{VV}
+\acmVolume{1}
% \end{macrocode}
%
% \end{macro}
%
% \begin{macro}{\acmNumber}
+% \changes{v1.17}{2016/07/10}{The default is now numerical}
% The current number
% \begin{macrocode}
\def\acmNumber#1{\def\@acmNumber{#1}}
-\acmNumber{NNN}
+\acmNumber{1}
% \end{macrocode}
%
% \end{macro}
%
% \begin{macro}{\acmArticle}
+% \changes{v1.17}{2016/07/10}{The default is now numerical}
% The current article
% \begin{macrocode}
\def\acmArticle#1{\def\@acmArticle{#1}}
-\acmArticle{AA}
+\acmArticle{1}
% \end{macrocode}
%
% \end{macro}
@@ -2512,19 +2743,21 @@ Computing Machinery]
% \end{macro}
%
% \begin{macro}{\acmYear}
+% \changes{v1.17}{2016/07/10}{The default is now numerical}
% The current year
% \begin{macrocode}
\def\acmYear#1{\def\@acmYear{#1}}
-\acmYear{YYYY}
+\acmYear{2016}
% \end{macrocode}
%
% \end{macro}
%
% \begin{macro}{\acmMonth}
+% \changes{v1.17}{2017/07/09}{The default must be numerical. Closes \#50.}
% The current month
% \begin{macrocode}
\def\acmMonth#1{\def\@acmMonth{#1}}
-\acmMonth{MM}
+\acmMonth{1}
% \end{macrocode}
%
% \end{macro}
@@ -2707,20 +2940,33 @@ Computing Machinery]
% \end{macrocode}
%
% \end{macro}
-% \begin{macro}{\if@ACM@printbib}
+% \begin{macro}{\if@ACM@printacmref}
+% \changes{v1.17}{2016/07/10}{Renamed from \cs{if@ACM@printbib}}
% Whether to print ACM bib
% \begin{macrocode}
-\define@boolkey+{@ACM@topmatter@}[@ACM@]{printbib}[true]{%
- \if@ACM@printcss
+\define@boolkey+{@ACM@topmatter@}[@ACM@]{printacmref}[true]{%
+ \if@ACM@printacmref
\ClassInfo{\@classname}{Printing bibformat}%
\else
\ClassInfo{\@classname}{Suppressing bibformat}%
- \fi}{\ClassError{\@classname}{printbib must be true or false}}
+ \fi}{\ClassError{\@classname}{printacmref must be true or false}}
% \end{macrocode}
%
% \end{macro}
%
-%
+% \begin{macro}{\if@ACM@printfolios}
+% \changes{v1.13}{2016/06/06}{Added macro}
+% Whether to print folios
+% \begin{macrocode}
+\define@boolkey+{@ACM@topmatter@}[@ACM@]{printfolios}[true]{%
+ \if@ACM@printfolios
+ \ClassInfo{\@classname}{Printing folios}%
+ \else
+ \ClassInfo{\@classname}{Suppressing folios}%
+ \fi}{\ClassError{\@classname}{printfolios must be true or false}}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\settopmatter}
% The usual syntactic sugar
% \begin{macrocode}
@@ -2730,16 +2976,18 @@ Computing Machinery]
% \end{macro}
%
%
+% \changes{v1.13}{2016/06/06}{Print bibliographic information by
+% default for the proceedings}
% Now the settings
% \begin{macrocode}
-\settopmatter{printcss=true}
+\settopmatter{printcss=true, printacmref=true}
\if@ACM@manuscript
- \settopmatter{printbib=false}
+ \settopmatter{printfolios=true}
\else
\if@ACM@journal
- \settopmatter{printbib=true}
+ \settopmatter{printfolios=true}
\else
- \settopmatter{printbib=false}
+ \settopmatter{printfolios=false}
\fi
\fi
% \end{macrocode}
@@ -3134,7 +3382,7 @@ Computing Machinery]
% \changes{v1.10}{2016/05/23}{Corrected a bug with doi in manuscript
% and author vertsion,
% \url{https://github.com/borisveytsman/acmart/issues/36}}
-% \changes{v1.12}{2016/05/30}{Moved thankses to copyrightpermission box.}
+% \changes{v1.12}{2016/05/30}{Moved thankses to copyrightpermission box}
% The (in)famous \cs{maketitle}. Note that in sigchi-a mode authors
% are \emph{not} in the title box.
%
@@ -3146,7 +3394,7 @@ Computing Machinery]
\def\maketitle{%
\if@ACM@anonymous
% Anonymize omission of \author-s
- \ifnum\num@authors=0\author{}\fi
+ \ifnum\num@authorgroups=0\author{}\fi
\fi
\begingroup
\let\@footnotemark\@footnotemark@nolink
@@ -3238,7 +3486,7 @@ Computing Machinery]
\andify\shortauthors
\global\let\authors=\authors
\global\let\shortauthors=\shortauthors
- \if@ACM@printbib
+ \if@ACM@printacmref
\@mkbibcitation
\fi
\hypersetup{pdfauthor={\authors},
@@ -3521,8 +3769,83 @@ Computing Machinery]
%
% \end{macro}
%
+% \begin{macro}{\@ACM@addtoaddress}
+% \changes{v1.15}{2016/07/03}{Added macro}
+% The macro adds an item to address using the following rules:
+% \begin{enumerate}
+% \item If we start a paragraph, add the item
+% \item Otherwise, add a comma and the item
+% \item However, the comma is deleted, if it is on the end of the
+% line. We use the magic cleaders trick for this.
+% \end{enumerate}
+% \begin{macrocode}
+\newbox\@ACM@commabox
+\def\@ACM@addtoaddress#1{%
+ \ifvmode\else
+ \setbox\@ACM@commabox=\hbox{, }%
+ \unskip\cleaders\copy\@ACM@commabox\hskip\wd\@ACM@commabox
+ \fi
+ #1}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\institution}
+% \changes{v1.15}{2016/07/03}{Added macro}
+% \begin{macro}{\position}
+% \changes{v1.15}{2016/07/03}{Added macro}
+% \begin{macro}{\department}
+% \changes{v1.15}{2016/07/03}{Added macro}
+% \begin{macro}{\streetaddress}
+% \changes{v1.15}{2016/07/03}{Added macro}
+% \begin{macro}{\city}
+% \changes{v1.15}{2016/07/03}{Added macro}
+% \begin{macro}{\state}
+% \changes{v1.15}{2016/07/03}{Added macro}
+% \begin{macro}{\postcode}
+% \changes{v1.15}{2016/07/03}{Added macro}
+% \begin{macro}{\country}
+% \changes{v1.15}{2016/07/03}{Added macro}
+% Theoretically we can define the macros for \cs{affiliation} inside
+% the \cs{@mkauthors}-style commands. However, this would lead to a
+% strange error if an author uses them outside \cs{affiliation}. Of
+% course we can make them produce an error message, but\ldots
+%
+% We follow the strange American tradtion of no comma before zip
+% code.
+% \begin{macrocode}
+\if@ACM@journal
+ \let\position\@gobble
+ \def\institution#1{#1\ignorespaces}%
+ \let\department\@gobble
+ \let\streetaddress\@gobble
+ \let\city\@gobble
+ \let\state\@gobble
+ \let\postcode\@gobble
+ \let\country\@gobble
+\else
+ \def\position#1{#1\par}%
+ \def\institution#1{#1\par}%
+ \def\department#1{#1\par}%
+ \def\streetaddress#1{#1\par}%
+ \let\city\@ACM@addtoaddress
+ \let\state\@ACM@addtoaddress
+ \def\postcode#1{\unskip\space#1}%
+ \let\country\@ACM@addtoaddress
+\fi
+% \end{macrocode}
+%
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@mkauthors}
+% \changes{v1.17}{2017/07/09}{TOG now uses the same authors block as
+% other journals}
% Typesetting authors
% \begin{macrocode}
\def\@mkauthors{\begingroup
@@ -3535,7 +3858,7 @@ Computing Machinery]
\or % acmlarge
\@mkauthors@i
\or % acmtog
- \@mkauthors@ii
+ \@mkauthors@i
\or % sigconf
\@mkauthors@iii
\or % siggraph
@@ -3569,11 +3892,14 @@ Computing Machinery]
% \end{macrocode}
% \end{macro}
%
+% \changes{v1.13}{2016/06/06}{Font adjustments for acmsmall}
% Adjusting fonts for different formats
% \begin{macrocode}
\ifcase\ACM@format@nr
\relax % manuscript
\or % acmsmall
+ \def\@authorfont{\large\sffamily}
+ \def\@affiliationfont{\small\normalfont}
\or % acmlarge
\or % acmtog
\def\@authorfont{\LARGE\sffamily}
@@ -3596,62 +3922,61 @@ Computing Machinery]
\fi
% \end{macrocode}
%
+% \begin{macro}{\@typeset@author@line}
+% \changes{v1.18}{2017/07/12}{Added macro}
+% At this point we have \cs{@currentauthors} and
+% \cs{@currentaffiliations}. We typeset them in the journal style
+% \begin{macrocode}
+\def\@typeset@author@line{%
+ \andify\@currentauthors\par\noindent
+ \@currentauthors\def\@currentauthors{}%
+ \ifx\@currentaffiliations\@empty\else
+ \andify\@currentaffiliations
+ \unskip, {\@currentaffiliations}\par
+ \fi
+ \def\@currentaffiliations{}}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
% \begin{macro}{\@mkauthors@i}
+% \changes{v1.18}{2017/07/12}{Now we andify affiliations}
% This is version used in most formats. Note that \cs{and} between
% authors with the same affiliation becomes \verb*| and |:
% \begin{macrocode}
\def\@mkauthors@i{%
\def\@currentauthors{}%
- \def\and{%
- \andify\@currentauthors\par\noindent
- \@currentauthors\def\@currentauthors{}}%
+ \def\@currentaffiliations{}%
+ \global\let\and\@typeset@author@line
\def\@author##1{%
\ifx\@currentauthors\@empty
\gdef\@currentauthors{\@authorfont\MakeUppercase{##1}}%
\else
\g@addto@macro{\@currentauthors}{\and\MakeUppercase{##1}}%
\fi
- \def\and{}}%
+ \gdef\and{}}%
\def\email##1##2{}%
\def\affiliation##1##2{%
- \ifx\@currentauthors\@empty\else
- \andify\@currentauthors\par\noindent\@currentauthors
+ \def\@tempa{##2}\ifx\@tempa\@empty\else
+ \ifx\@currentaffiliations\@empty
+ \gdef\@currentaffiliations{\@affiliationfont##2}%
+ \else
+ \g@addto@macro{\@currentaffiliations}{\and##2}%
+ \fi
\fi
- \def\@currentauthors{}\def\@tempa{##2}\ifx\@tempa\@empty\else
- \unskip, {\@affiliationfont##2}\fi\def\and{\par\noindent}}%
+ \global\let\and\@typeset@author@line}
\global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par\medskip
- \noindent\addresses\andify\@currentauthors\par\noindent\@currentauthors\par\medskip}%
+ \noindent\addresses\@typeset@author@line
+ \par\medskip}%
}
% \end{macrocode}
%
% \end{macro}
%
% \begin{macro}{\@mkauthors@ii}
-% This is version used in acmtog. A more vertical design
-% \begin{macrocode}
-\def\@mkauthors@ii{\par\medskip
- \def\@currentauthors{}%
- \def\and{}%
- \def\@author##1{%
- \ifx\@currentauthors\@empty
- \gdef\@currentauthors{\@authorfont
- \MakeUppercase{##1}}%
- \else
- \g@addto@macro{\@currentauthors}{\and\MakeUppercase{##1}}%
- \fi\def\and{}}%
- \def\email##1##2{}%
- \def\affiliation##1##2{%
- \ifx\@currentauthors\@empty\else
- \andify\@currentauthors\par\noindent\@currentauthors
- \fi
- \def\@currentauthors{}\def\@tempa{##2}\ifx\@tempa\@empty\else
- \par\noindent{\@affiliationfont##2}\fi
- \def\and{\par\noindent{\@affiliationfont and}\par
- \noindent\def\and{}}}%
- \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par\medskip
- \noindent\addresses\andify\@currentauthors\par\noindent\@currentauthors\par\medskip}%
-}
-% \end{macrocode}
+% \changes{v1.17}{2017/07/09}{Deleted}
+% \cs{@mkauthors@iI} was version used in acmtog. No longer necessary
%
% \end{macro}
%
@@ -3680,9 +4005,25 @@ Computing Machinery]
%
% \end{macro}
%
+% \begin{macro}{\@typeset@author@bx}
+% \changes{v1.15}{2016/07/04}{Moved to separate macro}
+% Typesetting the box with authors. Note that in SIGCHI-A the box
+% is not centered.
+% \begin{macrocode}
+\def\@typeset@author@bx{\bgroup\hsize=\author@bx@wd\def\and{\par}%
+ \global\setbox\author@bx=\vtop{\if@ACM@sigchiamode\else\centering\fi
+ \@authorfont\@currentauthors\par\@affiliationfont
+ \@currentaffiliation}\egroup
+ \box\author@bx\hspace{\author@bx@sep}%
+ \gdef\@currentauthors{}%
+ \gdef\@currentaffiliation{}}
+% \end{macrocode}
+%
+% \end{macro}
%
%
% \begin{macro}{\@mkauthors@iii}
+% \changes{v1.15}{2016/07/04}{New authors system}
% The |sigconf| version. Here we use centered design with each
% author in a separate box.
% \begin{macrocode}
@@ -3696,13 +4037,13 @@ Computing Machinery]
% \begin{macrocode}
\author@bx@wd=\textwidth\relax
\advance\author@bx@wd by -\author@bx@sep\relax
- \ifcase\num@authors
+ \ifcase\num@authorgroups
\relax % 0?
\or % 1=one author per row
\or % 2=two authors per row
- \divide\author@bx@wd by \num@authors\relax
+ \divide\author@bx@wd by \num@authorgroups\relax
\or % 3=three authors per row
- \divide\author@bx@wd by \num@authors\relax
+ \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
@@ -3717,8 +4058,9 @@ Computing Machinery]
\def\@author##1{\ifx\@currentauthors\@empty
\gdef\@currentauthors{\par##1}%
\else
- \g@addto@macro\@currentauthors{\quad##1}%
- \fi}%
+ \g@addto@macro\@currentauthors{\par##1}%
+ \fi
+ \gdef\and{}}%
\def\email##1##2{\ifx\@currentaffiliation\@empty
\gdef\@currentaffiliation{\nolinkurl{##2}}%
\else
@@ -3728,25 +4070,17 @@ Computing Machinery]
\gdef\@currentaffiliation{##2}%
\else
\g@addto@macro\@currentaffiliation{\par##2}%
- \fi}%
-% \end{macrocode}
-% Actual typesetting is done by \cs{and} macro
-% \begin{macrocode}
- \def\and{\bgroup\hsize=\author@bx@wd\def\and{\quad}%
- \global\setbox\author@bx=\vtop{\centering
- \@authorfont\@currentauthors\par\@affiliationfont
- \@currentaffiliation}\egroup
- \box\author@bx\hspace{\author@bx@sep}%
- \gdef\@currentauthors{}%
- \gdef\@currentaffiliation{}}%
+ \fi
+ \global\let\and\@typeset@author@bx
+}%
% \end{macrocode}
-% And here we use it:
+% Actual typesetting is done by \cs{and} macro:
% \begin{macrocode}
\hsize=\textwidth
\global\setbox\mktitle@bx=\vbox{\noindent
\box\mktitle@bx\par\medskip\leavevmode
\lineskip=1pc\relax\centering\hspace*{-1em}%
- \addresses\and\par\bigskip}}
+ \addresses\let\and\@typeset@author@bx\and\par\bigskip}}
% \end{macrocode}
%
% \end{macro}
@@ -3766,7 +4100,7 @@ Computing Machinery]
% \begin{macrocode}
\author@bx@wd=\columnwidth\relax
\advance\author@bx@wd by -\author@bx@sep\relax
- \ifcase\num@authors
+ \ifcase\num@authorgroups
\relax % 0?
\or % 1=one author per row
\else % 2=two authors per row
@@ -3781,8 +4115,9 @@ Computing Machinery]
\def\@author##1{\ifx\@currentauthors\@empty
\gdef\@currentauthors{\par##1}%
\else
- \g@addto@macro\@currentauthors{\quad##1}%
- \fi}%
+ \g@addto@macro\@currentauthors{\par##1}%
+ \fi
+ \gdef\and{}}%
\def\email##1##2{\ifx\@currentaffiliation\@empty
\gdef\@currentaffiliation{\nolinkurl{##2}}%
\else
@@ -3792,23 +4127,16 @@ Computing Machinery]
\gdef\@currentaffiliation{##2}%
\else
\g@addto@macro\@currentaffiliation{\par##2}%
- \fi}%
+ \fi
+ \global\let\and\@typeset@author@bx}%
+%
% \end{macrocode}
% Actual typesetting is done by \cs{and} macro
% \begin{macrocode}
- \def\and{\bgroup\hsize=\author@bx@wd\def\and{\quad}%
- \global\setbox\author@bx=\vtop{\raggedright
- \@authorfont\@currentauthors\par\@affiliationfont
- \@currentaffiliation}\egroup
- \box\author@bx\hskip\author@bx@sep
- \gdef\@currentauthors{}%
- \gdef\@currentaffiliation{}}%
-% \end{macrocode}
-% And here we use it:
-% \begin{macrocode}
\bgroup\hsize=\columnwidth
\par\raggedright\leftskip=\z@
- \lineskip=1pc\noindent\addresses\and\par\bigskip\egroup}
+ \lineskip=1pc\noindent
+ \addresses\let\and\@typeset@author@bx\and\par\bigskip\egroup}
% \end{macrocode}
%
% \end{macro}
@@ -3860,13 +4188,25 @@ Computing Machinery]
% \end{macro}
%
% \begin{macro}{\@mkbibcitation}
+% \changes{v1.17}{2016/07/10}{Changed format for sigs}
+% \changes{v1.17}{2016/07/10}{Added \cs{nobreak}}
% Print bibcitation format
% \begin{macrocode}
\def\@mkbibcitation{\bgroup
- \par\medskip\small\noindent{\bfseries ACM Reference format:}\par
- \noindent\authors. \@acmYear. \@title. \textit{\@journalNameShort}
- \@acmVolume, \@acmNumber, Article~\@acmArticle\
- (\@acmPubDate), \ref{TotPages}~pages.\par
+ \def\footnotemark{}%
+ \par\medskip\small\noindent{\bfseries ACM Reference format:}\par\nobreak
+ \noindent\authors. \@acmYear. \@title.
+ \if@ACM@journal
+ \textit{\@journalNameShort}
+ \@acmVolume, \@acmNumber, Article~\@acmArticle\ (\@acmPubDate),
+ \ref{TotPages}~pages.
+ \else
+ In \textit{Proceedings of \acmConference@name, \acmConference@venue,
+ \acmConference@date
+ \ifx\acmConference@name\acmConference@shortname\else
+ \ (\acmConference@shortname)\fi
+ ,} \ref{TotPages}~pages.
+ \fi\par
\noindent DOI: \nolinkurl{\@acmDOI}
\par\egroup}
% \end{macrocode}
@@ -3949,10 +4289,53 @@ Computing Machinery]
%
% \end{macro}
%
+% \begin{macro}{\@shortauthors}
+% \changes{v1.15}{2016/07/04}{Introduced macro}
+% Even if the author redefined \cs{shortauthors}, we do not print
+% them in the anonymous mode in the headers:
+% \begin{macrocode}
+\def\@shortauthors{\if@ACM@anonymous Anon.\else\shortauthors\fi}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\@headfootfont}
+% \changes{v1.16}{2016/07/07}{Added macro}
+% The font to typeset header and footer text.
+% \begin{macrocode}
+\def\@headfootfont{%
+ \ifcase\ACM@format@nr
+ \relax % manuscript
+ \sffamily
+ \or % acmsmall
+ \sffamily
+ \or % acmlarge
+ \sffamily
+ \or % acmtog
+ \sffamily
+ \or % sigconf
+ \sffamily
+ \or % siggraph
+ \sffamily
+ \or % sigplan
+ \sffamily
+ \or % sigchi
+ \sffamily
+ \or % sigchi-a
+ \sffamily
+ \fi}
+% \end{macrocode}
%
+% \end{macro}
%
% \begin{macro}{standardpagestyle}
% \changes{v1.10}{2016/05/22}{Reversed folios location}
+% \changes{v1.13}{2016/06/06}{Suppressed folios if sig}
+% \changes{v1.13}{2016/06/06}{Added headers for sigs}
+% \changes{v1.13}{2016/06/06}{Expanded headers for sigchi-a}
+% \changes{v1.15}{2016/07/04}{Better handling of anonymous mode}
+% \changes{v1.16}{2016/07/07}{Customize header/footer text font}
+% \changes{v1.17}{2016/07/10}{Added paper title to sigs}
% The pagestyle for all pages but the first one
% \begin{macrocode}
\fancypagestyle{standardpagestyle}{%
@@ -3961,37 +4344,45 @@ Computing Machinery]
\renewcommand{\footrulewidth}{\z@}%
\ifcase\ACM@format@nr
\relax % manuscript
- \fancyhead[LE]{\ACM@linecount\thepage}%
- \fancyhead[RO]{\thepage}%
- \fancyhead[RE]{\shortauthors}%
+ \fancyhead[LE]{\ACM@linecount\if@ACM@printfolios\thepage\fi}%
+ \fancyhead[RO]{\if@ACM@printfolios\thepage\fi}%
+ \fancyhead[RE]{\@shortauthors}%
\fancyhead[LO]{\ACM@linecount\shorttitle}%
\fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM}%
\or % acmsmall
- \fancyhead[LE]{\ACM@linecount\sffamily\@acmArticle:\thepage}%
- \fancyhead[RO]{\sffamily\@acmArticle:\thepage}%
- \fancyhead[RE]{\sffamily\shortauthors}%
- \fancyhead[LO]{\ACM@linecount\sffamily\shorttitle}%
+ \fancyhead[LE]{\ACM@linecount\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}%
+ \fancyhead[RO]{\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}%
+ \fancyhead[RE]{\@headfootfont\@shortauthors}%
+ \fancyhead[LO]{\ACM@linecount\@headfootfont\shorttitle}%
\fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
\@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
\or % acmlarge
- \fancyhead[LE]{\ACM@linecount\sffamily
- \@acmArticle:\thepage\quad\textbullet\quad\shortauthors}%
+ \fancyhead[LE]{\ACM@linecount\@headfootfont
+ \@acmArticle:\if@ACM@printfolios\thepage\quad\textbullet\quad\fi\@shortauthors}%
\fancyhead[LO]{\ACM@linecount}%
- \fancyhead[RO]{\sffamily
- \shorttitle\quad\textbullet\quad\@acmArticle:\thepage}%
+ \fancyhead[RO]{\@headfootfont
+ \shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi}%
\fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
\@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
\or % acmtog
- \fancyhead[LE]{\ACM@linecount\sffamily
- \@acmArticle:\thepage\quad\textbullet\quad\shortauthors}%
+ \fancyhead[LE]{\ACM@linecount\@headfootfont
+ \@acmArticle:\if@ACM@printfolios\thepage\quad\textbullet\quad\fi\@shortauthors}%
\fancyhead[LO]{\ACM@linecount}%
- \fancyhead[RO]{\sffamily
- \shorttitle\quad\textbullet\quad\@acmArticle:\thepage}%
+ \fancyhead[RO]{\@headfootfont
+ \shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi}%
\fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
\@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
\else % Proceedings
- \fancyfoot[R]{\footnotesize\thepage}%
- \fancyhead[L]{\ACM@linecount}%
+ \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
+ \fancyhead[LO]{\ACM@linecount\@headfootfont\shorttitle}%
+ \fancyhead[RE]{\@headfootfont\@shortauthors}%
+ \fancyhead[LE]{\ACM@linecount\@headfootfont\acmConference@shortname,
+ \acmConference@date, \acmConference@venue}%
+ \fancyhead[RO]{\@headfootfont\acmConference@shortname,
+ \acmConference@date, \acmConference@venue}%
+ \fi
+ \if@ACM@sigchiamode
+ \fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}%
\fi
}
\pagestyle{standardpagestyle}
@@ -4075,7 +4466,7 @@ Computing Machinery]
\ifcase\ACM@format@nr
\relax % manuscript
\fancyhead[L]{\ACM@linecount}%
- \fancyfoot[RO,LE]{\small\thepage}%
+ \fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}%
\fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}%
\or % acmsmall
\fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
@@ -4100,7 +4491,7 @@ Computing Machinery]
\fancyhead[L]{\ACM@linecount}%
\else % Conference proceedings
\fancyhead[L]{\ACM@linecount}%
- \fancyfoot[R]{\footnotesize\thepage}%
+ \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
\fi
}
% \end{macrocode}
@@ -4112,6 +4503,43 @@ Computing Machinery]
%\label{sec:sectioninng}
%
%
+% 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}}
+\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
+ {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+ {.25\baselineskip}%
+ {\@subsecfont}}
+\renewcommand\subsubsection{\@startsection{subsubsection}{3}{10pt}%
+ {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+ {-3.5\p@}%
+ {\@subsubsecfont\@adddotafter}}
+\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}%
+ {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+ {-3.5\p@}%
+ {\@parfont\@adddotafter}}
+\renewcommand\part{\@startsection{part}{9}{\z@}%
+ {-10\p@ \@plus -4\p@ \@minus -2\p@}%
+ {4\p@}%
+ {\@parfont}}
+% \end{macrocode}
+%
+% \begin{macro}{\section@raggedright}
+% \changes{v1.12}{2016/05/30}{Introduced macro}%
+% Special version of \cs{raggedright} compatible with
+% \cs{MakeUppercase}
+% \begin{macrocode}
+\def\section@raggedright{\@rightskip\@flushglue
+ \rightskip\@rightskip
+ \leftskip\z@skip
+ \parindent\z@}
+% \end{macrocode}
+%
+% \end{macro}
+%
%
% \begin{macro}{\@secfont}
% \begin{macro}{\@subsecfont}
@@ -4191,44 +4619,6 @@ Computing Machinery]
% \end{macro}
%
%
-% 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}}
-\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
- {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
- {.25\baselineskip}%
- {\@subsecfont}}
-\renewcommand\subsubsection{\@startsection{subsubsection}{3}{10pt}%
- {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
- {-3.5\p@}%
- {\@subsubsecfont\@adddotafter}}
-\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}%
- {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
- {-3.5\p@}%
- {\@parfont\@adddotafter}}
-\renewcommand\part{\@startsection{part}{9}{\z@}%
- {-10\p@ \@plus -4\p@ \@minus -2\p@}%
- {4\p@}%
- {\@parfont}}
-% \end{macrocode}
-%
-% \begin{macro}{\section@raggedright}
-% \changes{v1.12}{2016/05/30}{Introduced macro}%
-% Special version of \cs{raggedright} compatible with
-% \cs{MakeUppercase}
-% \begin{macrocode}
-\def\section@raggedright{\@rightskip\@flushglue
- \rightskip\@rightskip
- \leftskip\z@skip
- \parindent\z@}
-% \end{macrocode}
-%
-% \end{macro}
-%
-%
%\subsection{Theorems}
%\label{sec:theorems}
%
@@ -4437,6 +4827,40 @@ Computing Machinery]
% \end{macro}
%
%
+%
+%\subsection{Acknowledgments}
+%\label{sec:acks}
+%
+% \begin{macro}{\acks}
+% \changes{v1.15}{2016/07/05}{Added macro}
+% This is a |comment|-like structure
+% \begin{macrocode}
+\specialcomment{acks}
+ {\begingroup\section*{Acknowledgments}}{\endgroup}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\grantsponsor}
+% \changes{v1.15}{2016/07/05}{Added macro}
+% \changes{v1.17}{2016/07/10}{Renamed}
+% We just typeset the name of the sponsor
+% \begin{macrocode}
+\def\grantsponsor#1#2#3{#2}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\grantnum}
+% \changes{v1.15}{2016/07/05}{Added macro}
+% \changes{v1.17}{2016/07/10}{Added url}
+% \begin{macrocode}
+\newcommand\grantnum[3][]{#3%
+ \def\@tempa{#1}\ifx\@tempa\@empty\else\space(\url{#1})\fi}
+% \end{macrocode}
+%
+% \end{macro}
+%
% \subsection{Conditional typesetting}
% \label{sec:conditional}
%
@@ -4451,12 +4875,12 @@ Computing Machinery]
\fi
\if@ACM@anonymous
\excludecomment{anonsuppress}
+ \excludecomment{acks}
\else
\includecomment{anonsuppress}
\fi
% \end{macrocode}
%
-%
%\subsection{End of Class}
%\label{end}
%