summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx
Initial commit
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx')
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx500
1 files changed, 500 insertions, 0 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx
new file mode 100644
index 0000000000..7b69506a5d
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx
@@ -0,0 +1,500 @@
+%% ---------------------------------------------------------------
+%% biblatex-phys --- A biblatex implementation of the AIP and APS
+%% 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{phys.bbx}[2018/10/19 v1.1 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}{brackets}
+ {%
+ \DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{##1}}%
+ \setlength{\biblabelsep}{10 pt}%
+ }
+ {%
+ \DeclareFieldFormat{labelnumberwidth}{\mkbibsuperscript{##1}}%
+ \setlength{\biblabelsep}{0 pt}%
+ }%
+}
+
+% Alter settings that carry through from biblatex
+\ExecuteBibliographyOptions
+ {
+ articletitle = true ,
+ chaptertitle = true ,
+ biblabel = superscript,
+ doi = false ,
+ eprint = false ,
+ giveninits = true ,
+ isbn = false ,
+ maxnames = 999 ,
+ maxcitenames = 2 ,
+ pageranges = true ,
+ url = false
+ }
+
+% Custom field formats
+\DeclareFieldFormat[inproceedings]{booktitle}{#1}
+\DeclareFieldFormat{eprint:arxiv}{%
+ \ifhyperref
+ {\href{https://arxiv.org/\abx@arxivpath/#1}{%
+ arXiv\addcolon
+ \nolinkurl{#1}%
+ \iffieldundef{eprintclass}
+ {}
+ {\addspace\UrlFont{\mkbibbrackets{\thefield{eprintclass}}}}}}
+ {arXiv\addcolon
+ \nolinkurl{#1}%
+ \iffieldundef{eprintclass}
+ {}
+ {\addspace\UrlFont{\mkbibbrackets{\thefield{eprintclass}}}}}}
+\DeclareFieldAlias{eprint:arXiv}{eprint:arxiv}
+\DeclareFieldFormat[online]{date}{\mkbibparens{#1}\nopunct}
+\DeclareFieldFormat{doi}{%
+ \ifhyperref
+ {\href{https://doi.org/#1}{\nolinkurl{#1}}}
+ {\nolinkurl{#1}}%
+}
+\DeclareFieldFormat{doi/url-link}{%
+ \ifhyperref
+ {%
+ \iffieldundef{doi}
+ {%
+ \iffieldundef{url}
+ {\@firstofone}
+ {\href{\thefield{url}}}%
+ }
+ {\href{https://doi.org/\thefield{doi}}}%
+ }
+ {\@firstofone}%
+ {#1}%
+}
+\DeclareFieldFormat{journaltitle}{#1\isdot}
+\DeclareFieldFormat[article]{pages}{%
+ \iftoggle{bbx:pageranges}{#1}{\mkfirstpage{#1}}%
+}
+\DeclareFieldFormat[article,inproceedings,patent]{title}{%
+ \iftoggle{bbx:articletitle}
+ {\mkbibquote{#1\isdot}}
+ {}%
+}
+\DeclareFieldFormat[incollection]{title}{%
+ \iftoggle{bbx:chaptertitle}
+ {\mkbibquote{#1\isdot}}
+ {}%
+}
+\DeclareFieldFormat{related:translatedas}{\mkbibbrackets{#1}}
+\DeclareFieldFormat{titlecase}{\MakeSentenceCase*{#1}}
+\DeclareFieldFormat{url}{\url{#1}}
+\DeclareFieldFormat[article]{volume}{\mkbibbold{#1}}
+\DeclareFieldFormat{year}{\mkbibparens{#1}}
+
+% Simple modifications to punctuation, etc.
+\renewcommand*{\begrelateddelim}{\addsemicolon\space}%
+\renewcommand*{\intitlepunct}{\addspace}
+\providecommand*{\mkibid}[1]{#1}
+\renewcommand*{\newunitpunct}{\addcomma\space}
+
+% Bibliography strings
+\DefineBibliographyStrings{english}{%
+ byeditor = edited by,
+ chapter = Chap\adddot,
+ volume = Vol\adddot
+}
+
+% Bibliography macros
+\renewbibmacro*{chapter+pages}{%
+ \setunit{\addspace}%
+ \printfield{chapter}%
+ \setunit{\bibpagespunct}%
+ \printfield{pages}%
+ \newunit
+}
+
+\renewbibmacro*{institution+location+date}{%
+ \setunit{\addspace}%
+ \printtext[parens]{%
+ \printlist{institution}%
+ \newunit
+ \printlist{location}%
+ \newunit
+ \usebibmacro{date}%
+ }%
+}
+
+\renewbibmacro*{journal+issuetitle}{%
+ \usebibmacro{journal}%
+ \setunit*{\addspace}%
+ \iffieldundef{series}
+ {}
+ {\newunit
+ \printfield{series}%
+ \setunit{\addspace}}%
+ \usebibmacro{volume+number+eid}%
+ \setunit{\addspace}%
+ \usebibmacro{issue}%
+ \newunit
+}
+
+\renewbibmacro*{maintitle+booktitle}{%
+ \printtext[doi/url-link]{%
+ \iffieldundef{maintitle}
+ {}
+ {%
+ \usebibmacro{maintitle}%
+ \newunit
+ }%
+ \usebibmacro{booktitle}%
+ }%
+ \newunit\newblock
+ \iffieldundef{volume}
+ {}
+ {%
+ \printfield{volume}%
+ \clearfield{volume}%
+ \printfield{part}%
+ \clearfield{part}%
+ }%
+ \newunit
+}
+
+\newbibmacro*{organization+date}{%
+ \setunit{\addspace}%
+ \printtext[parens]{%
+ \printlist{organization}%
+ \newunit
+ \usebibmacro{date}%
+ }%
+ \newunit
+}
+
+\renewbibmacro*{publisher+location+date}{%
+ \setunit{\addspace}%
+ \printtext[parens]{%
+ \printlist{publisher}%
+ \newunit
+ \printlist{location}%
+ \newunit
+ \usebibmacro{date}%
+ }%
+ \newunit
+}
+
+\renewbibmacro*{volume+number+eid}{%
+ \printfield{volume}%
+ \newunit
+ \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
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{bytranslator+others}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \printtext[doi/url-link]{%
+ \usebibmacro{journal+issuetitle}%
+ \newunit
+ \usebibmacro{byeditor+others}%
+ \newunit
+ \usebibmacro{note+pages}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{issn}}
+ {}%
+ \setunit{\addspace}%
+ \printfield{year}%
+ }%
+ \setunit{\addspace}%
+ \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{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{in:}%
+ \usebibmacro{bybookauthor}%
+ \setunit*{\addcomma\space}%
+ \usebibmacro{maintitle+booktitle}%
+ \newunit\newblock
+ \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
+ \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}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \iffieldundef{maintitle}
+ {\printfield{volume}%
+ \printfield{part}}
+ {}%
+ \newunit
+ \printfield{volumes}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{organization+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{patent}{%
+ \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}%
+ \iflistundef{location}
+ {}
+ {\setunit*{\addspace}%
+ \printtext[parens]{%
+ \printlist[][-\value{listtotal}]{location}}}%
+ \setunit{\addspace}%
+ \printtext[parens]{%
+ \usebibmacro{byholder}%
+ \newunit
+ \usebibmacro{date}%
+ }%
+ \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}%
+}
+
+% Deal with repeated names or journals in entry sets: based on
+% http://tex.stackexchange.com/a/63013
+\DeclareBibliographyDriver{set}{%
+ \entryset
+ {%
+ \ifbool{bbx:subentry}
+ {\printfield[bibentrysetcount]{entrysetcount}%
+ \setunit*{\addnbspace}}
+ {}%
+ }
+ {%
+ \ifdef{\bbx@set@journal}
+ {}
+ {\savefield{journaltitle}{\bbx@set@journal}}%
+ \ifdef{\bbx@set@namehash}
+ {}
+ {\savefield{namehash}{\bbx@set@namehash}}%
+ }%
+ \newunit\newblock
+ \usebibmacro{setpageref}%
+ \finentry
+ \global\undef\bbx@set@namehash
+ \global\undef\bbx@set@journal
+}
+
+\renewbibmacro*{author}{%
+ \ifboolexpr{
+ test \ifuseauthor
+ and
+ not test {\ifnameundef{author}}
+ }
+ {%
+ \iffieldequals{namehash}{\bbx@set@namehash}
+ {\nopunct}
+ {%
+ \global\undef\bbx@set@namehash
+ \printnames{author}%
+ \iffieldundef{authortype}
+ {}
+ {%
+ \setunit{\addcomma\space}%
+ \usebibmacro{authorstrg}%
+ }%
+ }%
+ \iffieldundef{collaboration}
+ {}
+ {\printfield[parens]{collaboration}}}
+ {}%
+}
+
+
+\renewbibmacro*{journal}{%
+ \iffieldundef{journaltitle}
+ {}
+ {%
+ \iffieldequals{journaltitle}{\bbx@set@journal}
+ {\bibstring[\mkibid]{ibidem}}
+ {%
+ \global\undef\bbx@set@journal
+ \printtext[journaltitle]{%
+ \printfield[noformat]{journaltitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{journalsubtitle}%
+ }%
+ }%
+ }%
+}
+
+\newbibmacro*{related:translatedas}[1]{%
+ \entrydata{#1}{%
+ \usebibmacro{journal+issuetitle}%
+ \newunit
+ \usebibmacro{note+pages}%
+ \newunit\newblock
+ \setunit{\addspace}%
+ \printfield{year}%
+ \setunit{\addspace}%
+ \iffieldundef{pages}
+ {%
+ \printfield{doi}%
+ \clearfield{doi}%
+ }%
+ {}%
+ \usebibmacro{doi+eprint+url}%
+ }%
+}
+
+
+%%
+%% Copyright (C) 2012-2014,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 files biblatex-phys.bib,
+%% biblatex-phys.tex,
+%% phys.bbx and
+%% phys.cbx,
+%% and the derived file biblatex-phys.pdf.
+%%
+%%
+%% End of file `phys.bbx'.