summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/acmart/acmart.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-03-05 21:38:02 +0000
committerKarl Berry <karl@freefriends.org>2017-03-05 21:38:02 +0000
commit3fd1eca84f129d707c0d3e9fac997f0bacd97dc4 (patch)
tree5dc1bd818d4c7a887295e3415ccb867957ddc2f8 /Master/texmf-dist/source/latex/acmart/acmart.dtx
parent4d0fd2b31d6c63bd6b9d29d58271cef07793515f (diff)
acmart (5mar17)
git-svn-id: svn://tug.org/texlive/trunk@43402 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.dtx206
1 files changed, 175 insertions, 31 deletions
diff --git a/Master/texmf-dist/source/latex/acmart/acmart.dtx b/Master/texmf-dist/source/latex/acmart/acmart.dtx
index 2920b6a38ed..ce81aef6b28 100644
--- a/Master/texmf-dist/source/latex/acmart/acmart.dtx
+++ b/Master/texmf-dist/source/latex/acmart/acmart.dtx
@@ -117,6 +117,12 @@
% relatively recent packages, especially the ones related to the
% fonts.
%
+% The latest released version of the package can be found on CTAN:
+% \url{https://www.ctan.org/pkg/acmart}. The development version can
+% be found on GitHub: \url{https://github.com/borisveytsman/acmart}.
+% At this address you can file a bug report---or even contribute your
+% own enhancement making a pull request.
+%
% If you decide to install the package yourself, follow the standard
% rules:
% \begin{enumerate}
@@ -498,24 +504,52 @@
% \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.
+% \DescribeMacro{\additionalaffiliation}%
+% In some cases too many affiliations take too much space. The
+% command \cs{additionalaffiliation}\marg{affiliation} creates a
+% footnote after author's name with the words ``Also with
+% \marg{affiliation}''. You should use this command only as the last
+% resort. An example of usage is:
+% \begin{verbatim}
+% \author{G. Tobin}
+% \author{Ben Trovato}
+% \additionalaffiliation{%
+% \institution{The Th{\o}rv{\"a}ld Group}
+% \streetaddress{1 Th{\o}rv{\"a}ld Circle}
+% \city{Hekla}
+% \country{Iceland}}
+% \affiliation{%
+% \institution{Institute for Clarity in Documentation}
+% \streetaddress{P.O. Box 1212}
+% \city{Dublin}
+% \state{Ohio}
+% \postcode{43017-6221}
+% }
+% \end{verbatim}
+% Here Trovato and Tobin share their affiliation with the Institute
+% for Clarity in Documentation, but only Ben Trovato is affiliated
+% with The Th{\o}rv{\"a}ld Group.
+%
+%
+% \DescribeMacro{\position}%
+% \DescribeMacro{\institution}%
+% \DescribeMacro{\department}%
+% \DescribeMacro{\streetaddress}%
+% \DescribeMacro{\city}%
+% \DescribeMacro{\state}%
+% \DescribeMacro{\postcode}%
+% \DescribeMacro{\country}%
+% The \cs{affiliation} and \cs{additionalaffiliation} commands are
+% 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:
@@ -616,6 +650,9 @@
% \authornote{This is an authornote}
% \end{verbatim}
%
+% Please never use \cs{footnotes} inside \cs{author} or \cs{title}
+% commands, since this confuses metadata extraction software (actually
+% these commands now produce errors).
%
% \DescribeMacro{\acmVolume}%
% \DescribeMacro{\acmNumber}%
@@ -1316,7 +1353,7 @@
\ProvidesFile{acmart.dtx}
%</gobble>
%<class>\ProvidesClass{acmart}
-[2017/02/15 v1.30 Typesetting articles for Association of
+[2017/03/04 v1.31 Typesetting articles for Association of
Computing Machinery]
% \end{macrocode}
%
@@ -1357,7 +1394,9 @@ Computing Machinery]
% \changes{v1.26}{2016/12/24}{Corrected \cs{shortcite} bug}
% \changes{v1.26}{2016/12/24}{Documentation typos fixed (thanks to
% Stephen Spencer)}
-% \changes{v1.30}{2017/02/04}{Bibtex style now recognizes https:// in doi}
+% \changes{v1.30}{2017/02/04}{Bibtex style now recognizes https:// in
+% doi}
+% \changes{v1.31}{2017/03/04}{Documentation changes}
%
%
% And the driver code:
@@ -1781,7 +1820,8 @@ Computing Machinery]
\fi
% \end{macrocode}
%
-%
+% \begin{macro}{\@startsection}
+% \changes{v1.31}{2017/03/04}{Added \cs{tochangmeasure}}
% 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
@@ -1804,6 +1844,7 @@ Computing Machinery]
{\@ssect{#3}{#4}{#5}{#6}}%
{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
\def\@sect#1#2#3#4#5#6[#7]#8{%
+ \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}%
\ifnum #2>\c@secnumdepth
\let\@svsec\@empty
\else
@@ -1818,6 +1859,9 @@ Computing Machinery]
\interlinepenalty \@M #8\@@par}%
\endgroup
\csname #1mark\endcsname{#7}%
+ \ifnum #2>\c@secnumdepth \else
+ \@tochangmeasure{\csname the#1\endcsname}%
+ \fi
\addcontentsline{toc}{#1}{%
\ifnum #2>\c@secnumdepth \else
\protect\numberline{\csname the#1\endcsname}%
@@ -1828,6 +1872,9 @@ Computing Machinery]
#6{\hskip #3\relax
\@svsec #8}%
\csname #1mark\endcsname{#7}%
+ \ifnum #2>\c@secnumdepth \else
+ \@tochangmeasure{\csname the#1\endcsname\space}%
+ \fi
\addcontentsline{toc}{#1}{%
\ifnum #2>\c@secnumdepth \else
\protect\numberline{\csname the#1\endcsname}%
@@ -1874,6 +1921,46 @@ Computing Machinery]
\@xsect{#3}}
% \end{macrocode}
%
+% \end{macro}
+%
+% \begin{macro}{\@startsection}
+% \changes{v1.31}{2017/03/04}{Rededined macro}
+% Amsart redefines \cs{startsection}. Here we redefine it again to
+% make TOC working
+% \begin{macrocode}
+\def\@starttoc#1#2{\begingroup
+ \setTrue{#1}%
+ \par\removelastskip\vskip\z@skip
+ \@startsection{section}\@M\z@{\linespacing\@plus\linespacing}%
+ {.5\linespacing}{\centering\contentsnamefont}{#2}%
+ \@input{\jobname.#1}%
+ \if@filesw
+ \@xp\newwrite\csname tf@#1\endcsname
+ \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax
+ \fi
+ \global\@nobreakfalse \endgroup
+ \addvspace{32\p@\@plus14\p@}%
+}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\l@subsection}
+% \changes{v1.31}{2017/03/04}{Rededined macro}
+% Amsart has too large spacing
+% \begin{macrocode}
+\def\l@subsection{\@tocline{2}{0pt}{1pc}{3pc}{}}
+% \end{macrocode}
+%
+% \end{macro}
+% \begin{macro}{\l@subsubsection}
+% \changes{v1.31}{2017/03/04}{Rededined macro}
+% Amsart has too large spacing
+% \begin{macrocode}
+\def\l@subsubsection{\@tocline{2}{0pt}{1pc}{5pc}{}}
+% \end{macrocode}
+%
+% \end{macro}
%
% And |hyperref|
% \changes{v1.28}{2017/01/07}{Got rid of warnings in pdf keywords}
@@ -1981,48 +2068,56 @@ Computing Machinery]
\RequirePackage{geometry}
\ifcase\ACM@format@nr
\relax % manuscript
- \geometry{letterpaper,head=13pt}%
+ \geometry{letterpaper,head=13pt,
+ marginparwidth=6pc}%
\or % acmsmall
\geometry{twoside=true,
includeheadfoot, head=13pt, foot=2pc,
paperwidth=6.75in, paperheight=10in,
- top=58pt, bottom=44pt, inner=46pt, outer=46pt
+ top=58pt, bottom=44pt, inner=46pt, outer=46pt,
+ marginparwidth=2pc
}%
\or % acmlarge
\geometry{twoside=true, head=13pt, foot=2pc,
paperwidth=8.5in, paperheight=11in,
includeheadfoot,
- top=78pt, bottom=114pt, inner=81pt, outer=81pt
+ top=78pt, bottom=114pt, inner=81pt, outer=81pt,
+ marginparwidth=4pc
}%
\or % acmtog
\geometry{twoside=true, head=13pt, foot=2pc,
paperwidth=8.5in, paperheight=11in,
includeheadfoot, columnsep=24pt,
- top=52pt, bottom=75pt, inner=52pt, outer=52pt
+ top=52pt, bottom=75pt, inner=52pt, outer=52pt,
+ marginparwidth=2pc
}%
\or % sigconf
\geometry{twoside=true, head=13pt,
paperwidth=8.5in, paperheight=11in,
includeheadfoot, columnsep=2pc,
- top=57pt, bottom=73pt, inner=54pt, outer=54pt
+ top=57pt, bottom=73pt, inner=54pt, outer=54pt,
+ marginparwidth=2pc
}%
\or % siggraph
\geometry{twoside=true, head=13pt,
paperwidth=8.5in, paperheight=11in,
includeheadfoot, columnsep=2pc,
- top=57pt, bottom=73pt, inner=54pt, outer=54pt
+ top=57pt, bottom=73pt, inner=54pt, outer=54pt,
+ marginparwidth=2pc
}%
\or % sigplan
\geometry{twoside=true, head=13pt,
paperwidth=8.5in, paperheight=11in,
includeheadfoot=false, columnsep=2pc,
- top=1in, bottom=1in, inner=0.75in, outer=0.75in
+ top=1in, bottom=1in, inner=0.75in, outer=0.75in,
+ marginparwidth=2pc
}%
\or % sigchi
\geometry{twoside=true, head=13pt,
paperwidth=8.5in, paperheight=11in,
includeheadfoot, columnsep=2pc,
- top=66pt, bottom=73pt, inner=54pt, outer=54pt
+ top=66pt, bottom=73pt, inner=54pt, outer=54pt,
+ marginparwidth=2pc
}%
\or % sigchi-a
\geometry{twoside=false, head=13pt,
@@ -2171,6 +2266,17 @@ Computing Machinery]
%
% \end{macro}
%
+%
+% \begin{macro}{\@textbottom}
+% \changes{v1.31}{2017/03/04}{Redefined}
+% Added some stretch according to David Carlisle's advice at
+% http://tex.stackexchange.com/a/62318/5522
+% \begin{macrocode}
+\def\@textbottom{\vskip \z@ \@plus 1pt}
+\let\@texttop\relax
+% \end{macrocode}
+%
+% \end{macro}
%\subsection{Fonts}
%\label{sec:fonts}
%
@@ -2795,6 +2901,33 @@ Computing Machinery]
%
% \end{macro}
%
+% \begin{macro}{\additionalaffiliation}
+% \changes{v1.31}{2017/03/04}{Added macro}
+% Additional affiliations go to footnotes
+% \begin{macrocode}
+\def\additionalaffiliation#1{\authornote{\@additionalaffiliation{#1}}}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\@additionalaffiliation}
+% \changes{v1.31}{2017/03/04}{Added macro}
+% Process additionalaffiliation inside \cs{authornote}
+% \begin{macrocode}
+\def\@additionalaffiliation#1{\bgroup
+ \def\position##1{\ignorespaces}%
+ \def\institution##1{##1\ignorespaces}%
+ \def\department{\@ifnextchar[{\@department}{\@department[]}}%
+ \def\@department[##1]##2{\unskip, ##2\ignorespaces}%
+ \let\streetaddress\position
+ \let\city\position
+ \let\state\position
+ \let\postcode\position
+ \let\country\position
+ Also with #1\unskip.\egroup}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\email}
% The macro \cs{email} mimics \cs{email} from |amsart|.
% Agian it has an optional argument we do not currently need,
@@ -2925,20 +3058,24 @@ Computing Machinery]
%
% \begin{macro}{\acmYear}
% \changes{v1.17}{2016/07/10}{The default is now numerical}
+% \changes{v1.31}{2017/03/04}{The default now is the current year
+% (Matteo Riondato)}
% The current year
% \begin{macrocode}
\def\acmYear#1{\def\@acmYear{#1}}
-\acmYear{2017}
+\acmYear{\the\year}
% \end{macrocode}
%
% \end{macro}
%
% \begin{macro}{\acmMonth}
% \changes{v1.17}{2016/07/09}{The default must be numerical. Closes \#50.}
+% \changes{v1.31}{2017/03/04}{The default now is the current month
+% (Matteo Riondato)}
% The current month
% \begin{macrocode}
\def\acmMonth#1{\def\@acmMonth{#1}}
-\acmMonth{1}
+\acmMonth{\the\month}
% \end{macrocode}
%
% \end{macro}
@@ -4384,10 +4521,15 @@ Computing Machinery]
% \begin{macro}{\@mkbibcitation}
% \changes{v1.17}{2016/07/10}{Changed format for sigs}
% \changes{v1.17}{2016/07/10}{Added \cs{nobreak}}
+% \changes{v1.31}{2017/03/04}{Disabled linebreak}
% Print bibcitation format
% \begin{macrocode}
\def\@mkbibcitation{\bgroup
\def\footnotemark{}%
+ \def\\{\unskip{} \ignorespaces}%
+ \def\footnote{\ClassError{\@classname}{Please do note use footnotes
+ inside \string\title{} or \string\author{} command! Use
+ \string\titlenote{} or \string\authornote{} instead!}}%
\par\medskip\small\noindent{\bfseries ACM Reference format:}\par\nobreak
\noindent\authors. \@acmYear. \@title.
\if@ACM@journal
@@ -4827,6 +4969,8 @@ Computing Machinery]
% \end{macrocode}
% \end{macro}
%
+%
+%
%\subsection{Theorems}
%\label{sec:theorems}
%