diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/acmart')
4 files changed, 938 insertions, 76 deletions
diff --git a/Master/texmf-dist/tex/latex/acmart/ACM-Reference-Format.bbx b/Master/texmf-dist/tex/latex/acmart/ACM-Reference-Format.bbx new file mode 100644 index 00000000000..b3ae500389a --- /dev/null +++ b/Master/texmf-dist/tex/latex/acmart/ACM-Reference-Format.bbx @@ -0,0 +1,819 @@ +\ProvidesFile{ACM-Reference-Format.bbx}[2017-09-27 v0.1 biblatex bibliography style] + +% Inherit a default style +\RequireBibliographyStyle{trad-plain} + + + +%%% Localisation strings for ACM + +\DefineBibliographyStrings{american}{% + mathesis = {Master's thesis}, + phdthesis = {Ph\adddot{}D\adddotspace Dissertation}, + editor = {(Ed\adddot)}, + editors = {(Eds\adddot)}, + edition = {ed\adddot}, +} + + + +%%% Formatting for fields + +%\DeclareFieldFormat +% [article,inbook,incollection,inproceedings,patent,thesis,unpublished] +% {title}{#1} +\DeclareFieldFormat{pages}{#1} + +\DeclareFieldFormat{numpages}{#1 pages} + +\DeclareFieldFormat{number}{#1} + +\DeclareFieldFormat{articleno}{Article #1} + +\DeclareFieldFormat{key}{#1} + +\DeclareFieldFormat{urldate}{Retrieved\space{}#1\space{}from} +\DeclareFieldAlias{lastaccessed}{urldate} + +\DeclareFieldFormat{url}{\url{#1}} + +\DeclareFieldFormat{edition}{% + \printtext[parens]{\ifinteger{#1} + {\mkbibordedition{#1}~\bibstring{edition}} + {#1\isdot~\bibstring{edition}}}} + + +% Handle urls field containing 'and' separated list of URLs +% https://github.com/plk/biblatex/issues/229 +\DeclareListFormat{urls}{% + \url{#1}% + \ifthenelse{\value{listcount}<\value{liststop}} + {\addcomma\space} + {}} +\renewbibmacro*{url}{\iffieldundef{url}{\printlist{urls}}{\printfield{url}}} + + + +%%% Bibmacro definitions + +\renewbibmacro*{translator+others}{% + \ifboolexpr{ + test \ifusetranslator + and + not test {\ifnameundef{translator}} + } + {\printnames{translator}% + \setunit{\addcomma\space}% + \usebibmacro{translator+othersstrg}% + \clearname{translator}} + {\printfield{key}}} + +\newbibmacro*{year}{% + \iffieldundef{year}% + {\printtext{[n.\ d.]}}% + {\printfield{year}}% +} + +\renewbibmacro*{date}{\printtext[parens]{\printdate}} + + +\renewbibmacro*{url+urldate}{\iffieldundef{urlyear} + {} + {\usebibmacro{urldate}% + \setunit*{\addspace}}% + \usebibmacro{url}% + } + + +\renewbibmacro*{journal+issuetitle}{% + \usebibmacro{journal}% + \setunit*{\addcomma\space}% + \iffieldundef{series} + {} + {\newunit% + \printfield{series}% + \setunit{\addspace}}% + \usebibmacro{volume+number+date+pages+eid}% + \newcommaunit% +% \setunit{\addspace}% + \usebibmacro{issue-issue}% + \setunit*{\addcolon\space}% + \usebibmacro{issue}% + \newunit} + + + +\newbibmacro*{volume+number+date+pages+eid}{% + \printfield{volume}% + \setunit*{\addcomma\space}% + \printfield{number}% + \setunit*{\addcomma\space}% + \printfield{articleno} + \setunit{\addcomma\space} + \usebibmacro{date-ifmonth} + \setunit{\addcomma\space}% + \iffieldundef{pages}% + {\printfield{numpages}}% + {\printfield{pages}}% + \newcommaunit% + \printfield{eid}}% + +\renewbibmacro*{chapter+pages}{% + \printfield{chapter}% + \setunit{\bibpagespunct}% + \iffieldundef{pages}% + {\printfield{numpages}}% + {\printfield{pages}}% + \newunit} + +\renewbibmacro*{editor+others}{% + \ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + } + {\printnames{editor}% + \setunit{\addcomma\space}% + \usebibmacro{editor+othersstrg}% + \clearname{editor}} + {\iflistundef{organization}{}{\printlist{organization}}}} + + +\newbibmacro*{issue-issue}{% + \iffieldundef{issue}% + {}% + {\printfield{issue}% + \setunit*{\addcomma\space}% + \usebibmacro{date-ifmonth}% + }% + \newunit} + + + + +\newbibmacro*{maintitle+booktitle+series+number}{% + \iffieldundef{maintitle} + {} + {\usebibmacro{maintitle}% + \newunit\newblock + \iffieldundef{volume} + {} + {\printfield{volume}% + \printfield{part}% + \setunit{\addcolon\space}}}% + \usebibmacro{booktitle}% + \setunit*{\addspace} + \printfield[parens]{series}% + \setunit*{\addspace}% + \printfield{number}% + \setunit*{\addcomma\space}% + \printfield{articleno} + \newunit + } + +\renewbibmacro*{booktitle}{% + \ifboolexpr{ + test {\iffieldundef{booktitle}} + and + test {\iffieldundef{booksubtitle}} + } + {} + {\printtext[booktitle]{% + \printfield[titlecase]{booktitle}% + \iffieldundef{booksubtitle}{}{ + \setunit{\subtitlepunct}% + \printfield[titlecase]{booksubtitle}}% + }% + }% + \printfield{booktitleaddon}} + +\renewbibmacro*{volume+number+eid}{% + \printfield{volume}% + \setunit*{\addcomma\space}% + \printfield{number}% + \setunit*{\addcomma\space}% + \printfield{articleno} + \setunit{\addcomma\space}% + \printfield{eid}} + + +\renewbibmacro*{publisher+location+date}{% + \printlist{publisher}% + \setunit*{\addcomma\space}% + \printlist{location}% + \setunit*{\addcomma\space}% + \usebibmacro{date-ifmonth}% + \newunit} + + +\newbibmacro{date-ifmonth}{% + \iffieldundef{month}{}{% + \usebibmacro{date} + }% +} + + +\renewbibmacro*{institution+location+date}{% + \printlist{school}% + \setunit*{\addcomma\space}% + \printlist{institution}% + \setunit*{\addcomma\space}% + \printlist{location}% + \setunit*{\addcomma\space}% + \usebibmacro{date-ifmonth}% + \newunit} + + +\renewbibmacro*{periodical}{% + \iffieldundef{title} + {} + {\printtext[title]{% + \printfield[titlecase]{title}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{subtitle}}}% + \newunit% + \usebibmacro{journal}} + +\renewbibmacro*{issue+date}{% + \iffieldundef{issue} + {\usebibmacro{date}} + {\printfield{issue}% + \setunit*{\addspace}% + \usebibmacro{date}}% + \newunit} + +\renewbibmacro*{title+issuetitle}{% + \usebibmacro{periodical}% + \setunit*{\addspace}% + \iffieldundef{series} + {} + {\newunit + \printfield{series}% + \setunit{\addspace}}% + \printfield{volume}% + \setunit*{\addcomma\space}% + \printfield{number}% + \setunit*{\addcomma\space}% + \printfield{articleno} + \setunit{\addcomma\space}% + \printfield{eid}% + \setunit{\addspace}% + \usebibmacro{issue+date}% + \setunit{\addcolon\space}% + \usebibmacro{issue}% + \newunit} + + + + +%%% Definitions for drivers (alphabetical) + + + +\DeclareBibliographyDriver{article}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\labelnamepunct}\newblock% + \usebibmacro{year}% + \newunit% + \usebibmacro{title}% + \newunit% + \printlist{language}% + \newunit\newblock% + \usebibmacro{byauthor}% + \newunit\newblock% + \usebibmacro{bytranslator+others}% + \newunit\newblock% + \printfield{version}% + \newunit\newblock% + \usebibmacro{journal+issuetitle}% + \newunit% + \usebibmacro{byeditor+others}% + \newunit% + \printfield{note}% + \newunit\newblock% + \iftoggle{bbx:isbn} + {\printfield{issn}} + {}% + \newunit\newblock% + \usebibmacro{doi+eprint+url}% + \newunit\newblock% + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock% + \usebibmacro{related}% + \usebibmacro{finentry}} + + + +\DeclareBibliographyDriver{book}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{year}% + \newunit% + \usebibmacro{maintitle+title}% + \newunit% + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{edition}% + \newunit + \usebibmacro{series+number}% + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit + \newunit\newblock + \printfield{volumes}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + + + +\DeclareBibliographyDriver{inbook}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \iffieldundef{author}% + {\usebibmacro{byeditor+others}}% + {\usebibmacro{author/translator+others}}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{year} + \newunit\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock +% \usebibmacro{in:}% + \usebibmacro{bybookauthor}% + \newunit\newblock + \usebibmacro{maintitle+booktitle}% + \newunit\newblock + \iffieldundef{author}{}%if undef then we already printed editor + {\usebibmacro{byeditor+others}}% + \newunit\newblock + \printfield{edition}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + + + +\DeclareBibliographyDriver{incollection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{year} + \newunit\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{maintitle+booktitle}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{edition}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + + + +\DeclareBibliographyDriver{inproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{year} + \newunit\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{maintitle+booktitle+series+number}% + \newunit\newblock + \usebibmacro{event+venue+date}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit + \printfield{volumes}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + + + +\DeclareBibliographyDriver{manual}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{year} + \newunit\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor}% + \newunit\newblock + \printfield{edition}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{type}% + \newunit + \printfield{version}% + \newunit + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + + + +\DeclareBibliographyDriver{misc}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{year} + \newunit\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \printfield{type}% + \newunit + \printfield{version}% + \newunit + \printfield{note}% + \newunit\newblock + \usebibmacro{organization+location+date}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + + + +\DeclareBibliographyDriver{online}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{year}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{version}% + \newunit + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit\newblock + \usebibmacro{date-ifmonth}% + \newunit\newblock + \iftoggle{bbx:eprint} + {\usebibmacro{eprint}} + {}% + \newunit\newblock + \usebibmacro{url+urldate}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + + + +\DeclareFieldFormat[patent]{number}{Patent No.~#1} + +\DeclareBibliographyDriver{patent}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{year}% + \newunit + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{date}% + \newunit\newblock + \printfield{type}% + \setunit*{\addspace}% + \printfield{number}% + \iflistundef{location} + {} + {\setunit*{\addspace}% + \printtext[parens]{% + \printlist[][-\value{listtotal}]{location}}}% + \newunit\newblock + \usebibmacro{byholder}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + + + +\DeclareBibliographyDriver{periodical}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{editor}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{year} + \newunit + \usebibmacro{title+issuetitle}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byeditor}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{issn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + + + +\DeclareBibliographyDriver{report}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{year} + \newunit + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{type}% + \setunit*{\addspace}% + \printfield{number}% + \newunit\newblock + \printfield{version}% + \newunit + \printfield{note}% + \newunit\newblock + \usebibmacro{institution+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isrn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + + + +\DeclareBibliographyDriver{thesis}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{year} + \newunit + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{type}% + \newunit + \usebibmacro{institution+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + + diff --git a/Master/texmf-dist/tex/latex/acmart/ACM-Reference-Format.cbx b/Master/texmf-dist/tex/latex/acmart/ACM-Reference-Format.cbx new file mode 100644 index 00000000000..7ec588b2cb9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/acmart/ACM-Reference-Format.cbx @@ -0,0 +1,5 @@ +\ProvidesFile{ACM-Reference-Format.cbx}[2017-09-27 v0.1] + +\RequireCitationStyle{numeric} + +\endinput diff --git a/Master/texmf-dist/tex/latex/acmart/ACM-Reference-Format.dbx b/Master/texmf-dist/tex/latex/acmart/ACM-Reference-Format.dbx new file mode 100644 index 00000000000..76ff1f1759b --- /dev/null +++ b/Master/texmf-dist/tex/latex/acmart/ACM-Reference-Format.dbx @@ -0,0 +1,18 @@ +% Teach biblatex about numpages field +\DeclareDatamodelFields[type=field, datatype=literal]{numpages} +\DeclareDatamodelEntryfields{numpages} + +% Teach biblatex about articleno field +\DeclareDatamodelFields[type=field, datatype=literal]{articleno} +\DeclareDatamodelEntryfields{articleno} + +% Teach biblatex about urls field +\DeclareDatamodelFields[type=list, datatype=uri]{urls} +\DeclareDatamodelEntryfields{urls} + +% Teach biblatex about school field +\DeclareDatamodelFields[type=list, datatype=literal]{school} +\DeclareDatamodelEntryfields[thesis]{school} + +\DeclareDatamodelFields[type=field, datatype=literal]{key} +\DeclareDatamodelEntryfields{key}
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/acmart/acmart.cls b/Master/texmf-dist/tex/latex/acmart/acmart.cls index cf83c8a1a08..519ac8343cb 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} -[2017/08/31 v1.47 Typesetting articles for Association of +[2017/12/14 v1.48 Typesetting articles for the Association for Computing Machinery] \def\@classname{acmart} \InputIfFileExists{acmart-preload-hook.tex}{% @@ -68,7 +68,7 @@ Computing Machinery] \PackageInfo{\@classname}{Using screen mode}% \else \PackageInfo{\@classname}{Not using screen mode}% - \fi}{\PackageError{\@classname}{Option screen can be either true or + \fi}{\PackageError{\@classname}{The option screen can be either true or false}} \ExecuteOptionsX{screen=false} \define@boolkey+{acmart.cls}[@ACM@]{acmthm}[true]{% @@ -76,15 +76,16 @@ Computing Machinery] \PackageInfo{\@classname}{Requiring acmthm}% \else \PackageInfo{\@classname}{Suppressing acmthm}% - \fi}{\PackageError{\@classname}{Option acmthm can be either true or + \fi}{\PackageError{\@classname}{The option acmthm can be either true or false}} \ExecuteOptionsX{acmthm=true} \define@boolkey+{acmart.cls}[@ACM@]{review}[true]{% \if@ACM@review \PackageInfo{\@classname}{Using review mode}% + \AtBeginDocument{\@ACM@printfoliostrue}% \else \PackageInfo{\@classname}{Not using review mode}% - \fi}{\PackageError{\@classname}{Option review can be either true or + \fi}{\PackageError{\@classname}{The option review can be either true or false}} \ExecuteOptionsX{review=false} \define@boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{% @@ -92,7 +93,7 @@ Computing Machinery] \PackageInfo{\@classname}{Using authorversion mode}% \else \PackageInfo{\@classname}{Not using authorversion mode}% - \fi}{\PackageError{\@classname}{Option authorversion can be either true or + \fi}{\PackageError{\@classname}{The option authorversion can be either true or false}} \ExecuteOptionsX{authorversion=false} \define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{% @@ -100,7 +101,7 @@ Computing Machinery] \PackageInfo{\@classname}{Explicitly selecting natbib mode}% \else \PackageInfo{\@classname}{Explicitly deselecting natbib mode}% - \fi}{\PackageError{\@classname}{Option natbib can be either true or + \fi}{\PackageError{\@classname}{The option natbib can be either true or false}} \ExecuteOptionsX{natbib=true} \define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{% @@ -108,7 +109,7 @@ Computing Machinery] \PackageInfo{\@classname}{Using anonymous mode}% \else \PackageInfo{\@classname}{Not using anonymous mode}% - \fi}{\PackageError{\@classname}{Option anonymous can be either true or + \fi}{\PackageError{\@classname}{The option anonymous can be either true or false}} \ExecuteOptionsX{anonymous=false} \define@boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{% @@ -116,7 +117,7 @@ Computing Machinery] \PackageInfo{\@classname}{Using timestamp mode}% \else \PackageInfo{\@classname}{Not using timestamp mode}% - \fi}{\PackageError{\@classname}{Option timestamp can be either true or + \fi}{\PackageError{\@classname}{The option timestamp can be either true or false}} \ExecuteOptionsX{timestamp=false} \define@boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{% @@ -126,7 +127,7 @@ Computing Machinery] \@ACM@reviewtrue \else \PackageInfo{\@classname}{Not using authordraft mode}% - \fi}{\PackageError{\@classname}{Option authordraft can be either true or + \fi}{\PackageError{\@classname}{The option authordraft can be either true or false}} \ExecuteOptionsX{authordraft=false} \def\ACM@fontsize{} @@ -142,7 +143,7 @@ Computing Machinery] \newif\if@ACM@journal \newif\if@ACM@sigchiamode \ifnum\ACM@format@nr=5\relax % siggraph - \ClassWarning{\@classname}{The format `siggraph' is now obsolete. + \ClassWarning{\@classname}{The format siggraph is now obsolete. I am switching to sigconf.} \setkeys{acmart.cls}{format=sigconf} \fi @@ -448,7 +449,6 @@ Computing Machinery] \let\citeANP\citeauthor \let\citeNN\citeyearpar \let\citeyearNP\citeyear - \let\citeyear\citeyearpar \let\citeNP\citealt \DeclareRobustCommand\citeA {\begingroup\NAT@swafalse @@ -460,7 +460,7 @@ Computing Machinery] \providecommand\citename[1]{#1}} \fi \newcommand\shortcite[2][]{% - \ifNAT@numbers\cite[#1]{#2}\else\citeyear[#1]{#2}\fi} + \ifNAT@numbers\cite[#1]{#2}\else\citeyearpar[#1]{#2}\fi} \def\bibliographystyle#1{% \ifx\@begindocumenthook\@undefined\else \expandafter\AtBeginDocument @@ -468,7 +468,8 @@ Computing Machinery] {\if@filesw \immediate\write\@auxout{\string\bibstyle{#1}}% \fi}} -\RequirePackage{graphicx, xcolor} +\RequirePackage{graphicx} +\RequirePackage[prologue]{xcolor} \definecolor[named]{ACMBlue}{cmyk}{1,0.1,0,0.1} \definecolor[named]{ACMYellow}{cmyk}{0,0.16,1,0} \definecolor[named]{ACMOrange}{cmyk}{0,0.42,1,0.01} @@ -482,8 +483,8 @@ Computing Machinery] \SetWatermarkFontSize{0.5in} \SetWatermarkColor[gray]{.9} \SetWatermarkText{\parbox{12em}{\centering - Unpublished working draft\\ - Not for distribution}} + Unpublished working draft.\\ + Not for distribution.}} \fi \RequirePackage{geometry} \ifcase\ACM@format@nr @@ -581,7 +582,7 @@ Computing Machinery] \normalcolor \unvbox\@mpfootins \fi - \@minipagefalse %% added 24 May 89 + \@minipagefalse \color@endgroup \egroup \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}} @@ -629,12 +630,13 @@ Computing Machinery] \newif\if@ACM@newfonts \@ACM@newfontstrue \IfFileExists{libertine.sty}{}{\ClassWarning{\@classname}{You do not - have libertine package installed. Please upgrade your + have the 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} + have the zi4 package installed. Please upgrade your + TeX}\@ACM@newfontsfalse} \IfFileExists{newtxmath.sty}{}{\ClassWarning{\@classname}{You do not - have newtxmath package installed. Please upgrade your + have the newtxmath package installed. Please upgrade your TeX}\@ACM@newfontsfalse} \if@ACM@newfonts \RequirePackage[tt=false, type1=true]{libertine} @@ -652,7 +654,7 @@ Computing Machinery] \captionsetup[table]{position=top} \if@ACM@journal \captionsetup{labelfont={sf, small}, - textfont={sf, small}, margin=\z@} + textfont={sf, small}, margin=\z@} \captionsetup[figure]{name={Fig.}} \else \captionsetup{labelfont={bf}, @@ -864,22 +866,22 @@ Computing Machinery] \def\@permissionCodeOne{1550-4832}% \or % JOCCH \def\@journalName{ACM Journal on Computing and Cultural Heritage}% - \def\@journalName{ACM J. Comput. Cult. Herit.}% + \def\@journalNameShort{ACM J. Comput. Cult. Herit.}% \or % PACMHCI \def\@journalName{Proceedings of the ACM on Human-Computer Interaction}% - \def\@journalName{Proc. ACM Hum.-Comput. Interact.}% + \def\@journalNameShort{Proc. ACM Hum.-Comput. Interact.}% \def\@permissionCodeOne{2573-0142}% \@ACM@screentrue \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% \or % PACMPL \def\@journalName{Proceedings of the ACM on Programming Languages}% - \def\@journalName{Proc. ACM Program. Lang.}% + \def\@journalNameShort{Proc. ACM Program. Lang.}% \def\@permissionCodeOne{2475-1421}% \@ACM@screentrue \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% \or % POMACS \def\@journalName{Proceedings of the ACM on Measurement and Analysis of Computing Systems}% - \def\@journalName{Proc. ACM Meas. Anal. Comput. Syst.}% + \def\@journalNameShort{Proc. ACM Meas. Anal. Comput. Syst.}% \def\@permissionCodeOne{2476-1249}% \@ACM@screentrue \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% @@ -893,6 +895,7 @@ Computing Machinery] \def\@permissionCodeOne{1936-7228}% \or % TACO \def\@journalName{ACM Transactions on Architecture and Code Optimization}% + \def\@journalNameShort{ACM Trans. Arch. Code Optim.}% \or % TALG \def\@journalName{ACM Transactions on Algorithms}% \def\@journalNameShort{ACM Trans. Algor.}% @@ -969,7 +972,6 @@ Computing Machinery] \def\@permissionCodeOne{0730-0301} \or % TOIS \def\@journalName{ACM Transactions on Information Systems}% - \def\@journalName{ACM Transactions on Information Systems}% \def\@permissionCodeOne{1046-8188}% \or % TOIT \def\@journalName{ACM Transactions on Internet Technology}% @@ -977,7 +979,6 @@ Computing Machinery] \def\@permissionCodeOne{1533-5399}% \or % TOMACS \def\@journalName{ACM Transactions on Modeling and Computer Simulation}% - \def\@journalName{ACM Transactions on Modeling and Computer Simulation}% \def\@journalNameShort{ACM Trans. Model. Comput. Simul.}% \or % TOMM \def\@journalName{ACM Transactions on Multimedia Computing, Communications and Applications}% @@ -1123,7 +1124,7 @@ Computing Machinery] \g@addto@macro\addresses{\affiliation{#1}{#2}}% \fi} \define@boolkey+{@ACM@affiliation@}[@ACM@affiliation@]{obeypunctuation}% -[true]{}{\ClassError{\@classname}{obeypunctuation must be true or false}} +[true]{}{\ClassError{\@classname}{The option obeypunctuation can be either true or false}} \def\additionalaffiliation#1{\authornote{\@additionalaffiliation{#1}}} \def\@additionalaffiliation#1{\bgroup \def\position##1{\ignorespaces}% @@ -1231,22 +1232,22 @@ Computing Machinery] \ClassInfo{\@classname}{Printing CCS}% \else \ClassInfo{\@classname}{Suppressing CCS}% - \fi}{\ClassError{\@classname}{printccs must be true or false}} + \fi}{\ClassError{\@classname}{The option printccs can be either true or false}} \define@boolkey+{@ACM@topmatter@}[@ACM@]{printacmref}[true]{% \if@ACM@printacmref \ClassInfo{\@classname}{Printing bibformat}% \else \ClassInfo{\@classname}{Suppressing bibformat}% - \fi}{\ClassError{\@classname}{printacmref must be true or false}} + \fi}{\ClassError{\@classname}{The option printacmref can be either true or false}} \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}} + \fi}{\ClassError{\@classname}{The option printfolios can be either true or false}} \define@cmdkey{@ACM@topmatter@}[@ACM@]{authorsperrow}[0]{% \IfInteger{#1}{\ClassInfo{\@classname}{Setting authorsperrow to - #1}}{\ClassWarning{\@classname}{Parameter authorsperrow must be + #1}}{\ClassWarning{\@classname}{The parameter authorsperrow must be numerical. Ignoring the input #1}\gdef\@ACM@authorsperrow{0}}} \def\settopmatter#1{\setkeys{@ACM@topmatter@}{#1}} \settopmatter{printccs=true, printacmref=true} @@ -1314,9 +1315,9 @@ Computing Machinery] \define@choicekey*{ACM@}{acmcopyrightmode}[% \acm@copyrightinput\acm@copyrightmode]{none,% acmcopyright,acmlicensed,rightsretained,% - usgov,usgovmixed,cagov,cagovmixed,% - licensedusgovmixed,% - licensedcagov,licensedcagovmixed,othergov,licensedothergov}{% + usgov,usgovmixed,cagov,cagovmixed,licensedusgovmixed,% + licensedcagov,licensedcagovmixed,othergov,licensedothergov,% + iw3c2w3,iw3c2w3g}{% \@printpermissiontrue \@printcopyrighttrue \@acmownedtrue @@ -1355,6 +1356,12 @@ Computing Machinery] \fi \ifnum\acm@copyrightmode=12\relax % licensedothergov \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=13\relax % iw3c2w3 + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=14\relax % iw3c2w3g + \@acmownedfalse \fi} \def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}} \setcopyright{acmcopyright} @@ -1364,7 +1371,7 @@ Computing Machinery] Association for Computing Machinery. \or % acmlicensed Copyright held by the owner/author(s). Publication rights licensed to - Association for Computing Machinery. + the Association for Computing Machinery. \or % rightsretained Copyright held by the owner/author(s). \or % usgov @@ -1376,18 +1383,24 @@ Computing Machinery] Association for Computing Machinery. \or %licensedusgovmixed Copyright held by the owner/author(s). Publication rights licensed to - Association for Computing Machinery. + the Association for Computing Machinery. \or % licensedcagov Crown in Right of Canada. Publication rights licensed to - Association for Computing Machinery. + the Association for Computing Machinery. \or %licensedcagovmixed Copyright held by the owner/author(s). Publication rights licensed to - Association for Computing Machinery. + the Association for Computing Machinery. \or % othergov Association for Computing Machinery. \or % licensedothergov Copyright held by the owner/author(s). Publication rights licensed to - Association for Computing Machinery. + the Association for Computing Machinery. + \or % ic2w3www + IW3C2 (International World Wide Web Conference Committee), published + under Creative Commons CC~BY~4.0 License. + \or % ic2w3wwwgoogle + IW3C2 (International World Wide Web Conference Committee), published + under Creative Commons CC~BY-NC-ND~4.0 License. \fi} \def\@formatdoi#1{\url{https://doi.org/#1}} \def\@copyrightpermission{% @@ -1501,7 +1514,26 @@ Computing Machinery] retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only. - \fi} + \or % iw3c2w3 + This paper is published under the Creative Commons Attribution~4.0 + International (CC~BY~4.0) license. Authors reserve their rights to + disseminate the work on their personal and corporate Web sites with + the appropriate attribution. In case of republication, reuse, etc., + the following attribution should be used: ``Published in + WWW\@acmYear{} Proceedings \textcopyright{} \@copyrightyear{} + International World Wide Web Conference Committee, published under + Creative Commons~CC~BY~4.0 License.'' + \or % iw3c2w3g + This paper is published under the Creative Commons + Attribution-NonCommercial-NoDerivs~4.0 International + (CC~BY-NC-ND~4.0) license. Authors reserve their rights to + disseminate the work on their personal and corporate Web sites with + the appropriate attribution. In case of republication, reuse, etc., + the following attribution should be used: ``Published in + WWW\@acmYear{} Proceedings \textcopyright{} \@copyrightyear + International World Wide Web Conference Committee, published under + Creative Commons CC~BY-NC-ND~4.0 License.'' + \fi} \def\copyrightyear#1{\def\@copyrightyear{#1}} \copyrightyear{\@acmYear} \def\@teaserfigures{} @@ -1526,7 +1558,7 @@ Computing Machinery] \renewcommand\thefootnote{\@fnsymbol\c@footnote}% \global\@topnum\z@ % this prevents floats from falling % at the top of page 1 - \global\@botnum\z@ % we do not want them to be on bottom either + \global\@botnum\z@ % we do not want them to be on the bottom either \hsize=\textwidth \def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}% \@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers @@ -1537,7 +1569,8 @@ Computing Machinery] \@titlenotes \@subtitlenotes \@authornotes - \let\@makefnmark\relax \let\@thefnmark\relax + \let\@makefnmark\relax + \let\@thefnmark\relax \let\@makefntext\noindent \ifx\@empty\thankses\else \footnotetextauthorsaddresses{% @@ -1554,8 +1587,7 @@ Computing Machinery] \footnotetextcopyrightpermission{% \if@ACM@authordraft \raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries - Unpublished - working draft. Not for distribution}}% + Unpublished working draft. Not for distribution.}}% \color[gray]{0.9}% \fi \parindent\z@\parskip0.1\baselineskip @@ -1625,10 +1657,17 @@ Computing Machinery] \if@ACM@printacmref \@mkbibcitation \fi - \hypersetup{pdfauthor={\authors}, + \hypersetup{% + pdflang={English}, + pdfdisplaydoctitle, + pdfauthor={\authors}, pdftitle={\@title}, pdfsubject={\@concepts}, - pdfkeywords={\@keywords}}% + pdfkeywords={\@keywords}, + pdfcreator={LaTeX with acmart + \csname ver@acmart.cls\endcsname\space + and hyperref + \csname ver@hyperref.sty\endcsname}}% \@printendtopmatter \@afterindentfalse \@afterheading @@ -2072,7 +2111,7 @@ Computing Machinery] \ifx\@abstract\@lempty\else {\phantomsection\addcontentsline{toc}{section}{Abstract}% \if@ACM@journal - \small\noindent + \everypar{\setbox\z@\lastbox\everypar{}}\small \else \section*{Abstract}% \fi @@ -2083,7 +2122,7 @@ Computing Machinery] \def\footnotemark{}% \def\\{\unskip{} \ignorespaces}% \def\footnote{\ClassError{\@classname}{Please do note use footnotes - inside \string\title{} or \string\author{} command! Use + inside a \string\title{} or \string\author{} command! Use \string\titlenote{} or \string\authornote{} instead!}}% \def\@article@string{\ifx\@acmArticle\@empty{\ }\else, Article~\@acmArticle\ \fi}% @@ -2102,7 +2141,7 @@ Computing Machinery] ACM, New York, NY, USA% \@article@string\unskip, \ref{TotPages}~\@pages@word. \fi - \@formatdoi{\@acmDOI} + \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi \par\egroup} \def\@printendtopmatter{\par\bigskip} \def\@setthanks{\long\def\thanks##1{\par##1\@addpunct.}\thankses} @@ -2138,7 +2177,7 @@ Computing Machinery] \end{picture}% \fi} \if@ACM@timestamp - % Subtracting 30 from \time gives us the effect of rounding-down despite + % Subtracting 30 from \time gives us the effect of rounding down despite % \numexpr rounding to nearest \newcounter{ACM@time@hours} \setcounter{ACM@time@hours}{\numexpr (\time - 30) / 60 \relax} @@ -2146,36 +2185,16 @@ Computing Machinery] \setcounter{ACM@time@minutes}{\numexpr \time - \theACM@time@hours * 60 \relax} \newcommand\ACM@timestamp{% \footnotesize% - \the\year-\two@digits{\the\month}-\two@digits{\the\day}{ }% - \two@digits{\theACM@time@hours}:\two@digits{\theACM@time@minutes}{ }% - page~\thepage\ (pp. \@startPage-\pageref*{TotPages})% \ifx\@acmSubmissionID\@empty\relax\else - ~Submission~ID: \@acmSubmissionID + Submission ID: \@acmSubmissionID.{ }% \fi + \the\year-\two@digits{\the\month}-\two@digits{\the\day}{ }% + \two@digits{\theACM@time@hours}:\two@digits{\theACM@time@minutes}{. }% + Page \thepage\ of \@startPage--\pageref*{TotPages}.% } \fi \def\@shortauthors{\if@ACM@anonymous Anon.\else\shortauthors\fi} -\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} +\def\@headfootfont{\sffamily} \fancypagestyle{standardpagestyle}{% \fancyhf{}% \renewcommand{\headrulewidth}{\z@}% @@ -2468,8 +2487,9 @@ Computing Machinery] \@ifundefined{proposition}{% \newtheorem{proposition}[theorem]{Proposition} }{} + \@ifundefined{lemma}{% \newtheorem{lemma}[theorem]{Lemma} - \@ifundefined{lemma}{}{} + }{} \@ifundefined{corollary}{% \newtheorem{corollary}[theorem]{Corollary} }{} |