diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-oxref/oxref.bbx')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex-oxref/oxref.bbx | 3879 |
1 files changed, 3879 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxref.bbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxref.bbx new file mode 100644 index 00000000000..ae5b9e4521b --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxref.bbx @@ -0,0 +1,3879 @@ +%% +%% This is file `oxref.bbx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% oxref.dtx (with options: `bbx,o') +%% ---------------------------------------------------------------- +%% biblatex-oxref --- Biblatex styles inspired by the Oxford Guide to Style +%% Author: Alex Ball +%% E-mail: a.j.ball@bath.ac.uk +%% License: Released under the LaTeX Project Public License v1.3c or later +%% See: http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +%% +\def\Version{2017/05/14 v0.10} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesFile{oxref.bbx} + [\Version\space Base settings for bibliography styles inspired by the Oxford Guide to Style] +\RequirePackage{xpatch} +\RequirePackage{xstring} +\RequirePackage{graphicx} +\DeclareLanguageMapping{english}{british-oxref} +\DeclareLanguageMapping{british}{british-oxref} +\DeclareLanguageMapping{american}{american-oxref} +\NewBibliographyString{% + director, performer, reader, conductor, + bydirector, byperformer, byreader, byconductor, byserieseditor, + facsimile, revised, revisedenlarged, revisedreprint, suppto, equals, original, + inpressin, + book, books, canto, cantos, stanza, stanzas, act, acts, scene, scenes, folio, folios, + article, articles, clause, clauses, regulation, regulations, rule, rules, + facebook, tweet, podcast, clip, webcast, poster, + nolocation, recorded, uploaded, + anon, pseudo, urldown, + 1column, 2column, inflayer, suplayer, paper, papyrus, pergament, + eucase, eujoinedcases, commissiondecision, application, + order, bill, draft, opened, signed, adopted, inforce, +} +\RequireBibliographyStyle{standard} +\ExecuteBibliographyOptions{urldate=comp,pagetracker,timezeros=false,time=12h,isbn=false} +\renewcommand*{\labelnamepunct}{\addcomma\space} +\renewcommand*{\newunitpunct}{\addcomma\space} +\renewcommand*{\subtitlepunct}{\addcolon\space} +\renewcommand*{\intitlepunct}{\nopunct\space} +\renewcommand*{\bibnamedash}{\resizebox{2em}{\height}{\textemdash}\addthinspace} +\renewcommand*{\revsdnamedelim}{\addcomma} +\newcommand*{\recordseriespunct}{\addcomma\space} +\newcommand*{\relatedtypepunct}{\addsemicolon\space} +\renewcommand*{\relateddelim}{\addsemicolon\space} +\DeclareNameAlias{bookauthor}{default} +\DeclareNameAlias{bookeditor}{default} +\newtoggle{blx@ox@scnames} +\DeclareBibliographyOption[boolean]{scnames}[true]{% + \settoggle{blx@ox@scnames}{#1} +} +\newtoggle{blx@ox@nametitle}\toggletrue{blx@ox@nametitle}% +\DeclareBibliographyOption[boolean]{usenametitles}[true]{% + \settoggle{blx@ox@nametitle}{#1}} +\DeclareEntryOption[boolean]{usenametitles}[true]{% + \settoggle{blx@ox@nametitle}{#1}} +\newbibmacro*{name:title-given-family}[5]{% + \usebibmacro{name:delim}{#2#3#1}% + \usebibmacro{name:hook}{#2#3#1}% + \ifdefvoid{#5}{}{\iftoggle{blx@ox@nametitle}{\mkbibnametitle{#5}\isdot\bibnamedelimd}{}}% + \ifdefvoid{#2}{}{\mkbibnamegiven{#2}\isdot\bibnamedelimd}% + \ifdefvoid{#3}{}{% + \mkbibnameprefix{#3}\isdot + \ifprefchar + {} + {\ifuseprefix{\bibnamedelimc}{\bibnamedelimd}}}% + \mkbibnamefamily{#1}\isdot + \ifdefvoid{#4}{}{\ifnumeral{#4}{}{\addcomma}\bibnamedelimd\mkbibnamesuffix{#4}\isdot}} +\newbibmacro*{name:family-title-given}[5]{% + \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{#4}{}{\ifnumeral{#4}{}{\addcomma}\bibnamedelimd\mkbibnamesuffix{#4}\isdot}% + \ifdefvoid{#5}{}{\ifgiveninits{}{\mkbibnametitle{#5}\isdot\bibnamedelimd}}% + \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot}% + }{% + \usebibmacro{name:delim}{#1}% + \usebibmacro{name:hook}{#1}% + \mkbibnamefamily{#1}\isdot + \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}% + \ifboolexpe{% + test {\ifdefvoid{#2}} + and + test {\ifdefvoid{#3}}% + }{}{% + \revsdnamepunct}% + \ifdefvoid{#5}{}{\iftoggle{blx@ox@nametitle}{\mkbibnametitle{#5}\isdot\bibnamedelimd}{}}% + \ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}\isdot}% + \ifdefvoid{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}}} +\def\blx@ox@lasthash{} +\DeclareNameFormat{bib-family-given/cite-given-family}{% + \iffieldannotation{inferred}{\ifnumequal{\value{listcount}}{1}{\bibopenbracket}{}}{}% + \ifitemannotation{inferred}{\bibopenbracket}{}% + \ifbibliography{% + \iftoggle{blx@ox@scnames}{% + \renewcommand*{\mkbibnamefamily}[1]{\textsc{##1}}% + \renewcommand*{\mkbibnamegiven}[1]{\textsc{##1}}% + \renewcommand*{\mkbibnameprefix}[1]{\textsc{##1}}% + \renewcommand*{\mkbibnamesuffix}[1]{\textsc{##1}}% + \renewcommand*{\mkbibnametitle}[1]{##1}% + }{}% + \ifgiveninits{% + \usebibmacro{name:family-title-given}% + {\namepartfamily}% + {\namepartgiveni}% + {\namepartprefix}% + {\namepartsuffix}% + {\nameparttitle}% + }{% + \usebibmacro{name:family-title-given}% + {\namepartfamily}% + {\namepartgiven}% + {\namepartprefix}% + {\namepartsuffix}% + {\nameparttitle}% + }% + \savefield{hash}{\blx@ox@lasthash}% + \ifitemannotation{pseudo}{% + \addspace\printtext[parens]{% + \iftoggle{blx@ox@scnames}{% + \textsc{\bibsstring{pseudo}}% + }{% + \bibsstring{pseudo}% + }}% + }{}% + \iftoggle{blx@ox@scnames}{% + \renewcommand*{\mkbibnamefamily}[1]{##1}% + \renewcommand*{\mkbibnamegiven}[1]{##1}% + \renewcommand*{\mkbibnameprefix}[1]{##1}% + \renewcommand*{\mkbibnamesuffix}[1]{##1}% + \renewcommand*{\mkbibnametitle}[1]{##1}% + }{}% + }{% + \ifgiveninits{% + \usebibmacro{name:title-given-family}% + {\ifitemannotation{pseudo}{\biblstring{pseudo}}{}\namepartfamily}% + {\namepartgiveni}% + {\namepartprefix}% + {\namepartsuffix}% + {\nameparttitle}% + }{% + \usebibmacro{name:title-given-family}% + {\ifitemannotation{pseudo}{\biblstring{pseudo}}{}\namepartfamily}% + {\namepartgiven}% + {\namepartprefix}% + {\namepartsuffix}% + {\nameparttitle}% + }% + \savefield{hash}{\blx@ox@lasthash}% + }% + \ifitemannotation{inferred}{\bibclosebracket}{}% + \usebibmacro{name:andothers}% + \iffieldannotation{inferred}{% + \ifboolexpr{ + test {\ifnumequal{\value{listcount}}{\value{maxnames}}} + or + test {\ifnumequal{\value{listcount}}{\value{listtotal}}} + or ( + test {\ifnumequal{\value{listcount}}{\value{minnames}}} + and + test {\ifnumgreater{\value{listtotal}}{\value{maxnames}}} + ) + }{\bibclosebracket}{}% + }{}% +} +\newtoggle{blx@ox@variantname} +\DeclareNameFormat{given-family}{% + \ifgiveninits + {\usebibmacro{name:title-given-family} + {\namepartfamily} + {\namepartgiveni} + {\namepartprefix} + {\namepartsuffix} + {\nameparttitle}} + {\usebibmacro{name:title-given-family} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix} + {\nameparttitle}}% + \savefield{hash}{\blx@ox@lasthash}% + \ifitemannotation{variant}{% + \global\settoggle{blx@ox@variantname}{true}% + }{% + \global\settoggle{blx@ox@variantname}{false}}% + \usebibmacro{name:andothers}} +\DeclareNameFormat{family-given}{% + \ifgiveninits + {\usebibmacro{name:family-title-given} + {\namepartfamily} + {\namepartgiveni} + {\namepartprefix} + {\namepartsuffix} + {\nameparttitle}} + {\usebibmacro{name:family-title-given} + {\namepartfamily} + {\namepartgiven} + {\namepartsuffix} + {\nameparttitle}}% + \savefield{hash}{\blx@ox@lasthash}% + \ifitemannotation{variant}{% + \global\settoggle{blx@ox@variantname}{true}% + }{% + \global\settoggle{blx@ox@variantname}{false}}% + \usebibmacro{name:andothers}} +\xpatchbibmacro{name:given-family}% + {\bibnamedelimd\mkbibnamesuffix{#4}}% + {\ifnumeral{#4}{}{\addcomma}\bibnamedelimd\mkbibnamesuffix{#4}}{}{} +\xpatchbibmacro{name:family-given}% + {\bibnamedelimd\mkbibnamesuffix{#4}}% + {\ifnumeral{#4}{}{\addcomma}\bibnamedelimd\mkbibnamesuffix{#4}}{}{} +\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1}} +\DeclareFieldFormat{namevariant}{\mkbibparens{\bibstring{equals}\space #1}} +\newcounter{namepairs} +\newsavebox{\blx@ox@namebox} +\newsavebox{\blx@ox@altnamebox} +\newbibmacro*{namepairs}[2]{% + \setcounter{namepairs}{0}% + \savebibmacro{name:andothers}% + \renewbibmacro*{name:andothers}{}% + \whileboolexpr{% + test {\ifnumless{\value{namepairs}}{\value{#1}}} + and ( + test {\ifdefvoid{\c@maxnames}} + or + test {\ifnumequal{\c@maxnames}{0}} + or + test {\ifnumless{\value{#1}}{\c@maxnames}} + or + test {\ifnumequal{\value{#1}}{\c@maxnames}} + or + test {\ifdefvoid{\c@minnames}} + or + test {\ifnumequal{\c@minnames}{0}} + or + test {\ifnumless{\value{namepairs}}{\c@minnames}} + ) + }{% + \stepcounter{namepairs}% + \ifnumgreater{\value{namepairs}}{1}{% + \ifnumequal{\value{#1}}{2}{% + \setunit*{\addspace\bibstring{and}\addspace}% + }{% + \ifnumequal{\value{namepairs}}{\value{#1}}{% + \setunit*{\addcomma\space\bibstring{and}\addspace}% + }{% + \setunit*{\addcomma\space}% + }% + }% + }{}% + \savebox{\blx@ox@namebox}{% + \printnames[#1][\value{namepairs}-\value{namepairs}]{#1}% + }% + \let\blx@ox@firsthash=\blx@ox@lasthash + \IfEndWith{#2}{addon}{% + \savebox{\blx@ox@altnamebox}{% + \printnames[by#1][\value{namepairs}-\value{namepairs}]{#2}% + }% + \let\blx@ox@secondhash=\blx@ox@lasthash + \ifdefstrequal{\blx@ox@firsthash}{\blx@ox@secondhash}{% + \unhbox\blx@ox@namebox + }{% + \unhbox\blx@ox@namebox\addspace + \iftoggle{blx@ox@variantname}{% + \ifbibliography{% + \printtext[namevariant]{\printnames[#1][\value{namepairs}-\value{namepairs}]{#2}}% + }{}% + }{% + \printtext[nameaddon]{\unhbox\blx@ox@altnamebox}% + }% + }% + }{% + \savebox{\blx@ox@altnamebox}{% + \printnames[#1][\value{namepairs}-\value{namepairs}]{#2}% + }% + \let\blx@ox@secondhash=\blx@ox@lasthash + \ifdefstrequal{\blx@ox@firsthash}{\blx@ox@secondhash}{% + \unhbox\blx@ox@namebox + }{% + \unhbox\blx@ox@altnamebox + \addspace\mkbibparens{\unhbox\blx@ox@namebox}% + }% + }% + }% + \ifboolexpr{ + test {\ifnumequal{\value{namepairs}}{\c@minnames}} + and + test {\ifnumgreater{\value{#1}}{\c@maxnames}} + }{% + \ifnumgreater{\c@minnames}{1}{% + \finalandcomma + }{}% + \andothersdelim\bibstring{andothers}% + }{}% + \restorebibmacro{name:andothers}% +} +\newbibmacro*{author+altauthor}{% + \ifboolexpr{ + test {\ifnameundef{authoraddon}} + and + test {\ifnameundef{jointauthor}} + }{% + \printnames{author}% + }{% + \ifnumequal{\value{authoraddon}}{\value{author}}{% + \usebibmacro{namepairs}{author}{authoraddon}% + }{% + \printnames{author}% + \ifnameundef{authoraddon}{}{% + \setunit*{\addspace}% + \printtext[nameaddon]{\printnames[byauthor]{authoraddon}}}% + }% + \ifnameundef{jointauthor}{}{% + \setunit{\addcomma\space}% + \iffieldundef{jointauthortype}{% + \bibstring{byeditor}% + }{% + \printfield{jointauthortype}}% + \setunit{\addspace}% + \printnames[author]{jointauthor}% + }% + }% +} +\DeclareFieldFormat{jointauthortype}{% + \ifbibstring{by#1}{\bibstring{by#1}}{#1}} +\newbibmacro*{editor+alteditor}{% + \ifnameundef{editoraddon}{% + \printnames{editor}% + }{ + \ifnumequal{\value{editoraddon}}{\value{editor}}{% + \usebibmacro{namepairs}{editor}{editoraddon}% + }{% + \printnames{editor}% + \setunit*{\addspace}% + \printtext[nameaddon]{\printnames[byeditor]{editoraddon}}% + }% + }% +} +\newbibmacro*{bbx:savehash}{} +\DeclareBibliographyOption{dashed}[true]{% + \ifstrequal{#1}{true}{% + \ExecuteBibliographyOptions{pagetracker}% + \renewbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}% + }{% + \renewbibmacro*{bbx:savehash}{}% + }% +} +\InitializeBibliographyStyle{% + \global\undef\bbx@lasthash} +\newbibmacro*{bbx:dashcheck}[2]{% + \ifboolexpr{ + test {\iffieldequals{fullhash}{\bbx@lasthash}} + and + not test \iffirstonpage + and + ( + not bool {bbx@inset} + or + test {\iffieldequalstr{entrysetcount}{1}} + ) + }{#1}{#2}% +} +\newbool{bbx@inset} +\DeclareBibliographyDriver{set}{% + \booltrue{bbx@inset}% + \entryset{}{}% + \newunit\newblock + \usebibmacro{setpageref}% + \finentry} +\newtoggle{blx@ox@autoanon} +\newtoggle{blx@ox@abbranon} +\DeclareBibliographyOption[string]{anon}[short]{% + \ifcsdef{blx@ox@opt@anon@#1}{% + \csuse{blx@ox@opt@anon@#1}% + }{% + \PackageError{oxref} + {Invalid option 'anon=#1'} + {Valid values are 'long', 'short', and 'literal'.}}} +\csdef{blx@ox@opt@anon@literal}{\togglefalse{blx@ox@autoanon}} +\csdef{blx@ox@opt@anon@long}{\toggletrue{blx@ox@autoanon}\togglefalse{blx@ox@abbranon}} +\csdef{blx@ox@opt@anon@short}{\toggletrue{blx@ox@autoanon}\toggletrue{blx@ox@abbranon}} +\DeclareStyleSourcemap{ + \maps[datatype=bibtex]{% + \map{% + \step[fieldsource=author]% + \step[fieldset=rawauthor, origfieldval]% + } + }% +} +\newcommand*{\oxrefanon}{Anonymous} +\newtoggle{blx@ox@isanon} +\renewbibmacro*{author}{% + \iffieldequals{rawauthor}{\oxrefanon}{% + \toggletrue{blx@ox@isanon}% + }{% + \togglefalse{blx@ox@isanon}}% + \ifboolexpr{ + test \ifuseauthor + and + ( not test {\ifnameundef{author}} ) + and ( + ( not togl {blx@ox@isanon} ) + or + ( not togl {blx@ox@autoanon} ) + or + test {\ifbibliography} + ) + } + {\usebibmacro{bbx:dashcheck} + {\bibnamedash} + {\usebibmacro{bbx:savehash}% + \ifboolexpr{ + togl {blx@ox@autoanon} + and + togl {blx@ox@isanon} + }{% + \iftoggle{blx@ox@abbranon}{\bibcpsstring{anon}}{\bibcplstring{anon}}% + }{% + \usebibmacro{author+altauthor}% + }% + \iffieldundef{nameaddon} + {} + {\setunit{\addspace}% + \printfield{nameaddon}}% + \setunit{\addspace}}% + \iffieldundef{authortype} + {} + {\usebibmacro{authorstrg}% + \setunit{\addspace}}}% + {\global\undef\bbx@lasthash}} +\DeclareFieldFormat{authortype}{\mkbibparens{#1}} +\renewbibmacro*{editor}{% + \usebibmacro{bbx:editor}{editorstrg}} +\renewbibmacro*{editor+others}{% + \usebibmacro{bbx:editor}{editor+othersstrg}} +\newbibmacro*{bbx:editor}[1]{% + \ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + } + {\usebibmacro{bbx:dashcheck} + {\bibnamedash} + {\usebibmacro{editor+alteditor}% + \setunit{\addspace}% + \usebibmacro{bbx:savehash}}% + \usebibmacro{#1}% + \clearname{editor}} + {\global\undef\bbx@lasthash}} +\DeclareFieldFormat{editortype}{\mkbibparens{#1}} +\renewbibmacro*{translator}{% + \usebibmacro{bbx:translator}{translatorstrg}} +\renewbibmacro*{translator+others}{% + \usebibmacro{bbx:translator}{translator+othersstrg}} +\newbibmacro*{bbx:translator}[1]{% + \ifboolexpr{ + test \ifusetranslator + and + not test {\ifnameundef{translator}} + } + {\usebibmacro{bbx:dashcheck} + {\bibnamedash} + {\printnames{translator}% + \setunit{\addspace}% + \usebibmacro{bbx:savehash}}% + \usebibmacro{#1}% + \clearname{translator}% + \setunit{\addspace}}% + {\global\undef\bbx@lasthash}} +\xpatchbibmacro{translatorstrg}% + {\bibstring}% + {\bibstring[\mkbibparens]}{}{}% +\xpatchbibmacro{translator+othersstrg}% + {\bibstring}% + {\bibstring[\mkbibparens]}{}{}% +\renewbibmacro*{bybookauthor}{% + \ifnamesequal{author}{bookauthor}% + {\bibstring{idem\thefield{gender}}}% + {\printnames{bookauthor}}} +\newbibmacro*{bookeditor}{% + \global\undef\bbx@lasthash + \ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + }{% + \ifnamesequal{author}{editor}{% + \bibstring{idem\thefield{gender}}% + \setunit{\addspace}% + \usebibmacro{editor+othersstrg}% + \clearname{editor}% + }{% + \printnames[bookeditor]{editor}% + \setunit*{\addspace}% + \usebibmacro{editor+othersstrg}% + \clearname{editor}% + }% + }{}} +\newbibmacro*{byserieseditor}{% + \ifnameundef{serieseditor} + {} + {\usebibmacro{bytypestrg}{serieseditor}{serieseditor}% + \setunit{\addspace}% + \printnames[byeditor]{serieseditor}% + \newunit}} + +\renewbibmacro*{title}{% + \ifboolexpr{ + test {\iffieldundef{title}} + and + test {\iffieldundef{subtitle}} + } + {} + {\printtext[title]{% + \printfield[titlecase]{title}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{subtitle}}% + \setunit{\addspace}}% + \usebibmacro{origtitle}% + \setunit*{\addspace}% + \printfield{titleaddon}% + \iffieldequalstr{relatedtype}{equals}{% + \iftoggle{bbx:related}{% + \usebibmacro{related:init}% + \usebibmacro{related}% + \clearfield{related}% + }{}% + }{}% +} +\DeclareFieldFormat{titleaddon}{\mkbibbrackets{#1}} +\DeclareFieldFormat{origtitle}{\mkbibemph{#1}} +\newbibmacro*{origtitle}{% + \iffieldundef{origtitle}{}{% + \iflistundef{language}{% + \printtext[parens]{\printfield{origtitle}}% + }{% + \printtext[brackets]{% + \printlist{language}\space + \bibstring{translationof}\space + \printfield{origtitle}}}}} +\newcommand{\blx@ox@compyear}[2]{% + \def\num@one{#1}% + \def\num@two{#2}% + \StrLen{\num@one}[\num@one@len]% + \StrLen{\num@two}[\num@two@len]% + \IfEq{\num@one@len}{\num@two@len}% + {\StrCompare{\num@one}{\num@two}[\Result]% + \ifnum\num@two@len>3% + \IfStrEq{\Result}{2}{\def\Result{1}}{}% + \fi + \StrGobbleLeft{0\num@two}{\Result}}% + {\num@two}% +} +\patchcmd{\mkdaterangetrunc}{% + \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% +}{% + \iffieldundef{#2endmonth}% + {\blx@ox@compyear{\thefield{#2year}}{\thefield{#2endyear}}}% + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% +}{}{} +\patchcmd{\mkdaterangetruncextra}{% + \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% +}{% + \iffieldundef{#2endmonth}% + {\blx@ox@compyear{\thefield{#2year}}{\thefield{#2endyear}}}% + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% +}{}{} +\DeclareFieldFormat{datetype}{% + \ifbibstring{#1}{\bibstring{#1}}{#1\isdot}% +} +\newtoggle{blx@ox@timefirst} +\DeclareBibliographyOption{timefirst}[true]{% + \settoggle{blx@ox@timefirst}{#1}} +\DeclareEntryOption{timefirst}[true]{% + \settoggle{blx@ox@timefirst}{#1}} +\newbibmacro*{date+time}{% + \ifboolexpr{ + test {\iffieldundef{year}} + and + test {\iffieldundef{month}} + and + test {\iffieldundef{hour}} + }{}{% + \printfield{datetype}}% + \setunit*{\addspace}% + \iftoggle{blx@ox@timefirst}{% + \printtime + \setunit*{\addcomma\space}}{}% + \printdate + \iftoggle{blx@ox@timefirst}{}{% + \setunit*{\addcomma\space}% + \printtime}% +} +\renewbibmacro*{date}{\usebibmacro{date+time}} +\DeclareFieldFormat{origdatetype}{% + \ifbibstring{#1}{\bibstring{#1}}{#1\isdot}% +} +\newbibmacro*{origdate+time}[1][]{% + \ifboolexpr{ + test {\iffieldundef{origyear}} + and + test {\iffieldundef{origmonth}} + and + test {\iffieldundef{orighour}} + }{}{% + \ifstrempty{#1}{% + \printfield{origdatetype}% + }{% + \iffieldundef{origdatetype}% + {\bibstring{#1}}% + {\printfield{origdatetype}}}}% + \setunit*{\addspace}% + \iftoggle{blx@ox@timefirst}{% + \printorigtime + \setunit*{\addcomma\space}}{}% + \printorigdate + \iftoggle{blx@ox@timefirst}{}{% + \setunit*{\addcomma\space}% + \printorigtime}% +} +\xpatchfieldformat{edition}{% + #1\isdot +}{% + \ifbibstring{#1}{\bibstring{#1}}{#1\isdot}% +}{}{} +\DeclareFieldFormat{pages}{% + \iffieldundef{bookpagination}% + {\mkcomprange{#1}}% + {\mkcomprange[{\mkpageprefix[bookpagination]}]{#1}}% +} +\DeclareFieldFormat{postnote}{% + \iffieldundef{pagination}% + {\mkcomprange{#1}}% + {\mkcomprange[{\mkpageprefix}]{#1}}% +} + +\DeclareBibliographyOption{nopublisher}[true]{% + \DeclareFieldInputHandler{publisher}{\def\NewValue{}}% +} +\DeclareBibliographyOption{nolocation}[true]{% + \DeclareStyleSourcemap{ + \maps[datatype=bibtex]{ + \map{ + \pertype{book} + \pertype{mvbook} + \pertype{bookinbook} + \pertype{inbook} + \pertype{suppbook} + \pertype{collection} + \pertype{mvcollection} + \pertype{incollection} + \pertype{suppcollection} + \pertype{reference} + \pertype{mvreference} + \pertype{inreference} + \pertype{proceedings} + \pertype{mvproceedings} + \pertype{inproceedings} + \step[notfield=location, fieldset=location, fieldvalue={\noexpand\bibstring{nolocation}}] + } + } + }% +} +\newtoggle{blx@ox@noloc} +\def\blx@ox@noloc{{\bibstring{nolocation}}} +\DeclareEntryOption{nolocation}[true]{% + \settoggle{blx@ox@noloc}{#1}% + \iflistundef{location}{% + \iftoggle{blx@ox@noloc}{\restorelist{location}{\blx@ox@noloc}}{}% + }{}} +\DeclareBibliographyOption{isourls}[true]{% + \ifstrequal{#1}{true} + {\DeclareFieldFormat{url}{$\langle$\url{##1}$\rangle$}} + {\DeclareFieldFormat{url}{\url{##1}}}% +} +\ExecuteBibliographyOptions{isourls=false} +\renewcommand*{\biburlsetup}{% + \Urlmuskip=0mu plus 2mu\relax + \mathchardef\UrlBigBreakPenalty=100\relax + \mathchardef\UrlBreakPenalty=200\relax + \def\UrlBigBreaks{\do\/\do\:}% + \def\UrlNoBreaks{\do\(\do\[\do\{\do\<}% + \def\UrlBreaks{% + \do\>\do\}\do\]\do\)\do\\\do\|% + \do\'\do\$\do\*\do\^\do\"}% + \appto\UrlSpecials{% + \do\!{\mathbin{}\mskip-\Urlmuskip\mathchar`\!\mskip\Urlmuskip}% + \do\&{\mathbin{}\mskip-\Urlmuskip\mathchar`\&\mskip\Urlmuskip}% + \do\+{\mathbin{}\mskip-\Urlmuskip\mathchar`\+\mskip\Urlmuskip}% + \do\,{\mathbin{}\mskip-\Urlmuskip\mathchar`\,\mskip\Urlmuskip}% + \do\-{\mathbin{}\mskip-\Urlmuskip\mathchar`\-\mskip\Urlmuskip}% + \do\.{\mathbin{}\mskip-\Urlmuskip\mathchar`\.\mskip\Urlmuskip}% + \do\;{\mathbin{}\mskip-\Urlmuskip\mathchar`\;\mskip\Urlmuskip}% + \do\={\mathbin{}\mskip-\Urlmuskip\mathchar`\=\mskip\Urlmuskip}% + \do\?{\mathbin{}\mskip-\Urlmuskip\mathchar`\?\mskip\Urlmuskip}% + \do\_{\mathbin{}\mskip-\Urlmuskip\_\mskip\Urlmuskip}% + \do\@{\mathbin{}\mskip-\Urlmuskip\@\mskip\Urlmuskip}% + \do\#{\mathbin{}\mskip-\Urlmuskip\#\mskip\Urlmuskip}% + }% + \ifnumgreater{\value{biburlnumpenalty}}{0} + {\def\do##1{\appto\UrlSpecials{\do##1{\mathchar`##1 \penalty\value{biburlnumpenalty}}}}% + \do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9\do\0} + {}% + \ifnumgreater{\value{biburlucpenalty}}{0} + {\def\do##1{\appto\UrlSpecials{\do##1{\mathchar`##1 \penalty\value{biburlucpenalty}}}}% + \do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J + \do\K\do\L\do\M\do\N\do\O\do\P\do\Q\do\R\do\S\do\T + \do\U\do\V\do\W\do\X\do\Y\do\Z} + {}% + \ifnumgreater{\value{biburllcpenalty}}{0} + {\def\do##1{\appto\UrlSpecials{\do##1{\mathchar`##1 \penalty\value{biburllcpenalty}}}}% + \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j + \do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t + \do\u\do\v\do\w\do\x\do\y\do\z} + {}% + \let\do=\noexpand} +\DeclareFieldFormat{urldate}{\bibstring{urlseen}\space#1} +\xpatchbibmacro{url+urldate}% + {\setunit*{\addspace}}% + {\setunit*{\addcomma\addspace}}{}{} +\xpatchfieldformat{doi}% + {\mkbibacro{DOI}}% + {\printtext{doi}}{}{} +\xpatchbibmacro{doi+eprint+url}% + {\printfield{doi}}% + {\setunit{\addperiod\space}\printfield{doi}}{}{} + +\renewbibmacro*{addendum+pubstate}{% + \ifboolexpr{ + test {\iffieldundef{pubstate}} + or + test {\iffieldequalstr{labeldatesource}{pubstate}} + }{}{% + \nopunct + \ifbibstring{\thefield{pubstate}}{% + \printtext[pubstate]{\bibstring{\thefield{pubstate}}}% + }{% + \printfield{pubstate}}}% + \setunit{\addsemicolon\addspace}\newblock + \printfield{addendum}} +\DeclareFieldFormat{pubstate}{\mkbibparens{#1}} +\DeclareFieldFormat{howpublished}{\mkbibbrackets{#1}} +\DeclareFieldFormat[misc,unpublished]{howpublished}{#1} +\DeclareFieldFormat[article,periodical,review]{entrysubtype}{\mkbibbrackets{#1}} +\newcommand*{\ifabbrev}[3]{% + \StrRight{#1}{1}[\blx@ox@lastchar]% + \IfSubStr{AÂBCÇDEFGĞHIİÎJKLMNOÖÔPQRSŞTUÜÛVWXYZ.}{\blx@ox@lastchar}{#2}{#3}} +\renewbibmacro*{journal+issuetitle}{% + \ifboolexpr{ + test {\iffieldundef{title}} + and + not test {\iffieldundef{issuetitle}} + }{% + \usebibmacro{issue}% + \setunit{\addspace =\addspace}% + }{% + \ifboolexpr{ + ( not test {\iffieldundef{pubstate}} ) + and + test {\ifbibxstring{\thefield{pubstate}in}} + }{% + \printtext{\bibstring{\thefield{pubstate}in}\space}% + \clearfield{pubstate}% + }{}}% + \usebibmacro{journal}% + \iffieldundef{journalsubtitle}{% + \ifabbrev{\thefield{journaltitle}}{\setunit{\addspace}}{\newunit}% + }{% + \ifabbrev{\thefield{journalsubtitle}}{\setunit{\addspace}}{\newunit}}% + \iffieldundef{series}{}{% + \newunit\newblock + \printfield{series}% + \ifbibxstring{\thefield{series}}{% + \setunit{\addspace}% + }{% + \newunit}}% + \usebibmacro{volume+number+eid}% + \setunit{\addspace}% + \usebibmacro{issue+date}% + \newunit} +\renewbibmacro*{title+issuetitle}{% + \usebibmacro{periodical}% + \iffieldundef{subtitle}{% + \ifabbrev{\thefield{title}}{\setunit{\addspace}}{\newunit}% + }{% + \ifabbrev{\thefield{subtitle}}{\setunit{\addspace}}{\newunit}}% + \iffieldundef{series}{}{% + \newunit\newblock + \printfield{series}% + \ifbibxstring{\thefield{series}}{% + \setunit{\addspace}% + }{% + \newunit}}% + \usebibmacro{volume+number+eid}% + \setunit{\addspace}% + \usebibmacro{issue+date}% + \newunit} +\DeclareBibliographyOption{issuestyle}[slash]{% + \ifcsdef{blx@ox@issuestyle@#1}{% + \csuse{blx@ox@issuestyle@#1}% + }{% + \PackageError{biblatex} + {Invalid option 'issuestyle=#1'} + {Valid values are 'slash', 'colon', 'comma', 'parens'}% + }% +} +\csdef{blx@ox@issuestyle@slash}{% + \renewbibmacro*{volume+number+eid}{% + \printfield{volume}% + \setunit*{\addslash}% + \printfield{number}% + }% +} +\csdef{blx@ox@issuestyle@colon}{% + \renewbibmacro*{volume+number+eid}{% + \printfield{volume}% + \setunit*{\addcolon\space}% + \printfield{number}% + }% +} +\csdef{blx@ox@issuestyle@comma}{% + \renewbibmacro*{volume+number+eid}{% + \printfield{volume}% + \setunit*{\addcomma\space}% + \printfield{number}% + }% +} +\csdef{blx@ox@issuestyle@parens}{% + \renewbibmacro*{volume+number+eid}{% + \printfield{volume}% + \setunit*{\addspace}% + \printfield[parens]{number}% + }% +} +\ExecuteBibliographyOptions{issuestyle=slash} +\newtoggle{blx@ox@varissuedate} +\DeclareBibliographyOption[boolean]{varissuedate}[true]{% + \settoggle{blx@ox@varissuedate}{#1}} +\DeclareEntryOption[boolean]{varissuedate}[true]{% + \settoggle{blx@ox@varissuedate}{#1}} +\renewbibmacro*{issue+date}{% + \ifboolexpr{ + test {\iffieldundef{issue}} + and + test {\iffieldundef{year}} + and + test {\iffieldundef{month}} + }{}{% + \ifboolexpr{ + togl {blx@ox@varissuedate} + and + test {\iffieldundef{volume}} + and + test {\iffieldundef{number}} + }{% + \newunit + \printtext{% + \iffieldundef{issue}{% + \usebibmacro{date} + }{% + \printfield{issue}% + \setunit*{\addspace}% + \usebibmacro{date}}}% + }{% + \printtext[parens]{% + \iffieldundef{issue}{% + \usebibmacro{date}% + }{% + \printfield{issue}% + \setunit*{\addspace}% + \usebibmacro{date}}}}}% + \newunit + \printfield{eid}% +} +\DeclareBibliographyDriver{article}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{bytranslator+others}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \usebibmacro{journal+issuetitle}% + \newunit + \usebibmacro{byeditor+others}% + \iffieldequalstr{relatedtype}{suppto}{% + \setunit{\addsemicolon\space}% + \iftoggle{bbx:related}{% + \usebibmacro{related:init}% + \usebibmacro{related}% + \clearfield{related}% + }{}% + }{}% + \newunit + \usebibmacro{note+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{issn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\DeclareBibliographyDriver{periodical}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{editor}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title+issuetitle}% + \newunit\newblock + \usebibmacro{byeditor}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{issn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\ExecuteBibliographyOptions[book,mvbook,reference,mvreference]{useeditor=false,usetranslator=false} +\DeclareFieldFormat[bookinbook]{citetitle}{% + \ifboolexpr{ + test {\iffieldequalstr{entrysubtype}{poem}} + or + test {\iffieldequalstr{entrysubtype}{play}} + }{% + \mkbibemph{#1}% + }{% + \mkbibquote{#1\isdot}}} +\DeclareFieldFormat[bookinbook]{title}{% + \ifboolexpr{ + test {\iffieldequalstr{entrysubtype}{poem}} + or + test {\iffieldequalstr{entrysubtype}{play}} + }{% + \mkbibemph{#1}% + }{% + \mkbibquote{#1\isdot}}} +\DeclareFieldFormat[inreference]{title}{\mkbibquote{#1\isdot}} +\DeclareFieldFormat[book,mvbook,bookinbook,inbook,suppbook,% +collection,mvcollection,incollection,suppcollection,% +proceedings,mvproceedings,inproceedings,% +reference,mvreference,inreference]{volume}{% +\IfSubStr{#1}{-}{% + \StrCount{#1}{-}[\blx@ox@dashnum]% + \StrBefore{#1}{-}[\blx@ox@volnum]% + \Rn{\blx@ox@volnum}\bibrangedash + \StrBehind[\blx@ox@dashnum]{#1}{-}[\blx@ox@volnum]% + \Rn{\blx@ox@volnum}% +}{% + \Rn{#1}}} +\newbibmacro*{maintitle+volume}{% + \ifboolexpr{ + test {\iffieldundef{maintitle}} + or + test {\iffieldundef{volume}} + }{}% + {\printtext[maintitle+volume]{% + \bibstring{volume}\addspace + \printfield{volume}\printfield{part}\addspace + \bibstring{ofseries}\addspace + \usebibmacro{maintitle}}} +} +\DeclareFieldFormat{maintitle+volume}{\mkbibbrackets{#1}} +\renewbibmacro*{in:}{% + \iffieldequalstr{entrysubtype}{yearbook}{}{% + \printtext{\bibstring{in}\intitlepunct}}} +\DeclareFieldFormat{publication}{\mkbibparens{#1}} +\renewbibmacro*{series+number}{% + \printfield{series}% + \setunit*{\addcomma\space}% + \usebibmacro{byserieseditor}% + \setunit*{\addcomma\space}% + \printfield{number}} +\newcounter{locpubpairs} +\newbibmacro*{edition+publisher+location+date}{% + \printlist{origlocation}% + \iflistundef{origpublisher}% + {\setunit*{\addcomma\space}}% + {\setunit*{\addcolon\space}}% + \printlist{origpublisher}% + \setunit*{\addcomma\space}% + \ifboolexpr{ + test {\iflistundef{origlocation}} + and + test {\iflistundef{origpublisher}} + and + test {\iffieldundef{edition}} + }{}{% + \printorigdate}% + \setunit{\addsemicolon\space}% + \printfield{edition}% + \setunit*{\addcomma\space}% + \ifboolexpr{% + test {\ifnumcomp{\value{publisher}}{>}{1}} + and + test {\ifnumequal{\value{location}}{\value{publisher}}} + }{% + \setcounter{locpubpairs}{0}% + \savebibmacro{list:andothers}% + \renewbibmacro*{list:andothers}{}% + \whileboolexpr{% + test {\ifnumcomp{\value{locpubpairs}}{<}{\value{publisher}}} + }{% + \stepcounter{locpubpairs}% + \ifnumcomp{\value{locpubpairs}}{>}{1}{% + \ifnumequal{\value{publisher}}{2}{% + \setunit*{\addspace\bibstring{and}\addspace}% + }{% + \ifnumequal{\value{locpubpairs}}{\value{publisher}}{% + \setunit*{\addcomma\space\bibstring{and}\addspace}% + }{% + \setunit*{\addcomma\space}% + }% + }% + }{}% + \printlist[][\value{locpubpairs}-\value{locpubpairs}]{location}% + \setunit*{\addcolon\space}% + \printlist[][\value{locpubpairs}-\value{locpubpairs}]{publisher}% + }% + \restorebibmacro{list:andothers}% + }{% + \printlist{location}% + \iflistundef{publisher}% + {\setunit*{\addcomma\space}}% + {\setunit*{\addcolon\space}}% + \printlist{publisher}% + }% + \setunit*{\addcomma\space}% + \usebibmacro{date}% +} +\newbibmacro*{series+number+edition+publisher+location+date}{% + \ifboolexpr{ + test {\iffieldundef{series}} + and + test {\iffieldundef{number}} + and + test {\iffieldundef{edition}} + and + test {\iflistundef{publisher}} + and + test {\iflistundef{location}} + and + test {\iffieldundef{year}} + and + test {\iffieldundef{month}} + }{}{% + \nopunct + \printtext[publication]{% + \usebibmacro{series+number}% + \setunit{\addsemicolon\addspace}% + \usebibmacro{edition+publisher+location+date}% + \usebibmacro{copub}}}% + \iffieldequalstr{relatedtype}{copub}{\clearfield{related}}% + \setunit{\addspace}\newblock + \usebibmacro{origpub}% +} +\newbibmacro*{series+number+publisher+location+date}{% + \ifboolexpr{ + test {\iffieldundef{series}} + and + test {\iffieldundef{number}} + and + test {\iflistundef{publisher}} + and + test {\iflistundef{location}} + and + test {\iffieldundef{year}} + and + test {\iffieldundef{month}} + }{}{% + \nopunct + \printtext[publication]{% + \usebibmacro{series+number}% + \setunit{\addsemicolon\addspace}% + \usebibmacro{publisher+location+date}% + \usebibmacro{copub}}}% + \iffieldequalstr{relatedtype}{copub}{\clearfield{related}}% + \setunit{\addspace}\newblock + \usebibmacro{origpub}% +} +\newbibmacro*{copub}{% + \ifboolexpr{ + togl {bbx:related} + and + test {\iffieldequalstr{relatedtype}{copub}} + }{% + \setunit{\addsemicolon\space}% + \usebibmacro{related:init}% + \usebibmacro{related}% + }{}% +} +\newbibmacro*{origpub}{% + \ifboolexpr{ + test {\iflistundef{origlocation}} + and + test {\iflistundef{origpublisher}} + and + test {\iffieldundef{edition}} + and + ( not test {\iffieldundef{origyear}} ) + }{% + \printtext[parens]{\bibstring{origpubin}\space\printorigdate}% + }{}% +} +\DeclareBibliographyDriver{book}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{maintitle+volume}% + \newunit + \usebibmacro{series+number+edition+publisher+location+date}% + \setunit{\addspace}% + \printfield{howpublished}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\DeclareBibliographyDriver{mvbook}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{maintitle+title}% + \newunit + \ifboolexpr{ + test {\iffieldequalstr{relatedtype}{multivolume}} + or + ( not test {\iffieldundef{maintitle}} ) + }{}{% + \printfield{volume}% + \printfield{part}}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{volumes}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \ifboolexpr{ + test {\iffieldequalstr{relatedtype}{multivolume}} + and + test {\iffieldundef{maintitle}} + }{% + \printfield{volume}% + \printfield{part}% + }{}% + \newunit\newblock + \usebibmacro{series+number+edition+publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\DeclareBibliographyDriver{inbook}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{bybookauthor}% + \newunit\newblock + \usebibmacro{maintitle+booktitle}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{volumes}% + \newunit\newblock + \printfield{note}% + \newunit\newblock% + \usebibmacro{series+number+edition+publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\DeclareFieldFormat[suppbook]{title}{#1\nopunct} +\DeclareBibliographyDriver{bookinbook}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{bybookauthor}% + \newunit\newblock + \usebibmacro{maintitle+booktitle}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{volumes}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{series+number+publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\DeclareBibliographyDriver{collection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{editor+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{maintitle+volume}% + \newunit + \usebibmacro{series+number+edition+publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\DeclareBibliographyDriver{mvcollection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{editor+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{maintitle+title}% + \newunit + \ifboolexpr{ + test {\iffieldequalstr{relatedtype}{multivolume}} + or + ( not test {\iffieldundef{maintitle}} ) + }{}{% + \printfield{volume}% + \printfield{part}}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{volumes}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \ifboolexpr{ + test {\iffieldequalstr{relatedtype}{multivolume}} + and + test {\iffieldundef{maintitle}} + }{% + \printfield{volume}% + \printfield{part}% + }{}% + \newunit\newblock + \usebibmacro{series+number+edition+publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\DeclareBibliographyDriver{incollection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{bookeditor}% + \newunit\newblock + \usebibmacro{maintitle+booktitle}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit\newblock + \printfield{volumes}% + \newunit\newblock + \printfield{note}% + \newunit\newblock% + \usebibmacro{series+number+edition+publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\DeclareBibliographyDriver{reference}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \printfield{edition}% + \newunit + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{maintitle+volume}% + \newunit + \usebibmacro{series+number+publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\DeclareBibliographyDriver{mvreference}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{maintitle+title}% + \newunit + \ifboolexpr{ + test {\iffieldequalstr{relatedtype}{multivolume}} + or + ( not test {\iffieldundef{maintitle}} ) + }{}{% + \printfield{volume}% + \printfield{part}}% + \newunit\newblock + \printfield{edition}% + \newunit + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{volumes}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \ifboolexpr{ + test {\iffieldequalstr{relatedtype}{multivolume}} + and + test {\iffieldundef{maintitle}} + }{% + \printfield{volume}% + \printfield{part}% + }{}% + \newunit\newblock + \usebibmacro{series+number+publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\DeclareBibliographyDriver{inreference}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \iffieldundef{editor}{}{% + \usebibmacro{in:}% + \usebibmacro{bookeditor}% + \newunit\newblock}% + \usebibmacro{maintitle+booktitle}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit\newblock + \printfield{edition}% + \newunit + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{volumes}% + \newunit\newblock + \printfield{note}% + \newunit\newblock% + \usebibmacro{series+number+publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\ExecuteBibliographyOptions[proceedings,mvproceedings]{useeditor=false,usetranslator=false} +\renewbibmacro*{event+venue+date}{% + \printfield{eventtitle}% + \newunit + \printfield{eventtitleaddon}% + \ifboolexpr{ + test {\iffieldundef{venue}} + and + test {\iffieldundef{eventyear}} + }{}{% + \iffieldundef{eventtitle}{% + \setunit{\mkbibemph{\addcomma}\space}% + }{% + \newunit}% + \printfield{venue}% + \newunit% + \printeventdate}% + \newunit} +\DeclareBibliographyDriver{proceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \newunit + \usebibmacro{maintitle+title}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit\newblock + \usebibmacro{event+venue+date}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{volumes}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit + \usebibmacro{series+number+edition+publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\DeclareBibliographyDriver{inproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{maintitle+booktitle}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit\newblock + \usebibmacro{event+venue+date}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{volumes}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit + \usebibmacro{series+number+publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\newbibmacro*{series+type+number}{% + \ifboolexpr{ + test {\iffieldundef{series}} + and + test {\iffieldundef{type}} + }{}{% + \printfield{series}% + \newunit + \ifboolexpr{% + test {\iffieldundef{type}} + and + not test {\iffieldundef{number}} + }{% + \bibcpstring{number} + }{% + \printfield{type}% + }% + \setunit*{\addspace}% + \printfield{number}}} +\renewbibmacro*{institution+location+date}{% + \ifboolexpr{ + test {\iffieldundef{type}} + and + test {\iffieldundef{series}} + and + test {\iffieldundef{number}} + and + test {\iflistundef{institution}} + and + test {\iflistundef{location}} + and + test {\iffieldundef{year}} + and + test {\iffieldundef{month}} + }{}{% + \nopunct + \printtext[publication]{% + \ifboolexpr{ + test {\iffieldundef{series}} + and + test {\iffieldundef{type}} + }{% + \printfield{number}% + \setunit*{\addcomma\space}% + }{}% + \printlist{location}% + \iflistundef{institution}% + {\setunit*{\addcomma\space}}% + {\setunit*{\addcolon\space}}% + \printlist{institution}% + \setunit*{\addcomma\space}% + \usebibmacro{date}}}} +\newtoggle{blx@ox@altthesis} +\DeclareBibliographyOption[boolean]{altthesis}[true]{% + \settoggle{blx@ox@altthesis}{#1} +} +\newbibmacro*{type+institution+location+date}{% + \iftoggle{blx@ox@altthesis}{% + \ifboolexpr{ + test {\iffieldundef{type}} + and + test {\iflistundef{institution}} + and + test {\iflistundef{location}} + and + test {\iffieldundef{year}} + and + test {\iffieldundef{month}} + }{}{% + \nopunct + \printtext[publication]{% + \printfield{type}% + \setunit*{\addcomma\space}% + \printlist{location}% + \iflistundef{institution}{% + \setunit*{\addcomma\space}% + }{% + \setunit*{\addcolon\space}}% + \printlist{institution}% + \setunit*{\addcomma\space}% + \usebibmacro{date}}} + }{% + \printfield{type}% + \newunit + \usebibmacro{institution+location+date}}} +\newbibmacro*{type+series+number+edition+organization+publisher+location+date}{% + \ifboolexpr{ + test {\iffieldundef{type}} + and + test {\iffieldundef{series}} + and + test {\iffieldundef{number}} + and + test {\iffieldundef{edition}} + and + test {\iflistundef{organization}} + and + test {\iflistundef{publisher}} + and + test {\iflistundef{location}} + and + test {\iffieldundef{year}} + and + test {\iffieldundef{month}} + }{}{% + \nopunct + \printtext[publication]{% + \usebibmacro{series+type+number}% + \setunit{\addsemicolon\space}% + \printfield{edition}% + \setunit*{\addcomma\space}% + \iflistundef{publisher}{}{% + \printlist{organization}% + \setunit*{\addcomma\space}}% + \printlist{location}% + \iflistundef{publisher}{% + \iflistundef{organization}{% + \setunit*{\addcomma\space}% + }{% + \setunit*{\addcolon\space}% + \printlist{organization}}% + }{% + \setunit*{\addcolon\space}% + \printlist{publisher}}% + \setunit*{\addcomma\space}% + \usebibmacro{date}}}} +\newcommand*{\legreport}{legal} +\DeclareBibliographyDriver{report}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{maintitle+title}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{series+type+number}% + \setunit{\addspace}% + \usebibmacro{institution+location+date}% + \iffieldequals{entrysubtype}{\legreport}{% + \setunit{\addspace}\nopunct + }{% + \newunit\newblock}% + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isrn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\xpatchbibdriver{thesis}{% + \printfield{type}% + \newunit + \usebibmacro{institution+location+date}% +}{% + \usebibmacro{type+institution+location+date}% +}{}{} +\DeclareBibliographyDriver{manual}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor}% + \newunit\newblock + \printfield{type}% + \newunit + \printfield{version}% + \newunit + \printfield{note}% + \newunit\newblock + \usebibmacro{type+series+number+edition+organization+publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\newbibmacro*{publisher+type+series+number+date}{% + \iffieldundef{number}{}{% + \setunit{\addcomma\space}% + \usebibmacro{origdate+time}[recorded]% + }% + \ifboolexpr{% + test {\iflistundef{origpublisher}} + and + test {\iflistundef{location}} + and + test {\iflistundef{publisher}} + and + test {\iffieldundef{type}} + and + test {\iffieldundef{series}} + and + test {\iffieldundef{number}} + and + test {\iffieldundef{year}} + and + test {\iffieldundef{month}} + and + test {\iffieldundef{eventyear}} + and + test {\iffieldundef{eventmonth}} + and + test {\iffieldundef{hour}} + }{}{% + \nopunct + \printtext[publication]{% + \printlist{origpublisher}% + \setunit*{\addsemicolon\space}% + \printlist{location}% + \iflistundef{publisher}% + {\setunit*{\addcomma\space}}% + {\setunit*{\addcolon\space}}% + \printlist{publisher}% + \iffieldundef{series}% + {\setunit*{\addspace}}% + {\setunit*{\recordseriespunct}}% + \printfield{series}% + \setunit*{\addcomma\space}% + \printfield{type}% + \iflistundef{publisher}% + {\setunit*{\addcomma\space}}% + {\setunit*{\addspace}}% + \printfield{number}% + \iffieldundef{number}{% + \setunit{\addcomma\space}% + \usebibmacro{origdate+time}[recorded]% + }{}% + \setunit{\addcomma\space}% + \usebibmacro{date+time}}}} +\newtoggle{blx@ox@endeditor} +\DeclareEntryOption[boolean]{endeditor}[true]{% + \settoggle{blx@ox@endeditor}{#1}} +\newbibmacro*{pre-byeditor+others}{% + \iftoggle{blx@ox@endeditor}{}{% + \usebibmacro{byeditor+others}% + }} +\newbibmacro*{post-byeditor+others}{% + \iftoggle{blx@ox@endeditor}{% + \usebibmacro{byeditor+others}% + }{}} +\DeclareBibliographyDriver{audio}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \usebibmacro{maintitle}% + \iffieldequalstr{relatedtype}{includes}{% + \iftoggle{bbx:related}{% + \newunit\newblock + \usebibmacro{related:init}% + \usebibmacro{related}% + \clearfield{related}% + }{}% + }{}% + \setunit{\addspace} + \usebibmacro{onlinetype}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{pre-byeditor+others}% + \newunit\newblock + \printfield{volumes}% + \newunit\newblock + \printfield{note}% + \newunit\newblock% + \printlist{organization}% + \newunit\newblock% + \usebibmacro{publisher+type+series+number+date}% + \setunit{\addspace}% + \printfield{howpublished}% + \newunit\newblock + \usebibmacro{post-byeditor+others}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\DeclareBibliographyAlias{music}{audio} +\DeclareBibliographyAlias{movie}{audio} +\DeclareBibliographyAlias{video}{audio} +\DeclareBibliographyDriver{inaudio}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{bybookauthor}% + \newunit\newblock + \usebibmacro{maintitle+booktitle}% + \iffieldequalstr{relatedtype}{includes}{% + \iftoggle{bbx:related}{% + \newunit\newblock + \usebibmacro{related:init}% + \usebibmacro{related}% + \clearfield{related}% + }{}% + }{}% + \setunit{\addspace} + \usebibmacro{onlinetype}% + \newunit\newblock + \usebibmacro{pre-byeditor+others}% + \newunit\newblock + \printfield{volumes}% + \newunit\newblock + \printfield{note}% + \newunit\newblock% + \printlist{organization}% + \newunit\newblock% + \usebibmacro{publisher+type+series+number+date}% + \setunit{\addspace}% + \printfield{howpublished}% + \newunit\newblock + \usebibmacro{post-byeditor+others}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\DeclareBibliographyAlias{inmusic}{inaudio} +\DeclareBibliographyAlias{inmovie}{inaudio} +\DeclareBibliographyAlias{invideo}{inaudio} +\DeclareDataInheritance{audio,music,movie,video}{inaudio,inmusic,inmovie,invideo}{% + \inherit{title}{booktitle} + \inherit{subtitle}{booksubtitle} + \inherit{titleaddon}{booktitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} +\DeclareFieldFormat[audio,music]{title}{% + \def\currentfield{title}% + \iffieldannotation{descriptor}{#1}{% + \iffieldequalstr{entrysubtype}{podcast}{% + \mkbibquote{#1\isdot}% + }{% + \mkbibemph{#1}}}% + \undef\currentfield} +\DeclareFieldFormat[movie,video]{title}{% + \def\currentfield{title}% + \iffieldannotation{descriptor}{#1}{% + \ifboolexpr{ + test {\iffieldequalstr{entrysubtype}{episode}} + or + test {\iffieldequalstr{entrysubtype}{clip}} + or + test {\iffieldequalstr{entrysubtype}{webcast}} + }{% + \mkbibquote{#1\isdot}% + }{% + \mkbibemph{#1}}}% + \undef\currentfield} +\DeclareFieldFormat[inaudio,inmusic,inmovie,invideo]{title}{% + \def\currentfield{title}% + \iffieldannotation{descriptor}{#1}{% + \mkbibquote{#1\isdot}% + }% + \undef\currentfield} +\DeclareFieldFormat[inaudio,inmusic]{booktitle}{% + \def\currentfield{booktitle}% + \iffieldannotation{descriptor}{#1}{% + \iffieldequalstr{entrysubtype}{podcast}{% + \mkbibquote{#1\isdot}% + }{% + \mkbibemph{#1}}}% + \undef\currentfield} +\DeclareFieldFormat[inmovie,invideo]{booktitle}{% + \def\currentfield{booktitle}% + \iffieldannotation{descriptor}{#1}{% + \ifboolexpr{ + test {\iffieldequalstr{entrysubtype}{episode}} + or + test {\iffieldequalstr{entrysubtype}{clip}} + or + test {\iffieldequalstr{entrysubtype}{webcast}} + }{% + \mkbibquote{#1\isdot}% + }{% + \mkbibemph{#1}}}% + \undef\currentfield} + +\DeclareBibliographyAlias{image}{online} +\DeclareFieldFormat[image]{title}{\mkbibquote{#1\isdot}} + +\DeclareFieldFormat[online]{title}{% + \def\currentfield{title}% + \iffieldannotation{descriptor}{#1}{\mkbibquote{#1\isdot}}% + \undef\currentfield} + +\newbibmacro*{onlinetype}{% + \ifboolexpr{ + test {\iffieldundef{url}} + or + test {\iffieldundef{entrysubtype}} + }{}{% + \ifbibxstring{\thefield{entrysubtype}}{% + \printtext[brackets]{\bibstring{\thefield{entrysubtype}}}% + }{}}} +\DeclareBibliographyDriver{online}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \usebibmacro{maintitle} + \setunit{\addspace}% + \usebibmacro{onlinetype}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{version}% + \newunit + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \iffieldundef{year}{}{% + \setunit{\addspace}\newblock + \printtext[parens]{\usebibmacro{date+time}}% + }% + \newunit\newblock + \printlist{publisher}% + \newunit\newblock + \iftoggle{bbx:eprint} + {\usebibmacro{eprint}} + {}% + \newunit\newblock + \usebibmacro{url+urldate}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\newbibmacro*{title+version}{% + \ifboolexpr{ + test {\iffieldundef{title}} + and + test {\iffieldundef{subtitle}} + } + {} + {\printtext[title]{% + \printfield[titlecase]{title}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{subtitle}}% + \setunit{\addspace}}% + \printfield{version}% + \setunit{\addspace}% + \printfield{titleaddon}% +} +\DeclareFieldFormat[software]{version}{\mkbibparens{\bibstring{version}~#1}} +\DeclareFieldFormat[software]{urldate}{\bibstring{urldown}\space#1} +\DeclareBibliographyDriver{software}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title+version}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor}% + \newunit\newblock + \printfield{type}% + \newunit + \printfield{note}% + \newunit\newblock + \usebibmacro{type+series+number+edition+organization+publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\DeclareBibliographyAlias{dataset}{manual} +\newtoggle{bbx:scotstyle} +\DeclareEntryOption{scottish-style}[true]{% + \settoggle{bbx:scotstyle}{#1}} +\newboolean{bbx@year-essential}\setboolean{bbx@year-essential}{false} +\DeclareEntryOption{year-essential}[true]{% + \setboolean{bbx@year-essential}{#1}} +\newboolean{bbx@paryear-essential}\setboolean{bbx@paryear-essential}{false} +\DeclareEntryOption{paryear-essential}[true]{% + \setboolean{bbx@paryear-essential}{#1}} +\newtoggle{blx@ox@nopostnotedelim} +\newtoggle{bbx:altcourt} +\DeclareBibliographyOption{court-plain}[true]{% + \settoggle{bbx:altcourt}{#1}} +\DeclareEntryOption{court-plain}[true]{% + \settoggle{bbx:altcourt}{#1}} +\newtoggle{bbx@ecliuse} +\newtoggle{bbx@eclionly} +\DeclareBibliographyOption{ecli}[yes]{% + \ifstrequal{#1}{no}{% + \global\togglefalse{bbx@ecliuse}% + \global\togglefalse{bbx@eclionly}% + }{% + \global\toggletrue{bbx@ecliuse}% + \ifstrequal{#1}{only}{% + \global\toggletrue{bbx@eclionly}% + }{}}} +\DeclareFieldFormat{casenotetitle}{\mkbibquote{\mkbibemph{#1}}} +\DeclareFieldFormat[jurisdiction,legislation,legal]{journaltitle}{#1} +\DeclareFieldFormat[jurisdiction]{volume}{#1} +\DeclareFieldFormat[jurisdiction]{titleaddon}{\mkbibparens{#1}} +\DeclareFieldFormat{romanvol}{\RN{#1}} +\DeclareListFormat[jurisdiction]{listb}{} +\DeclareFieldFormat{usseries}{\ifinteger{#1}{\mkusbibordinal{#1}}{#1}} +\DeclareFieldFormat{verba}{#1} + +\DeclareListFormat{echrinst}{% + \ifboolexpr{% + test {\ifnumequal{\value{listtotal}}{1}} + or + test {\ifnumequal{\value{listcount}}{\value{listtotal}}} + }{% + \ifboolexpr{ + test {\ifdefstring{\Commission}{#1}} + or + test {\ifdefstring{\commission}{#1}}% + }{% + \bibstring{commissiondecision}% + }{#1}% + }{% + \setcounter{blx@tmpcnt}{\value{listcount}}% + \addtocounter{blx@tmpcnt}{1}% + \ifnumequal{\value{blx@tmpcnt}}{\value{listtotal}}{% + #1\space\bibstring{and}\addspace + }{% + #1\addcomma\space}}}% + +\newcommand*{\commission}{commission} +\newcommand*{\Commission}{Commission} +\DeclareListFormat{ecthr}{% + \ifboolexpr{ + test {\ifdefstring{\Commission}{#1}} + or + test {\ifdefstring{\commission}{#1}} + }{\bibstring[\mkbibparens]{commissiondecision}\toggletrue{blx@ox@nopostnotedelim}}{}} + +\newcommand*{\pcijrep}{PCIJ Rep} +\DeclareFieldFormat{international}{% + \iffieldequals{journaltitle}{\pcijrep}{% + \bibcplstring{jourser}\space #1% + }{#1}} + +\DeclareListFormat{checkcontains}{% + \bbx@check{#1}} +\newtoggle{bbx@institutiontoggle} +\newcommand\iflistcontains[2]{% + \global\togglefalse{bbx@institutiontoggle}% + \def\bbx@check##1{% + \ifdefstring{#2}{##1}{\global\toggletrue{bbx@institutiontoggle}}{}}% + \printlist[checkcontains]{#1}% + \iftoggle{bbx@institutiontoggle}} + +\DeclareFieldFormat{draftleg}{% + \StrBefore{#1}{ Bill}} + +\DeclareListFormat{billprinting}{% + \ifstrequal{#1}{HC}{% + \mkbibbrackets{\strfield{number}}% + \toggletrue{blx@ox@nopostnotedelim}% + }{% + \strfield{number}% + \togglefalse{blx@ox@nopostnotedelim}}} + +\newcommand*{\treatypartysep}{\allowbreak ---\allowbreak} +\DeclareListFormat{treaty}{% + \ifmoreitems{}{% + \ifnumequal{\value{listcount}}{1}{% + \bibopenparen + }{}% + \ifnumgreater{\value{liststop}}{\value{listcount}}{% + #1\treatypartysep + }{% + #1\bibcloseparen}}} + +\def\siganddate#1{% + \def\bbx@tempa{#1}% + \expandafter\bbx@signeddatei#1/relax} +\def\bbx@signeddatei#1=#2/relax{% + \def\bbx@tempa{#2-}% + \bibstring{#1}\space\expandafter\makebbx@datei\bbx@tempa} +\def\makebbx@datei#1-#2-#3-{% + \makebbx@dateii{#1}{#2}{#3}} +\def\makebbx@dateii#1#2#3{% + \blx@imc@stripzeros{#3}~\mkbibmonth{#2}% + \space + #1} +\DeclareListFormat{treatydates}{% + \ifnumequal{\value{listcount}}{1}{% + \siganddate{#1}% + }{% + \addcomma\space\siganddate{#1}}} + +\newrobustcmd*{\mkrawpageprefix}[1][none]{% + \begingroup + \def\blx@tempa{\blx@mkpageprefix@i}% + \ifstrequal{#1}{none}{}{% + \ifbibstring{#1}{% + \def\blx@tempa{\blx@mkpageprefix{#1}}% + }{% + \blx@warning@entry{Unknown pagination type '#1'}}}% + \@ifnextchar[%] + {\blx@tempa} + {\blx@tempa[\@firstofone]}} + +\newcommand*\paragraphmarkings{[]} +\DeclareFieldFormat[jurisdiction,legislation,legal]{postnote}{% + \iffieldundef{pagination}{% + \ifboolexpr{ + test {\ifkeyword{eu}} + or + test {\ifkeyword{echr}} + }{% + \mkcomprange[{\mkrawpageprefix[paragraph]}]{#1}% + }{% + \mkcomprange{#1}}% + }{% + \iffieldequals{pagination}{\paragraphmarkings}{% + \mkcomprange[\mkbibbrackets]{#1}% + }{% + \mkcomprange[{\mkpageprefix[pagination]}]{#1}}}} +\renewbibmacro*{shorthandintro}{% + \iffieldundef{shorthandintro} + {\iffieldundef{shorthand} + {} + {\setunit{\addspace}% + \printtext[parens]{% + \ifboolexpr{ + test {\ifentrytype{jurisdiction}} + or + test {\ifentrytype{legal}} + or + test {\ifentrytype{legislation}} + }{}{% + \bibstring{citedas}\space}% + \printfield{shorthand}}}} + {\setunit{\addspace}% + \printtext[parens]{\printfield{shorthandintro}}}} + +\newbibmacro*{issue/volume}{% + \iffieldundef{volume}% + {\iffieldundef{issue}% + {}% + {\printfield{issue}}}% + {\printfield[default]{volume}}} +\newcommand*{\subtypenewsp}{newspaper} +\newbibmacro*{year+vol+report}[1][default]{% + \iffieldequals{entrysubtype}{\subtypenewsp}{% + \setunit{\addcomma\space}% + }{% + \usebibmacro{journaldate}% + \setunit{\addspace}% + \printfield[parens]{origyear}% + \setunit{\addspace}% + \printfield{volume}% + \setunit{\addspace}}% + \printfield{journaltitle}% + \setunit*{\addspace}% + \iffieldundef{series}{}{% + \setunit{\addspace}% + \printfield[#1]{series}% + \setunit{\addspace}}% + \iffieldequals{entrysubtype}{\subtypenewsp}{% + \setunit{\addcomma\space}% + \printdate% + }{}} +\newbibmacro*{journaldate}[1][]{% + \ifboolexpr{ + test {\iffieldundef{#1volume}} + or + bool {bbx@#1year-essential} + }{% + \ifboolexpr{ + test {\ifkeyword{sc}} + or + test {\iftoggle{bbx:scotstyle}} + }{% + \setunit{\addcomma\space}% + \printfield{#1year}% + }{% + \printfield[brackets]{#1year}}% + }{% + \printfield[parens]{#1year}}} +\newcommand*{\casenote}{casenote} +\newcommand{\casenotetext}{\bibstring{casenote}} +\newbibmacro{journaltitle}{% + \iffieldequals{entrysubtype}{\casenote}{% + \iffieldundef{crossref}{% + \usebibmacro{title}% + }{% + \iffieldundef{note}{% + \restorefield{note}{\casenotetext}% + }{}% + \ifboolexpr{ + test {\iffootnote} + and test {\iftoggle{bbx@samefootnote}} + and test {\iffieldequals{crossref}{\blx@lastkey@foot}}% + }{}{\printfield[casenotetitle]{title}}}% + }{% + \usebibmacro{title}}} +\newbibmacro*{unreported}[1][default]{% + \iffieldundef{verba}{% + \ifboolexpr{ + test {\iflistundef{institution}} + and + test {\iffieldundef{date}} + and + test {\iffieldundef{year}} + }{}{% + \ifboolexpr{ + test {\iffieldundef{date}} + and + test {\iffieldundef{year}} + }{% + \mkbibparens{\printlist[jurisdiction]{institution}}% + }{% + \toggletrue{blx@ox@nopostnotedelim}% + \iflistundef{institution}{% + \mkbibparens{\usebibmacro{date}}% + }{% + \printtext[parens]{% + \printlist[#1]{institution}% + \setunit{\addcomma\space} + \usebibmacro{date}}}}}% + }{% + \iftoggle{bbx@ecliuse}{}{% + \printfield{verba}}}} +\newbibmacro{court-note}{% + \iffieldundef{note}% + {}% + {\printfield{note}% + \toggletrue{blx@ox@nopostnotedelim}}} +\newbibmacro*{jurisdictionpages}{% + \iffieldequals{entrysubtype}{\subtypenewsp}{}{% + \setunit{\addspace}% + \printfield{pages}}} +\newbibmacro{pcitenote}{% + \iffieldundef{userc}{}{% parreporter + \setunit{\addcomma\space}% + \iffieldundef{postnote}{}{% + \printfield{postnote}% + \clearfield{postnote}% + \setunit{\addsemicolon\space}}}} +\newbibmacro*{courtid}{% + \iffieldundef{number}{% + \ifboolexpr{ + test {\iflistundef{institution}} + and + test {\iffieldundef{location}}% + }{% + \togglefalse{blx@ox@nopostnotedelim}% + }{% + \ifboolexpr{% + test {\iffieldundef{journaltitle}} + or + not togl {bbx:altcourt} + }{% + \printtext[parens]{% + \printfield{location}% + \setunit{\addspace}% + \printlist{institution}% + \usebibmacro{unrep:date}}% + \toggletrue{blx@ox@nopostnotedelim} + }{% + \setunit{\addcomma\space}% + \printfield{location}% + \setunit*{\addspace}% + \printlist{institution}}}% + }{% + \togglefalse{blx@ox@nopostnotedelim}}} +\newbibmacro*{unrep:date}{% + \ifboolexpr{ + test {\iffieldundef{journaltitle}}% + and + test {\iffieldundef{number}}% + }{% + \setunit{\addcomma\space}% + \usebibmacro{date}% + }{}} + +\DeclareBibliographyDriver{jurisdiction}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{juriscitation}% + \usebibmacro{doi+eprint+url}% + \setunit{\addspace}%\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\addspace}%\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\newtoggle{bbx@juriscitedone} +\newbibmacro{juriscitation}{% + \togglefalse{bbx@juriscitedone}% + \renewcommand{\do}[1]{% + \ifkeyword{##1}{% + \toggletrue{bbx@juriscitedone}\usebibmacro{##1juriscitation}% + \listbreak + }{}}% + \docsvlist{eu,echr,int,ca,us}% + \iftoggle{bbx@juriscitedone}{}{\usebibmacro{enjuriscitation}}% +} +\newbibmacro*{eujuriscitation}{% + \iflistcontains{institution}{\commission}{}{% + \usebibmacro{eucasenumber}}% + \usebibmacro{title}% + \setunit{\addspace}% + \iflistcontains{institution}{\commission}{% + \usebibmacro{eucommissiondecision}}{}% + \setunit{\addspace}% + \usebibmacro{eu:reportinfo}% + \iflistcontains{institution}{\commission}{% + \setunit{\addcomma\space}% + }{% + \setunit{\addspace}}% + \usebibmacro{court-note}% +} +\newbibmacro{eucasenumber}{% + \iffieldundef{type}{% + \ifboolexpr{ + test {\IfSubStr{\thefield{number}}{,}} + or + test {\IfSubStr{\thefield{number}}{--}} + or + test {\IfSubStr{\thefield{number}}{ and }} + }{% + \bibstring{eujoinedcases}% + }{% + \bibstring{eucase}}% + }{% + \printfield{type}}% + \setunit{\addnbspace}% + \printfield{number}% + \setunit{\addspace}} +\newbibmacro{eucommissiondecision}{% + \iffieldundef{userb}{}{% + \printfield[parens]{userb}}% + \setunit{\addspace}% + \iffieldundef{number}{}{% + \iffieldundef{type}{% + \setunit{\addspace\bibstring{commissiondecision}\addspace}% + }{% + \setunit{\addspace\printfield{type}\addspace}}% + \printfield{number}}} +\newbibmacro*{eu:reportinfo}{% + \iftoggle{bbx@eclionly}{% + \iffieldundef{verba}{% + \usebibmacro{eu:osreport} + }{% + \printfield{verba}}% + }{% + \usebibmacro{eu:osreport}}} +\newbibmacro*{eu:osreport}{% + \iftoggle{bbx@ecliuse}{% + \iffieldundef{verba}{}{% + \printfield{verba}% + \setunit{\addcomma\space}}% + }{}% + \iffieldundef{journaltitle}{% + \usebibmacro{unreported}% + }{% + \usebibmacro{eu:year+vol+report}}} +\newcommand*\officialjournaltitle{OJ} +\newcommand*\ecrreporttitle{ECR} +\newbibmacro*{eu:year+vol+report}{% + \iffieldequals{journaltitle}{\ecrreporttitle}{% + \printfield[brackets]{year}% + \setunit{\addspace}% + \printfield{journaltitle}% + \setunit{\addspace}% + \printfield{volume}% + \setunit*{\printtext{--\allowbreak}}% + \printfield{pages}% + }{% + \iffieldequals{journaltitle}{\officialjournaltitle}{% + \printfield[brackets]{year}% + \setunit{\addspace}% + \printfield{journaltitle}% + \setunit{\addspace}% + \printfield[default]{series}% + \usebibmacro{issue/volume}% + \setunit{\printtext{\slash}}% + \printfield{pages}% + }{% + \usebibmacro{year+vol+report}}}} + +\newbibmacro*{echrjuriscitation}{% + \usebibmacro{title}% + \setunit{\addspace}\newblock + \iffieldundef{number}{}{% + \printtext[parens]{% + \def\adddot{}% + \bibstring{application}\space + \bibstring{number}\space + \printfield{number}}% + \setunit{\addspace}\newblock}% + \iffieldundef{journaltitle}{% + \usebibmacro{unreported}[echrinst]% + }{% + \usebibmacro{echr:year+vol+report} + \setunit{\addspace}\newblock + \usebibmacro{echr:courtid}}% + \setunit{\addspace}% + \usebibmacro{court-note}% + \newblock + \setunit{\addspace}} +\newcommand*{\seriesa}{Series A} +\newcommand*{\echrreports}{ECHR} +\newbibmacro*{echr:year+vol+report}{% + \iffieldequals{journaltitle}{\seriesa}{% + \usebibmacro{seriesareport}% + }{% + \iffieldequals{journaltitle}{\echrreports}{% + \usebibmacro{echrreports}% + }{% + \usebibmacro{year+vol+report} + \setunit{\addspace}% + \printfield{pages}}}} +\newbibmacro*{seriesareport}{% + \printfield[parens]{year}% + \setunit{\addspace}% + \printfield{journaltitle}% + \setunit{\addspace}% + \printtext{\def\adddot{}\bibstring{number}\addspace}% + \printfield{pages}} +\newbibmacro*{echrreports}{% + \printfield{journaltitle}% + \setunit{\addspace}% + \printfield{year}% + \iffieldundef{volume}{}{% + \printtext{--}\printfield[romanvol]{volume}} + \setunit{\addspace}% + \printfield{pages}} +\newcommand*{\decisionsandreports}{DR} +\newcommand*{\collectionofdecisions}{CD} +\newbibmacro*{echr:courtid}{% + \ifboolexpr{ + test {\iffieldequals{journaltitle}{\decisionsandreports}} + or + test {\iffieldequals{journaltitle}{\collectionofdecisions}}% + }{}{% + \printlist[ecthr]{institution}}} + +\newbibmacro*{intjuriscitation}{% + \iflistundef{institution}{% + \setunit{}\printtext{}% + }{% + \printlist{institution}% + \setunit{\addcomma\space}}% + \usebibmacro{int:title}% + \setunit{\addspace}\newblock + \iffieldundef{journaltitle}{% + \printfield{number}% + \setunit{\addspace}\newblock + \printtext[parens]{\printdate}% + }{% + \usebibmacro{year+vol+report}[international]% + }% + \setunit{\addspace}% + \usebibmacro{int:jurisdictionpages}% + \setunit{\addspace}\newblock + \usebibmacro{court-note}% +} +\newbibmacro*{int:title}{% + \ifboolexpr{ + test {\iffieldundef{title}} + and + test {\iffieldundef{subtitle}} + }{}{% + \printtext[title]{% + \printfield[titlecase]{title}% + \setunit{\addspace}% + \printfield[parens]{subtitle}}}% + \setunit{\addspace}% + \printfield{titleaddon}% +} +\newbibmacro*{int:jurisdictionpages}{% + \iffieldequals{journaltitle}{\pcijrep}{% + \printtext{\bibcpstring{number}\addspace}% + \iffieldundef{pages}{% + \printfield{number}% + }{% + \printfield{pages}}% + }{% + \printfield{pages}}} + +\newbibmacro{canjuriscitation}{% + \usebibmacro{title}% + \setunit{\addspace}\newblock + \printfield{number}% + \setunit{\addcomma\space}% + \iffieldundef{journaltitle}{}{% + \usebibmacro{can:year+vol+report}}% + \usebibmacro{jurisdictionpages}% + \usebibmacro{pcitenote}% + \usebibmacro{altreportdetails}% + \unspace\printlist[jurisdiction][1-\value{listtotal}]{listb}% + \newunit\newblock + \usebibmacro{courtid}% + \newunit% + \usebibmacro{court-note}% + \newblock% + \newunit} +\newbibmacro*{can:year+vol+report}{% + \iffieldundef{number}{% + \setunit{\addspace}% + }{% + \ifboolexpr{ + test {\iffieldundef{volume}} + or + bool {bbx@year-essential}% + }{}{% + \clearfield{year}}}% + \iffieldequals{entrysubtype}{\subtypenewsp}{}{% + \iffieldundef{year}{}{% + \usebibmacro{journaldate}% + \setunit{\addspace}}} + \printfield{volume}% + \setunit{\addspace}% + \printfield{journaltitle}% + \setunit*{\addspace}% + \iffieldundef{series}{}{% + \setunit{\addspace}% + \printtext[parens]{\printfield[usseries]{series}}% + \setunit{\addspace}}% + \iffieldequals{entrysubtype}{\subtypenewsp}{% + \setunit{\addcomma\space}% + \usebibmacro{newspaperdate}% + }{}} +\newbibmacro{usjuriscitation}{% + \usebibmacro{title}% + \setunit{\addcomma\space}\newblock% + \iffieldundef{journaltitle}{% + \printfield{number}% + \setunit{\addcomma\space}% + \printfield[default]{eprint}% + \clearfield{eprint}% + }{ + \usebibmacro{us:vol+report}}% + \setunit{\addspace}% + \usebibmacro{jurisdictionpages}% + \usebibmacro{us:postnote}% + \usebibmacro{altreportdetails}% + \setunit{\addspace}\newblock + \unspace\printlist[jurisdiction][1-\value{listtotal}]{listb}% + \setunit{\addspace}% + \usebibmacro{us:courtid+date}% + \setunit{\addspace}% + \usebibmacro{court-note}% + \newblock + \setunit{\addspace}} +\newbibmacro{us:vol+report}{% + \printfield{volume}% + \setunit{\addspace}% + \printfield{journaltitle}% + \iffieldundef{series}{}{% + \setunit{\addspace}% + \printfield[usseries]{series}}} +\newbibmacro{us:postnote}{% + \iffieldundef{postnote}{}{% + \setunit{\addcomma\space}% + \printfield{postnote}% + \clearfield{postnote}% + }} +\newbibmacro{us:courtid+date}{% + \ifboolexpr{ + test {\iflistundef{institution}} + and + test {\iflistundef{location}} + and + test {\iffieldundef{year}} + }{}{% + \printtext[parens]{% + \printlist{location}% + \setunit*{\addspace}% + \printlist{institution}% + \setunit{\addspace}% + \printfield{year}% + \nopunct}}} + +\newbibmacro{enjuriscitation}{% + \usebibmacro{title}% + \setunit{\addspace}\newblock + \printfield{number}% + \setunit*{\addcomma\space}% + \iffieldundef{journaltitle}{}{% + \usebibmacro{year+vol+report}}% + \usebibmacro{jurisdictionpages}% + \usebibmacro{pcitenote}% + \usebibmacro{altreportdetails}% + \unspace\printlist[jurisdiction][1-\value{listtotal}]{listb}% additionalreports + \setunit{\addspace}\newblock + \usebibmacro{courtid}% + \setunit{\addspace}% + \usebibmacro{court-note}} +\newbibmacro{altreportdetails}{% + \restorefield{prenote}{\postnotesecond}% + \iffieldundef{userc}{}{% parreporter + \usebibmacro{journaldate}[par]% + \setunit{\addspace}\newblock + \usebibmacro{altreportvolume}% + \setunit{\addspace}\newblock + \usebibmacro{altjournaltitle}% + \setunit{\addspace}\newblock + \usebibmacro{altseries}% + \setunit{\addspace}\newblock + \usebibmacro{altjurisdictionpages}% + \iffieldundef{prenote}{}{% + \setunit{\addcomma\space}% + \printfield[postnote]{prenote}}}} +\newbibmacro*{altreportvolume}{% + \iffieldundef{userb}{% parvolume + \printfield{volume}% + }{% + \printfield{userb}}} +\newbibmacro*{altjournaltitle}{% + \iffieldundef{userc}{% parreporter + \printfield{journaltitle}% + \setunit{\addspace}% + }{ + \printfield{userc}}} +\newbibmacro*{altseries}{% + \iffieldundef{userd}{% parseries + \printfield{series}% + }{% + \printfield{userd}}} +\newbibmacro*{altjurisdictionpages}{% + \iffieldundef{usere}{% parpages + \usebibmacro{jurisdictionpages}% + }{% + \printfield{usere}}}% + +\newcommand*{\subtypecourtrules}{procedure-rule} +\DeclareBibliographyDriver{legislation}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \iffieldequals{entrysubtype}{\subtypecourtrules}{% + \usebibmacro{courtrules}% + }{% + \ifkeyword{draft}{% + \usebibmacro{legislation:bill}% + }{% + \ifkeyword{eu}{% + \usebibmacro{eulegislation}% + }{% + \printfield[default]{title}% + \setunit{\addspace}% + \printfield[default]{year}% + \setunit*{\addspace}% + \usebibmacro{legnumber}% + \setunit{\addspace}\newblock + \usebibmacro{legsupp}}}}% + \setunit{\addcomma\space}% + \printfield{note}% + \setunit{\addspace}% + \usebibmacro{finentry}} +\newbibmacro*{courtrules}{% + \restorefield{prenote}{\postnotesecond}% + \iffieldequalstr{shorttitle}{PD}{% + \printfield{postnote}% + \clearfield{postnote}% + \setunit{\addspace}% + }{}% + \iffieldundef{shorttitle}{% + \printfield[default]{title}% + }{% + \printfield[default]{shorttitle}}% + \setunit{\addspace}\newblock + \iffieldundef{postnote}{% + \toggletrue{blx@ox@nopostnotedelim}% + }{% + \iffieldequalstr{shorttitle}{CPR}{% + \printfield{postnote}% + \setunit{\addspace}% + }{% + \printtext{% + \bibstring{order}\space + \printfield{postnote}% + \setunit{\addcomma\space}}}}% + \restorefield{postnote}{\postnotesecond}% + \usebibmacro{postnote}% + \clearfield{postnote}% + \setunit{\addspace}\newblock} +\newcommand*{\subtypeprimarylegislation}{primary} +\newbibmacro*{legislation:bill}{% + \printfield[draftleg]{title}% + \setunit{\addspace}% + \printlist{institution}% + \setunit*{\addspace}% + \iffieldequals{entrysubtype}{\subtypeprimarylegislation}{% + \bibcpstring{bill}% + \setunit{\addspace}% + \printtext[parens]{\usebibmacro{sessionyear}}% + \setunit{\addspace}% + \iffieldundef{number}{}{% + \printlist[billprinting]{institution}}% + }{% + \printtext[parens]{% + \bibstring{draft}\space + \printdate}} + \setunit{\addspace}} +\newbibmacro*{sessionyear}{% + \iffieldundef{year}{}{% + \printfield{year}% + \iffieldundef{endyear}{}{% + \bibdaterangesep + \blx@ox@compyear{\thefield{year}}{\thefield{endyear}}}}} +\newbibmacro{eulegislation}{% + \printfield[default]{title}% + \setunit{\addspace}\newblock% + \usebibmacro{eulegref}} +\newcommand*{\ojspecedtitle}{OJ Spec Ed} +\newbibmacro*{eulegref}{% + \iffieldequals{journaltitle}{\officialjournaltitle}{% + \printfield[brackets]{year}% + \setunit{\addspace}% + \printfield{journaltitle}% + \setunit{\addspace}% + \iffieldundef{series}{% + \printtext{L}% + }{% + \printfield[default]{series}}% + \usebibmacro{issue/volume}% + \setunit*{\addslash}% + \printfield{pages}% + \togglefalse{blx@ox@nopostnotedelim}% + }{% + \usebibmacro{year+vol+report}% + \setunit*{\addspace}% + \printfield{pages}}} +\newbibmacro*{legnumber}{% + \iffieldequals{entrysubtype}{\subtypeprimarylegislation}{% + \ifboolexpr{( + test {\iffieldundef{number}} + or + not test {\iffieldundef{title}} ) + and not ( + test {\ifkeyword{cy}} + or + test {\ifkeyword{sc}} + or + test {\ifkeyword{ni}} ) + }{}{% + \printtext[parens]{\printfield{number}}% + \toggletrue{blx@ox@nopostnotedelim}}% + }{% + \iffieldundef{number}{}{% + \setunit{\addcomma\addspace}% + \printfield{number}% + \togglefalse{blx@ox@nopostnotedelim}}}} +\newbibmacro*{legsupp}{% + \ifkeyword{cy} + {\iffieldundef{userb} + {} + {\printtext{\mkbibparens{\printfield{userb}}}\toggletrue{blx@ox@nopostnotedelim}}} + {}} + +\newcommand*{\explanatorynote}{explanatory note} +\newcommand*{\parliamentarytype}{parliamentary} +\newcommand*{\treatysubtype}{piltreaty} +\DeclareBibliographyDriver{legal}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \iffieldequals{entrysubtype}{\explanatorynote}{% + \printfield[default]{title}% + \setunit{\addspace}\newblock + }{% + \iffieldequals{entrysubtype}{\parliamentarytype}{% + \usebibmacro{legal:parliamentary}% + }{% + \usebibmacro{treatycitation}}}% + \setunit{\addcomma\space}\newblock + \printfield[default]{note} + \setunit{\addspace}\newblock + \setunit{\bibpagerefpunct}% + \usebibmacro{pageref}% + \usebibmacro{finentry}} +\newbibmacro{legal:parliamentary}{% + \printfield[default]{title}% + \newunit\newblock + \printfield{type}% + \setunit{\addspace}% + \iffieldundef{series}{}{% + \printtext[parens]{% + \biblstring{jourser}\space + \printfield{series}}}% + \setunit{\addspace}% + \printfield{volume}% + \setunit{\addcomma\space}% + \usebibmacro{hansard-ref}% + \setunit{\addspace}% + \iffieldundef{year}{}{% + \printtext[parens]{\usebibmacro{date}}}% + \togglefalse{blx@ox@nopostnotedelim}} +\newbibmacro*{hansard-ref}{% + \iffieldundef{postnote}{% + \iffieldundef{pages}{}{% + \printfield{pages}}% + }{}}% +\newbibmacro{treatycitation}{% + \printfield[default]{title}% + \setunit{\addspace}\newblock% + \printlist[treaty]{institution} + \setunit{\addspace}\newblock + \usebibmacro{treatyinfo}% + \setunit{\addspace}\newblock + \usebibmacro{treaty:year+vol+report}} +\newbibmacro{treatyinfo}{% + \iflistundef{lista}{% execution + \iffieldundef{year}{}{% + \iffieldundef{volume}{}{% + \printtext[parens]{\printdate}}}% + }{% + \printtext[parens]{\printlist[treatydates]{lista}}}} +\newbibmacro{treaty:year+vol+report}{% + \iffieldequals{journaltitle}{\officialjournaltitle}{% + \usebibmacro{eulegref}% + }{% + \usebibmacro{treaty:date}% + \setunit{\addspace}% + \printfield[default]{volume}% + \setunit{\addspace}% + \printfield{journaltitle}% + \setunit*{\addspace}% + \iffieldundef{series}{}{% + \setunit{\addspace}% + \printfield{series}% + \setunit{\addspace}}% + \printfield{pages}}}% +\newbibmacro*{treaty:date}{% + \ifboolexpr{ + test {\iffieldundef{volume}} + or + bool {bbx@year-essential} + }{% + \ifboolexpr{ + test {\ifkeyword{sc}} + or + test {\iftoggle{bbx:scotstyle}} + }{% + \printfield{year}% + }{% + \printfield[brackets]{year}% + }}{}} + +\DeclareBibliographyAlias{commentary}{book} +\newcommand{\locationlibrarypunct}{\addcomma\addspace} +\newcommand{\collectionshelfmarkpunct}{\addspace} +\newcommand{\datingpagespunct}{\addcomma\addspace} +\newcommand{\librarycollectionpunct}{\addcomma\addspace} +\newcommand{\pagetotalpagespunct}{\addcomma\addspace} +\newcommand{\columnslayerpunct}{\addsemicolon\addspace}% +\def\recto{r} +\def\verso{v} +\NumCheckSetup{\def\recto{r}\def\verso{v}} +\DeclareNumChars*{rv} +\DeclareFieldFormat[manuscript,unpublished]{title}{% + \def\currentfield{title}% + \iffieldannotation{descriptor}{#1}{\mkbibquote{#1\isdot}}% + \undef\currentfield} +\DeclareFieldFormat{columns+layer}{\mkbibparens{#1}} +\DeclareFieldFormat{columns}{\mkbibparens{#1}} +\DeclareFieldFormat{layer}{\mkbibparens{#1}} +\DeclareFieldFormat{dating}{#1\isdot}% +\DeclareFieldFormat{support}{\ifbibstring{#1}{\bibstring{#1}}{#1}} +\newbibmacro{manuscript:date}{% + \ifboolexpr{ + test {\ifnameundef{author}} + and + test {\iffieldundef{title}} + }{}{\usebibmacro{date}}} +\newbibmacro{dating}{% + \ifboolexpr{( + test {\ifnameundef{author}} + and + test {\iffieldundef{title}} + ) or + test {\iffieldundef{year}} + }{% + \printfield{dating}% + }{}} +\newbibmacro{location+library+collection+shelfmark}{% + \printfield{library}% + \setunit{\locationlibrarypunct}% + \printlist{location}% + \setunit{\librarycollectionpunct}% + \usebibmacro{collection+shelfmark}} +\newbibmacro{collection+shelfmark}{% + \ifboolexpr{ + test {\iffieldundef{collection}} + and + test {\iffieldundef{shelfmark}} + }{}{% + \printtext[collection+shelfmark]{% + \printfield{collection}% + \setunit*{\collectionshelfmarkpunct}% + \printfield{shelfmark}}}} +\newbibmacro{manuscript:pages}{% + \printfield{pagetotal}% + \setunit{\addspace}% + \iffieldundef{pages}{% + \usebibmacro{manuscript:columns+layer}% + }{% + \usebibmacro{manuscript:columns}% + \setunit{\pagetotalpagespunct}% + \printfield{pages}% + \setunit{\addspace}% + \usebibmacro{manuscript:layer}}} +\newbibmacro{manuscript:columns}{% + \iffieldundef{columns}{}{% + \printtext[columns]{\bibstring{\strfield{columns}column}}}% +}% +\newbibmacro{manuscript:layer}{% + \iffieldundef{layer}{}{% + \printtext[layer]{\bibstring{\strfield{layer}layer}}}% +}% +\newbibmacro{manuscript:columns+layer}{% + \ifboolexpr{ + test {\iffieldundef{columns}} + or + test{\iffieldundef{layer}} + }{% + \usebibmacro{manuscript:columns}% + \usebibmacro{manuscript:layer}% + }{% + \printtext[columns+layer]{% + \bibstring{\strfield{columns}column}% + \setunit*{\columnslayerpunct}% + \bibstring{\strfield{layer}layer}}}}% +\DeclareBibliographyDriver{manuscript}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{manuscript:date}% + \newunit\newblock + \usebibmacro{location+library+collection+shelfmark}% + \newunit + \printfield{support}% + \newunit + \usebibmacro{dating}% + \setunit{\datingpagespunct} + \usebibmacro{manuscript:pages} + \newunit\newblock% + \iftoggle{bbx:url}{% + \usebibmacro{url+urldate}% + }{}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related}{% + \usebibmacro{related:init}% + \usebibmacro{related}% + }{}% + \usebibmacro{finentry}} +\newbibmacro*{library+location+series+number}{% + \printfield{library}% + \setunit{\locationlibrarypunct}% + \printlist{location}% + \setunit{\librarycollectionpunct}% + \ifboolexpr{ + test {\iffieldundef{series}} + and + test {\iffieldundef{number}} + }{}{% + \printtext[collection+shelfmark]{% + \printfield{series}% + \setunit*{\collectionshelfmarkpunct}% + \printfield{number}}}} +\newtoggle{blx@ox@ms} +\DeclareBibliographyDriver{unpublished}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \iffieldundef{library}{\togglefalse{blx@ox@ms}}{\toggletrue{blx@ox@ms}}% + \usebibmacro{author}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \iftoggle{blx@ox@ms}{% + \usebibmacro{manuscript:date}% + \newunit\newblock + \usebibmacro{library+location+series+number}% + \newunit + \printfield{support}% + \newunit + \usebibmacro{dating}% + \setunit{\datingpagespunct} + \usebibmacro{manuscript:pages} + }{% + \usebibmacro{location+date}% + }% + \newunit\newblock + \iftoggle{bbx:url} + {\usebibmacro{url+urldate}} + {}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\xpatchbibdriver{booklet}{% + \newunit\newblock + \iftoggle{bbx:related} +}{% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} +}{}{} +\xpatchbibdriver{misc}{% + \newunit\newblock + \iftoggle{bbx:related} +}{% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} +}{}{} +\xpatchbibdriver{patent}{% + \newunit\newblock + \iftoggle{bbx:related} +}{% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} +}{}{} +\DeclareBibliographyOption{relationpunct}[semicolon]{% + \ifcsdef{add#1}{% + \ifstrequal{#1}{space}{% + \renewcommand*{\relatedtypepunct}{\addspace}% + }{% + \renewcommand*{\relatedtypepunct}{\csuse{add#1}\space}}% + }{% + \PackageError{biblatex-oxref}{% + Invalid option 'relationpunct=#1'% + }{% + Valid values are 'dot', 'comma', 'semicolon', 'colon',\MessageBreak + 'period', 'exclam', 'question', and 'space'.}}} +\newtoggle{blx@ox@relpunctset} +\DeclareEntryOption{relationpunct}[semicolon]{% + \ifcsdef{add#1}{% + \ifstrequal{#1}{space}{% + \renewcommand*{\relatedtypepunct}{\addspace}% + }{% + \renewcommand*{\relatedtypepunct}{\csuse{add#1}\space}}% + \toggletrue{blx@ox@relpunctset} + }{% + \PackageError{biblatex-oxref}{% + Invalid option 'relationpunct=#1'% + }{% + Valid values are 'dot', 'comma', 'semicolon', 'colon',\MessageBreak + 'period', 'exclam', 'question', and 'space'.}}} +\newcounter{blx@ox@relitem} +\xapptobibmacro{begrelated}{% + \setcounter{blx@ox@relitem}{0}% + \iftoggle{blx@ox@relpunctset}{}{% + \iffieldequalstr{relatedtype}{in}{% + \setunit{\addcomma\space}}{}% + \iffieldequalstr{relatedtype}{reprintfrom}{% + \setunit{\addperiod\space}}{}% + \iffieldequalstr{relatedtype}{translationof}{% + \setunit{\addspace}}{}% + \iffieldequalstr{relatedtype}{multivolume}{% + \setunit{\addcomma\space}}{}% + }}{}{} + +\newbibmacro*{rellanguage}{% + \def\do##1{% + \entrydata{##1}{% + \printlist{language}}}% + \docsvfield{related}% +} +\DeclareFieldFormat{relatedstring:translationof}{% + \usebibmacro{rellanguage}\space + \bibstring{original}\addcomma\space} + +\DeclareFieldFormat{related:translationof}{% + \mkbibbrackets{#1}} +\newbibmacro*{related:copub}[1]{% + \entrydata*{#1}{% + \usebibmacro{publisher+location+date}% + \setunit{\relateddelim}}} +\renewbibmacro*{related:reprintfrom}[1]{% + \entrydata*{#1}{% + \nopunct + \usedriver{% + \ifnameundef{savedauthor}{% + \ifnameundef{savededitor}{}{% + \ifnamesequal{editor}{savededitor}{% + \clearname{editor}% + }{}}% + }{% + \ifnamesequal{author}{savedauthor}{% + \clearname{author}% + }{}}% + \iffieldundef{savedtitle}{}{% + \iffieldsequal{savedtitle}{title}{% + \clearfield{title}% + }{}}% + \renewbibmacro*{related:init}{}% + \DeclareNameAlias{sortname}{default}% + \ifbibmacroundef{date+extrayear}{}{% + \renewbibmacro*{date+extrayear}{}% + \renewbibmacro*{date}{\printdate}}% + \renewbibmacro*{pageref}{}% + }{% + \thefield{entrytype}}}} +\newbibmacro*{related:serialarticle}[1]{% + \entrydata*{#1}{% + \iffieldundef{savedjournaltitle}{}{% + \iffieldsequal{journaltitle}{savedjournaltitle}{% + \clearfield{journaltitle}% + }{}}% + \iffieldundef{savedjournalsubtitle}{}{% + \iffieldsequal{journalsubtitle}{savedjournalsubtitle}{% + \clearfield{journalsubtitle}% + }{}}% + \iffieldundef{savedseries}{}{% + \iffieldsequal{series}{savedseries}{% + \clearfield{series}% + }{}}% + \iffieldundef{savedyear}{\clearfield{year}}{ + \iffieldsequal{year}{savedyear}{% + \clearfield{year}% + }{}}% + \usebibmacro{journal+issuetitle}% + \newunit + \usebibmacro{note+pages}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}}} +\DeclareFieldFormat[review]{title}{\mkbibquote{#1\isdot}} +\DeclareFieldFormat[review]{volume}{#1}% volume of a journal +\DeclareFieldFormat[review]{number}{#1}% number of a journal +\DeclareFieldFormat[review]{series}{% series of a journal + \ifinteger{#1} + {\mkbibordseries{#1}~\bibstring{jourser}} + {\ifbibstring{#1}{\bibstring{#1}}{#1}}} +\newbibmacro*{related:reviewof}[1]{% + \entrydata*{#1}{% + \usedriver{% + \renewbibmacro*{related:init}{}% + \DeclareNameAlias{author}{given-family}% + \renewbibmacro*{pageref}{}% + }{\thefield{entrytype}}% + }% +} +\DeclareBibliographyDriver{review}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{bytranslator+others}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \iftoggle{bbx:related}{% + \usebibmacro{related:init}% + \usebibmacro{related}% + }{}% + \newunit\newblock + \usebibmacro{in:}% + \setunit{\addspace}% + \usebibmacro{journal+issuetitle}% + \newunit + \usebibmacro{byeditor+others}% + \iffieldundef{note}% + {\newunit}% + {\setunit{\addsemicolon\addspace}}% + \usebibmacro{note+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{issn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareFieldFormat{related:multivolume}{#1} +\newbibmacro*{related:multivolume}[1]{% + \entrydata*{#1}{% + \printtext{% + \printfield{volume}% + \printfield{part}}% + \setunit*{\addspace}% + \usebibmacro{series+number+edition+publisher+location+date}}} + +\newbibmacro*{related:editedas}[1]{% + \entrydata{#1}{% + \renewbibmacro*{name:hook}[1]{% + \ifnumequal{\value{listcount}}{1}{% + \begingroup + \mkrelatedstring% + \lbx@initnamehook{#1}% + \endgroup + }{}}% + \printfield{edition}% + \setunit{\addspace}% + \usebibmacro{byeditor+others}% + \setunit*{\addcomma\space\bibstring[\mkrelatedstring]{astitle}\space}% + \usebibmacro{maintitle+title}% + \setunit{\addspace}% + \printfield{note}% + \newunit\newblock + \printfield{volumes}% + \newunit + \usebibmacro{series+number+publisher+location+date}}} +\newbibmacro*{related:bytranslator}[1]{% + \entrydata{#1}{% + \renewbibmacro*{name:hook}[1]{% + \ifnumequal{\value{listcount}}{1} + {\begingroup + \mkrelatedstring% + \lbx@initnamehook{#1}% + \endgroup} + {}}% + \printnames[bytranslator]{translator}% + \setunit*{\addspace\bibstring[\mkrelatedstring]{astitle}\space}% + \usebibmacro{maintitle+title}% + \setunit{\addspace}% + \printfield{note}% + \newunit\newblock + \printfield{volumes}% + \newunit + \usebibmacro{series+number+publisher+location+date}}} + +\newbibmacro*{related:includes}[1]{% + \stepcounter{blx@ox@relitem}% + \ifnumequal{\value{blx@ox@relitem}}{\value{bbx:relatedtotal}}% + {\bibstring{and}\addspace}{}% + \entrydata{#1}{% + \ifbibmacroundef{date+extrayear}{}{% + \renewbibmacro*{date+extrayear}{}}% + \usebibmacro{author}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}}} +\DeclareFieldFormat[misc]{title}{% + \def\currentfield{title}% + \iffieldannotation{descriptor}{#1}{% + \iffieldequalstr{relatedtype}{in}{% + \mkbibquote{#1\isdot}% + }{% + \mkbibemph{#1}% + }}% + \undef\currentfield} +\newbibmacro*{related:in}[1]{% + \entrydata*{#1}{% + \usedriver + {\ifnameundef{savedauthor} + {\ifnameundef{savededitor} + {} + {\ifnamesequal{editor}{savededitor} + {\clearname{editor}} + {}}} + {\ifnamesequal{author}{savedauthor} + {\clearname{author}} + {}}% + \renewbibmacro*{related:init}{}% + \DeclareNameAlias{sortname}{default}% + \ifbibmacroundef{date+extrayear} + {} + {\renewbibmacro*{date+extrayear}{}% + \renewbibmacro*{date}{\printdate}}% + \renewbibmacro*{pageref}{}} + {\thefield{entrytype}}% + \ifboolexpr{ + test {\iffieldundef{pages}} + or + test {\iffieldundef{savedpages}} + }{% + \newunit\newblock + }{% + \setunit{\addspace}% + \bibstring{thiscite}% + \printunit{\addspace}% + }% + }% + \usebibmacro{chapter+pages}% +} + +\DeclareStyleSourcemap{% + \maps[datatype=bibtex]{% + \map{ + \pertype{proceedings} + \pertype{mvproceedings} + \step[notfield=author, + fieldsource=organization, + fieldtarget=author] + } + \map[overwrite=false]{ + \step[fieldsource=descriptor, final] + \step[notfield=title, + fieldset=title+an, + fieldvalue={=descriptor}] + \step[notfield=title, + fieldsource=descriptor, + fieldtarget=title] + \step[fieldsource=descriptor, + fieldtarget=note] + } + \map[overwrite=false]{ + \step[fieldsource=realauthor, final] + \step[notfield=author, + fieldset=author+an, + fieldvalue={=inferred}] + \step[notfield=author, + fieldsource=realauthor, + fieldtarget=author] + \step[fieldsource=realauthor, + fieldtarget=authoraddon] + } + \map[overwrite=false]{ + \step[fieldsource=realeditor, final] + \step[notfield=editor, + fieldset=editor+an, + fieldvalue={=inferred}] + \step[notfield=editor, + fieldsource=realeditor, + fieldtarget=editor] + \step[fieldsource=realeditor, + fieldtarget=editoraddon] + } + \map[overwrite=false]{ + \step[fieldsource=editor+an, + match=\regexp{=jointauthor}, + final] + \step[fieldsource=editor, + fieldtarget=jointauthor] + \step[fieldsource=editortype, + fieldtarget=jointauthortype] + } + \map[overwrite=false]{ + \step[fieldsource=translator+an, + match=\regexp{=jointauthor}, + final] + \step[fieldsource=translator, + fieldtarget=jointauthor] + \step[fieldset=jointauthortype, + fieldvalue={=translator}] + } + \map[overwrite=false]{ + \pertype{jurisdiction} + \step[fieldsource=reporter, + fieldtarget=journaltitle] + \step[fieldsource=parvolume, + fieldtarget=userb] + \step[fieldsource=parreporter, + fieldtarget=userc] + \step[fieldsource=parseries, + fieldtarget=userd] + \step[fieldsource=parpages, + fieldtarget=usere] + \step[fieldsource=court, + fieldtarget=institution] + \step[fieldsource=additionalreports, + fieldtarget=listb] + \step[fieldsource=ecli, + fieldtarget=verba] + }% + \map[overwrite=false]{ + \pertype{legal} + \step[fieldsource=reporter, + fieldtarget=journaltitle] + } + \map[overwrite=true]{ + \pertype{legal} + \step[fieldsource=parties, + fieldtarget=institution] + \step[fieldsource=execution, + fieldtarget=lista] + } + \map[overwrite=true]{ + \pertype{jurisdiction} + \pertype{legislation} + \pertype{legal} + \step[fieldsource=title, + match=\regexp{(\d)\.(\d)}, + replace=\regexp{$1.$2}] + \step[fieldsource=title, + match=\regexp{(\D)\.(\d)}, + replace=\regexp{$1 $2}] + \step[fieldsource=title, + match=\regexp{\.(\D)}, + replace=\regexp{$1}] + \step [fieldsource=title, + match=\regexp{(\D)\.}, + replace=\regexp{$1}] + \step[fieldsource=shorttitle, + match=\regexp{(\d)\.(\d)}, + replace=\regexp{$1.$2}] + \step[fieldsource=shorttitle, + match=\regexp{(\D)\.(\d)}, + replace=\regexp{$1 $2}] + \step[fieldsource=shorttitle, + match=\regexp{\.(\D)}, + replace=\regexp{$1}] + \step [fieldsource=shorttitle, + match=\regexp{(\D)\.}, + replace=\regexp{$1}] + \step[fieldsource=userc, + match=\regexp{(\d)\.(\d)}, + replace=\regexp{$1.$2}] + \step[fieldsource=userc, + match=\regexp{(\D)\.(\d)}, + replace=\regexp{$1 $2}] + \step[fieldsource=userc, + match=\regexp{\.(\D)}, + replace=\regexp{$1}] + \step [fieldsource=userc, + match=\regexp{(\D)\.}, + replace=\regexp{$1}] + \step[fieldsource=journaltitle, + match=\regexp{(\d)\.(\d)}, + replace=\regexp{$1.$2}] + \step[fieldsource=journaltitle, + match=\regexp{(\D)\.(\d)}, + replace=\regexp{$1 $2}] + \step[fieldsource=journaltitle, + match=\regexp{\.(\D)}, + replace=\regexp{$1}] + \step [fieldsource=journaltitle, + match=\regexp{(\D)\.}, + replace=\regexp{$1}] + \step[fieldsource=institution, + match=\regexp{(\d)\.(\d)}, + replace=\regexp{$1.$2}] + \step[fieldsource=institution, + match=\regexp{(\D)\.(\d)}, + replace=\regexp{$1 $2}] + \step[fieldsource=institution, + match=\regexp{\.(\D)}, + replace=\regexp{$1}] + \step[fieldsource=institution, + match=\regexp{(\D)\.}, + replace=\regexp{$1}] + \step[fieldsource=publisher, + match=\regexp{(\d)\.(\d)}, + replace=\regexp{$1.$2}] + \step[fieldsource=publisher, + match=\regexp{(\D)\.(\d)}, + replace=\regexp{$1 $2}] + \step[fieldsource=publisher, + match=\regexp{\.(\D)}, + replace=\regexp{$1}] + \step [fieldsource=publisher, + match=\regexp{(\D)\.}, + replace=\regexp{$1}] + \step[fieldsource=location, + match=\regexp{(\d)\.(\d)}, + replace=\regexp{$1.$2}] + \step[fieldsource=location, + match=\regexp{(\D)\.(\d)}, + replace=\regexp{$1 $2}] + \step[fieldsource=location, + match=\regexp{\.(\D)}, + replace=\regexp{$1}] + \step [fieldsource=location, + match=\regexp{(\D)\.}, + replace=\regexp{$1}] + \step[fieldsource=series, + match=\regexp{(\d)\.(\d)}, + replace=\regexp{$1.$2}] + \step[fieldsource=series, + match=\regexp{(\D)\.(\d)}, + replace=\regexp{$1 $2}] + \step[fieldsource=series, + match=\regexp{\.(\D)}, + replace=\regexp{$1}] + \step [fieldsource=series, + match=\regexp{(\D)\.}, + replace=\regexp{$1}] + \step[fieldsource=indextitle, + match=\regexp{(\d)\.(\d)}, + replace=\regexp{$1.$2}] + \step[fieldsource=indextitle, + match=\regexp{(\D)\.(\d)}, + replace=\regexp{$1 $2}] + \step[fieldsource=indextitle, + match=\regexp{\.(\D)}, + replace=\regexp{$1}] + \step [fieldsource=indextitle, + match=\regexp{(\D)\.}, + replace=\regexp{$1}] + } + }% +} +\DeclareSortingScheme{nty}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{sortname} + \field{author} + \field{editor} + \field{translator} + \field{sorttitle} + \field{title} + \field{library} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field{volume} + \literal{0} + } + \sort{ + \field{location} + } + \sort{ + \field{collection} + \field{series} + } +} + +\DeclareSortingScheme{nyt}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{sortname} + \field{author} + \field{editor} + \field{translator} + \field{sorttitle} + \field{title} + \field{library} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{volume} + \literal{0} + } + \sort{ + \field{location} + } + \sort{ + \field{collection} + \field{series} + } +} +\ExecuteBibliographyOptions + [proceedings,report,audio,music,movie,video,manuscript,unpublished,review]% + {useeditor=false} +%% +%% Copyright (C) 2016 Alex Ball +%% +%% End of file `oxref.bbx'. |