From 1fa5eeef7004616637b530b506eeb4092bb5168f Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Sat, 11 Jun 2016 23:20:06 +0000
Subject: acmart (31may16)

git-svn-id: svn://tug.org/texlive/trunk@41385 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/acmart/acmart.cls | 247 ++++++++++++++++++--------
 1 file changed, 174 insertions(+), 73 deletions(-)

(limited to 'Master/texmf-dist/tex/latex/acmart/acmart.cls')

diff --git a/Master/texmf-dist/tex/latex/acmart/acmart.cls b/Master/texmf-dist/tex/latex/acmart/acmart.cls
index a321236edcc..39129a62d05 100644
--- a/Master/texmf-dist/tex/latex/acmart/acmart.cls
+++ b/Master/texmf-dist/tex/latex/acmart/acmart.cls
@@ -37,7 +37,7 @@
 %%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{acmart}
-[2016/05/18 v1.09 Typesetting articles for Association of
+[2016/05/30 v1.12 Typesetting articles for Association of
 Computing Machinery]
 \def\@classname{acmart}
 \RequirePackage{xkeyval}
@@ -82,14 +82,16 @@ Computing Machinery]
   \fi}{\PackageError{\@classname}{Option authorversion can be either true or
     false}}
 \ExecuteOptionsX{authorversion=false}
+\newif\if@ACM@natbib@override
+\@ACM@natbib@overridefalse
 \define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{%
+  \@ACM@natbib@overridetrue
   \if@ACM@natbib
-    \PackageInfo{\@classname}{Using natbib mode}%
+    \PackageInfo{\@classname}{Explicitly selecting natbib mode}%
   \else
-    \PackageInfo{\@classname}{Not using natbib mode}%
+    \PackageInfo{\@classname}{Explicitly deselecting natbib mode}%
   \fi}{\PackageError{\@classname}{Option natbib can be either true or
     false}}
-\ExecuteOptionsX{natbib=false}
 \define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{%
   \if@ACM@anonymous
     \PackageInfo{\@classname}{Using anonymous mode}%
@@ -137,6 +139,28 @@ Computing Machinery]
   \@ACM@journalfalse
   \@ACM@sigchiamodetrue
 \fi
+\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
 \ifx\ACM@fontsize\@empty
   \ifcase\ACM@format@nr
   \relax % manuscript
@@ -479,11 +503,13 @@ Computing Machinery]
 \or % sigchi
 \or % sigchi-a
 \fi
+\def\copyrightpermissionfootnoterule{\kern-3\p@
+  \hrule \@width \columnwidth \kern 2.6\p@}
 \RequirePackage{manyfoot}
+\SelectFootnoteRule[2]{copyrightpermission}
 \DeclareNewFootnote{copyrightpermission}
-\skip\footinscopyrightpermission=0.1\baselineskip plus 0.1\baselineskip
 \def\footnoterule{\kern-3\p@
-  \hrule \@width \columnwidth \kern 2.6\p@}
+  \hrule \@width 4pc \kern 2.6\p@}
 \def\endminipage{%
     \par
     \unskip
@@ -510,9 +536,23 @@ Computing Machinery]
         \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
     \color@endgroup}}%
 \fi
-\usepackage[tt=false]{libertine}
-\usepackage[varqu]{zi4}
-\usepackage[libertine]{newtxmath}
+\newif\if@ACM@newfonts
+\@ACM@newfontstrue
+\IfFileExists{libertine.sty}{}{\ClassWarning{\@classname}{You do not
+    have libertine package installed.  Please upgrade your
+    TeX}\@ACM@newfontsfalse}
+\IfFileExists{zi4.sty}{}{\ClassWarning{\@classname}{You do not
+    have zi4 package installed.  Please upgrade your TeX}\@ACM@newfontsfalse}
+\IfFileExists{newtxmath.sty}{}{\ClassWarning{\@classname}{You do not
+    have newtxmath package installed.  Please upgrade your
+    TeX}\@ACM@newfontsfalse}
+\if@ACM@newfonts
+\RequirePackage[tt=false]{libertine}
+\RequirePackage[varqu]{zi4}
+\RequirePackage[libertine]{newtxmath}
+\else
+\RequirePackage{textcomp}
+\fi
 \if@ACM@sigchiamode
   \renewcommand{\familydefault}{\sfdefault}
 \fi
@@ -551,10 +591,10 @@ Computing Machinery]
   \marginpar{\small#1}\egroup}
 \newenvironment{marginfigure}{\Collect@Body\@marginfigure}{}
 \long\def\@marginfigure#1{\bgroup\captionsetup{type=figure}%
-  \marginpar{\small#1}\egroup}
+  \marginpar{\centering\small#1}\egroup}
 \newenvironment{margintable}{\Collect@Body\@margintable}{}
 \long\def\@margintable#1{\bgroup\captionsetup{type=table}%
-  \marginpar{\small#1}\egroup}
+  \marginpar{\centering\small#1}\egroup}
 \newdimen\fulltextwidth
 \fulltextwidth=\dimexpr(\textwidth+\marginparwidth+\marginparsep)
 \if@ACM@sigchiamode
@@ -592,6 +632,7 @@ Computing Machinery]
 \or % sigchi
 \or % sigchi-a
 \fi
+\renewcommand{\descriptionlabel}[1]{\hspace\labelsep \upshape\bfseries #1}
 \define@choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode@nr]{%
   CIE,%
   CSUR,%
@@ -1063,7 +1104,6 @@ Computing Machinery]
   \fi
   \ifnum\acm@copyrightmode=11\relax % licensedothergov
    \@acmownedfalse
-   \@printcopyrightfalse
   \fi}
 \def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}}
 \setcopyright{acmcopyright}
@@ -1092,6 +1132,8 @@ Computing Machinery]
   \or % othergov
   ACM\@.
   \or % licensedothergov
+  Copyright held by the owner/author(s). Publication rights licensed to
+  ACM\@.
   \fi}
 \def\@formatdoi#1{\url{http://dx.doi.org/#1}}
 \def\@copyrightpermission{%
@@ -1235,7 +1277,8 @@ Computing Machinery]
   \let\@makefnmark\relax  \let\@thefnmark\relax
   \let\@makefntext\noindent
   \ifx\@empty\thankses\else
-    \@footnotetext{\def\par{\let\par\@par}\parindent\z@\@setthanks}%
+    \footnotetextcopyrightpermission{%
+      \def\par{\let\par\@par}\parindent\z@\@setthanks}%
   \fi
   \footnotetextcopyrightpermission{\parindent\z@\parskip0.1\baselineskip
   \if@ACM@authorversion\else
@@ -1272,13 +1315,14 @@ Computing Machinery]
         \if@ACM@journal
           \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle\
           \$\@acmPrice\\
+          DOI: \nolinkurl{\@acmDOI}%
         \else % Conference
            \@acmISBN
            \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\
+           DOI: \nolinkurl{\@acmDOI}%
         \fi
       \fi
-    \fi
-    DOI: \nolinkurl{\@acmDOI}}%
+    \fi}%
   \endgroup
   \setcounter{footnote}{0}%
   \@mkabstract
@@ -1755,16 +1799,16 @@ Computing Machinery]
   \renewcommand{\footrulewidth}{\z@}%
   \ifcase\ACM@format@nr
   \relax % manuscript
-    \fancyhead[RE]{\thepage}%
-    \fancyhead[LO]{\ACM@linecount\thepage}%
-    \fancyhead[LE]{\ACM@linecount\shortauthors}%
-    \fancyhead[RO]{\shorttitle}%
+    \fancyhead[LE]{\ACM@linecount\thepage}%
+    \fancyhead[RO]{\thepage}%
+    \fancyhead[RE]{\shortauthors}%
+    \fancyhead[LO]{\ACM@linecount\shorttitle}%
     \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM}%
   \or % acmsmall
-    \fancyhead[RE]{\sffamily\@acmArticle:\thepage}%
-    \fancyhead[LO]{\ACM@linecount\sffamily\@acmArticle:\thepage}%
-    \fancyhead[LE]{\ACM@linecount\sffamily\shortauthors}%
-    \fancyhead[RO]{\sffamily\shorttitle}%
+    \fancyhead[LE]{\ACM@linecount\sffamily\@acmArticle:\thepage}%
+    \fancyhead[RO]{\sffamily\@acmArticle:\thepage}%
+    \fancyhead[RE]{\sffamily\shortauthors}%
+    \fancyhead[LO]{\ACM@linecount\sffamily\shorttitle}%
     \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
     \@acmNumber, Article \@acmArticle.  Publication date: \@acmPubDate.}%
   \or % acmlarge
@@ -1863,28 +1907,8 @@ Computing Machinery]
     \fancyfoot[R]{\footnotesize\thepage}%
   \fi
 }
-\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}}
-\def\@secfont{\sffamily\bfseries\raggedright\MakeUppercase}
-\def\@subsecfont{\sffamily\bfseries\raggedright}
+\def\@secfont{\sffamily\bfseries\section@raggedright\MakeUppercase}
+\def\@subsecfont{\sffamily\bfseries\section@raggedright}
 \def\@subsubsecfont{\sffamily\itshape}
 \def\@parfont{\itshape}
 \setcounter{secnumdepth}{3}
@@ -1892,25 +1916,25 @@ Computing Machinery]
 \relax % manuscript
 \or % acmsmall
 \or % acmlarge
- \def\@secfont{\sffamily\large\raggedright\MakeUppercase}
- \def\@subsecfont{\sffamily\large\raggedright}
+ \def\@secfont{\sffamily\large\section@raggedright\MakeUppercase}
+ \def\@subsecfont{\sffamily\large\section@raggedright}
 \or % acmtog
- \def\@secfont{\sffamily\large\raggedright\MakeUppercase}
- \def\@subsecfont{\sffamily\large\raggedright}
+ \def\@secfont{\sffamily\large\section@raggedright\MakeUppercase}
+ \def\@subsecfont{\sffamily\large\section@raggedright}
 \or % sigconf
- \def\@secfont{\bfseries\Large\raggedright\MakeUppercase}
- \def\@subsecfont{\bfseries\Large\raggedright}
+ \def\@secfont{\bfseries\Large\section@raggedright\MakeUppercase}
+ \def\@subsecfont{\bfseries\Large\section@raggedright}
 \or % siggraph
- \def\@secfont{\bfseries\sffamily\Large\raggedright\MakeUppercase}
- \def\@subsecfont{\bfseries\sffamily\Large\raggedright}
+ \def\@secfont{\bfseries\sffamily\Large\section@raggedright\MakeUppercase}
+ \def\@subsecfont{\bfseries\sffamily\Large\section@raggedright}
 \or % sigplan
- \def\@secfont{\bfseries\Large\raggedright}
- \def\@subsecfont{\bfseries\raggedright}
+ \def\@secfont{\bfseries\Large\section@raggedright}
+ \def\@subsecfont{\bfseries\section@raggedright}
  \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
    {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
    {.25\baselineskip}%
    {\@subsubsecfont}}
- \def\@subsubsecfont{\bfseries\raggedright}
+ \def\@subsubsecfont{\bfseries\section@raggedright}
  \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
    {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
    {-3.5\p@}%
@@ -1923,37 +1947,99 @@ Computing Machinery]
  \def\@subparfont{\itshape}
 \or % sigchi
  \setcounter{secnumdepth}{1}
- \def\@secfont{\bfseries\sffamily\raggedright\MakeUppercase}
- \def\@subsecfont{\bfseries\sffamily\raggedright}
+ \def\@secfont{\bfseries\sffamily\section@raggedright\MakeUppercase}
+ \def\@subsecfont{\bfseries\sffamily\section@raggedright}
 \or % sigchi-a
  \setcounter{secnumdepth}{0}
- \def\@secfont{\bfseries\sffamily\raggedright\MakeUppercase}
- \def\@subsecfont{\bfseries\sffamily\raggedright}
+ \def\@secfont{\bfseries\sffamily\section@raggedright\MakeUppercase}
+ \def\@subsecfont{\bfseries\sffamily\section@raggedright}
 \fi
 \def\@adddotafter#1{#1\@addpunct{.}}
 \def\@addspaceafter#1{#1\@addpunct{\enspace}}
+\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}}
+\def\section@raggedright{\@rightskip\@flushglue
+  \rightskip\@rightskip
+  \leftskip\z@skip
+  \parindent\z@}
+\def\@acmplainbodyfont{\itshape}
+\def\@acmplainindent{\parindent}
+\def\@acmplainheadfont{\scshape}
+\def\@acmplainnotefont{\@empty}
+\ifcase\ACM@format@nr
+\relax % manuscript
+\or % acmsmall
+\or % acmlarge
+\or % acmtog
+\or % sigconf
+\or % siggraph
+\or % sigplan
+  \def\@acmplainbodyfont{\itshape}
+  \def\@acmplainindent{\z@}
+  \def\@acmplainheadfont{\bfseries}
+  \def\@acmplainnotefont{\normalfont}
+\or % sigchi
+\or % sigchi-a
+\fi
 \newtheoremstyle{acmplain}%
   {.5\baselineskip\@plus.2\baselineskip
     \@minus.2\baselineskip}% space above
   {.5\baselineskip\@plus.2\baselineskip
-    \@minus.2\baselineskip}% Space below
-  {\itshape}% body font
-  {\parindent}% indent amount
-  {\scshape}% head font
+    \@minus.2\baselineskip}% space below
+  {\@acmplainbodyfont}% body font
+  {\@acmplainindent}% indent amount
+  {\@acmplainheadfont}% head font
   {.}% punctuation after head
   {.5em}% spacing after head
-  {\thmname{#1}\thmnumber{ #2}\thmnote{ (#3)}}% head spec
+  {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmplainnotefont(#3)}}}% head spec
+\def\@acmdefinitionbodyfont{\normalfont}
+\def\@acmdefinitionindent{\parindent}
+\def\@acmdefinitionheadfont{\itshape}
+\def\@acmdefinitionnotefont{\@empty}
+\ifcase\ACM@format@nr
+\relax % manuscript
+\or % acmsmall
+\or % acmlarge
+\or % acmtog
+\or % sigconf
+\or % siggraph
+\or % sigplan
+  \def\@acmdefinitionbodyfont{\normalfont}
+  \def\@acmdefinitionindent{\z@}
+  \def\@acmdefinitionheadfont{\bfseries}
+  \def\@acmdefinitionnotefont{\normalfont}
+\or % sigchi
+\or % sigchi-a
+\fi
 \newtheoremstyle{acmdefinition}%
   {.5\baselineskip\@plus.2\baselineskip
     \@minus.2\baselineskip}% space above
   {.5\baselineskip\@plus.2\baselineskip
-    \@minus.2\baselineskip}% Space below
-  {\normalfont}% body font
-  {\parindent}% indent amount
-  {\itshape}% head font
+    \@minus.2\baselineskip}% space below
+  {\@acmdefinitionbodyfont}% body font
+  {\@acmdefinitionindent}% indent amount
+  {\@acmdefinitionheadfont}% head font
   {.}% punctuation after head
   {.5em}% spacing after head
-  {\thmname{#1}\thmnumber{ #2}\thmnote{ \itshape(#3)}}% head spec
+  {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmdefinitionnotefont(#3)}}}% head spec
 \theoremstyle{acmplain}
 \newtheorem{theorem}{Theorem}[section]
 \newtheorem{conjecture}[theorem]{Conjecture}
@@ -1963,13 +2049,28 @@ Computing Machinery]
 \theoremstyle{acmdefinition}
 \newtheorem{example}[theorem]{Example}
 \newtheorem{definition}[theorem]{Definition}
+\theoremstyle{acmplain}
+\def\@proofnamefont{\scshape}
+\def\@proofindent{\indent}
+\ifcase\ACM@format@nr
+\relax % manuscript
+\or % acmsmall
+\or % acmlarge
+\or % acmtog
+\or % sigconf
+\or % siggraph
+\or % sigplan
+  \def\@proofnamefont{\itshape}
+  \def\@proofindent{\noindent}
+\or % sigchi
+\or % sigchi-a
+\fi
 \renewenvironment{proof}[1][\proofname]{\par
   \pushQED{\qed}%
   \normalfont \topsep6\p@\@plus6\p@\relax
   \trivlist
-  \item[\indent\hskip\labelsep
-        \scshape
-    #1\@addpunct{.}]\ignorespaces
+  \item[\@proofindent\hskip\labelsep
+        {\@proofnamefont #1\@addpunct{.}}]\ignorespaces
 }{%
   \popQED\endtrivlist\@endpefalse
 }
-- 
cgit v1.2.3

