summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-gost/gost-standard.bbx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-04-04 23:39:42 +0000
committerKarl Berry <karl@freefriends.org>2013-04-04 23:39:42 +0000
commit9887db96f6bd00a498bd06f2d0411a4a0542b86a (patch)
tree45551e2652130eb3ca108288a2bd4ca56d903411 /Master/texmf-dist/tex/latex/biblatex-gost/gost-standard.bbx
parentc7f11261a82371f868980fd5c05f76c00646d036 (diff)
biblatex-gost (2apr13)
git-svn-id: svn://tug.org/texlive/trunk@29663 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-gost/gost-standard.bbx')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-gost/gost-standard.bbx2112
1 files changed, 2112 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-standard.bbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-standard.bbx
new file mode 100644
index 00000000000..f379e08665b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-standard.bbx
@@ -0,0 +1,2112 @@
+\ProvidesFile{gost-standard.bbx}
+[2013/04/03\space v0.8\space biblatex-gost styles]
+
+\def\bbx@gost@date{2013/04/03}
+\def\bbx@gost@version{0.8}
+
+\@ifpackagelater{biblatex}{2013/01/10}
+ {}
+ {\PackageError{biblatex}
+ {Outdated 'biblatex' package}
+ {This version of 'biblatex-gost' requires biblatex v2.5 or later.\MessageBreak
+ You are using: '\csuse{ver@biblatex.sty}'.\MessageBreak
+ This is a fatal error. I'm aborting now.}%
+ \endinput}
+
+\AtEndOfPackage{%
+\ifboolexpr{
+ test {\ifdefstring{\blx@opt@movenames}{true}}
+ and
+ ( not test {\ifnumequal{\blx@maxbibnames}{3}}
+ or
+ not test {\ifnumequal{\blx@maxcitenames}{3}}
+ )
+ }
+ {\PackageWarningNoLine{biblatex-gost}{You set maxbibnames or maxcitenames\MessageBreak
+ different from their default value 3.\MessageBreak
+ Make sure that sorting works as expected}}
+ {}}
+
+\RequireBiber[3] % strictly required
+
+\blx@inputonce{biblatex-gost.def}{biblatex-gost generic definitions}{}{}{}{}
+
+\newtoggle{bbx:isbn}
+\newtoggle{bbx:url}
+\newtoggle{bbx:doi}
+\newtoggle{bbx:eprint}
+\newtoggle{cbx:isbn}
+\newtoggle{cbx:url}
+\newtoggle{cbx:doi}
+\newtoggle{cbx:eprint}
+\newtoggle{bbx:related:bib}
+\newtoggle{bbx:related:cite}
+
+\protected\def\blx@imc@printupdate{\csuse{mkbibrangeshort}{up}}
+\protected\def\blx@imc@printpubldate{\csuse{mkbibrangeshort}{publ}}
+\protected\def\blx@imc@printprdate{\csuse{mkbibrangeshort}{pr}}
+\blx@regimcs{%
+ \printupdate \printpubldate \printprdate}
+
+% OPTIONS
+
+\newbibmacro*{bbx:savehash}{%
+ \savefield{fullhash}{\bbx@lasthash}}
+\DeclareBibliographyOption{dashed}[true]{%
+ \ifstrequal{#1}{true}
+ {\ExecuteBibliographyOptions{pagetracker}%
+ \renewbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}}
+ {\renewbibmacro*{bbx:savehash}{}}}
+
+\DeclareBibliographyOption{isbn}[true]{%
+ \global\settoggle{bbx:isbn}{#1}%
+ \global\settoggle{cbx:isbn}{#1}}
+\DeclareBibliographyOption{url}[true]{%
+ \global\settoggle{bbx:url}{#1}%
+ \global\settoggle{cbx:url}{#1}}
+\DeclareBibliographyOption{doi}[true]{%
+ \global\settoggle{bbx:doi}{#1}%
+ \global\settoggle{cbx:doi}{#1}}
+\DeclareBibliographyOption{eprint}[true]{%
+ \global\settoggle{bbx:eprint}{#1}%
+ \global\settoggle{cbx:eprint}{#1}}
+\DeclareBibliographyOption{bibisbn}[true]{%
+ \global\settoggle{bbx:isbn}{#1}}
+\DeclareBibliographyOption{biburl}[true]{%
+ \global\settoggle{bbx:url}{#1}}
+\DeclareBibliographyOption{bibdoi}[true]{%
+ \global\settoggle{bbx:doi}{#1}}
+\DeclareBibliographyOption{bibeprint}[true]{%
+ \global\settoggle{bbx:eprint}{#1}}
+\DeclareBibliographyOption{citeisbn}[true]{%
+ \global\settoggle{cbx:isbn}{#1}}
+\DeclareBibliographyOption{citeurl}[true]{%
+ \global\settoggle{cbx:url}{#1}}
+\DeclareBibliographyOption{citedoi}[true]{%
+ \global\settoggle{cbx:doi}{#1}}
+\DeclareBibliographyOption{citeeprint}[true]{%
+ \global\settoggle{cbx:eprint}{#1}}
+\DeclareBibliographyOption{related}[true]{%
+ \ifcsdef{bbx@opt@related@#1}
+ {\csuse{bbx@opt@related@#1}}
+ {\PackageError{biblatex}
+ {Invalid option 'related=#1'}
+ {Valid values are 'true', 'false', 'bib', and 'cite'.}}}
+
+\def\bbx@opt@related@true{%
+ \toggletrue{bbx:related:bib}%
+ \toggletrue{bbx:related:cite}}
+
+\def\bbx@opt@related@false{%
+ \togglefalse{bbx:related:bib}%
+ \togglefalse{bbx:related:cite}}
+
+\def\bbx@opt@related@bib{%
+ \toggletrue{bbx:related:bib}%
+ \togglefalse{bbx:related:cite}}
+
+\def\bbx@opt@related@cite{%
+ \togglefalse{bbx:related:bib}%
+ \toggletrue{bbx:related:cite}}
+
+\newcommand*{\blx@gost@defaultorder}{vbpi}
+\DeclareBibliographyOption{volsorder}[vbpi]{%
+ \renewcommand*{\blx@gost@defaultorder}{#1}}
+
+\ExecuteBibliographyOptions{
+ useeditor=false,
+ usetranslator=false,
+ maxnames=3,
+ minnames=1,
+ dashed=false,
+ singletitle=false,
+ movenames=true,
+ firstinits,
+ volsorder=vbpi,
+ related=bib}
+
+\newbibmacro*{cbx:bookibid:check}[2]{#2}
+
+% FORMATS
+
+\renewcommand*{\mkbibacro}[1]{\MakeUppercase{#1}}
+\DeclareFieldFormat{isbn}{\mkbibacro{ISBN} #1}
+\DeclareFieldFormat{isrn}{\mkbibacro{ISRN} #1}
+\DeclareFieldFormat{issn}{\mkbibacro{ISSN} #1}
+\DeclareFieldFormat*{title}{#1}
+\DeclareFieldFormat{booktitle}{#1}
+\DeclareFieldFormat{journaltitle}{#1}
+\DeclareFieldFormat{issuetitle}{#1}
+\DeclareFieldFormat{maintitle}{#1}
+\DeclareFieldFormat*{volume}{%
+ \iffieldnum{volume}
+ {\ifbibstring{volume}
+ {\bibstring{volume}\addabbrvspace#1}
+ {}}
+ {\ifcapital{\MakeCapital{#1}}{#1}\isdot}}
+\DeclareFieldFormat[article,periodical]{volume}{%
+ \ifbibstring{volume}
+ {\bibstring{jourvol}\addabbrvspace#1}
+ {}}
+\DeclareFieldFormat*{book}{%
+ \iffieldnum{book}
+ {\ifbibstring{book}
+ {\bibstring{book}\addabbrvspace#1}
+ {}}
+ {\ifcapital{\MakeCapital{#1}}{#1}\isdot}}
+\DeclareFieldFormat*{part}{%
+ \iffieldnum{part}
+ {\ifbibstring{part}
+ {\bibstring{part}\addabbrvspace#1}
+ {}}
+ {\ifcapital{\MakeCapital{#1}}{#1}\isdot}}
+\DeclareFieldFormat{seriesnumber}{#1}%
+\DeclareFieldFormat*{number}{%
+ \iffieldnum{number}
+ {\ifbibstring{number}
+ {\bibsstring{number}\addabbrvspace#1}
+ {\unspace\adddot#1}}%
+ {\ifcapital{\MakeCapital{#1}}{#1}\isdot}}
+\DeclareFieldFormat[patent]{number}{#1}%
+\DeclareFieldFormat{reqnumber}{%
+ \ifbibstring{number}
+ {\bibsstring{number}\addnbspace#1}
+ {#1}}%
+\newbibmacro*{volumes/parts/books/issues}[2]{%
+ \iffieldnum{#1}
+ {\ifbibstring{#1}
+ {#2~\bibsstring{#1}}
+ {}}
+ {\ifcapital{\MakeCapital{#2}}{#2}}}
+\DeclareFieldFormat{volumes}{\usebibmacro{volumes/parts/books/issues}{volumes}{#1}}
+\DeclareFieldFormat{parts}{\usebibmacro{volumes/parts/books/issues}{parts}{#1}}
+\DeclareFieldFormat{books}{\usebibmacro{volumes/parts/books/issues}{books}{#1}}
+\DeclareFieldFormat{issues}{\usebibmacro{volumes/parts/books/issues}{issues}{#1}}
+\newbibmacro*{in+}[2]{%
+ \iffieldnum{#1}
+ {\ifbibstring{involumes}
+ {\bibstring{involumes}\addabbrvspace}
+ {}%
+ #2~\bibsstring{#1}}
+ {\ifcapital{\MakeCapital{#2}}{#2}}}
+\DeclareFieldFormat{involumes}{\usebibmacro{in+}{volumes}{#1}}
+\DeclareFieldFormat{inbooks}{\usebibmacro{in+}{books}{#1}}
+\DeclareFieldFormat{inparts}{\usebibmacro{in+}{parts}{#1}}
+\DeclareFieldFormat{inissues}{\usebibmacro{in+}{issues}{#1}}
+\DeclareFieldFormat{issue}{%
+ \iffieldnum{issue}
+ {\ifbibstring{issue}
+ {\bibstring{issue}\addabbrvspace#1}
+ {}}
+ {\ifcapital{\MakeCapital{#1}}{#1}\isdot}}
+\DeclareFieldFormat[article,periodical]{issue}{%
+ \ifinteger{#1}
+ {\ifbibstring{issue}%
+ {\bibstring{issue}\addabbrvspace#1}%
+ {\unspace\adddot#1}}%
+ {\ifcapital{\MakeCapital{#1}}{#1}\isdot}}
+\DeclareFieldFormat{date}{%
+ \iffieldundef{endyear}
+ {#1}
+ {\iffieldequalstr{endyear}{}
+ {#1\mbox{~~~~}}
+ {#1}}}
+\DeclareFieldFormat{update}{%
+ \ifbibstring{updated}
+ {\bibstring{updated}\addcolon\space#1}
+ {Updated\addcolon\space#1}}
+\DeclareFieldFormat{publdate}{%
+ \ifbibstring{published}
+ {\bibstring{published}\addspace#1}
+ {#1}}
+\DeclareFieldFormat{reqdate}{%
+ \ifbibstring{requested}
+ {\bibstring{requested}\addspace#1}
+ {#1}}
+\DeclareFieldFormat{prdate}{%
+ \ifbibstring{priority}
+ {\bibstring{priority}\addspace#1}
+ {#1}}
+\DeclareFieldFormat{systemreq}{%
+ \ifbibstring{systemreq}
+ {\bibstring{systemreq}\addcolon\space#1}
+ {Sys. requirements\addcolon\space#1}}
+\DeclareListFormat{semicolondelim}{%
+ \ifnumgreater{\value{listcount}}{\value{liststart}}
+ {\ifnumless{\value{listcount}}{\value{liststop}}
+ {\addsemicolondelim}
+ {\ifnumequal{\value{listcount}}{\value{liststop}}
+ {\addsemicolondelim}
+ {}}}
+ {}%
+ #1\isdot}
+\DeclareFieldFormat{edition}{%
+ \ifinteger{#1}
+ {\mkbibordedition{#1}~\bibstring{edition}}
+ {\ifcapital{\MakeCapital{#1}}{#1}\isdot}}
+\DeclareFieldFormat[thesis]{type}{\ifbibstring{#1}{\bibsentence\biblstring{#1}}{#1}}
+\DeclareFieldFormat{prcountry}{%
+ \ifbibxstring{\thefield{prcountry}}
+ {\bibcpstring{\thefield{prcountry}}}
+ {#1}}
+
+\DeclareFieldFormat{relatedstring}{\select@language{\bbl@main@language}#1\relatedpunct}
+
+\DeclareNameAlias{sortname}{last-first}
+
+\DefineBibliographyExtras{french}{\protected\def\mkbibnamelast#1{#1}}
+\DeclareNameFormat{author}{%
+ \iffirstinits
+ {\usebibmacro{authorname:last-first}{#1}{#4}{#5}{#7}}
+ {\usebibmacro{authorname:last-first}{#1}{#3}{#5}{#7}}%
+ \usebibmacro{name:andothers}}
+\newcommand*{\mkgostheading}[1]{\mkbibemph{#1}}%\nocorr}}
+\DeclareFieldFormat{heading}{%
+ \mkgostheading{#1}\addperiod\space}
+\newcommand*{\mkbibhdnamelast}[1]{\mkgostheading{#1}}
+\newcommand*{\mkbibhdnamefirst}[1]{\mkbibhdnamelast{#1}}
+\newcommand*{\mkbibhdnameprefix}[1]{\mkbibhdnamelast{#1}}
+\newcommand*{\mkbibhdnameaffix}[1]{\mkbibhdnamelast{#1}}
+\newbibmacro*{authorname:last-first}[4]{%
+ \ifuseprefix
+ {\usebibmacro{name:delim}{#3#1}%
+ \usebibmacro{name:hook}{#3#1}%
+ \ifblank{#3}{}{%
+ \ifcapital
+ {\mkbibhdnameprefix{\MakeCapital{#3}}\isdot}
+ {\mkbibhdnameprefix{#3}\isdot}%
+ \ifpunctmark{'}{}{\bibnamedelimc}}%
+ \mkbibhdnamelast{#1}\isdot
+ \ifblank{#4}{}{\bibnamedelimd\mkbibhdnameaffix{#4}\isdot}%
+ \ifblank{#2}{}{\addcomma\bibnamedelimd\mkbibhdnamefirst{#2}\isdot}}
+ {\usebibmacro{name:delim}{#1}%
+ \usebibmacro{name:hook}{#1}%
+ \mkbibhdnamelast{#1}\isdot
+ \ifblank{#4}{}{\bibnamedelimd\mkbibhdnameaffix{#4}\isdot}%
+ \ifblank{#2#3}{}{\addspace}%
+ \ifblank{#2}{}{\bibnamedelimd\mkbibhdnamefirst{#2}\isdot}%
+ \ifblank{#3}{}{\bibnamedelimd\mkbibhdnameprefix{#3}\isdot}}}
+\DeclareNameAlias{editor}{author}
+\DeclareNameAlias{editora}{editor}
+\DeclareNameAlias{editorb}{editor}
+\DeclareNameAlias{editorc}{editor}
+\DeclareNameAlias{translator}{author}
+
+\DeclareNameFormat{last-first:full}{%
+ \begingroup%
+ \renewcommand*{\revsdnamepunct}{\addspace}%
+ \usebibmacro{name:last-first}{#1}{#3}{#5}{#7}%
+ \endgroup}
+
+% FORMATTING COMMANDS
+
+\newbibmacro*{//}{%
+ \nopunct\printtext{\addnbspace\mbox{//}\addspace}}
+\renewcommand*{\labelnamepunct}{\addspace}
+\renewcommand*{\intitlepunct}{\addspace}
+\renewcommand*{\finalnamedelim}{\addcomma\space}
+\renewcommand*{\finallistdelim}{\addcomma\space}
+\renewcommand*{\bibpagespunct}{\addperiod\space}
+\renewcommand*{\subtitlepunct}{\addcolon\space}
+\renewcommand*{\newblockpunct}{%
+ \addnbspace\textemdash\space\bibsentence}% block punctuation
+\newcommand*{\respdelim}{\addnbspace/\space}% delimiter before "credits"
+\newcommand*{\resppunct}{\addsemicolondelim}% punctuation between "credits" items
+
+\newcounter{blx@gost@pointer}%
+\newcommand*{\blx@gost@endofstring}{\@\@\@\@\@} % end of string = \\\
+\newcommand*{\blx@gost@setunit}{\newunit}
+
+\@ifpackageloaded{babel}
+ {\edef\gostmedialanguage{\bbl@main@language}%
+ \newcommand*{\select@medialanguage}{\select@language{\gostmedialanguage}}}
+ {\edef\gostmedialanguage{russian}%
+ \newcommand*{\select@medialanguage}{}}
+
+\newbibmacro*{begentry}{}
+\newbibmacro*{finentry}{\finentry}
+%
+%----------- Drivers ----------------
+%
+\DeclareBibliographyDriver{article}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{heading}%
+ \newunit
+ \usebibmacro{author/translator+others}%
+ \setunit*{\labelnamepunct}%
+ \usebibmacro{title}%
+ \setunit{\respdelim}%
+ \usebibmacro{byauthor}%
+ \setunit*{\resppunct}%
+ \usebibmacro{bytranslator+others}%
+ \setunit{\space}%
+ \iffieldundef{journaltitle} % no journaltitle means electronic publication
+ {\newunit}
+ {\usebibmacro{//}%
+ \usebibmacro{journal}%
+ \setunit{\respdelim}%
+ \usebibmacro{credits}%
+ \setunit*{\resppunct}%
+ \usebibmacro{byeditor}%
+ \newunit\newblock
+ \printlist[semicolondelim]{specdata}%
+ \newunit\newblock
+ \printlist{location}% ???
+ \setunit*{\addcomma\space}%
+ \usebibmacro{jour:date}%
+ \newunit\newblock
+ \usebibmacro{jour:volume+parts+issuetitle}%
+ \newunit\newblock
+ \printfield{pages}%
+ \newunit\newblock
+ \iffieldundef{series}
+ {}
+ {\printtext{(\printfield{series})}}%
+ \newunit\newblock
+ \usebibmacro{issn}%
+ \newunit\newblock}%
+ \usebibmacro{doi+eprint+url+note}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \usebibmacro{related}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{book}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{heading}%
+ \newunit
+ \usebibmacro{author/editor+others/translator+others}%
+ \setunit*{\labelnamepunct}%
+ \usebibmacro{maintitle+volumes+parts+title}%
+ \setunit{\respdelim}%
+ \ifuseauthor
+ {}
+ {\usebibmacro{byauthor}%
+ \setunit*{\resppunct}}%
+ \usebibmacro{credits}%
+ \setunit*{\resppunct}%
+ \usebibmacro{byeditor}%
+ \setunit*{\resppunct}%
+ \usebibmacro{bytranslator+others}%
+ \newunit\newblock
+ \printfield{edition}%
+ \setunit*{\respdelim}%
+ \printlist[semicolondelim]{editioncredits}%
+ \newunit\newblock
+ \printlist[semicolondelim]{specdata}%
+ \newunit\newblock
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \usebibmacro{isbn}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url+note}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \usebibmacro{related}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{booklet}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{heading}%
+ \newunit
+ \usebibmacro{author/editor}%
+ \setunit*{\labelnamepunct}%
+ \usebibmacro{title}%
+ \setunit{\subtitlepunct}%
+ \printfield{type}%
+ \setunit{\respdelim}%
+ \ifuseauthor
+ {}
+ {\usebibmacro{byauthor}%
+ \setunit*{\resppunct}}%
+ \usebibmacro{credits}%
+ \setunit*{\resppunct}%
+ \usebibmacro{byeditor}%
+ \newunit\newblock
+ \printlist[semicolondelim]{specdata}%
+ \newunit\newblock
+ \usebibmacro{location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url+note}%
+ \newunit
+ \printfield{howpublished}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \usebibmacro{related}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{collection}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{heading}%
+ \newunit
+ \usebibmacro{editor+others}%
+ \setunit*{\labelnamepunct}%
+ \usebibmacro{maintitle+volumes+parts+title}%
+ \setunit{\respdelim}%
+ \usebibmacro{credits}%
+ \setunit*{\resppunct}%
+ \usebibmacro{byeditor}%
+ \setunit*{\resppunct}%
+ \usebibmacro{bytranslator+others}%
+ \newunit\newblock
+ \printfield{edition}%
+ \setunit*{\respdelim}%
+ \printlist[semicolondelim]{editioncredits}%
+ \newunit\newblock
+ \printlist[semicolondelim]{specdata}%
+ \newunit\newblock
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \usebibmacro{isbn}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url+note}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \usebibmacro{related}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{inbook}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{heading}%
+ \newunit
+ \usebibmacro{author/translator+others}%
+ \setunit*{\labelnamepunct}%
+ \usebibmacro{title}%
+ \setunit{\respdelim}%
+ \usebibmacro{byauthor}%
+ \setunit*{\resppunct}%
+ \usebibmacro{credits}%
+ \setunit*{\resppunct}%
+ \usebibmacro{bytranslator+others}%
+ \setunit{\space}%
+ \usebibmacro{//}%
+ \usebibmacro{cbx:bookibid:check}
+ {\bibsentence\printtext{%
+ \bibhyperlink{\csuse{cbx@\iffootnote{f}{t}@bookref}}{\bibstring[\mkibid]{ibidem}}}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}}
+ {\usebibmacro{maintitle+volumes+parts+booktitle}%
+ \setunit{\respdelim}%
+ \ifnamesequal{author}{bookauthor}
+ {}
+ {\usebibmacro{book:byauthor}%
+ \setunit*{\resppunct}}%
+ \usebibmacro{book:credits}%
+ \setunit*{\resppunct}%
+ \usebibmacro{book:byeditor}%
+ \setunit*{\resppunct}%
+ \usebibmacro{book:bytranslator+others}%
+ \newunit\newblock
+ \printfield{edition}%
+ \setunit*{\respdelim}%
+ \printlist[semicolondelim]{editioncredits}%
+ \newunit\newblock
+ \printlist[semicolondelim]{specdata}%
+ \newunit\newblock
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \usebibmacro{isbn}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url+note}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}}%
+ \newunit\newblock
+ \usebibmacro{related}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{incollection}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{heading}%
+ \newunit
+ \usebibmacro{author/translator+others}%
+ \setunit*{\labelnamepunct}%
+ \usebibmacro{title}%
+ \setunit{\respdelim}%
+ \usebibmacro{byauthor}%
+ \setunit*{\resppunct}%
+ \usebibmacro{credits}%
+ \setunit*{\resppunct}%
+ \usebibmacro{bytranslator+others}%
+ \setunit{\space}%
+ \usebibmacro{//}%
+ \usebibmacro{cbx:bookibid:check}
+ {\bibsentence\printtext{%
+ \bibhyperlink{\csuse{cbx@\iffootnote{f}{t}@bookref}}{\bibstring[\mkibid]{ibidem}}}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}}
+ {\usebibmacro{maintitle+volumes+parts+booktitle}%
+ \setunit{\respdelim}%
+ \usebibmacro{book:credits}%
+ \setunit*{\resppunct}%
+ \usebibmacro{book:byeditor}%
+ \setunit*{\resppunct}%
+ \usebibmacro{book:bytranslator+others}%
+ \newunit\newblock
+ \printfield{edition}%
+ \setunit*{\respdelim}%
+ \printlist[semicolondelim]{editioncredits}%
+ \newunit\newblock
+ \printlist[semicolondelim]{specdata}%
+ \newunit\newblock
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \usebibmacro{isbn}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url+note}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}}%
+ \newunit\newblock
+ \usebibmacro{related}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{inproceedings}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{heading}%
+ \newunit
+ \usebibmacro{author/translator+others}%
+ \setunit*{\labelnamepunct}%
+ \usebibmacro{title}%
+ \setunit{\respdelim}%
+ \usebibmacro{byauthor}%
+ \setunit*{\resppunct}%
+ \usebibmacro{credits}%
+ \setunit*{\resppunct}%
+ \usebibmacro{bytranslator+others}%
+ \setunit{\space}%
+ \usebibmacro{//}%
+ \usebibmacro{cbx:bookibid:check}
+ {\bibsentence\printtext{%
+ \bibhyperlink{\csuse{cbx@\iffootnote{f}{t}@bookref}}{\bibstring[\mkibid]{ibidem}}}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}}
+ {\usebibmacro{maintitle+volumes+parts+booktitle}%
+ \newunit
+ \usebibmacro{event+venue+date}%
+ \setunit{\respdelim}%
+ \usebibmacro{book:credits}%
+ \setunit*{\resppunct}%
+ \usebibmacro{book:byeditor}%
+ \setunit*{\resppunct}%
+ \usebibmacro{book:bytranslator+others}%
+ \newunit\newblock
+ \printlist[semicolondelim]{specdata}%
+ \newunit\newblock
+ \printlist{organization}%
+ \newunit
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \usebibmacro{isbn}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url+note}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}}%
+ \newunit\newblock
+ \usebibmacro{related}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{manual}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{heading}%
+ \newunit
+ \usebibmacro{author/editor}%
+ \setunit*{\labelnamepunct}%
+ \usebibmacro{title}%
+ \setunit{\subtitlepunct}%
+ \printfield{type}%
+ \setunit{\respdelim}%
+ \usebibmacro{byauthor}%
+ \setunit*{\resppunct}%
+ \printlist{organization}%
+ \setunit*{\resppunct}%
+ \usebibmacro{credits}%
+ \setunit*{\resppunct}%
+ \usebibmacro{byeditor}%
+ \setunit*{\resppunct}%
+ \newunit\newblock
+ \printfield{edition}%
+ \setunit*{\respdelim}%
+ \printlist[semicolondelim]{editioncredits}%
+ \newunit
+ \printfield{version}%
+ \newunit\newblock
+ \printlist[semicolondelim]{specdata}%
+ \newunit\newblock
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \usebibmacro{isbn}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url+note}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \usebibmacro{related}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{misc}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{heading}%
+ \newunit
+ \usebibmacro{author/editor}%
+ \setunit*{\labelnamepunct}%
+ \usebibmacro{title}%
+ \setunit{\subtitlepunct}%
+ \printfield{type}%
+ \setunit{\respdelim}%
+ \ifuseauthor
+ {}
+ {\usebibmacro{byauthor}%
+ \setunit*{\resppunct}}%
+ \usebibmacro{credits}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \printlist[semicolondelim]{specdata}%
+ \newunit\newblock
+ \usebibmacro{organization+location+date}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url+note}%
+ \newunit
+ \printfield{howpublished}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \usebibmacro{related}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{online}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{heading}%
+ \newunit
+ \usebibmacro{author/editor}%
+ \setunit*{\labelnamepunct}%
+ \usebibmacro{title}%
+ \setunit{\respdelim}%
+ \ifuseauthor
+ {}
+ {\usebibmacro{byauthor}%
+ \setunit*{\resppunct}}%
+ \printlist{organization}%
+ \setunit*{\resppunct}%
+ \usebibmacro{credits}%
+ \setunit*{\resppunct}%
+ \usebibmacro{byeditor}%
+ \setunit*{\resppunct}%
+ \usebibmacro{bytranslator+others}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \printlist[semicolondelim]{specdata}%
+ \newunit\newblock
+ \usebibmacro{date}%
+ \newunit\newblock
+ \printupdate%
+ \newunit\newblock
+ \printfield{systemreq}%
+ \newunit\newblock
+ \usebibmacro{url+urldate}%
+ \setunit*{\addsemicolondelim}%
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \usebibmacro{related}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{patent}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{heading}%
+ \newunit
+ \usebibmacro{title}%
+ \setunit*{\subtitlepunct}%
+ \printfield{type}%
+ \setunit*{\addspace}%
+ \printfield{number}%
+ \iflistundef{location}
+ {}
+ {\setunit*{\addspace}%
+ \printlist[][-\value{listtotal}]{location}}%
+ \setunit{\addcolondelim}%
+ \printfield{ipc}%
+ \setunit{\respdelim}%
+ \printnames[byauthor]{author}%
+ \iffieldundef{authortype}
+ {}
+ {\setunit*{\addspace}%
+ \printfield[parens]{authortype}}%
+ \setunit*{\addsemicolondelim}%
+ \usebibmacro{byholder}%
+ \setunit*{\addsemicolondelim}%
+ \usebibmacro{credits}%
+ \newunit\newblock
+ \printfield{reqnumber}%
+ \ifboolexpr{
+ test {\iffieldundef{year}}
+ and test {\iffieldundef{month}}
+ and test {\iffieldundef{day}}
+ }
+ {}
+ {\setunit*{\addsemicolondelim}%
+ \printtext[reqdate]{\mkbibdateshort{year}{month}{day}}}%
+ \setunit*{\addsemicolondelim}%
+ \printpubldate%
+ \setunit*{\addcomma\space}%
+ \printfield{publication}%
+ \setunit*{\addsemicolondelim}%
+ \printlist[semicolondelim]{specdata}%
+ \setunit*{\addsemicolondelim}%
+ \usebibmacro{priority}%
+ \newunit\newblock
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url+note}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \usebibmacro{related}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{periodical}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{heading}%
+ \newunit
+ \usebibmacro{editor}%
+ \setunit*{\labelnamepunct}%
+ \usebibmacro{title}
+ \setunit{\respdelim}%
+ \usebibmacro{credits}%
+ \setunit*{\resppunct}%
+ \usebibmacro{byeditor}%
+ \newunit\newblock
+ \printlist[semicolondelim]{specdata}%
+ \newunit\newblock
+ \printlist{location}% ???
+ \setunit*{\addcomma\space}%
+ \usebibmacro{jour:date}%
+ \newunit\newblock
+ \usebibmacro{jour:volume+parts+issuetitle}%
+ \newunit\newblock
+ \iffieldundef{series}
+ {}
+ {\printtext{(\printfield{series})}}%
+ \newunit\newblock
+ \usebibmacro{issn}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url+note}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \usebibmacro{related}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{proceedings}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{heading}%
+ \newunit
+ \usebibmacro{editor+others}%
+ \setunit*{\labelnamepunct}%
+ \usebibmacro{maintitle+volumes+parts+title}%
+ \newunit
+ \usebibmacro{event+venue+date}%
+ \setunit{\respdelim}%
+ \usebibmacro{credits}%
+ \setunit*{\resppunct}%
+ \usebibmacro{byeditor}%
+ \setunit*{\resppunct}%
+ \usebibmacro{bytranslator+others}%
+ \newunit\newblock
+ \printlist[semicolondelim]{specdata}%
+ \newunit\newblock
+ \printlist{organization}%
+ \newunit
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \usebibmacro{isbn}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url+note}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \usebibmacro{related}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{report}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{heading}%
+ \newunit
+ \usebibmacro{author}%
+ \setunit*{\labelnamepunct}%
+ \usebibmacro{title}%
+ \setunit{\subtitlepunct}%
+ \printfield{type}%
+ \setunit{\respdelim}%
+ \usebibmacro{byauthor}%
+ \setunit*{\resppunct}%
+ \printlist[semicolondelim]{institution}%
+ \setunit*{\resppunct}%
+ \usebibmacro{credits}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \printlist[semicolondelim]{specdata}%
+ \newunit\newblock
+ \usebibmacro{location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \usebibmacro{isrn}
+ \setunit*{\addspace}%
+ \printfield{number}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url+note}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \usebibmacro{related}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{thesis}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{heading}%
+ \newunit
+ \usebibmacro{author}%
+ \setunit*{\labelnamepunct}%
+ \usebibmacro{thesistitle}%
+ \setunit{\respdelim}%
+ \printnames[last-first:full]{author}%
+ \newunit\newblock
+ \printlist[semicolondelim]{specdata}%
+ \newunit
+ \usebibmacro{institution+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url+note}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \usebibmacro{related}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{unpublished}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{heading}%
+ \newunit
+ \usebibmacro{author}%
+ \setunit*{\labelnamepunct}%
+ \usebibmacro{title}%
+ \setunit{\respdelim}%
+ \usebibmacro{byauthor}%
+ \setunit*{\resppunct}%
+ \usebibmacro{credits}%
+ \newunit\newblock
+ \printlist[semicolondelim]{specdata}%
+ \newunit\newblock
+ \usebibmacro{location+date}%
+ \newunit\newblock
+ \usebibmacro{isbn}%
+ \newunit\newblock
+ \usebibmacro{url+urldate+note}
+ \newunit
+ \printfield{howpublished}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \usebibmacro{related}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{shorthands}{%
+ \usedriver
+ {\DeclareNameAlias{sortname}{default}}
+ {\thefield{entrytype}}%
+ \finentry}
+
+\DeclareBibliographyAlias{mvbook}{book}
+\DeclareBibliographyAlias{bookinbook}{inbook}
+\DeclareBibliographyAlias{suppbook}{inbook}
+\DeclareBibliographyAlias{mvcollection}{collection}
+\DeclareBibliographyAlias{suppcollection}{incollection}
+\DeclareBibliographyAlias{mvproceedings}{proceedings}
+\DeclareBibliographyAlias{reference}{collection}
+\DeclareBibliographyAlias{mvreference}{reference}
+\DeclareBibliographyAlias{inreference}{incollection}
+\DeclareBibliographyAlias{suppperiodical}{article}
+\DeclareBibliographyAlias{review}{article}
+\DeclareBibliographyAlias{*}{misc}
+
+% (RE)DEFINING BIBMACROS
+
+\newbibmacro*{maintitle+volumes+parts+}[1]{%
+ \iffieldsequal{maintitle}{#1}
+ {\clearfield{maintitle}%
+ \clearfield{mainsubtitle}%
+ \clearfield{maintitleaddon}}
+ {\iffieldundef{maintitle}
+ {\usebibmacro{#1}%
+ \setunit{\addcolondelim}%
+ \usebibmacro{involumes+otherparts}{\setunit*{\addcomma\space}}
+ \newunit
+ \usebibmacro{volume+parts}{\newunit}}
+ {\usebibmacro{maintitle}%
+ \newunit
+ \usebibmacro{involumes+otherparts}{\setunit*{\addcomma\space}}%
+ \newunit
+ \usebibmacro{volume+parts}{\newunit}%
+ \newunit
+ \usebibmacro{#1}}}%
+ \newunit}
+
+\newbibmacro*{maintitle+volumes+parts+title}{%
+ \usebibmacro{maintitle+volumes+parts+}{title}}
+
+\newbibmacro*{maintitle+volumes+parts+booktitle}{%
+ \usebibmacro{maintitle+volumes+parts+}{booktitle}}
+
+\newbibmacro*{event+venue+date}{%
+ \ifboolexpr{
+ test {\iffieldundef{eventtitle}}
+ and
+ test {\iffieldundef{venue}}
+ and
+ test {\iffieldundef{eventyear}}
+ }
+ {}
+ {\setunit{\addspace}%
+ \printtext{(%
+ \printfield{eventtitle}%
+ \setunit*{\addcomma\space}%
+ \printfield{venue}%
+ \setunit*{\addcomma\space}%
+ \printeventdate)}}%
+ \newunit}
+
+\newbibmacro*{series+number}{%
+ \iffieldundef{series}
+ {}
+ {\printtext{(%
+ \printfield{series}%
+ \setunit*{\addsemicolondelim}%
+ \printfield[seriesnumber]{number})}}}
+
+\newbibmacro*{publisher+location+date}{%
+ \usebibmacro{publisher+location}%
+ \setunit*{\addcomma\space}%
+ \usebibmacro{date}}
+
+\newbibmacro*{publisher+location}{%
+ \printlist{location}%
+ \iflistundef{publisher}
+ {\setunit*{\addcomma\space}}
+ {\setunit*{\addcolondelim}}%
+ \printlist{publisher}}
+
+\newbibmacro*{institution+location+date}{%
+ \printlist{location}%
+ \iflistundef{institution}
+ {\setunit*{\addcomma\space}}
+ {\setunit*{\addcolondelim}}%
+ \printlist{institution}%
+ \setunit*{\addcomma\space}%
+ \usebibmacro{date}%
+ \newunit}
+
+\newbibmacro*{organization+location+date}{%
+ \printlist{location}%
+ \iflistundef{organization}
+ {\setunit*{\addcomma\space}}
+ {\setunit*{\addcolondelim}}%
+ \printlist{organization}%
+ \setunit*{\addcomma\space}%
+ \usebibmacro{date}%
+ \newunit}
+
+\newbibmacro*{location+date}{%
+ \printlist{location}%
+ \setunit*{\addcomma\space}%
+ \usebibmacro{date}%
+ \newunit}
+
+\newbibmacro*{chapter+pages}{%
+ \printfield{chapter}%
+ \setunit*{\bibpagespunct}%
+ \printfield{pages}%
+ \newunit}
+
+\newbibmacro*{note+pages}{%
+ \printfield{note}%
+ \setunit{\bibpagespunct}%
+ \printfield{pages}%
+ \newunit}
+
+\newbibmacro*{isbn}{%
+ \ifcitation
+ {\iftoggle{cbx:isbn}
+ {\printfield{isbn}}
+ {}}
+ {\iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}}}
+
+\newbibmacro*{issn}{%
+ \ifcitation
+ {\iftoggle{cbx:isbn}
+ {\printfield{issn}}
+ {}}
+ {\iftoggle{bbx:isbn}
+ {\printfield{issn}}
+ {}}}
+
+\newbibmacro*{isrn}{%
+ \ifcitation
+ {\iftoggle{cbx:isbn}
+ {\printfield{isrn}}
+ {}}
+ {\iftoggle{bbx:isbn}
+ {\printfield{isrn}}
+ {}}}
+
+\newbibmacro*{doi+eprint+url+note}{%
+ \ifcitation
+ {\iftoggle{cbx:doi}
+ {\printfield{doi}}
+ {}}
+ {\iftoggle{bbx:doi}
+ {\printfield{doi}}
+ {}}%
+ \newunit\newblock
+ \ifcitation
+ {\iftoggle{cbx:eprint}
+ {\usebibmacro{eprint}}
+ {}}
+ {\iftoggle{bbx:eprint}
+ {\usebibmacro{eprint}}
+ {}}%
+ \newunit\newblock
+ \usebibmacro{url+urldate+note}}
+
+\newbibmacro*{addendum+pubstate}{%
+ \printfield{addendum}%
+ \newunit\newblock
+ \printfield{pubstate}}
+
+\renewbibmacro*{byeditorx}{%
+ \ifnameundef{editora}
+ {}
+ {\usebibmacro{byeditor+othersstrg}{editora}%
+ \setunit{\addspace}%
+ \printnames[byeditora]{editora}%
+ \setunit*{\resppunct}}%
+ \ifnameundef{editorb}
+ {}
+ {\usebibmacro{byeditor+othersstrg}{editorb}%
+ \setunit{\addspace}%
+ \printnames[byeditorb]{editorb}%
+ \setunit*{\resppunct}}%
+ \ifnameundef{editorc}
+ {}
+ {\usebibmacro{byeditor+othersstrg}{editorc}%
+ \setunit{\addspace}%
+ \printnames[byeditorc]{editorc}%
+ \setunit*{\resppunct}}}
+
+\newbibmacro*{book:byeditorx}{%
+ \ifnameundef{editora}
+ {}
+ {\usebibmacro{book:byeditor+othersstrg}{editora}%
+ \setunit{\addspace}%
+ \printnames[byeditora]{editora}%
+ \setunit*{\resppunct}}%
+ \ifnameundef{editorb}
+ {}
+ {\usebibmacro{book:byeditor+othersstrg}{editorb}%
+ \setunit{\addspace}%
+ \printnames[byeditorb]{editorb}%
+ \setunit*{\resppunct}}%
+ \ifnameundef{editorc}
+ {}
+ {\usebibmacro{book:byeditor+othersstrg}{editorc}%
+ \setunit{\addspace}%
+ \printnames[byeditorc]{editorc}%
+ \setunit*{\resppunct}}}
+
+% <field><true><false>
+% checks if book<field> doesn't exist nor is equal to <field>,
+% so that <field> should be printed
+\newbibmacro*{checkbookfield}[3]{%
+ \ifboolexpr{
+ test {\iffieldundef{book#1}}
+ or
+ not test {\iffieldsequal{#1}{book#1}}
+ }
+ {#2}
+ {#3}}
+
+% <name><true><false>
+\newbibmacro*{checkbookname}[3]{%
+ \ifboolexpr{
+ test {\ifnameundef{book#1}}
+ or
+ not test {\ifnamesequal{#1}{book#1}}
+ }
+ {#2}
+ {#3}}
+
+% <list><true><false>
+\newbibmacro*{checkbooklist}[3]{%
+ \ifboolexpr{
+ test {\iflistundef{book#1}}
+ or
+ not test {\iflistsequal{#1}{book#1}}
+ }
+ {#2}
+ {#3}}
+
+\newbibmacro*{credits}{%
+ \usebibmacro{checkbooklist}{credits}
+ {\printlist[semicolondelim]{credits}%
+ \savelist{credits}{\savedclearedcredits}%
+ \clearlist{credits}%
+ }
+ {}}
+
+\renewbibmacro*{byeditor+othersstrg}[1]{%
+ \iffieldundef{#1type}
+ {\def\abx@tempa{byeditor}}
+ {\edef\abx@tempa{by\thefield{#1type}}}%
+ \let\abx@tempb=\empty
+ \ifnamesequal{#1}{translator}
+ {\appto\abx@tempa{tr}%
+ \appto\abx@tempb{\savename{translator}{\savedclearedtranslator}\clearname{translator}}}
+ {}%
+ \ifnamesequal{#1}{commentator}
+ {\appto\abx@tempa{co}%
+ \appto\abx@tempb{\clearname{commentator}}}
+ {\ifnamesequal{#1}{annotator}
+ {\appto\abx@tempa{an}%
+ \appto\abx@tempb{\clearname{annotator}}}
+ {}}%
+ \ifnamesequal{#1}{introduction}
+ {\appto\abx@tempa{in}%
+ \appto\abx@tempb{\clearname{introduction}}}
+ {\ifnamesequal{#1}{foreword}
+ {\appto\abx@tempa{fo}%
+ \appto\abx@tempb{\clearname{foreword}}}
+ {\ifnamesequal{#1}{afterword}
+ {\appto\abx@tempa{af}%
+ \appto\abx@tempb{\clearname{afterword}}}
+ {}}}%
+ \ifbibxstring{\abx@tempa}
+ {\printtext{\bibstring{\abx@tempa}}\abx@tempb}
+ {\usebibmacro{bytypestrg}{#1}{editor}}}
+
+\renewbibmacro*{byeditor}{%
+ \ifnameundef{editor}
+ {}
+ {\usebibmacro{byeditor+othersstrg}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{editor}%
+ \savename{editor}{\savedclearededitor}%
+ \clearname{editor}%
+ \setunit*{\resppunct}%
+ \usebibmacro{byeditorx}}}
+
+\renewbibmacro*{bytranslator+others}{%
+ \ifnameundef{translator}
+ {}
+ {\ifboolexpr{
+ test {\ifnameundef{booktranslator}}
+ or
+ not test {\ifnamesequal{translator}{booktranslator}}
+ or
+ ( not test {\iffieldundef{origlanguage}}
+ and
+ test {\iffieldundef{bookoriglanguage}}
+ )
+ or
+ ( test {\iffieldundef{origlanguage}}
+ and
+ not test {\iffieldundef{bookoriglanguage}}
+ )
+ or
+ ( not test {\iffieldundef{origlanguage}}
+ and
+ not test {\iffieldundef{bookoriglanguage}}
+ and
+ not test {\iffieldsequal{origlanguage}{bookoriglanguage}}
+ )
+ }
+ {\usebibmacro{bytranslator+othersstrg}%
+ \setunit*{\addspace}%
+ \printnames[bytranslator]{translator}%
+ \savename{translator}{\savedclearedtranslator}%
+ \clearname{translator}%
+ \setunit*{\resppunct}}
+ {}}%
+ \usebibmacro{withothers}}
+
+\renewbibmacro*{bytranslator+othersstrg}{%
+ \def\abx@tempa{bytranslator}%
+ \usebibmacro{checkbookname}{commentator}
+ {\ifnamesequal{translator}{commentator}
+ {\appto\abx@tempa{co}%
+ \clearname{commentator}}
+ {\usebibmacro{checkbookname}{annotator}
+ {\ifnamesequal{translator}{annotator}
+ {\appto\abx@tempa{an}%
+ \clearname{annotator}}
+ {}}
+ {}}}%
+ {}%
+ \usebibmacro{checkbookname}{introduction}
+ {\ifnamesequal{translator}{introduction}
+ {\appto\abx@tempa{in}%
+ \clearname{introduction}}
+ {\usebibmacro{checkbookname}{foreword}
+ {\ifnamesequal{translator}{foreword}
+ {\appto\abx@tempa{fo}%
+ \clearname{foreword}}
+ {\usebibmacro{checkbookname}{afterword}
+ {\ifnamesequal{translator}{afterword}
+ {\appto\abx@tempa{af}%
+ \clearname{afterword}}
+ {}}
+ {}}}
+ {}}}%
+ {}%
+ \bibstring{\abx@tempa}}
+
+\renewbibmacro*{withothers}{%
+ \usebibmacro{checkbookname}{commentator}
+ {\usebibmacro{withcommentator}%
+ \clearname{commentator}%
+ \setunit*{\resppunct}}
+ {}%
+ \usebibmacro{checkbookname}{annotator}
+ {\usebibmacro{withannotator}%
+ \clearname{annotator}%
+ \setunit*{\resppunct}}
+ {}%
+ \usebibmacro{checkbookname}{introduction}
+ {\usebibmacro{withintroduction}%
+ \clearname{introduction}%
+ \setunit*{\resppunct}}
+ {}%
+ \usebibmacro{checkbookname}{foreword}
+ {\usebibmacro{withforeword}%
+ \clearname{foreword}%
+ \setunit*{\resppunct}}
+ {}%
+ \usebibmacro{checkbookname}{afterword}
+ {\usebibmacro{withafterword}%
+ \clearname{afterword}}
+ {}}
+
+% book:... macros
+
+\newbibmacro*{book:credits}{%
+ \printlist[semicolondelim]{bookcredits}%
+ \clearlist{bookcredits}%
+}
+
+\newbibmacro*{book:byeditor+othersstrg}[1]{%
+ \iffieldundef{#1type}
+ {\def\abx@tempa{byeditor}}
+ {\edef\abx@tempa{by\thefield{#1type}}}%
+ \let\abx@tempb=\empty
+ \ifnamesequal{#1}{booktranslator}
+ {\appto\abx@tempa{tr}%
+ \appto\abx@tempb{\clearname{booktranslator}}}
+ {}%
+ \ifnamesequal{#1}{bookcommentator}
+ {\appto\abx@tempa{co}%
+ \appto\abx@tempb{\clearname{bookcommentator}}}
+ {\ifnamesequal{#1}{bookannotator}
+ {\appto\abx@tempa{an}%
+ \appto\abx@tempb{\clearname{bookannotator}}}
+ {}}%
+ \ifnamesequal{#1}{bookintroduction}
+ {\appto\abx@tempa{in}%
+ \appto\abx@tempb{\clearname{bookintroduction}}}
+ {\ifnamesequal{#1}{bookforeword}
+ {\appto\abx@tempa{fo}%
+ \appto\abx@tempb{\clearname{bookforeword}}}
+ {\ifnamesequal{#1}{bookafterword}
+ {\appto\abx@tempa{af}%
+ \appto\abx@tempb{\clearname{bookafterword}}}
+ {}}}%
+ \ifbibxstring{\abx@tempa}
+ {\printtext{\bibstring{\abx@tempa}}\abx@tempb}
+ {\usebibmacro{bytypestrg}{#1}{editor}}}
+
+\newbibmacro*{book:byeditor}{%
+ \ifnameundef{editor}
+ {}
+ {\usebibmacro{book:byeditor+othersstrg}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{editor}%
+ \savename{editor}{\savedclearededitor}%
+ \clearname{editor}%
+ \setunit*{\resppunct}%
+ \usebibmacro{book:byeditorx}}}
+
+\newbibmacro*{book:bytranslator+others}{%
+ \ifnameundef{booktranslator}
+ {}
+ {\usebibmacro{book:bytranslator+othersstrg}%
+ \setunit{\addspace}%
+ \printnames[bytranslator]{booktranslator}%
+ \clearname{booktranslator}%
+ \setunit*{\resppunct}}%
+ \usebibmacro{book:withothers}}
+
+\newbibmacro*{book:bytranslator+othersstrg}{%
+ \def\abx@tempa{bytranslator}%
+ \ifnamesequal{booktranslator}{bookcommentator}
+ {\appto\abx@tempa{co}%
+ \clearname{bookcommentator}}
+ {\ifnamesequal{booktranslator}{bookannotator}
+ {\appto\abx@tempa{an}%
+ \clearname{bookannotator}}
+ {}}%
+ \ifnamesequal{booktranslator}{bookintroduction}
+ {\appto\abx@tempa{in}%
+ \clearname{bookintroduction}}
+ {\ifnamesequal{booktranslator}{bookforeword}
+ {\appto\abx@tempa{fo}%
+ \clearname{bookforeword}}
+ {\ifnamesequal{booktranslator}{bookafterword}
+ {\appto\abx@tempa{af}%
+ \clearname{bookafterword}}
+ {}}}%
+ % temporarily redefining commands used in the bibstring
+ \savecommand\lbx@lfromlang%
+ \savecommand\lbx@sfromlang%
+ \renewcommand*{\lbx@lfromlang}{%
+ \iffielddundef{bookoriglanguage}
+ {\unspace}
+ {\biblstring{from\thefield{bookoriglanguage}}}}
+ \renewcommand*{\lbx@sfromlang}{%
+ \iffieldundef{bookoriglanguage}
+ {\unspace}
+ {\bibsstring{from\thefield{bookoriglanguage}}}}
+ \bibstring{\abx@tempa}%
+ \restorecommand\lbx@lfromlang%
+ \restorecommand\lbx@sfromlang%
+}
+
+\newbibmacro*{book:withothers}{%
+ \usebibmacro{book:withcommentator}%
+ \clearname{bookcommentator}%
+ \setunit*{\resppunct}%
+ \usebibmacro{book:withannotator}%
+ \clearname{bookannotator}%
+ \setunit*{\resppunct}%
+ \usebibmacro{book:withintroduction}%
+ \clearname{bookintroduction}%
+ \setunit*{\resppunct}%
+ \usebibmacro{book:withforeword}%
+ \clearname{bookforeword}%
+ \setunit*{\resppunct}%
+ \usebibmacro{book:withafterword}%
+ \clearname{bookafterword}%
+}
+
+\newbibmacro*{book:with+}[1]{%
+ \ifnameundef{book#1}
+ {}
+ {\bibstring{with#1}%
+ \setunit{\addspace}%
+ \printnames[with#1]{book#1}}}
+
+\newbibmacro*{book:withcommentator}{%
+ \usebibmacro{book:with+}{commentator}}
+
+\newbibmacro*{book:withannotator}{%
+ \usebibmacro{book:with+}{annotator}}
+
+\newbibmacro*{book:withintroduction}{%
+ \usebibmacro{book:with+}{introduction}}
+
+\newbibmacro*{book:withforeword}{%
+ \usebibmacro{book:with+}{foreword}}
+
+\newbibmacro*{book:withafterword}{%
+ \usebibmacro{book:with+}{afterword}}
+
+% jour:.. macros
+
+\newbibmacro*{jour:volume+parts+issuetitle}{%
+ \printfield{volume}%
+ \setunit*{\addcomma\space}%
+ \printfield{issue}%
+ \setunit*{\addcomma\space}%
+ \printfield{number}%
+ \iffieldundef{issuetitle}
+ {}
+ {\setunit{\addcolon\space}%
+ \printfield{issuetitle}}}%
+
+\newbibmacro*{jour:date}{%
+ \usebibmacro{year}%
+ \newunit\newblock
+ \mkbibdatelong{}{month}{day}%
+ \iffieldundef{endyear}
+ {}
+ {\bibdatedash%
+ \iffieldequalstr{endyear}{}
+ {\mbox{~~~~}}
+ {\printfield{endyear}%
+ \newunit\newblock
+ \mkbibdatelong{}{endmonth}{endday}}}%
+}
+
+\def\blx@gost@volsinorder#1#2{%
+ \ifstrequal{#1}{v}
+ {\printfield{volume}%
+ \iffieldundef{volume}{}{\blx@gost@setunit}}
+ {\ifstrequal{#1}{b}
+ {\printfield{book}%
+ \iffieldundef{book}{}{\blx@gost@setunit}}
+ {\ifstrequal{#1}{p}
+ {\printfield{part}%
+ \iffieldundef{part}{}{\blx@gost@setunit}}
+ {\ifstrequal{#1}{i}
+ {\printfield{issue}%
+ \iffieldundef{issue}{}{\blx@gost@setunit}}
+ {}}}}%
+ \ifthenelse{\equal{#2}{\blx@gost@endofstring}}% end of string ?
+ {}%
+ {\stepcounter{blx@gost@pointer}%
+ \blx@gost@volsinorder#2}}
+
+\newbibmacro*{volume+parts}[1]{%
+ \iffieldundef{volsorder}
+ {\edef\gost@tempa{\blx@gost@defaultorder}}
+ {\edef\gost@tempa{\thefield{volsorder}}}%
+ \ifdefvoid{\gost@tempa}
+ {}
+ {\renewcommand*{\blx@gost@setunit}{#1}%
+ \setcounter{blx@gost@pointer}{1}%
+ \expandafter\blx@gost@volsinorder\gost@tempa\blx@gost@endofstring}}
+
+\newbibmacro*{year}{%
+ \printfield{year}}
+
+\renewbibmacro*{title}{%
+ \ifboolexpr{
+ test {\iffieldundef{title}}
+ and
+ test {\iffieldundef{subtitle}}
+ }
+ {}
+ {\printtext[title]{%
+ \printfield[titlecase]{title}%
+ \iffieldundef{media}
+ {\setunit*{\subtitlepunct}}
+ {\setunit*{\addspace}%
+ \usebibmacro{media}%
+ \setunit*{\addcolondelim}}%
+ \printfield[titlecase]{subtitle}}%
+ \newunit}%
+ \setunit*{\addcolondelim}%
+ \printfield{titleaddon}%
+ \clearfield{media}}
+
+\renewbibmacro*{booktitle}{%
+ \ifboolexpr{
+ test {\iffieldundef{booktitle}}
+ and
+ test {\iffieldundef{booksubtitle}}
+ }
+ {}
+ {\printtext[booktitle]{%
+ \printfield[titlecase]{booktitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[titlecase]{booksubtitle}}%
+ \newunit}%
+ \setunit{\addcolondelim}%
+ \printfield{booktitleaddon}}
+
+\renewbibmacro*{maintitle}{%
+ \ifboolexpr{
+ test {\iffieldundef{maintitle}}
+ and
+ test {\iffieldundef{mainsubtitle}}
+ }
+ {}
+ {\printtext[maintitle]{%
+ \printfield[titlecase]{maintitle}%
+ \iffieldundef{media}
+ {\setunit*{\subtitlepunct}}
+ {\setunit*{\addspace}%
+ \usebibmacro{media}%
+ \setunit*{\addcolondelim}}
+ \printfield[titlecase]{mainsubtitle}}%
+ \newunit}%
+ \setunit{\addcolondelim}%
+ \printfield{maintitleaddon}%
+ \clearfield{media}}
+
+\newbibmacro*{thesistitle}{%
+ \ifboolexpr{
+ test {\iffieldundef{title}}
+ and
+ test {\iffieldundef{subtitle}}
+ }
+ {}
+ {\printtext[title]{%
+ \printfield[titlecase]{title}%
+ \iffieldundef{media}
+ {\setunit*{\subtitlepunct}}
+ {\setunit*{\addspace}%
+ \usebibmacro{media}%
+ \setunit*{\addcolondelim}}%
+ \printfield[titlecase]{subtitle}}%
+ \ifbibxstring{\thefield{type}}
+ {\bibstring{\thefield{type}}}
+ {\printfield{type}}%
+ \setunit*{\addspace}%
+ \printfield{major}%
+ \setunit*{\addcolondelim}%
+ \printfield{majorcode}}%
+ \setunit*{\addcolondelim}%
+ \printfield{titleaddon}%
+ \clearfield{media}}
+
+\newcommand*{\addcolondelim}{%
+ \begingroup%
+ \def\abx@colon{%
+ \ifdim\lastkern>\z@\unkern\fi%
+ \addnbspace\abx@puncthook{:}\space}%
+ \addcolon%
+ \endgroup}
+
+\newcommand*{\addsemicolondelim}{%
+ \begingroup%
+ \def\abx@semicolon{%
+ \ifdim\lastkern>\z@\unkern\fi%
+ \addnbspace\abx@puncthook{;}\space}%
+ \addsemicolon%
+ \endgroup}
+
+\def\blx@gost@involsinorder#1#2{%
+ \ifstrequal{#1}{v}
+ {\printfield{volumes}%
+ \blx@gost@setunit}
+ {\ifstrequal{#1}{b}
+ {\printfield{books}%
+ \blx@gost@setunit}
+ {\ifstrequal{#1}{p}
+ {\printfield{parts}%
+ \blx@gost@setunit}
+ {\ifstrequal{#1}{i}
+ {\printfield{issues}%
+ \blx@gost@setunit}
+ {}}}}%
+ \ifthenelse{\equal{#2}{\blx@gost@endofstring}}% end of string ?
+ {}%
+ {\stepcounter{blx@gost@pointer}%
+ \blx@gost@involsinorder#2}}
+
+\newbibmacro*{involumes+otherparts}[1]{%
+ \ifboolexpr{
+ test {\iffieldundef{volumes}}
+ and
+ test {\iffieldundef{parts}}
+ and
+ test {\iffieldundef{books}}
+ and
+ test {\iffieldundef{issues}}
+ }
+ {}
+ {\iffieldundef{volsorder}
+ {\edef\gost@tempa{\blx@gost@defaultorder}}
+ {\edef\gost@tempa{\thefield{volsorder}}}%
+ \ifdefvoid{\gost@tempa}
+ {}
+ {\renewcommand*{\blx@gost@setunit}{#1}%
+ \setcounter{blx@gost@pointer}{1}%
+ \bibstring{involumes}%
+ \addabbrvspace%
+ \expandafter\blx@gost@involsinorder\gost@tempa\blx@gost@endofstring}}}
+
+\renewbibmacro*{byauthor}{%
+ \ifboolexpr{
+ test \ifuseauthor
+ or
+ test {\ifnameundef{author}}
+ }
+ {}
+ {\printnames[byauthor]{author}}}
+
+\newbibmacro*{book:byauthor}{%
+ \ifboolexpr{
+ test {\ifnameundef{bookauthor}}
+ or
+ test {\ifnamesequal{author}{bookauthor}}
+ }
+ {}
+ {\printnames[byauthor]{bookauthor}}}
+
+\renewbibmacro*{name:andothers}{%
+ \ifboolexpr{
+ test {\ifnumequal{\value{listcount}}{\value{liststop}}}
+ and
+ test \ifmorenames
+ }
+ {\ifnumgreater{\value{liststop}}{1}
+ {\finalandcomma}
+ {}%
+ \andothersdelim\mkbibbrackets{\bibstring{andothers}}}
+ {}}
+
+\InitializeBibliographyStyle{%
+ \global\undef\bbx@lasthash}
+
+\newbool{bbx@inset}
+\DeclareBibliographyDriver{set}{%
+ \booltrue{bbx@inset}%
+ \entryset{}{}%
+ \newunit\newblock
+ \usebibmacro{setpageref}%
+ \finentry}
+
+\renewbibmacro*{author}{%
+ \ifboolexpr{
+ test \ifuseauthor
+ and
+ not test {\ifnameundef{author}}
+ }
+ {\usebibmacro{bbx:dashcheck}
+ {\bibnamedash}
+ {\printnames{author}%
+ \setunit{\addcomma\space}%
+ \usebibmacro{bbx:savehash}}%
+ \usebibmacro{authorstrg}}
+ {\global\undef\bbx@lasthash}}
+
+\renewbibmacro*{editor}{%
+ \usebibmacro{bbx:editor}{editorstrg}}
+\renewbibmacro*{editor+others}{%
+ \usebibmacro{bbx:editor}{editor+othersstrg}}
+\newbibmacro*{bbx:editor}[1]{%
+ \ifboolexpr{
+ test \ifuseeditor
+ and
+ not test {\ifnameundef{editor}}
+ }
+ {\usebibmacro{bbx:dashcheck}
+ {\bibnamedash}
+ {\printnames{editor}%
+ \setunit{\addcomma\space}%
+ \usebibmacro{bbx:savehash}}%
+ \usebibmacro{#1}%
+ \savename{editor}{\savedclearededitor}%
+ \clearname{editor}}
+ {\global\undef\bbx@lasthash}}
+
+\renewbibmacro*{translator}{%
+ \usebibmacro{bbx:translator}{translatorstrg}}
+\renewbibmacro*{translator+others}{%
+ \usebibmacro{bbx:translator}{translator+othersstrg}}
+\newbibmacro*{bbx:translator}[1]{%
+ \ifboolexpr{
+ test \ifusetranslator
+ and
+ not test {\ifnameundef{translator}}
+ }
+ {\usebibmacro{bbx:dashcheck}
+ {\bibnamedash}
+ {\printnames{translator}%
+ \setunit{\addcomma\space}%
+ \usebibmacro{bbx:savehash}}%
+ \usebibmacro{#1}%
+ \savename{translator}{\savedclearedtranslator}%
+ \clearname{translator}}
+ {\global\undef\bbx@lasthash}}
+
+\newbibmacro*{bbx:dashcheck}[2]{%
+ \ifboolexpr{
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}
+ and
+ not test \iffirstonpage
+ and
+ (
+ not bool {bbx@inset}
+ or
+ test {\iffieldequalstr{entrysetcount}{1}}
+ )
+ }
+ {#1}
+ {#2}}
+
+\newbibmacro*{url+urldate+note}{%
+ \ifcitation
+ {\iftoggle{cbx:url}
+ {\usebibmacro{url+urldate}}
+ {}}
+ {\iftoggle{bbx:url}
+ {\usebibmacro{url+urldate}}
+ {}}%
+ \setunit*{\addsemicolondelim}%
+ \printfield{note}}
+
+\gdef\ifmulticitation{%
+ \ifnum\c@multicitetotal>0
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+
+\newbibmacro*{media}{%
+ \iffieldundef{media}
+ {}
+ {{\ifdefvoid{\gostmedialanguage}
+ {}
+ {\select@medialanguage}% first switch language, then \ifbibxstring
+ \ifbibxstring{media\thefield{media}}
+ {\printtext[brackets]{\bibcpstring{media\thefield{media}}}}
+ {}}}}
+
+\newbibmacro*{priority}{%
+ \printprdate%
+ \setunit{\addcomma\space}%
+ \printfield{prnumber}%
+ \setunit{\addspace}%
+ \iffieldundef{prcountry}
+ {}
+ {\printtext[parens]{\printfield{prcountry}}}}
+
+\newbibmacro*{heading}{%
+ \printfield{heading}}
+
+% Related
+
+\newbibmacro{rel:common}{%
+ \usebibmacro{author}%
+ \setunit*{\labelnamepunct}%
+ \ifboolexpr{
+ test {\ifentrytype{book}}
+ or
+ test {\ifentrytype{collection}}
+ or
+ test {\ifentrytype{proceedings}}
+ }
+ {\usebibmacro{maintitle+volumes+parts+title}%
+ \ifentrytype{proceedings}
+ {\newunit
+ \usebibmacro{event+venue+date}}
+ {}}
+ {\usebibmacro{title}}%
+ \ifentrytype{article}
+ {\usebibmacro{//}%
+ \usebibmacro{journal}}
+ {}%
+ \ifboolexpr{
+ test {\ifentrytype{inbook}}
+ or
+ test {\ifentrytype{incollection}}
+ or
+ test {\ifentrytype{inproceedings}}
+ }
+ {\usebibmacro{//}%
+ \usebibmacro{maintitle+volumes+parts+booktitle}%
+ \ifentrytype{proceedings}
+ {\newunit
+ \usebibmacro{event+venue+date}}
+ {}}
+ {}%
+ \ifboolexpr{
+ test {\ifentrytype{article}}
+ or
+ test {\ifentrytype{periodical}}
+ }
+ {\printlist{location}%
+ \setunit*{\addcomma\space}%
+ \usebibmacro{jour:date}%
+ \newunit\newblock
+ \usebibmacro{jour:volume+parts+issuetitle}%
+ \ifentrytype{article}
+ {\newunit\newblock
+ \printfield{pages}}
+ {}}
+ {\ifboolexpr{
+ test {\ifentrytype{booklet}}
+ or
+ test {\ifentrytype{unpublished}}
+ }
+ {\newunit\newblock
+ \usebibmacro{location+date}%
+ \newunit\newblock}
+ {\newunit\newblock
+ \printlist{organization}%
+ \newunit
+ \usebibmacro{publisher+location+date}}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}}}
+
+\renewbibmacro*{related:default}[1]{%
+ \entrydata*{#1}{%
+ \usebibmacro{rel:common}%
+ \newunit\newblock}}
+
+\renewbibmacro*{related:bytranslator}[1]{%
+ \entrydata{#1}{%
+ \printnames[bytranslator]{translator}%
+ \clearname{translatror}%
+ \setunit*{\addcolon\space}%
+ \usebibmacro{rel:common}%
+ \newunit\newblock}}
+
+\renewbibmacro*{related:multivolume}[1]{%
+ \entrydata*{#1}{%
+ \usebibmacro{volume+parts}{\newunit}%
+ \setunit{\addcolondelim}%
+ \ifboolexpr{
+ test {\ifnamesequal{author}{savedauthor}}
+ or
+ test {\ifnameundef{author}}
+ }
+ {}
+ {\usebibmacro{author}%
+ \setunit*{\labelnamepunct}}%
+ \usebibmacro{title}%
+ \setunit{\respdelim}%
+ \iflistsequal{credits}{savedcredits}
+ {}
+ {\usebibmacro{credits}}%
+ \setunit*{\resppunct}%
+ \ifnamesequal{editor}{savededitor}
+ {}
+ {\usebibmacro{byeditor}}%
+ \setunit*{\resppunct}%
+ \ifnamesequal{translator}{savedtranslator}
+ {}
+ {\usebibmacro{bytranslator+others}}%
+ \newunit\newblock
+ \usebibmacro{date}%
+ \newunit\newblock
+ \printfield{pagetotal}%
+ \usebibmacro{finentry}}}
+
+\renewbibmacro*{related:origpubin}[1]{%
+ \entrydata*{#1}{%
+ \printfield{year}%
+ \ifboolexpr{
+ test {\iflistsequal{publisher}{savedpublisher}}
+ or
+ test {\iflistundef{publisher}}
+ }
+ {}
+ {\setunit{\addspace\bibstring{bypublisher}\space}%
+ \printlist{publisher}%
+ \setunit{\addcomma\space}%
+ \iflistsequal{location}{savedlocation}
+ {}
+ {\printlist{location}}}}}
+
+\renewbibmacro*{related:origpubas}[1]{%
+ \entrydata*{#1}{%
+ \usebibmacro{title}%
+ \ifboolexpr{
+ test {\iflistsequal{publisher}{savedpublisher}}
+ or
+ test {\iflistundef{publisher}}
+ }
+ {}
+ {\setunit{\addspace\bibstring{bypublisher}\space}%
+ \printlist{publisher}%
+ \setunit{\addcomma\space}%
+ \iflistsequal{location}{savedlocation}
+ {}
+ {\printlist{location}}}}}
+
+\newcounter{bbx:relatedcount}
+\newcounter{bbx:relatedtotal}
+
+\newbibmacro*{related}{%
+ \restorelist{credits}{\savedclearedcredits}%
+ \restorename{editor}{\savedclearededitor}%
+ \restorename{translator}{\savedclearedtranslator}%
+ \iffieldequalstr{relatedtype}{multivolume}
+ {\finentry}
+ {}%
+ \ifboolexpr{
+ ( test {\ifcitation}
+ and
+ not test {\iftoggle{bbx:related:cite}}
+ )
+ or
+ ( not test {\ifcitation}
+ and
+ not test {\iftoggle{bbx:related:bib}}
+ )
+ or
+ test {\iffieldundef{related}}
+ }
+ {}
+ {\setcounter{bbx:relatedcount}{0}%
+ \setcounter{bbx:relatedtotal}{0}%
+ \def\do##1{\stepcounter{bbx:relatedtotal}}%
+ \docsvfield{related}%
+ \def\do{%
+ \stepcounter{bbx:relatedcount}%
+ \ifnumgreater{\value{bbx:relatedcount}}{1}
+ {\printtext{\relateddelim}}
+ {}}%
+ \ifbibmacroundef{related:\strfield{relatedtype}}
+ {\appto{\do}{\usebibmacro{related:default}}}
+ {\appto{\do}{\usebibmacro*{related:\strfield{relatedtype}}}}%
+ \iffieldformatundef{related:\strfield{relatedtype}}
+ {\def\bbx@tempa{related}}
+ {\def\bbx@tempa{related:\strfield{relatedtype}}}%
+ \iffieldformatundef{relatedstring:\strfield{relatedtype}}
+ {\def\bbx@tempb{relatedstring}}
+ {\def\bbx@tempb{relatedstring:\strfield{relatedtype}}}%
+ \printtext[\bbx@tempa]{%
+ \iffieldundef{relatedstring}
+ {\ifboolexpr{
+ test {\ifnumgreater{\value{bbx:relatedtotal}}{1}}
+ and
+ test {\ifbibxstring{\thefield{relatedtype}s}}
+ }
+ {\printtext[\bbx@tempb]{\bibstring{\thefield{relatedtype}s}}}
+ {\iffieldbibstring{relatedtype}
+ {\printtext[\bbx@tempb]{\bibstring{\thefield{relatedtype}}}}
+ {}}}
+ {\iffieldbibstring{relatedstring}
+ {\printtext[\bbx@tempb]{\bibstring{\thefield{relatedstring}}}}
+ {\printfield[\bbx@tempb]{relatedstring}}}%
+ \docsvfield{related}}}}
+
+\newbibmacro*{setup:min}{%
+ \renewbibmacro*{series+number}{}%
+ \renewbibmacro*{credits}{}%
+ \renewbibmacro*{book:credits}{}%
+ \renewbibmacro*{byeditor}{}%
+ \renewbibmacro*{book:byeditor}{}%
+ \renewbibmacro*{bytranslator+others}{}%
+ \renewbibmacro*{book:bytranslator+others}{}%
+ \renewbibmacro*{media}{}%
+ \renewbibmacro*{priority}{}%
+ \clearfield{series}%
+ \clearfield{edition}%
+ \clearlist{credits}%
+ \clearlist{editioncredits}%
+ \clearlist{specdata}%
+ \clearfield{media}%
+ \clearfield{pagetotal}%
+ \clearfield{titleaddon}%
+ \clearfield{booktitleaddon}%
+ \clearfield{maintitleaddon}%
+ \clearfield{addendum}%
+ \clearfield{pubstate}%
+ \clearname{holder}%
+ \clearfield{publyear}%
+ \clearfield{publmonth}%
+ \clearfield{publday}%
+ \clearfield{reqnumber}%
+ \clearfield{publication}%
+ \clearfield{upyear}%
+ \clearfield{upmonth}%
+ \clearfield{upday}%
+ \clearfield{systemreq}%
+}
+
+\DeclareAutoCiteCommand{footnote}{\smartcite}{\smartcites}
+\DeclareAutoCiteCommand{superscript}{\supercite}{\supercites}
+
+\endinput