%% --------------------------------------------------------------- %% biblatex-chem --- A set of biblatex implementations of %% chemistry-related bibliography styles %% Maintained by Joseph Wright %% E-mail: joseph.wright@morningstar2.co.uk %% Released under the LaTeX Project Public License v1.3c or later %% See http://www.latex-project.org/lppl.txt %% --------------------------------------------------------------- %% \ProvidesFile{chem-acs.bbx}[2021/02/24 v1.1z biblatex bibliography style] % Load the standard style to avoid copy-pasting unnecessary material \RequireBibliographyStyle{numeric-comp} % New options \newtoggle{bbx:articletitle} \newtoggle{bbx:chaptertitle} \newtoggle{bbx:pageranges} \DeclareBibliographyOption{articletitle}[true]{% \settoggle{bbx:articletitle}{#1}% } \DeclareBibliographyOption{chaptertitle}[true]{% \settoggle{bbx:chaptertitle}{#1}% } \DeclareBibliographyOption{pageranges}[true]{% \settoggle{bbx:pageranges}{#1}% } \DeclareBibliographyOption{biblabel}{% \ifstrequal{#1}{plain} {\DeclareFieldFormat{labelnumberwidth}{##1}} {% \ifstrequal{#1}{brackets} {\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{##1}}}% {% \ifstrequal{#1}{dot} {\DeclareFieldFormat{labelnumberwidth}{##1\adddot\midsentence}} {\DeclareFieldFormat{labelnumberwidth}{\mkbibparens{##1}}}% }% }% } % Alter settings that carry through from biblatex \ExecuteBibliographyOptions { date = year , doi = false , eprint = false , giveninits = true , isbn = false , maxnames = 15 , maxcitenames = 2 , pageranges = true , url = false , useprefix = true } % Modify the name format \@ifpackageloaded{biblatex_legacy} { \DeclareNameFormat{default}{% \renewcommand*{\multinamedelim}{\addsemicolon\addspace}% \usebibmacro{name:last-first}{#1}{#4}{#5}{#7}% \usebibmacro{name:andothers}% } \DeclareNameFormat{editor}{% \renewcommand*{\multinamedelim}{\addcomma\addspace}% \usebibmacro{name:last-first}{#1}{#4}{#5}{#7}% \usebibmacro{name:andothers}% } } { \DeclareNameFormat{default}{% \renewcommand*{\multinamedelim}{\addsemicolon\addspace}% \nameparts{#1}% \usebibmacro{name:family-given} {\namepartfamily} {\namepartgiveni} {\namepartprefix} {\namepartsuffix}% \usebibmacro{name:andothers}% } \DeclareNameFormat{editor}{% \renewcommand*{\multinamedelim}{\addcomma\addspace}% \nameparts{#1}% \usebibmacro{name:family-given} {\namepartfamily} {\namepartgiveni} {\namepartprefix} {\namepartsuffix}% \usebibmacro{name:andothers}% } } % Custom field formats \DeclareFieldFormat[article]{date}{\mkbibbold{#1}} \DeclareFieldFormat{doi}{% DOI\addcolon\space \ifhyperref {\href{https://doi.org/#1}{\nolinkurl{#1}}} {\nolinkurl{#1}}% } \DeclareFieldFormat{labelnumberwidth}{\mkbibparens{#1}} \DeclareFieldFormat[article]{pages}{% \iftoggle{bbx:pageranges}{#1}{\mkfirstpage{#1}}% } \DeclareFieldFormat*{title}{#1} \DeclareFieldFormat[report]{title}{\mkbibitalic{#1}} \DeclareFieldFormat[book, collection, inproceedings]{title}{\mkbibitalic{#1}} \DeclareFieldFormat{url}{\url{#1}} \DeclareFieldFormat[article]{volume}{\mkbibitalic{#1}} % Simple modifications to punctuation, etc. \renewcommand*{\begrelateddelim}{\addsemicolon\space}% \renewcommand*{\finalnamedelim}{% \ifcurrentname{labelname} {% \ifnumgreater{\value{liststop}}{2} {\finalandcomma} {}% \addspace \bibstring{and}% \space } {\multinamedelim}% } \renewcommand*{\intitlepunct}{\addspace} \renewcommand*{\labelnamepunct}{\addspace} \renewcommand*{\newunitpunct}{\addcomma\addspace} % Bibliography strings \DefineBibliographyStrings{english}{% chapter = Chapter , editor = Ed\adddot , editors = Eds\adddot , in = In , page = p , pages = pp , patentus = US Patent , phdthesis = Ph.D.\space Thesis , urlseen = accessed , volume = Vol\adddot } % Bibliography macros \renewbibmacro*{byholder}{% \ifnameundef{holder} {} {% \printtext[parens]{\printnames{holder}}% \adddot }% } \renewbibmacro*{date}{% \iffieldundef{year} {} {\printtext[date]{\printdate}}% } \renewbibmacro*{event+venue+date}{% \printfield{eventtitle}% \ifboolexpr{ test {\iffieldundef{venue}} and test {\iffieldundef{eventyear}} } {} {% \printfield{venue}% \newunit \printeventdate \newunit }% } \renewbibmacro*{journal+issuetitle}{% \usebibmacro{journal}% \setunit*{\addspace}% \usebibmacro{date}% \newunit \usebibmacro{volume+number+eid}% \newunit } \renewbibmacro*{maintitle+booktitle}{% \iffieldundef{maintitle} {} {% \usebibmacro{maintitle}% \newunit\newblock }% \usebibmacro{booktitle}% \newunit } \renewbibmacro*{maintitle+title}{% \iffieldsequal{maintitle}{title} {% \clearfield{maintitle}% \clearfield{mainsubtitle}% \clearfield{maintitleaddon}% } {% \iffieldundef{maintitle} {} {\usebibmacro{maintitle}}% \newunit\newblock }% \usebibmacro{title}% \newunit } \renewbibmacro*{note+pages}{% \printfield{note}% \setunit{\bibpagespunct}% \printfield{pages}% \iffieldundef{pages} {% \printfield{doi}% \clearfield{doi}% }% {% \iftoggle{bbx:doi} {} {\clearfield{doi}}% }% } \renewbibmacro*{publisher+location+date}{% \printlist{publisher}% \iflistundef{publisher} {\newunit} {\setunit*{\addcolon\space}}% \printlist{location}% \setunit*{\addcomma\space}% \usebibmacro{date}% \newunit } \newbibmacro*{related:translatedas}[1]{% \entrydata{#1}{% \usebibmacro{journal+issuetitle}% \newunit \usebibmacro{byeditor+others}% \newunit \usebibmacro{note+pages}% \newunit\newblock \iftoggle{bbx:isbn} {\printfield{issn}} {}% \newunit\newblock \usebibmacro{doi+eprint+url}% }% } \renewbibmacro*{series+number}{% \printfield{series}% \setunit*{\addspace}% \printfield{number}% \newunit \iffieldundef{series} {} {% \printfield{volume}% \clearfield{volume}% \newunit }% } \renewbibmacro*{volume+number+eid}{% \printfield{volume}% \setunit*{\addspace}% \printfield{eid}% } % New bibliography drivers, using the required order of fields. These % are mainly copied from standard.bbx then modified. \DeclareBibliographyDriver{article}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/translator+others}% \setunit{\labelnamepunct}\newblock \iftoggle{bbx:articletitle} {% \usebibmacro{title}% \printunit{\adddot\addspace}% } {}% \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{bytranslator+others}% \newunit\newblock \printfield{version}% \setunit{\addspace}% \usebibmacro{journal+issuetitle}% \newunit \usebibmacro{byeditor+others}% \newunit \usebibmacro{note+pages}% \newunit\newblock \iftoggle{bbx:isbn} {\printfield{issn}} {}% \newunit\newblock \usebibmacro{doi+eprint+url}% \newunit\newblock \usebibmacro{addendum+pubstate}% \setunit{\bibpagerefpunct}\newblock \usebibmacro{pageref}% \usebibmacro{finentry}% } \DeclareBibliographyDriver{book}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/translator+others}% \setunit{\labelnamepunct}\newblock \usebibmacro{maintitle+title}% \newunit \printfield{edition}% \newunit \printfield{volumes}% \newunit\newblock \usebibmacro{byauthor}% \setunit{\addsemicolon\space}% \usebibmacro{editor+others}% \setunit{\addsemicolon\space}% \usebibmacro{series+number}% \newunit\newblock \printfield{note}% \setunit{\addsemicolon\space}% \usebibmacro{publisher+location+date}% \setunit{\addsemicolon\space}% \printfield{volume}% \setunit{\addsemicolon\space}% \usebibmacro{chapter+pages}% \setunit{\addsemicolon\space}% \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{booklet}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/editor+others/translator+others}% \setunit{\labelnamepunct}\newblock \usebibmacro{title}% \newunit \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{byeditor+others}% \newunit\newblock \printfield{howpublished}% \newunit\newblock \printfield{type}% \newunit\newblock \printfield{note}% \setunit{\addsemicolon\space}% \usebibmacro{location+date}% \setunit{\addsemicolon\space}% \printfield{volume}% \setunit{\addsemicolon\space}% \usebibmacro{chapter+pages}% \newunit \printfield{pagetotal}% \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{collection}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{maintitle+title}% \newunit \printfield{edition}% \newunit \printfield{volumes}% \newunit \printlist{language}% \setunit{\addsemicolon\space}% \usebibmacro{editor+others}% \newunit\newblock \setunit{\addsemicolon\space}% \usebibmacro{series+number}% \newunit\newblock \printfield{note}% \setunit{\addsemicolon\space}% \usebibmacro{publisher+location+date}% \setunit{\addsemicolon\space}% \printfield{volume} \setunit{\addsemicolon\space}% \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}% \usebibmacro{author/translator+others}% \setunit{\labelnamepunct}\newblock \usebibmacro{byauthor}% \newunit \iftoggle{bbx:chaptertitle} {\usebibmacro{title}} {}% \setunit{\addspace}% \usebibmacro{in:}% \usebibmacro{bybookauthor}% \setunit{\addspace}% \usebibmacro{maintitle+booktitle}% \newunit\newblock \usebibmacro{editor+others}% \newunit\newblock \printfield{edition}% \newunit \printfield{volumes}% \setunit{\addsemicolon\space}% \usebibmacro{series+number}% \newunit\newblock \printfield{note}% \setunit{\addsemicolon\space}% \usebibmacro{publisher+location+date}% \setunit{\addsemicolon\space}% \printfield{colume}% \setunit{\addsemicolon\space}% \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{byauthor}% \newunit \iftoggle{bbx:chaptertitle} {\usebibmacro{title}} {}% \setunit{\addspace}% \usebibmacro{in:}% \usebibmacro{maintitle+booktitle}% \newunit\newblock \usebibmacro{editor+others}% \newunit\newblock \printfield{edition}% \newunit \printfield{volumes}% \setunit{\addsemicolon\space}% \usebibmacro{series+number}% \newunit\newblock \printfield{note}% \setunit{\addsemicolon\space}% \usebibmacro{publisher+location+date}% \setunit{\addsemicolon\space}% \printfield{volume}% \setunit{\addsemicolon\space}% \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{byauthor}% \setunit{\addspace}% \usebibmacro{in:}% \usebibmacro{maintitle+booktitle}% \newunit\newblock \usebibmacro{event+venue+date}% \newunit\newblock \usebibmacro{byeditor+others}% \newunit\newblock \printfield{volumes}% \setunit{\addsemicolon\space}% \printfield{note}% \newunit\newblock \usebibmacro{publisher+location+date}% \setunit{\addsemicolon\space}% \printfield{volume}% \setunit{\addsemicolon\space}% \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}% \setunit{\labelnamepunct}\newblock \usebibmacro{title}% \newunit \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}% \setunit{\addsemicolon\space}% \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{online}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/editor+others/translator+others}% \setunit{\labelnamepunct}\newblock \usebibmacro{title}% \printunit{\addspace}% \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{byeditor+others}% \newunit\newblock \printfield{version}% \newunit \printfield{note}% \newunit\newblock \printlist{organization}% \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}% } \DeclareBibliographyDriver{patent}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author}% \setunit{\addspace}% \usebibmacro{byholder}% \setunit{\labelnamepunct}\newblock \usebibmacro{title}% \newunit \usebibmacro{byauthor}% \setunit{\addspace}% \printfield{type}% \newunit \printfield{number}% \iflistundef{location} {} {\setunit*{\addspace}% \printtext[parens]{% \printlist[][-\value{listtotal}]{location}}}% \newunit\newblock \newunit\newblock \printfield{note}% \newunit\newblock \usebibmacro{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{report}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author}% \setunit{\labelnamepunct}\newblock \usebibmacro{title}% \newunit \usebibmacro{byauthor}% \setunit{\addsemicolon\space}% \printfield{type}% \setunit*{\addspace}% \printfield{number}% \newunit\newblock \printfield{version}% \newunit \printfield{note}% \setunit{\addsemicolon\space}% \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}% } %% %% Copyright (C) 2010-2014,2016-2019,2021 by %% Joseph Wright <joseph.wright@morningstar2.co.uk> %% %% It may be distributed and/or modified under the conditions of %% the LaTeX Project Public License (LPPL), either version 1.3c of %% this license or (at your option) any later version. The latest %% version of this license is in the file: %% %% http://www.latex-project.org/lppl.txt %% %% This work is "maintained" (as per LPPL maintenance status) by %% Joseph Wright. %% %% This work consists of the files biblatex-chem.bib, %% biblatex-chem.tex, %% biblatex-chem-acs.tex, %% biblatex-chem-angew.tex, %% biblatex-chem-biochem.tex, %% biblatex-chem-rsc.tex, %% chem-acs.bbx, %% chem-acs.cbx, %% chem-angew.bbx, %% chem-angew.cbx, %% chem-biochem.bbx, %% chem-biochem.cbx, %% chem-rsc.bbx and %% chem-rsc.cbx, %% and the derived files biblatex-chem.pdf, %% biblatex-chem-acs.pdf, %% biblatex-chem-angew.pdf, %% biblatex-chem-biochem.pdf and %% biblatex-chem-rsc.pdf. %% %% %% End of file `chem-acs.bbx'.