From f713ac513a897193c8b6ac8e34d55d8490fe270f Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 12 Apr 2022 03:04:20 +0000 Subject: CTAN sync 202204120304 --- .../latex/contrib/acmart/ACM-Reference-Format.bbx | 830 ------------------- .../latex/contrib/acmart/ACM-Reference-Format.cbx | 5 - .../latex/contrib/acmart/ACM-Reference-Format.dbx | 18 - macros/latex/contrib/acmart/Makefile | 37 +- macros/latex/contrib/acmart/README | 5 + macros/latex/contrib/acmart/acmart.dtx | 70 +- macros/latex/contrib/acmart/acmart.pdf | Bin 863525 -> 866366 bytes macros/latex/contrib/acmart/acmauthoryear.bbx | 900 +++++++++++++++++++++ macros/latex/contrib/acmart/acmauthoryear.cbx | 219 +++++ macros/latex/contrib/acmart/acmdatamodel.dbx | 33 + macros/latex/contrib/acmart/acmguide.pdf | Bin 420338 -> 424543 bytes macros/latex/contrib/acmart/acmnumeric.bbx | 885 ++++++++++++++++++++ macros/latex/contrib/acmart/acmnumeric.cbx | 5 + macros/latex/contrib/acmart/samples/abbrev.bib | 86 ++ .../contrib/acmart/samples/sample-acmlarge.pdf | Bin 610121 -> 606012 bytes .../acmart/samples/sample-acmsmall-biblatex.pdf | Bin 0 -> 628553 bytes .../acmart/samples/sample-acmsmall-conf.pdf | Bin 1054227 -> 1050052 bytes .../acmart/samples/sample-acmsmall-submission.pdf | Bin 622637 -> 618411 bytes .../contrib/acmart/samples/sample-acmsmall.pdf | Bin 620122 -> 615907 bytes .../latex/contrib/acmart/samples/sample-acmtog.pdf | Bin 567307 -> 563275 bytes .../contrib/acmart/samples/sample-authordraft.pdf | Bin 1047403 -> 1043258 bytes .../contrib/acmart/samples/sample-lualatex.pdf | Bin 781211 -> 780356 bytes .../contrib/acmart/samples/sample-manuscript.pdf | Bin 622255 -> 618058 bytes .../acmart/samples/sample-sigconf-biblatex.pdf | Bin 0 -> 615620 bytes .../contrib/acmart/samples/sample-sigconf-i13n.pdf | Bin 1059382 -> 1055507 bytes .../contrib/acmart/samples/sample-sigconf.pdf | Bin 1043594 -> 1039457 bytes .../contrib/acmart/samples/sample-sigplan.pdf | Bin 1052136 -> 1048146 bytes .../contrib/acmart/samples/sample-xelatex.pdf | Bin 659566 -> 659217 bytes macros/latex/contrib/acmart/samples/samples.dtx | 137 +++- macros/latex/contrib/acmart/samples/samples.ins | 2 + macros/latex/contrib/acmart/samples/software.bib | 145 ++++ 31 files changed, 2485 insertions(+), 892 deletions(-) delete mode 100644 macros/latex/contrib/acmart/ACM-Reference-Format.bbx delete mode 100644 macros/latex/contrib/acmart/ACM-Reference-Format.cbx delete mode 100644 macros/latex/contrib/acmart/ACM-Reference-Format.dbx create mode 100644 macros/latex/contrib/acmart/acmauthoryear.bbx create mode 100644 macros/latex/contrib/acmart/acmauthoryear.cbx create mode 100644 macros/latex/contrib/acmart/acmdatamodel.dbx create mode 100644 macros/latex/contrib/acmart/acmnumeric.bbx create mode 100644 macros/latex/contrib/acmart/acmnumeric.cbx create mode 100644 macros/latex/contrib/acmart/samples/abbrev.bib create mode 100644 macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf create mode 100644 macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf create mode 100644 macros/latex/contrib/acmart/samples/software.bib (limited to 'macros/latex/contrib/acmart') diff --git a/macros/latex/contrib/acmart/ACM-Reference-Format.bbx b/macros/latex/contrib/acmart/ACM-Reference-Format.bbx deleted file mode 100644 index e9cb545300..0000000000 --- a/macros/latex/contrib/acmart/ACM-Reference-Format.bbx +++ /dev/null @@ -1,830 +0,0 @@ -\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} - -\renewbibmacro*{doi+eprint+url}{% - \iftoggle{bbx:url} - {\iffieldundef{doi}{\usebibmacro{url+urldate}}{}} - {}% - \newunit\newblock - \iftoggle{bbx:eprint} - {\usebibmacro{eprint}} - {}% - \newunit\newblock - \iftoggle{bbx:doi} - {\printfield{doi}} - {}} - - -%%% 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/macros/latex/contrib/acmart/ACM-Reference-Format.cbx b/macros/latex/contrib/acmart/ACM-Reference-Format.cbx deleted file mode 100644 index 7ec588b2cb..0000000000 --- a/macros/latex/contrib/acmart/ACM-Reference-Format.cbx +++ /dev/null @@ -1,5 +0,0 @@ -\ProvidesFile{ACM-Reference-Format.cbx}[2017-09-27 v0.1] - -\RequireCitationStyle{numeric} - -\endinput diff --git a/macros/latex/contrib/acmart/ACM-Reference-Format.dbx b/macros/latex/contrib/acmart/ACM-Reference-Format.dbx deleted file mode 100644 index 76ff1f1759..0000000000 --- a/macros/latex/contrib/acmart/ACM-Reference-Format.dbx +++ /dev/null @@ -1,18 +0,0 @@ -% 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/macros/latex/contrib/acmart/Makefile b/macros/latex/contrib/acmart/Makefile index 916c87c9f1..44f80ef195 100644 --- a/macros/latex/contrib/acmart/Makefile +++ b/macros/latex/contrib/acmart/Makefile @@ -11,8 +11,10 @@ PACKAGE=acmart PDF = $(PACKAGE).pdf acmguide.pdf -all: ${PDF} ALLSAMPLES +BIBLATEXFILES= $(wildcard *.bbx) $(wildcard *.cbx) $(wildcard *.dbx) $(wildcard *.lbx) +SAMPLEBIBLATEXFILES=$(patsubst %,samples/%,$(BIBLATEXFILES)) +all: ${PDF} ALLSAMPLES %.pdf: %.dtx $(PACKAGE).cls pdflatex $< @@ -36,7 +38,7 @@ acmguide.pdf: $(PACKAGE).dtx $(PACKAGE).cls pdflatex $< -ALLSAMPLES: +ALLSAMPLES: $(SAMPLEBIBLATEXFILES) cd samples; pdflatex samples.ins; cd .. for texfile in samples/*.tex; do \ pdffile=$${texfile%.tex}.pdf; \ @@ -50,6 +52,17 @@ samples/%: % samples/$(PACKAGE).cls: $(PACKAGE).cls samples/ACM-Reference-Format.bst: ACM-Reference-Format.bst +samples/abbrev.bib: ACM-Reference-Format.bst + perl -pe 's/MACRO ({[^}]*}) *\n/MACRO \1/' ACM-Reference-Format.bst \ + | grep MACRO | sed 's/MACRO {/@STRING{/' \ + | sed 's/} *{/ = /' > samples/abbrev.bib + + +samples/%.bbx: %.bbx +samples/%.cbx: %.cbx +samples/%.dbx: %.dbx +samples/%.lbx: %.lbx + samples/%.pdf: samples/%.tex samples/$(PACKAGE).cls samples/ACM-Reference-Format.bst cd $(dir $@) && pdflatex-dev $(notdir $<) - cd $(dir $@) && bibtex $(notdir $(basename $<)) @@ -58,6 +71,22 @@ samples/%.pdf: samples/%.tex samples/$(PACKAGE).cls samples/ACM-Reference-For while ( grep -q '^LaTeX Warning: Label(s) may have changed' $(basename $<).log) \ do cd $(dir $@) && pdflatex-dev $(notdir $<); done +samples/sample-sigconf-biblatex.pdf: samples/sample-sigconf-biblatex.tex $(SAMPLEBIBLATEXFILES) + cd $(dir $@) && pdflatex-dev $(notdir $<) + - cd $(dir $@) && biber $(notdir $(basename $<)) + cd $(dir $@) && pdflatex-dev $(notdir $<) + cd $(dir $@) && pdflatex-dev $(notdir $<) + while ( grep -q '^LaTeX Warning: Label(s) may have changed' $(basename $<).log) \ + do cd $(dir $@) && pdflatex-dev $(notdir $<); done + +samples/sample-acmsmall-biblatex.pdf: samples/sample-acmsmall-biblatex.tex $(SAMPLEBIBLATEXFILES) + cd $(dir $@) && pdflatex-dev $(notdir $<) + - cd $(dir $@) && biber $(notdir $(basename $<)) + cd $(dir $@) && pdflatex-dev $(notdir $<) + cd $(dir $@) && pdflatex-dev $(notdir $<) + while ( grep -q '^LaTeX Warning: Label(s) may have changed' $(basename $<).log) \ + do cd $(dir $@) && pdflatex-dev $(notdir $<); done + samples/sample-xelatex.pdf: samples/sample-xelatex.tex samples/$(PACKAGE).cls samples/ACM-Reference-Format.bst cd $(dir $@) && xelatex-dev $(notdir $<) - cd $(dir $@) && bibtex $(notdir $(basename $<)) @@ -86,8 +115,8 @@ docclean: *.dvi *.ps *.thm *.tgz *.zip *.rpi \ samples/$(PACKAGE).cls samples/ACM-Reference-Format.bst \ samples/*.log samples/*.aux samples/*.out \ - samples/*.bbl samples/*.blg samples/*.cut - + samples/*.bbl samples/*.blg samples/*.cut \ + samples/*.run.xml samples/*.bcf $(SAMPLEBIBLATEXFILES) clean: docclean diff --git a/macros/latex/contrib/acmart/README b/macros/latex/contrib/acmart/README index 0e67fae461..fd58d1d82e 100644 --- a/macros/latex/contrib/acmart/README +++ b/macros/latex/contrib/acmart/README @@ -12,6 +12,11 @@ The production version is the one on CTAN and ACM sites. Changes +Version 1.84 Support for BibLaTeX rewritten (thanks to + Roberto Di Cosmo and Kartik Singhal) + Corrected German translation (thanks to Dirk Beyer) + New journals + Version 1.83 Support for multilanguage papers ISSN changes for some journals diff --git a/macros/latex/contrib/acmart/acmart.dtx b/macros/latex/contrib/acmart/acmart.dtx index 01f6c81eba..e33a089ce8 100644 --- a/macros/latex/contrib/acmart/acmart.dtx +++ b/macros/latex/contrib/acmart/acmart.dtx @@ -1,6 +1,6 @@ % \iffalse % -% Copyright 2016-2021, Association for Computing Machinery +% Copyright 2016-2022, Association for Computing Machinery % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3 of this license or (at your option) any @@ -57,7 +57,7 @@ % \ifx\currentjob\guide\OnlyDescription\fi % \GetFileInfo{acmart.dtx} % \title{\LaTeX{} Class for the \emph{Association for Computing -% Machinery}\thanks{\copyright 2016--2021, Association for Computing Machinery}} +% Machinery}\thanks{\copyright 2016--2022, Association for Computing Machinery}} % \author{Boris Veytsman\thanks{% % \href{mailto:borisv@lk.net}{\texttt{borisv@lk.net}}, % \href{mailto:boris@varphi.com}{\texttt{boris@varphi.com}}}} @@ -106,6 +106,7 @@ % Yegor Bugayenko, % Benjamin Byholm, % John Collins, +% Roberto Di Cosmo, % Nils Anders Danielsson, % Michael Ekstrand, % Matthew Fluet, @@ -301,7 +302,7 @@ % \midrule % manuscript & A manuscript. This is the default. \\ % acmsmall & Small single-column format. Used for CIE, CSUR, -% DLT, FAC, JACM, JDIQ, JEA, JERIC, +% DLT, FAC, GAMES, JACM, JDIQ, JDS, JEA, JERIC, % JETC, PACMCGIT, PACMHCI, PACMPL, TAAS, TACCESS, TACO, % TALG, TALLIP (formerly TALIP), TCPS, TDS, % TEAC, TECS, TELO, THRI, TIIS, TIOT, TISSEC, TIST, TKDD, TMIS, @@ -1506,7 +1507,11 @@ %\subsection{Bibliography} %\label{sec:ug_bibliography} % -% The ACM uses the |natbib| package for formatting references and +% The ACM lets you use either Bib\TeX\ or Bib\LaTeX\ to process your references: +% they require slightly different setup of your \LaTeX\ file, as detailed in +% the following subsections. +%\subsubsection{Processing using Bib\TeX} +% This uses the |natbib| package for formatting references and % the Bib\TeX\ style file \path{ACM-Reference-Format.bst} for Bib\TeX\ % processing. You can disable loading of |natbib| using the % option |natbib=false| in \cs{documentclass}. However, it is not @@ -1702,7 +1707,44 @@ % are includes, so you can use strings like |journal = taccess| for % \emph{ACM Transactions on Accessible Computing}. % +%\subsubsection{Processing using Bib\LaTeX} +% You will find in this package two sets of style files for Bib\LaTeX, +% \verb|acmnumeric| and \verb|acmauthoryear|, that mimic the behaviour +% of the ACM-Reference-Format.bst Bib\TeX\ sytle. They provide you +% access to all the power of Bib\LaTeX\ and already include +% support for advanced citation of software artefact from the +% \verb|biblatex-software| package, also separately available on CTAN. +% Look at the \verb|biblatex-software| documentation to learn more about +% what it offers. +% +% There are a few key differences in how the \LaTeX\ sources are set up +% when using Bib\LaTeX\ instead of Bib\TeX, that we summarize briefly +% here (please refer to the official Bib\LaTeX\ documentation for more details). % +% In the preamble of your document you need to load the Bib\LaTeX\ package +% and select the approriate bibliography style, as follows +% \begin{verbatim} +% \RequirePackage[ +% datamodel=acmdatamodel, +% style=acmnumeric, % use style=acmauthoryear for publications that require it +% ]{biblatex} +% \end{verbatim} +% +% Also in the preamble, you need to declare the bibliography sources files +% using the \verb|\addbibresouce| directe (one \verb|\addbibresource| +% command per source file), e.g.: +% \begin{verbatim} +% \addbibresource{software.bib} +% \addbibresource{sample-base.bib} +% \end{verbatim} +% +% At the end of the document, where you want the bibliography to appear, +% you need to place the command \verb|\printbibliography|. +% +% Look at the \verb|sample-*-biblatex.tex| files that can be found in the samples +% directory after running \verb|make| for templates showcasing +% these Bib\LaTeX\ styles. + %\subsection{Colors} %\label{sec:ug_colors} % @@ -1910,11 +1952,13 @@ % DGOV & Digital Government: Research and Practice \\ % DTRAP & Digital Threats: Research and Practice\\ % FAC & Formal Aspects of Computing \\ +% GAMES & ACM Games: Research and Practice\\ % HEALTH & ACM Transactions on Computing for Healthcare\\ % IMWUT & PACM on Interactive, Mobile, Wearable and Ubiquitous % Technologies\\ % JACM & Journal of the ACM \\ % JDIQ & ACM Journal of Data and Information Quality \\ +% JDS & ACM/IMS Journal of Data Science \\ % JEA & ACM Journal of Experimental Algorithmics \\ % JERIC & ACM Journal of Educational Resources in Computing\\ % JETC & ACM Journal on Emerging Technologies in Computing Systems \\ @@ -2043,7 +2087,7 @@ \ProvidesFile{acmart.dtx} % %\ProvidesClass{acmart} -[2022/02/19 v1.83 Typesetting articles for the Association for Computing Machinery] +[2022/04/09 v1.84 Typesetting articles for the Association for Computing Machinery] % \end{macrocode} % % \changes{v1.00}{2016/04/14}{First released version} @@ -2151,6 +2195,7 @@ % fonts} % \changes{1.75}{2020/10/29}{Documentation update} % \changes{1.78}{2021/05/01}{Documentation update: Word count} +% \changes{1.84}{2022/04/09}{New journals: JDS, GAMES} % % And the driver code: % \begin{macrocode} @@ -2821,9 +2866,9 @@ }% \addto\captionsgerman{% \if@ACM@journal - \renewcommand\keywordsname{Zusätzliche Schlüsselwörter und Phrasen}% + \renewcommand\keywordsname{Zusätzliche Schlagwörter und Phrasen}% \else - \renewcommand\keywordsname{Schlüsselwörter}% + \renewcommand\keywordsname{Schlagwörter}% \fi \renewcommand\acksname{Danksagungen}% }% @@ -4004,6 +4049,7 @@ % \changes{1.80}{2021/09/24}{Added DLT and FAC} % \changes{1.82}{2022/02/05}{Updated abbreviations and codes for % several journals} +% \changes{1.84}{2022/04/09}{New journals: JDS, GAMES} % % We use the |xkeyval| interface to define journal titles and the relevant % information @@ -4015,10 +4061,12 @@ DLT,% DTRAP,% FAC,% + GAMES,% HEALTH,% IMWUT,% JACM,% JDIQ,% + JDS,% JEA,% JERIC,% JETC,% @@ -4099,6 +4147,9 @@ \def\@journalNameShort{Form. Asp. Comput.}% \def\@permissionCodeOne{0934-5043}% \def\@permissionCodeTwo{1433-299X}% +\or % GAMES + \def\@journalName{ACM Games: Research and Practice}% + \def\@journalNameShort{ACM Games}% \or % HEALTH \def\@journalName{ACM Transactions on Computing for Healthcare}% \def\@journalNameShort{ACM Trans. Comput. Healthcare}% @@ -4118,6 +4169,11 @@ \def\@journalName{ACM Journal of Data and Information Quality}% \def\@journalNameShort{ACM J. Data Inform. Quality}% \def\@permissionCodeOne{1936-1955}% +\or % JDS + \def\@journalName{ACM/JMS Journal of Data Science}% + \def\@journalNameShort{ACM/IMS J. Data Sci.}% + \def\@permissionCodeOne{2831-3194}% + \def\@permissionCodeTwo{2831-3194}% \or % JEA \def\@journalName{ACM Journal of Experimental Algorithmics}% \def\@journalNameShort{ACM J. Exp. Algor.}% diff --git a/macros/latex/contrib/acmart/acmart.pdf b/macros/latex/contrib/acmart/acmart.pdf index cdeaf52e2f..eff9c12b4a 100644 Binary files a/macros/latex/contrib/acmart/acmart.pdf and b/macros/latex/contrib/acmart/acmart.pdf differ diff --git a/macros/latex/contrib/acmart/acmauthoryear.bbx b/macros/latex/contrib/acmart/acmauthoryear.bbx new file mode 100644 index 0000000000..de5e3c6c06 --- /dev/null +++ b/macros/latex/contrib/acmart/acmauthoryear.bbx @@ -0,0 +1,900 @@ +\ProvidesFile{acmauthoryear.bbx}[2022-02-14 v0.1 biblatex bibliography style] + +% Inherit a default style +\RequireBibliographyStyle{authoryear-comp} + +%%% New command definitions from trad-standard.bbx + +\newcommand*{\newcommaunit}{\@ifstar\newcommaunitStar\newcommaunitNoStar} +\newcommand*{\newcommaunitStar}{\setunit*{\addcomma\space}} +\newcommand*{\newcommaunitNoStar}{\setunit{\addcomma\space}} + +%%% Forward compatibility for date+extradate + +\ifcsundef{ifbibmacroundef}{ + \ifcsundef{abx@macro@date+extradate}{ %%% For really really old biblatex that miss \ifbibmacroundef + \blx@warning{bibmacro 'date+extradate' is missing.\MessageBreak + Please consider updating your version of biblatex.\MessageBreak + Using 'date+extrayear' instead}% + \providebibmacro*{date+extradate}{\usebibmacro{date+extrayear}} + }{} + } + { + \ifbibmacroundef{date+extradate}{ + \blx@warning{bibmacro 'date+extradate' is missing.\MessageBreak + Please consider updating your version of biblatex.\MessageBreak + Using 'date+extrayear' instead}% + \providebibmacro*{date+extradate}{\usebibmacro{date+extrayear}} + }{} + } + +%%% 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} +\DeclareFieldFormat{lastaccessed}{Retrieved\space{}#1\space{}from} + +\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} + {\iffieldundef{lastaccessed} + {} + {\printfield{lastaccessed}% + \setunit*{\addspace}}% + } + {\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}}} + \usebibmacro{date+extradate} + } + + +\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} + +\renewbibmacro*{doi+eprint+url}{% + \iftoggle{bbx:url} + {\iffieldundef{doi}{ + \usebibmacro{url+urldate} + }{\iffieldundef{distinctURL} + {} + {\usebibmacro{url+urldate}} + } + }% + \newunit\newblock + \iftoggle{bbx:eprint} + {\usebibmacro{eprint}} + {}% + \newunit\newblock + \iftoggle{bbx:doi} + {\printfield{doi}} + {}} + + +%%% Definitions for drivers (alphabetical) + + + +\DeclareBibliographyDriver{article}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\labelnamepunct}\newblock% + \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{isbn}} + {}% + \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{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{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{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{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{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{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{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{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{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{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{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}} + +% +% Include support for software entries +% +\blx@inputonce{software.bbx}{biblatex style for software}{}{}{}{} + +% +% Handle ACM specific ArtifactSoftware entry exactly as the software entry (a soft alias will not work) +% +\DeclareStyleSourcemap{ + \maps[datatype=bibtex]{ + \map{ + \step[typesource=artifactsoftware,typetarget=software] + \step[typesource=artifactdataset,typetarget=dataset] + } + } +} + +%%% Compatibility with ACM bibtex formatting + + +% +% Show given name first in the reference list +% +\DeclareNameAlias{sortname}{given-family} + +% +% Produce a bibliography with small font size +% +\renewcommand*{\bibfont}{\bibliofont\footnotesize} + +% +% Remove parentheses from date+extradate +% +\RequirePackage{xpatch} +\xpatchbibmacro{date+extradate}{% + \printtext[parens]% +}{% + \newblock\setunit*{.\space}% + \printtext% +}{}{} + + +%%% Set option values for ACM style + +\ExecuteBibliographyOptions{ + dashed=false, % Do not use dashes for bibliography items with the same set of authors + labeldate=year, + abbreviate=true, + dateabbrev=true, + isbn=true, + doi=true, + urldate=comp, + url=true, + maxbibnames=9, + maxcitenames=2, + backref=false, + sorting=nty, + halid=true, + swhid=true, + swlabels=true, + vcs=true, + license=false, + language=american + } diff --git a/macros/latex/contrib/acmart/acmauthoryear.cbx b/macros/latex/contrib/acmart/acmauthoryear.cbx new file mode 100644 index 0000000000..5c21110a39 --- /dev/null +++ b/macros/latex/contrib/acmart/acmauthoryear.cbx @@ -0,0 +1,219 @@ +\ProvidesFile{acmauthoryear.cbx}[2022-02-14 v0.1] + +\RequireCitationStyle{authoryear-comp} +\RequirePackage{xpatch} + +% +% Hyperlink citations like acmart natbib implementation +% +% From https://tex.stackexchange.com/a/27615/133551 + +% Combine label and labelyear links +\xpatchbibmacro{cite} + {\usebibmacro{cite:label}% + \setunit{\printdelim{nonameyeardelim}}% + \usebibmacro{cite:labeldate+extradate}} + {\printtext[bibhyperref]{% + \DeclareFieldAlias{bibhyperref}{default}% + \usebibmacro{cite:label}% + \setunit{\printdelim{nonameyeardelim}}% + \usebibmacro{cite:labeldate+extradate}}} + {} + {\PackageWarning{biblatex-patch} + {Failed to patch cite bibmacro}} + +% Include labelname in labelyear link +\xpatchbibmacro{cite} + {\printnames{labelname}% + \setunit{\printdelim{nameyeardelim}}% + \usebibmacro{cite:labeldate+extradate}} + {\printtext[bibhyperref]{% + \DeclareFieldAlias{bibhyperref}{default}% + \printnames{labelname}% + \setunit{\printdelim{nameyeardelim}}% + \usebibmacro{cite:labeldate+extradate}}} + {} + {\PackageWarning{biblatex-patch} + {Failed to patch cite bibmacro}} + +\renewbibmacro*{textcite}{% + \iffieldequals{namehash}{\cbx@lasthash} + {\iffieldundef{shorthand} + {\ifthenelse{\iffieldequals{labelyear}{\cbx@lastyear}\AND + \(\value{multicitecount}=0\OR\iffieldundef{postnote}\)} + {\setunit{\addcomma}% + \usebibmacro{cite:extradate}} + {\setunit{\compcitedelim}% + \usebibmacro{cite:labeldate+extradate}% + \savefield{labelyear}{\cbx@lastyear}}} + {\setunit{\compcitedelim}% + \usebibmacro{cite:shorthand}% + \global\undef\cbx@lastyear}} + {\ifnameundef{labelname} + {\iffieldundef{shorthand} + {\usebibmacro{cite:label}% + \setunit{% + \global\booltrue{cbx:parens}% + \printdelim{nonameyeardelim}\bibopenbracket}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \usebibmacro{cite:labeldate+extradate}} + {\usebibmacro{cite:shorthand}}} + {\printnames{labelname}% + \setunit{% + \global\booltrue{cbx:parens}% + \printdelim{nameyeardelim}\bibopenbracket}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \iffieldundef{shorthand} + {\iffieldundef{labelyear} + {\usebibmacro{cite:label}} + {\usebibmacro{cite:labeldate+extradate}}% + \savefield{labelyear}{\cbx@lastyear}} + {\usebibmacro{cite:shorthand}% + \global\undef\cbx@lastyear}}% + \stepcounter{textcitecount}% + \savefield{namehash}{\cbx@lasthash}}% + \setunit{% + \ifbool{cbx:parens} + {\bibclosebracket\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}} + +\xpatchbibmacro{textcite} + {\printnames{labelname}} + {\printtext[bibhyperref]{\printnames{labelname}}} + {} + {\PackageWarning{biblatex-patch} + {Failed to patch textcite bibmacro}} + +\renewbibmacro*{textcite:postnote}{% + \usebibmacro{postnote}% + \ifthenelse{\value{multicitecount}=\value{multicitetotal}} + {\setunit{}% + \printtext{% + \ifbool{cbx:parens} + {\bibclosebracket\global\boolfalse{cbx:parens}} + {}}} + {\setunit{% + \ifbool{cbx:parens} + {\bibclosebracket\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}}} + +% NEW +\newbibmacro*{citeauthor}{% + \ifnameundef{labelname} + {\iffieldundef{shorthand} + {\printtext[bibhyperref]{% + \usebibmacro{cite:label}}% + \setunit{% + \global\booltrue{cbx:parens}% + \printdelim{nonameyeardelim}\bibopenbracket}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \printtext[bibhyperref]{\usebibmacro{cite:labeldate+extradate}}} + {\printtext[bibhyperref]{\usebibmacro{cite:shorthand}}}} + \printtext[bibhyperref]{\printnames{labelname}}} + +% +% Put brackets around citations +% + +\DeclareCiteCommand{\cite}[\mkbibbrackets] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\cite}[\mkbibbrackets] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citeyear}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibbrackets] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\parencite}[\mkbibbrackets] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citeyear}} + {} + {\usebibmacro{postnote}} + +\DeclareMultiCiteCommand{\parencites}[\mkbibbrackets]{\parencite} + {\setunit{\multicitedelim}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibbrackets\mkbibfootnote] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{postnote}} + +\DeclareMultiCiteCommand{\smartcites}[\iffootnote\mkbibbrackets\mkbibfootnote] + {\smartcite}{\setunit{\multicitedelim}} + +\DeclareCiteCommand{\citeauthor} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citeauthor}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\citeyear} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citeyear}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\citeyearpar}[\mkbibbrackets] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citeyear}} + {} + {\usebibmacro{postnote}} + +% +% Provide aliases for natbib-compatible commands +% +\newcommand*{\citep}{\parencite} +\newcommand*{\citet}{\textcite} +% add others here + +\endinput diff --git a/macros/latex/contrib/acmart/acmdatamodel.dbx b/macros/latex/contrib/acmart/acmdatamodel.dbx new file mode 100644 index 0000000000..6bfb5843b5 --- /dev/null +++ b/macros/latex/contrib/acmart/acmdatamodel.dbx @@ -0,0 +1,33 @@ +% 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} + +% Teach biblatex about lastaccessed field +\DeclareDatamodelFields[type=field,datatype=literal]{lastaccessed} +\DeclareDatamodelEntryfields{lastaccessed} + +% Teach biblatex about distincturl field +\DeclareDatamodelFields[type=field, datatype=literal]{distinctURL} +\DeclareDatamodelEntryfields{distinctURL} + + +% +% include software data model from biblatex-software +% + +\blx@inputonce{software.dbx}{biblatex data model extension for software}{}{}{}{} diff --git a/macros/latex/contrib/acmart/acmguide.pdf b/macros/latex/contrib/acmart/acmguide.pdf index fcebb0ab63..7ae163f224 100644 Binary files a/macros/latex/contrib/acmart/acmguide.pdf and b/macros/latex/contrib/acmart/acmguide.pdf differ diff --git a/macros/latex/contrib/acmart/acmnumeric.bbx b/macros/latex/contrib/acmart/acmnumeric.bbx new file mode 100644 index 0000000000..c13e40137f --- /dev/null +++ b/macros/latex/contrib/acmart/acmnumeric.bbx @@ -0,0 +1,885 @@ +\ProvidesFile{acmnumeric.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} +\DeclareFieldFormat{lastaccessed}{Retrieved\space{}#1\space{}from} + +\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} + {\iffieldundef{lastaccessed} + {} + {\printfield{lastaccessed}% + \setunit*{\addspace}}% + } + {\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} + +\renewbibmacro*{doi+eprint+url}{% + \iftoggle{bbx:url} + {\iffieldundef{doi}{ + \usebibmacro{url+urldate} + }{\iffieldundef{distinctURL} + {} + {\usebibmacro{url+urldate}} + } + }% + \newunit\newblock + \iftoggle{bbx:eprint} + {\usebibmacro{eprint}} + {}% + \newunit\newblock + \iftoggle{bbx:doi} + {\printfield{doi}} + {}} + + +%%% 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{isbn}} + {}% + \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}} + +% +% Include support for software entries +% +\blx@inputonce{software.bbx}{biblatex style for software}{}{}{}{} + +% +% Handle ACM specific ArtifactSoftware entry exactly as the software entry (a soft alias will not work) +% +\DeclareStyleSourcemap{ + \maps[datatype=bibtex]{ + \map{ + \step[typesource=artifactsoftware,typetarget=software] + \step[typesource=artifactdataset,typetarget=dataset] + } + } +} + +% +% Show given name first in the reference list +% +\DeclareNameAlias{sortname}{given-family} + +% +% Produce a bibliography with small font size +% +\renewcommand*{\bibfont}{\bibliofont\footnotesize} + +%%% Set option values for ACM style + +\ExecuteBibliographyOptions{ + labeldate=year, + abbreviate=true, + dateabbrev=true, + isbn=true, + doi=true, + urldate=comp, + url=true, + maxbibnames=9, + maxcitenames=2, + backref=false, + sorting=nty, + halid=true, + swhid=true, + swlabels=true, + vcs=true, + license=false, + language=american + } \ No newline at end of file diff --git a/macros/latex/contrib/acmart/acmnumeric.cbx b/macros/latex/contrib/acmart/acmnumeric.cbx new file mode 100644 index 0000000000..99be1a0151 --- /dev/null +++ b/macros/latex/contrib/acmart/acmnumeric.cbx @@ -0,0 +1,5 @@ +\ProvidesFile{acmnumeric.cbx}[2017-09-27 v0.1] + +\RequireCitationStyle{numeric} + +\endinput diff --git a/macros/latex/contrib/acmart/samples/abbrev.bib b/macros/latex/contrib/acmart/samples/abbrev.bib new file mode 100644 index 0000000000..02e544b676 --- /dev/null +++ b/macros/latex/contrib/acmart/samples/abbrev.bib @@ -0,0 +1,86 @@ +@STRING{jan = "Jan."} +@STRING{feb = "Feb."} +@STRING{mar = "March"} +@STRING{apr = "April"} +@STRING{may = "May"} +@STRING{jun = "June"} +@STRING{jul = "July"} +@STRING{aug = "Aug."} +@STRING{sep = "Sept."} +@STRING{oct = "Oct."} +@STRING{nov = "Nov."} +@STRING{dec = "Dec."} +@STRING{cie = "ACM Computers in Entertainment"} +@STRING{csur = "ACM Computing Surveys"} +@STRING{dgov = "Digital Government: Research and Practice"} +@STRING{dtrap = "Digital Threats: Research and Practice"} +@STRING{health = "ACM Transactions on Computing for Healthcare"} +@STRING{imwut = "PACM on Interactive, Mobile, Wearable and Ubiquitous Technologies"} +@STRING{jacm = "Journal of the ACM"} +@STRING{jdiq = "ACM Journal of Data and Information Quality"} +@STRING{jea = "ACM Journal of Experimental Algorithmics"} +@STRING{jeric = "ACM Journal of Educational Resources in Computing"} +@STRING{jetc = "ACM Journal on Emerging Technologies in Computing Systems"} +@STRING{jocch = "ACM Journal on Computing and Cultural Heritage"} +@STRING{pacmcgit = "Proceedings of the ACM on Computer Graphics and Interactive Techniques"} +@STRING{pacmhci = "PACM on Human-Computer Interaction"} +@STRING{pacmpl = "PACM on Programming Languages"} +@STRING{pomacs = "PACM on Measurement and Analysis of Computing Systems"} +@STRING{taas = "ACM Transactions on Autonomous and Adaptive Systems"} +@STRING{taccess = "ACM Transactions on Accessible Computing"} +@STRING{taco = "ACM Transactions on Architecture and Code Optimization"} +@STRING{talg = "ACM Transactions on Algorithms"} +@STRING{tallip = "ACM Transactions on Asian and Low-Resource Language Information Processing"} +@STRING{tap = "ACM Transactions on Applied Perception"} +@STRING{tcps = "ACM Transactions on Cyber-Physical Systems"} +@STRING{tds = "ACM/IMS Transactions on Data Science"} +@STRING{teac = "ACM Transactions on Economics and Computation"} +@STRING{tecs = "ACM Transactions on Embedded Computing Systems"} +@STRING{telo = "ACM Transactions on Evolutionary Learning"} +@STRING{thri = "ACM Transactions on Human-Robot Interaction"} +@STRING{tiis = "ACM Transactions on Interactive Intelligent Systems"} +@STRING{tiot = "ACM Transactions on Internet of Things"} +@STRING{tissec = "ACM Transactions on Information and System Security"} +@STRING{tist = "ACM Transactions on Intelligent Systems and Technology"} +@STRING{tkdd = "ACM Transactions on Knowledge Discovery from Data"} +@STRING{tmis = "ACM Transactions on Management Information Systems"} +@STRING{toce = "ACM Transactions on Computing Education"} +@STRING{tochi = "ACM Transactions on Computer-Human Interaction"} +@STRING{tocl = "ACM Transactions on Computational Logic"} +@STRING{tocs = "ACM Transactions on Computer Systems"} +@STRING{toct = "ACM Transactions on Computation Theory"} +@STRING{todaes = "ACM Transactions on Design Automation of Electronic Systems"} +@STRING{tods = "ACM Transactions on Database Systems"} +@STRING{tog = "ACM Transactions on Graphics"} +@STRING{tois = "ACM Transactions on Information Systems"} +@STRING{toit = "ACM Transactions on Internet Technology"} +@STRING{tomacs = "ACM Transactions on Modeling and Computer Simulation"} +@STRING{tomm = "ACM Transactions on Multimedia Computing, Communications and Applications"} +@STRING{tompecs = "ACM Transactions on Modeling and Performance Evaluation of Computing Systems"} +@STRING{toms = "ACM Transactions on Mathematical Software"} +@STRING{topc = "ACM Transactions on Parallel Computing"} +@STRING{toplas = "ACM Transactions on Programming Languages and Systems"} +@STRING{tops = "ACM Transactions on Privacy and Security"} +@STRING{tos = "ACM Transactions on Storage"} +@STRING{tosem = "ACM Transactions on Software Engineering and Methodology"} +@STRING{tosn = "ACM Transactions on Sensor Networks"} +@STRING{tqc = "ACM Transactions on Quantum Computing"} +@STRING{trets = "ACM Transactions on Reconfigurable Technology and Systems"} +@STRING{tsas = "ACM Transactions on Spatial Algorithms and Systems"} +@STRING{tsc = "ACM Transactions on Social Computing"} +@STRING{tslp = "ACM Transactions on Speech and Language Processing"} +@STRING{tweb = "ACM Transactions on the Web"} +@STRING{acmcs = "ACM Computing Surveys"} +@STRING{acta = "Acta Informatica"} +@STRING{cacm = "Communications of the ACM"} +@STRING{ibmjrd = "IBM Journal of Research and Development"} +@STRING{ibmsj = "IBM Systems Journal"} +@STRING{ieeese = "IEEE Transactions on Software Engineering"} +@STRING{ieeetc = "IEEE Transactions on Computers"} +@STRING{ieeetcad = "IEEE Transactions on Computer-Aided Design of Integrated Circuits"} +@STRING{ipl = "Information Processing Letters"} +@STRING{jcss = "Journal of Computer and System Sciences"} +@STRING{scp = "Science of Computer Programming"} +@STRING{sicomp = "SIAM Journal on Computing"} +@STRING{toois = "ACM Transactions on Office Information Systems"} +@STRING{tcs = "Theoretical Computer Science"} diff --git a/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf b/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf index b5dcfd9ca7..712051ef4b 100644 Binary files a/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf and b/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf differ diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf new file mode 100644 index 0000000000..c8359ae059 Binary files /dev/null and b/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf differ diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf index 9b3ca788b6..6825c8a90f 100644 Binary files a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf and b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf differ diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf index be9729af33..bd3a38698d 100644 Binary files a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf and b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf differ diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf index 6873d96090..627a0f494d 100644 Binary files a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf and b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf differ diff --git a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf index d78ce126dc..8558edb183 100644 Binary files a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf and b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf differ diff --git a/macros/latex/contrib/acmart/samples/sample-authordraft.pdf b/macros/latex/contrib/acmart/samples/sample-authordraft.pdf index e51ee62a27..37f660358a 100644 Binary files a/macros/latex/contrib/acmart/samples/sample-authordraft.pdf and b/macros/latex/contrib/acmart/samples/sample-authordraft.pdf differ diff --git a/macros/latex/contrib/acmart/samples/sample-lualatex.pdf b/macros/latex/contrib/acmart/samples/sample-lualatex.pdf index d06751562f..e52aea57e9 100644 Binary files a/macros/latex/contrib/acmart/samples/sample-lualatex.pdf and b/macros/latex/contrib/acmart/samples/sample-lualatex.pdf differ diff --git a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf index 25cca1bc7f..ae1d5b4670 100644 Binary files a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf and b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf differ diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf new file mode 100644 index 0000000000..77e4cc038b Binary files /dev/null and b/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf differ diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf index 8960ce2ff4..54f5fdf09c 100644 Binary files a/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf and b/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf differ diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf index bd85371e7e..0267a91592 100644 Binary files a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf and b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf differ diff --git a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf index d8c8f67f1c..df60a4d500 100644 Binary files a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf and b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf differ diff --git a/macros/latex/contrib/acmart/samples/sample-xelatex.pdf b/macros/latex/contrib/acmart/samples/sample-xelatex.pdf index 25a4bdef54..3a4a9dc312 100644 Binary files a/macros/latex/contrib/acmart/samples/sample-xelatex.pdf and b/macros/latex/contrib/acmart/samples/sample-xelatex.pdf differ diff --git a/macros/latex/contrib/acmart/samples/samples.dtx b/macros/latex/contrib/acmart/samples/samples.dtx index 3d8fc9abda..a0f638aecb 100644 --- a/macros/latex/contrib/acmart/samples/samples.dtx +++ b/macros/latex/contrib/acmart/samples/samples.dtx @@ -1,4 +1,4 @@ -%<*manuscript|acmsmall|acmsmall-submission|acmlarge|acmtog|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n> +%<*manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n> %% %% %% Commands for TeXCount @@ -18,10 +18,12 @@ %% The first command in your LaTeX source must be the \documentclass command. %\documentclass[manuscript,screen,review]{acmart} %\documentclass[acmsmall]{acmart} +%\documentclass[acmsmall,natbib=false]{acmart} %\documentclass[acmsmall,screen,review]{acmart} %\documentclass[acmlarge]{acmart} %\documentclass[acmtog]{acmart} %\documentclass[sigconf]{acmart} +%\documentclass[sigconf,natbib=false]{acmart} %\documentclass[sigconf,authordraft]{acmart} %\documentclass[sigplan,screen]{acmart} %\documentclass[sigchi]{acmart} @@ -33,7 +35,7 @@ %% \BibTeX command to typeset BibTeX logo in the docs \AtBeginDocument{% \providecommand\BibTeX{{% - \normalfont B\kern-0.5em{\scshape i\kern-0.25em b}\kern-0.8em\TeX}}} + Bib\TeX}}} %% Rights management information. This information is sent to you %% when you complete the rights form. These commands have SAMPLE @@ -46,7 +48,7 @@ \acmYear{2018} \acmDOI{XXXXXXX.XXXXXXX} -% +% %<*manuscript|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n> %% These commands are for a PROCEEDINGS abstract or paper. \acmConference[Conference acronym 'XX]{Make sure to enter the correct @@ -62,18 +64,18 @@ \acmISBN{978-1-4503-XXXX-X/18/06} % -%<*acmsmall|acmsmall-submission|acmlarge|acmtog> +%<*acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog> %% %% These commands are for a JOURNAL article. -%\acmJournal{JACM} +%\acmJournal{JACM} %\acmJournal{POMACS} %\acmJournal{TOG} \acmVolume{37} \acmNumber{4} \acmArticle{111} \acmMonth{8} -% -%<*manuscript|acmsmall|acmsmall-submission|acmlarge|acmtog|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n> +% +%<*manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n> %% @@ -82,8 +84,22 @@ %% receive a unique submission ID from the organizers %% of the event, and this ID should be used as the parameter to this command. %%\acmSubmissionID{123-A56-BU3} +% +%% +%% For managing citations, it is recommended to use bibliography +%% files in BibTeX format. +%% +%% You can then either use BibTeX with the ACM-Reference-Format style, +%% or BibLaTeX with the acmnumeric or acmauthoryear sytles, that include +%% support for advanced citation of software artefact from the +%% biblatex-software package, also separately available on CTAN. +%% +%% Look at the sample-*-biblatex.tex files for templates showcasing +%% the biblatex styles. +%% +%<*manuscript|acmsmall|acmsmall-submission|acmlarge|acmtog|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n> %% %% The majority of ACM publications use numbered citations and %% references. The command \citestyle{authoryear} switches to the @@ -96,6 +112,31 @@ %%% the next command will enable that style. %%%\citestyle{acmauthoryear} %\citestyle{acmauthoryear} +% + +%<*acmsmall-biblatex|sigconf-biblatex> +%% +%% The majority of ACM publications use numbered citations and +%% references, obtained by selecting the acmnumeric BibLaTeX style. +%% The acmauthoryear BibLaTeX style switches to the "author year" style. +%% +%% If you are preparing content for an event +%% sponsored by ACM SIGGRAPH, you must use the acmauthoryear style of +%% citations and references. +%% +%% Bibliography style +\RequirePackage[ + datamodel=acmdatamodel, +% style=acmnumeric, +% style=acmauthoryear, + ]{biblatex} + +%% Declare bibliography sources (one \addbibresource command per source) +\addbibresource{software.bib} +\addbibresource{sample-base.bib} +% + +%<*manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n> %% %% end of the preamble, start of the body of the document source. @@ -104,9 +145,9 @@ %% %% The "title" command has an optional parameter, %% allowing the author to define a "short title" to be used in page headers. -\title{The Name of the Title is Hope} +\title{The Name of the Title Is Hope} %\translatedtitle{french}{Le nom du titre est l'espoir} -%\translatedtitle{german}{Der Name des Titels ist Hoffnung} +%\translatedtitle{german}{Der Name des Titels ist 'Hoffnung'} %\translatedtitle{spanish}{El nombre del título es esperanza} %% @@ -193,7 +234,7 @@ %% other information printed in the page headers. This command allows %% the author to define a more concise list %% of authors' names for this purpose. -\renewcommand{\shortauthors}{Trovato and Tobin, et al.} +\renewcommand{\shortauthors}{Trovato et al.} %% %% The abstract is a short summary of the work to be presented in the @@ -206,7 +247,7 @@ as many of the formatting elements an author may use in the preparation of the documentation of their work. \end{abstract} -% +% %<*sigconf-i13n> \begin{translatedabstract}{french} @@ -220,13 +261,12 @@ \end{translatedabstract} \begin{translatedabstract}{german} - Ein übersichtliches und gut dokumentiertes \LaTeX\-Dokument wird als - Artikel, der für die Veröffentlichung durch ACM in einem Tagungsband - formatiert wurde oder Zeitschriftenveröffentlichung. Basierend auf - der Dokumentenklasse ``acmart'', this Artikel präsentiert und - erklärt auch viele der gängigen Variationen so viele der - Formatierungselemente, die ein Autor in der verwenden darf - Vorbereitung der Dokumentation ihrer Arbeit. + Es wird ein übersichtliches und gut dokumentiertes \LaTeX\-Dokument präsentiert, + welches für die Veröffentlichung durch ACM in einem Tagungsband oder + als Zeitschriftenpublikation formatiert wurde. + Basierend auf der Dokumentenklasse ``acmart'' präsentiert und erklärt dieser Artikel + viele der Formatierungselemente sowie auch viele der gängigen Variationen, + die ein Autor bei der Beschreibung seiner Arbeit verwenden darf. \end{translatedabstract} \begin{translatedabstract}{spanish} @@ -239,7 +279,7 @@ trabajo. \end{translatedabstract} % -%<*manuscript|acmsmall|acmsmall-submission|acmlarge|acmtog|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n> +%<*manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n> %% %% The code below is generated by the tool at http://dl.acm.org/ccs.cfm. @@ -282,12 +322,11 @@ %\translatedkeywords{french}{ensembles de données, % réseaux de neurones, % détection du regard, marquage de texte} -% \translatedkeywords{german}{Datensätze, -% neuronale Netze, Blickerkennung, Text-Tagging} +% \translatedkeywords{german}{Datensammlungen, +% neuronale Netze, Blickerkennung, Textklassifizierung} % \translatedkeywords{spanish}{conjuntos de datos, % redes neuronales, detección de mirada, etiquetado de texto} - -% +% %<*sigconf|authordraft|sigplan|acmsmall-conf|sigconf-i13n> %% A "teaser" image appears between the author and affiliation %% information and the body of the document, and typically spans the @@ -300,7 +339,7 @@ \label{fig:teaser} \end{teaserfigure} % -%<*manuscript|acmsmall|acmsmall-submission|acmlarge|acmtog|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n> +%<*manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n> %% %% This command processes the author and affiliation and title @@ -709,6 +748,7 @@ references is strongly recommended. Authors' names should be complete reference should be included: title, year, volume, number, pages, article DOI, etc. +%<*!(acmsmall-biblatex|sigconf-biblatex)> The bibliography is included in your source document with these two commands, placed just before the \verb|\end{document}| command: \begin{verbatim} @@ -726,6 +766,31 @@ command in the {\bfseries preamble} (before the command \begin{verbatim} \citestyle{acmauthoryear} \end{verbatim} +% + +%<*acmsmall-biblatex|sigconf-biblatex> +Using the BibLaTeX system, the bibliography is included in your source +document with the following command, placed just before the \verb|\end{document}| command: +\begin{verbatim} + \printbibliography +\end{verbatim} + +The command \verb|\addbibresource{bibfile}| declares the \BibTeX\ file to use +in the {\bfseries preamble} (before the command +``\verb|\begin{document}|'') of your \LaTeX\ source +where ``\verb|bibfile|'' is the name, \emph{with} the ``\verb|.bib|'' suffix. +Notice that \verb|\addbibresource| takes only one argument: to declare multiple files, +use multiple instances of the command. + +Citations and references are numbered by default. A small number of +ACM publications have citations and references formatted in the +``author year'' style; for these exceptions, please pass the option \verb|style=acmauthoryear| +to the \verb|biblatex| package loaded in the {\bfseries preamble} (before the command +``\verb|\begin{document}|'') of your \LaTeX\ source. + +% + + Some examples. A paginated journal article \cite{Abril07}, an enumerated journal article \cite{Cohen07}, a reference to an entire @@ -755,9 +820,16 @@ command in the {\bfseries preamble} (before the command multi-volume works as books \cite{MR781536} and \cite{MR781537}. A couple of citations with DOIs: \cite{2004:ITE:1009386.1010128,Kirschmer:2010:AEI:1958016.1958018}. Online - citations: \cite{TUGInstmem, Thornburg01, CTANacmart}. Artifacts: - \cite{R} and \cite{UMassCitations}. - + citations: \cite{TUGInstmem, Thornburg01, CTANacmart}. +%<*!(acmsmall-biblatex|sigconf-biblatex)> + Artifacts: \cite{R} and \cite{UMassCitations}. +% +%<*acmsmall-biblatex|sigconf-biblatex> + Data Artifacts: \cite{UMassCitations}. + Software project: ~\cite{cgal,delebecque:hal-02090402}. Software Version: ~\cite{gf-tag-sound-repo,}. Software Module: ~\cite{cgal:lp-gi-20a}. Code fragment: ~\cite{simplemapper}. +% + + \section{Acknowledgments} Identification of funding sources and other support, and thanks to @@ -838,11 +910,20 @@ the margin: To Robert, for the bagels and explaining CMYK and color spaces. \end{acks} +%<*!(acmsmall-biblatex|sigconf-biblatex)> %% %% The next two lines define the bibliography style to be used, and %% the bibliography file. \bibliographystyle{ACM-Reference-Format} \bibliography{sample-base} +% + +%<*(acmsmall-biblatex|sigconf-biblatex)> +%% +%% Print the bibliography +%% +\printbibliography +% %% %% If your work has an appendix, this is the place to put it. @@ -879,4 +960,4 @@ rhoncus. Maecenas eu arcu ac neque placerat aliquam. Nunc pulvinar massa et mattis lacinia. \end{document} -% +% diff --git a/macros/latex/contrib/acmart/samples/samples.ins b/macros/latex/contrib/acmart/samples/samples.ins index 7c5c974a66..af2d55e4d9 100644 --- a/macros/latex/contrib/acmart/samples/samples.ins +++ b/macros/latex/contrib/acmart/samples/samples.ins @@ -10,9 +10,11 @@ \file{sample-manuscript.tex}{\from{samples.dtx}{manuscript}} \file{sample-acmsmall.tex}{\from{samples.dtx}{acmsmall}} \file{sample-acmsmall-submission.tex}{\from{samples.dtx}{acmsmall-submission}} + \file{sample-acmsmall-biblatex.tex}{\from{samples.dtx}{acmsmall-biblatex}} \file{sample-acmlarge.tex}{\from{samples.dtx}{acmlarge}} \file{sample-acmtog.tex}{\from{samples.dtx}{acmtog}} \file{sample-sigconf.tex}{\from{samples.dtx}{sigconf}} + \file{sample-sigconf-biblatex.tex}{\from{samples.dtx}{sigconf-biblatex}} \file{sample-authordraft.tex}{\from{samples.dtx}{authordraft}} \file{sample-xelatex.tex}{\from{samples.dtx}{sigconf}} \file{sample-lualatex.tex}{\from{samples.dtx}{sigconf}} diff --git a/macros/latex/contrib/acmart/samples/software.bib b/macros/latex/contrib/acmart/samples/software.bib new file mode 100644 index 0000000000..f12ffba46d --- /dev/null +++ b/macros/latex/contrib/acmart/samples/software.bib @@ -0,0 +1,145 @@ +@softwareversion {delebecque:hal-02090402-condensed, + title = {Scilab}, + author = {Delebecque, Fran{\c c}ois and Gomez, Claude and Goursat, Maurice + and Nikoukhah, Ramine and Steer, Serge and Chancelier, Jean-Philippe}, + url = {https://www.scilab.org/}, + date = {1994-01}, + file = {https://hal.inria.fr/hal-02090402/file/scilab-1.1.tar.gz}, + institution = {Inria}, + license = {Scilab license}, + hal_id = {hal-02090402}, + hal_version = {v1}, + swhid = {swh:1:dir:1ba0b67b5d0c8f10961d878d91ae9d6e499d746a; + origin=https://hal.archives-ouvertes.fr/hal-02090402}, + version = {1.1}, + note = {First Scilab version. It was distributed by anonymous ftp.}, + repository= {https://github.com/scilab/scilab}, + abstract = {Software for Numerical Computation freely distributed.} +} +@software {delebecque:hal-02090402, + title = {Scilab}, + author = {Delebecque, Fran{\c c}ois and Gomez, Claude and Goursat, Maurice + and Nikoukhah, Ramine and Steer, Serge and Chancelier, Jean-Philippe}, + date = {1994}, + institution = {Inria}, + license = {Scilab license}, + hal_id = {hal-02090402}, + hal_version = {v1}, + url = {https://www.scilab.org/}, + abstract = {Software for Numerical Computation freely distributed.}, + repository= {https://github.com/scilab/scilab}, +} + +@softwareversion {delebecque:hal-02090402v1, + version = {1.1}, + date = {1994-01}, + file = {https://hal.inria.fr/hal-02090402/file/scilab-1.1.tar.gz}, + swhid = {swh:1:dir:1ba0b67b5d0c8f10961d878d91ae9d6e499d746a; + origin=https://hal.archives-ouvertes.fr/hal-02090402}, + note = {First Scilab version. It was distributed by anonymous ftp.}, + crossref = {delebecque:hal-02090402} +} + @software {cgal, + title = {The Computational Geometry Algorithms Library}, + author = {{The CGAL Project}}, + editor = {{CGAL Editorial Board}}, + date = {1996}, + url = {https://cgal.org/} + } + + @softwareversion{cgal:5-0-2, + crossref = {cgal}, + version = {{5.0.2}}, + url = {https://docs.cgal.org/5.02}, + date = {2020}, + swhid = {swh:1:rel:636541bbf6c77863908eae744610a3d91fa58855; + origin=https://github.com/CGAL/cgal/} + } + + @softwaremodule{cgal:lp-gi-20a, + crossref = {cgal:5-0-2}, + author = {Menelaos Karavelas}, + subtitle = {{2D} Voronoi Diagram Adaptor}, + license = {GPL}, + introducedin = {cgal:3-1}, + url = {https://doc.cgal.org/5.0.2/Manual/packages.html#PkgVoronoiDiagram2}, + } + @softwaremodule{cgal:lp-gi-20a-condensed, + title = {The Computational Geometry Algorithms Library}, + subtitle = {{2D} Voronoi Diagram Adaptor}, + author = {Menelaos Karavelas}, + editor = {{CGAL Editorial Board}}, + license = {GPL}, + version = {{5.0.2}}, + introducedin = {cgal:3-1}, + date = {2020}, + swhid = {swh:1:rel:636541bbf6c77863908eae744610a3d91fa58855; + origin=https://github.com/CGAL/cgal/}, + url = {https://doc.cgal.org/5.0.2/Manual/packages.html#PkgVoronoiDiagram2}, + } +@software {parmap, + title = {The Parmap library}, + author = {Di Cosmo, Roberto and Marco Danelutto}, + date = {2012}, + institution = {{Inria} and {University of Paris} and {University of Pisa}}, + license = {LGPL-2.0}, + url = {https://rdicosmo.github.io/parmap/}, + repository= {https://github.com/rdicosmo/parmap}, +} + +@softwareversion {parmap-1.1.1, + crossref = {parmap}, + date = {2020}, + version = {1.1.1}, + swhid = {swh:1:rel:373e2604d96de4ab1d505190b654c5c4045db773; + origin=https://github.com/rdicosmo/parmap; + visit=swh:1:snp:2a6c348c53eb77d458f24c9cbcecaf92e3c45615}, +} + +@codefragment {simplemapper, + subtitle = {Core mapping routine}, + swhid = {swh:1:cnt:43a6b232768017b03da934ba22d9cc3f2726a6c5; + origin=https://github.com/rdicosmo/parmap; + visit=swh:1:snp:2a6c348c53eb77d458f24c9cbcecaf92e3c45615; + anchor=swh:1:rel:373e2604d96de4ab1d505190b654c5c4045db773; + path=/src/parmap.ml; + lines=192-228}, + crossref = {parmap-1.1.1} +} +@codefragment {simplemapper-condensed, + title = {The Parmap library}, + author = {Di Cosmo, Roberto and Marco Danelutto}, + date = {2020}, + institution = {{Inria} and {University of Paris} and {University of Pisa}}, + license = {LGPL-2.0}, + url = {https://rdicosmo.github.io/parmap/}, + repository= {https://github.com/rdicosmo/parmap}, + version = {1.1.1}, + subtitle = {Core mapping routine}, + swhid = {swh:1:cnt:43a6b232768017b03da934ba22d9cc3f2726a6c5; + origin=https://github.com/rdicosmo/parmap; + visit=swh:1:snp:2a6c348c53eb77d458f24c9cbcecaf92e3c45615; + anchor=swh:1:rel:373e2604d96de4ab1d505190b654c5c4045db773; + path=/src/parmap.ml; + lines=192-228} +} + +@article{ad-wood-2003, + author = {Christopher Anderson and Sophia Drossopoulou}, + title = {{BabyJ}: from Object Based to Class Based Programming via Types}, + journal = {{WOOD}}, + volume = {82}, + number = {7}, + pages = {53--81}, + year = {2003} +} + +@softwareversion{gf-tag-sound-repo, + title={tag-sound}, + author={Ben Greenman and Matthias Felleisen}, + swhid={swh:1:dir:cd0b0abeee707e57cd699e2e2ebd075da8ebf1f7;origin=https://github.com/nuprl/tag-sound;visit=swh:1:snp:7967bc0abee8bf3bfffb9252207a07b73538525a;anchor=swh:1:rev:4cc09ca228947a99c8f4ac45eefb76e96ee96e53}, + repository={https://github.com/nuprl/tag-sound}, + version={4cc09ca}, + date={2020} +} + -- cgit v1.2.3