From 3d8a9d90818e4363451111a43e0501e64fcdced8 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 16 May 2017 22:30:59 +0000 Subject: biblatex-oxref (17may17) git-svn-id: svn://tug.org/texlive/trunk@44385 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/biblatex-oxref/american-oxref.lbx | 26 + .../tex/latex/biblatex-oxref/british-oxref.lbx | 43 + .../tex/latex/biblatex-oxref/english-oxref.lbx | 236 ++ .../tex/latex/biblatex-oxref/oxnotes.bbx | 63 + .../tex/latex/biblatex-oxref/oxnotes.cbx | 24 + .../tex/latex/biblatex-oxref/oxnotes.dbx | 42 + .../texmf-dist/tex/latex/biblatex-oxref/oxref.bbx | 3879 ++++++++++++++++++++ .../texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx | 636 ++++ .../texmf-dist/tex/latex/biblatex-oxref/oxyear.cbx | 59 + .../texmf-dist/tex/latex/biblatex-oxref/oxyear.dbx | 42 + 10 files changed, 5050 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/biblatex-oxref/american-oxref.lbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-oxref/british-oxref.lbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-oxref/english-oxref.lbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.bbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.cbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.dbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-oxref/oxref.bbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.cbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.dbx (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/american-oxref.lbx b/Master/texmf-dist/tex/latex/biblatex-oxref/american-oxref.lbx new file mode 100644 index 00000000000..c491d1552b7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/american-oxref.lbx @@ -0,0 +1,26 @@ +%% +%% This is file `american-oxref.lbx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% oxref.dtx (with options: `lbx,us') +%% ---------------------------------------------------------------- +%% 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{american-oxref.lbx} + [\Version\space American English conventions required by the biblatex-oxref styles] +\InheritBibliographyExtras{english-oxref} +\DeclareBibliographyExtras{\uspunctuation} +\InheritBibliographyStrings{english-oxref} +%% +%% Copyright (C) 2016 Alex Ball +%% +%% End of file `american-oxref.lbx'. diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/british-oxref.lbx b/Master/texmf-dist/tex/latex/biblatex-oxref/british-oxref.lbx new file mode 100644 index 00000000000..4f0d7ad6935 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/british-oxref.lbx @@ -0,0 +1,43 @@ +%% +%% This is file `british-oxref.lbx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% oxref.dtx (with options: `lbx,gb') +%% ---------------------------------------------------------------- +%% 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{british-oxref.lbx} + [\Version\space British English conventions required by the biblatex-oxref styles] +\InheritBibliographyExtras{british} +\DeclareBibliographyExtras{% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\stripzeros{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\space}}% + \stripzeros{\thefield{#1}}}% + \def\finalandcomma{\addcomma}% + \def\bibtimesep{\addperiod}% +} +\DeclareBibliographyStrings{% + inherit = {english-oxref}, + am = {{a\adddot m\adddot}{a\adddot m\adddot}}, + pm = {{p\adddot m\adddot}{p\adddot m\adddot}}, +} +%% +%% Copyright (C) 2016 Alex Ball +%% +%% End of file `british-oxref.lbx'. diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/english-oxref.lbx b/Master/texmf-dist/tex/latex/biblatex-oxref/english-oxref.lbx new file mode 100644 index 00000000000..9fc4d3a95fd --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/english-oxref.lbx @@ -0,0 +1,236 @@ +%% +%% This is file `english-oxref.lbx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% oxref.dtx (with options: `lbx,en') +%% ---------------------------------------------------------------- +%% 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{english-oxref.lbx} + [\Version\space Generic English conventions required by the biblatex-oxref styles] +\InheritBibliographyExtras{english} +\DeclareBibliographyExtras{% + \def\finalandcomma{\addcomma}% + \protected\def\mkusbibordinal#1{% + \begingroup + \@tempcnta0#1\relax\number\@tempcnta + \@whilenum\@tempcnta>100\do{\advance\@tempcnta-100\relax}% + \ifnum\@tempcnta>20 + \@whilenum\@tempcnta>9\do{\advance\@tempcnta-10\relax}% + \fi + \ifcase\@tempcnta th\or st\or d\or d\else th\fi + \endgroup}% +} +\DeclareBibliographyStrings{% + inherit = {english}, + director = {{director}{dir\adddot}}, + performer = {{}{}}, + reader = {{reader}{reader}}, + conductor = {{conductor}{cond\adddot}}, + byperformer = {{}{}}, + bydirector = {{directed by}{dir\adddot}}, + byreader = {{read by}{read by}}, + byconductor = {{conducted by}{cond\adddot}}, + byserieseditor = {{edited by}{ed\adddot}}, + facsimile = {{facsimile edition}{facs\adddotspace edn\adddot}}, + revised = {{revised edition}{rev\adddotspace edn\adddot}}, + revisedenlarged = {{revised and enlarged edition}{rev\adddotspace ane enl\addotspace edn\adddot}}, + revisedreprint = {{revised reprint}{rev\adddotspace repr\adddot}}, + suppto = {{Supplement to}{Supplement to}}, + equals = {{=}{=}}, + original = {{original}{orig\adddot}}, + inpressin = {{to be published in}{to be published in}}, + book = {{book}{bk\adddot}}, + books = {{books}{bks\adddot}}, + canto = {{canto}{canto}}, + cantos = {{cantos}{cantos}}, + stanza = {{stanza}{stanza}}, + stanzas = {{stanzas}{stanzas}}, + act = {{Act}{Act}}, + acts = {{Acts}{Acts}}, + scene = {{Scene}{Scene}}, + scenes = {{Scenes}{Scenes}}, + folio = {{folio}{fo\adddot}}, + folios = {{folios}{fos\adddot}}, + article = {{article}{art\adddot}}, + articles = {{articles}{arts\adddot}}, + clause = {{clause}{cl\adddot}}, + clauses = {{clauses}{cls\adddot}}, + regulation = {{regulation}{reg\adddot}}, + regulations = {{regulations}{regs\adddot}}, + rule = {{rule}{r\adddot}}, + rules = {{rules}{rr\adddot}}, + facebook = {{Facebook post}{Facebook post}}, + tweet = {{Twitter post}{Twitter post}}, + podcast = {{podcast}{podcast}}, + clip = {{video}{video}}, + webcast = {{webcast}{webcast}}, + poster = {{poster}{poster}}, + nolocation = {{no place}{n\adddot p\adddot}}, + recorded = {{recorded}{recorded}}, + uploaded = {{uploaded}{uploaded}}, + anon = {{Anonymous}{Anon\adddot}}, + pseudo = {{Pseudo-}{Ps\adddot-}}, + urldown = {{downloaded}{downloaded}}, + 1column = {{one column}{1\addnbspace col\adddot}}, + 2column = {{two columns}{2\addnbspace col\adddot}}, + inflayer = {{inferior layer}{inf\adddotspace lay\adddot}}, + suplayer = {{superior layer}{sup\adddotspace lay\adddot}}, + paper = {{paper}{pap\adddot}}, + papyrus = {{papyrus}{papy\adddot}}, + pergament = {{pergament}{perg\adddot}}, + eucase = {{Case}{Case}}, + eujoinedcases = {{Joined Cases}{Joined Cases}}, + commissiondecision = {{Commission Decision}{Commission Decision}}, + application = {{Application}{App\adddot}}, + order = {{Order}{Ord\adddot}}, + bill = {{Bill}{Bill}}, + draft = {{draft}{draft}}, + opened = {{opened for signature}{opened for signature}}, + signed = {{signed}{signed}}, + adopted = {{adopted}{adopted}}, + inforce = {{entered into force}{entered into force}}, + byeditor = {{edited by}{ed\adddot}}, + bycompiler = {{compiled by}{comp\adddot}}, + byfounder = {{founded by}{found\adddot}}, + bycontinuator = {{continued by}{cont\adddot}}, + byredactor = {{redacted by}{red\adddot}}, + byreviser = {{revised by}{rev\adddot}}, + byreviewer = {{reviewed by}{rev\adddot}}, + bycollaborator = {{in collaboration with}{in collab\adddotspace with}}, + bytranslator = {{translated \lbx@lfromlang\ by}{trans\adddot\ \lbx@sfromlang}}, + bycommentator = {{commented by}{comm\adddot}}, + byannotator = {{annotated by}{annot\adddot}}, + byeditortr = {{edited and translated \lbx@lfromlang\ by}% + {ed\adddotspace and trans\adddot\ \lbx@sfromlang}}, + byeditorco = {{edited and commented by}% + {ed\adddotspace and comm\adddot}}, + byeditoran = {{edited and annotated by}% + {ed\adddotspace and annot\adddot}}, + byeditorin = {{edited, with an introduction, by}% + {ed.\adddotspace with introduction}}, + byeditorfo = {{edited, with a foreword, by}% + {ed.\adddotspace with foreword}}, + byeditoraf = {{edited, with an afterword, by}% + {ed.\adddotspace with afterword}}, + byeditortrco = {{edited, translated \lbx@lfromlang\finalandcomma\ and commented by}% + {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and comm\adddot}}, + byeditortran = {{edited, translated \lbx@lfromlang\finalandcomma\ and annotated by}% + {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and annot\adddot}}, + byeditortrin = {{edited and translated \lbx@lfromlang, with an introduction, by}% + {with introduction, ed\adddotspace and trans\adddot\ \lbx@sfromlang}}, + byeditortrfo = {{edited and translated \lbx@lfromlang, with a foreword, by}% + {with foreword, ed\adddotspace and trans\adddot\ \lbx@sfromlang}}, + byeditortraf = {{edited and translated \lbx@lfromlang, with an afterword, by}% + {with afterword, ed\adddotspace and trans\adddot\ \lbx@sfromlang}}, + byeditorcoin = {{edited and commented, with an introduction, by}% + {with introduction, ed\adddotspace and comm\adddot}}, + byeditorcofo = {{edited and commented, with a foreword, by}% + {with foreword, ed\adddotspace and comm\adddot}}, + byeditorcoaf = {{edited and commented, with an afterword, by}% + {with afterword, ed\adddotspace and comm\adddot}}, + byeditoranin = {{edited and annotated, with an introduction, by}% + {with introduction, ed\adddotspace and annot\adddot}}, + byeditoranfo = {{edited and annotated, with a foreword, by}% + {with foreword, ed\adddotspace and annot\adddot}}, + byeditoranaf = {{edited and annotated, with an afterword, by}% + {with afterword, ed\adddotspace and annot\adddot}}, + byeditortrcoin = {{edited, translated \lbx@lfromlang\finalandcomma\ and commented, with an introduction, by}% + {with introduction, ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and comm\adddot}}, + byeditortrcofo = {{edited, translated \lbx@lfromlang\finalandcomma\ and commented, with a foreword, by}% + {with foreword, ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and comm\adddot}}, + byeditortrcoaf = {{edited, translated \lbx@lfromlang\finalandcomma\ and commented, with an afterword, by}% + {with afterword, ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and comm\adddot}}, + byeditortranin = {{edited, translated \lbx@lfromlang\finalandcomma\ and annotated, with an introduction, by}% + {with introduction, ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and annot\adddot}}, + byeditortranfo = {{edited, translated \lbx@lfromlang\finalandcomma\ and annotated, with a foreword, by}% + {with foreword, ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and annot\adddot}}, + byeditortranaf = {{edited, translated \lbx@lfromlang\finalandcomma\ and annotated, with an afterword, by}% + {with afterword, ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and annot\adddot}}, + bytranslatorco = {{translated \lbx@lfromlang\ and commented by}% + {trans\adddot\ \lbx@sfromlang\ and comm\adddot}}, + bytranslatoran = {{translated \lbx@lfromlang\ and annotated by}% + {trans\adddot\ \lbx@sfromlang\ and annot\adddot}}, + bytranslatorin = {{translated \lbx@lfromlang, with an introduction, by}% + {trans\adddot\ \lbx@sfromlang\ with introduction}}, + bytranslatorfo = {{translated \lbx@lfromlang, with a foreword, by}% + {trans\adddot\ \lbx@sfromlang\ with foreword}}, + bytranslatoraf = {{translated \lbx@lfromlang, with an afterword, by}% + {trans\adddot\ \lbx@sfromlang\ with afterword}}, + bytranslatorcoin = {{translated \lbx@lfromlang\ and commented, with an introduction, by}% + {with introduction, trans\adddot\ \lbx@sfromlang\ and comm\adddot}}, + bytranslatorcofo = {{translated \lbx@lfromlang\ and commented, with a foreword, by}% + {with foreword, trans\adddot\ \lbx@sfromlang\ and comm\adddot}}, + bytranslatorcoaf = {{translated \lbx@lfromlang\ and commented, with an afterword, by}% + {with afterword, trans\adddot\ \lbx@sfromlang\ and comm\adddot}}, + bytranslatoranin = {{translated \lbx@lfromlang\ and annotated, with an introduction, by}% + {with introduction, trans\adddot\ \lbx@sfromlang\ and annot\adddot}}, + bytranslatoranfo = {{translated \lbx@lfromlang\ and annotated, with a foreword, by}% + {with foreword, trans\adddot\ \lbx@sfromlang\ and annot\adddot}}, + bytranslatoranaf = {{translated \lbx@lfromlang\ and annotated, with an afterword, by}% + {with afterword, trans\adddot\ \lbx@sfromlang\ and annot\adddot}}, + withintroduction = {{with an introduction by}{with an introduction by}}, + withcommentator = {{with a commentary by}{with a commentary by}}, + withannotator = {{with annotations by}{with annotations by}}, + withintroduction = {{with an introduction by}{with an introduction by}}, + withforeword = {{with a foreword by}{with a foreword by}}, + withafterword = {{with an afterword by}{with an afterword by}}, + introduction = {{introduction}{introduction}}, + newseries = {{new series}{\mkbibacro{NS}}}, + oldseries = {{old series}{\mkbibacro{OS}}}, + edition = {{edition}{edn\adddot}}, + reprint = {{reprint\nopunct}{repr\adddot\nopunct}}, + reviewof = {{review of}{review of}}, + reprintas = {{reprinted as}{repr\adddotspace as}}, + reprintfrom = {{from}{from}}, + translationas = {{English translation as}{Eng\adddotspace trans\adddotspace as}}, + origpubin = {{originally published in}{originally pub\adddot}}, + paragraph = {{paragraph}{para\adddot}}, + paragraphs = {{paragraphs}{paras\adddot}}, + urlseen = {{accessed}{accessed}}, + idem = {{idem}{id\adddot}}, + idemsm = {{idem}{id\adddot}}, + idemsf = {{eadem}{ead\adddot}}, + idemsn = {{idem}{id\adddot}}, + idempm = {{eidem}{eid\adddot}}, + idempf = {{eaedem}{eaed\adddot}}, + idempn = {{eadem}{ead\adddot}}, + idempp = {{eidem}{eid\adddot}}, + citedas = {{henceforth}{henceforth}}, + thiscite = {{at}{at}}, + langamerican = {{English}{Eng\adddot}}, + langbrazilian = {{Brazilian}{Braz\adddot}}, + langcatalan = {{Catalan}{Catal\adddot}}, + langcroatian = {{Croatian}{Croat\adddot}}, + langczech = {{Czech}{Czech}}, + langdanish = {{Danish}{Dan\adddot}}, + langdutch = {{Dutch}{Dutch}}, + langenglish = {{English}{Eng\adddot}}, + langestonian = {{Estonian}{Eston\adddot}}, + langfinnish = {{Finnish}{Finn\adddot}}, + langfrench = {{French}{Fr\adddot}}, + langgerman = {{German}{Ger\adddot}}, + langgreek = {{Greek}{Gr\adddot}}, + langitalian = {{Italian}{It\adddot}}, + langlatin = {{Latin}{Lat\adddot}}, + langnorwegian = {{Norwegian}{Norw\adddot}}, + langpolish = {{Polish}{Pol\adddot}}, + langportuguese = {{Portuguese}{Port\adddot}}, + langrussian = {{Russian}{Russ\adddot}}, + langslovene = {{Slovene}{Slov\adddot}}, + langspanish = {{Spanish}{Sp\adddot}}, + langswedish = {{Swedish}{Swed\adddot}}, +} +%% +%% Copyright (C) 2016 Alex Ball +%% +%% End of file `english-oxref.lbx'. diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.bbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.bbx new file mode 100644 index 00000000000..6b50f6a13c3 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.bbx @@ -0,0 +1,63 @@ +%% +%% This is file `oxnotes.bbx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% oxref.dtx (with options: `bbx,n') +%% ---------------------------------------------------------------- +%% 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{oxnotes.bbx} + [\Version\space Footnote-based bibliography style inspired by the Oxford Guide to Style] +\RequireBibliographyStyle{oxref} +\DeclareNameAlias{author}{bib-family-given/cite-given-family} +\DeclareNameAlias[related:reviewof]{author}{given-family} +\DeclareNameAlias{editor}{bib-family-given/cite-given-family} +\DeclareNameAlias[related:reviewof]{editor}{given-family} +\xpatchbibmacro{author}{% + \iftoggle{blx@ox@abbranon}{\bibcpsstring{anon}}{\bibcplstring{anon}}% +}{% + \iftoggle{blx@ox@abbranon}{% + \iftoggle{blx@ox@scnames}{\bibcpsstring[\textsc]{anon}}{\bibcpsstring{anon}}% + }{% + \iftoggle{blx@ox@scnames}{\bibcplstring[\textsc]{anon}}{\bibcplstring{anon}}% + }% +}{}{} +\renewbibmacro*{postnote}{% + \iffieldundef{postnote}{}{% + \iffieldundef{pages}{% + \setunit{\postnotedelim}% + \printfield{postnote}% + }{% + \printtext{\addspace\bibstring{thiscite}\space}% + \printfield{postnote}}}} +\DeclareStyleSourcemap{% + \maps[datatype=bibtex]{% + \map{ + \pertype{mvbook} + \pertype{mvcollection} + \pertype{mvreference} + \pertype{proceedings} + \pertype{mvproceedings} + \pertype{report} + \step[fieldsource=maintitle]% + \step[fieldset=sorttitle, origfieldval]% + \step[fieldsource=volume]% + \step[fieldset=sorttitle, append, origfieldval]% + \step[fieldsource=title]% + \step[fieldset=sorttitle, append, origfieldval]% + }% + }% +} +%% +%% Copyright (C) 2016 Alex Ball +%% +%% End of file `oxnotes.bbx'. diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.cbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.cbx new file mode 100644 index 00000000000..10d5274686b --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.cbx @@ -0,0 +1,24 @@ +%% +%% This is file `oxnotes.cbx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% oxref.dtx (with options: `cbx,n') +%% ---------------------------------------------------------------- +%% 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{oxnotes.cbx} + [\Version\space Footnote-based citation style inspired by the Oxford Guide to Style] +\RequireCitationStyle{verbose} +%% +%% Copyright (C) 2016 Alex Ball +%% +%% End of file `oxnotes.cbx'. diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.dbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.dbx new file mode 100644 index 00000000000..01b9a4e8e3d --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.dbx @@ -0,0 +1,42 @@ +%% +%% This is file `oxnotes.dbx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% oxref.dtx (with options: `dbx,n') +%% ---------------------------------------------------------------- +%% 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{oxnotes.dbx} + [\Version\space Data model for the Oxref family of styles] +\DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given,title} +\DeclareDatamodelFields[type=field,datatype=literal]{datetype,origdatetype} +\DeclareDatamodelFields[type=list,datatype=name]{authoraddon,editoraddon,serieseditor} +\DeclareDatamodelFields[type=list,datatype=name]{jointauthor} +\DeclareDatamodelFields[type=field,datatype=literal]{jointauthortype} +\DeclareDatamodelFields[type=field,datatype=literal]{rawauthor} +\DeclareDatamodelEntryfields{datetype,origdatetype,authoraddon,editoraddon,% + serieseditor,jointauthor,jointauthortype,rawauthor} +\DeclareDatamodelEntrytypes{manuscript} +\DeclareDatamodelFields[type=field,datatype=literal]{catalog,dating,% + shortlibrary,columns, collection,shortcollection,usualtitle,shelfmark,% + sortshelfmark,support,columns,layer} +\DeclareDatamodelFields[type=list,datatype=name]{scribe,owner} +\DeclareDatamodelFields[type=list,datatype=literal]{origin} +\DeclareDatamodelEntryfields[manuscript]{catalog,dating,shortlibrary,% + shortcollection,columns,languages, collection,usualtitle,shelfmark,% + sortshelfmark,support,columns,origin,scribe,owner} +\DeclareDatamodelFields[type=field,datatype=date]{pardate} +\DeclareDatamodelEntryfields[jurisdiction]{pardate} +%% +%% Copyright (C) 2016 Alex Ball +%% +%% End of file `oxnotes.dbx'. 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'. diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx new file mode 100644 index 00000000000..15ddd94fa91 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx @@ -0,0 +1,636 @@ +%% +%% This is file `oxyear.bbx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% oxref.dtx (with options: `bbx,y') +%% ---------------------------------------------------------------- +%% 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{oxyear.bbx} + [\Version\space Author-year bibliography style inspired by the Oxford Guide to Style] +\RequireBibliographyStyle{oxref} +\ExecuteBibliographyOptions{uniquename=init,giveninits,labeldateparts,sorting=nyt,pagetracker,maxcitenames=2} +\DeclareBibliographyOption{mergedate}[true]{% + \ifcsdef{bbx@opt@mergedate@#1} + {\csuse{bbx@opt@mergedate@#1}} + {\PackageError{biblatex} + {Invalid option 'mergedate=#1'} + {Valid values are 'maximum', 'compact', 'basic', 'minimum',\MessageBreak + 'year', 'true' (=year), and 'false'.}}} +\providebibmacro*{date+extrayear}{} +\DeclareFieldFormat{datelabel}{\mkbibparens{#1}} +\newbibmacro*{labelyearrange}{% + \printfield{labelyear}% + \printfield{extrayear}% + \iffieldundef{labelendyear}{}{% + \iffieldsequal{labelyear}{labelendyear}{}{% + \iffieldequalstr{labelendyear}{}{% + \mbox{\bibdaterangesep}% + }{% + \bibdaterangesep + \iffieldundef{extrayear}{% + \blx@ox@compyear + {\thefield{labelyear}}% + {\thefield{labelendyear}}% + }{% + \printfield{labelendyear}}}}}} +\def\bbx@opt@mergedate@true{\bbx@opt@mergedate@year} +\def\bbx@opt@mergedate@maximum{% + \renewbibmacro*{date+extrayear}{% + \iffieldundef{labelyear}{}{% + \printtext[datelabel]{% + \printfield{issue}% + \setunit*{\addspace}% + \ifboolexpr{% + not test {\iffieldundef{\thefield{labeldatesource}year}} + and + test {\iffieldsequal{\thefield{labeldatesource}year}{labelyear}} + }{% + \printlabeldateextra + }{% + \printfield{labelyear}% + \printfield{extrayear}}}% + \iffieldundef{\thefield{labeldatesource}year}{% + \iffieldundef{\thefield{labeldatesource}}{}{% + \iffieldequalstr{labeldatesource}{pubstate}{}{% + \clearfield{\thefield{labeldatesource}}}}% + }{% + \clearfield{\thefield{labeldatesource}year}% + \clearfield{end\thefield{labeldatesource}year}% + \clearfield{\thefield{labeldatesource}month}% + \clearfield{end\thefield{labeldatesource}month}% + \clearfield{\thefield{labeldatesource}day}% + \clearfield{end\thefield{labeldatesource}day}% + }% + \clearfield{issue}}}}% +\def\bbx@opt@mergedate@compact{% + \renewbibmacro*{date+extrayear}{% + \iffieldundef{labelyear}{}{% + \printtext[datelabel]{% + \ifboolexpr{% + not test {\iffieldundef{\thefield{labeldatesource}year}} + and + test {\iffieldsequal{\thefield{labeldatesource}year}{labelyear}} + }{% + \printlabeldateextra + }{% + \printfield{labelyear}% + \printfield{extrayear}}}% + \iffieldundef{\thefield{labeldatesource}year}{% + \iffieldundef{\thefield{labeldatesource}}{}{% + \iffieldequalstr{labeldatesource}{pubstate}{}{% + \clearfield{\thefield{labeldatesource}}}}% + }{% + \clearfield{\thefield{labeldatesource}year}% + \clearfield{end\thefield{labeldatesource}year}% + \clearfield{\thefield{labeldatesource}month}% + \clearfield{end\thefield{labeldatesource}month}% + \clearfield{\thefield{labeldatesource}day}% + \clearfield{end\thefield{labeldatesource}day}% + }}}} +\def\bbx@opt@mergedate@year{% + \renewbibmacro*{date+extrayear}{% + \iffieldundef{labelyear}{}{% + \printtext[datelabel]{% + \usebibmacro{labelyearrange}}% + \iffieldundef{\thefield{labeldatesource}year}{% + \iffieldundef{\thefield{labeldatesource}}{}{% + \iffieldequalstr{labeldatesource}{pubstate}{}{% + \clearfield{\thefield{labeldatesource}}}}% + }{% + \clearfield{\thefield{labeldatesource}year}% + \clearfield{end\thefield{labeldatesource}year}% + }}}} +\def\bbx@opt@mergedate@basic{% + \renewbibmacro*{date+extrayear}{% + \iffieldundef{labelyear}{}{% + \printtext[datelabel]{% + \usebibmacro{labelyearrange}}% + \iffieldundef{\thefield{labeldatesource}year}{% + \iffieldundef{\thefield{labeldatesource}}{}{% + \iffieldequalstr{labeldatesource}{pubstate}{}{% + \clearfield{\thefield{labeldatesource}}}}% + }{% + \ifboolexpr{ + test {\iffieldundef{\thefield{labeldatesource}month}} + and ( + test {\iffieldundef{issue}} + or + not test {\iffieldequalstr{labeldatesource}{}} + )}{% + \clearfield{\thefield{labeldatesource}year}% + \clearfield{end\thefield{labeldatesource}year}% + }{}}}}}% +\def\bbx@opt@mergedate@minimum{% + \renewbibmacro*{date+extrayear}{% + \iffieldundef{labelyear}{}{% + \printtext[datelabel]{% + \usebibmacro{labelyearrange}}% + \iffieldundef{\thefield{labeldatesource}year}{% + \iffieldundef{\thefield{labeldatesource}}{}{% + \iffieldequalstr{labeldatesource}{pubstate}{}{% + \clearfield{\thefield{labeldatesource}}}}% + }{% + \ifboolexpr{ + test {\iffieldundef{\thefield{labeldatesource}month}} + and + test {\iffieldundef{extrayear}} + and ( + test {\iffieldundef{issue}} + or + not test {\iffieldequalstr{labeldatesource}{}} + )}{% + \clearfield{\thefield{labeldatesource}year}% + \clearfield{end\thefield{labeldatesource}year}% + }{}}}}}% +\def\bbx@opt@mergedate@false{% + \renewbibmacro*{date+extrayear}{% + \iffieldundef{labelyear}{}{% + \printtext[datelabel]{% + \usebibmacro{labelyearrange}}}}% + \iffieldundef{\thefield{labeldatesource}year}{% + \iffieldundef{\thefield{labeldatesource}}{}{% + \iffieldequalstr{labeldatesource}{pubstate}{}{% + \clearfield{\thefield{labeldatesource}}}}}{}} +\ExecuteBibliographyOptions{mergedate} +\DeclareRobustCommand*{\mkdaterangefull}[2]{% + \blx@metadateinfo{#2}% + \iffieldundef{#2year}{% + \iffieldundef{#2month}{}{% + \datecircaprint + \printtext[#2date]{% + \iffieldundef{#2season}{% + \csuse{mkbibdate#1}{}{#2month}{#2day}% + \blx@printtime{#2}{}% + }{% + \csuse{mkbibseasondate#1}{}{#2season}}% + \dateuncertainprint + \iffieldundef{#2endmonth}{}{% + \iffieldequalstr{#2endmonth}{}{% + \mbox{\bibdaterangesep}% + }{% + \bibdaterangesep + \enddatecircaprint + \iffieldundef{#2season}{% + \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}% + \blx@printtime{#2}{end}% + }{% + \csuse{mkbibseasondate#1}{}{#2endseason}}% + \enddateuncertainprint}}}}% + }{% + \datecircaprint + \printtext[#2date]{% + \iffieldundef{#2season}{% + \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \blx@printtime{#2}{}% + }{% + \csuse{mkbibseasondate#1}{#2year}{#2season}}% + \dateuncertainprint + \dateeraprint{#2year}% + \iffieldundef{#2endyear}{}{% + \iffieldequalstr{#2endyear}{}{% + \mbox{\bibdaterangesep}% + }{% + \bibdaterangesep + \enddatecircaprint + \iffieldundef{#2season}{% + \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% + \blx@printtime{#2}{end}% + }{% + \csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}} + +\DeclareRobustCommand*{\mkdaterangetrunc}[2]{% + \blx@metadateinfo{#2}% + \iffieldundef{#2year}{% + \iffieldundef{#2month}{}{% + \datecircaprint + \printtext[#2date]{% + \iffieldundef{#2season}{% + \ifboolexpr{ + test {\iffieldsequal{labelyear}{labelendyear}} + and + test {\iffieldsequal{#2month}{#2endmonth}} + }{% + \csuse{mkbibdate#1}{}{}{#2day}% + }{% + \csuse{mkbibdate#1}{}{#2month}{#2day}}% + }{% + \csuse{mkbibseasondate#1}{}{#2season}}% + \dateuncertainprint + \iffieldundef{#2endmonth}{}{% + \iffieldequalstr{#2endmonth}{}{% + \mbox{\bibdaterangesep}% + }{% + \bibdaterangesep + \enddatecircaprint + \iffieldundef{#2season}{% + \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}% + }{% + \csuse{mkbibseasondate#1}{}{#2endseason}}% + \enddateuncertainprint}}}}% + }{% + \datecircaprint + \printtext[#2date]{% + \iffieldundef{#2season}{% + \iffieldsequal{#2year}{#2endyear}{% + \iffieldsequal{#2month}{#2endmonth}{% + \csuse{mkbibdate#1}{}{}{#2day}% + }{% + \csuse{mkbibdate#1}{}{#2month}{#2day}}% + }{% + \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \iffieldsequal{#2dateera}{#2enddateera}{}{% + \dateeraprint{#2year}}}% + }{% + \iffieldsequal{#2year}{#2endyear}{% + \csuse{mkbibseasondate#1}{}{#2season}% + }{% + \csuse{mkbibseasondate#1}{#2year}{#2season}% + \iffieldsequal{#2dateera}{#2enddateera}{}{% + \dateeraprint{#2year}}}}% + \dateuncertainprint + \iffieldundef{#2endyear}{}{% + \iffieldequalstr{#2endyear}{}{% + \mbox{\bibdaterangesep}% + }{% + \bibdaterangesep + \enddatecircaprint + \iffieldundef{#2season}{% + \iffieldundef{#2endmonth}{% + \blx@ox@compyear{\thefield{#2year}}{\thefield{#2endyear}}% + }{% + \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% + }{% + \csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}} + +\DeclareRobustCommand*{\mkdaterangefullextra}[2]{% + \blx@metadateinfo{#2}% + \iffieldundef{#2year}{% + \iffieldundef{#2month}{}{% + \datecircaprint + \printtext[#2date]{% + \iffieldundef{#2season}{% + \csuse{mkbibdate#1}{}{#2month}{#2day}% + \blx@printtime{#2}{}% + }{% + \csuse{mkbibseasondate#1}{}{#2season}}% + \dateuncertainprint + \iffieldundef{#2endmonth}{}{% + \iffieldequalstr{#2endmonth}{}{% + \mbox{\bibdaterangesep}% + }{% + \bibdaterangesep + \enddatecircaprint + \iffieldundef{#2season}{% + \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}% + \blx@printtime{#2}{end}% + }{% + \csuse{mkbibseasondate#1}{}{#2endseason}}% + \enddateuncertainprint}}}}% + }{% + \datecircaprint + \printtext[#2date]{% + \printtext{% + \iffieldundef{#2season}{% + \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \blx@printtime{#2}{}% + }{% + \csuse{mkbibseasondate#1}{#2year}{#2season}}% + \dateuncertainprint + \dateeraprint{#2year}% + \iffieldundef{#2endyear}{% + \printfield{extrayear}% + }{% + \iffieldequalstr{#2endyear}{}{% + \printfield{extrayear}% + \printtext{\mbox{\bibdaterangesep}}% + }{% + \printtext{% + \bibdaterangesep + \enddatecircaprint + \iffieldundef{#2season}{% + \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% + \blx@printtime{#2}{end}% + }{% + \csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% + \printfield{extrayear}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}}} + +\DeclareRobustCommand*{\mkdaterangetruncextra}[2]{% + \blx@metadateinfo{#2}% + \iffieldundef{#2year}{% + \iffieldundef{#2month}{}{% + \datecircaprint + \printtext[#2date]{% + \iffieldundef{#2season}{% + \iffieldsequal{#2month}{#2endmonth}{% + \csuse{mkbibdate#1}{}{}{#2day}% + }{% + \csuse{mkbibdate#1}{}{#2month}{#2day}}% + }{% + \csuse{mkbibseasondate#1}{}{#2season}}% + \dateuncertainprint + \iffieldundef{#2endmonth}{}{% + \iffieldequalstr{#2endmonth}{}{% + \mbox{\bibdaterangesep}% + }{% + \bibdaterangesep + \enddatecircaprint + \iffieldundef{#2season}{% + \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}% + }{% + \csuse{mkbibseasondate#1}{}{#2endseason}}% + \enddateuncertainprint}}}}% + }{% + \datecircaprint + \printtext[#2date]{% + \iffieldundef{#2season}{% + \iffieldsequal{#2year}{#2endyear}{% + \iffieldsequal{#2month}{#2endmonth}{% + \csuse{mkbibdate#1}{}{}{#2day}% + }{% + \csuse{mkbibdate#1}{}{#2month}{#2day}}% + }{% + \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \iffieldsequal{#2dateera}{#2enddateera}{}{% + \dateeraprint{#2year}}}% + }{% + \iffieldsequal{#2year}{#2endyear}{% + \csuse{mkbibseasondate#1}{}{#2season}% + }{% + \csuse{mkbibseasondate#1}{#2year}{#2season} + \iffieldsequal{#2dateera}{#2enddateera}{}{% + \dateeraprint{#2year}}}}% + \dateuncertainprint + \iffieldundef{#2endyear}{% + \printfield{extrayear}% + }{% + \iffieldequalstr{#2endyear}{}{% + \printfield{extrayear}% + \printtext{\mbox{\bibdaterangesep}}% + }{% + \printtext{% + \bibdaterangesep + \enddatecircaprint + \iffieldundef{#2season}{% + \iffieldundef{#2endmonth}{% + \blx@ox@compyear{\thefield{#2year}}{\thefield{#2endyear}}% + }{% + \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% + }{% + \csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% + \printfield{extrayear}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}} + +\DeclareLabeldate{% + \field{origdate} + \field{date} + \field{year} + \field{eventdate} + \field{pubstate} + \literal{nodate} +} +\DeclareFieldFormat{extrayear}{% + \iffieldundef{\thefield{labeldatesource}}{% + \iffieldnums{\thefield{labeldatesource}year}{}{~}% + }{% + \iffieldnums{\thefield{labeldatesource}}{}{~}% + }% + \mkbibemph{\mknumalph{#1}}}% + +\DeclareFieldFormat{shorthandwidth}{#1} +\xpretonameformat{family-given}{% + \iffieldannotation{inferred}{\ifnumequal{\value{listcount}}{1}{\bibopenbracket}{}}{}% + \ifitemannotation{inferred}{\bibopenbracket}{}% +}{}{} +\xpatchnameformat{family-given}{% + \usebibmacro{name:andothers}% +}{% + \ifitemannotation{pseudo}{% + \addspace\printtext[parens]{\bibsstring{pseudo}}% + }{}% + \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}{}% + }{}% +}{}{} +\DeclareNameAlias{shortauthor}{family-given} +\DeclareNameAlias{shorteditor}{family-given} +\DeclareNameAlias{sortname}{family-given} +\DeclareNameAlias{author}{family-given} +\DeclareNameAlias{editor}{family-given} +\DeclareNameAlias{translator}{family-given} +\defbibenvironment{bibliography} + {\list + {} + {\setlength{\leftmargin}{\bibhang}% + \setlength{\itemindent}{-\leftmargin}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}} + {\endlist} + {\item} +\defbibenvironment{shorthand} + {\list + {\printfield[shorthandwidth]{shorthand}} + {\setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} +\InitializeBibliographyStyle{\global\undef\bbx@lasthash} +\xapptobibmacro{begrelated}{% + \booltrue{bbx@inset}}{}{} +\xapptobibmacro{endrelated}{% + \usebibmacro*{bbx:savehash}}{}{} +\xpatchbibmacro{author}{% + \iffieldundef{authortype}% +}{% + \usebibmacro{date+extrayear}% + \setunit*{\addspace}% + \iffieldundef{authortype}% +}{}{}% +\xpatchbibmacro{author}{% + \global\undef\bbx@lasthash +}{% + \global\undef\bbx@lasthash + \usebibmacro{labeltitle}% + \setunit*{\addspace}% + \usebibmacro{date+extrayear}% +}{}{}% +\xpatchbibmacro{namepairs}{% + \printnames[by#1]% +}{% + \printnames[#1]% +}{}{} +\xpatchbibmacro{author+altauthor}{% + \printnames{author}% +}{% + \ifboolexpr{% + ( not test {\ifnameundef{shortauthor}} ) + and + test {\ifnumequal{\value{shortauthor}}{\value{author}}} + }{% + \usebibmacro{namepairs}{author}{shortauthor}% + }{% + \printnames{author}% + }% +}{}{}% +\xpatchbibmacro{bbx:editor}{% + \usebibmacro{#1}% +}{% + \usebibmacro{date+extrayear}% + \setunit*{\addspace}% + \usebibmacro{#1}% +}{}{}% +\xpatchbibmacro{bbx:editor}{% + \global\undef\bbx@lasthash +}{% + \global\undef\bbx@lasthash + \usebibmacro{labeltitle}% + \setunit*{\addspace}% + \usebibmacro{date+extrayear}% +}{}{}% +\xpatchbibmacro{editor+alteditor}{% + \printnames[byeditor]% +}{% + \printnames[editor]% +}{}{} +\xpatchbibmacro{editor+alteditor}{% + \printnames{editor}% +}{% + \ifboolexpr{% + ( not test {\ifnameundef{shorteditor}} ) + and + test {\ifnumequal{\value{shorteditor}}{\value{editor}}} + }{% + \usebibmacro{namepairs}{editor}{shorteditor}% + }{% + \printnames{editor}% + }% +}{}{}% +\xpatchbibmacro{bbx:translator}{% + \global\undef\bbx@lasthash +}{% + \global\undef\bbx@lasthash + \usebibmacro{labeltitle}% + \setunit*{\addspace}% + \usebibmacro{date+extrayear}% +}{}{}% +\xpatchbibmacro{bbx:translator}{% + \usebibmacro{#1}% +}{% + \usebibmacro{date+extrayear}% + \setunit*{\addspace}% + \usebibmacro{#1}% +}{}{}% +\newtoggle{blx@ox@clearedtitle} +\newbibmacro*{labeltitle}{% + \iffieldundef{label}{% + \iffieldundef{shorttitle}{% + \ifboolexpr{ + test {\iffieldundef{title}} + and + test {\iffieldundef{subtitle}} + }{% + \printfield{library}% + \clearfield{library}% + }{% + \printtext[title]{% + \printfield[titlecase]{title}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{subtitle}}% + \clearfield{title}% + \clearfield{subtitle}% + \toggletrue{blx@ox@clearedtitle}% + \setunit{\addspace}% + }% + }{% + \printtext[title]{\printfield[titlecase]{shorttitle}}% + }% + }{% + \printfield{label}% + }% +} +\xpretobibmacro{maintitle+title}{% + \iftoggle{blx@ox@clearedtitle}{% + \usebibmacro{maintitle+volume}% + \clearfield{maintitle}% + \clearfield{volume}% + }{}% +}{}{} +\DeclareFieldFormat[mvbook,mvcollection,mvreference,proceedings,mvproceedings]{maintitle+volume}{#1} +\xpatchbibdriver{online}{% + \iffieldundef{year}% +}{% + \iffieldundef{month}% +}{}{} +\DeclareFieldFormat[online,image]{citetitle}{\mkbibquote{#1\isdot}} +\DeclareFieldFormat[legislation,legal]{citetitle}{#1} +\DeclareFieldFormat[manuscript,unpublished]{citetitle}{% + \def\currentfield{title}% + \ifboolexpr{ + test {\iffieldannotation{descriptor}} + or ( + test {\iffieldundef{shorttitle}} + and + test {\iffieldundef{title}} + ) + }{#1}{\mkbibquote{#1\isdot}}% + \undef\currentfield} + +\renewcommand*{\bibpagespunct}{% + \ifboolexpr{ + test {\ifentrytype{article}} + or + test {\ifentrytype{suppperiodical}} + or + test {\ifentrytype{review}} + }{% + \addcolon\space + }{% + \addcomma\space + }% +} +\DeclareFieldFormat[manuscript]{datelabel}{\mkbibbrackets{#1}} +\DeclareFieldFormat[unpublished]{datelabel}{% + \iftoggle{blx@ox@ms}{\mkbibbrackets{#1}}{\mkbibparens{#1}}} +\renewbibmacro*{manuscript:date}{\usebibmacro{date}} +\DeclareLabeltitle{% + \field{shorttitle} + \field{title} + \field{maintitle} + \field{library} +} + +%% +%% Copyright (C) 2016 Alex Ball +%% +%% End of file `oxyear.bbx'. diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.cbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.cbx new file mode 100644 index 00000000000..ab35b12e8ba --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.cbx @@ -0,0 +1,59 @@ +%% +%% This is file `oxyear.cbx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% oxref.dtx (with options: `cbx,y') +%% ---------------------------------------------------------------- +%% 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{oxyear.cbx} + [\Version\space Author-year citation style inspired by the Oxford Guide to Style] +\RequireCitationStyle{authoryear-comp} +\xpatchbibmacro{cite:labelyear+extrayear}{% + \printfield{labelendyear}% +}{% + \iffieldundef{extrayear}{% + \blx@ox@compyear + {\thefield{labelyear}}% + {\thefield{labelendyear}}% + }{% + \printfield{labelendyear}}% +}{}{} +\xpatchbibmacro{cite}{% + \printnames{labelname}% +}{% + \ifboolexpr{ + test {\iffieldequalstr{labelnamesource}{author}} + and + togl {blx@ox@autoanon} + and + test {\iffieldequals{rawauthor}{\oxrefanon}} + }{% + \iftoggle{blx@ox@abbranon}{\bibcpsstring{anon}}{\bibcplstring{anon}}% + }{% + \printnames{labelname}% + }% +}{}{} +\renewcommand*{\nameyeardelim}{% + \iffieldundef{\thefield{labeldatesource}year}% + {\addcomma\space}% + {\addspace}} +\renewcommand*{\nonameyeardelim}{% + \iffieldundef{\thefield{labeldatesource}year}% + {\addcomma\space}% + {\addspace}} +\renewcommand*{\compcitedelim}{\addsemicolon\space} +\renewcommand*{\postnotedelim}{\addcolon\space} +%% +%% Copyright (C) 2016 Alex Ball +%% +%% End of file `oxyear.cbx'. diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.dbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.dbx new file mode 100644 index 00000000000..4018fd03f89 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.dbx @@ -0,0 +1,42 @@ +%% +%% This is file `oxyear.dbx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% oxref.dtx (with options: `dbx,y') +%% ---------------------------------------------------------------- +%% 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{oxyear.dbx} + [\Version\space Data model for the Oxref family of styles] +\DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given,title} +\DeclareDatamodelFields[type=field,datatype=literal]{datetype,origdatetype} +\DeclareDatamodelFields[type=list,datatype=name]{authoraddon,editoraddon,serieseditor} +\DeclareDatamodelFields[type=list,datatype=name]{jointauthor} +\DeclareDatamodelFields[type=field,datatype=literal]{jointauthortype} +\DeclareDatamodelFields[type=field,datatype=literal]{rawauthor} +\DeclareDatamodelEntryfields{datetype,origdatetype,authoraddon,editoraddon,% + serieseditor,jointauthor,jointauthortype,rawauthor} +\DeclareDatamodelEntrytypes{manuscript} +\DeclareDatamodelFields[type=field,datatype=literal]{catalog,dating,% + shortlibrary,columns, collection,shortcollection,usualtitle,shelfmark,% + sortshelfmark,support,columns,layer} +\DeclareDatamodelFields[type=list,datatype=name]{scribe,owner} +\DeclareDatamodelFields[type=list,datatype=literal]{origin} +\DeclareDatamodelEntryfields[manuscript]{catalog,dating,shortlibrary,% + shortcollection,columns,languages, collection,usualtitle,shelfmark,% + sortshelfmark,support,columns,origin,scribe,owner} +\DeclareDatamodelFields[type=field,datatype=date]{pardate} +\DeclareDatamodelEntryfields[jurisdiction]{pardate} +%% +%% Copyright (C) 2016 Alex Ball +%% +%% End of file `oxyear.dbx'. -- cgit v1.2.3