summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex-ms/latex/bbx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-08-24 03:01:23 +0000
committerNorbert Preining <norbert@preining.info>2022-08-24 03:01:23 +0000
commit2fcb60fa8843870d9f3a90987498e5b775402258 (patch)
tree7db6e32b73c582239b1080a4c5272c8ec51c21d5 /macros/latex/contrib/biblatex-ms/latex/bbx
parent0fab672d8f0c2d456fafd111ea77c2123075d653 (diff)
CTAN sync 202208240301
Diffstat (limited to 'macros/latex/contrib/biblatex-ms/latex/bbx')
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/alphabetic-ms.bbx60
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/alphabetic-verb-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-comp-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-ibid-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-icomp-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-ms.bbx134
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-tcomp-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-terse-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-ticomp-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/authoryear-comp-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/authoryear-ibid-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/authoryear-icomp-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/authoryear-ms.bbx293
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/debug-ms.bbx111
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/draft-ms.bbx42
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/numeric-comp-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/numeric-ms.bbx63
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/numeric-verb-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/reading-ms.bbx177
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/standard-ms.bbx1000
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/verbose-ibid-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/verbose-inote-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/verbose-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/verbose-note-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/verbose-trad1-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/verbose-trad2-ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-ms/latex/bbx/verbose-trad3-ms.bbx6
27 files changed, 1994 insertions, 0 deletions
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/alphabetic-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/alphabetic-ms.bbx
new file mode 100644
index 0000000000..17a44b81cf
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/alphabetic-ms.bbx
@@ -0,0 +1,60 @@
+\ProvidesFile{alphabetic-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{standard}
+\ExecuteBibliographyOptions{labelalpha,sorting=anyt}
+
+\providebool{bbx:subentry}
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{subentry}[true]{%
+ \setbool{bbx:subentry}{#1}}
+
+\DeclareNameAlias{author}{default}
+\DeclareNameAlias{editor}{default}
+\DeclareNameAlias{translator}{default}
+
+\DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}}
+\DeclareFieldFormat{labelalphawidth}{\mkbibbrackets{#1}}
+\DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}}
+
+\defbibenvironment{bibliography}
+ {\list
+ {\printtext[labelalphawidth]{%
+ \printfield{labelprefix}%
+ \printfield{labelalpha}%
+ \printfield{extraalpha}}}
+ {\setlength{\labelwidth}{\labelalphawidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{shorthand}
+ {\list
+ {\printfield[shorthandwidth]{shorthand}}
+ {\setlength{\labelwidth}{\shorthandwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\DeclareBibliographyDriver{set}{%
+ \entryset
+ {\ifbool{bbx:subentry}
+ {\printfield[bibentrysetcount]{entrysetcount}%
+ \printunit*{\addnbspace}}
+ {}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{setpageref}%
+ \finentry}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/alphabetic-verb-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/alphabetic-verb-ms.bbx
new file mode 100644
index 0000000000..0ba5ad6a2b
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/alphabetic-verb-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{alphabetic-verb-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{alphabetic}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-comp-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-comp-ms.bbx
new file mode 100644
index 0000000000..614ac9de83
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-comp-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{authortitle-comp-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{authortitle}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-ibid-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-ibid-ms.bbx
new file mode 100644
index 0000000000..0f9048018a
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-ibid-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{authortitle-ibid-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{authortitle}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-icomp-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-icomp-ms.bbx
new file mode 100644
index 0000000000..9535ef4119
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-icomp-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{authortitle-icomp-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{authortitle}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-ms.bbx
new file mode 100644
index 0000000000..1987eb46d2
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-ms.bbx
@@ -0,0 +1,134 @@
+\ProvidesFile{authortitle-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{standard}
+\ExecuteBibliographyOptions{pagetracker}
+
+\DeclareBibliographyOption[boolean]{dashed}[true]{%
+ \ifstrequal{#1}{true}
+ {\ExecuteBibliographyOptions{pagetracker}%
+ \renewbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}}
+ {\renewbibmacro*{bbx:savehash}{}}}
+
+\DeclareFieldFormat{shorthandwidth}{#1}
+\setlength{\bibitemsep}{0pt}
+
+\DeclareNameAlias{author}{sortname}
+\DeclareNameAlias{editor}{sortname}
+\DeclareNameAlias{translator}{sortname}
+
+\DeclareNameWrapperAlias{author}{sortname}
+\DeclareNameWrapperAlias{editor}{sortname}
+\DeclareNameWrapperAlias{translator}{sortname}
+
+\defbibenvironment{bibliography}
+ {\list
+ {}
+ {\setlength{\leftmargin}{\bibhang}%
+ \setlength{\itemindent}{-\leftmargin}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{shorthand}
+ {\list
+ {\printfield[shorthandwidth]{shorthand}}
+ {\setlength{\labelwidth}{\shorthandwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\InitializeBibliographyStyle{%
+ \global\undef\bbx@lasthash}
+
+\newbibmacro*{bbx:savehash}{%
+ \savefield{fullhash}{\bbx@lasthash}}
+
+\newbool{bbx@inset}
+\DeclareBibliographyDriver{set}{%
+ \booltrue{bbx@inset}%
+ \entryset{}{}%
+ \newunit\newblock
+ \usebibmacro{setpageref}%
+ \finentry}
+
+\renewbibmacro*{begrelated}{%
+ \booltrue{bbx@inset}}
+
+\renewbibmacro*{endrelated}{%
+ \usebibmacro*{bbx:savehash}}
+
+\renewbibmacro*{author}{%
+ \ifboolexpr{
+ test \ifuseauthor
+ and
+ not test {\ifnameundef{author}}
+ }
+ {\usebibmacro{bbx:dashcheck}
+ {\bibnamedash}
+ {\printnames{author}%
+ \setunit{\printdelim{authortypedelim}}%
+ \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{\printdelim{editortypedelim}}%
+ \usebibmacro{bbx:savehash}}%
+ \usebibmacro{#1}%
+ \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{\printdelim{translatortypedelim}}%
+ \usebibmacro{bbx:savehash}}%
+ \usebibmacro{#1}%
+ \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}}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-tcomp-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-tcomp-ms.bbx
new file mode 100644
index 0000000000..3bd7066c68
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-tcomp-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{authortitle-tcomp-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{authortitle}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-terse-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-terse-ms.bbx
new file mode 100644
index 0000000000..8b49254463
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-terse-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{authortitle-terse-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{authortitle}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-ticomp-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-ticomp-ms.bbx
new file mode 100644
index 0000000000..daaf2cc668
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/authortitle-ticomp-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{authortitle-ticomp-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{authortitle}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/authoryear-comp-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/authoryear-comp-ms.bbx
new file mode 100644
index 0000000000..6d9a1a33d4
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/authoryear-comp-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{authoryear-comp-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{authoryear}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/authoryear-ibid-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/authoryear-ibid-ms.bbx
new file mode 100644
index 0000000000..59f1e4ce9c
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/authoryear-ibid-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{authoryear-ibid-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{authoryear}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/authoryear-icomp-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/authoryear-icomp-ms.bbx
new file mode 100644
index 0000000000..04747e73a7
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/authoryear-icomp-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{authoryear-icomp-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{authoryear}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/authoryear-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/authoryear-ms.bbx
new file mode 100644
index 0000000000..643180d0ea
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/authoryear-ms.bbx
@@ -0,0 +1,293 @@
+\ProvidesFile{authoryear-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{standard}
+
+\DeclareBibliographyOption[boolean]{dashed}[true]{%
+ \ifstrequal{#1}{true}
+ {\ExecuteBibliographyOptions{pagetracker}%
+ \renewbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}}
+ {\renewbibmacro*{bbx:savehash}{}}}
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{mergedate}[true]{%
+ \ifcsdef{bbx@opt@mergedate@#1}
+ {\csuse{bbx@opt@mergedate@#1}}
+ {\PackageError{biblatex}
+ {Invalid option 'mergedate=#1'}
+ {Valid values are 'maximum', 'compact', 'basic', 'minimum',\MessageBreak
+ 'true' (=compact), and 'false'.}}}
+
+\providebibmacro*{date+extradate}{}
+\providebibmacro*{date+extrayear}{%
+ \blx@warning{bibmacro 'date+extrayear' is deprecated.\MessageBreak
+ Please use 'date+extradate'.\MessageBreak
+ Using 'date+extradate' instead}%
+ \usebibmacro{date+extradate}}
+
+\newbibmacro*{bbx:ifmergeddate}{\@secondoftwo}
+
+\renewbibmacro*{date}{%
+ \usebibmacro{bbx:ifmergeddate}
+ {}
+ {\printdate}}%
+
+\def\bbx@opt@mergedate@true{\bbx@opt@mergedate@compact}
+
+% merge date/issue with date label
+\def\bbx@opt@mergedate@maximum{%
+ \renewbibmacro*{date+extradate}{%
+ \iffieldundef{labelyear}
+ {}
+ {\printtext[parens]{%
+ \iflabeldateisdate
+ {\printfield{issue}%
+ \setunit*{\addspace}%
+ \printdateextra}
+ {\printlabeldateextra}}}}%
+ \renewbibmacro*{bbx:ifmergeddate}{\iflabeldateisdate}%
+ \renewbibmacro*{issue+date}{%
+ \usebibmacro{bbx:ifmergeddate}
+ {}
+ {\printtext[parens]{%
+ \printfield{issue}%
+ \setunit*{\addspace}%
+ \printdate}}}}
+
+% merge date with date label
+\def\bbx@opt@mergedate@compact{%
+ \renewbibmacro*{date+extradate}{%
+ \iffieldundef{labelyear}
+ {}
+ {\printtext[parens]{%
+ \iflabeldateisdate
+ {\printdateextra}
+ {\printlabeldateextra}}}}%
+ \renewbibmacro*{bbx:ifmergeddate}{\iflabeldateisdate}%
+ \renewbibmacro*{issue+date}{%
+ \ifboolexpr{test {\usebibmacro{bbx:ifmergeddate}}
+ and
+ test {\iffieldundef{issue}}}
+ {}
+ {\printtext[parens]{%
+ \printfield{issue}%
+ \setunit*{\addspace}%
+ \usebibmacro{bbx:ifmergeddate}
+ {}
+ {\printdate}}}%
+ \newunit}}
+
+% merge year-only date with date label
+\def\bbx@opt@mergedate@basic{%
+ \renewbibmacro*{date+extradate}{%
+ \iffieldundef{labelyear}
+ {}
+ {\printtext[parens]{\printlabeldateextra}}}%
+ \renewbibmacro*{bbx:ifmergeddate}{%
+ \ifboolexpr{
+ test {\iflabeldateisdate}
+ and
+ not test {\ifdateshavedifferentprecision{label}{}}
+ }%
+ }%
+ \renewbibmacro*{issue+date}{%
+ \ifboolexpr{
+ test {\usebibmacro{bbx:ifmergeddate}}
+ and
+ test {\iffieldundef{issue}}
+ }
+ {}
+ {\printtext[parens]{%
+ \printfield{issue}%
+ \setunit*{\addspace}%
+ \printdate}}%
+ \newunit}}
+
+% merge year-only date with year-only date label
+\def\bbx@opt@mergedate@minimum{%
+ \renewbibmacro*{date+extradate}{%
+ \iffieldundef{labelyear}
+ {}
+ {\printtext[parens]{\printlabeldateextra}}}%
+ \renewbibmacro*{bbx:ifmergeddate}{%
+ \ifboolexpr{
+ test {\iflabeldateisdate}
+ and
+ not test {\ifdateshavedifferentprecision{label}{}}
+ and
+ test {\iffieldundef{extradate}}
+ }%
+ }%
+ \renewbibmacro*{issue+date}{%
+ \ifboolexpr{
+ test {\usebibmacro{bbx:ifmergeddate}}
+ and
+ test {\iffieldundef{issue}}
+ }
+ {}
+ {\printtext[parens]{%
+ \printfield{issue}%
+ \setunit*{\addspace}%
+ \printdate}}%
+ \newunit}}
+
+% don't merge date/issue with date label
+\def\bbx@opt@mergedate@false{%
+ \renewbibmacro*{date+extradate}{%
+ \iffieldundef{labelyear}
+ {}
+ {\printtext[parens]{\printlabeldateextra}}}%
+ \renewbibmacro*{bbx:ifmergeddate}{\@secondoftwo}%
+ \renewbibmacro*{issue+date}{%
+ \printtext[parens]{%
+ \printfield{issue}%
+ \setunit*{\addspace}%
+ \usebibmacro{date}}%
+ \newunit}}
+
+\ExecuteBibliographyOptions{labeldateparts,sorting=nyt,pagetracker,mergedate}
+
+\DeclareFieldFormat{shorthandwidth}{#1}
+\setlength{\bibitemsep}{0pt}
+
+\DeclareNameAlias{author}{sortname}
+\DeclareNameAlias{editor}{sortname}
+\DeclareNameAlias{translator}{sortname}
+
+\DeclareNameWrapperAlias{author}{sortname}
+\DeclareNameWrapperAlias{editor}{sortname}
+\DeclareNameWrapperAlias{translator}{sortname}
+
+\defbibenvironment{bibliography}
+ {\list
+ {}
+ {\setlength{\leftmargin}{\bibhang}%
+ \setlength{\itemindent}{-\leftmargin}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{shorthand}
+ {\list
+ {\printfield[shorthandwidth]{shorthand}}
+ {\setlength{\labelwidth}{\shorthandwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\InitializeBibliographyStyle{\global\undef\bbx@lasthash}
+
+\newbibmacro*{bbx:savehash}{%
+ \savefield{fullhash}{\bbx@lasthash}}
+
+\newbool{bbx@inset}
+\DeclareBibliographyDriver{set}{%
+ \booltrue{bbx@inset}%
+ \entryset{}{}%
+ \newunit\newblock
+ \usebibmacro{setpageref}%
+ \finentry}
+
+\renewbibmacro*{begrelated}{%
+ \booltrue{bbx@inset}}
+
+\renewbibmacro*{endrelated}{%
+ \usebibmacro*{bbx:savehash}}
+
+\renewbibmacro*{author}{%
+ \ifboolexpr{
+ test \ifuseauthor
+ and
+ not test {\ifnameundef{author}}
+ }
+ {\usebibmacro{bbx:dashcheck}
+ {\bibnamedash}
+ {\usebibmacro{bbx:savehash}%
+ \printnames{author}%
+ \iffieldundef{authortype}
+ {\setunit{\printdelim{nameyeardelim}}}
+ {\setunit{\printdelim{authortypedelim}}}}%
+ \iffieldundef{authortype}
+ {}
+ {\usebibmacro{authorstrg}%
+ \setunit{\printdelim{nameyeardelim}}}}%
+ {\global\undef\bbx@lasthash
+ \usebibmacro{labeltitle}%
+ \setunit*{\printdelim{nonameyeardelim}}}%
+ \usebibmacro{date+extradate}}
+
+\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{\printdelim{editortypedelim}}%
+ \usebibmacro{bbx:savehash}}%
+ \usebibmacro{#1}%
+ \clearname{editor}%
+ \setunit{\printdelim{nameyeardelim}}}%
+ {\global\undef\bbx@lasthash
+ \usebibmacro{labeltitle}%
+ \setunit*{\printdelim{nonameyeardelim}}}%
+ \usebibmacro{date+extradate}}
+
+\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{\printdelim{translatortypedelim}}%
+ \usebibmacro{bbx:savehash}}%
+ \usebibmacro{#1}%
+ \clearname{translator}%
+ \setunit{\printdelim{nameyeardelim}}}%
+ {\global\undef\bbx@lasthash
+ \usebibmacro{labeltitle}%
+ \setunit*{\printdelim{nonameyeardelim}}}%
+ \usebibmacro{date+extradate}}
+
+\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*{labeltitle}{%
+ \iffieldundef{label}
+ {\iffieldundef{shorttitle}
+ {\printfield{title}%
+ \clearfield{title}}
+ {\printfield[title]{shorttitle}}}
+ {\printfield{label}}}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/debug-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/debug-ms.bbx
new file mode 100644
index 0000000000..6c479a6e43
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/debug-ms.bbx
@@ -0,0 +1,111 @@
+\ProvidesFile{debug-ms.bbx}
+[\abx@bbxid]
+
+\ExecuteBibliographyOptions{sorting=debug}
+\DeclareFieldFormat{entrykey}{\ttfamily[#1]}
+\DeclareFieldFormat{shorthandwidth}{#1}
+
+\defbibenvironment{bibliography}
+ {\list
+ {}
+ {\setlength{\leftmargin}{8em}%
+ \setlength{\itemindent}{-\leftmargin}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\parsep}{0pt}%
+ \interlinepenalty\@M
+ \raggedbottom\raggedright
+ \frenchspacing
+ \normalfont\footnotesize}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{shorthand}
+ {\list
+ {\printfield[shorthandwidth]{shorthand}}
+ {\setlength{\labelwidth}{8em}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \addtolength{\labelwidth}{-\labelsep}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\parsep}{0pt}%
+ \renewcommand*{\makelabel}[1]{##1\hss}%
+ \interlinepenalty\@M
+ \raggedbottom\raggedright
+ \frenchspacing
+ \normalfont\footnotesize}}
+ {\endlist}
+ {\item}
+
+\@ifpackageloaded{biblatex_legacy}
+ {\DeclareNameFormat{debug}{%
+ \bbx@mklabel{\currentname}%
+ \ifblank{#3}{}{\detokenize{#3}\space}%
+ \ifblank{#5}{}{\detokenize{#5}\ifpunctmark{'}{}{\space}}%
+ \detokenize{#1}%
+ \ifblank{#7}{}{\space\detokenize{#7}}%
+ \ifblank{#3}{}{\bbx@mksublabel{given}\detokenize{#3}}%
+ \ifblank{#1}{}{\bbx@mksublabel{family}\detokenize{#1}}%
+ \ifblank{#5}{}{\bbx@mksublabel{prefix}\detokenize{#5}}%
+ \ifblank{#7}{}{\bbx@mksublabel{affix}\detokenize{#7}}%
+ \bbx@mksublabel{inits}%
+ \ifblank{#4}{}{\detokenize{#4}\space}%
+ \ifblank{#6}{}{\detokenize{#6}\ifpunctmark{'}{}{\space}}%
+ \detokenize{#2}%
+ \ifblank{#8}{}{\space\detokenize{#8}}}}
+ {\DeclareNameFormat{debug}{%
+ \bbx@mklabel{\currentname}%
+ \ifdefvoid{\namepartgiven}{}{\expandafter\detokenize\expandafter{\namepartgiven}\space}%
+ \ifdefvoid{\namepartprefix}{}{\expandafter\detokenize\expandafter{\namepartprefix}\ifpunctmark{'}{}{\space}}%
+ \expandafter\detokenize\expandafter{\namepartfamily}%
+ \ifdefvoid{\namepartsuffix}{}{\expandafter\space\expandafter\detokenize\expandafter{\namepartsuffix}}%
+ \ifdefvoid{\namepartgiven}{}{\bbx@mksublabel{given}\expandafter\detokenize\expandafter{\namepartgiven}}%
+ \ifdefvoid{\namepartfamily}{}{\bbx@mksublabel{family}\expandafter\detokenize\expandafter{\namepartfamily}}%
+ \ifdefvoid{\namepartprefix}{}{\bbx@mksublabel{prefix}\expandafter\detokenize\expandafter{\namepartprefix}}%
+ \ifdefvoid{\namepartsuffix}{}{\bbx@mksublabel{suffix}\expandafter\detokenize\expandafter{\namepartsuffix}}%
+ \bbx@mksublabel{inits}%
+ \ifdefvoid{\namepartgiveni}{}{\expandafter\detokenize\expandafter{\namepartgiveni}\space}%
+ \ifdefvoid{\namepartprefixi}{}{\expandafter\detokenize\expandafter{\namepartprefixi}\ifpunctmark{'}{}{\space}}%
+ \expandafter\detokenize\expandafter{\namepartfamilyi}%
+ \ifdefvoid{\namepartsuffixi}{}{\expandafter\space\expandafter\detokenize\expandafter{\namepartsuffixi}}}}
+
+\DeclareListFormat{debug}{%
+ \bbx@mklabel{\currentlist}%
+ \detokenize{#1}}
+
+\DeclareFieldFormat{debug}{%
+ \bbx@mklabel{\currentfield}%
+ \detokenize{#1}}
+
+\newcommand*{\bbx@mklabel}[1]{%
+ \item
+ \makebox[\leftmargin][l]{\ttfamily [#1]}}
+
+\newcommand*{\bbx@mksublabel}[1]{%
+ \par\nobreak
+ \makebox[6em][l]{\ttfamily [#1]}}
+
+\DeclareBibliographyDriver{debug}{%
+ \item\begingroup\ttfamily\leavevmode
+ \xleaders\hbox to 0.75em{\hss-\hss}\hfill\kern\z@
+ \space\printfield{entrykey}\space
+ \xleaders\hbox to 0.75em{\hss-\hss}\hfill\kern\z@
+ \endgroup
+ \def\do{\printnames[debug][-\value{listtotal}]}%
+ \abx@donames
+ \def\do{\printlist[debug][-\value{listtotal}]}%
+ \abx@dolists
+ \def\do{\printfield[debug]}%
+ \abx@dointernalfields
+ \abx@dofields\do{options}\do{execute}%
+ \item\begingroup\ttfamily\leavevmode
+ \xleaders\hbox to 0.75em{\hss-\hss}\hfill\kern\z@
+ \endgroup
+ \clearpage}
+
+\def\do#1{\DeclareBibliographyAlias{#1}{debug}}
+\abx@doentrytypes
+\do{*}
+
+\DeclareBibliographyDriver{shorthand}{%
+ \texttt{\printfield{entrykey}}}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/draft-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/draft-ms.bbx
new file mode 100644
index 0000000000..6ec3eb2225
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/draft-ms.bbx
@@ -0,0 +1,42 @@
+\ProvidesFile{draft-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{standard}
+\ExecuteBibliographyOptions{sorting=debug}
+
+\DeclareNameAlias{author}{default}
+\DeclareNameAlias{editor}{default}
+\DeclareNameAlias{translator}{default}
+
+\DeclareNameWrapperAlias{author}{default}
+\DeclareNameWrapperAlias{editor}{default}
+\DeclareNameWrapperAlias{translator}{default}
+
+\DeclareFieldFormat{shorthandwidth}{#1}
+
+\defbibenvironment{bibliography}
+ {\list
+ {\printfield{entrykey}}
+ {\setlength{\labelwidth}{0pt}%
+ \setlength{\itemindent}{-\leftmargin}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{%
+ \hspace\labelsep\bfseries##1}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{shorthand}
+ {\list
+ {\printfield[shorthandwidth]{shorthand}}
+ {\setlength{\labelwidth}{\shorthandwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/numeric-comp-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/numeric-comp-ms.bbx
new file mode 100644
index 0000000000..0328e2cffb
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/numeric-comp-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{numeric-comp-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{numeric}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/numeric-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/numeric-ms.bbx
new file mode 100644
index 0000000000..98f83ad227
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/numeric-ms.bbx
@@ -0,0 +1,63 @@
+\ProvidesFile{numeric-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{standard}
+\ExecuteBibliographyOptions{labelnumber}
+
+\providebool{bbx:subentry}
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{subentry}[true]{%
+ \setbool{bbx:subentry}{#1}}
+
+\DeclareNameAlias{author}{default}
+\DeclareNameAlias{editor}{default}
+\DeclareNameAlias{translator}{default}
+
+\DeclareNameWrapperAlias{author}{default}
+\DeclareNameWrapperAlias{editor}{default}
+\DeclareNameWrapperAlias{translator}{default}
+
+\DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}}
+\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}
+\DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}}
+
+\defbibenvironment{bibliography}
+ {\list
+ {\printtext[labelnumberwidth]{%
+ \printfield{labelprefix}%
+ \printfield{labelnumber}}}
+ {\setlength{\labelwidth}{\labelnumberwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}}%
+ \renewcommand*{\makelabel}[1]{\hss##1}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{shorthand}
+ {\list
+ {\printfield[shorthandwidth]{shorthand}}
+ {\setlength{\labelwidth}{\shorthandwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{\hss##1}}}
+ {\endlist}
+ {\item}
+
+\DeclareBibliographyDriver{set}{%
+ \entryset
+ {\ifbool{bbx:subentry}
+ {\printfield[bibentrysetcount]{entrysetcount}%
+ \printunit*{\addnbspace}}
+ {}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{setpageref}%
+ \finentry}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/numeric-verb-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/numeric-verb-ms.bbx
new file mode 100644
index 0000000000..1e1de4ae6a
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/numeric-verb-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{numeric-verb-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{numeric}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/reading-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/reading-ms.bbx
new file mode 100644
index 0000000000..f659bb930b
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/reading-ms.bbx
@@ -0,0 +1,177 @@
+\ProvidesFile{reading-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{standard}
+
+\DeclareNameAlias{author}{default}
+\DeclareNameAlias{editor}{default}
+\DeclareNameAlias{translator}{default}
+
+\DeclareNameWrapperAlias{author}{default}
+\DeclareNameWrapperAlias{editor}{default}
+\DeclareNameWrapperAlias{translator}{default}
+
+\DeclareFieldFormat{entrykey}{\mbox{\bfseries#1}}
+\DeclareFieldFormat{annotation}{\bibstring{annotation}\addcolon\space #1}
+\DeclareFieldFormat{abstract}{\bibstring{abstract}\addcolon\space #1}
+\DeclareFieldFormat{library}{\bibstring{library}\addcolon\space #1}
+\DeclareFieldFormat{file}{\bibstring{file}\addcolon\space \url{#1}}
+\DeclareFieldFormat{shorthandwidth}{#1}
+
+\InitializeBibliographyStyle{%
+ \global\undef\bbx@lasthash}
+
+\setlength{\bibitemsep}{0.5\baselineskip}
+\setlength{\bibparsep}{0pt}
+
+\defbibenvironment{bibliography}
+ {\list
+ {}
+ {\setlength{\leftmargin}{0pt}%
+ \setlength{\itemindent}{0pt}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}}}
+ {\endlist}
+ {\bbx@item}
+
+\defbibenvironment{shorthand}
+ {\list
+ {\printfield[shorthandwidth]{shorthand}}
+ {\setlength{\labelwidth}{\shorthandwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\def\bbx@item@false{%
+ \itemsep2\bibitemsep
+ \item\relax
+ \itemsep\bibitemsep}
+
+\def\bbx@item@true{%
+ \bbx@item@full}
+
+\def\bbx@item@full{%
+ \itemsep2\bibitemsep
+ \@itempenalty\z@
+ \item\relax
+ \begingroup
+ \samepage\bfseries
+ \def\finentrypunct{\strut}%
+ \usebibmacro{entryhead:full}%
+ \ifbool{bbx:entrykey}
+ {\def\newblockpunct{%
+ \nobreak\hskip\z@skip\strut
+ \hfill\penalty100\hskip1em\relax
+ \hbox{}\nobreak\hfill\strut}%
+ \def\finentrypunct{%
+ \parfillskip\z@\finalhyphendemerits\z@
+ \par\nobreak}%
+ \newblock
+ \printfield{entrykey}}
+ {}%
+ \finentry
+ \endgroup
+ \hrule height 1.25pt\relax
+ \itemsep\bibitemsep
+ \@itempenalty\@M
+ \item\strut
+ \@itempenalty\z@}
+
+\def\bbx@item@name{%
+ \iffieldequals{fullhash}{\bbx@lasthash}
+ {\bbx@item@false}
+ {\itemsep2\bibitemsep
+ \@itempenalty\z@
+ \item\relax
+ \begingroup
+ \samepage\bfseries
+ \def\finentrypunct{\strut}%
+ \usebibmacro{entryhead:name}%
+ \finentry
+ \endgroup
+ \hrule height 1.25pt\relax
+ \itemsep\bibitemsep
+ \@itempenalty\@M
+ \item\strut
+ \@itempenalty\z@}}
+
+\newbool{bbx:entrykey}
+\newbool{bbx:annotation}
+\newbool{bbx:abstract}
+\newbool{bbx:library}
+\newbool{bbx:file}
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{entryhead}[true]{%
+ \ifcsdef{bbx@item@#1}
+ {\letcs\bbx@item{bbx@item@#1}}
+ {\PackageError{biblatex}
+ {Invalid option 'header=#1'}
+ {Valid values: header=true, false, full, name.}}}
+\DeclareBiblatexOption{global,type,entry}[boolean]{entrykey}[true]{%
+ \setbool{bbx:entrykey}{#1}}
+\DeclareBiblatexOption{global,type,entry}[boolean]{annotation}[true]{%
+ \setbool{bbx:annotation}{#1}}
+\DeclareBiblatexOption{global,type,entry}[boolean]{abstract}[true]{%
+ \setbool{bbx:abstract}{#1}}
+\DeclareBiblatexOption{global,type,entry}[boolean]{library}[true]{%
+ \setbool{bbx:library}{#1}}
+\DeclareBiblatexOption{global,type,entry}[boolean]{file}[true]{%
+ \setbool{bbx:file}{#1}}
+
+\ExecuteBibliographyOptions{loadfiles,entryhead,entrykey,annotation,abstract,library,file}
+
+\newbibmacro*{entryhead:full}{%
+ \printnames[labelname][-1]{labelname}%
+ \setunit*{\addcolon\space}%
+ \printfield{labeltitle}}
+
+\newbibmacro*{entryhead:name}{%
+ \ifnameundef{labelname}
+ {\printfield{labeltitle}}
+ {\printnames[labelname]{labelname}}%
+ \savefield{fullhash}{\bbx@lasthash}}
+
+\newbibmacro*{entrytail}{%
+ \newunit\newblock
+ \begingroup
+ \def\newblockpunct{\item}%
+ \ifbool{bbx:annotation}
+ {\usebibmacro{annotation}%
+ \newunit\newblock}
+ {}%
+ \ifbool{bbx:abstract}
+ {\usebibmacro{abstract}%
+ \newunit\newblock}
+ {}%
+ \ifbool{bbx:file}
+ {\printfield{file}%
+ \newunit\newblock}
+ {}%
+ \ifbool{bbx:library}
+ {\printfield{library}%
+ \newunit\newblock}
+ {}%
+ \endgroup}
+
+\renewbibmacro*{finentry}{%
+ \ifbibliography
+ {\usebibmacro{entrytail}}
+ {}%
+ \finentry}
+
+\DeclareBibliographyDriver{set}{%
+ \renewbibmacro*{finentry}{\finentry}%
+ \entryset{}{}%
+ \newunit\newblock
+ \usebibmacro{setpageref}%
+ \ifbibliography
+ {\usebibmacro{entrytail}}
+ {}%
+ \finentry}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/standard-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/standard-ms.bbx
new file mode 100644
index 0000000000..e27dd0dfe0
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/standard-ms.bbx
@@ -0,0 +1,1000 @@
+\ProvidesFile{standard-ms.bbx}
+[\abx@bbxid]
+
+\newtoggle{bbx:isbn}
+\newtoggle{bbx:url}
+\newtoggle{bbx:doi}
+\newtoggle{bbx:eprint}
+\newtoggle{bbx:related}
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{isbn}[true]{%
+ \settoggle{bbx:isbn}{#1}}
+\DeclareBiblatexOption{global,type,entry}[boolean]{url}[true]{%
+ \settoggle{bbx:url}{#1}}
+\DeclareBiblatexOption{global,type,entry}[boolean]{doi}[true]{%
+ \settoggle{bbx:doi}{#1}}
+\DeclareBiblatexOption{global,type,entry}[boolean]{eprint}[true]{%
+ \settoggle{bbx:eprint}{#1}}
+\DeclareBiblatexOption{global,type,entry}[boolean]{related}[true]{%
+ \settoggle{bbx:related}{#1}}
+
+\ExecuteBibliographyOptions{isbn,url,doi,eprint,related}
+% @online url is shown even if url=false, globally
+\ExecuteBibliographyOptions[online]{url=true}
+
+\newbibmacro*{begentry}{}
+\newbibmacro*{finentry}{\finentry}
+
+\DeclareBibliographyDriver{article}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{bytranslator+others}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \usebibmacro{in:}%
+ \usebibmacro{journal+issuetitle}%
+ \newunit
+ \usebibmacro{byeditor+others}%
+ \newunit
+ \usebibmacro{note+pages}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{issn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{book}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/editor+others/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{maintitle+title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \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
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{booklet}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/editor+others/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit\newblock
+ \printfield{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{collection}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{editor+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{maintitle+title}%
+ \newunit
+ \printlist{language}%
+ \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
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{inbook}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{in:}%
+ \usebibmacro{bybookauthor}%
+ \newunit\newblock
+ \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
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{incollection}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{in:}%
+ \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
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{inproceedings}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{in:}%
+ \usebibmacro{maintitle+booktitle}%
+ \newunit\newblock
+ \usebibmacro{event+venue+date}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \iffieldundef{maintitle}
+ {\printfield{volume}%
+ \printfield{part}}
+ {}%
+ \newunit
+ \printfield{volumes}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \printlist{organization}%
+ \newunit
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{dataset}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/editor+others/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit
+ \printfield{edition}%
+ \newunit
+ \printfield{version}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \printlist{organization}%
+ \newunit
+ \usebibmacro{publisher+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{manual}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/editor}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor}%
+ \newunit\newblock
+ \printfield{edition}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit
+ \printfield{version}%
+ \newunit
+ \printfield{note}%
+ \newunit\newblock
+ \printlist{organization}%
+ \newunit
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{misc}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/editor+others/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit
+ \printfield{version}%
+ \newunit
+ \printfield{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{online}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/editor+others/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit
+ \printfield{note}%
+ \newunit\newblock
+ \printlist{organization}%
+ \newunit\newblock
+ \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{patent}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author}%
+ \setunit{\printdelim{nametitledelim}}\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}}}%
+ \newunit\newblock
+ \usebibmacro{byholder}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{date}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{periodical}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{editor}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title+issuetitle}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byeditor}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{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{proceedings}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{editor+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{maintitle+title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{event+venue+date}%
+ \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
+ \printlist{organization}%
+ \newunit
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{report}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \printfield{type}%
+ \setunit*{\addspace}%
+ \printfield{number}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{institution+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isrn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{thesis}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit
+ \usebibmacro{institution+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit
+ \printfield{pagetotal}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{unpublished}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{title}%
+ \newunit
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit\newblock
+ \usebibmacro{event+venue+date}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{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{shorthand}{%
+ \usedriver
+ {\DeclareNameAlias{sortname}{default}}
+ {\thefield{entrytype}}%
+ \finentry}
+
+\DeclareBibliographyDriver{set}{%
+ \entryset{}{}%
+ \newunit\newblock
+ \usebibmacro{setpageref}%
+ \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{software}{misc}
+\DeclareBibliographyAlias{*}{misc}
+
+\newbibmacro*{maintitle+title}{%
+ \iffieldsequal{maintitle}{title}
+ {\clearfield{maintitle}%
+ \clearfield{mainsubtitle}%
+ \clearfield{maintitleaddon}}
+ {\iffieldundef{maintitle}
+ {}
+ {\usebibmacro{maintitle}%
+ \newunit\newblock
+ \iffieldundef{volume}
+ {}
+ {\printfield{volume}%
+ \printfield{part}%
+ \setunit{\addcolon\space}}}}%
+ \usebibmacro{title}%
+ \newunit}
+
+\newbibmacro*{maintitle+booktitle}{%
+ \iffieldundef{maintitle}
+ {}
+ {\usebibmacro{maintitle}%
+ \newunit\newblock
+ \iffieldundef{volume}
+ {}
+ {\printfield{volume}%
+ \printfield{part}%
+ \setunit{\addcolon\space}}}%
+ \usebibmacro{booktitle}%
+ \newunit}
+
+\newbibmacro*{journal+issuetitle}{%
+ \usebibmacro{journal}%
+ \setunit*{\addspace}%
+ \iffieldundef{series}
+ {}
+ {\newunit
+ \printfield{series}%
+ \setunit{\addspace}}%
+ \usebibmacro{volume+number+eid}%
+ \setunit{\addspace}%
+ \usebibmacro{issue+date}%
+ \setunit{\addcolon\space}%
+ \usebibmacro{issue}%
+ \newunit}
+
+\newbibmacro*{volume+number+eid}{%
+ \printfield{volume}%
+ \setunit*{\adddot}%
+ \printfield{number}%
+ \setunit{\bibeidpunct}%
+ \printfield{eid}}
+
+\newbibmacro*{title+issuetitle}{%
+ \usebibmacro{periodical}%
+ \setunit*{\addspace}%
+ \iffieldundef{series}
+ {}
+ {\newunit
+ \printfield{series}%
+ \setunit{\addspace}}%
+ \usebibmacro{volume+number+eid}%
+ \setunit{\addspace}%
+ \usebibmacro{issue+date}%
+ \setunit{\addcolon\space}%
+ \usebibmacro{issue}%
+ \newunit}
+
+\newbibmacro*{issue+date}{%
+ \printtext[parens]{%
+ \printfield{issue}%
+ \setunit*{\addspace}%
+ \usebibmacro{date}}%
+ \newunit}
+
+\newbibmacro*{event+venue+date}{%
+ \printfield{eventtitle}%
+ \newunit
+ \printfield{eventtitleaddon}%
+ \ifboolexpr{
+ test {\iffieldundef{venue}}
+ and
+ test {\iffieldundef{eventyear}}
+ }
+ {}
+ {\setunit{\addspace}%
+ \printtext[parens]{%
+ \printfield{venue}%
+ \setunit*{\addcomma\space}%
+ \printeventdate}}%
+ \newunit}
+
+\newbibmacro*{series+number}{%
+ \printfield{series}%
+ \setunit*{\addspace}%
+ \printfield{number}%
+ \newunit}
+
+\newbibmacro*{publisher+location+date}{%
+ \printlist{location}%
+ \iflistundef{publisher}
+ {\setunit*{\addcomma\space}}
+ {\setunit*{\addcolon\space}}%
+ \printlist{publisher}%
+ \setunit*{\addcomma\space}%
+ \usebibmacro{date}%
+ \newunit}
+
+\newbibmacro*{institution+location+date}{%
+ \printlist{location}%
+ \iflistundef{institution}
+ {\setunit*{\addcomma\space}}
+ {\setunit*{\addcolon\space}}%
+ \printlist{institution}%
+ \setunit*{\addcomma\space}%
+ \usebibmacro{date}%
+ \newunit}
+
+\newbibmacro*{organization+location+date}{%
+ \printlist{location}%
+ \iflistundef{organization}
+ {\setunit*{\addcomma\space}}
+ {\setunit*{\addcolon\space}}%
+ \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{eid}%
+ \setunit{\bibpagespunct}%
+ \printfield{pages}%
+ \newunit}
+
+\newbibmacro*{note+pages}{%
+ \printfield{note}%
+ \setunit{\bibpagespunct}%
+ \printfield{pages}%
+ \newunit}
+
+\newbibmacro*{doi+eprint+url}{%
+ \iftoggle{bbx:doi}
+ {\printfield{doi}}
+ {}%
+ \newunit\newblock
+ \iftoggle{bbx:eprint}
+ {\usebibmacro{eprint}}
+ {}%
+ \newunit\newblock
+ \iftoggle{bbx:url}
+ {\usebibmacro{url+urldate}}
+ {}}
+
+\newbibmacro*{addendum+pubstate}{%
+ \printfield{addendum}%
+ \newunit\newblock
+ \printfield{pubstate}}
+
+\newcounter{bbx:relatedcount}
+\newcounter{bbx:relatedtotal}
+
+\newbibmacro*{related:init}{%
+ \csundef{bbx:relatedloop}}
+
+\newbibmacro*{begrelated}{}
+\newbibmacro*{endrelated}{}
+\newbibmacro*{begrelatedloop}{}
+\newbibmacro*{endrelatedloop}{}
+
+\def\ifrelatedloop{%
+ \ifboolexpr{ test {\xifinlistcs{\strfield{entrykey}}{bbx:relatedloop}}
+ or test {\xifinlistcs{\strfield{clonesourcekey}}{bbx:relatedloop}} }}
+
+\newbibmacro*{related}{%
+ \ifboolexpr{ test {\iffieldundef{related}} or test {\ifrelatedloop} }
+ {}
+ {\ifcsundef{begrelateddelim\strfield{relatedtype}}
+ {\printunit{\begrelateddelim}}
+ {\printunit{\csuse{begrelateddelim\strfield{relatedtype}}}}%
+ \usebibmacro{begrelated}%
+ \def\bbx@tempa{}%
+ \setcounter{bbx:relatedtotal}{0}%
+ \def\do##1{%
+ \entrydata{##1}{%
+ \ifrelatedloop
+ {}
+ {\stepcounter{bbx:relatedtotal}%
+ \gappto{\bbx@tempa}{##1,}}}}%
+ \docsvfield{related}%
+ \restorefield{related}{\bbx@tempa}%
+ \ifnumgreater{\value{bbx:relatedtotal}}{0}
+ {\listcsxadd{bbx:relatedloop}{\strfield{entrykey}}%
+ \iffieldundef{clonesourcekey}
+ {}
+ {\listcsxadd{bbx:relatedloop}{\strfield{clonesourcekey}}}%
+ \setcounter{bbx:relatedcount}{0}%
+ \def\do{%
+ \stepcounter{bbx:relatedcount}%
+ \ifnumgreater{\value{bbx:relatedcount}}{1}
+ {\ifcsundef{relateddelim\strfield{relatedtype}}
+ {\printunit{\relateddelim}}
+ {\expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\printunit
+ \expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter{%
+ \csuse{relateddelim\strfield{relatedtype}}}}}
+ {}}%
+ \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:default}}
+ {\def\bbx@tempb{relatedstring:\strfield{relatedtype}}}%
+ \printtext[\bbx@tempa]{%
+ \usebibmacro{begrelatedloop}%
+ \iffieldundef{relatedstring}
+ {\ifboolexpr{
+ test {\ifnumgreater{\value{bbx:relatedtotal}}{1}}
+ and
+ test {\ifbibxstring{\thefield{relatedtype}s}}
+ }
+ {\printtext[\bbx@tempb]{%
+ \bibstring[\mkrelatedstringtext]{\thefield{relatedtype}s}}}
+ {\iffieldbibstring{relatedtype}
+ {\printtext[\bbx@tempb]{%
+ \bibstring[\mkrelatedstringtext]{\thefield{relatedtype}}}}
+ {}}}
+ {\iffieldbibstring{relatedstring}
+ {\printtext[\bbx@tempb]{%
+ \bibstring[\mkrelatedstringtext]{\thefield{relatedstring}}}}
+ {\printfield[\bbx@tempb]{relatedstring}}}%
+ \docsvfield{related}%
+ \usebibmacro{endrelatedloop}}}%
+ {}%
+ \usebibmacro{endrelated}}}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-ibid-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-ibid-ms.bbx
new file mode 100644
index 0000000000..9283a0efc8
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-ibid-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{verbose-ibid-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{authortitle}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-inote-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-inote-ms.bbx
new file mode 100644
index 0000000000..c47a379cbb
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-inote-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{verbose-inote-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{authortitle}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-ms.bbx
new file mode 100644
index 0000000000..6fbc74e1fa
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{verbose-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{authortitle}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-note-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-note-ms.bbx
new file mode 100644
index 0000000000..16d1454ceb
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-note-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{verbose-note-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{authortitle}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-trad1-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-trad1-ms.bbx
new file mode 100644
index 0000000000..0427575bac
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-trad1-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{verbose-trad1-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{authortitle}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-trad2-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-trad2-ms.bbx
new file mode 100644
index 0000000000..51d05be547
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-trad2-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{verbose-trad2-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{authortitle}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-trad3-ms.bbx b/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-trad3-ms.bbx
new file mode 100644
index 0000000000..ab0d2ca4e5
--- /dev/null
+++ b/macros/latex/contrib/biblatex-ms/latex/bbx/verbose-trad3-ms.bbx
@@ -0,0 +1,6 @@
+\ProvidesFile{verbose-trad3-ms.bbx}
+[\abx@bbxid]
+
+\RequireBibliographyStyle{authortitle}
+
+\endinput