diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/biblatex-contrib/biblatex-nature/nature.bbx |
Initial commit
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-nature/nature.bbx')
-rw-r--r-- | macros/latex/contrib/biblatex-contrib/biblatex-nature/nature.bbx | 713 |
1 files changed, 713 insertions, 0 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-nature/nature.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-nature/nature.bbx new file mode 100644 index 0000000000..bd9efec403 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-nature/nature.bbx @@ -0,0 +1,713 @@ +%% --------------------------------------------------------------- +%% biblatex-nature --- A biblatex implementation of the Nature +%% bibliography style +%% 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{nature.bbx}[2018/10/18 v1.3c biblatex bibliography style] + +% Load the standard style to avoid copy-pasting unnecessary material +\RequireBibliographyStyle{numeric-comp} + +% New options +\newtoggle{bbx:articletitle} +\DeclareBibliographyOption{articletitle}[true]{% + \settoggle{bbx:articletitle}{#1}% +} +\newtoggle{bbx:intitle} +\DeclareBibliographyOption{intitle}[true]{% + \settoggle{bbx:intitle}{#1}% +} + +\ExecuteBibliographyOptions{ + articletitle , + doi = false , + giveninits , + maxnames = 5 , + maxcitenames = 2 , + punctfont , + urldate = year , + useprefix , +} + +\@ifpackagelater{biblatex}{2016/03/27} + {\ExecuteBibliographyOptions{giveninits}} + {\ExecuteBibliographyOptions{firstinits}} + +% Modify the name format +\@ifpackagelater{biblatex}{2016/03/27} + { + \DeclareNameFormat{default}{% + \nameparts{#1}% + \usebibmacro{name:family-given} + {\namepartfamily} + {\namepartgiveni} + {\namepartprefix} + {\namepartsuffix}% + \usebibmacro{name:andothers}% + } + } + { + \DeclareNameFormat{default}{% + \usebibmacro{name:last-first}{#1}{#4}{#5}{#7}% + \usebibmacro{name:andothers}% + } + } + +% Field formats for the bibliography environment +\DeclareFieldFormat{labelnumberwidth}{#1\adddot} + +% Custom field formats +\DeclareFieldFormat*{booktitle}{\mkbibemph{#1}\nopunct} +\DeclareFieldFormat{doi}{% + doi\addcolon + \ifhyperref + {\href{http://dx.doi.org/#1}{\nolinkurl{#1}}} + {\nolinkurl{#1}}% +} +\DeclareFieldFormat*{pages}{#1} +\DeclareFieldFormat[book,collection]{number}{\mkbibbold{#1}} +\DeclareFieldFormat*{series}{\mkbibemph{#1}\nopunct} +\DeclareFieldFormat*{title}{\mkbibemph{#1}\nopunct} +\DeclareFieldFormat[article]{title}{#1} +\DeclareFieldFormat[patent]{type}{% + \mkbibemph{% + \ifbibstring{#1}{\bibstring{#1}}{#1}% + }% +} +\DeclareFieldFormat{url}{\url{#1}} +\DeclareFieldFormat{urldate}{\mkbibparens{#1}} +\DeclareFieldFormat*{volume}{\mkbibbold{#1}} +\DeclareFieldFormat[book]{volume}{#1} + +% Simple modifications to punctuation, etc. +\renewcommand*{\finalnamedelim}{\addspace\&\addspace} +\renewcommand*{\intitlepunct}{\addspace} + +% Bibliography strings +\DefineBibliographyStrings{english}{ + editor = ed , + editors = eds , + patentus = US Patent , +} + +% Bibliography macros +\renewbibmacro*{byeditor+others}{% + \ifnameundef{editor} + {} + {% + \nopunct + \printtext[parens]{\usebibmacro{editor}}% + \clearname{editor}% + \nopunct + }% + \usebibmacro{byeditorx}% + \usebibmacro{bytranslator+others}% +} + +\renewbibmacro*{chapter+pages}{% + \iffieldundef{pages} + {\printfield{chapter}} + {}% + \setunit{\bibpagespunct}% + \printfield{pages}% + \newunit +} + +\renewbibmacro*{editor}{% + \ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + } + {% + \midsentence + \usebibmacro{editorstrg}% + \setunit{\addspace}% + \printnames{editor}% + \clearname{editor}% + } + {}% +} + +\renewbibmacro*{editor+others}{% + \ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + } + {% + \nopunct + \printtext[parens]{\usebibmacro{editor}} + \clearname{editor}% + \nopunct + } + {}% +} + +\renewbibmacro*{event+venue+date}{% + \printfield{eventtitle}% + \ifboolexpr{ + test {\iffieldundef{venue}} + and + test {\iffieldundef{eventyear}} + } + {} + {% + \printfield{venue}% + \setunit*{\addcomma\space}% + \printeventdate + }% + \newunit +} + +\renewbibmacro*{in:}{% + \printtext{\biblcstring{in}\intitlepunct}% +} + +\renewbibmacro*{institution+location+date}{% + \nopunct + \printtext[parens]{% + \printlist{institution}% + \setunit*{\addcomma\space}% + \printlist{location}% + \setunit*{\addcomma\space}% + \usebibmacro{date}% + }% +} + +\renewbibmacro*{issue+date}{% + \iffieldundef{year} + {} + {% + \iffieldundef{issue} + {\printtext[parens]{\usebibmacro{date}}} + {% + \printtext[parens]{% + \printfield{issue}% + \setunit*{\addspace}% + \usebibmacro{date}% + }% + }% + }% + \newunit +} + +\renewbibmacro*{journal+issuetitle}{% + \usebibmacro{journal}% + \setunit*{\addspace}% + \iffieldundef{series} + {} + {% + \newunit + \printfield{series}% + \setunit{\addspace}% + }% + \printfield{volume}% + \newunit + \usebibmacro{issue}% + \newunit +} + +\renewbibmacro*{name:andothers}{% + \ifboolexpr + { + test {\ifnumequal{\value{listcount}}{\value{liststop}}} + and + test \ifmorenames + } + { + \ifnumgreater{\value{liststop}}{1} + {\finalandcomma} + {}% + \andothersdelim + \mkbibemph{\bibstring{andothers}}% + } + {}% +} + +\renewbibmacro*{name:last-first}[4]{% + \ifuseprefix + {% + \usebibmacro{name:delim}{#3#1}% + \usebibmacro{name:hook}{#3#1}% + \ifblank{#3}{} + {% + \ifcapital + {\mkbibnameprefix{\MakeCapital{#3}}\isdot} + {\mkbibnameprefix{#3}\isdot}% + \ifpunctmark{'}{}{\addhighpenspace}% + }% + \mkbibnamelast{#1}\isdot + \ifblank{#2} + {}{\addcomma\addlowpenspace\mkbibnamefirst{#2}\isdot}% + \ifblank{#4}{}{\addlowpenspace\mkbibnameaffix{#4}\isdot}% + } + {% + \usebibmacro{name:delim}{#1}% + \usebibmacro{name:hook}{#1}% + \mkbibnamelast{#1}\isdot + \ifblank{#2#3}{}{\addcomma}% + \ifblank{#2}{}{\addlowpenspace\mkbibnamefirst{#2}\isdot}% + \ifblank{#3}{}{\addlowpenspace\mkbibnameprefix{#3}\isdot}% + \ifblank{#4}{}{\addlowpenspace\mkbibnameaffix{#4}\isdot}% + }% +} + +\renewbibmacro*{publisher+location+date}{% + \nopunct + \printtext[parens]{% + \printlist{publisher}% + \setunit*{\addcomma\space}% + \printlist{location}% + \setunit*{\addcomma\space}% + \usebibmacro{date}% + }% +} + +\renewbibmacro*{series+number}{% + \iffieldundef{number} + {} + {% + \printfield{series}% + \setunit*{\addspace}% + \printfield{number}% + \newunit + }% +} + +\newbibmacro*{title+volume}{% + \printfield{title}% + \setunit*{\addspace}% + \printfield{volume}% + \newunit +} + +% 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}% + \newblock + } + {}% + \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 + \usebibmacro{note+pages}% + \newunit + \iftoggle{bbx:isbn} + {\printfield{issn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \setunit{\addspace}\newblock + \usebibmacro{issue+date}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}% +} + +\DeclareBibliographyDriver{book}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{maintitle+title}% + \setunit{\addspace}% + \printfield{edition}% + \newunit\newblock + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \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 + \usebibmacro{editor+others}% + \setunit{\labelnamepunct}\newblock + \printlist{language}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{edition}% + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \usebibmacro{publisher+location+date}% + \newunit\newblock + \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 + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \iftoggle{bbx:intitle} + {% + \usebibmacro{title}% + \newblock + } + {}% + \usebibmacro{in:}% + \usebibmacro{bybookauthor}% + \setunit*{\newunitpunct}\newblock + \usebibmacro{maintitle+booktitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{edition}% + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \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 + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \iftoggle{bbx:intitle} + {% + \usebibmacro{title}% + \newblock + } + {}% + \usebibmacro{in:}% + \usebibmacro{maintitle+booktitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{edition}% + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \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 + \iftoggle{bbx:articletitle} + {% + \usebibmacro{title}% + \newblock + } + {}% + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{maintitle+booktitle}% + \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 + \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{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 + \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{\labelnamepunct}\newblock + \nopunct + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{type}% + \setunit*{\addspace}% + \printfield{number}% + \iflistundef{location} + {} + {\setunit*{\addspace}% + \printtext[parens]{% + \printlist[][-\value{listtotal}]{location}}}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \nopunct + \printfield[parens]{year}% + \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{author/translator+others}% + \setunit{\labelnamepunct}\newblock + \printfield{issuetitle}% + \setunit{\addspace}% + \printfield{edition}% + \newunit\newblock + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{title+volume}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \iffieldundef{year} + {\usebibmacro{doi+eprint+url}} + {}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \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-2013,2016-2018 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 file biblatex-nature.bib, +%% biblatex-nature.tex, +%% nature.bbx and +%% nature.cbx, +%% and the derived file biblatex-nature.pdf. +%% +%% +%% End of file `nature.bbx'. |