From 1fa5eeef7004616637b530b506eeb4092bb5168f Mon Sep 17 00:00:00 2001 From: Karl Berry 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/source/latex/acmart/acmart.dtx | 519 ++++++++++++++++++----- 1 file changed, 410 insertions(+), 109 deletions(-) (limited to 'Master/texmf-dist/source/latex/acmart') diff --git a/Master/texmf-dist/source/latex/acmart/acmart.dtx b/Master/texmf-dist/source/latex/acmart/acmart.dtx index 6b0c7a49afa..3500b5c3269 100644 --- a/Master/texmf-dist/source/latex/acmart/acmart.dtx +++ b/Master/texmf-dist/source/latex/acmart/acmart.dtx @@ -129,11 +129,10 @@ % later, so you probably have them installed. Just in case here is % the list of these packages: % \begin{itemize} -% \item \textsl{algorithm2e}, \url{http://www.ctan.org/pkg/algorithm2e} % \item \textsl{amscls}, \url{http://www.ctan.org/pkg/amscls} % \item \textsl{amsfonts}, \url{http://www.ctan.org/pkg/amsfonts} % \item \textsl{amsmath}, \url{http://www.ctan.org/pkg/amsmath} -% \item \textsl{booktabs}, \url{http://www.ctan.org/pkg/booktabs} +% \item \textsl{binhex}, \url{http://www.ctan.org/pkg/binhex} % \item \textsl{caption}, \url{http://www.ctan.org/pkg/caption} % \item \textsl{comment}, \url{http://www.ctan.org/pkg/comment} % \item \textsl{environ}, \url{http://www.ctan.org/pkg/environ} @@ -146,11 +145,10 @@ % \item \textsl{ifluatex}, \url{http://www.ctan.org/pkg/ifluatex} % \item \textsl{ifxetex}, \url{http://www.ctan.org/pkg/ifxetex} % \item \textsl{inconsolata}, \url{http://www.ctan.org/pkg/inconsolata} -% \item \textsl{kastrup}, \url{http://www.ctan.org/pkg/kastrup} +% \item \textsl{latex-tools}, \url{http://www.ctan.org/pkg/latex-tools} % \item \textsl{libertine}, \url{http://www.ctan.org/pkg/libertine} % \item \textsl{manyfoot}, \url{http://www.ctan.org/pkg/manyfoot} % \item \textsl{microtype}, \url{http://www.ctan.org/pkg/microtype} -% \item \textsl{mptopdf}, \url{http://www.ctan.org/pkg/mptopdf} % \item \textsl{ms}, \url{http://www.ctan.org/pkg/ms} % \item \textsl{mweights}, \url{http://www.ctan.org/pkg/mweights} % \item \textsl{natbib}, \url{http://www.ctan.org/pkg/natbib} @@ -158,9 +156,7 @@ % \item \textsl{newtx}, \url{http://www.ctan.org/pkg/newtx} % \item \textsl{oberdiek}, \url{http://www.ctan.org/pkg/oberdiek} % \item \textsl{pdftex-def}, \url{http://www.ctan.org/pkg/pdftex-def} -% \item \textsl{relsize}, \url{http://www.ctan.org/pkg/relsize} % \item \textsl{setspace}, \url{http://www.ctan.org/pkg/setspace} -% \item \textsl{tools}, \url{http://www.ctan.org/pkg/tools} % \item \textsl{totpages}, \url{http://www.ctan.org/pkg/totpages} % \item \textsl{trimspaces}, \url{http://www.ctan.org/pkg/trimspaces} % \item \textsl{upquote}, \url{http://www.ctan.org/pkg/upquote} @@ -248,7 +244,9 @@ % articles. % % The option |natbib| is used when the corresponding -% \BibTeX\ style is based on |natbib|. +% \BibTeX\ style is based on |natbib|. In most cases you do not need +% to set it. See +% Section~\ref{sec:ug_bibliography}. % % The option |anonymous| is used % for anonymous review process: all author information becomes @@ -265,7 +263,7 @@ % review & false & A review version: lines are numbered, % hyperlinks are colored\\ % screen & false & A screen version: hyperlinks are colored\\ -% natbib & false & Whether to use |natbib| package (see +% natbib & & 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 @@ -869,6 +867,12 @@ % \end{description} % % +% Tables and figures (including margin tables and margin figures) are +% by default centered. However, in some cases (for example, when you +% use several subimages per figure) you may need to override this +% decision. A good way to do so is to put the contents into a +% \cs{minipage} of the width \cs{columnwidth}. +% %\subsection{Theorems} %\label{sec:ug_theorems} % @@ -936,30 +940,42 @@ %\subsection{Bibliography} %\label{sec:ug_bibliography} % -% The Boolean option |natbib| selects whether to use |natbib| package -% for bibliography. If you use |natbib|, then commands like -% \cs{citep} and \cs{citeauthor} are automatically supported. You may -% customize \cs{natbib} using \cs{setcitestyle} command, for example, +% 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} +% +% 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 +% \textsl{natbib} using \cs{setcitestyle} command, for example, % \begin{verbatim} % \setcitestyle{numbers,sort&compress} % \end{verbatim} -% % -% ACM journals use |natbib| and the style -% |ACM-Reference-Format-Journals|. -% -% Most ACM conference proceedings do \emph{not} use |natbib|. -% SIGGRAPH conferences use |acmsiggraph| style. SIGCHI conferences -% use |SIGCHI-Reference-Format| style. The other conferences employ -% one of the four styles: -% \begin{enumerate} -% \item acm-abbrv -% \item acm-alpha -% \item acm-plain -% \item acm-unsrt -% \end{enumerate} -% The author should consult specific instructions about the -% style to choose. +% If you use |natbib|, then commands like \cs{citep} and +% \cs{citeauthor} are automatically supported. % % % @@ -974,6 +990,30 @@ % assignments. % % +% +% +%\subsection{Typographich niceties} +%\label{sec:ug_penalties} +% +% By default |acmart| prevents all widows and orphans (i.e. lonely +% lines at the beginning and the end of the page) and hyphenation at +% the end of the page. This is done by rather strict settings +% \begin{verbatim} +% \widowpenalty=10000 +% \clubpenalty=10000 +% \brokenpenalty=10000 +% \end{verbatim} +% However, this may lead to frustrating results when the authors must +% obey a page limit. Setting these penalties to smaller values may +% help if you absolutely need to. +% +% Another problem might be the too strict line breaking rules. Again, +% a strategically placed \cs{sloppy} command or putting the +% problematic paragraph inside \texttt{sloppypar} environment might +% help---but beware the results might be, well, sloppy. +% +% +% % \StopEventually{ % \clearpage % \bibliography{acmart} @@ -997,7 +1037,7 @@ \ProvidesFile{acmart.dtx} % %\ProvidesClass{acmart} -[2016/05/18 v1.09 Typesetting articles for Association of +[2016/05/30 v1.12 Typesetting articles for Association of Computing Machinery] % \end{macrocode} % @@ -1022,6 +1062,9 @@ Computing Machinery] % \changes{v1.08}{2016/05/13}{SIGPLAN reformatting by Matthew Fluet} % \changes{v1.08}{2016/05/13}{Typos corrected (Tobias Pape)} % \changes{v1.09}{2016/05/18}{Revert SIGPLAN caption rules} +% \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} % % % And the driver code: @@ -1126,18 +1169,27 @@ Computing Machinery] % \end{macro} % % +% \begin{macro}{\if@ACM@natbib@override} +% \changes{v1.12}{2016/05/30}{Added macro} +% Whether to override the format decision about \textsl{natbib} +% \begin{macrocode} +\newif\if@ACM@natbib@override +\@ACM@natbib@overridefalse +% \end{macrocode} +% +% \end{macro} % % \begin{macro}{\if@ACM@natbib} % Whether we use natbib mode % \begin{macrocode} \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} % \end{macrocode} % % \end{macro} @@ -1243,6 +1295,34 @@ Computing Machinery] \fi % \end{macrocode} % +% A format sets up \cs{if@ACM@natbib} only if +% \cs{@ACM@natbib@override} is false (i.e. user did \emph{not} +% 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} +% % %\subsection{Loading base class and package} %\label{sec:loading} @@ -1660,18 +1740,32 @@ Computing Machinery] % special insert for bibstrip. In the old ACM classes bibstrip was a % \cs{@float}. The problem with floats is that they tend to, well, % float---and we want the guarantee they stay. +% +% We use \textsl{manyfoot} for layered footnotes instead. +% +% \begin{macro}{\copyrightpermissionfootnoterule} +% \changes{v1.12}{2016/05/30}{Added macro} +% This is the footnote rule that separates bibstrip from the rest of +% the paper. It is a full width rule. +% \begin{macrocode} +\def\copyrightpermissionfootnoterule{\kern-3\p@ + \hrule \@width \columnwidth \kern 2.6\p@} +% \end{macrocode} +% \end{macro} +% % \begin{macrocode} \RequirePackage{manyfoot} +\SelectFootnoteRule[2]{copyrightpermission} \DeclareNewFootnote{copyrightpermission} -\skip\footinscopyrightpermission=0.1\baselineskip plus 0.1\baselineskip % \end{macrocode} % % % \begin{macro}{\footnoterule} +% \changes{v1.12}{2016/05/30}{Made shorter} % Tschichold's rules: % \begin{macrocode} \def\footnoterule{\kern-3\p@ - \hrule \@width \columnwidth \kern 2.6\p@} + \hrule \@width 4pc \kern 2.6\p@} % \end{macrocode} % % \end{macro} @@ -1726,11 +1820,36 @@ Computing Machinery] %\subsection{Fonts} %\label{sec:fonts} % -% We use Times throughout +% \changes{v1.12}{2016/05/30}{Added graceful behavior when libertine +% fonts are absent}% +% +% \begin{macro}{\if@ACM@newfonts} +% \changes{v1.12}{2016/05/30}{Added macro}% +% Whether we load the new fonts % \begin{macrocode} -\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} +% \end{macrocode} +% +% \end{macro} +% +% We use Times throughout. +% \begin{macrocode} +\if@ACM@newfonts +\RequirePackage[tt=false]{libertine} +\RequirePackage[varqu]{zi4} +\RequirePackage[libertine]{newtxmath} +\else +\RequirePackage{textcomp} +\fi % \end{macrocode} % % The SIGCHI extended abstracts are sans serif: @@ -1804,10 +1923,11 @@ Computing Machinery] % \end{macro} % % \begin{macro}{\@marginfigure} +% \changes{v1.12}{2016/05/30}{Now centering by default} % The processing of the saved text % \begin{macrocode} \long\def\@marginfigure#1{\bgroup\captionsetup{type=figure}% - \marginpar{\small#1}\egroup} + \marginpar{\centering\small#1}\egroup} % \end{macrocode} % % \end{macro} @@ -1821,10 +1941,11 @@ Computing Machinery] % \end{macro} % % \begin{macro}{\@margintable} +% \changes{v1.12}{2016/05/30}{Now centering by default} % The processing of the saved text % \begin{macrocode} \long\def\@margintable#1{\bgroup\captionsetup{type=table}% - \marginpar{\small#1}\egroup} + \marginpar{\centering\small#1}\egroup} % \end{macrocode} % % \end{macro} @@ -1908,6 +2029,15 @@ Computing Machinery] % \end{macrocode} % % +% \begin{macro}{\descriptionlabel} +% \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} +% \end{macrocode} +% +% \end{macro} +% %\subsection{Top matter data} %\label{sec:top_matter_data} % @@ -2722,6 +2852,7 @@ Computing Machinery] % % \end{macro} % +% \changes{v1.10}{2016/05/22}{Changes of `licensedothergov' wording} % Keys: % \begin{macrocode} \define@choicekey*{ACM@}{acmcopyrightmode}[% @@ -2761,7 +2892,6 @@ Computing Machinery] \fi \ifnum\acm@copyrightmode=11\relax % licensedothergov \@acmownedfalse - \@printcopyrightfalse \fi} % \end{macrocode} % @@ -2803,6 +2933,8 @@ Computing Machinery] \or % othergov ACM\@. \or % licensedothergov + Copyright held by the owner/author(s). Publication rights licensed to + ACM\@. \fi} % \end{macrocode} % @@ -2999,8 +3131,17 @@ Computing Machinery] % \changes{v1.07}{2016/05/03}{Corrected a bug with abstract footnotes} % \changes{v1.07}{2016/05/03}{Corrected a bug with permssion and % footnotes order} +% \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.} % The (in)famous \cs{maketitle}. Note that in sigchi-a mode authors % are \emph{not} in the title box. +% +% Another note: there is a subtle difference between author notes, +% title notes and thankses. The latter refer to the paper itself, +% and therefore belong to the copyright/permission block. By the +% way, this was the default behavior of the old ACM classes. % \begin{macrocode} \def\maketitle{% \if@ACM@anonymous @@ -3026,7 +3167,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 @@ -3063,13 +3205,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 @@ -3809,6 +3952,7 @@ Computing Machinery] % % % \begin{macro}{standardpagestyle} +% \changes{v1.10}{2016/05/22}{Reversed folios location} % The pagestyle for all pages but the first one % \begin{macrocode} \fancypagestyle{standardpagestyle}{% @@ -3817,16 +3961,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 @@ -3968,36 +4112,16 @@ 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} % -% -% Fonts for sections etc. are different for different formats. Also, -% some formats use the ugly period after section number (sigh): +% \begin{macro}{\@secfont} +% \begin{macro}{\@subsecfont} +% \begin{macro}{\@subsubsecfont} +% \begin{macro}{\@parfont} +% \changes{v1.12}{2016/05/30}{Moved to \cs{section@raggedright}}% +% Fonts for sections etc. are different for different formats. % \begin{macrocode} -\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} @@ -4005,25 +4129,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@}% @@ -4036,15 +4160,20 @@ 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 % \end{macrocode} % +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% % \begin{macro}{\@adddotafter} % Add punctuation after the command % \begin{macrocode} @@ -4062,12 +4191,99 @@ 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} % % +% \begin{macro}{\@acmplainbodyfont} +% The font to typeset the |acmplain| theorem style body. +% \begin{macrocode} +\def\@acmplainbodyfont{\itshape} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@acmplainindent} +% The amount to indent the |acmplain| theorem style. +% \begin{macrocode} +\def\@acmplainindent{\parindent} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@acmplainheadfont} +% The font to typeset the |acmplain| theorem style head. +% \begin{macrocode} +\def\@acmplainheadfont{\scshape} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@acmplainnotefont} +% The font to typeset the |acmplain| theorem style note. +% \begin{macrocode} +\def\@acmplainnotefont{\@empty} +% \end{macrocode} +% +% \end{macro} +% +% Customization of |acmplain| theorem style: +% \begin{macrocode} +\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 +% \end{macrocode} +% % \begin{macro}{acmplain} % The |acmplain| theorem style % \begin{macrocode} @@ -4075,17 +4291,69 @@ Computing Machinery] {.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 % \end{macrocode} % % \end{macro} % +% +% \begin{macro}{\@acmdefinitionbodyfont} +% The font to typeset the |acmdefinition| theorem style body. +% \begin{macrocode} +\def\@acmdefinitionbodyfont{\normalfont} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@acmdefinitionindent} +% The amount to indent the |acmdefinition| theorem style. +% \begin{macrocode} +\def\@acmdefinitionindent{\parindent} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@acmdefinitionheadfont} +% The font to typeset the |acmdefinition| theorem style head. +% \begin{macrocode} +\def\@acmdefinitionheadfont{\itshape} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@acmdefinitionnotefont} +% The font to typeset the |acmdefinition| theorem style note. +% \begin{macrocode} +\def\@acmdefinitionnotefont{\@empty} +% \end{macrocode} +% +% \end{macro} +% +% Customization of |acmdefinition| theorem style: +% \begin{macrocode} +\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 +% \end{macrocode} +% % \begin{macro}{acmdefinition} % The |acmdefinition| theorem style % \begin{macrocode} @@ -4093,13 +4361,13 @@ Computing Machinery] {.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 % \end{macrocode} % % \end{macro} @@ -4115,19 +4383,52 @@ Computing Machinery] \theoremstyle{acmdefinition} \newtheorem{example}[theorem]{Example} \newtheorem{definition}[theorem]{Definition} +\theoremstyle{acmplain} +% \end{macrocode} +% +% +% \begin{macro}{\@proofnamefont} +% The font to typeset the proof name. +% \begin{macrocode} +\def\@proofnamefont{\scshape} % \end{macrocode} % +% \end{macro} +% +% \begin{macro}{\@proofindent} +% Whether or not to indent proofs. +% \begin{macrocode} +\def\@proofindent{\indent} +% \end{macrocode} +% +% \end{macro} +% +% Customization of proof environment. +% \begin{macrocode} +\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 +% \end{macrocode} % % \begin{macro}{proof} -% We want small caps proof name +% We want some customization of proof environment. % \begin{macrocode} \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