summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-ext/ext-standard.bbx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-ext/ext-standard.bbx')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-ext/ext-standard.bbx1065
1 files changed, 1065 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-ext/ext-standard.bbx b/Master/texmf-dist/tex/latex/biblatex-ext/ext-standard.bbx
new file mode 100644
index 00000000000..187bf667329
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-ext/ext-standard.bbx
@@ -0,0 +1,1065 @@
+\ProvidesFile{ext-standard.bbx}
+ [2018/03/18 v0.1 extended biblatex standard style (MW)]
+
+\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}{}{}{}{}
+
+\RequireBibliographyStyle{standard}
+
+\providecommand*{\mkibid}[1]{#1}
+
+\newtoggle{bbx:citeinxref}
+\newtoggle{bbx:innamebeforetitle}
+\newtoggle{bbx:innameidem}
+\newtoggle{bbx:articlein}
+\newtoggle{bbx:maintitleaftertitle}
+
+\DeclareBibliographyOption[boolean]{citeinxref}[true]{%
+ \settoggle{bbx:citeinxref}{#1}}
+\DeclareBibliographyOption[boolean]{innamebeforetitle}[true]{%
+ \settoggle{bbx:innamebeforetitle}{#1}}
+\DeclareBibliographyOption[boolean]{innameidem}[true]{%
+ \settoggle{bbx:innameidem}{#1}}
+\DeclareBibliographyOption[boolean]{articlein}[true]{%
+ \settoggle{bbx:articlein}{#1}}
+\DeclareBibliographyOption[boolean]{maintitleaftertitle}[true]{%
+ \settoggle{bbx:maintitleaftertitle}{#1}}
+\DeclareBibliographyOption[string]{introcite}[label]{%
+ \ifcsdef{extblx@opt@introcite@#1}
+ {\letcs\extblx@introcite{extblx@opt@introcite@#1}}
+ {\PackageWarningNoLine{biblatex-ext}{%
+ Invalid value '#1' for option 'introcite'.\MessageBreak
+ Possible values are 'false', 'label', 'plain'.\MessageBreak
+ Falling back to 'introcite=false'}%
+ \letcs\extblx@introcite{extblx@opt@introcite@false}}}
+\def\extblx@opt@introcite@false{0}
+\def\extblx@opt@introcite@label{1}
+\def\extblx@opt@introcite@plain{2}
+
+\ExecuteBibliographyOptions{%
+ citeinxref = false,
+ innamebeforetitle = false,
+ innameidem = false,
+ articlein = true,
+ maintitleaftertitle = false,
+ introcite = false,
+% maxbibnames = 999,
+}
+
+\DeclareTypeOption[boolean]{citeinxref}[true]{%
+ \settoggle{bbx:citeinxref}{#1}}
+\DeclareTypeOption[boolean]{innamebeforetitle}[true]{%
+ \settoggle{bbx:innamebeforetitle}{#1}}
+\DeclareTypeOption[boolean]{innameidem}[true]{%
+ \settoggle{bbx:innameidem}{#1}}
+\DeclareTypeOption[boolean]{articlein}[true]{%
+ \settoggle{bbx:articlein}{#1}}
+\DeclareTypeOption[boolean]{maintitleaftertitle}[true]{%
+ \settoggle{bbx:maintitleaftertitle}{#1}}
+
+\DeclareEntryOption[boolean]{citeinxref}[true]{%
+ \settoggle{bbx:citeinxref}{#1}}
+\DeclareEntryOption[boolean]{innamebeforetitle}[true]{%
+ \settoggle{bbx:innamebeforetitle}{#1}}
+\DeclareEntryOption[boolean]{innameidem}[true]{%
+ \settoggle{bbx:innameidem}{#1}}
+\DeclareEntryOption[boolean]{articlein}[true]{%
+ \settoggle{bbx:articlein}{#1}}
+\DeclareEntryOption[boolean]{maintitleaftertitle}[true]{%
+ \settoggle{bbx:maintitleaftertitle}{#1}}
+
+
+\newbibmacro*{bbx:cite:intro}{\usebibmacro{cite}}
+
+\extblx@create@mkcitedelim{inner}{bbx:introcite}
+\DeclareInnerCiteDelimAlias{bbx:introcite}{cite}
+\DeclareFieldFormat{bbx:introcite}{#1}
+\newcommand*{\introcitepunct}{\addcolon\space}
+\newcommand*{\introcitebreak}{\newline}
+
+\newlength{\extbl@introcitewidth}
+\newlength{\introcitewidth}
+\setlength{\introcitewidth}{8\biblabelsep}
+\newlength{\introcitesep}
+\setlength{\introcitesep}{.5\biblabelsep}
+
+\newbibmacro{introcite:typeset}{%
+ \begingroup
+ \delimcontext{bbx:introcite}%
+ \DeclareFieldFormat{bibhyperref}{##1}%
+ \csuse{blx@hook@cite}%
+ \csuse{blx@hook@citekey}%
+ \undef\cbx@lasthash
+ \undef\cbx@lastyear
+ \citetrackerfalse\pagetrackerfalse\backtrackerfalse
+ \defcounter{maxnames}{\blx@maxcitenames}%
+ \printtext[bbx:introcite]{\usebibmacro{bbx:cite:intro}}%
+ \endgroup
+}
+
+\newbibmacro{introcite:plain}{%
+ \ifcsequal{extblx@introcite}{extblx@opt@introcite@plain}
+ {\usebibmacro{introcite:typeset}%
+ \printunit*{\introcitepunct}}
+ {}}
+
+% This macro is used in \defbibenvironment
+\newbibmacro*{introcite:break}{%
+ \settowidth{\extbl@introcitewidth}{\usebibmacro{introcite:typeset}}%
+ \ifdimgreater{\extbl@introcitewidth+\introcitesep}{\introcitewidth}
+ {\leavevmode\introcitebreak}
+ {}}
+
+
+\newbibmacro*{bbx:cite:inxref}{\usebibmacro{cite}}
+
+\DeclareCiteCommand{\bbx@cite@inxref}[\mkouterbibinxrefcitedelim]
+ {\boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \boolfalse{backtracker}}
+ {\usebibmacro{bbx:cite:inxref}}
+ {}
+ {}
+
+\DeclareDelimcontextAlias{bbx@cite@inxref}{cite}
+\DeclareOuterCiteDelimAlias{bibinxrefcite}{cite}
+
+\newbibmacro*{crosscite}[1]{%
+ \iftoggle{bbx:citeinxref}
+ {\iffieldundef{crossref}
+ {\iffieldundef{xref}
+ {\usebibmacro{#1}}
+ {\printtext{\bbx@cite@inxref{\thefield{xref}}}}}
+ {\printtext{\bbx@cite@inxref{\thefield{crossref}}}}}
+ {\usebibmacro{#1}}}
+
+\DeclareDelimAlias{innametitledelim}{nametitledelim}
+\DeclareDelimAlias*[bib,biblist]{innametitledelim}{nametitledelim}
+
+\DeclareBibliographyDriver{article}{%
+ \usebibmacro{introcite:plain}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \usebibmacro{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{bytranslator+others}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \iftoggle{bbx:articlein}{\usebibmacro{in:}}{}%
+ \usebibmacro{journal+issuetitle}%
+ \newunit
+ \usebibmacro{byeditor+others}%
+ \newunit
+ \usebibmacro{note+pages}%
+ \newunit\newblock
+ \usebibmacro{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{book}{%
+ \usebibmacro{introcite:plain}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/editor+others/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{maintitle+title}%
+ \newunit
+ \usebibmacro{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \usebibmacro{edition}%
+ \newunit
+ \usebibmacro{barevolume+volumes}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \usebibmacro{note}%
+ \newunit\newblock
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \usebibmacro{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{introcite:plain}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \usebibmacro{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{in:}%
+ \usebibmacro{crosscite}{inbook:parent}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit\newblock
+ \usebibmacro{isbn}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ % with default inheritance 'related' is not inherited,
+ % so the test is not actually necessary
+ \ifboolexpr{togl {bbx:related} and not test {\iffieldxref{related}}}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+\newbibmacro*{inbook:parent}{%
+ \usebibmacro{bybookauthor}%
+ \setunit{\printdelim{innametitledelim}}\newblock
+ \usebibmacro{maintitle+booktitle}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \usebibmacro{edition}%
+ \newunit
+ \usebibmacro{barevolume+volumes}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \usebibmacro{note}%
+ \newunit\newblock
+ \usebibmacro{publisher+location+date}}
+
+
+\DeclareBibliographyDriver{collection}{%
+ \usebibmacro{introcite:plain}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{editor+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{maintitle+title}%
+ \newunit
+ \usebibmacro{language}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \usebibmacro{edition}%
+ \newunit
+ \usebibmacro{barevolume+volumes}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \usebibmacro{note}%
+ \newunit\newblock
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \usebibmacro{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{introcite:plain}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \usebibmacro{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{in:}%
+ \usebibmacro{crosscite}{incollection:parent}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit\newblock
+ \usebibmacro{isbn}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ % with default inheritance 'related' is not inherited,
+ % so the test is not actually necessary
+ \ifboolexpr{togl {bbx:related} and not test {\iffieldxref{related}}}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+\newbibmacro*{incollection:parent}{%
+ \iftoggle{bbx:innamebeforetitle}
+ {\usebibmacro{in:editor+others}%
+ \setunit{\printdelim{innametitledelim}}\newblock}
+ {}%
+ \usebibmacro{maintitle+booktitle}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \usebibmacro{edition}%
+ \newunit
+ \usebibmacro{barevolume+volumes}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \usebibmacro{note}%
+ \newunit\newblock
+ \usebibmacro{publisher+location+date}}
+
+
+\DeclareBibliographyDriver{proceedings}{%
+ \usebibmacro{introcite:plain}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{editor+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{maintitle+title}%
+ \newunit
+ \usebibmacro{language}%
+ \newunit\newblock
+ \usebibmacro{event+venue+date}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \usebibmacro{edition}%
+ \newunit
+ \usebibmacro{barevolume+volumes}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \usebibmacro{note}%
+ \newunit\newblock
+ \printlist{organization}%
+ \newunit
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \usebibmacro{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{introcite:plain}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \usebibmacro{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{in:}%
+ \usebibmacro{crosscite}{inproceedings:parent}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit\newblock
+ \usebibmacro{isbn}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ % with default inheritance 'related' is not inherited,
+ % so the test is not actually necessary
+ \ifboolexpr{togl {bbx:related} and not test {\iffieldxref{related}}}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+\newbibmacro*{inproceedings:parent}{%
+ \iftoggle{bbx:innamebeforetitle}
+ {\usebibmacro{in:editor+others}%
+ \setunit{\printdelim{innametitledelim}}\newblock}
+ {}%
+ \usebibmacro{maintitle+booktitle}%
+ \newunit\newblock
+ \usebibmacro{event+venue+date}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \usebibmacro{edition}%
+ \newunit
+ \usebibmacro{barevolume+volumes}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \usebibmacro{note}%
+ \newunit\newblock
+ \printlist{organization}%
+ \newunit
+ \usebibmacro{publisher+location+date}}
+
+
+\DeclareBibliographyDriver{booklet}{%
+ \usebibmacro{introcite:plain}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/editor+others/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \usebibmacro{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit\newblock
+ \usebibmacro{note}%
+ \newunit\newblock
+ \usebibmacro{location+date}%
+ \newunit\newblock
+ \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{manual}{%
+ \usebibmacro{introcite:plain}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/editor}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \usebibmacro{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor}%
+ \newunit\newblock
+ \usebibmacro{edition}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit
+ \printfield{version}%
+ \newunit
+ \usebibmacro{note}%
+ \newunit\newblock
+ \printlist{organization}%
+ \newunit
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \usebibmacro{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{introcite:plain}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/editor+others/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \usebibmacro{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit
+ \usebibmacro{note}%
+ \newunit\newblock
+ \printlist{organization+location+date}%
+ \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{misc}{%
+ \usebibmacro{introcite:plain}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/editor+others/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \usebibmacro{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit
+ \printfield{version}%
+ \newunit
+ \usebibmacro{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{patent}{%
+ \usebibmacro{introcite:plain}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \usebibmacro{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{type+number}%
+ \iflistundef{location}
+ {}
+ {\setunit*{\addspace}%
+ \printtext[parens]{%
+ \printlist[][-\value{listtotal}]{location}}}%
+ \newunit\newblock
+ \usebibmacro{byholder}%
+ \newunit\newblock
+ \usebibmacro{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{periodical}{%
+ \usebibmacro{introcite:plain}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{editor}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title+issuetitle}%
+ \newunit
+ \usebibmacro{language}%
+ \newunit\newblock
+ \usebibmacro{byeditor}%
+ \newunit\newblock
+ \usebibmacro{note}%
+ \newunit\newblock
+ \usebibmacro{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{introcite:plain}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \usebibmacro{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{type+number}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit
+ \usebibmacro{note}%
+ \newunit\newblock
+ \usebibmacro{institution+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \usebibmacro{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{introcite:plain}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \usebibmacro{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{note}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit
+ \usebibmacro{institution+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \usebibmacro{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{unpublished}{%
+ \usebibmacro{introcite:plain}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \usebibmacro{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \newunit\newblock
+ \usebibmacro{note}%
+ \newunit\newblock
+ \usebibmacro{location+date}%
+ \newunit\newblock
+ \iftoggle{bbx:url}
+ {\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{volumeof}{\bibstring{volume}~#1}
+\newcommand*{\titlemaintitledelim}{\newunitpunct}
+\newcommand*{\maintitletitledelim}{\addcolon\space}
+\renewbibmacro*{maintitle+title}{%
+ \iftoggle{bbx:maintitleaftertitle}
+ {}
+ {\iffieldsequal{maintitle}{title}
+ {\clearfield{maintitle}%
+ \clearfield{mainsubtitle}%
+ \clearfield{maintitleaddon}}
+ {\iffieldundef{maintitle}
+ {}
+ {\usebibmacro{maintitle}%
+ \newunit\newblock
+ \iffieldundef{volume}
+ {}
+ {\printfield{volume}%
+ \printfield{part}%
+ \setunit{\maintitletitledelim}}}}}%
+ \usebibmacro{title}%
+ \iftoggle{bbx:maintitleaftertitle}
+ {\iffieldsequal{maintitle}{title}
+ {\clearfield{maintitle}%
+ \clearfield{mainsubtitle}%
+ \clearfield{maintitleaddon}}
+ {\iffieldundef{maintitle}
+ {}
+ {\setunit{\titlemaintitledelim}%
+ \iffieldundef{volume}
+ {}
+ {\printfield[volumeof]{volume}%
+ \printfield{part}%
+ \setunit{\addspace}%
+ \bibstring{ofseries}%
+ \setunit{\addspace}}%
+ \usebibmacro{maintitle}}}}
+ {}%
+ \newunit}
+
+\renewbibmacro*{maintitle+booktitle}{%
+ \iftoggle{bbx:maintitleaftertitle}
+ {}
+ {\iffieldundef{maintitle}
+ {}
+ {\usebibmacro{maintitle}%
+ \newunit\newblock
+ \iffieldundef{volume}
+ {}
+ {\printfield{volume}%
+ \printfield{part}%
+ \setunit{\maintitletitledelim}}}}%
+ \usebibmacro{booktitle}%
+ \iftoggle{bbx:maintitleaftertitle}
+ {\iffieldundef{maintitle}
+ {}
+ {\setunit{\titlemaintitledelim}%
+ \iffieldundef{volume}
+ {}
+ {\printfield[volumeof]{volume}%
+ \printfield{part}%
+ \setunit{\addspace}%
+ \bibstring{ofseries}%
+ \setunit{\addspace}}%
+ \usebibmacro{maintitle}}}
+ {}%
+ \newunit}
+
+\renewbibmacro*{bybookauthor}{%
+ \ifnamesequal{author}{bookauthor}
+ {\iftoggle{bbx:innameidem}
+ {\bibstring[\mkibid]{idem\thefield{gender}}}
+ {}}
+ {\printnames{bookauthor}}}
+
+\DeclareNameAlias{ineditor}{default}
+
+% we assume {author/translator+others}
+\newcommand*{\bbx@ineditoridem}{%
+ \ifboolexpr{
+ ((test \ifuseauthor and not test {\ifnameundef{author}})
+ and test {\ifnamesequal{editor}{author}})
+ or
+ ((test \ifusetranslator and not test {\ifnameundef{translator}})
+ and test {\ifnamesequal{editor}{translator}})
+ }}
+
+\newbibmacro*{bbx:in:editor}[1]{%
+ \ifboolexpr{
+ test \ifuseeditor
+ and
+ not test {\ifnameundef{editor}}
+ }
+ {\ifboolexpr{togl {bbx:innameidem} and test {\bbx@ineditoridem}}
+ {\bibstring[\mkibid]{idem\thefield{gender}}}
+ {\printnames[ineditor]{editor}}%
+ \setunit{\printdelim{editortypedelim}}%
+ \usebibmacro{#1}%
+ \clearname{editor}}
+ {}}
+
+\newbibmacro*{in:editor}{%
+ \usebibmacro{bbx:in:editor}{editorstrg}}
+\newbibmacro*{in:editor+others}{%
+ \usebibmacro{bbx:in:editor}{editor+othersstrg}}
+
+
+\newbibmacro*{edition}{\printfield{edition}}
+
+\newcommand*{\volnumdatedelim}{\addspace}
+
+\renewbibmacro*{journal+issuetitle}{%
+ \usebibmacro{journal}%
+ \setunit*{\addspace}%
+ \iffieldundef{series}
+ {}
+ {\setunit*{\addcomma\space}%
+ \printfield{series}%
+ \setunit{\addspace}}%
+ \usebibmacro{volume+number+eid}%
+ \setunit{\volnumdatedelim}%
+ \usebibmacro{issue+date}%
+ \setunit{\addcolon\space}%
+ \usebibmacro{issue}%
+ \newunit}
+
+\newcommand*{\volnumdelim}{\adddot}
+
+\renewbibmacro*{volume+number+eid}{%
+ \printfield{volume}%
+ \setunit*{\volnumdelim}%
+ \printfield{number}%
+ \setunit{\addcomma\space}%
+ \printfield{eid}}
+
+\newbibmacro*{barevolume+volumes}{%
+ \iffieldundef{maintitle}
+ {\printfield{volume}%
+ \printfield{part}}
+ {}%
+ \newunit
+ \printfield{volumes}}
+
+\newcommand*{\sernumdelim}{\addspace}
+
+\renewbibmacro*{series+number}{%
+ \printfield{series}%
+ \setunit*{\sernumdelim}%
+ \printfield{number}%
+ \newunit}
+
+\newcommand*{\locdatedelim}{\addcomma\space}
+\newcommand*{\locpubdelim}{\addcolon\space}
+\newcommand*{\publocdelim}{\addcomma\space}
+\newcommand*{\pubdatedelim}{\addcomma\space}
+
+\newbibmacro*{pubinstorg+location+date}[1]{%
+ \printlist{location}%
+ \iflistundef{#1}
+ {\setunit*{\locdatedelim}}
+ {\setunit*{\locpubdelim}}%
+ \printlist{#1}%
+ \setunit*{\pubdatedelim}%
+ \usebibmacro{date}%
+ \newunit}
+
+\renewbibmacro*{publisher+location+date}{%
+ \usebibmacro{pubinstorg+location+date}{publisher}}
+
+\renewbibmacro*{institution+location+date}{%
+ \usebibmacro{pubinstorg+location+date}{institution}}
+
+\renewbibmacro*{organization+location+date}{%
+ \usebibmacro{pubinstorg+location+date}{organization}}
+
+\renewbibmacro*{location+date}{%
+ \printlist{location}%
+ \setunit*{\locdatedelim}%
+ \usebibmacro{date}%
+ \newunit}
+
+\renewbibmacro*{doi+eprint+url}{%
+ \ifboolexpr{togl {bbx:doi} and not test {\iffieldxref{doi}}}
+ {\printfield{doi}}
+ {}%
+ \newunit\newblock
+ \ifboolexpr{togl {bbx:eprint} and not test {\iffieldxref{eprint}}}
+ {\usebibmacro{eprint}}
+ {}%
+ \newunit\newblock
+ \ifboolexpr{togl {bbx:url} and not test {\iffieldxref{url}}}
+ {\usebibmacro{url+urldate}}
+ {}}
+
+\newbibmacro*{isbn}{%
+ \ifboolexpr{togl {bbx:isbn} and not test {\iffieldxref{isbn}}}
+ {\printfield{isbn}}
+ {}}
+
+\newbibmacro*{issn}{%
+ \ifboolexpr{togl {bbx:isbn} and not test {\iffieldxref{issn}}}
+ {\printfield{issn}}
+ {}}
+
+\newbibmacro*{isrn}{%
+ \iftoggle{bbx:isbn}
+ {\printfield{issn}}
+ {}}
+
+\DeclareFieldFormat{issuedate}{\mkbibparens{#1}}
+\renewbibmacro*{issue+date}{%
+ \ifboolexpr{
+ test {\iffieldundef{issue}}
+ and
+ test {\iffieldundef{year}}
+ }
+ {}
+ {\printtext[issuedate]{%
+ \printfield{issue}%
+ \setunit*{\addspace}%
+ \usebibmacro{date}}}%
+ \newunit}
+
+\newbibmacro*{language}{%
+ \printlist{language}}
+
+\newbibmacro*{type+number}{%
+ \printfield{type}%
+ \setunit*{\addspace}%
+ \printfield{number}}
+
+\newbibmacro*{note}{%
+ \printfield{note}}
+
+\renewbibmacro*{addendum+pubstate}{%
+ \iffieldxref{addendum}
+ {}
+ {\printfield{addendum}}%
+ \newunit\newblock
+ \iffieldxref{pubstate}
+ {}
+ {\printfield{pubstate}}}
+
+\renewbibmacro*{related:bytranslator}[1]{%
+ \entrydata{#1}{%
+ \renewbibmacro*{name:hook}[1]{%
+ \ifnumequal{\value{listcount}}{1}
+ {\begingroup
+ \mkrelatedstring%
+ \lbx@initnamehook{#1}%
+ \endgroup}
+ {}}%
+ \printnames[bytranslator]{translator}%
+ \setunit*{\addspace\bibstring[\mkrelatedstring]{astitle}\space}%
+ \usebibmacro{title}%
+ \setunit{\addspace}%
+ \printtext[parens]{%
+ \printlist{location}%
+ \iflistundef{publisher}
+ {\setunit*{\locdatedelim}}
+ {\setunit*{\locpubdelim}}%
+ \printlist{publisher}%
+ \setunit*{\pubdatedelim}%
+ \printdate}}}
+
+\endinput