summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex-contrib/biblatex-sbl/biblatex-sbl.def
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/biblatex-contrib/biblatex-sbl/biblatex-sbl.def
Initial commit
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-sbl/biblatex-sbl.def')
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-sbl/biblatex-sbl.def2586
1 files changed, 2586 insertions, 0 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-sbl/biblatex-sbl.def b/macros/latex/contrib/biblatex-contrib/biblatex-sbl/biblatex-sbl.def
new file mode 100644
index 0000000000..aa7301d280
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-sbl/biblatex-sbl.def
@@ -0,0 +1,2586 @@
+\RequireBibliographyStyle{standard}
+\RequireBiber[3]
+
+% BibLaTeX version 2018/03/04 v3.11 or greater required
+\@ifpackagelater{biblatex}{2018/03/04}
+ {}
+ {\PackageError{biblatex-sbl}
+ {BibLaTeX v3.11 or greater is required}
+ {You need to update your TeX distribution to use biblatex-sbl.}}
+
+% Require xparse
+\RequirePackage{xparse}
+
+% ------------------------------------------------------------------
+% VERSION STRINGS
+% ------------------------------------------------------------------
+
+\def\sbl@abx@date{2018/12/13}
+\def\sbl@abx@version{0.11}
+\def\sbl@abx@bbxid{\sbl@abx@date\space v\sbl@abx@version\space biblatex-sbl bibliography style (DCP)}
+\def\sbl@abx@cbxid{\sbl@abx@date\space v\sbl@abx@version\space biblatex-sbl citation style (DCP)}
+\def\sbl@abx@lbxid{\sbl@abx@date\space v\sbl@abx@version\space biblatex-sbl localization (DCP)}
+\def\sbl@abx@defid{\sbl@abx@date\space v\sbl@abx@version\space biblatex-sbl definitions and macros (DCP)}
+
+\def\printsblversion{\sbl@abx@version\space
+ \expandafter\xprintsbldateiso\sbl@abx@date\relax}
+\def\printsbldate{\expandafter\xprintsbldateau\sbl@abx@date\relax}
+\def\xprintsbldateiso#1/#2/#3\relax{%
+ #1-%
+ \ifblank{#2}
+ {\kern 1pt-}
+ {#2-#3}}
+\def\xprintsbldateau#1/#2/#3\relax{%
+ \ifblank{#2}
+ {}
+ {\ifblank{#3}
+ {}
+ {\ifcase#3 \or
+ 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or 9\else#3\fi\space}%
+ \ifcase#2 \or
+ January\or February\or March\or April\or May\or June\or July\or
+ August\or September\or October\or November\or December\fi\space}%
+ #1}
+
+\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}
+ {\ifbool{bbx@inset}
+ {}
+ {\printfield{postnote}%
+ \global\booltrue{suppresspostnote}}}
+ {\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}
+ {\ifbool{bbx@inset}
+ {}
+ {\printfield{postnote}%
+ \global\booltrue{suppresspostnote}}}
+ {\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}
+ {\ifbool{bbx@inset}
+ {}
+ {\printfield{postnote}%
+ \global\booltrue{suppresspostnote}}}
+ {\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}
+ {\ifool{bx@inset}
+ {}
+ {\printfield{postnote}%
+ \global\booltrue{suppresspostnote}}}
+ {\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
+% ------------------------------------------------------------------
+
+\newbibmacro*{ifidemused}{%
+ \ifboolexpr{
+ test {\ifciteidem}
+ and
+ not test {\iffirstonpage}
+ }
+ {\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@useseries}
+\newtoggle{blx@useshorttitle}
+\newtoggle{blx@accessdate}
+\def\blx@shorthand{}
+
+\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}}
+
+\DeclareBibliographyOption{useseries}[true]{%
+ \settoggle{blx@useseries}{#1}}
+\DeclareTypeOption{useseries}[true]{%
+ \settoggle{blx@useseries}{#1}}
+\DeclareEntryOption{useseries}[true]{%
+ \settoggle{blx@useseries}{#1}}
+
+\DeclareBibliographyOption{accessdate}[true]{%
+ \settoggle{blx@accessdate}{#1}}
+\DeclareTypeOption{accessdate}[true]{%
+ \settoggle{blx@accessdate}{#1}}
+\DeclareEntryOption{accessdate}[true]{%
+ \settoggle{blx@accessdate}{#1}}
+
+\DeclareBibliographyOption[string]{shorthand}[true]{%
+ \def\blx@shorthand{#1}}
+\DeclareTypeOption[string]{shorthand}[true]{%
+ \def\blx@shorthand{#1}}
+\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}}}
+
+\newtoggle{blx@dashed}
+\DeclareBibliographyOption{dashed}[true]{%
+ \settoggle{blx@dashed}{#1}}
+
+\ExecuteBibliographyOptions{%
+ citetracker,
+ punctfont,
+ alldates=comp,
+ eprintdate=comp,
+ dateabbrev=false,
+ autocite=footnote,
+ url,
+ related,
+ minxrefs=1,
+ isbn=false,
+ pagetracker,
+ idemtracker=constrict,
+ ibidtracker=constrict,
+ ibidpage=false,
+ maxbibnames=99,
+ maxcitenames=3,
+ citepages=sbl,
+ fullbibrefs=false,
+ sblfootnotes,
+ usefullcite,
+ useshorttitle,
+ usevolume,
+ useseries,
+ accessdate=false,
+ shorthand=true,
+ dashed=true,
+ language=american
+}
+
+\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{by}
+\NewBibliographyString{to}
+\NewBibliographyString{of}
+\NewBibliographyString{with}
+\NewBibliographyString{withassistance}
+\NewBibliographyString{withpreface}
+\NewBibliographyString{paperpresented}
+\NewBibliographyString{patentfiled}
+\NewBibliographyString{released}
+
+\DeclareLanguageMappingSuffix{-sbl}
+
+% Ensure right colon punctuation when reset
+\protected\def\blx@resetpunct{%
+ \DeclareCapitalPunctuation{.!?}%
+ \DeclarePunctuationPairs{dot}{}%
+ \DeclarePunctuationPairs{comma}{*!?}%
+ \DeclarePunctuationPairs{semicolon}{*!?}%
+ \DeclarePunctuationPairs{colon}{*}%
+ \DeclarePunctuationPairs{period}{}%
+ \DeclarePunctuationPairs{exclam}{*}%
+ \DeclarePunctuationPairs{question}{*}%
+ \DeclareQuotePunctuation{}%
+ \def\abx@dot{\ifdim\lastkern>\z@\unkern\fi.\spacefactor\blx@sf@dot}%
+ \def\abx@comma{\ifdim\lastkern>\z@\unkern\fi\abx@puncthook{,}}%
+ \def\abx@semicolon{\abx@puncthook{;}}%
+ \def\abx@colon{\abx@puncthook{:}}%
+ \def\abx@period{\ifdim\lastkern>\z@\unkern\fi\abx@puncthook{.}}%
+ \def\abx@exclam{\abx@puncthook{!}}%
+ \def\abx@question{\abx@puncthook{?}}%
+ \global\let\abx@puncthook\@firstofone
+ \global\let\blx@postpunct\@empty}
+
+\renewcommand*{\subtitlepunct}{\addcolon\space}
+\newcommand*{\namedashpunct}{\adddot\space}
+\newcommand*{\lexiconfinalnamedelim}{\addcomma\space}
+\renewcommand*{\relateddelim}{\addsemicolon\space}
+\renewcommand*{\begrelateddelim}{\addsemicolon\space}
+
+\setcounter{mincompwidth}{10}
+
+\DeclareFieldFormat{doi}{%
+ \printtext{doi}\addcolon
+ \ifhyperref
+ {\href{https://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
+ \usebibmacro{eprintdate}%
+ \newunitpunct
+ \ifhyperref
+ {\url{#1}}
+ {\nolinkurl{#1}}%
+ \iffieldundef{eprintclass}
+ {}
+ {\addspace\mkbibparens{\thefield{eprintclass}}}}
+\DeclareFieldFormat{eprint:arxiv}{%
+ \usebibmacro{eprintdate}%
+ \newunitpunct
+ arXiv\addcolon\space
+ \ifhyperref
+ {\href{https://arxiv.org/\abx@arxivpath/#1}{%
+ \nolinkurl{#1}%
+ \iffieldundef{eprintclass}
+ {}
+ {\addspace\mkbibbrackets{\thefield{eprintclass}}}}}
+ {\nolinkurl{#1}
+ \iffieldundef{eprintclass}
+ {}
+ {\addspace\mkbibbrackets{\thefield{eprintclass}}}}}
+\DeclareFieldFormat{eprint:hethiter}{%
+ \usebibmacro{eprintdate}%
+ \newunitpunct
+ \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{journalsubtitle}{\mkbibemph{#1}}
+\DeclareFieldFormat{seriesseries}{#1}
+\DeclareFieldFormat[article,periodical,review]{series}{% series of a journal
+ \ifinteger{#1}
+ {\mkbibordseries{#1}~\bibstring{jourser}}
+ {\ifbibstring{#1}{\bibstring{#1}}{#1}}}
+\DeclareFieldFormat{isbn}{ISBN\addcolon\space #1}
+\DeclareFieldFormat{isrn}{ISRN\addcolon\space #1}
+\DeclareFieldFormat{issn}{ISSN\addcolon\space #1}
+\DeclareFieldFormat{pages}{\mkcomprange{#1}}
+\DeclareFieldFormat{pagepages}{\mkcomprange[\mkpageprefix]{#1}}
+\DeclareFieldFormat{pagesin}{\mkcomprange[\mkpageprefix]{#1} \usebibmacro{in}}
+\DeclareFieldFormat{chapter}{\bibsstring{chapter}~#1}
+\DeclareFieldFormat{chapterin}{\bibsstring{chapter}~#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}{\bibstring{urlseen}\space#1}
+\DeclareFieldFormat{eprintdate}{\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[suppperiodical]{title}{\mkbibquote{#1}}
+\DeclareFieldFormat{issuetitle}{\mkbibquote{#1}}
+\DeclareFieldFormat{issuesubtitle}{\mkbibquote{#1}}
+\DeclareFieldFormat{shortissuetitle}{\mkbibquote{#1}}
+\DeclareFieldFormat{howpublished}{\ifbibstring{#1}{\bibstring{#1}}{#1}}
+\DeclareFieldFormat[patent]{title}{#1}
+\DeclareFieldFormat[ancienttext]{title}{%
+ \ifboolexpr{
+ test {\iffieldequalstr{entrysubtype}{inscription}}
+ or
+ test {\iffieldequalstr{entrysubtype}{chronicle}}
+ }
+ {#1}
+ {\iffieldequalstr{entrysubtype}{churchfather}
+ {\mkbibemph{#1}}
+ {\mkbibquote{#1}}}}
+\DeclareFieldFormat[ancienttext]{shorttitle}{%
+ \ifboolexpr{
+ test {\iffieldequalstr{entrysubtype}{inscription}}
+ or
+ test {\iffieldequalstr{entrysubtype}{chronicle}}
+ }
+ {#1}
+ {\iffieldequalstr{entrysubtype}{churchfather}
+ {\mkbibemph{#1}}
+ {\mkbibquote{#1}}}}
+\DeclareFieldFormat[series]{title}{#1}
+\DeclareFieldFormat[series]{shorttitle}{#1}
+\DeclareFieldFormat[suppbook,suppcollection]
+{type}{%
+ \ifbibstring{#1}%
+ {\bibstring{#1}}%
+ {\ifcapital%
+ {\MakeCapital{#1\isdot}}%
+ {#1\isdot}}}
+\DeclareFieldFormat[suppbook,suppcollection]{title}{%
+ \iffieldundef{type}
+ {#1}
+ {\mkbibemph{#1}}}
+\DeclareFieldFormat[suppbook,suppcollection]{subtitle}{%
+ \iffieldundef{type}
+ {#1}
+ {\mkbibemph{#1}}}
+\DeclareFieldFormat[suppbook,suppcollection]{shorttitle}{%
+ \iffieldundef{type}
+ {#1}
+ {\mkbibemph{#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{seminarpaper}{incollection}
+\DeclareBibliographyAlias{cite:seminarpaper}{cite:incollection}
+\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}
+\DeclareBibliographyAlias{bookinbook}{incollection}
+\DeclareBibliographyAlias{cite:bookinbook}{cite:incollection}
+\DeclareBibliographyAlias{series}{mvcollection}
+\DeclareBibliographyAlias{cite:series}{cite:mvcollection}
+\DeclareBibliographyAlias{cite:booklet}{cite:book}
+\DeclareBibliographyAlias{booklet}{book}
+\DeclareBibliographyAlias{cite:suppcollection}{cite:suppbook}
+\DeclareBibliographyAlias{suppcollection}{suppbook}
+\DeclareBibliographyAlias{cite:report}{cite:book}
+\DeclareBibliographyAlias{report}{book}
+\DeclareBibliographyAlias{cite:suppperiodical}{cite:article}
+\DeclareBibliographyAlias{suppperiodical}{article}
+
+\DeclareLabeldate{%
+ \field{eprintdate}
+}
+
+\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{journalsubtitle}
+ {}
+ {\setunit{\subtitlepunct}%
+ \printfield{journalsubtitle}}}%
+ \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}}}}}}
+
+\DeclareSortingTemplate{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
+% ------------------------------------------------------------------
+
+\DeclareStyleSourcemap{
+ \maps{
+ \map{
+ \step[fieldsource=title, match=\regexp{(.*?):}, final]
+ \step[fieldset=shorttitle, fieldvalue={$1}]
+ }
+ \map{
+ \step[fieldsource=journaltitle, match=\regexp{(.*?):}, final]
+ \step[fieldset=shortjournal, fieldvalue={$1}]
+ }
+ \map{
+ \step[fieldsource=revdtitle, match=\regexp{(.*?):}, final]
+ \step[fieldset=revdshorttitle, fieldvalue={$1}]
+ }
+ \map{
+ \pertype{suppbook}
+ \pertype{suppcollection}
+ \step[fieldsource=type, final]
+ \step[fieldsource=title, final]
+ \step[fieldset=booktitle, origfieldval]
+ }
+ \map{
+ \pertype{suppbook}
+ \pertype{suppcollection}
+ \step[fieldsource=type, final]
+ \step[fieldsource=subtitle, final]
+ \step[fieldset=subbooktitle, origfieldval]
+ }
+ \map{
+ \pertype{suppbook}
+ \pertype{suppcollection}
+ \step[fieldsource=type, final]
+ \step[fieldsource=titleaddon, final]
+ \step[fieldset=booktitleaddon, origfieldval]
+ }
+ \map{
+ \pertype{periodical}
+ \step[fieldsource=title, final]
+ \step[fieldset=journaltitle, origfieldval]
+ }
+ \map{
+ \pertype{periodical}
+ \step[fieldsource=subtitle, final]
+ \step[fieldset=journalsubtitle, origfieldval]
+ }
+ \map{
+ \pertype{periodical}
+ \step[fieldsource=shorttitle, final]
+ \step[fieldset=shortjournal, origfieldval]
+ }
+ \map{
+ \step[fieldsource=journalsubtitle, final]
+ \step[fieldsource=journaltitle, final]
+ \step[fieldset=shortjournal, origfieldval]
+ }
+ \map{
+ \step[fieldsource=entrysubtype, match=\regexp{ANRW}, final]
+ \step[fieldset=options, fieldvalue={skipbib=false}]
+ }
+ \map[overwrite]{
+ \pertype{series}
+ \step[fieldsource=options, match=\regexp{(.*)}]
+ \step[fieldset=options, fieldvalue={useauthor=false,useeditor=false,}]
+ \step[fieldset=options, fieldvalue={$1}, append]
+ }
+ \map[overwrite]{
+ \pernottype{ancienttext}
+ \pernottype{classictext}
+ \step[fieldsource=related, final]
+ \step[fieldsource=relatedoptions, match=\regexp{(.*)}]
+ \step[fieldset=relatedoptions, fieldvalue={skipbib,skipbiblist=false,}]
+ \step[fieldset=relatedoptions, fieldvalue={$1}, append]
+ }
+ \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,
+ mvproceedings,series}
+ {book,inbook,bookinbook,suppbook,collection,incollection,suppcollection,
+ reference,inreference,lexicon,inlexicon,commentary,incommentary,proceedings,
+ inproceedings,classictext}{%
+ \inherit{title}{maintitle}
+ \inherit{subtitle}{mainsubtitle}
+ \inherit{titleaddon}{maintitleaddon}
+ \inherit{shorttitle}{shortmaintitle}
+ \inherit{editor}{maineditor}
+ \inherit{translator}{maintranslator}
+ \inherit{withauthor}{withmainauthor}
+ \inherit{witheditor}{withmaineditor}
+ \inherit{withtranslator}{withmaintranslator}
+ \inherit{withauthortype}{withmainauthortype}
+ \inherit{witheditortype}{withmaineditortype}
+ \inherit{withtranslatortype}{withmaintranslatortype}
+ \noinherit{sorttitle}
+ \noinherit{indextitle}
+ \noinherit{indexsorttitle}
+ \noinherit{endyear}
+}
+
+\DeclareDataInheritance{book,collection,reference,lexicon,commentary,proceedings}
+ {inbook,bookinbook,suppbook,incollection,suppcollection,inreference,inlexicon,
+ incommentary,inproceedings,classictext}{%
+ \inherit{title}{booktitle}
+ \inherit{subtitle}{booksubtitle}
+ \inherit{titleaddon}{booktitleaddon}
+ \inherit{shorttitle}{shortbooktitle}
+ \inherit{author}{bookauthor}
+ \inherit{editor}{bookeditor}
+ \inherit{translator}{booktranslator}
+ \inherit{withauthor}{withbookauthor}
+ \inherit{witheditor}{withbookeditor}
+ \inherit{withtranslator}{withbooktranslator}
+ \inherit{withauthortype}{withbookauthortype}
+ \inherit{witheditortype}{withbookeditortype}
+ \inherit{withtranslatortype}{withbooktranslatortype}
+ \noinherit{sorttitle}
+ \noinherit{indextitle}
+ \noinherit{indexsorttitle}
+ \noinherit{endyear}
+}
+
+\DeclareDataInheritance{periodical}{article,suppperiodical}{%
+ \inherit{shorttitle}{shortjournal}
+}
+
+% ------------------------------------------------------------------
+% LANGUAGE
+% ------------------------------------------------------------------
+
+\newbibmacro*{language}{%
+ \iflistundef{language}
+ {}
+ {\setunit{\addspace}%
+ \printtext[brackets]{%
+ \usebibmacro{in}%
+ \printlist{language}}}}
+
+% ------------------------------------------------------------------
+% SET UP DELIMITER MACROS
+% ------------------------------------------------------------------
+
+\newbibmacro*{ifneedsetpostnotedelim}[2]{%
+ \ifboolexpr{
+ test {\ifentrytype{ancienttext}}
+ or
+ test {\ifentrytype{classictext}}
+ }
+ {\def\blx@shorthand{true}}
+ {}%
+ \usebibmacro{ifuseshorthand}
+ {#1}
+ {#2}}
+
+\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}{%
+ \iftoggle{cbx:involcite}
+ {\renewcommand*{\postnotedelim}{\addspace}}
+ {}%
+ \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}}
+
+% ------------------------------------------------------------------
+% SHORTHAND MACROS
+% ------------------------------------------------------------------
+
+\newbibmacro*{ifuseshorthand}[2]{%
+ \ifboolexpr{
+ not test {\iffieldundef{shorthand}}
+ and
+ (
+ test {\ifcsstring{blx@shorthand}{true}}
+ or
+ (
+ test {\ifcsstring{blx@shorthand}{short}}
+ and
+ test {\ifciteseen}
+ )
+ or
+ (
+ test {\ifcsstring{blx@shorthand}{intro}}
+ and
+ test {\ifciteseen}
+ )
+ )
+ }
+ {#1}
+ {#2}}
+
+\newbibmacro*{ifciteuseshorthand}[2]{%
+ \ifboolexpr{
+ test {\ifentrytype{ancienttext}}
+ or
+ test {\ifentrytype{classictext}}
+ }
+ {\def\blx@shorthand{true}}
+ {}%
+ \usebibmacro{ifuseshorthand}
+ {#1}
+ {#2}}
+
+\newbibmacro*{shorthand}{%
+ \iffieldsequal{shorthand}{shorttitle}
+ {\printtext{\mkbibemph{\printtext{%
+ \bibhyperlink{\strfield{shorthand}}{\thefield{shorthand}}}}}}
+ {\printtext{\bibhyperlink{\strfield{shorthand}}{\thefield{shorthand}}}}}
+
+\renewbibmacro*{shorthandintro}{%
+ \iffieldundef{shorthandintro}
+ {\iffieldundef{shorthand}
+ {}
+ {\setunit{\addspace}%
+ \printtext[parens]{%
+ \bibstring{citedas}\space
+ \usebibmacro{shorthand}}}}
+ {\setunit{\addspace}%
+ \printtext[parens]{\printfield{shorthandintro}}}}
+
+% ------------------------------------------------------------------
+% TITLE MACROS
+% ------------------------------------------------------------------
+
+\newbibmacro*{shorttitle}{%
+ \iftoggle{blx@useshorttitle}
+ {\iffieldundef{shorttitle}
+ {\iffieldundef{title}
+ {}
+ {\ifbool{bbx@inset}
+ {\printtext{\bibhyperlink{\strfield{setkey}}
+ {\printtext[title]{\printfield[titlecase]{title}}}}}
+ {\printtext[bibhyperlink]{%
+ \printtext[title]{\printfield[titlecase]{title}}}}}}
+ {\ifbool{bbx@inset}
+ {\printtext{\bibhyperlink{\strfield{setkey}}
+ {\printtext[title]{\printfield[titlecase]{shorttitle}}}}}
+ {\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}}}}
+ {}}
+
+\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
+ {\usebibmacro{shorttitle}}
+ {\iffieldundef{title}
+ {}
+ {\printtext[title]{%
+ \printfield[titlecase]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[titlecase]{subtitle}}%
+ \newunit
+ \printfield{titleaddon}%
+ \usebibmacro{language}}}}
+
+\renewbibmacro*{booktitle}{%
+ \ifciteseen
+ {\usebibmacro{shortbooktitle}}
+ {\iffieldundef{booktitle}
+ {}
+ {\printtext[booktitle]{%
+ \printfield[titlecase]{booktitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[titlecase]{booksubtitle}}%
+ \newunit
+ \printfield{booktitleaddon}}}}
+
+\renewbibmacro*{maintitle}{%
+ \ifciteseen
+ {\usebibmacro{shortmaintitle}}
+ {\iffieldundef{maintitle}
+ {}
+ {\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*{shortmaintitle+shortbooktitle}{%
+ \iffieldundef{maintitle}
+ {\iffieldundef{booktitle}
+ {}
+ {\usebibmacro{shortbooktitle}
+ \newunit}}
+ {\usebibmacro{shortmaintitle}%
+ \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}}
+ {\iffieldundef{revdtitle}
+ {}
+ {\printtext[revdtitle]{%
+ \printfield[titlecase]{revdtitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[titlecase]{revdsubtitle}}%
+ \newunit}%
+ \printfield{revdtitleaddon}}}
+
+\newbibmacro*{xrefshortmaintitle+xrefshortbooktitle}{%
+ \iffieldundef{xref}
+ {\usebibmacro{shortmaintitle+shortbooktitle}}
+ {\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+issue}{%
+ \usebibmacro{shortjournal}%
+ \setunit{\addspace}%
+ \usebibmacro{series+volume+number+eid}%
+ \ifboolexpr{
+ not test {\ifnameundef{editor}}
+ or
+ not test {\ifnameundef{editora}}
+ or
+ not test {\ifnameundef{editorb}}
+ or
+ not test {\ifnameundef{editorc}}
+ or
+ not test {\iffieldundef{series}}
+ }
+ {\newunit
+ \usebibmacro{byeditor+others}%
+ \newunit}
+ {\setunit{\addspace}}%
+ \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}
+ {\iffieldundef{journaltitle}
+ {\newunit}
+ {\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}}}}
+
+\newbibmacro*{series+volume+number+eid}{%
+ \iffieldundef{series}
+ {}
+ {\newunit
+ \printfield{series}%
+ \newunit}%
+ \printfield{volume}%
+ \setunit*{\addperiod}%
+ \printfield{number}%
+ \setunit{\addcomma\space}%
+ \printfield{eid}}
+
+\newbibmacro{inissuetitle}{%
+ \iffieldundef{issuetitle}
+ {}
+ {\usebibmacro{in}%
+ \printtext[issuetitle]{%
+ \printfield[titlecase]{issuetitle}%
+ \setunit*{\subtitlepunct}%
+ \printfield[titlecase]{issuesubtitle}}}}
+
+\newbibmacro*{shortissuetitle}{%
+ \iffieldundef{shortissuetitle}
+ {\iffieldundef{issuetitle}
+ {}
+ {\printtext[issuetitle]{\printfield[titlecase]{issuetitle}}}}
+ {\printtext[issuetitle]{\printfield[titlecase]{shortissuetitle}}}%
+ \newunit}
+
+\newbibmacro{issuetitle}{%
+ \iffieldundef{issuetitle}
+ {}
+ {\ifciteseen
+ {\usebibmacro{shortissuetitle}}
+ {\printtext[issuetitle]{%
+ \printfield[titlecase]{issuetitle}%
+ \setunit*{\subtitlepunct}%
+ \printfield[titlecase]{issuesubtitle}}}}}
+
+% ------------------------------------------------------------------
+% 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{\addspace}%
+ \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}}%
+ }{\renewcommand*{\namedashpunct}{\adddot\space}%
+ \iffieldundef{authortype}
+ {}
+ {\renewcommand*{\namedashpunct}{\addcomma\space}}%
+ \ifnameundef{withauthor}
+ {}
+ {\renewcommand*{\namedashpunct}{\addcomma\space}}%
+ \ifnameundef{holder}
+ {}
+ {\renewcommand*{\namedashpunct}{\addspace}}%
+ \usebibmacro{dashcheck}
+ {\bibnamedash}
+ {\usebibmacro{ifidemused}
+ {}
+ {\printnames{author}%
+ \usebibmacro{savehash}}}%
+ \iffieldundef{authortype}
+ {}
+ {\setunit{\addcomma\space}%
+ \usebibmacro{authorstrg}}%
+ \usebibmacro{withname}{author}}}
+ {\global\undef\bbx@lasthash}}
+
+\newbibmacro*{author+holder}{%
+ \usebibmacro{author}%
+ \ifciteseen
+ {}
+ {\ifnameundef{holder}
+ {}
+ {\setunit{\addspace}%
+ \printtext[parens]{\printnames{holder}}}}}
+
+\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*{byauthor}{%
+ \ifboolexpr{
+ test {\ifuseauthor}
+ or
+ test {\iffieldundef{title}}
+ or
+ test {\ifnameundef{author}}
+ }
+ {}
+ {\setunit{\addcomma\space}%
+ \usebibmacro{bytypestrg}{author}{author}%
+ \setunit{\addspace}%
+ \printnames[byauthor]{author}%
+ \usebibmacro{withname}{author}}}%
+
+\renewbibmacro*{bybookauthor}{%
+ \ifboolexpr{
+ test {\iffieldundef{booktitle}}
+ or
+ test {\ifnameundef{bookauthor}}
+ or
+ test {\ifnamesequal{author}{bookauthor}}
+ }
+ {}
+ {\setunit{\addcomma\space}%
+ \usebibmacro{bytypestrg}{author}{author}%
+ \setunit{\addspace}%
+ \printnames[byauthor]{bookauthor}%
+ \usebibmacro{withname}{bookauthor}}%
+}
+
+\newbibmacro*{bymainauthor}{%
+ \ifboolexpr{
+ test {\iffieldundef{maintitle}}
+ or
+ test {\ifnameundef{mainauthor}}
+ or
+ test {\ifnamesequal{author}{mainauthor}}
+ or
+ test {\ifnamesequal{bookauthor}{mainauthor}}
+ }
+ {}
+ {\setunit{\addcomma\space}%
+ \usebibmacro{bytypestrg}{author}{author}%
+ \setunit{\addspace}%
+ \printnames[byauthor]{mainauthor}%
+ \usebibmacro{withname}{mainauthor}}%
+}
+
+\renewbibmacro*{byeditor}{%
+ \ifnameundef{editor}
+ {}
+ {\usebibmacro{bytypestrg}{editor}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{editor}%
+ \clearname{editor}%
+ \usebibmacro{withname}{editor}%
+ \newunit}}
+
+\renewbibmacro*{byeditor+others}{%
+ \ifnameundef{editor}
+ {}
+ {\usebibmacro{byeditor+othersstrg}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{editor}%
+ \clearname{editor}%
+ \usebibmacro{withname}{editor}%
+ \newunit}%
+ \usebibmacro{byeditorx}}
+
+\renewbibmacro*{byeditorx}{%
+ \ifnameundef{editora}
+ {}
+ {\usebibmacro{bytypestrg}{editora}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditora]{editora}%
+ \clearname{editora}%
+ \newunit}%
+ \ifnameundef{editorb}
+ {}
+ {\usebibmacro{bytypestrg}{editorb}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditorb]{editorb}%
+ \clearname{editorb}%
+ \newunit}%
+ \ifnameundef{editorc}
+ {}
+ {\usebibmacro{bytypestrg}{editorc}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditorc]{editorc}%
+ \clearname{editorc}%
+ \newunit}}
+
+\renewbibmacro*{bytranslator}{%
+ \ifnameundef{translator}
+ {}
+ {\bibstring{bytranslator}%
+ \setunit{\addspace}%
+ \printnames[bytranslator]{translator}%
+ \clearname{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*{byeditor/bytranslator}{%
+ \ifboolexpr{
+ (
+ not test {\ifnameundef{bookeditor}}
+ and
+ not test {\ifnameundef{maineditor}}
+ )
+ or
+ (
+ not test {\ifnameundef{maineditor}}
+ and
+ test {\iffieldundef{booktitle}}
+ )
+ }
+ {\usebibmacro{byeditor}}
+ {}
+ \newunit
+ \ifboolexpr{
+ (
+ not test {\ifnameundef{booktranslator}}
+ and
+ not test {\ifnameundef{maintranslator}}
+ )
+ or
+ (
+ not test {\ifnameundef{maintranslator}}
+ and
+ test {\iffieldundef{booktitle}}
+ )
+ }
+ {\usebibmacro{bytranslator}}
+ {}}
+
+\newbibmacro*{byauthor/byeditor+others/bytranslator+others}{%
+ \iffieldundef{title}
+ {}
+ {\usebibmacro{byauthor}%
+ \newunit
+ \usebibmacro{ifbooktitleormaintitle}
+ {\usebibmacro{byeditor/bytranslator}}
+ {\usebibmacro{byeditor+others}%
+ \newunit
+ \usebibmacro{bytranslator+others}}}}
+
+\newbibmacro*{bybookeditor}{%
+ \ifnameundef{bookeditor}
+ {}
+ {\usebibmacro{byeditor+othersstrg}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{bookeditor}%
+ \clearname{bookeditor}%
+ \usebibmacro{withname}{bookeditor}}}
+
+\newbibmacro*{bybookeditor+others}{%
+ \ifboolexpr{
+ (
+ not test {\ifnameundef{maineditor}}
+ and
+ test {\ifnameundef{bookeditor}}
+ )
+ or
+ (
+ test {\iffieldundef{maintitle}}
+ and
+ test {\ifnameundef{bookeditor}}
+ )
+ }
+ {\usebibmacro{byeditor}}
+ {\usebibmacro{bybookeditor}}%
+ \newunit
+ \usebibmacro{byeditorx}}
+
+\newbibmacro*{bybooktranslator}{%
+ \ifnameundef{booktranslator}
+ {}
+ {\usebibmacro{bytranslator+othersstrg}%
+ \setunit{\addspace}%
+ \printnames[bytranslator]{booktranslator}%
+ \clearname{booktranslator}%
+ \usebibmacro{withname}{booktranslator}}}
+
+\newbibmacro*{bybooktranslator+others}{%
+ \ifboolexpr{
+ (
+ not test {\ifnameundef{maintranslator}}
+ and
+ test {\ifnameundef{booktranslator}}
+ )
+ or
+ (
+ test {\iffieldundef{maintitle}}
+ and
+ test {\ifnameundef{booktranslator}}
+ )
+ }
+ {\usebibmacro{bytranslator}}
+ {\usebibmacro{bybooktranslator}}%
+ \newunit
+ \usebibmacro{withothers}}
+
+\newbibmacro*{bybookeditor/bybooktranslator}{%
+ \ifboolexpr{
+ (
+ not test {\ifnameundef{maineditor}}
+ and
+ test {\ifnameundef{bookeditor}}
+ )
+ or
+ (
+ test {\iffieldundef{maintitle}}
+ and
+ test {\ifnameundef{bookeditor}}
+ )
+ }
+ {\usebibmacro{byeditor}}
+ {\usebibmacro{bybookeditor}}%
+ \newunit
+ \ifboolexpr{
+ (
+ not test {\ifnameundef{maintranslator}}
+ and
+ test {\ifnameundef{booktranslator}}
+ )
+ or
+ (
+ test {\iffieldundef{maintitle}}
+ and
+ test {\ifnameundef{booktranslator}}
+ )
+ }
+ {\usebibmacro{bytranslator}}
+ {\usebibmacro{bybooktranslator}}}
+
+\newbibmacro*{bybookauthor/bybookeditor+others/bybooktranslator+others}{%
+ \iffieldundef{booktitle}
+ {}
+ {\usebibmacro{bybookauthor}%
+ \newunit
+ \iffieldundef{maintitle}
+ {\usebibmacro{bybookeditor+others}%
+ \newunit
+ \usebibmacro{bybooktranslator+others}}
+ {\usebibmacro{bybookeditor/bybooktranslator}}}}
+
+\newbibmacro*{bymaineditor+others}{%
+ \ifnameundef{maineditor}
+ {\usebibmacro{byeditor+others}}
+ {\usebibmacro{byeditor+othersstrg}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{maineditor}%
+ \clearname{maineditor}%
+ \usebibmacro{withname}{maineditor}%
+ \newunit
+ \usebibmacro{byeditorx}}}
+
+\newbibmacro*{bymaintranslator+others}{%
+ \ifnameundef{maintranslator}
+ {\usebibmacro{bytranslator+others}}
+ {\usebibmacro{bytranslator+othersstrg}%
+ \setunit{\addspace}%
+ \printnames[bytranslator]{maintranslator}%
+ \clearname{maintranslator}%
+ \usebibmacro{withname}{maintranslator}%
+ \newunit
+ \usebibmacro{withothers}}}
+
+\newbibmacro*{bymainauthor/bymaineditor+others/bymaintranslator+others}{%
+ \iffieldundef{maintitle}
+ {}
+ {\usebibmacro{bymainauthor}%
+ \newunit
+ \usebibmacro{bymaineditor+others}%
+ \newunit
+ \usebibmacro{bymaintranslator+others}}}
+
+\newbibmacro*{revdauthor}{%
+ \ifnameundef{revdauthor}
+ {}
+ {\bibstring{byauthor}%
+ \setunit{\addspace}%
+ \ifciteseen
+ {\printnames[labelname]{revdauthor}}
+ {\printnames{revdauthor}}}}
+
+\newbibmacro*{revdeditor}{%
+ \ifnameundef{revdeditor}
+ {}
+ {\bibsstring{byeditor}%
+ \setunit{\addspace}%
+ \ifciteseen
+ {\printnames[labelname]{revdeditor}}
+ {\printnames{revdeditor}}}}
+
+\newbibmacro*{revdauthor/revdeditor}{%
+ \usebibmacro{revdauthor}%
+ \setunit{\addcomma\space}%
+ \usebibmacro{revdeditor}}
+
+\newbibmacro*{revdauthor/revdeditor+revdtitle}{%
+ \biblstring{reviewof}%
+ \setunit{\addspace}%
+ \usebibmacro{revdauthor/revdeditor}%
+ \ifciteseen
+ {}
+ {\setunit{\addcomma\space}%
+ \usebibmacro{revdtitle}}}
+
+% ------------------------------------------------------------------
+% SERIES MACROS
+% ------------------------------------------------------------------
+
+\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}
+
+% ------------------------------------------------------------------
+% EVENT MACROS
+% ------------------------------------------------------------------
+
+\renewbibmacro*{event+venue+date}{%
+ \iffieldundef{eventtitle}
+ {}
+ {\printfield{eventtitle}%
+ \newunit
+ \printfield{eventtitleaddon}}%
+ \ifboolexpr{
+ test {\iffieldundef{venue}}
+ and
+ test {\iffieldundef{eventyear}}
+ }
+ {}
+ {\setunit{\addspace}%
+ \printtext[parens]{%
+ \printfield{venue}%
+ \setunit*{\addcomma\space}%
+ \printeventdate}}%
+ \newunit
+ \clearfield{eventtitle}%
+ \clearfield{venue}%
+ \clearfield{eventyear}}
+
+\newbibmacro*{eventtitle}{%
+ \iffieldundef{eventtitle}
+ {}
+ {\ifbibliography
+ {}
+ {\midsentence}%
+ \bibstring{paperpresented}%
+ \setunit{\addspace}%
+ \printfield{eventtitle}%
+ \newunit
+ \printfield{eventtitleaddon}}}
+
+\newbibmacro*{venue+eventdate}{%
+ \iffieldundef{venue}
+ {\printlist{location}}
+ {\printfield{venue}}%
+ \setunit{\addcomma\space}%
+ \iffieldundef{eventyear}
+ {\printdate}
+ {\printeventdate}}
+
+% ------------------------------------------------------------------
+% PUBLISHER MACROS
+% ------------------------------------------------------------------
+
+\newbibmacro*{parens+publisher+location+date}{%
+ \ifboolexpr{
+ test {\iflistundef{publisher}}
+ and
+ test {\iflistundef{location}}
+ and
+ test {\iffieldundef{howpublished}}
+ and
+ test {\iffieldundef{year}}
+ }
+ {}
+ {\setunit{\addspace}%
+ \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{currentorganization}
+\newcounter{currentinstitution}
+\newcounter{publishertotal}
+\newcounter{locationtotal}
+\newcounter{organizationtotal}
+\newcounter{institutiontotal}
+
+\DeclareListFormat{publisher}{%
+ \setcounter{publishertotal}{\value{listtotal}}%
+ \usebibmacro{list:delim}{#1}%
+ #1\isdot
+ \ifnumequal{\value{currentpublisher}}{\value{listtotal}}
+ {\setcounter{currentpublisher}{0}}
+ {\addtocounter{currentpublisher}{1}}}
+
+\DeclareListFormat{organization}{%
+ \setcounter{organizationtotal}{\value{listtotal}}%
+ \usebibmacro{list:delim}{#1}%
+ #1\isdot
+ \ifnumequal{\value{currentorganization}}{\value{listtotal}}
+ {\setcounter{currentorganization}{0}}
+ {\addtocounter{currentorganization}{1}}}
+
+\DeclareListFormat{institution}{%
+ \setcounter{institutiontotal}{\value{listtotal}}%
+ \usebibmacro{list:delim}{#1}%
+ #1\isdot
+ \ifnumequal{\value{currentinstitution}}{\value{listtotal}}
+ {\setcounter{currentinstitution}{0}}
+ {\addtocounter{currentinstitution}{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{currentorganization}}{0}
+ {}
+ {\printlist[][\value{currentorganization}-\value{currentorganization}]{organization}%
+ \setunit*{\addcomma\space}}%
+ \ifnumequal{\value{currentinstitution}}{0}
+ {}
+ {\printlist[][\value{currentinstitution}-\value{currentinstitution}]{institution}%
+ \setunit*{\addcomma\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{organizationtotal}}}
+ and
+ test {\ifnumgreater{\value{currentlocation}}{\value{institutiontotal}}}
+ and
+ test {\ifnumgreater{\value{currentlocation}}{\value{publishertotal}}}
+ }
+ {\setcounter{currentlocation}{0}}
+ {}%
+ \ifboolexpr{
+ test {\ifnumgreater{\value{currentorganization}}{0}}
+ or
+ test {\ifnumgreater{\value{currentinstitution}}{0}}
+ or
+ test {\ifnumgreater{\value{currentpublisher}}{0}}
+ or
+ test {\ifnumgreater{\value{currentlocation}}{0}}
+ }
+ {\usebibmacro{loop:location+publisher}}
+ {}}
+
+\newbibmacro*{init:location+publisher}{%
+ \setcounter{locationtotal}{0}%
+ \setcounter{organizationtotal}{0}%
+ \setcounter{institutiontotal}{0}%
+ \setcounter{publishertotal}{0}%
+ \iflistundef{location}
+ {\setcounter{currentlocation}{0}}
+ {\setcounter{currentlocation}{1}}%
+ \iflistundef{organization}
+ {\setcounter{currentorganization}{0}}
+ {\setcounter{currentorganization}{1}}%
+ \iflistundef{institution}
+ {\setcounter{currentinstitution}{0}}
+ {\setcounter{currentinstitution}{1}}%
+ \iflistundef{publisher}
+ {\setcounter{currentpublisher}{0}}
+ {\setcounter{currentpublisher}{1}}}
+
+\renewbibmacro*{publisher+location+date}{%
+ \usebibmacro{reprint}%
+ \usebibmacro{init:location+publisher}%
+ \usebibmacro{loop:location+publisher}%
+ \iffieldundef{howpublished}
+ {}
+ {\ifboolexpr{
+ test {\iflistundef{organization}}
+ and
+ test {\iflistundef{institution}}
+ and
+ test {\iflistundef{publisher}}
+ }
+ {\setunit*{\addcolon\space}}
+ {\setunit*{\addcomma\space}}%
+ \printfield{howpublished}}%
+ \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}
+
+% ------------------------------------------------------------------
+% CHAPTER, PAGES, VOLUME, PART MACROS
+% ------------------------------------------------------------------
+
+\newbibmacro*{volume}{%
+ \iffieldundef{volume}
+ {}
+ {\setunit{\addspace}%
+ \global\booltrue{usevolpostnotedelim}%
+ \printfield{volume}%
+ \newunit}}
+
+\newbibmacro*{ifbooktitleormaintitle}[2]{%
+ \ifboolexpr{
+ not test {\iffieldundef{booktitle}}
+ or
+ not test {\iffieldundef{maintitle}}
+ }
+ {#1}
+ {#2}}
+
+\newbibmacro*{ifneedstitlein}[2]{%
+ \usebibmacro{ifbooktitleormaintitle}
+ {\ifboolexpr{
+ togl {inentrytype}
+ or
+ not test {\usebibmacro{ifusevolumeandpart}}
+ }
+ {#1}
+ {#2}}
+ {#2}}
+
+\newbibmacro{pagesin}{%
+ \usebibmacro{ifbooktitleormaintitle}
+ {\iffieldundef{pages}
+ {}
+ {\printfield[pagesin]{pages}%
+ \setunit*{\addspace}}}
+ {\printfield[pagepages]{pages}%
+ \newunit}}
+
+\newbibmacro*{chapterin}{%
+ \ifboolexpr{
+ test {\usebibmacro{ifbooktitleormaintitle}}
+ or
+ not test {\iffieldundef{volume}}
+ or
+ not test {\iffieldundef{part}}
+ }
+ {\iffieldundef{chapter}
+ {\usebibmacro{ifneedstitlein}
+ {\usebibmacro{in}}
+ {}}%
+ {\printfield[chapterin]{chapter}%
+ \setunit*{\addspace}}}
+ {\printfield{chapter}%
+ \setunit*{\addcomma\space}}}
+
+\newbibmacro*{chapter+pagesin}{%
+ \iffieldundef{pages}
+ {\usebibmacro{chapterin}}
+ {\ifbibliography
+ {\printfield{chapter}%
+ \setunit*{\addcomma\space}%
+ \ifboolexpr{
+ test {\usebibmacro{ifbooktitleormaintitle}}
+ or
+ not test {\iffieldundef{volume}}
+ or
+ not test {\iffieldundef{part}}
+ }
+ {\printfield[pagesin]{pages}%
+ \setunit*{\addspace}}
+ {\printfield[pagepages]{pages}%
+ \newunit}}
+ {\usebibmacro{chapterin}}}}
+
+\newbibmacro*{ifusevolumeandpart}[2]{%
+ \ifboolexpr{
+ test {\ifbibliography}% always if in bibliography
+ or
+ not test {\iffieldundef{chapter}}% always if chapter is defined
+ or
+ (% always if volume defined, part not defined, and usevolume=true
+ not test {\iffieldundef{volume}}
+ and
+ test {\iffieldundef{part}}
+ and
+ togl {blx@usevolume}%
+ )
+ or
+ (% always if part defined and volume not defined
+ not test {\iffieldundef{part}}
+ and
+ test {\iffieldundef{volume}}
+ )
+ or
+ (% always if neither volume nor part are defined
+ test {\iffieldundef{volume}}
+ and
+ test {\iffieldundef{part}}
+ )
+ }
+ {#1}
+ {#2}}
+
+\newbibmacro*{volume+partof}{%
+ \usebibmacro{ifusevolumeandpart}
+ {\iffieldundef{part}
+ {\iffieldundef{maintitle}
+ {\printfield[vol]{volume}%
+ \newunit}
+ {\iffieldundef{volume}
+ {}
+ {\printfield[volumeof]{volume}%
+ \setunit*{\addspace}}}}
+ {\printfield[vol]{volume}%
+ \setunit*{\addcomma\space}%
+ \iffieldundef{maintitle}
+ {\printfield[pt]{part}%
+ \newunit}
+ {\printfield[partof]{part}
+ \setunit*{\addspace}}}}
+ {}}
+
+\newbibmacro*{volume+pages}{%
+ \iffieldundef{volume}
+ {}
+ {\setunit{\addspace}%
+ \printfield{volume}%
+ \setunit*{\addperiod}%
+ \printfield{part}%
+ \setunit{\volpostnotedelim}%
+ \global\booltrue{usevolpostnotedelim}}
+ \usebibmacro{pages}}
+
+\newbibmacro*{volume+part+pages}{%
+ \usebibmacro{ifusevolumeandpart}
+ {}
+ {\printfield{volume}%
+ \setunit*{\addperiod}%
+ \printfield{part}%
+ \setunit{\volpostnotedelim}%
+ \global\booltrue{usevolpostnotedelim}}%
+ \usebibmacro{pages}}
+
+\newbibmacro*{volume+part}{%
+ \iffieldundef{volume}
+ {}
+ {\iftoggle{blx@usevolume}
+ {}
+ {\printfield{volume}%
+ \setunit{\addperiod}%
+ \printfield{part}%
+ \global\booltrue{usevolpostnotedelim}}}}
+
+\renewbibmacro*{urldate}{%
+ \iftoggle{blx@accessdate}
+ {\iffieldundef{urlyear}
+ {}
+ {\printurldate}}
+ {}}
+
+\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}}
+ {}}
+
+% ------------------------------------------------------------------
+% DATE MACROS
+% ------------------------------------------------------------------
+
+\renewbibmacro*{date}{%
+ \printdate
+ \setunit{\addcomma\addspace}%
+ \printfield{pubstate}}
+
+\newbibmacro*{origdate}{\printorigdate}
+
+\newbibmacro*{eprintdate}{\printeprintdate}
+
+\newbibmacro*{patentdate}{%
+ \iffieldundef{year}
+ {}
+ {\bibstring{patentfiled}%
+ \setunit{\addspace}%
+ \printdate
+ \setunit{\addcomma\addspace}}%
+ \printfield{pubstate}}
+
+\renewbibmacro*{doi+eprint+url}{%
+ \iftoggle{bbx:eprint}
+ {\usebibmacro{eprint}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{urldate}%
+ \newunit
+ \iftoggle{bbx:doi}
+ {\printfield{doi}}
+ {}%
+ \newunit
+ \iftoggle{bbx:url}
+ {\printfield{url}}
+ {}}
+
+\newbibmacro*{ebook}{%
+ \iftoggle{bbx:eprint}
+ {\iffieldequalstr{eprinttype}{ebook}
+ {\usebibmacro{eprint}%
+ \clearfield{eprint}}
+ {}}
+ {}}
+
+\newbibmacro*{isbn}{%
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}}
+
+\newbibmacro*{isrn}{%
+ \iftoggle{bbx:isbn}
+ {\printfield{isrn}}
+ {}}
+
+\newbibmacro*{issn}{%
+ \iftoggle{bbx:isbn}
+ {\printfield{issn}}
+ {}}
+
+% ------------------------------------------------------------------
+% 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}}
+ {}}}}
+
+% ------------------------------------------------------------------
+% 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}}%
+ \ifboolexpr{
+ test {\ifciteseen}
+ or
+ test {\iffieldundef{pages}}
+ }
+ {\printfield{postnote}}
+ {\usebibmacro{pages}}%
+ \global\booltrue{suppresspostnote}}
+
+\newbibmacro*{classic:translator+series}{%
+ \ifnameundef{translator}
+ {}
+ {\setunit{\addspace}%
+ \printtext[parens]{%
+ \printnames[labelname]{translator}%
+ \iftoggle{blx@useseries}
+ {\newunit
+ \usebibmacro{shortseries}}
+ {}}}}
+
+% ------------------------------------------------------------------
+% ALTERNATE POSTNOTE MACROS
+% ------------------------------------------------------------------
+
+\ExplSyntaxOn
+\DeclareDocumentCommand{\savepostnotes}{d() u{++}}{
+ \IfValueT {#1} { \gdef\postnotefirst{#1} }
+ \tl_if_empty:nF {#2} { \gdef\postnotelast{#2} }
+}
+\cs_new:Npn \_biblatexsbl_splitpostnote:n #1 { \savepostnotes #1++ }
+\cs_generate_variant:Nn \_biblatexsbl_splitpostnote:n { o }
+\cs_new_eq:NN \splitpostnote \_biblatexsbl_splitpostnote:o
+\ExplSyntaxOff
+
+\newrobustcmd*{\volsplitpostnote}[2]{%
+ \gdef\volvol{#1}%
+ \gdef\abx@field@volpostnote{#2}%
+ \iffieldundef{volpostnote}
+ {}
+ {\splitpostnote{\abx@field@volpostnote}}}
+
+\def\setuppostnotes{%
+ \global\undef\postnotefirst
+ \global\undef\postnotelast
+ \iftoggle{cbx:involcite}
+ {\expandafter\volsplitpostnote\abx@field@postnote}%
+ {\splitpostnote{\abx@field@postnote}}}
+
+\renewbibmacro*{prenote}{%
+ \iffieldundef{postnote}
+ {}
+ {\setuppostnotes
+ \iftoggle{cbx:involcite}
+ {\ifdefined\postnotelast
+ \def\abx@field@postnote{{\volvol}{\postnotelast}}%
+ \else
+ \def\abx@field@postnote{{\volvol}{}}%
+ \fi}
+ {\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}}
+ )
+ and togl {blx@dashed}
+ }
+ {#1}
+ {#2}}
+
+\newbibmacro*{cbx:dashcheck}[2]{#2}
+
+\newbibmacro*{dashcheck}[2]{%
+ \usebibmacro{cbx:dashcheck}{#1}{#2}}
+
+\newbibmacro*{savehash}{}
+
+% ------------------------------------------------------------------
+% ENTRY SET MACROS
+% ------------------------------------------------------------------
+
+\def\blx@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
+ \ifbibliography
+ {\blx@driver{\blx@imc@thefield{entrytype}}}
+ {\blx@driver{cite:\blx@imc@thefield{entrytype}}}%
+ \blx@entryset@postcode
+ \endgroup}
+ {}%
+ \let\do\blx@entryset@i}
+
+\def\blx@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
+ \ifbibliography
+ {\blx@driver{\blx@imc@thefield{entrytype}}}
+ {\blx@driver{cite:\blx@imc@thefield{entrytype}}}%
+ \blx@entryset@postcode
+ \blx@endunit
+ \blx@endlangbib
+ \endgroup}
+ {\blx@nounit}}
+
+% ------------------------------------------------------------------
+% INDEXING MACROS
+% ------------------------------------------------------------------
+
+\renewbibmacro*{bibindex}{%
+ \ifbibindex
+ {\indexnames{labelname}}
+ {}}
+
+\renewbibmacro*{citeindex}{%
+ \ifciteindex
+ {\indexnames{labelname}}
+ {}}