summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-sbl/biblatex-sbl.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-sbl/biblatex-sbl.def')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-sbl/biblatex-sbl.def1940
1 files changed, 1940 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-sbl/biblatex-sbl.def b/Master/texmf-dist/tex/latex/biblatex-sbl/biblatex-sbl.def
new file mode 100644
index 00000000000..acee0035a08
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-sbl/biblatex-sbl.def
@@ -0,0 +1,1940 @@
+\RequireBibliographyStyle{standard}
+\RequireBiber[3]
+
+% BibLaTeX version 3.5 or greater required
+\newdimen \biblatex@version
+\biblatex@version = \abx@version pt
+\ifdim \biblatex@version < 3.45pt
+ \PackageError{biblatex-sbl}{BibLaTeX v3.5 or greater is required}
+\fi
+
+% Require xparse
+\RequirePackage{xparse}
+
+% ------------------------------------------------------------------
+% VERSION STRINGS
+% ------------------------------------------------------------------
+
+\def\sbl@abx@date{2016/10/11}
+\def\sbl@abx@version{0.7}
+\def\sbl@abx@bbxid{\sbl@abx@date\space v\sbl@abx@version\space biblatex-sbl bibliography style}
+\def\sbl@abx@cbxid{\sbl@abx@date\space v\sbl@abx@version\space biblatex-sbl citation style}
+\def\sbl@abx@lbxid{\sbl@abx@date\space v\sbl@abx@version\space biblatex-sbl localization}
+\def\sbl@abx@defid{\sbl@abx@date\space v\sbl@abx@version\space biblatex-sbl definitions and macros}
+
+\ProvidesFile{biblatex-sbl.def}[\sbl@abx@defid]
+
+% ------------------------------------------------------------------
+% CITEPAGES OPTION
+% ------------------------------------------------------------------
+
+\DeclareRangeChars{~,;-+/:}
+
+\NumCheckSetup{\def\mkbibparens#1{#1}}
+
+\renewbibmacro*{postnote}{}
+\newbibmacro*{pages}{}
+
+\DeclareBibliographyOption[string]{citepages}[permit]{%
+ \ifcsdef{cbx@opt@citepages@#1}
+ {\csuse{cbx@opt@citepages@#1}}
+ {\PackageError{biblatex}
+ {Invalid option 'citepages=#1'}
+ {Valid values are 'sbl', 'permit', 'omit', 'separate'.}}}
+
+\providebibmacro*{postnote}{}
+\providebibmacro*{pages}{}
+
+\def\cbx@opt@citepages@sbl{%
+ \renewbibmacro*{pages}{%
+ \iffieldundef{pages}
+ {}
+ {\printfield{pages}%
+ \ifboolexpr{
+ test {\iffieldundef{postnote}}
+ or
+ bool {bbx@inset}
+ }
+ {}
+ {\iffieldpages{postnote}
+ {}
+ {\setunit{\addspace}%
+ \printtext[parens]{\printfield{postnote}}}}}}%
+ \renewbibmacro*{postnote}{%
+ \iffieldundef{postnote}
+ {\printfield{pages}}
+ {\iffieldpages{postnote}
+ {\printfield{postnote}}
+ {\iffieldundef{pages}
+ {\printfield{postnote}}
+ {\printfield{pages}%
+ \setunit{\addspace}%
+ \printtext[parens]{\printfield{postnote}}}}}}}
+
+\def\cbx@opt@citepages@permit{%
+ \renewbibmacro*{pages}{%
+ \iffieldundef{pages}
+ {}
+ {\printfield{pages}%
+ \ifboolexpr{
+ test {\iffieldundef{postnote}}
+ or
+ bool {bbx@inset}
+ }
+ {}
+ {\setunit{\addspace}%
+ \printtext[parens]{\printfield{postnote}}}}}%
+ \renewbibmacro*{postnote}{%
+ \iffieldundef{postnote}
+ {\printfield{pages}}
+ {\iffieldpages{postnote}
+ {\printfield{postnote}}
+ {\iffieldundef{pages}
+ {\newunit
+ \printfield{postnote}}
+ {\printfield{pages}%
+ \setunit*{\addspace}%
+ \printtext[parens]{\printfield{postnote}}}}}}}
+
+\def\cbx@opt@citepages@omit{%
+ \renewbibmacro*{pages}{%
+ \iffieldundef{pages}
+ {}
+ {\ifboolexpr{
+ test {\iffieldundef{postnote}}
+ or
+ bool {bbx@inset}
+ }
+ {\printfield{pages}}
+ {\iffieldpages{postnote}
+ {\printfield{postnote}}
+ {\printfield{pages}%
+ \setunit*{\addspace}%
+ \printtext[parens]{\printfield{postnote}}}}}}%
+ \renewbibmacro*{postnote}{%
+ \iffieldundef{postnote}
+ {\printfield{pages}}
+ {\iffieldpages{postnote}
+ {\printfield{postnote}}
+ {\iffieldundef{pages}
+ {\newunit
+ \printfield{postnote}}
+ {\printfield{pages}%
+ \setunit*{\addspace}%
+ \printtext[parens]{\printfield{postnote}}}}}}}
+
+\def\cbx@opt@citepages@separate{%
+ \renewbibmacro*{pages}{%
+ \iffieldundef{pages}
+ {}
+ {\printfield{pages}%
+ \ifboolexpr{
+ test {\iffieldundef{postnote}}
+ or
+ bool {bbx@inset}
+ }
+ {}
+ {\setunit{\addspace}%
+ \printtext[parens]{%
+ \iffieldpages{postnote}
+ {\bibstring{thiscite}%
+ \setunit{\addspace}}
+ {}%
+ \printfield{postnote}}}}}%
+ \renewbibmacro*{postnote}{%
+ \iffieldundef{postnote}
+ {\printfield{pages}}
+ {\iffieldpages{postnote}
+ {\printfield{postnote}}
+ {\iffieldundef{pages}
+ {\printfield{postnote}}
+ {\printfield{pages}%
+ \setunit*{\addspace}%
+ \printtext[parens]{%
+ \iffieldpages{postnote}
+ {\bibstring{thiscite}%
+ \setunit{\addspace}}
+ {}%
+ \printfield{postnote}}}}}}}
+
+
+% ------------------------------------------------------------------
+% IDEM MACROS
+% ------------------------------------------------------------------
+
+% only use idem within footnote
+\let\cbx@ifmpfncheck\blx@ifmpfncheck
+\patchcmd{\cbx@ifmpfncheck}{\tw@}{\@ne}{}{}
+\let\cbx@ifciteidem@constrict\blx@ifciteidem@constrict
+\patchcmd{\cbx@ifciteidem@constrict}{\blx@ifmpfncheck}{\cbx@ifmpfncheck}{}{}
+
+\def\blx@opt@idemtracker@constrict{%
+ \let\blx@imc@ifciteidem\cbx@ifciteidem@constrict
+ \let\blx@idemtracker\blx@idemtracker@constrict
+ \let\blx@idemreset\blx@idemreset@context
+ \booltrue{citetracker}}
+
+\newbibmacro*{ifidemused}{%
+ \ifciteidem
+ {\bibstring[\mkibid]{idem\thefield{gender}}%
+ \@firstoftwo}
+ {\@secondoftwo}}
+
+
+% ------------------------------------------------------------------
+% COMMENTARY OPTIONS
+% ------------------------------------------------------------------
+
+\newtoggle{fullbibrefs}
+
+\DeclareBibliographyOption{fullbibrefs}[true]{%
+ \ifstrequal{#1}{true}
+ {\toggletrue{fullbibrefs}}
+ {\togglefalse{fullbibrefs}}}
+
+
+% ------------------------------------------------------------------
+% ENTRY OPTIONS
+% ------------------------------------------------------------------
+
+\newtoggle{blx@skipbiblistseries}
+\newtoggle{blx@skipbiblistshorthand}
+\newtoggle{blx@usefullcite}
+\newtoggle{blx@usevolume}
+\newtoggle{blx@useshorttitle}
+
+\DeclareTypeOption{skipbiblistseries}[true]{%
+ \settoggle{blx@skipbiblistseries}{#1}}
+\DeclareEntryOption{skipbiblistseries}[true]{%
+ \settoggle{blx@skipbiblistseries}{#1}}
+
+\DeclareTypeOption{skipbiblistshorthand}[true]{%
+ \settoggle{blx@skipbiblistshorthand}{#1}}
+\DeclareEntryOption{skipbiblistshorthand}[true]{%
+ \settoggle{blx@skipbiblistshorthand}{#1}}
+
+\DeclareBibliographyOption{useshorttitle}[true]{%
+ \settoggle{blx@useshorttitle}{#1}}
+\DeclareTypeOption{useshorttitle}[true]{%
+ \settoggle{blx@useshorttitle}{#1}}
+\DeclareEntryOption{useshorttitle}[true]{%
+ \settoggle{blx@useshorttitle}{#1}}
+
+\DeclareBibliographyOption{usefullcite}[true]{%
+ \settoggle{blx@usefullcite}{#1}}
+\DeclareTypeOption{usefullcite}[true]{%
+ \settoggle{blx@usefullcite}{#1}}
+\DeclareEntryOption{usefullcite}[true]{%
+ \settoggle{blx@usefullcite}{#1}}
+
+\DeclareBibliographyOption{usevolume}[true]{%
+ \settoggle{blx@usevolume}{#1}}
+\DeclareTypeOption{usevolume}[true]{%
+ \settoggle{blx@usevolume}{#1}}
+\DeclareEntryOption{usevolume}[true]{%
+ \settoggle{blx@usevolume}{#1}}
+
+\def\blx@shorthand{}
+\DeclareEntryOption[string]{shorthand}[true]{%
+ \def\blx@shorthand{#1}}
+
+
+% ------------------------------------------------------------------
+% STYLE OPTIONS
+% ------------------------------------------------------------------
+
+% footnote style
+\let\orig@makefntext\@makefntext
+\DeclareBibliographyOption{sblfootnotes}[true]{%
+ \ifstrequal{#1}{true}
+ {\@ifpackageloaded{footmisc}
+ {\renewcommand\@makefntext[1]{%
+ \parindent\footnotemargin%
+ \@thefnmark.\@\space
+ \footnotelayout
+ ##1}}
+ {\renewcommand\@makefntext[1]{%
+ \parindent 1em%
+ \@thefnmark.\@\space
+ ##1}}}
+ {\let\@makefntext\orig@makefntext}}
+
+\DeclareBibliographyOption{ibidpage}[true]{%
+ \ifstrequal{#1}{true}
+ {\ExecuteBibliographyOptions{loccittracker=true}}
+ {\ExecuteBibliographyOptions{loccittracker=false}}}
+
+\ExecuteBibliographyOptions{%
+ citetracker,
+ punctfont,
+ alldates=comp,
+ releasedate=comp,
+ dateabbrev=false,
+ autocite=footnote,
+ url,
+ related,
+ minxrefs=1,
+ isbn=false,
+ ibidtracker=false,
+ ibidpage=false,
+ maxbibnames=99,
+ maxcitenames=3,
+ citepages=sbl,
+ fullbibrefs=false,
+ sblfootnotes,
+ usefullcite,
+ useshorttitle,
+ usevolume
+}
+
+\ExecuteBibliographyOptions[classictext,ancienttext]{%
+ skipbib
+}
+
+\ExecuteBibliographyOptions[inlexicon]{%
+ skipbib
+}
+
+\urlstyle{same}
+\def\UrlBreaks{\do\@\do\\\do\/\do\!\do\_\do\|\do\;\do\>\do\]%
+ \do\)\do\,\do\?\do\'\do+\do\=\do\#}%
+\def\UrlSpecials{\do\.{\penalty\UrlBreakPenalty\mathchar`.}%
+ \do\-{\penalty\UrlBreakPenalty\mathchar`-}%
+ \do\ {\Url@space}\do\%{\Url@percent}\do\^^M{\Url@space}%
+ \Url@force@Tilde}% package option may force faked text-ascii-tilde
+
+\NewBibliographyString{to}
+\NewBibliographyString{of}
+\NewBibliographyString{with}
+\NewBibliographyString{withassistance}
+\NewBibliographyString{withpreface}
+\NewBibliographyString{paperpresented}
+\NewBibliographyString{released}
+
+\DeclareLanguageMapping{english}{sbl-american}
+\DeclareLanguageMapping{american}{sbl-american}
+\DeclareLanguageMapping{british}{sbl-british}
+\DeclareLanguageMapping{german}{sbl-german}
+\DeclareLanguageMapping{spanish}{sbl-spanish}
+
+\renewcommand*{\subtitlepunct}{\addcolon\space}
+\newcommand*{\namedashpunct}{\adddot\space}
+\newcommand*{\lexiconfinalnamedelim}{\addcomma\space}
+\renewcommand*{\relateddelim}{\addsemicolon\space}
+
+\setcounter{mincompwidth}{10}
+
+\DeclareFieldFormat{doi}{%
+ \printtext{doi}\addcolon
+ \ifhyperref
+ {\href{http://dx.doi.org/#1}{\nolinkurl{#1}}}
+ {\nolinkurl{#1}}}
+\DeclareFieldFormat{edition}{%
+ \ifinteger{#1}
+ {\mkbibordedition{#1}~\bibsstring{edition}}
+ {\ifcapital{\MakeCapital{#1}}{#1}\isdot}}
+\DeclareFieldFormat{eprint:ebook}{#1 \biblstring{edition}}
+\DeclareFieldFormat{eprint}{%
+ \iffieldundef{eprinttype}
+ {eprint}
+ {\thefield{eprinttype}}%
+ \newunitpunct
+ \ifhyperref
+ {\url{#1}}
+ {\nolinkurl{#1}}%
+ \iffieldundef{eprintclass}
+ {}
+ {\addspace\mkbibparens{\thefield{eprintclass}}}}
+\DeclareFieldFormat{eprint:arxiv}{%
+ arXiv\addcolon\space
+ \ifhyperref
+ {\href{http://arxiv.org/\abx@arxivpath/#1}{%
+ \nolinkurl{#1}%
+ \iffieldundef{eprintclass}
+ {}
+ {\addspace\mkbibbrackets{\thefield{eprintclass}}}}}
+ {\nolinkurl{#1}
+ \iffieldundef{eprintclass}
+ {}
+ {\addspace\mkbibbrackets{\thefield{eprintclass}}}}}
+\DeclareFieldFormat{eprint:hethiter}{%
+ \printtext{doi}\addcolon
+ \ifhyperref
+ {\href{http://hethiter.net/:\%20#1}{%
+ hethiter\slash\addcolon\space
+ \nolinkurl{#1}%
+ \iffieldundef{eprintclass}
+ {}
+ {\addspace\mkbibparens{\thefield{eprintclass}}}}}
+ {hethiter\slash\addcolon\space
+ \nolinkurl{#1}
+ \iffieldundef{eprintclass}
+ {}
+ {\addspace\mkbibparens{\thefield{eprintclass}}}}}
+\renewcommand*{\volcitedelim}{\addcolon}
+\DeclareFieldFormat{volcitevolume}{#1}
+\DeclareFieldFormat{volcitepages}{\mkcomprange{#1}}
+\DeclareFieldFormat{part}{#1}
+\DeclareFieldFormat{pt}{\bibstring{part}~#1}
+\DeclareFieldFormat{postnote}{\mkcomprange{#1}}
+\DeclareFieldFormat{multipostnote}{#1}
+\DeclareFieldFormat{byauthor}{\bibstring{byauthor} #1}
+\DeclareFieldFormat{revdtitle}{\biblstring{reviewof} \mkbibemph{#1}}
+\DeclareFieldFormat{revdshorttitle}{\biblstring{reviewof} \mkbibemph{#1}}
+\DeclareFieldFormat{shorttitle}{\mkbibemph{#1}}
+\DeclareFieldFormat{shortbooktitle}{\mkbibemph{#1}}
+\DeclareFieldFormat{shortmaintitle}{\mkbibemph{#1}}
+\DeclareFieldFormat{shortjournal}{\mkbibemph{#1}}
+\DeclareFieldFormat{seriesseries}{#1}
+
+\DeclareFieldFormat{pages}{\mkcomprange{#1}}
+\DeclareFieldFormat{pagesin}{\mkcomprange[\mkpageprefix]{#1} \usebibmacro{in}}
+\DeclareFieldFormat{volume}{#1}
+\DeclareFieldFormat{vol}{\bibsstring{volume}~#1}
+\DeclareFieldFormat{volumeof}{\bibsstring{volume}~#1 \bibstring{of}}
+\DeclareFieldFormat{volumes}{#1\ifnumeral{#1}{~\bibsstring{volumes}}{}}
+\DeclareFieldFormat{partof}{\bibstring{part}~#1 \bibstring{of}}
+\DeclareFieldFormat{no}{\bibsstring{number}~#1}
+\DeclareFieldFormat{url}{\url{#1}}
+\DeclareFieldFormat{urldate}{}
+\DeclareFieldFormat{releasedate}{\bibstring{released}\space#1}
+
+\DeclareFieldFormat{editortype}{\ifcapital{\MakeCapital{#1}}{#1}}
+\DeclareFieldFormat{withauthortype}{#1}
+\DeclareFieldFormat{witheditortype}{#1}
+\DeclareFieldFormat{withtranslatortype}{#1}
+\DeclareFieldFormat{withbookauthortype}{#1}
+\DeclareFieldFormat{withbookeditortype}{#1}
+\DeclareFieldFormat{withbooktranslatortype}{#1}
+\DeclareFieldFormat{withmainauthortype}{#1}
+\DeclareFieldFormat{withmaineditortype}{#1}
+\DeclareFieldFormat{withmaintranslatortype}{#1}
+
+\DeclareFieldFormat{cptype}{\ifbibstring{#1}{\bibcpstring{#1}}{#1}}
+\DeclareFieldFormat{quote}{\mkbibquote{#1}}
+
+\DeclareNameAlias{withauthor}{given-family}
+\DeclareNameAlias{witheditor}{given-family}
+\DeclareNameAlias{withtranslator}{given-family}
+\DeclareNameAlias{withbookauthor}{given-family}
+\DeclareNameAlias{withbookeditor}{given-family}
+\DeclareNameAlias{withbooktranslator}{given-family}
+\DeclareNameAlias{withmainauthor}{given-family}
+\DeclareNameAlias{withmaineditor}{given-family}
+\DeclareNameAlias{withmaintranslator}{given-family}
+
+\DeclareFieldFormat{relatedstring:reprint}{#1\printunit{\addcomma\space}}
+
+\DeclareFieldFormat[incommentary,inreference,inlexicon,online,review,seminarpaper,conferencepaper]{title}{\mkbibquote{#1}}
+\DeclareFieldFormat[incommentary,inreference,inlexicon,online,review,seminarpaper,conferencepaper]{shorttitle}{\mkbibquote{#1}}
+\DeclareFieldFormat{howpublished}{\ifbibstring{#1}{\bibstring{#1}}{#1}}
+\DeclareFieldFormat[ancienttext]{title}{%
+ \ifboolexpr{
+ test {\iffieldequalstr{entrysubtype}{inscription}}
+ or
+ test {\iffieldequalstr{entrysubtype}{chronicle}}
+ }
+ {#1}
+ {\iffieldequalstr{entrysubtype}{churchfather}
+ {\mkbibemph{#1}}
+ {\mkbibquote{#1}}}}
+
+\DeclareBibliographyAlias{cite:mvbook}{cite:book}
+\DeclareBibliographyAlias{cite:mvcollection}{cite:collection}
+\DeclareBibliographyAlias{collection}{book}
+\DeclareBibliographyAlias{mvcollection}{collection}
+\DeclareBibliographyAlias{cite:collection}{cite:book}
+\DeclareBibliographyAlias{mvreference}{mvbook}
+\DeclareBibliographyAlias{cite:mvreference}{cite:mvbook}
+\DeclareBibliographyAlias{reference}{book}
+\DeclareBibliographyAlias{cite:reference}{cite:book}
+\DeclareBibliographyAlias{lexicon}{reference}
+\DeclareBibliographyAlias{cite:lexicon}{cite:reference}
+\DeclareBibliographyAlias{mvlexicon}{mvreference}
+\DeclareBibliographyAlias{cite:mvlexicon}{cite:mvreference}
+\DeclareBibliographyAlias{inbook}{incollection}
+\DeclareBibliographyAlias{cite:inbook}{cite:incollection}
+\DeclareBibliographyAlias{commentary}{book}
+\DeclareBibliographyAlias{mvcommentary}{book}
+\DeclareBibliographyAlias{cite:mvcommentary}{cite:mvbook}
+\DeclareBibliographyAlias{cite:online}{cite:article}
+\DeclareBibliographyAlias{online}{article}
+\DeclareBibliographyAlias{cite:manual}{cite:book}
+\DeclareBibliographyAlias{manual}{book}
+\DeclareBibliographyAlias{cite:unpublished}{cite:misc}
+\DeclareBibliographyAlias{unpublished}{misc}
+\DeclareBibliographyAlias{proceedings}{collection}
+\DeclareBibliographyAlias{mvproceedings}{mvcollection}
+\DeclareBibliographyAlias{inproceedings}{incollection}
+\DeclareBibliographyAlias{cite:proceedings}{cite:collection}
+\DeclareBibliographyAlias{cite:mvproceedings}{cite:mvcollection}
+\DeclareBibliographyAlias{cite:inproceedings}{cite:incollection}
+
+\DeclareLabeldate{%
+ \field{releasedate}
+}
+
+\renewcommand*{\newunitpunct}{\addcomma\space}
+\newcommand*{\volpostnotedelim}{\addcolon}
+
+\providecommand*{\mkibid}[1]{#1}
+
+\renewbibmacro*{name:family-given}[4]{%
+ \ifuseprefix
+ {\usebibmacro{name:delim}{#3#1}%
+ \usebibmacro{name:hook}{#3#1}%
+ \ifdefvoid{#3}{}{%
+ \ifcapital
+ {\mkbibnameprefix{\MakeCapital{#3}}\isdot}
+ {\mkbibnameprefix{#3}\isdot}%
+ \ifprefchar{}{\bibnamedelimc}}%
+ \mkbibnamefamily{#1}\isdot
+ \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot}%
+ \ifdefvoid{#4}{}{\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}
+ {\usebibmacro{name:delim}{#1}%
+ \usebibmacro{name:hook}{#1}%
+ \mkbibnamefamily{#1}\isdot
+ \ifboolexpe{%
+ test {\ifdefvoid{#2}}
+ and
+ test {\ifdefvoid{#3}}}
+ {}
+ {\revsdnamepunct}%
+ \ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}\isdot}%
+ \ifdefvoid{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}%
+ \ifdefvoid{#4}{}{\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}}
+
+
+% ------------------------------------------------------------------
+% BIBLIOGRAPHY
+% ------------------------------------------------------------------
+
+\renewrobustcmd*{\printbibliography}{%
+ \begingroup
+ \blx@key@bibcheck{bibliography}
+ \edef\on@line{\on@line}%
+ \@ifnextchar[%]
+ {\blx@printbibliography}
+ {\blx@printbibliography[]}}
+\defbibcheck{bibliography}{%
+ \blx@skipentries
+ \blx@includeentries
+}
+\def\blx@skipentries{}
+\def\blx@includeentries{}
+\def\addskipentry#1{%
+ \edef\X{%
+ \noexpand\iffieldequalstr{entrykey}{#1}
+ {\noexpand\toggletrue{blx@skipentry}}
+ {}}%
+ \expandafter\g@addto@macro\expandafter\blx@skipentries\expandafter{\X}}
+\def\addincludeentry#1{%
+ \edef\X{%
+ \noexpand\iffieldequalstr{entrykey}{#1}
+ {\noexpand\togglefalse{blx@skipentry}}
+ {}}%
+ \expandafter\g@addto@macro\expandafter\blx@includeentries\expandafter{\X}}
+
+
+% ------------------------------------------------------------------
+% LIST OF ABBREVIATIONS
+% ------------------------------------------------------------------
+
+\newtoggle{blx@abbrevcite}
+
+\newlength{\abbrevwidth}
+
+\def\setmaxlength#1#2{%
+ \ifdim\dimexpr#2>\dimexpr#1
+ \global\setlength{#1}{#2}%
+ \fi
+}
+
+\defbibenvironment{abbreviations}
+ {\list
+ {\printfield[shorthandwidth]{shortjournal}%
+ \iffieldundef{shorthand}
+ {\printfield[shorthandwidth]{shortseries}}
+ {\iffieldsequal{shorthand}{shorttitle}
+ {\printtext{\mkbibemph{\printfield[shorthandwidth]{shorthand}}}}
+ {\printfield[shorthandwidth]{shorthand}}}}
+ {\setmaxlength{\abbrevwidth}{\shorthandwidth}%
+ \setmaxlength{\abbrevwidth}{\shortserieswidth}%
+ \setmaxlength{\abbrevwidth}{\shortjournalwidth}%
+ \addtolength{\abbrevwidth}{\biblabelsep}%
+ \setlength{\labelwidth}{\abbrevwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{0pt}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\DeclareBibliographyDriver{abbreviations}{%
+ \usebibmacro{begentry}%
+ \citereset
+ \def\abx@str{abx@lstr}%
+ \renewcommand*{\finentrypunct}{}%
+ \iffieldundef{shortjournal}
+ {}
+ {\bibhypertarget{\strfield{shortjournal}}{}%
+ \printfield{journaltitle}}%
+ \iffieldundef{shorthand}
+ {\iffieldundef{shortseries}
+ {}
+ {\bibhypertarget{\strfield{shortseries}}{}%
+ \printfield{series}}
+ }
+ {\bibhypertarget{\strfield{shorthand}}{}%
+ \iffieldsequal{shorthand}{shorttitle}
+ {\toggletrue{blx@abbrevcite}}
+ {}%
+ \usebibmacro{bibentrycite}}%
+ \usebibmacro{finentry}}
+
+\DeclareBiblistFilter{abbreviations}{
+ \filteror{
+ \filter[type=field,filter=shorthand]
+ \filter[type=field,filter=shortjournal]
+ \filter[type=field,filter=shortseries]
+ }
+}
+
+\defbibcheck{abbreviations}{%
+ \blx@setoptions@entry
+ \iftoggle{blx@skipbiblist}{\skipentry}{}%
+ \iffieldundef{shorthand}
+ {\iffieldundef{shortseries}
+ {}
+ {\iftoggle{blx@skipbiblistseries}{\skipentry}{}}}
+ {\iftoggle{blx@skipbiblistshorthand}{\skipentry}{}}%
+ \iftoggle{blx@skipentry}
+ {}
+ {\iffieldundef{shortjournal}
+ {}
+ {\ifcsdef{sbl\therefsection\strfield{shortjournal}=\strfield{journaltitle}}
+ {\skipentry}
+ {\savefieldcs{journaltitle}{sbl\therefsection\strfield{shortjournal}=\strfield{journaltitle}}}}%
+ \iffieldundef{shorthand}
+ {\iffieldundef{shortseries}
+ {}
+ {\ifcsdef{sbl\therefsection\strfield{shortseries}=\strfield{series}}
+ {\skipentry}
+ {\savefieldcs{series}{sbl\therefsection\strfield{shortseries}=\strfield{series}}}}}
+ {\ifcsdef{sbl\therefsection\strfield{shorthand}=\strfield{title}}
+ {\skipentry}
+ {\savefieldcs{shorthand}{sbl\therefsection\strfield{shorthand}=\strfield{title}}}}}}
+
+\DeclareSortingScheme{abbreviations}{%
+ \sort{%
+ \field{shorthand}%
+ \field{shortjournal}%
+ \field{shortseries}%
+ }%
+}
+
+% ------------------------------------------------------------------
+% SOURCE MAPS
+% ------------------------------------------------------------------
+% - cut titles at colons to create short titles
+% - copy titles to shorttitles if they are empty
+% ------------------------------------------------------------------
+
+\DeclareSourcemap{
+ \maps{
+ \map{
+ \step[fieldsource=title, match=\regexp{(.*?):}, final]
+ \step[fieldset=shorttitle, fieldvalue={$1}]
+ }
+ \map{
+ \step[fieldsource=revdtitle, match=\regexp{(.*?):}, final]
+ \step[fieldset=revdshorttitle, fieldvalue={$1}]
+ }
+ \map{
+ \step[fieldsource=entrysubtype, match=\regexp{ANRW}, final]
+ \step[fieldset=options, fieldvalue={skipbib=false}]
+ }
+ \map[overwrite]{
+ \pertype{ancienttext}
+ \pertype{classictext}
+ \step[fieldsource=related, final]
+ \step[fieldset=relatedtype, fieldvalue=ancienttext]
+ \step[fieldsource=relatedoptions, match=\regexp{(.*)}]
+ \step[fieldset=relatedoptions, fieldvalue={skipbib=false,skipbiblist=false,}]
+ \step[fieldset=relatedoptions, fieldvalue={$1}, append]
+ }
+ \map[overwrite]{
+ \step[fieldsource=shortseries, final]
+ \step[fieldsource=shorthand, final]
+ \step[fieldsource=entrykey, match=\regexp{(.*)}]
+ \step[fieldset=xref, fieldvalue=series-$1]
+ \step[entrynew=series-$1, entrynewtype=misc]
+ \step[fieldsource=shortseries]
+ \step[fieldset=shortseries, origfieldval, entrytarget=series-$1]
+ \step[fieldsource=series]
+ \step[fieldset=series, origfieldval, entrytarget=series-$1]
+ \step[fieldset=options, fieldvalue={skipbib}, entrytarget=series-$1]
+ }
+ }
+}
+
+% ------------------------------------------------------------------
+% DATA INHERITANCE
+% ------------------------------------------------------------------
+
+\DeclareDataInheritance{mvbook,mvcollection,mvreference,mvlexicon,mvcommentary}
+ {book,inbook,collection,incollection,reference,inreference,bookinbook,
+ lexicon,commentary,inlexicon,incommentary,classictext}{%
+ \inherit{title}{maintitle}
+ \inherit{subtitle}{mainsubtitle}
+ \inherit{titleaddon}{maintitleaddon}
+ \inherit{shorttitle}{shortmaintitle}
+ \inherit{editor}{maineditor}
+ \inherit{translator}{maintranslator}
+ \noinherit{sorttitle}
+ \noinherit{indextitle}
+ \noinherit{indexsorttitle}
+ \noinherit{endyear}
+}
+
+\DeclareDataInheritance{book,collection,reference,lexicon,commentary}
+ {inbook,incollection,inreference, inlexicon,incommentary,
+ bookinbook,classictext}{%
+ \inherit{title}{booktitle}
+ \inherit{subtitle}{booksubtitle}
+ \inherit{titleaddon}{booktitleaddon}
+ \inherit{shorttitle}{shortbooktitle}
+ \inherit{author}{bookauthor}
+ \inherit{editor}{bookeditor}
+ \inherit{translator}{booktranslator}
+ \noinherit{sorttitle}
+ \noinherit{indextitle}
+ \noinherit{indexsorttitle}
+ \noinherit{endyear}
+}
+
+
+% ------------------------------------------------------------------
+% LANGUAGE
+% ------------------------------------------------------------------
+% - use literals for origlanguage if no translation found
+% ------------------------------------------------------------------
+
+\renewcommand*{\lbx@lfromlang}{%
+ \iffieldundef{origlanguage}
+ {\unspace}
+ {\ifbibxstring{from\abx@field@origlanguage}
+ {\biblstring{from\thefield{origlanguage}}}
+ {from \printfield{origlanguage}}}}
+
+\renewcommand*{\lbx@sfromlang}{%
+ \iffieldundef{origlanguage}
+ {\unspace}
+ {\ifbibstring{from\thefield{origlanguage}}
+ {\bibsstring{from\thefield{origlanguage}}}
+ {from \printfield{origlanguage}}}}
+
+% ------------------------------------------------------------------
+% SET UP DELIMITER MACROS
+% ------------------------------------------------------------------
+
+\ExplSyntaxOn
+\cs_new_protected:Nn \sbl_ifinstringt:nnn {
+ \tl_if_in:nnT {#2}{#1}{#3}}
+\cs_generate_variant:Nn \sbl_ifinstringt:nnn { non }
+\cs_new_eq:NN \IfInStringT \sbl_ifinstringt:non
+\ExplSyntaxOff
+
+\newbibmacro*{setpostnotedelim}{%
+ \iffieldundef{postnote}
+ {}
+ {\IfInStringT{.}{\abx@field@postnote}
+ {\renewcommand*{\postnotedelim}{\addspace}}%
+ \IfInStringT{:}{\abx@field@postnote}
+ {\renewcommand*{\postnotedelim}{\addspace}}%
+ \IfInStringT{§}{\abx@field@postnote}
+ {\renewcommand*{\postnotedelim}{\addspace}}%
+ \IfInStringT{\textsection}{\abx@field@postnote}
+ {\renewcommand*{\postnotedelim}{\addspace}}}}
+
+\newbibmacro*{setaltpostnotedelim}{%
+ \iffieldundef{altpostnote}
+ {}
+ {\IfInStringT{.}{\abx@field@altpostnote}
+ {\renewcommand*{\postnotedelim}{\addspace}}%
+ \IfInStringT{:}{\abx@field@altpostnote}
+ {\renewcommand*{\postnotedelim}{\addspace}}%
+ \IfInStringT{§}{\abx@field@altpostnote}
+ {\renewcommand*{\postnotedelim}{\addspace}}%
+ \IfInStringT{\textsection}{\abx@field@altpostnote}
+ {\renewcommand*{\postnotedelim}{\addspace}}}}
+
+\newbibmacro*{setpagesdelim}{%
+ \iffieldundef{pages}
+ {}
+ {\IfInStringT{.}{\abx@field@pages}
+ {\setunit{\addspace}}%
+ \IfInStringT{:}{\abx@field@pages}
+ {\setunit{\addspace}}%
+ \IfInStringT{§}{\abx@field@pages}
+ {\setunit{\addspace}}%
+ \IfInStringT{\textsection}{\abx@field@pages}
+ {\setunit{\addspace}}}}
+
+% ------------------------------------------------------------------
+% JOINING WORD MACROS
+% ------------------------------------------------------------------
+
+\newbibmacro*{in}{%
+ \printtext{\bibstring{in}}%
+ \setunit{\addspace}}
+
+\newbibmacro*{to}{%
+ \printtext{\bibstring{to}}%
+ \setunit{\addspace}}
+
+\newbibmacro*{of}{%
+ \printtext{\bibstring{of}}%
+ \setunit{\addspace}}
+
+% ------------------------------------------------------------------
+% TITLE MACROS
+% ------------------------------------------------------------------
+
+\newbibmacro*{shorttitle}{%
+ \iftoggle{blx@useshorttitle}
+ {\iffieldundef{shorttitle}
+ {\iffieldundef{title}
+ {}
+ {\printtext[bibhyperlink]{%
+ \printtext[title]{\printfield[titlecase]{title}}}}}
+ {\printtext[bibhyperlink]{%
+ \printtext[title]{\printfield[titlecase]{shorttitle}}}}%
+ \newunit}
+ {}}
+
+\newbibmacro*{shorttitlenohyperlink}{%
+ \iftoggle{blx@useshorttitle}
+ {\iffieldundef{shorttitle}
+ {\iffieldundef{title}
+ {}
+ {\printtext[title]{\printfield[titlecase]{title}}}}
+ {\printtext[title]{\printfield[titlecase]{shorttitle}}}%
+ \newunit}
+ {}}
+
+\newbibmacro*{shortbooktitle}{%
+ \iffieldundef{shortbooktitle}
+ {\iffieldundef{booktitle}
+ {}
+ {\printtext[booktitle]{\printfield[titlecase]{booktitle}}}}
+ {\printtext[booktitle]{\printfield[titlecase]{shortbooktitle}}}%
+ \newunit}
+
+\newbibmacro*{shortmaintitle}{%
+ \iffieldundef{shortmaintitle}
+ {\iffieldundef{maintitle}
+ {}
+ {\printtext[maintitle]{\printfield[titlecase]{maintitle}}}}
+ {\printtext[maintitle]{\printfield[titlecase]{shortmaintitle}}}%
+ \newunit}
+
+\renewbibmacro*{title}{%
+ \ifciteseen
+ {\ifboolexpr{
+ test {\ifnameundef{author}}
+ and
+ not test {\ifnameundef{editor}}
+ }
+ {}
+ {\usebibmacro{shorttitle}}}
+ {\ifboolexpr{
+ test {\iffieldundef{title}}
+ and
+ test {\iffieldundef{subtitle}}
+ }
+ {}
+ {\printtext[title]{%
+ \printfield[titlecase]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[titlecase]{subtitle}}%
+ \newunit}%
+ \printfield{titleaddon}}}
+
+\renewbibmacro*{booktitle}{%
+ \ifciteseen
+ {\usebibmacro{shortbooktitle}}
+ {\ifboolexpr{
+ test {\iffieldundef{booktitle}}
+ and
+ test {\iffieldundef{booksubtitle}}
+ }
+ {}
+ {\printtext[booktitle]{%
+ \printfield[titlecase]{booktitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[titlecase]{booksubtitle}}%
+ \newunit}%
+ \printfield{booktitleaddon}}}
+
+\renewbibmacro*{maintitle}{%
+ \ifciteseen
+ {\usebibmacro{shortmaintitle}}
+ {\ifboolexpr{
+ test {\iffieldundef{maintitle}}
+ and
+ test {\iffieldundef{mainsubtitle}}
+ }
+ {}
+ {\printtext[maintitle]{%
+ \printfield[titlecase]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[titlecase]{mainsubtitle}}%
+ \newunit}%
+ \printfield{maintitleaddon}}}
+
+\newbibmacro*{booktitle+maintitle}{%
+ \iffieldundef{booktitle}
+ {\iffieldundef{maintitle}
+ {}
+ {\usebibmacro{maintitle}%
+ \clearfield{maintitle}%
+ \clearfield{mainsubtitle}%
+ \clearfield{maintitleaddon}
+ \newunit}}
+ {\usebibmacro{booktitle}%
+ \clearfield{booktitle}%
+ \clearfield{booksubtitle}%
+ \clearfield{bootitleaddon}%
+ \newunit}}
+
+\newbibmacro*{shortbooktitle+shortmaintitle}{%
+ \iffieldundef{booktitle}
+ {\iffieldundef{maintitle}
+ {}
+ {\usebibmacro{shortmaintitle}
+ \newunit}}
+ {\usebibmacro{shortbooktitle}%
+ \newunit}}
+
+\newbibmacro*{revdshorttitle}{%
+ \iffieldundef{revdshorttitle}
+ {\iffieldundef{revdtitle}
+ {}
+ {\printtext[bibhyperlink]{%
+ \printtext[revdtitle]{\printfield[titlecase]{revdtitle}}}}}
+ {\printtext[bibhyperlink]{%
+ \printtext[revdtitle]{\printfield[titlecase]{revdshorttitle}}}}%
+ \newunit}
+
+\newbibmacro*{revdtitle}{%
+ \ifciteseen
+ {\usebibmacro{revdshorttitle}}
+ {\ifboolexpr{
+ test {\iffieldundef{revdtitle}}
+ and
+ test {\iffieldundef{revdsubtitle}}
+ }
+ {}
+ {\printtext[revdtitle]{%
+ \printfield[titlecase]{revdtitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[titlecase]{revdsubtitle}}%
+ \newunit}%
+ \printfield{revdtitleaddon}}}
+
+\newbibmacro*{xrefshortbooktitle+xrefshortmaintitle}{%
+ \iffieldundef{xref}
+ {\usebibmacro{shortbooktitle+shortmaintitle}}
+ {\entrydata{\thefield{xref}}{%
+ \iffieldundef{shorttitle}
+ {\usebibmacro{shorttitle}}
+ {\printtext[shorttitle]{%
+ \bibhyperlink{\strfield{shorthand}}{\thefield{shorttitle}}}}}}}
+
+\newbibmacro*{xrefshortmaintitle}{%
+ \iffieldundef{xref}
+ {\usebibmacro{shortmaintitle}}
+ {\entrydata{\thefield{xref}}{%
+ \iffieldundef{shorttitle}
+ {\usebibmacro{shorttitle}}
+ {\printtext[shorttitle]{%
+ \bibhyperlink{\strfield{shorthand}}{\thefield{shorttitle}}}}}}}
+
+\newbibmacro*{shortjournal}{%
+ \iffieldundef{shortjournal}
+ {\printfield{journaltitle}}
+ {\printtext[shortjournal]{%
+ \bibhyperlink{\strfield{shortjournal}}{\thefield{shortjournal}}}}}
+
+\newbibmacro*{shortjournal+issuetitle}{%
+ \usebibmacro{shortjournal}%
+ \iffieldundef{series}
+ {}
+ {\newunit
+ \printfield{series}}%
+ \usebibmacro{volume+number+eid}%
+ \usebibmacro{issue+date}%
+ \ifboolexpr{
+ test {
+ \ifboolexpr{
+ not test {\iffieldundef{journaltitle}}
+ and
+ not test {\iffieldundef{shortjournal}}}}
+ and
+ test {\iffieldundef{volume}}
+ and
+ test {\iffieldundef{date}}
+ }
+ {\usebibmacro{setpagesdelim}}
+ {}}
+
+\renewbibmacro*{issue+date}{%
+ \ifboolexpr{
+ test {\iffieldundef{year}}
+ and
+ test {\iffieldundef{issue}}
+ and
+ test {\iffieldundef{date}}
+ and
+ test {\iffieldundef{month}}
+ and
+ test {\iffieldundef{day}}
+ }
+ {}
+ {\iffieldundef{volume}
+ {\setunit{\addcomma\space}%
+ \iffieldundef{issue}
+ {\usebibmacro{date}}
+ {\printfield{issue}%
+ \setunit*{\addspace}%
+ \usebibmacro{date}}
+ \setunit{\addcomma\space}}
+ {\setunit{\addspace}%
+ \printtext[parens]{%
+ \iffieldundef{issue}
+ {\usebibmacro{date}}
+ {\printfield{issue}%
+ \setunit*{\addspace}%
+ \usebibmacro{date}}}%
+ \setunit{\addcolon\space}}}}
+
+\renewbibmacro*{volume+number+eid}{%
+ \setunit*{\addspace}%
+ \printfield{volume}%
+ \setunit*{\addperiod}%
+ \printfield{number}%
+ \setunit{\addcomma\space}%
+ \printfield{eid}}
+
+\newbibmacro*{volume+part}{%
+ \iffieldundef{volume}
+ {}
+ {\iffieldundef{part}
+ {\usebibmacro{volumeof}}
+ {\printfield[vol]{volume}%
+ \setunit{\addcomma\addspace}%
+ \iffieldundef{maintitle}
+ {\printfield[pt]{part}%
+ \newunit}
+ {\printfield[partof]{part}
+ \setunit{\addspace}}}}}
+
+\newbibmacro*{involume+part}{%
+ \ifboolexpr{
+ test {\iffieldundef{booktitle}}
+ and
+ not test {\iffieldundef{volume}}
+ and
+ test {\iffieldundef{pages}}
+ }
+ {\bibstring{in}%
+ \setunit{\space}}
+ {}%
+ \usebibmacro{volume+part}}
+
+% ------------------------------------------------------------------
+% NAME MACROS
+% ------------------------------------------------------------------
+
+\newbibmacro*{withname}[1]{%
+ \ifnameundef{with#1}
+ {}
+ {\setunit{\addcomma\space}%
+ \iffieldundef{with#1type}
+ {\bibstring{with}}
+ {\ifbibxstring{with\thefield{with#1type}}
+ {\bibstring{with\thefield{with#1type}}}
+ {\ifbibxstring{\thefield{with#1type}}
+ {\bibstring{\thefield{with#1type}}}
+ {\printtext[with#1type]{\thefield{with#1type}}}}}%
+ \setunit{\space}%
+ \printnames{with#1}%
+ \clearname{with#1}}}
+
+\renewbibmacro*{bytypestrg}[2]{%
+ \iffieldundef{#1type}
+ {\bibstring{by#2}}
+ {\ifbibxstring{by\thefield{#1type}}
+ {\bibstring{by\thefield{#1type}}}
+ {\ifbibxstring{\thefield{#1type}}
+ {\bibstring{\thefield{#1type}}}
+ {\printtext[editortype]{\thefield{#1type}}}}}}
+
+\renewbibmacro*{editorstrg}{%
+ \printtext[editortype]{%
+ \iffieldundef{editortype}
+ {\ifboolexpr{
+ test {\ifnumgreater{\value{editor}}{1}}
+ or
+ test {\ifandothers{editor}}
+ }
+ {\bibsstring{editors}}
+ {\bibsstring{editor}}}
+ {\ifbibxstring{\thefield{editortype}}
+ {\ifboolexpr{
+ test {\ifnumgreater{\value{editor}}{1}}
+ or
+ test {\ifandothers{editor}}
+ }
+ {\bibstring{\thefield{editortype}s}}
+ {\bibstring{\thefield{editortype}}}}
+ {\thefield{editortype}}}}}
+
+\renewbibmacro*{editor+othersstrg}{%
+ \iffieldundef{editortype}
+ {\ifboolexpr{
+ test {\ifnumgreater{\value{editor}}{1}}
+ or
+ test {\ifandothers{editor}}
+ }
+ {\def\abx@tempa{editors}}
+ {\def\abx@tempa{editor}}}
+ {\ifboolexpr{
+ test {\ifnumgreater{\value{editor}}{1}}
+ or
+ test {\ifandothers{editor}}
+ }
+ {\edef\abx@tempa{\thefield{editortype}s}}
+ {\edef\abx@tempa{\thefield{editortype}}}}%
+ \let\abx@tempb=\empty
+ \ifnamesequal{editor}{translator}
+ {\appto\abx@tempa{tr}%
+ \appto\abx@tempb{\clearname{translator}}}
+ {}%
+ \ifnamesequal{editor}{commentator}
+ {\appto\abx@tempa{co}%
+ \appto\abx@tempb{\clearname{commentator}}}
+ {\ifnamesequal{editor}{annotator}
+ {\appto\abx@tempa{an}%
+ \appto\abx@tempb{\clearname{annotator}}}
+ {}}%
+ \ifnamesequal{editor}{introduction}
+ {\appto\abx@tempa{in}%
+ \appto\abx@tempb{\clearname{introduction}}}
+ {\ifnamesequal{editor}{foreword}
+ {\appto\abx@tempa{fo}%
+ \appto\abx@tempb{\clearname{foreword}}}
+ {\ifnamesequal{editor}{afterword}
+ {\appto\abx@tempa{af}%
+ \appto\abx@tempb{\clearname{afterword}}}
+ {}}}%
+ \ifbibxstring{\abx@tempa}
+ {\printtext[editortype]{\bibsstring{\abx@tempa}}\abx@tempb}
+ {\usebibmacro{editorstrg}}}
+
+\renewbibmacro*{translatorstrg}{%
+ \ifboolexpr{
+ test {\ifnumgreater{\value{translator}}{1}}
+ or
+ test {\ifandothers{translator}}
+ }
+ {\bibsstring{translators}}
+ {\bibsstring{translator}}}
+
+\renewbibmacro*{translator+othersstrg}{%
+ \ifboolexpr{
+ test {\ifnumgreater{\value{translator}}{1}}
+ or
+ test {\ifandothers{translator}}
+ }
+ {\def\abx@tempa{translators}}
+ {\def\abx@tempa{translator}}%
+ \ifnamesequal{translator}{commentator}
+ {\appto\abx@tempa{co}%
+ \clearname{commentator}}
+ {\ifnamesequal{translator}{annotator}
+ {\appto\abx@tempa{an}%
+ \clearname{annotator}}
+ {}}%
+ \ifnamesequal{translator}{introduction}
+ {\appto\abx@tempa{in}%
+ \clearname{introduction}}
+ {\ifnamesequal{translator}{foreword}
+ {\appto\abx@tempa{fo}%
+ \clearname{foreword}}
+ {\ifnamesequal{translator}{afterword}
+ {\appto\abx@tempa{af}%
+ \clearname{afterword}}
+ {}}}%
+ \bibsstring{\abx@tempa}}
+
+\renewbibmacro*{author}{%
+ \ifboolexpr{
+ test \ifuseauthor
+ and
+ not test {\ifnameundef{author}}
+ }
+ {\ifciteseen{%
+ \usebibmacro{ifidemused}
+ {}
+ {\printnames[labelname]{author}}%
+ }{%
+ \iffieldundef{authortype}
+ {\renewcommand*{\namedashpunct}{\adddot\space}}
+ {\renewcommand*{\namedashpunct}{\addcomma\space}}%
+ \usebibmacro{dashcheck}
+ {\bibnamedash}
+ {\usebibmacro{ifidemused}
+ {}
+ {\printnames{author}%
+ \usebibmacro{savehash}}}%
+ \iffieldundef{authortype}
+ {}
+ {\setunit{\addcomma\space}%
+ \usebibmacro{authorstrg}}%
+ \usebibmacro{withname}{author}}}
+ {\global\undef\bbx@lasthash}}
+
+\renewbibmacro*{bybookauthor}{%
+ \ifboolexpr{
+ test {\ifnameundef{bookauthor}}
+ or
+ test {\ifnamesequal{author}{bookauthor}}
+ }
+ {}
+ {\usebibmacro{bytypestrg}{author}{author}%
+ \setunit{\addspace}%
+ \printnames[byauthor]{bookauthor}%
+ \usebibmacro{withname}{author}}%
+}
+
+\renewbibmacro*{editor+others}{%
+ \ifboolexpr{
+ test \ifuseeditor
+ and
+ not test {\ifnameundef{editor}}
+ }
+ {\ifciteseen{%
+ \usebibmacro{ifidemused}
+ {}
+ {\printnames[labelname]{editor}}%
+ }{%
+ \renewcommand*{\namedashpunct}{\addcomma\space}%
+ \usebibmacro{dashcheck}
+ {\bibnamedash}
+ {\usebibmacro{ifidemused}
+ {}
+ {\printnames{editor}%
+ \usebibmacro{savehash}}}%
+ \setunit{\addcomma\space}%
+ \usebibmacro{editor+othersstrg}%
+ \usebibmacro{withname}{editor}%
+ }%
+ \clearname{editor}}
+ {}}
+
+\renewbibmacro*{translator+others}{%
+ \ifboolexpr{
+ test \ifusetranslator
+ and
+ not test {\ifnameundef{translator}}
+ }
+ {\ifciteseen{%
+ \usebibmacro{ifidemused}
+ {}
+ {\printnames[labelname]{translator}}%
+ }{%
+ \renewcommand{\namedashpunct}{\addcomma\space}%
+ \usebibmacro{dashcheck}
+ {\bibnamedash}
+ {\usebibmacro{ifidemused}
+ {}
+ {\printnames{translator}%
+ \usebibmacro{savehash}}}%
+ \setunit{\addcomma\space}%
+ \usebibmacro{translator+othersstrg}%
+ \usebibmacro{withname}{translator}%
+ }%
+ \clearname{translator}}
+ {}}
+
+\renewbibmacro*{byeditor}{%
+ \ifnameundef{editor}
+ {}
+ {\usebibmacro{bytypestrg}{editor}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{editor}%
+ \usebibmacro{withname}{editor}%
+ \newunit}%
+ \usebibmacro{byeditorx}}
+
+\renewbibmacro*{byeditor+others}{%
+ \ifnameundef{editor}
+ {}
+ {\usebibmacro{byeditor+othersstrg}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{editor}%
+ \clearname{editor}%
+ \usebibmacro{withname}{editor}%
+ \newunit}%
+ \usebibmacro{byeditorx}%
+ \usebibmacro{bytranslator+others}}
+
+\renewbibmacro*{bytranslator}{%
+ \ifnameundef{translator}
+ {}
+ {\bibstring{bytranslator}%
+ \setunit{\addspace}%
+ \printnames[bytranslator]{translator}%
+ \usebibmacro{withname}{translator}}}
+
+\renewbibmacro*{bytranslator+others}{%
+ \ifnameundef{translator}
+ {}
+ {\usebibmacro{bytranslator+othersstrg}%
+ \setunit{\addspace}%
+ \printnames[bytranslator]{translator}%
+ \clearname{translator}%
+ \usebibmacro{withname}{translator}%
+ \newunit}%
+ \usebibmacro{withothers}}
+
+\newbibmacro*{bybookeditor+others}{%
+ \ifnameundef{editor}
+ {}
+ {\usebibmacro{byeditor+othersstrg}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{editor}%
+ \clearname{editor}%
+ \usebibmacro{withname}{editor}%
+ \newunit}%
+ \ifnameundef{bookeditor}
+ {}
+ {\usebibmacro{byeditor+othersstrg}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{bookeditor}%
+ \clearname{bookeditor}%
+ \usebibmacro{withname}{bookeditor}%
+ \newunit}%
+ \usebibmacro{byeditorx}%
+ \usebibmacro{bybooktranslator+others}}
+
+\newbibmacro*{bymaineditor+others}{%
+ \ifnameundef{editor}
+ {}
+ {\usebibmacro{byeditor+othersstrg}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{editor}%
+ \clearname{editor}%
+ \usebibmacro{withname}{editor}%
+ \newunit}%
+ \ifnameundef{maineditor}
+ {}
+ {\usebibmacro{byeditor+othersstrg}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{maineditor}%
+ \clearname{maineditor}%
+ \usebibmacro{withname}{maineditor}%
+ \newunit}%
+ \usebibmacro{byeditorx}%
+ \usebibmacro{bymaintranslator+others}}
+
+\newbibmacro*{bybooktranslator+others}{%
+ \ifnameundef{translator}
+ {}
+ {\usebibmacro{bytranslator+othersstrg}%
+ \setunit{\addspace}%
+ \printnames[bytranslator]{translator}%
+ \clearname{translator}%
+ \usebibmacro{withname}{translator}%
+ \newunit}%
+ \ifnameundef{booktranslator}
+ {}
+ {\usebibmacro{bytranslator+othersstrg}%
+ \setunit{\addspace}%
+ \printnames[bytranslator]{booktranslator}%
+ \clearname{booktranslator}%
+ \usebibmacro{withname}{booktranslator}%
+ \newunit}%
+ \usebibmacro{withothers}}
+
+\newbibmacro*{bymaintranslator+others}{%
+ \ifnameundef{translator}
+ {}
+ {\usebibmacro{bytranslator+othersstrg}%
+ \setunit{\addspace}%
+ \printnames[bytranslator]{translator}%
+ \clearname{translator}%
+ \usebibmacro{withname}{translator}%
+ \newunit}%
+ \ifnameundef{maintranslator}
+ {}
+ {\usebibmacro{bytranslator+othersstrg}%
+ \setunit{\addspace}%
+ \printnames[bytranslator]{maintranslator}%
+ \clearname{maintranslator}%
+ \usebibmacro{withname}{maintranslator}%
+ \newunit}%
+ \usebibmacro{withothers}}
+
+\newbibmacro*{revdauthor}{%
+ \ifboolexpr{
+ test \ifuseauthor
+ and
+ not test {\ifnameundef{revdauthor}}
+ }
+ {\bibstring{byauthor}%
+ \setunit{\addspace}%
+ \ifciteseen{%
+ \printnames[labelname]{revdauthor}%
+ }{%
+ \printnames{revdauthor}%
+ \iffieldundef{authortype}
+ {}
+ {\setunit{\addcomma\space}%
+ \usebibmacro{authorstrg}}}}
+ {}}
+
+\newbibmacro*{revdeditor}{%
+ \ifboolexpr{
+ test \ifuseeditor
+ and
+ not test {\ifnameundef{revdeditor}}
+ }
+ {\bibsstring{byeditor}%
+ \setunit{\addspace}%
+ \ifciteseen{%
+ \printnames[labelname]{revdeditor}%
+ }{%
+ \printnames{revdeditor}%
+ }%
+ \clearname{revdeditor}}
+ {}}
+
+\newbibmacro*{revdauthor/revdeditor}{%
+ \ifboolexpr{
+ test \ifuseauthor
+ and
+ not test {\ifnameundef{revdauthor}}
+ }
+ {\usebibmacro{revdauthor}}
+ {\usebibmacro{revdeditor}}}
+
+
+\newbibmacro*{revdauthor/revdeditor+revdtitle}{%
+ \biblstring{reviewof}%
+ \setunit{\addspace}%
+ \usebibmacro{revdauthor/revdeditor}%
+ \ifciteseen
+ {}
+ {\setunit{\addcomma\space}%
+ \usebibmacro{revdtitle}}}
+
+\newbibmacro*{shortseries}{%
+ \iffieldundef{shortseries}
+ {\printfield{series}}
+ {\printtext[shortseries]{%
+ \bibhyperlink{\strfield{shortseries}}{\thefield{shortseries}}}}%
+}
+
+\newbibmacro*{shortseries+number}{%
+ \usebibmacro{shortseries}%
+ \setunit{\addspace}%
+ \iffieldundef{seriesseries}
+ {}
+ {\printfield{seriesseries}%
+ \printtext{/}}%
+ \printfield{number}%
+ \newunit}
+
+\newbibmacro*{eventtitle}{%
+ \iffieldundef{eventtitle}
+ {}
+ {\ifbibliography
+ {}
+ {\midsentence}%
+ \bibstring{paperpresented}%
+ \setunit{\addspace}%
+ \printfield{eventtitle}}}
+
+\newbibmacro*{venue+eventdate}{%
+ \iffieldundef{venue}
+ {\printlist{location}}
+ {\printfield{venue}}%
+ \setunit{\addcomma\space}%
+ \iffieldundef{eventyear}
+ {\printdate}
+ {\printeventdate}}
+
+\newbibmacro*{parens+publisher+location+date}{%
+ \setunit{\space}%
+ \printtext[parens]{%
+ \usebibmacro{publisher+location+date}%
+ \iffieldequalstr{relatedtype}{reprint}
+ {\renewcommand*{\newunitpunct}{\addsemicolon\space}%
+ \newunit
+ \usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \global\toggletrue{relatedseen}}
+ {}}}
+
+\newcounter{currentpublisher}
+\newcounter{currentlocation}
+\newcounter{publishertotal}
+\newcounter{locationtotal}
+
+\DeclareListFormat{publisher}{%
+ \setcounter{publishertotal}{\value{listtotal}}%
+ \usebibmacro{list:delim}{#1}%
+ #1\isdot
+ \ifnumequal{\value{currentpublisher}}{\value{listtotal}}
+ {\setcounter{currentpublisher}{0}}
+ {\addtocounter{currentpublisher}{1}}}
+
+\DeclareListFormat{location}{%
+ \setcounter{locationtotal}{\value{listtotal}}%
+ \usebibmacro{list:delim}{#1}%
+ #1\isdot
+ \ifnumequal{\value{currentlocation}}{\value{listtotal}}
+ {\setcounter{currentlocation}{0}}
+ {\addtocounter{currentlocation}{1}}}
+
+\newbibmacro*{loop:location+publisher}{%
+ \ifnumequal{\value{currentlocation}}{0}
+ {}
+ {\printlist[][\value{currentlocation}-\value{currentlocation}]{location}%
+ \setunit*{\addcolon\space}}%
+ \ifnumequal{\value{currentpublisher}}{0}
+ {}
+ {\printlist[][\value{currentpublisher}-\value{currentpublisher}]{publisher}}%
+ \setunit*{\addsemicolon\space}%
+ \ifboolexpr{
+ test {\ifnumgreater{\value{locationtotal}}{1}}
+ and
+ test {\ifnumgreater{\value{currentlocation}}{\value{publishertotal}}}
+ }
+ {\setcounter{currentlocation}{0}}
+ {}%
+ \ifboolexpr{
+ test {\ifnumgreater{\value{currentpublisher}}{0}}
+ or
+ test {\ifnumgreater{\value{currentlocation}}{0}}
+ }
+ {\usebibmacro{loop:location+publisher}}
+ {}}
+
+\newbibmacro*{init:location+publisher}{%
+ \iflistundef{location}
+ {\setcounter{currentlocation}{0}}
+ {\setcounter{currentlocation}{1}}%
+ \iflistundef{publisher}
+ {\setcounter{currentpublisher}{0}}
+ {\setcounter{currentpublisher}{1}}}
+
+\renewbibmacro*{publisher+location+date}{%
+ \usebibmacro{reprint}%
+ \usebibmacro{init:location+publisher}%
+ \usebibmacro{loop:location+publisher}%
+ \setunit{\addcomma\space}%
+ \usebibmacro{date}%
+ \newunit}
+
+\newbibmacro*{origpublisher+location+date}{%
+ \printlist{origlocation}%
+ \iflistundef{origpublisher}
+ {\setunit*{\addcomma\space}}
+ {\setunit*{\addcolon\space}}%
+ \printlist{origpublisher}%
+ \setunit*{\addcomma\space}%
+ \usebibmacro{origdate}%
+ \newunit}
+
+\newbibmacro*{volume}{%
+ \iffieldundef{volume}
+ {}
+ {\setunit{\addspace}%
+ \global\booltrue{usevolpostnotedelim}%
+ \printfield{volume}%
+ \newunit}}
+
+\newbibmacro*{volumeof}{%
+ \iffieldundef{volume}
+ {}
+ {\iffieldundef{part}
+ {\iffieldundef{maintitle}
+ {\ifboolexpr{
+ test {\iftoggle{blx@usevolume}}
+ or
+ test {\ifbibliography}
+ }
+ {\printfield[vol]{volume}%
+ \newunit}
+ {}}
+ {\printfield[volumeof]{volume}%
+ \setunit{\addspace}}}
+ {}}}%
+
+\newbibmacro*{volume+pages}{%
+ \iffieldundef{volume}
+ {}
+ {\setunit{\addspace}%
+ \printfield{volume}%
+ \setunit{\volpostnotedelim}}
+ \usebibmacro{pages}}
+
+\newbibmacro*{volume+part+pages}{%
+ \ifboolexpr{
+ test {\iffieldundef{volume}}
+ or
+ test {\iffieldundef{part}}
+ }
+ {}
+ {\printfield{volume}%
+ \setunit{\addperiod}%
+ \printfield{part}%
+ \setunit{\volpostnotedelim}}
+ \usebibmacro{pages}}
+
+\newbibmacro*{volume+part+nomaintitle}{%
+ \iffieldundef{volume}
+ {}
+ {\iftoggle{blx@usevolume}
+ {}
+ {\printfield{volume}%
+ \setunit{\addperiod}%
+ \printfield{part}%
+ \global\booltrue{usevolpostnotedelim}}}}
+
+\renewbibmacro*{url+urldate}{%
+ \iffieldundef{urlyear}
+ {}
+ {\printurldate}%
+ \newunit
+ \printfield{url}}
+
+\newbibmacro*{ebookedition}{%
+ \iffieldundef{ebookedition}
+ {}
+ {\printfield{ebookedition}}}
+
+\newbibmacro*{reprint}{%
+ \ifboolexpr{
+ not test {\iffieldundef{origpublisher}}
+ or
+ not test {\iffieldundef{origlocation}}
+ or
+ not test {\iffieldundef{origyear}}
+ }
+ {\usebibmacro{origpublisher+location+date}%
+ \ifbibliography
+ {\setunit{\addperiod\space}}
+ {\setunit{\addsemicolon\space}}%
+ \bibstring{reprint}%
+ \setunit{\addcomma\addspace}}
+ {}}
+
+\renewbibmacro*{date}{%
+ \printdate
+ \setunit{\addcomma\addspace}%
+ \printfield{pubstate}}
+
+\newbibmacro*{origdate}{\printorigdate}
+
+\newbibmacro*{releasedate}{\printreleasedate}
+
+
+% ------------------------------------------------------------------
+% RELATED MACROS
+% ------------------------------------------------------------------
+
+\csundef{abx@ffd@*@related:multivolume}
+\csundef{abx@ffd@*@related:origpubin}
+\csundef{abx@ffd@*@related:origpubas}
+\csundef{abx@ffd@*@relatedstring:reprintfrom}
+\csundef{abx@macro@related:multivolume}
+\csundef{abx@macro@related:bytranslator}
+\csundef{abx@macro@related:origpubas}
+\csundef{abx@macro@related:origpubin}
+\csundef{abx@macro@related:reprintfrom}
+
+\renewbibmacro*{begrelated}{%
+ \global\booltrue{bbx@inset}}
+
+\renewbibmacro*{endrelated}{%
+ \global\boolfalse{bbx@inset}%
+ \usebibmacro*{savehash}}
+
+\renewbibmacro*{related:default}[1]{%
+ \entrydata*{#1}{%
+ \usedriver
+ {\ifnameundef{savedauthor}
+ {\ifnameundef{savededitor}
+ {}
+ {\ifnamesequal{editor}{savededitor}
+ {\clearname{editor}}
+ {}}}
+ {\ifnamesequal{author}{savedauthor}
+ {\clearname{author}}
+ {}}%
+ \renewbibmacro*{related:init}{%
+ \ifnameundef{savedauthor}
+ {}
+ {\restorename{author}{\abx@name@savedauthor}}%
+ \ifnameundef{savededitor}
+ {}
+ {\restorename{editor}{\abx@namesavededitor}}}%
+ \DeclareNameAlias{sortname}{default}}%
+ {\ifbibliography
+ {\thefield{entrytype}}
+ {cite:\thefield{entrytype}}}%
+ \setunit{\relateddelim}%
+ \usebibmacro{related}}}
+
+\newbibmacro*{related:reprint}[1]{%
+ \entrydata*{#1}{%
+ \usedriver
+ {\renewbibmacro*{related:init}{}%
+ \ifbibliography
+ {\renewbibmacro*{parens+publisher+location+date}{%
+ \newunit
+ \usebibmacro{publisher+location+date}}}
+ {}}
+ {\ifbibliography
+ {\thefield{entrytype}}
+ {cite:\thefield{entrytype}}}}}
+
+\newbibmacro*{related:ancienttext}[1]{%
+ \global\togglefalse{blx@testpostnotedelim}%
+ \togglefalse{blx@citeindex}%
+ \ifciteseen{\let\ifciteseen\@firstoftwo}{}%
+ \entrydata*{#1}{%
+ \usebibmacro{ifuseshorthand}
+ {\usebibmacro{cite:shorthand}%
+ \usebibmacro{volume}%
+ \setunit{\addperiod}%
+ \printfield{part}%
+ \global\toggletrue{blx@testpostnotedelim}}
+ {\usedriver{}{cite:\thefield{entrytype}}%
+ \ifboolexpr{
+ test {\ifciteseen}
+ and
+ not togl {blx@useshorttitle}
+ }
+ {\global\toggletrue{blx@testpostnotedelim}}
+ {}}}}
+
+\newbibmacro*{ifuseshorthand}{%
+ \iffieldundef{shorthand}
+ {\@secondoftwo}
+ {\ifcsstring{blx@shorthand}{false}
+ {\@secondoftwo}
+ {\ifciteseen
+ {\@firstoftwo}
+ {\ifcsstring{blx@shorthand}{short}
+ {\@secondoftwo}
+ {\@firstoftwo}}}}}
+
+
+% ------------------------------------------------------------------
+% ANCIENT AND CLASSIC TEXT MACROS
+% ------------------------------------------------------------------
+
+\newtoggle{blx@testpostnotedelim}
+
+\newbibmacro*{volume+part+postnote}{%
+ \usebibmacro{volume}%
+ \iffieldundef{part}
+ {}
+ {\setunit{\addperiod}%
+ \printfield{part}}%
+ \iftoggle{blx@testpostnotedelim}{\usebibmacro{setpostnotedelim}}{}%
+ \ifbool{usevolpostnotedelim}
+ {\setunit{\volpostnotedelim}}
+ {\setunit{\postnotedelim}}%
+ \usebibmacro{postnote}%
+ \global\booltrue{suppresspostnote}}
+
+\newbibmacro*{classic:translator+series}{%
+ \ifboolexpr{
+ not test {\ifnameundef{translator}}
+ or
+ not test {\iffieldundef{series}}
+ }
+ {\setunit{\addspace}%
+ \printtext[parens]{%
+ \printnames[labelname]{translator}%
+ \newunit
+ \usebibmacro{shortseries+number}}}
+ {}}
+
+
+% ------------------------------------------------------------------
+% ALTERNATE POSTNOTE MACROS
+% ------------------------------------------------------------------
+
+\ExplSyntaxOn
+\cs_generate_variant:Nn \__xparse_split_argument:nnn { nno }
+\cs_new_eq:NN \eSplitArgument \__xparse_split_argument:nno
+\DeclareDocumentCommand \splitpostnote
+{ > { \eSplitArgument { 1 } { | } } m }
+{ \savepostnotes #1 }
+\DeclareDocumentCommand{\savepostnotes}{mm}{%
+ \IfNoValueTF{#2}
+ {\gdef\postnotelast{#1}}
+ {\tl_if_empty:nF {#1}
+ {\gdef\postnotefirst{#1}}%
+ \tl_if_empty:nF {#2}
+ {\gdef\postnotelast{#2}}}}
+\ExplSyntaxOff
+
+\def\setuppostnotes{%
+ \global\undef\postnotefirst
+ \global\undef\postnotelast
+ \splitpostnote{\abx@field@postnote}}
+
+\renewbibmacro*{prenote}{%
+ \iffieldundef{postnote}
+ {}
+ {\setuppostnotes
+ \restorefield{postnote}{\postnotelast}%
+ \restorefield{altpostnote}{\postnotefirst}}%
+ \iffieldundef{prenote}
+ {}
+ {\printfield{prenote}%
+ \setunit{\prenotedelim}}}
+
+\DeclareFieldFormat{altpostnote}{\mkcomprange{#1}}
+
+% ------------------------------------------------------------------
+% BIBLIOGRAPHY REPEATED AUTHOR MACROS
+% ------------------------------------------------------------------
+
+\newbool{bbx@inset}
+
+\renewcommand*{\bibnamedash}{%
+ \leavevmode\raise 0.6ex\hbox to 3em{\hrulefill}\namedashpunct}
+
+\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*{cbx:dashcheck}[2]{#2}
+
+\newbibmacro*{dashcheck}[2]{%
+ \usebibmacro{cbx:dashcheck}{#1}{#2}}
+
+\newbibmacro*{savehash}{}
+
+% ------------------------------------------------------------------
+% ENTRY SET MACROS
+% ------------------------------------------------------------------
+
+\def\cbx@entryset#1{%
+ \blx@ifdata{#1}
+ {\begingroup
+ \blx@imc@clearlist{pageref}%
+ \blx@getdata{#1}%
+ \blx@setoptions@type\abx@field@entrytype
+ \def\abx@field@entrysetcount{1}%
+ \blx@entryset@precode
+ \blx@driver{cite:\blx@imc@thefield{entrytype}}%
+ \blx@entryset@postcode
+ \endgroup}
+ {}%
+ \let\do\cbx@entryset@i}
+
+\def\cbx@entryset@i#1{%
+ \blx@ifdata{#1}
+ {\begingroup
+ \blx@resetdata
+ \blx@getdata{#1}%
+ \blx@entrysetcount
+ \blx@setoptions@type\abx@field@entrytype
+ \blx@setoptions@entry
+ \addtocounter{instcount}\@ne
+ \blx@execute
+ \blx@beglangbib
+ \blx@begunit
+ \blx@entryset@precode
+ \blx@driver{cite:\blx@imc@thefield{entrytype}}
+ \blx@entryset@postcode
+ \blx@endunit
+ \blx@endlangbib
+ \endgroup}
+ {\blx@nounit}}
+
+\def\bbx@entryset#1{%
+ \blx@ifdata{#1}
+ {\begingroup
+ \blx@imc@clearlist{pageref}%
+ \blx@getdata{#1}%
+ \blx@setoptions@type\abx@field@entrytype
+ \def\abx@field@entrysetcount{1}%
+ \blx@entryset@precode
+ \blx@driver{\blx@imc@thefield{entrytype}}%
+ \blx@entryset@postcode
+ \endgroup}
+ {}%
+ \let\do\bbx@entryset@i}
+
+\def\bbx@entryset@i#1{%
+ \blx@ifdata{#1}
+ {\begingroup
+ \blx@resetdata
+ \blx@getdata{#1}%
+ \blx@entrysetcount
+ \blx@setoptions@type\abx@field@entrytype
+ \blx@setoptions@entry
+ \addtocounter{instcount}\@ne
+ \blx@execute
+ \blx@beglangbib
+ \blx@begunit
+ \blx@entryset@precode
+ \blx@driver{\blx@imc@thefield{entrytype}}
+ \blx@entryset@postcode
+ \blx@endunit
+ \blx@endlangbib
+ \endgroup}
+ {\blx@nounit}}
+
+
+\def\blx@entryset#1{\cbx@entryset{#1}}
+\def\blx@entryset@i#1{\cbx@entryset@i{#1}}
+
+% ------------------------------------------------------------------
+% INDEXING MACROS
+% ------------------------------------------------------------------
+
+\renewbibmacro*{bibindex}{%
+ \ifbibindex
+ {\indexnames{labelname}}
+ {}}
+
+\renewbibmacro*{citeindex}{%
+ \ifciteindex
+ {\indexnames{labelname}}
+ {}}