diff options
Diffstat (limited to 'macros/latex/contrib/acmart')
29 files changed, 1646 insertions, 53 deletions
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/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} %</gobble> %<class>\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 Binary files differindex cdeaf52e2f..eff9c12b4a 100644 --- a/macros/latex/contrib/acmart/acmart.pdf +++ b/macros/latex/contrib/acmart/acmart.pdf 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/ACM-Reference-Format.dbx b/macros/latex/contrib/acmart/acmdatamodel.dbx index 76ff1f1759..6bfb5843b5 100644 --- a/macros/latex/contrib/acmart/ACM-Reference-Format.dbx +++ b/macros/latex/contrib/acmart/acmdatamodel.dbx @@ -15,4 +15,19 @@ \DeclareDatamodelEntryfields[thesis]{school} \DeclareDatamodelFields[type=field, datatype=literal]{key} -\DeclareDatamodelEntryfields{key}
\ No newline at end of file +\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 Binary files differindex fcebb0ab63..7ae163f224 100644 --- a/macros/latex/contrib/acmart/acmguide.pdf +++ b/macros/latex/contrib/acmart/acmguide.pdf diff --git a/macros/latex/contrib/acmart/ACM-Reference-Format.bbx b/macros/latex/contrib/acmart/acmnumeric.bbx index e9cb545300..c13e40137f 100644 --- a/macros/latex/contrib/acmart/ACM-Reference-Format.bbx +++ b/macros/latex/contrib/acmart/acmnumeric.bbx @@ -1,4 +1,4 @@ -\ProvidesFile{ACM-Reference-Format.bbx}[2017-09-27 v0.1 biblatex bibliography style] +\ProvidesFile{acmnumeric.bbx}[2017-09-27 v0.1 biblatex bibliography style] % Inherit a default style \RequireBibliographyStyle{trad-plain} @@ -33,7 +33,7 @@ \DeclareFieldFormat{key}{#1} \DeclareFieldFormat{urldate}{Retrieved\space{}#1\space{}from} -\DeclareFieldAlias{lastaccessed}{urldate} +\DeclareFieldFormat{lastaccessed}{Retrieved\space{}#1\space{}from} \DeclareFieldFormat{url}{\url{#1}} @@ -78,13 +78,16 @@ \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}% @@ -265,8 +268,13 @@ \renewbibmacro*{doi+eprint+url}{% \iftoggle{bbx:url} - {\iffieldundef{doi}{\usebibmacro{url+urldate}}{}} - {}% + {\iffieldundef{doi}{ + \usebibmacro{url+urldate} + }{\iffieldundef{distinctURL} + {} + {\usebibmacro{url+urldate}} + } + }% \newunit\newblock \iftoggle{bbx:eprint} {\usebibmacro{eprint}} @@ -305,7 +313,7 @@ \printfield{note}% \newunit\newblock% \iftoggle{bbx:isbn} - {\printfield{issn}} + {\printfield{isbn}} {}% \newunit\newblock% \usebibmacro{doi+eprint+url}% @@ -827,4 +835,51 @@ {}% \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 Binary files differindex b5dcfd9ca7..712051ef4b 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf Binary files differnew file mode 100644 index 0000000000..c8359ae059 --- /dev/null +++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf Binary files differindex 9b3ca788b6..6825c8a90f 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf Binary files differindex be9729af33..bd3a38698d 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf Binary files differindex 6873d96090..627a0f494d 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf Binary files differindex d78ce126dc..8558edb183 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-authordraft.pdf b/macros/latex/contrib/acmart/samples/sample-authordraft.pdf Binary files differindex e51ee62a27..37f660358a 100644 --- a/macros/latex/contrib/acmart/samples/sample-authordraft.pdf +++ b/macros/latex/contrib/acmart/samples/sample-authordraft.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-lualatex.pdf b/macros/latex/contrib/acmart/samples/sample-lualatex.pdf Binary files differindex d06751562f..e52aea57e9 100644 --- a/macros/latex/contrib/acmart/samples/sample-lualatex.pdf +++ b/macros/latex/contrib/acmart/samples/sample-lualatex.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf Binary files differindex 25cca1bc7f..ae1d5b4670 100644 --- a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf +++ b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf Binary files differnew file mode 100644 index 0000000000..77e4cc038b --- /dev/null +++ b/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf Binary files differindex 8960ce2ff4..54f5fdf09c 100644 --- a/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf +++ b/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf Binary files differindex bd85371e7e..0267a91592 100644 --- a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf +++ b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf Binary files differindex d8c8f67f1c..df60a4d500 100644 --- a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf +++ b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-xelatex.pdf b/macros/latex/contrib/acmart/samples/sample-xelatex.pdf Binary files differindex 25a4bdef54..3a4a9dc312 100644 --- a/macros/latex/contrib/acmart/samples/sample-xelatex.pdf +++ b/macros/latex/contrib/acmart/samples/sample-xelatex.pdf 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. %<manuscript>\documentclass[manuscript,screen,review]{acmart} %<acmsmall|acmsmall-conf>\documentclass[acmsmall]{acmart} +%<acmsmall-biblatex>\documentclass[acmsmall,natbib=false]{acmart} %<acmsmall-submission>\documentclass[acmsmall,screen,review]{acmart} %<acmlarge>\documentclass[acmlarge]{acmart} %<acmtog>\documentclass[acmtog]{acmart} %<sigconf>\documentclass[sigconf]{acmart} +%<sigconf-biblatex>\documentclass[sigconf,natbib=false]{acmart} %<authordraft>\documentclass[sigconf,authordraft]{acmart} %<sigplan>\documentclass[sigplan,screen]{acmart} %<sigchi>\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|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> %<*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} %</manuscript|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n> -%<*acmsmall|acmsmall-submission|acmlarge|acmtog> +%<*acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog> %% %% These commands are for a JOURNAL article. -%<acmsmall|acmsmall-submission>\acmJournal{JACM} +%<acmsmall|acmsmall-submission|acmsmall-biblatex>\acmJournal{JACM} %<acmlarge>\acmJournal{POMACS} %<acmtog>\acmJournal{TOG} \acmVolume{37} \acmNumber{4} \acmArticle{111} \acmMonth{8} -%</acmsmall|acmsmall-submission|acmlarge|acmtog> -%<*manuscript|acmsmall|acmsmall-submission|acmlarge|acmtog|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n> +%</acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog> +%<*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} +%</manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n> +%% +%% 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 @@ %<!acmtog>%% the next command will enable that style. %<!acmtog>%%\citestyle{acmauthoryear} %<acmtog>\citestyle{acmauthoryear} +%</manuscript|acmsmall|acmsmall-submission|acmlarge|acmtog|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n> + +%<*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, +%<!acmsmall-biblatex> style=acmnumeric, +%<acmsmall-biblatex> style=acmauthoryear, + ]{biblatex} + +%% Declare bibliography sources (one \addbibresource command per source) +\addbibresource{software.bib} +\addbibresource{sample-base.bib} +%</acmsmall-biblatex|sigconf-biblatex> + +%<*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} %<sigconf-i13n>\translatedtitle{french}{Le nom du titre est l'espoir} -%<sigconf-i13n>\translatedtitle{german}{Der Name des Titels ist Hoffnung} +%<sigconf-i13n>\translatedtitle{german}{Der Name des Titels ist 'Hoffnung'} %<sigconf-i13n>\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} -%</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> %<*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} %</sigconf-i13n> -%<*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 @@ %<sigconf-i13n>\translatedkeywords{french}{ensembles de données, %<sigconf-i13n> réseaux de neurones, %<sigconf-i13n> détection du regard, marquage de texte} -%<sigconf-i13n> \translatedkeywords{german}{Datensätze, -%<sigconf-i13n> neuronale Netze, Blickerkennung, Text-Tagging} +%<sigconf-i13n> \translatedkeywords{german}{Datensammlungen, +%<sigconf-i13n> neuronale Netze, Blickerkennung, Textklassifizierung} %<sigconf-i13n> \translatedkeywords{spanish}{conjuntos de datos, %<sigconf-i13n> redes neuronales, detección de mirada, etiquetado de texto} - -%</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> %<*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} %</sigconf|authordraft|sigplan|acmsmall-conf|sigconf-i13n> -%<*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)> + +%<*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. + +%</acmsmall-biblatex|sigconf-biblatex> + + 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)> +%<*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}. +%</acmsmall-biblatex|sigconf-biblatex> + + \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)> + +%<*(acmsmall-biblatex|sigconf-biblatex)> +%% +%% Print the bibliography +%% +\printbibliography +%</(acmsmall-biblatex|sigconf-biblatex)> %% %% 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} -%</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> 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} +} + |