From 6f88218003b3c9270ed5b889137814b521781a52 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 21 Aug 2012 22:37:08 +0000 Subject: new biblatex package oscola (21aug12) git-svn-id: svn://tug.org/texlive/trunk@27490 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/oscola/README | 63 + Master/texmf-dist/doc/latex/oscola/README.TEXLIVE | 7 + .../doc/latex/oscola/oscola-examples.bib | 1386 +++++++++ Master/texmf-dist/makeindex/oscola/oscola.ist | 6 + .../texmf-dist/tex/latex/oscola/english-oscola.lbx | 572 ++++ Master/texmf-dist/tex/latex/oscola/oscola.bbx | 3132 ++++++++++++++++++++ Master/texmf-dist/tex/latex/oscola/oscola.cbx | 390 +++ Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/libexec/ctan2tds | 1 + Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc | 1 + Master/tlpkg/tlpsrc/oscola.tlpsrc | 0 11 files changed, 5559 insertions(+), 1 deletion(-) create mode 100644 Master/texmf-dist/doc/latex/oscola/README create mode 100644 Master/texmf-dist/doc/latex/oscola/README.TEXLIVE create mode 100644 Master/texmf-dist/doc/latex/oscola/oscola-examples.bib create mode 100644 Master/texmf-dist/makeindex/oscola/oscola.ist create mode 100644 Master/texmf-dist/tex/latex/oscola/english-oscola.lbx create mode 100644 Master/texmf-dist/tex/latex/oscola/oscola.bbx create mode 100644 Master/texmf-dist/tex/latex/oscola/oscola.cbx create mode 100644 Master/tlpkg/tlpsrc/oscola.tlpsrc diff --git a/Master/texmf-dist/doc/latex/oscola/README b/Master/texmf-dist/doc/latex/oscola/README new file mode 100644 index 00000000000..0c8cbfb7b74 --- /dev/null +++ b/Master/texmf-dist/doc/latex/oscola/README @@ -0,0 +1,63 @@ +SUMMARY +======= + +The Oscola package works (only!) with Biblatex (v 2.0 or later) and +Biber (v 1.0 or later). It aims to implement, almost completely, the +OSCOLA style of legal citation, according to the 4th edition. For +further information about coverage see the documentation. + +FILES AND LICENCE +================= + +The package consists of three principal files (oscola.bbx, oscola.cbx +and english-oscola.lbx) which should be placed where biblatex can find +them, documentation (oscola-documentation.pdf), and a very short index +style file (oscola.ist). Those files are copyright (c) Paul Stanley 2012. + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3 +of this license or (at your option) any later version. + +The latest version of the license is in + http://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of LaTeX +version 2005/12/01 or later. + +This work has the LPPL maintenance status 'maintained'. +The current maintainer of this work is Paul Stanley (pstanley@essexcourt.net) + +The documentation consists of oscola-documentation.pdf and +oscola-examples.bib. Those files are distributed under the Creative +Commons Attribution 3.0-Unported License (CC BY 3.0). A copy of that +license is available at + http://creativecommons.org/licenses/by/3.0/deed.en_GB + +The LaTeX source of oscola-documentation.pdf is available upon request +from the author. + +All bug reports, questions, or suggestions should be sent to the +maintainer, whose email is pstanley@essexcourt.net. + +INSTALLATION +============ + +I find the TDS difficult, but I think the correct installation (under +the local tree) is as follows: + +oscola.bbx: With the bibliography style files in + ...tex/latex/biblatex/bbx +oscola.cbx: With the citation style files in + .../tex/latex/\linebreak biblatex/cbx +english-oscola.lbx: With the language definition files in + .../tex/latex/\linebreak biblatex/lbx +oscola-documentation.pdf: With documentation in a suitable directory + under .../doc/latex +oscola.ist: With the index style files in + .../makeindex/latex +oscola-examples.bib: With the sample bibliography files in a suitable + directory under .../bibtex/bib + +VERSION HISTORY +=============== + +August 2012: Version 0.1 released. \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/oscola/README.TEXLIVE b/Master/texmf-dist/doc/latex/oscola/README.TEXLIVE new file mode 100644 index 00000000000..9de83e76369 --- /dev/null +++ b/Master/texmf-dist/doc/latex/oscola/README.TEXLIVE @@ -0,0 +1,7 @@ +The following files have been removed in the TeX Live installation of +the current package, typically due to duplication, lack of space, or +missing source code. You can find these files on CTAN at + http://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/oscola/ +If questions or concerns, email tex-live@tug.org. + + oscola-documentation.pdf diff --git a/Master/texmf-dist/doc/latex/oscola/oscola-examples.bib b/Master/texmf-dist/doc/latex/oscola/oscola-examples.bib new file mode 100644 index 00000000000..68ad3ed287f --- /dev/null +++ b/Master/texmf-dist/doc/latex/oscola/oscola-examples.bib @@ -0,0 +1,1386 @@ +% This file contains various sample entries for testing the +% biblatex-oscola package. It is distributed under the +% Creative Commons Attribution 3.0-Unported License (CC BY 3.0). +% A copy of that license is available at +% http://creativecommons.org/licenses/by/3.0/deed.en_GB} + +@misc{amazon:email, + title = {Email from Amazon.co.uk to author}, + date = {2008-12-16}, +} + +@book{bar00, + author = {von Bar, Christian}, + title = {The Common European Law of Torts}, + volume = 2, + publisher = {CH Beck}, + date = 2000, + pagination = {paragraph}, +} + +@legislation{ucta, + title= {Unfair Contract Terms Act}, + shorttitle = {UCTA 77}, + date ={1977}, + entrysubtype={primary}, + pagination={section}, + keywords = {en}, + number={23 Eliz II, cap 23}} + +@legislation{disorderly, + title={Penalties for Disorderly Behaviour (Amendment of Minimum Age) Order}, + date={2004}, + entrysubtype={secondary}, + pagination={regulation}, + keywords = {en}, + number={SI 2004\slash 3166}, + } + +@legislation{hollowware, + title = {Hollow-ware and Galvanising Welfare Order}, + date = {1921}, + number = {SR~\&~O 1921\slash 2032}, + pagination = {rule}, + entrysubtype = {secondary}, +} + +@legislation{eggs, + title = {Eggs and Chicks (England) Regulations}, + date = {2009}, + number = {SI 2009\slash 2163}, + pagination = {regulation}, + entrysubtype = {secondary}, +} + +@legislation{learner, + title = {The Learner Travel (Wales) Measure 2008 (Commencement + No 2) Order}, + number = {SI 2009\slash 2819}, + pagination = {regulation}, + keywords = {cy}, + userb = {W~245}, + entrysubtype = {secondary}, +} + +@legislation{learner08, + title = {Learner Travel (Wales) Measure}, + date = {2008}, + number = {nawm 2}, + keywords = {cy}, + entrysubtype = {primary}, + pagination = {section}, +} + +@legislation{gorchymyn, + title = {Gorchymyn Mesur Teithio gan Ddysgwyr (Cymru) + (Cychwyn Rhif 2)\nopunct}, + number = {SI 2009\slash 2819}, + pagination = {regulation}, + keywords = {cy}, + userb = {Cy 245}, + entrysubtype = {secondary}, + language = {welsh}, +} + +@legislation{breedingdogs, + title = {Breeding of Dogs (Licensing Records) (Scotland) Regulations}, + date = {1999}, + number = {SSI 1999\slash 176}, + keywords = {sc}, + pagination = {regulation}, + entrysubtype = {secondary}, +} + +@legislation{sederunt:session, + title = {Act of Sederunt (Rules of the Court of Session 1994)}, + date = {1994}, + number = {SI 1994\slash 1443}, + keywords = {sc}, + pagination = {rule}, + entrysubtype = {secondary}, +} + +@legislation{adjournal, + title = {Act of Adjournal (Criminal Appeals)}, + date = {2003}, + number = {SSI 2003\slash 387}, + keywords = {sc}, + entrysybtype = {secondary}, +} + +@legislation{bann, + title = {The River Bann Navigation Order (Northern Ireland)}, + date = {2010}, + number = {SR 2010\slash 126}, + keywords = {ni}, + entrysubtype = {secondary}, +} + +@legislation{cpr, + title = {Civil Procedure Rules}, + shorttitle = {CPR}, + keywords = {en}, + entrysubtype = {procedure-rule}, + date = {1999}, +} + +@legislation{pd, + title = {CPR Practice Directions}, + shorttitle = {PD}, + keywords = {en}, + entrysubtype = {procedure-rule}, +} + +@legislation{rsc, + title = {Rules of the Supreme Court}, + shorttitle = {RSC}, + keywords = {en}, + date = {1965}, + entrysubtype = {procedure-rule}, + pagination = {rule}, +} + +@legislation{ccr, + title = {County Court Rules}, + shorttitle = {CCR}, + keywords = {en}, + date = {1985}, + pagination = {rule}, + entrysubtype = {procedure-rule}, +} + +@legislation{2002/60, + title = {Council Directive 2002\slash 60\slash EC of + 27 June 2002 laying down specific provisions + for the control of African swine fever and + amending Directive 99\slash 119\slash EEC as + regards Teschen disease and African swine + fever}, + date = {2002}, + origdate = {2002-06-27}, + journaltitle = {OJ}, + series = {L}, + issue = {192}, + pages = {27}, + type = {directive}, + number = {2002/60/EC}, + pagination = {article}, + keywords = {eu}, +} + +@legislation{merger, + title = {Council Regulation (EC) No 139/2004 of 20 + January 2004 on the control + of concentrations between undertakings}, + type = {regulation}, + entrysubtype = {regulation}, + journaltitle = {OJ}, + volume = {24}, + series = {L}, + date = {2004}, + pages = {1--22}, + keywords = {eu}, + number = {139/2004}, +} + +@legislation{teu, + title = {Consolidated Version of the + Treaty on European Union}, + indextitle = {Treaty on European Union}, + date = {2010}, + journaltitle = {OJ}, + series = {C}, + volume = {83}, + pages = {13}, + shorthand = {TEU}, + entrysubtype = {eu-treaty}, + pagination = {article}, + keywords = {eu}, +} + +@jurisdiction{antaios85, + title = {Antaios Compania Naviera S.A. v. Salen Rederierna A.B. (The Nema)}, + shorttitle = {The Nema}, + date = {1985}, + reporter = {A.C.}, + pages = {191}, + court = {H.L.}, + additionalreports = {[1984] 3 WLR 592 and (1984) 128 SJ 564 and [1984] 3 All ER 229 and [1984] 2 Lloyd's Rep 235}, + keywords = {gb}, +} + +@jurisdiction{clearbrook, + title = {Clearbrook Ironworks Ltd. v. Letorneau}, + number = {2006 FCA 42}, + volume = {46}, + reporter = {C.P.R.}, + series = {4th}, + pages = {241}, + date = {2006}, + pagination = {paragraph}, + keywords = {ca}, +} +@jurisdiction{tang, + title = {R. v. Tang}, + date = {2008}, + volume = {237}, + reporter = {C.L.R.}, + pages = {1}, + keywords = {au}, +} +@jurisdiction{bakker, + title = {Bakker v. Stewart}, + date = {1980}, + reporter = {V.R.}, + pages = {17}, + keywords = {au}, +} + +@book{birks87, + translator = {Birks, Peter and McLeod, Grant}, + title = {The Institutes of Justinian}, + indextitle = {Institutes of Justinian, The}, + publisher = {Duckworth}, + date = 1987, + location = {London}, +} +@jurisdiction{adbhu, + keywords = {eu}, + title = {Procureur de la R\'epublique v ADBHU}, + shorttitle = {ADBHU}, + number = {240/83}, + institution = {ECJ}, + date = {1985}, + reporter = {ECR}, + pages = {531}, +} + +@jurisdiction{C430/93, + keywords = {eu}, + title = {Jereon van Schijndel v Stichting Pensioenfonds voor Fysiotherapeuten}, + shorttitle = {van Schijndel}, + number = {C-430/93--C-431/93}, + institution = {ECJ}, + reporter = {ECR}, + volume = {I}, + date = {1998}, + pages = {4705}, +} + +@jurisdiction{T344/99, + keywords = {eu}, + title = {Arne Mathisen AS v Council}, + shorttitle = {Arne Mathisen}, + number = {T-344/99}, + institution = {CFI}, + reporter = {ECR}, + volume = {II}, + pages = {2905}, + date = {2002}, +} + +@jurisdiction{C556/07, + keywords = {eu}, + title = {Commission v France}, + date = {2009}, + reporter = {OJ}, + series = {C}, + volume = {102}, + pages = {8}, + number = {C-556/07}, + institution = {ECJ}, +} + +@jurisdiction{T277/08, + keywords = {eu}, + title = {Bayer Healthcare v OHMI--Uriach Aquilea OTC}, + institution = {CFI}, + number = {T-277/08}, + date = {2009-11-11},} + +@jurisdiction{alcatel, + keywords = {eu}, + title = {Alcatel/Telettra}, + userb = {IV/M.042}, + number = {91\slash 251\slash EEC}, + institution = {commission}, + type = {Decision}, + date = {1991}, + reporter = {OJ}, + series = {L}, + volume = {122}, + pages = {48}, +} + +@jurisdiction{C176/03, + keywords = {eu}, + title = {Commission v Council}, + number = {C\textendash176/03}, + date = {2005}, + reporter = {ECR}, + volume = {I}, + pages = {7879}, + institution = {ECJ}, +} + +@jurisdiction{verkehrsorgani, + keywords = {eu}, + title = {Georg Verkehrsorgani v Ferrovie dello Stato}, + userb = {Case COMP\slash 37.685}, + number = {2004/33/EC}, + institution = {commission}, + year = {2004}, + reporter = {OJ}, + series = {L}, + issue = {11}, + pages = {17}, + hyphenation = {italian}, +} + +@jurisdiction{boardman, + title = {Phipps v Boardman}, + keywords = {gb}, + reporter = {AC}, + date = {1967}, + volume = 2, + pages = {46}, + institution = {HL}, + options = {year-essential=true}, + shorthand = {Phipps}, +} + +@article{bm:note, + author = {Neil Andrews}, + journaltitle = {CLJ}, + date = 1986, + pages = 220, + entrysubtype = {casenote}, + crossref = {boardman}, +} + +@jurisdiction{corr08, + title = {Corr v I.B.C. Vehicles Ltd.}, + keywords = {gb}, + date = {2008}, + number = {[2008] UKHL 13}, + reporter = {AC}, + volume = {1}, + pages = {884}, + options = {year-essential=true}, + institution = {HL}, + shorttitle = {Corr}, + pagination = {[]}, +} +@jurisdiction{jameel04, + title = {Jameel v. Wall Street Journal + Europe SPRL}, + shorttitle = {Jameel v Wall Street Journal}, + number = {[2006] UKHL 44}, + date = {2007}, + volume = {1}, + reporter = {A.C.}, + pages = {359}, + options = {year-essential}, +} + +@Book{book:1, + author = {A N Author}, + title = {Title of Book}, + date = 1998, + location = {London}, + publisher = {{Sweet \& Maxwell}} +} +@jurisdiction{page96, + title = {Page v Smith}, + keywords = {en}, + date = {1996}, + reporter = {AC}, + pages = {155}, + institution = {HL}, + annotation = {affirmed \cite{corr}}, +} + +@jurisdiction{barrett01, + title = {Barrett v Enfield LBC}, + keywords = {en}, + date = {2001}, + reporter = {AC}, + volume = {2}, + pages = {550}, + institution = {HL}, + options = {year-essential=true}, +} + +@jurisdiction{barrett01a, + title = {Barrett v Enfield LBC}, + keywords = {en}, + date = {2001}, + reporter = {BMLR}, + volume = {49}, + pages = {1}, + lista = {First and Second and Third}, + institution = {HL}, +} + +@jurisdiction{rea01, + title = {Re A (Conjoined Twins)}, + indextitle = {A (Conjoined Twins), Re}, + keywords = {en}, + date = {2001}, + reporter = {Fam}, + options = {year-essential=false}, + pages = 147, +} + +@jurisdiction{madoff09, + title = {Re Bernard L Madoff Investment Securities LLC}, + number = {[2009] EWHC 442 (Ch)}, + date = {2010}, + origdate = {2009}, + reporter = {BCC}, + pages = 328, + pagination = {[]}, + shorthand = {Re Madoff Securities}, +} + +@jurisdiction{taylor79, + title = {Taylor v Glass}, + date = {1979}, + reporter = {CLY}, + institution = {CA}, + pages = {672}, + options = {year-essential=true}, +} + +@jurisdiction{quainoo82, + title = {Quainoo v Brent and Harrow AHA}, + date = {1982}, + volume = {132}, + reporter = {NLJ}, + pages = {1100}, + institution = {QB}, +} + +@jurisdiction{powick93, + title = {Powick v Malvern Wells Water Co}, + date = {1993-09-28}, + reporter = {The Times}, + institution = {QB}, + entrysubtype = {newspaper}, +} + +@jurisdiction{emerald10, + title = {Emerald Supplies Ltd v British Airways plc}, + number = {[2009] EWHC 741 (Ch)}, + date = {2010}, + origdate = {2009}, + reporter = {Ch}, + pages = {48}, + shorttitle = {Emerald Supplies Ltd}, +} + +@jurisdiction{stubbs90, + title = {Stubbs v Sayer}, + institution = {CA}, + date = {1990-11-08}, +} + +@jurisdiction{calvert02, + title = {Calvert v Gardiner}, + number = {[2002] EWHC 1394 (QB)}, + institution = {QB}, + date = {2002-01-01}, +} + +@article{boyle04, + author = {Boyle, James}, + title = {A Manifesto on WIPO and the Future of Intellectual + Property}, + journaltitle = {2004 Duke L \& Tech Review 0009}, + url = + {http://dltr.law.duke.edu/2004/09/08/a-manifesto-on-wipo-and-the-future-of-intellectual-property}, + urldate = {2012-07-18}, +} + +@misc{brown:letter, + title = {Letter from Gordon Brown to Lady Ashton}, + date = {2009-11-20}, +} + +@book{burrows02, + author = {Burrows, Andrew}, + title = {The Law of Resitution}, + edition = 2, + publisher = {Butterworths}, + date = 2002, +} + +@book{burrows04, + author = {Burrows, Andrew}, + title = {Remedies for Torts and Breach of Contract}, + edition = 3, + publisher = {OUP}, + date = 2004, +} + +@inbook{cartwright09, + author = {Cartwright, John}, + title = {The Fiction of the \enquote{Reasonable Man}}, + crossref = {castermans09}, +} + +@book{castermans09, + editor = {Castermans, A. G. and others}, + title = {Ex Libris Hans Nieuwenhuis}, + publisher = {Kluwer}, + date = 2009, +} + +@article{craig05, + author = {Craig, Paul}, + title = {Theory \enquote{Pure Theory} and Values in Public + Law}, + date = 2005, + journaltitle = {PL}, + pages = 440, +} + +@article{croft, + title = {Supreme Court Warns on Quality}, + author = {Jane Croft}, + journaltitle = {Financial Times}, + address = {London}, + date = {2010-07-01}, + pages = 3, + entrysubtype = {newspaper}, +} + +@book{endicott09, + author = {Endicott, Timothy}, + title = {Administrative Law}, + publisher = {OUP}, + location = {Oxford}, + date = 2009, +} + +@article{greenleaf10, + author = {Greenleaf, Graham}, + title = {The Global Development of Free Access to Legal + Information}, + date = 2010, + url = {http://ejlt.org/article/view/17}, + urldate = {2010-07-10}, + journaltitle = {EJLT}, + volume = 1, + issue = 1, +} + +@article{griffith01, + author = {Griffith, J. A. G.}, + title = {The Common Law and the Political Constitution}, + date = 2001, + journaltitle = {L.Q.R.}, + volume = 117, + pages = 42, +} + +@book{hart08, + author = {Hart, H. L. A.}, + title = {Punishment and Responsibility}, + subtitle = {Essays in the Philosophy of Law}, + editor = {Gardner, John}, + edition = 2, + publisher = {OUP}, + date = 2008, +} + +@misc{honore:interview, + author = {Endicott, Timothy and Gardner, John}, + title = {Interview with Tony Honor\'e, Emeritus Regius + Professor of Civil Law, University of Oxford}, + location = {Oxford}, + date = {2007-07-17}, + shorttitle = {Interview with Tony Honor\'e}, +} + +@book{horder00, + editor = {Horder, Jeremy}, + title = {Oxford Essays in Jurisprudence: Fourth Series}, + publisher = {OUP}, + date = 2000, +} + +@book{jones09, + author = {Jones, Gareth}, + title = {Goff and Jones: The Law of Restitution}, + edition = {1st Supp, 7th edn}, + publisher = {{Sweet~\& Maxwell}}, + date = 2009, + location = {London}, +} + +@book{kotz98, + author = {Zweigert, K. and K\"otz, H.}, + title = {An Introduction to Comparative Law}, + translator = {Weir, Tony}, + edition = 3, + publisher = {OUP}, + date = 1998, +} + +@misc{kull:interview, + title = {Interview with Irene Kull, Assistant Dean, Faculty + of Law, Tartu University}, + location = {Tartu, Estonia}, + date = {2003-08-04}, +} + +@book{lenaerts2, + title = {Constitutional Law of the European Union}, + edition = 2, + author = {Lenaerts, Koen and Piet van Nuffel}, + editor = {Bray, Robert}, + publisher = {Sweet \& Maxwell}, + date = 2005, +} + +@book{leviathan, + author = {Hobbes, Thomas}, + title = {Leviathan}, + publisher = {Penguin}, + date = 1985, + origdate = 1651, + location = {Harmondsworth}, +} + +@article{loader, + title = {The Great Victim of this Get Tough Hyperactivity is + Labour}, + author = {Ian Loader}, + journaltitle = {The Guardian}, + location = {London}, + date = {2008-06-19}, + url = + {http://www.guardian.co.uk/commentisfree/2008/jun/19/justice.ukcrime}, + urldate = {2009-11-19}, + entrysubtype = {newspaper}, +} + +@reference{halsbury5, + title = {Halsbury's Laws}, + pagination = {paragraph}, + edition = {5}, + date = {2010}, + publisher = {Butterworths}, +} + +@inreference{halsbury5:57, + volume = {57}, + crossref = {halsbury5}, + pagination = {paragraph}, +} + +@reference{iess, + title = {International Encyclopaedia of the Social Sciences III}, + date = {1968}, +} + +@inreference{friedrich68, + title = {Constitutions and Constitutionalism}, + author = {Friedrich, CJ}, + pages = 319, + maintitle = {International Encyclopaedia of the + Social Sciences III}, + date = {1968}, +} + +@inreference{friedrich68a, + title = {Constitutions and Constitutionalism}, + author = {Friedrich, C.J.}, + pages = {319}, + volume = {III}, + maintitle = {International Encyclopaedia of the + Social Sciences}, + date = {1968}, +} + +@reference{cross, + title = {Cross on Local Government Law}, + options = {looseleaf}, + date = {2010}, +} + +@commentary{stair, + author = {Stair}, + title = {Institutions}, + keywords = {sc}, + } + +@commentary{colitt, + author = {Coke}, + title = {Co Litt}, + keywords = {en}, +} + +@commentary{blackstone, + author = {Blackstone}, + title = {Commentaries}, + shorttitle = {Bl Comm}, + keywords = {en}, +} + +@legislation{supremacy1558, + title = {Act of Supremacy}, + date = {1558}, + entrysubtype= {primary}, + pagination = {section}, + keywords = {en}, +} + +@legislation{shipping1995, + title = {Shipping and Trading Interests (Protection) Act}, + date = {1995}, + entrysubtype= {primary}, + pagination = {section}, + keywords = {en}, +} + +@legislation{nia1965, + title = {Nuclear Installations Act}, + date = {1965}, + shorthand = {NIA 1965}, + keywords = {en}, + pagination = {section}, + entrysubtype= {primary}, + keywords = {en}, + note = {as amended}, +} + +@legislation{cpa1987, + title = {Consumer Protection Act}, + year = {1987}, + keywords = {en}, + pagination= {section}, + type = {primary}, +} + +@jurisdiction{boulton57, + title = {Boulton v Jones}, + date = {1857}, + volume = {2}, + journaltitle = {H\&N}, + pages = {564}, + keywords = {en}, + userb = {157}, + userc = {ER}, + usere = {232--242}, +} + +@jurisdiction{henly28, + title = {Henly v Mayor of Lyme}, + shorttitle = {Henly}, + date = {1828}, + volume = {5}, + reporter = {Bing}, + pages = {91}, + keywords = {en}, + parvolume = {130}, + parreporter= {ER}, + parpages = {995}, + options = {no-ibid=true}, +} + +@jurisdiction{johnston86, + title = {Johnston v Ireland}, + reporter = {Series A}, + pages = {122}, + date = {1986}, + institution = {ECtHR}, + keywords = {echr}, +} + +@jurisdiction{osman98, + title = {Osman v UK}, + reporter = {ECHR}, + date = {1998}, + volume = {8}, + pages = {3124}, + institution = {ECtHR}, + keywords = {echr}, +} + +@jurisdiction{omojudi10, + title = {Omojudi v UK}, + reporter = {EHRR}, + date = {2010}, + pages = {10}, + volume = {51}, + institution = {ECtHR}, + keywords = {echr}, +} + +@jurisdiction{x71, + title = {X v Netherlands}, + date = {1971}, + volume = {38}, + reporter = {CD}, + pages = {9}, + court = {Commission}, + keywords = {echr}, +} + +@jurisdiction{ccsu87, + title = {Council of Civil Service Unions v UK}, + date = {1987}, + volume = {10}, + reporter = {EHRR}, + pages = {269}, + institution = {Commission}, + keywords = {echr}, +} + +@jurisdiction{simpson86, + title = {Simpson v UK}, + date = {1989}, + volume = {64}, + reporter = {DR}, + pages = {188}, + institution = {Commission}, + keywords = {echr}, +} + +@jurisdiction{balogh04, + title = {Balogh v Hungary}, + number = {47940/99}, + date = {2004-07-20}, + institution = {E{\mbox{Ct}}HR}, + keywords = {echr}, +} + +@jurisdiction{hislop42, + title = {Hislop v Durham}, + date = {1842}, + volume = {4}, + reporter = {D}, + pages = {1168}, + keywords = {sc}, +} + +@jurisdiction{adams03, + title = {Adams v Advocate General}, + date = {2003}, + reporter = {SC}, + pages = {171}, + institution = {OH}, + keywords = {sc}, +} + +@jurisdiction{dodds03, + title = {Dodds v HM Advocate}, + date = {2003}, + reporter = {JC}, + pages = {8}, + keywords = {sc}, +} + +@jurisdiction{crofters02, + title = {Crofters Commission v Scottish Ministers}, + date = {2002}, + reporter = {SLT}, + series = {(Land Ct)}, + pages = {19}, + keywords = {sc}, +} + +@jurisdiction{davidson05, + title = {Davidson v Scottish Ministers}, + date = {2006}, + number = {[2005] UKHL 74}, + reporter = {SC (HL)}, + keywords = {gb}, + options = {scottish-style=true}, +} + +@jurisdiction{smart06, + title = {Smart v HM Advocate}, + number = {[2006] HJAC 12}, + date = {2006}, + reporter = {JC}, + pages = {119}, + keywords = {sc}, +} + + +@jurisdiction{p88, + title = {P v UK}, + number = {13473/87}, + date = {1988-07-11}, + institution = {Commission}, + keywords = {echr}, +} + +@report{rc:capital, + title = {Report of the Royal Commission on Capital Punishment}, + author = {{Home Office}}, + series = {Cmd}, + number = {8932}, + date = {1953}, + pagination = {paragraph}, +} + +@report{autumnperf, + title = {2008 Autumn Performance Report}, + institution = {Department for Children, Schools and Families}, + series = {Cm}, + number = {7507}, + date = {2008}, +} + +@report{eliminating:poverty, + title = {Eliminating World Poverty}, + subtitle = {Building our Common Future}, + author = {{Department for International Development}}, + number = {Cm 7656}, + type = {White Paper}, + date = {2009}, +} + +@report{lawcom313, + title = {Reforming Bribery}, + institution = {Law Commission}, + number = {Law Com No 313}, + date = {2008}, + pagination = {paragraph}, +} + +@report{scotlawcom196, + title = {Damages for Psychiatric Injury}, + institution = {Scottish Law Commission}, + number = {Scot Law Com No 196}, + date = {2004-11-11}, + pagination = {paragraph}, + usera = {officialreports}, +} + +@report{lawcomcp121, + title = {Privity of Contract: Contracts for the Benefit + of Third Parties}, + author = {{Law Commission}}, + number = {Law Com CP No 121}, + date = {1991}, + pagination = {paragraph}, +} + +@report{genomic, + title = {Genomic Medicine}, + author = {Science and Technology Committee}, + entrysubtype = {parliamentary}, + number = {HL 107}, + volume = {1}, + date = {2008/2009}, +} + +@report{equality, + title = {Legislative Scrutiny: Equality Bill (second report); + Digital Economy Bill}, + institution = {Joint Committee on Human Rights}, + entrysubtype = {parliamentary}, + date = {2009/2010}, + number = {HL 73, HC 425}, +} + +@report{patient, + title = {Patient Safety}, + institution = {Health Committee}, + entrysubtype = {parliamentary}, + date = {2008/2009}, + volume = {1}, + number = {HC 151}, + pagination = {paragraph}, +} + +@legal{hansardhc, + title = {Official Report, House of Commons}, + shorttitle = {HC Deb}, + entrysubtype = {parliamentary}, + pagination = {column} +} + +@legal{hra:hc:2, + crossref = {hansardhc}, + volume = {123}, + options = {skipbib=true}, + date = {2004-07-31}, + pages = {333--54}, +} + +@legal{hra:hc:3, + crossref = {hansardhc}, + volume = {145}, + date = {2004-08-21}, + pages = {100-103}, +} + +@legal{foia:2r, + volume = {340}, + pages = {714--98}, + date = {1999-12-07}, + crossref = {hansardhc}, + entrysubtype = {parliamentary}, + options = {skipbib=true}, + +} + +@legal{healthbill, + title = {Health Bill Deb}, + date = {2007-01-30}, + pagination = {column}, + entrysubtype = {parliamentary}, +} + + + +@report{com895, + title = {Proposal for a Council Decision on the conclusion, + on behalf of the European Community, of a Protocol + on the Implementation of the Alpine Convention in + the Field of Transport (Transport Protocol)}, + institution = {Commission}, + number = {COM (2008) 895 final}, + entrysubtype = {comdoc} +} + +@report{com13, + title = {Action Plan on consumer access to justice and the + settlement of disputes in the internal market}, + type = {Communication}, + number = {COM (96) 13 final}, + institution = {Commission}, + entrysubtype = {comdoc} +} + +@report{com348, + title = {Proposal for a Council Regulation on jurisdiction and + the recognition and enforcement of judgments in civil + and commercial matters}, + number = {COM (99) 348 final}, + institution = {Commission}, + entrysubtype = {comdoc}, +} + +@book{mcgill:guide, + title = {Canadian Guide to Uniform Legal Citation}, + author = {{McGill Law Journal}}, + edition = 7, + date = 2010, + publisher = {Carswell}, +} + +@book{melbourne, + title = {Australian Guide to Legal Citation}, + author = {{Melbourne University Law Review Association Inc}}, + publisher = {Melbourne University Law Review Association and + Melbourne Journal of International Law}, + edition = 3, + date = 2010, + url = {http://mulr.law.unimelb.edu.au/go/aglc}, + urldate = {2012-07-18}, +} + +@book{oscola, + title = {OSCOLA}, + subtitle = {Oxford Standard for the Citation of Legal + Authorities}, + author = {{Faculty of Law, University of Oxford}}, + url = {http://www.law.ox.ac.uk/oscola}, + date = 2010, + edition = 4, + shorthand = {{{\scshape oscola}}}, +} +@online{cole09, + title = {Virtual Friend Fires Employee}, + journaltitle = {Naked Law}, + date = {2009-05-01}, + url = {http://www.nakedlaw.com/2009/05/index.html}, + urldate = {2009-11-09}, + author = {Cole, Sarah}, +} +@thesis{herberg89, + title = {Injunctive Relief for Wrongful Termination of + Employment}, + author = {Herberg, Javan}, + date = {1989}, + institution = {{University of Oxford}}, + type = {DPhil thesis}, +} +@jurisdiction{corfu, + title = {Corfu Channel Case}, + subtitle = {UK v Albania}, + titleaddon = {Merits}, + date = {1949}, + reporter = {ICJ Rep}, + pages = {4}, + keywords = {int}, +} +@jurisdiction{nicaragua, + title = {Land, Island and Maritime Frontier + Case}, + subtitle = {El Salvador\slash Hon\-duras, Nicaragua + intervening}, + titleaddon = {Application for Intervention}, + date = {1994}, + reporter = {ICJ Rep}, + pages = {92}, + keywords = {int}, +} +@jurisdiction{wall, + title = {Legal Consequences of the Construction + of a Wall}, + titleaddon = {Advisory Opinion}, + date = {2004}, + url = {http://www.icj-cij.org/icjwww/imwp/imwpframe.htm}, + urldate = {2005-07-21}, + pagination = {[]}, + keywords = {int}, +} +@jurisdiction{chorzow, + title = {Case Concerning the Factory at Chorz\'ow}, + subtitle = {Germany v Poland}, + titleaddon = {Merits}, + indextitle = {Chorz\'ow Factory Case}, + reporter = {PCIJ Rep}, + date = {1928}, + series = {A}, + pages = {17}, + keywords = {int}, +} +@jurisdiction{gex, + title = {Case of the Free Zones of Upper Savoy and + the District of Gex}, + subtitle = {Switzerland v France}, + reporter = {PCIJ Rep}, + series = {Series A/B}, + pages = {No 46}, + keywords = {int}, +} +@jurisdiction{consular, + title = {Case Concerning the Vienna Convention on + Consular Relations}, + subtitle = {Germany v USA}, + titleaddon = {Request for the Indication of Provisional + Measures: Order}, + number = {General List No 104}, + reporter = {ICJ}, + date = {1999}, + pages = {1}, + keywords = {int}, +} +@legislation{confund, + title = {Consolidated Fund Bill}, + date = {2008/2009}, + institution = {HC}, + number = {5}, + keywords = {gb, draft}, + entrysubtype = {primary}, + pagination = {clause}, +} + +@book{oscola3, + title = {OSCOLA}, + subtitle = {Oxford Standard for the Citation of Legal + Authorities}, + author = {{Faculty of Law, University of Oxford}}, + url = + {http://www.law.ox.ac.uk/published/oscola/oscola_2006.pdf}, + date = 2006, + edition = 3, +} +@legislation{confund2, + title = {Consolidated Fund Bill}, + date = {2008/2009}, + institution = {HC}, + number = {34}, + keywords = {gb, draft}, + entrysubtype = {primary}, + pagination = {clause}, +} +@legislation{academies, + title = {Academies Bill}, + date = {2010/2011}, + institution = {HL}, + number = {1}, + keywords = {gb, draft}, + entrysubtype = {primary}, + pagination = {clause}, +} +@legal{charitiesnotes, + title = {Explanatory Notes on the Charities Act 2006}, + indextitle = {Charities Act 2006, Explanatory Note}, + pagination = {paragraph}, + entrysubtype = {explanatory note}, +} +@report{biblatex2, + author = {Lehman, Philip and Boruvka, Audrey and Kime, Philip and Wright, Joseph}, + title = {The biblatex Package}, + date = {2012}, + edition = {v 2.0}, +} +@legal{scheldt, + title = {International Agreement on the Scheldt}, + shorttitle = {Scheldt Agreement}, + parties = {Belgium and France and Netherlands}, + execution = {signed=2002-12-01 and inforce=2005-12-01}, + pagination = {article}, + volume = {2351}, + journaltitle = {UNTS}, + pages = {13}, + entrysubtype = {treaty}, +} +@legal{aaland, + title = {Convention Relating to the Non-Fortification + and Neutralisation of the Aaland Islands}, + parties = {{Aaaland Islands} and Germany and Denmark and Estonia + and Finland and France}, + lista = {opened=1921-10-02 and inforce=1922-12-06}, + pagination = {article}, + volume = {9}, + date = {1921}, + journaltitle = {LNTS}, + pages = {211}, + entrysubtype = {treaty}, +} +@legal{mongolia, + title = {Agreement with Mongolia (Economic Co-operation)}, + shortitle = {Mongolia Cooperation Agreement}, + journaltitle= {O.J.}, + series = {L}, + issue = {264}, + pages = {1}, + date = {1978}, + entrysubtype= {treaty}, +} + +@inbook{pila10, + author = {Pila, Justine}, + editor = {Dutton, William H. and Jeffreys, Paul W.}, + booktitle = {World Wide Research: Reshaping the Sciences and + Humanities in the Century of Information}, + publisher = {MIT Press}, + date = 2010, + title = {The Value of Authorship in the Digital Environment}, + pages = {210--231}, +} + +@inproceedings{reliance, + author = {McFarlane, Ben and Nolan, Donal}, + title = {Remedying Reliance: The Future Development of + Promissory and Proprietary Estoppel in English Law}, + eventtitle = {Obligations III conference}, + location = {Brisbane}, + eventdate = {2006-07-01}, +} + +@book{roberts09, + author = {Roberts, Julian V and Hough, Mike}, + title = {Public Opinion and the Jury: An International + Literature Review}, + series = {Ministry of Justice Research Series}, + number = {1/09}, + date = 2009, +} + +@article{rowbottom07, + entrysubtype = {casenote}, + author = {Rowbottom, Jacob}, + crossref = {jameel04}, + date = 2007, + journaltitle = {C.L.J.}, + pages = {8--11}, +} + +@misc{spbill4, + title = {SP Bill 4 Abolition of Feudal Tenure etc (Scotland) + Bill [as introduced] Session 1}, + date = 1999, + tabulate = {pmats}, + options = {skipbib}, +} + +@Book{testbook, + author = {A T Author}, + title = {Title}, + editor = {Editor, E and Beditor, B}, + publisher = {Publisher}, + origdate = 1232, + translator = {Translator}, + volume = 1, + location = {Location}, + edition = 3, + note = {note}, + eprint = {eprintreference}, + eprinttype = {google}, + pagination = {paragraph}, + year = 2000 +} +@jurisdiction{western97, + title = {Western Alliance Insurance Co. v. Gill}, + volume = {686}, + reporter = {N.E.}, + series = {2}, + pages = {997}, + location = {Mass.}, + date = {1997}, + keywords = {us}, +} +@jurisdiction{harbor91, + title = {Harbor Insurance Co. v. Tishman Construction Co.}, + volume = {578}, + reporter = {N.E.2d.}, + pages = {1197}, + location = {Ill.}, + court = {App. Ct.}, + date = {1991}, + keywords = {us}, +} +@jurisdiction{operadora09, + title = {Re Operadora D.B. Mexico S.A.}, + indextitle = {Operadora D.B. Mexico S.A., Re}, + number = {6:09-{}cv-{}383-{}Orl 022GJK}, + eprint = {2009 WL 2423138}, + court = {M.D. Fla.}, + date = {2009}, + keywords = {us}, +} + +@article{waldron06, + author = {Waldron, Jeremy}, + title = {The Core of the Case against Judicial Review}, + date = 2006, + volume = 115, + journaltitle = {Yale L.J.}, + pages = 1346, +} + +@article{young09, + author = {Young, Alison L.}, + title = {In Defence of Due Deference}, + date = 2009, + journaltitle = {MLR}, + volume = 72, + pages = 554, +} + +@legal{echr:treaty, + title = {Convention for the Protection of Human Rights + and Fundamental Freedoms}, + execution = { opened=1950-11-04 and inforce=1953-09-03 }, + volume = {213}, + reporter = {U.N.T.S.}, + pages = {221}, + note = {as amended by Protocol No 14bis to the Convention + for the Protection of Human Rights and + Fundamental Freedoms + (opened for signature 27 May 2009, entered into force + 1 September 2009) CETS No 204}, + shorthand = {ECHR}, +} diff --git a/Master/texmf-dist/makeindex/oscola/oscola.ist b/Master/texmf-dist/makeindex/oscola/oscola.ist new file mode 100644 index 00000000000..b98705ae67f --- /dev/null +++ b/Master/texmf-dist/makeindex/oscola/oscola.ist @@ -0,0 +1,6 @@ +% Part of the OSCOLA package for biblatex: see the file +% oscola.lbx for copyright and licence information + +delim_0 "\\space\\dotfill\\space " +delim_1 "\\space\\dotfill\\space " +delim_2 "\\space\\dotfill\\space " \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/oscola/english-oscola.lbx b/Master/texmf-dist/tex/latex/oscola/english-oscola.lbx new file mode 100644 index 00000000000..b3d57a5aa15 --- /dev/null +++ b/Master/texmf-dist/tex/latex/oscola/english-oscola.lbx @@ -0,0 +1,572 @@ +% Based on english.lbx by Philip Lehman and others +% Part of the OSCOLA package for biblatex: see the file +% oscola.lbx for copyright and licence information + +\ProvidesFile{english-oscola.lbx} +[2012/08/16 v 0.1 Biblatex localisation file for OSCOLA citations] + +\DeclareRedundantLanguages{english}{english,british,american, +canadian,australian,newzealand,UKenglish,USenglish} + +\NewBibliographyString{regulation, + regulations, + eucase, + eujoinedcases, + commissiondecision, + article, + articles, + application, + rule, + rules, + order, + directive, + decision, + bill, + draft, + clause, + clauses, + signed, + opened, + inforce, + adopted, + casenote, + firstpublished} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{% + \textendash\penalty\hyphenpenalty}% breakable dash + \protected\def\bibdatedash{\bibrangedash}% + \def\finalandcomma{\addcomma}% + \protected\def\mkbibordinal#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 nd\or rd\else th\fi + \endgroup}% + \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}% + \protected\def\mkbibmascord{\mkbibordinal}% + \protected\def\mkbibfemord{\mkbibordinal}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {}% + {\stripzeros{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2}% + {}% + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\space}}% + \iffieldundef{#1}% + {}% + {\stripzeros{\thefield{#1}}}}% + \protected\def\mkbibdateshort#1#2#3{% + \iffieldundef{#2} + {} + {\mkdatezeros{\thefield{#2}}% + \iffieldundef{#3} + {\iffieldundef{#1}{}{/}} + {/}}% + \iffieldundef{#3} + {} + {\mkdatezeros{\thefield{#3}}% + \iffieldundef{#1}{}{/}}% + \mkdatezeros{\thefield{#1}}}% + \savecommand\mkbibrangecomp + \savecommand\mkbibrangecompextra + \savecommand\mkbibrangeterse + \savecommand\mkbibrangeterseextra + \protected\def\mkbibrangecomp{% + \lbx@us@mkbibrangetrunc@long{long}}% + \protected\def\mkbibrangeterse{% + \lbx@us@mkbibrangetrunc@short{short}}% + \protected\def\mkbibrangecompextra{% + \lbx@us@mkbibrangetruncextra@long{long}}% + \protected\def\mkbibrangeterseextra{% + \lbx@us@mkbibrangetruncextra@short{short}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\mkbibrangecomp + \restorecommand\mkbibrangecompextra + \restorecommand\mkbibrangeterse + \restorecommand\mkbibrangeterseextra +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliography}{Bibliography}}, + references = {{References}{References}}, + shorthands = {{List of Abbreviations}{Abbreviations}}, + editor = {{editor}{ed}}, + editors = {{editors}{eds}}, + compiler = {{compiler}{comp}}, + compilers = {{compilers}{comp}}, + redactor = {{redactor}{red}}, + redactors = {{redactors}{red}}, + founder = {{founder}{found}}, + founders = {{founders}{found}}, + continuator = {{continued}{cont}}, % FIXME: unsure + continuators = {{continued}{cont}}, % FIXME: unsure + collaborator = {{collaborator}{collab}}, % FIXME: unsure + collaborators = {{collaborators}{collab}}, % FIXME: unsure + translator = {{translator}{tr}}, + translators = {{translators}{trs}}, + commentator = {{commentator}{comm}}, + commentators = {{commentators}{comm}}, + annotator = {{annotator}{annot}}, + annotators = {{annotators}{annot}}, + commentary = {{commentary}{comm}}, + annotations = {{annotations}{annot}}, + introduction = {{introduction}{intro}}, + foreword = {{foreword}{foreword}}, + afterword = {{afterword}{afterword}}, + editortr = {{editor and translator}% + {ed and tr}}, + editorstr = {{editors and translators}% + {eds and trs}}, + editorco = {{editor and commentator}% + {ed and comm}}, + editorsco = {{editors and commentators}% + {eds and comm}}, + editoran = {{editor and annotator}% + {ed and annot}}, + editorsan = {{editors and annotators}% + {eds and annot}}, + editorin = {{editor and introduction}% + {ed and introd}}, + editorsin = {{editors and introduction}% + {eds and introd}}, + editorfo = {{editor and foreword}% + {ed and foreword}}, + editorsfo = {{editors and foreword}% + {eds and forewords}}, + editoraf = {{editor and afterword}% + {ed and afterword}}, + editorsaf = {{editors and afterword}% + {eds and afterword}}, + editortrco = {{editor, translator\finalandcomma\ and commentator}% + {ed\addcomma\space trans\finalandcomma\ and comm}}, + editorstrco = {{editors, translators\finalandcomma\ and commentators}% + {eds,\addabbrvspace trans\finalandcomma\ and comm}}, + editortran = {{editor, translator\finalandcomma\ and annotator}% + {ed,\addabbrvspace trans\finalandcomma\ and annot}}, + editorstran = {{editors, translators\finalandcomma\ and annotators}% + {eds,\addabbrvspace trans\finalandcomma\ and annot}}, + editortrin = {{editor, translator\finalandcomma\ and introduction}% + {ed,\addabbrvspace trans\finalandcomma\ and introd}}, + editorstrin = {{editors, translators\finalandcomma\ and introduction}% + {eds,\addabbrvspace trans\finalandcomma\ and introd}}, + editortrfo = {{editor, translator\finalandcomma\ and foreword}% + {ed.,\addabbrvspace trans\finalandcomma\ and forew}}, + editorstrfo = {{editors, translators\finalandcomma\ and foreword}% + {eds,\addabbrvspace trans\finalandcomma\ and forew}}, + editortraf = {{editor, translator\finalandcomma\ and afterword}% + {ed,\addabbrvspace trans\finalandcomma\ and afterw}}, + editorstraf = {{editors, translators\finalandcomma\ and afterword}% + {eds,\addabbrvspace trans\finalandcomma\ and afterw}}, + editorcoin = {{editor, commentator\finalandcomma\ and introduction}% + {ed,\addabbrvspace comm\finalandcomma\ and introd}}, + editorscoin = {{editors, commentators\finalandcomma\ and introduction}% + {eds,\addabbrvspace comm\finalandcomma\ and introd}}, + editorcofo = {{editor, commentator\finalandcomma\ and foreword}% + {ed,\addabbrvspace comm\finalandcomma\ and forew}}, + editorscofo = {{editors, commentators\finalandcomma\ and foreword}% + {eds,\addabbrvspace comm\finalandcomma\ and forew}}, + editorcoaf = {{editor, commentator\finalandcomma\ and afterword}% + {ed,\addabbrvspace comm\finalandcomma\ and afterw}}, + editorscoaf = {{editors, commentators\finalandcomma\ and afterword}% + {eds,\addabbrvspace comm\finalandcomma\ and afterw}}, + editoranin = {{editor, annotator\finalandcomma\ and introduction}% + {ed,\addabbrvspace annot\finalandcomma\ and introd}}, + editorsanin = {{editors, annotators\finalandcomma\ and introduction}% + {eds,\addabbrvspace annot\finalandcomma\ and introd}}, + editoranfo = {{editor, annotator\finalandcomma\ and foreword}% + {ed,\addabbrvspace annot\finalandcomma\ and forew}}, + editorsanfo = {{editors, annotators\finalandcomma\ and foreword}% + {eds,\addabbrvspace annot\finalandcomma\ and forew}}, + editoranaf = {{editor, annotator\finalandcomma\ and afterword}% + {ed,\addabbrvspace annot\finalandcomma\ and afterw}}, + editorsanaf = {{editors, annotators\finalandcomma\ and afterword}% + {eds,\addabbrvspace annot\finalandcomma\ and afterw}}, + editortrcoin = {{editor, translator, commentator\finalandcomma\ and introduction}% + {ed,\addabbrvspace trans, comm\finalandcomma\ and introd}}, + editorstrcoin = {{editors, translators, commentators\finalandcomma\ and introduction}% + {eds,\addabbrvspace trans, comm\finalandcomma\ and introd}}, + editortrcofo = {{editor, translator, commentator\finalandcomma\ and foreword}% + {ed,\addabbrvspace trans, comm\finalandcomma\ and forew}}, + editorstrcofo = {{editors, translators, commentators\finalandcomma\ and foreword}% + {eds,\addabbrvspace trans, comm\finalandcomma\ and forew}}, + editortrcoaf = {{editor, translator, commentator\finalandcomma\ and afterword}% + {ed,\addabbrvspace trans, comm\finalandcomma\ and afterw}}, + editorstrcoaf = {{editors, translators, commentators\finalandcomma\ and afterword}% + {eds,\addabbrvspace trans, comm\finalandcomma\ and afterw}}, + editortranin = {{editor, translator, annotator\finalandcomma\ and introduction}% + {ed,\addabbrvspace trans, annot\finalandcomma\ and introd}}, + editorstranin = {{editors, translators, annotators\finalandcomma\ and introduction}% + {eds,\addabbrvspace trans, annot\finalandcomma\ and introd}}, + editortranfo = {{editor, translator, annotator\finalandcomma\ and foreword}% + {ed,\addabbrvspace trans, annot\finalandcomma\ and forew}}, + editorstranfo = {{editors, translators, annotators\finalandcomma\ and foreword}% + {eds,\addabbrvspace trans, annot\finalandcomma\ and forew}}, + editortranaf = {{editor, translator, annotator\finalandcomma\ and afterword}% + {ed,\addabbrvspace trans, annot\finalandcomma\ and afterw}}, + editorstranaf = {{editors, translators, annotators\finalandcomma\ and afterword}% + {eds,\addabbrvspace trans, annot\finalandcomma\ and afterw}}, + translatorco = {{translator and commentator}% + {trans\ and comm}}, + translatorsco = {{translators and commentators}% + {trans\ and comm}}, + translatoran = {{translator and annotator}% + {trans\ and annot}}, + translatorsan = {{translators and annotators}% + {trans\ and annot}}, + translatorin = {{translation and introduction}% + {trans\ and introd}}, + translatorsin = {{translation and introduction}% + {trans\ and introd}}, + translatorfo = {{translation and foreword}% + {trans\ and forew}}, + translatorsfo = {{translation and foreword}% + {trans\ and forew}}, + translatoraf = {{translation and afterword}% + {trans\ and afterw}}, + translatorsaf = {{translation and afterword}% + {trans\ and afterw}}, + translatorcoin = {{translation, commentary\finalandcomma\ and introduction}% + {trans, comm\finalandcomma\ and introd}}, + translatorscoin = {{translation, commentary\finalandcomma\ and introduction}% + {trans, comm\finalandcomma\ and introd}}, + translatorcofo = {{translation, commentary\finalandcomma\ and foreword}% + {trans, comm\finalandcomma\ and forew}}, + translatorscofo = {{translation, commentary\finalandcomma\ and foreword}% + {trans, comm\finalandcomma\ and forew}}, + translatorcoaf = {{translation, commentary\finalandcomma\ and afterword}% + {trans, comm\finalandcomma\ and afterw}}, + translatorscoaf = {{translation, commentary\finalandcomma\ and afterword}% + {trans, comm\finalandcomma\ and afterw}}, + translatoranin = {{translation, annotations\finalandcomma\ and introduction}% + {trans, annot\finalandcomma\ and introd}}, + translatorsanin = {{translation, annotations\finalandcomma\ and introduction}% + {trans, annot\finalandcomma\ and introd}}, + translatoranfo = {{translation, annotations\finalandcomma\ and foreword}% + {trans, annot\finalandcomma\ and forew}}, + translatorsanfo = {{translation, annotations\finalandcomma\ and foreword}% + {trans, annot\finalandcomma\ and forew}}, + translatoranaf = {{translation, annotations\finalandcomma\ and afterword}% + {trans, annot\finalandcomma\ and afterw}}, + translatorsanaf = {{translation, annotations\finalandcomma\ and afterword}% + {trans, annot\finalandcomma\ and afterw}}, + byauthor = {{by}{by}}, + byeditor = {{edited by}{ed}}, + bycompiler = {{compiled by}{compiler}}, + byredactor = {{redacted by}{redactor}}, + byfounder = {{founded by}{founder}}, + bycontinuator = {{continued by}{continuator}}, + bycollaborator = {{in collaboration with}{in collaboration with}}, % FIXME: unsure + bytranslator = {{translated \lbx@lfromlang\ by}{tr}}, + bycommentator = {{commented by}{commentator}}, + byannotator = {{annotated by}{annotator}}, + withcommentator = {{with a commentary by}{with a commentary by}}, + withannotator = {{with annotations by}{with annots\ by}}, + withintroduction = {{with an introduction by}{with an intro\ by}}, + withforeword = {{with a foreword by}{with a forew\ by}}, + withafterword = {{with an afterword by}{with an afterw\ by}}, + byeditortr = {{edited and translated \lbx@lfromlang\ by}% + {edspace and trans\ \lbx@sfromlang\ by}}, + byeditorco = {{edited and commented by}% + {edspace and comm\ by}}, + byeditoran = {{edited and annotated by}% + {edspace and annot\ by}}, + byeditorin = {{edited, with an introduction, by}% + {ed,\addabbrvspace with an introd, by}}, + byeditorfo = {{edited, with a foreword, by}% + {ed,\addabbrvspace with a forew, by}}, + byeditoraf = {{edited, with an afterword, by}% + {ed,\addabbrvspace with an afterw, by}}, + byeditortrco = {{edited, translated \lbx@lfromlang\finalandcomma\ and commented by}% + {ed,\addabbrvspace trans\ \lbx@sfromlang\finalandcomma\ and comm\ by}}, + byeditortran = {{edited, translated \lbx@lfromlang\finalandcomma\ and annotated by}% + {ed,\addabbrvspace trans\ \lbx@sfromlang\finalandcomma\ and annot\ by}}, + byeditortrin = {{edited and translated \lbx@lfromlang, with an introduction, by}% + {edspace and trans\ \lbx@sfromlang, with an introd, by}}, + byeditortrfo = {{edited and translated \lbx@lfromlang, with a foreword, by}% + {edspace and trans\ \lbx@sfromlang, with a forew, by}}, + byeditortraf = {{edited and translated \lbx@lfromlang, with an afterword, by}% + {edspace and trans\ \lbx@sfromlang, with an afterw, by}}, + byeditorcoin = {{edited and commented, with an introduction, by}% + {edspace and comm, with an introd, by}}, + byeditorcofo = {{edited and commented, with a foreword, by}% + {edspace and comm, with a forew, by}}, + byeditorcoaf = {{edited and commented, with an afterword, by}% + {edspace and comm, with an afterw, by}}, + byeditoranin = {{edited and annotated, with an introduction, by}% + {edspace and annot, with an introd, by}}, + byeditoranfo = {{edited and annotated, with a foreword, by}% + {edspace and annot, with a forew, by}}, + byeditoranaf = {{edited and annotated, with an afterword, by}% + {edspace and annot, with an afterw, by}}, + byeditortrcoin = {{edited, translated \lbx@lfromlang\finalandcomma\ and commented, with an introduction, by}% + {ed,\addabbrvspace trans\ \lbx@sfromlang\finalandcomma\ and comm, with an introd, by}}, + byeditortrcofo = {{edited, translated \lbx@lfromlang\finalandcomma\ and commented, with a foreword, by}% + {ed,\addabbrvspace trans\ \lbx@sfromlang\finalandcomma\ and comm, with a forew, by}}, + byeditortrcoaf = {{edited, translated \lbx@lfromlang\finalandcomma\ and commented, with an afterword, by}% + {ed,\addabbrvspace trans\ \lbx@sfromlang\finalandcomma\ and comm, with an afterw, by}}, + byeditortranin = {{edited, translated \lbx@lfromlang\finalandcomma\ and annotated, with an introduction, by}% + {ed,\addabbrvspace trans\ \lbx@sfromlang\finalandcomma\ and annot, with an introd, by}}, + byeditortranfo = {{edited, translated \lbx@lfromlang\finalandcomma\ and annotated, with a foreword, by}% + {ed,\addabbrvspace trans\ \lbx@sfromlang\finalandcomma\ and annot, with a forew, by}}, + byeditortranaf = {{edited, translated \lbx@lfromlang\finalandcomma\ and annotated, with an afterword, by}% + {ed,\addabbrvspace trans\ \lbx@sfromlang\finalandcomma\ and annot, with an afterw, by}}, + bytranslatorco = {{translated \lbx@lfromlang\ and commented by}% + {trans\ \lbx@sfromlang\ and comm\ by}}, + bytranslatoran = {{translated \lbx@lfromlang\ and annotated by}% + {trans\ \lbx@sfromlang\ and annot\ by}}, + bytranslatorin = {{translated \lbx@lfromlang, with an introduction, by}% + {trans\ \lbx@sfromlang, with an introd, by}}, + bytranslatorfo = {{translated \lbx@lfromlang, with a foreword, by}% + {trans\ \lbx@sfromlang, with a forew, by}}, + bytranslatoraf = {{translated \lbx@lfromlang, with an afterword, by}% + {trans\ \lbx@sfromlang, with an afterw, by}}, + bytranslatorcoin = {{translated \lbx@lfromlang\ and commented, with an introduction, by}% + {trans\ \lbx@sfromlang\ and comm, with an introd, by}}, + bytranslatorcofo = {{translated \lbx@lfromlang\ and commented, with a foreword, by}% + {trans\ \lbx@sfromlang\ and comm, with a forew, by}}, + bytranslatorcoaf = {{translated \lbx@lfromlang\ and commented, with an afterword, by}% + {trans\ \lbx@sfromlang\ and comm, with an afterw, by}}, + bytranslatoranin = {{translated \lbx@lfromlang\ and annotated, with an introduction, by}% + {trans\ \lbx@sfromlang\ and annot, with an introd, by}}, + bytranslatoranfo = {{translated \lbx@lfromlang\ and annotated, with a foreword, by}% + {trans\ \lbx@sfromlang\ and annot, with a forew, by}}, + bytranslatoranaf = {{translated \lbx@lfromlang\ and annotated, with an afterword, by}% + {trans\ \lbx@sfromlang\ and annot, with an afterw, by}}, + and = {{and}{and}}, + andothers = {{and others}{and others}}, + andmore = {{and others}{and others}}, + volume = {{volume}{vol}}, + volumes = {{volumes}{vols}}, + jourvol = {{volume}{vol}}, + jourser = {{series}{series}}, + newseries = {{new series}{ns}}, + oldseries = {{old series}{os}}, + edition = {{edition}{edn}}, + reprint = {{reprint}{repr}}, + reprintof = {{reprint of}{repr of}}, + reprintas = {{reprinted as}{rpt as}}, + page = {{page}{p}}, + pages = {{pages}{pp}}, + column = {{column}{col}}, + columns = {{columns}{cols}}, + line = {{line}{l}}, + lines = {{lines}{ll}}, + verse = {{verse}{v}}, + verses = {{verses}{vv}}, + section = {{section}{s}}, + sections = {{sections}{ss}}, + paragraph = {{paragraph}{para}}, + paragraphs = {{paragraphs}{paras}}, + regulation = {{regulation}{reg}}, + regulations = {{regulations}{regs}}, + in = {{in}{in}}, + inseries = {{in}{in}}, + ofseries = {{of}{of}}, + number = {{number}{no}}, + chapter = {{chapter}{chap}}, + mathesis = {{Master's thesis}{MA\addabbrvspace thesis}}, + phdthesis = {{PhD\addabbrvspace thesis}{PhD\addabbrvspace thesis}}, + resreport = {{research report}{research rep}}, + techreport = {{technical report}{techspace rep}}, + software = {{computer software}{compspace software}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{audio CD}{audio CD}}, + version = {{version}{version}}, + url = {{address}{address}}, + urlseen = {{accessed}{accessed}}, + inpress = {{in press}{in press}}, + inpreparation = {{in preparation}{in preparation}}, + submitted = {{submitted}{submitted}}, + citedas = {{hereinafter}{hereinafter}}, + thiscite = {{especially}{esp}}, + seenote = {{see note}{n}}, + quotedin = {{quoted in}{qtdspace in}}, + idem = {{idem}{idem}}, + idemsm = {{idem}{idem}}, + idemsf = {{eadem}{eadem}}, + idemsn = {{idem}{idem}}, + idempm = {{eidem}{eidem}}, + idempf = {{eaedem}{eaedem}}, + idempn = {{eadem}{eadem}}, + idempp = {{eidem}{eidem}}, + ibidem = {{ibidem}{ibid}}, + opcit = {{opspace cit}{opspace cit}}, + loccit = {{locspace cit}{locspace cit}}, + confer = {{cf}{cf}}, + sequens = {{sq}{sq}}, + sequentes = {{sqq}{sqq}}, + passim = {{passim}{pass}}, + see = {{see}{see}}, + seealso = {{see also}{see also}}, + backrefpage = {{cited on page}{citspace on p}}, + backrefpages = {{cited on pages}{citspace on pp}}, + january = {{January}{Jan}}, + february = {{February}{Feb}}, + march = {{March}{Mar}}, + april = {{April}{Apr}}, + may = {{May}{May}}, + june = {{June}{Jun}}, + july = {{July}{Jul}}, + august = {{August}{Aug}}, + september = {{September}{Sep}}, + october = {{October}{Oct}}, + november = {{November}{Nov}}, + december = {{December}{Dec}}, + langamerican = {{American}{American}}, + langbrazilian = {{Brazilian}{Brazilian}}, + langdanish = {{Danish}{Danish}}, + langdutch = {{Dutch}{Dutch}}, + langenglish = {{English}{English}}, + langfrench = {{French}{French}}, + langgerman = {{German}{German}}, + langgreek = {{Greek}{Greek}}, + langitalian = {{Italian}{Italian}}, + langlatin = {{Latin}{Latin}}, + langnorwegian = {{Norwegian}{Norwegian}}, + langportuguese = {{Portuguese}{Portuguese}}, + langspanish = {{Spanish}{Spanish}}, + langswedish = {{Swedish}{Swedish}}, + fromamerican = {{from the American}{from the American}}, + frombrazilian = {{from the Brazilian}{from the Brazilian}}, + fromdanish = {{from the Danish}{from the Danish}}, + fromdutch = {{from the Dutch}{from the Dutch}}, + fromenglish = {{from the English}{from the English}}, + fromfrench = {{from the French}{from the French}}, + fromgerman = {{from the German}{from the German}}, + fromgreek = {{from the Greek}{from the Greek}}, + fromitalian = {{from the Italian}{from the Italian}}, + fromlatin = {{from the Latin}{from the Latin}}, + fromnorwegian = {{from the Norwegian}{from the Norwegian}}, + fromportuguese = {{from the Portuguese}{from the Portuguese}}, + fromspanish = {{from the Spanish}{from the Spanish}}, + fromswedish = {{from the Swedish}{from the Swedish}}, + countryde = {{Germany}{DE}}, + countryeu = {{European Union}{EU}}, + countryep = {{European Union}{EP}}, + countryfr = {{France}{FR}}, + countryuk = {{United Kingdom}{GB}}, + countryus = {{United States of America}{US}}, + patent = {{patent}{pat}}, + patentde = {{German patent}{German pat}}, + patenteu = {{European patent}{European pat}}, + patentfr = {{French patent}{French pat}}, + patentuk = {{British patent}{British pat}}, + patentus = {{US patent}{US pat}}, + patreq = {{patent request}{pat\ req}}, + patreqde = {{German patent request}{German pat\ req}}, + patreqeu = {{European patent request}{European pat\ req}}, + patreqfr = {{French patent request}{French pat\ req}}, + patrequk = {{British patent request}{British pat\ req}}, + patrequs = {{US patent request}{US pat\ req}}, + file = {{file}{file}}, + library = {{library}{library}}, + abstract = {{abstract}{abstract}}, + annotation = {{annotations}{annotations}}, + eucase = {{Case}{Case}}, + eujoinedcases = {{Joined Cases}{Joined Cases}}, + commissiondecision = {{Commission Decision}{Commission Decision}}, + article = {{article}{art}}, + articles = {{articles}{arts}}, + application = {{Application}{App}}, + rule = {{rule}{r}}, + rules = {{rules}{rr}}, + order = {{Order}{Ord}}, + directive = {{Directive}{Dir}}, + decision = {{Decision}{Dec}}, + bill = {{Bill}{Bill}}, + draft = {{draft}{draft}}, + clause = {{clause}{cl}}, + clauses = {{clauses}{cll}}, + inforce = {{entered into force}{entered into force}}, + signed = {{signed}{signed}}, + opened = {{opened for signature}{opened for signature}}, + adopted = {{adopted}{adopted}}, + casenote = {{note}{note}}, + firstpublished = {{first published}{first published}}, +} + +\protected\gdef\lbx@us@mkbibrangetrunc@long#1#2{% + \iffieldundef{#2year} + {} + {\printtext{% + \iffieldsequal{#2year}{#2endyear} + {\csuse{mkbibdate#1}{}{#2month}{#2day}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% + \iffieldundef{#2endyear} + {} + {\iffieldequalstr{#2endyear}{} + {\mbox{\bibdatedash}} + {\bibdatedash + \iffieldsequal{#2year}{#2endyear} + {\iffieldsequal{#2month}{#2endmonth} + {\csuse{mkbibdate#1}{#2endyear}{}{#2endday}} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}} + +\protected\gdef\lbx@us@mkbibrangetrunc@short#1#2{% + \iffieldundef{#2year} + {} + {\printtext{% + \iffieldsequal{#2year}{#2endyear} + {\csuse{mkbibdate#1}{}{#2month}{#2day}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% + \iffieldundef{#2endyear} + {} + {\iffieldequalstr{#2endyear}{} + {\mbox{\bibdatedash}} + {\bibdatedash + \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} + +\protected\gdef\lbx@us@mkbibrangetruncextra@long#1#2{% + \iffieldundef{#2year} + {} + {\printtext{% + \iffieldsequal{#2year}{#2endyear} + {\csuse{mkbibdate#1}{}{#2month}{#2day}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% + \iffieldundef{#2endyear} + {\printfield{extrayear}} + {\iffieldequalstr{#2endyear}{} + {\printfield{extrayear}% + \mbox{\bibdatedash}} + {\bibdatedash + \iffieldsequal{#2year}{#2endyear} + {\iffieldsequal{#2month}{#2endmonth} + {\csuse{mkbibdate#1}{#2endyear}{}{#2endday}} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% + \printfield{extrayear}}}}}} + +\protected\gdef\lbx@us@mkbibrangetruncextra@short#1#2{% + \iffieldundef{#2year} + {} + {\printtext{% + \iffieldsequal{#2year}{#2endyear} + {\csuse{mkbibdate#1}{}{#2month}{#2day}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% + \iffieldundef{#2endyear} + {\printfield{extrayear}} + {\iffieldequalstr{#2endyear}{} + {\printfield{extrayear}% + \mbox{\bibdatedash}} + {\bibdatedash + \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% + \printfield{extrayear}}}}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/oscola/oscola.bbx b/Master/texmf-dist/tex/latex/oscola/oscola.bbx new file mode 100644 index 00000000000..e4831f6a453 --- /dev/null +++ b/Master/texmf-dist/tex/latex/oscola/oscola.bbx @@ -0,0 +1,3132 @@ +% Legal Style Citations using OSCOLA +% Copyright Paul Stanley 2012 +% This work consists of oscola.bbx, english-oscola.lbx, oscola.lbx +% and oscola.ist. +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of the license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status 'maintained'. +% The current maintainer of this work is Paul Stanley (pstanley@essexcourt.net) + +\ProvidesFile{oscola.bbx}[2012/08/18 v0.1 Biblatex bibliography style for OSCOLA standard] + +\RequireBibliographyStyle{authortitle} + +\RequireBiber[3] + +\DeclareBibliographyOption{caseshorthands}[false]{ + \ifstrequal{#1}{italic} + {\DeclareFieldFormat[jurisdiction]{shorthand}{\textit{##1}}} + {}} + +\newtoggle{bbx@capibid}% Capitalize Ibid in footnotes +\DeclareBibliographyOption{ibidstyle}[lc]{% + \ifstrequal{#1}{uc} + {\global\toggletrue{bbx@capibid}} + {\togglefalse{bbx@capibid}}} + +% We ensure that there will always be a trash index +\AtEndPreamble{% + \@ifpackageloaded{imakeidx}{\makeindex[name=trash]} + {\@ifpackageloaded{index}{\newindex{trash}{tdx}{tnd}{Miscellaneous}} + {\@ifpackageloaded{multind}{\PackageWarning{biblatex-oscola}{Multind is incompatible with biblatex-oscola. Use imakeidx or index}} + {\iftoggle{blx@citeindex} + {\PackageWarning{biblatex-oscola} + {You need to load imakeidx or index. Indexing will probably fail:}}{}}}}} + +% The bibliography and citation styles use different forms of name +\AtBeginBibliography{% + \toggletrue{blx@firstinits}% + \DeclareNameAlias{default}{last-first}% + \DeclareNameAlias{editor}{last-first}} + +\renewbibmacro*{name:last-first}[4]{% + \ifuseprefix + {\usebibmacro{name:delim}{#3#1}% + \usebibmacro{name:hook}{#3#1}% + \ifblank{#3}{}{% + \ifcapital + {\mkbibnameprefix{\MakeCapital{#3}}\isdot} + {\mkbibnameprefix{#3}\isdot}% + \ifpunctmark{'}{}{\bibnamedelimc}}% + \mkbibnamelast{#1}\isdot + \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}% + \ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}\isdot}} + {\usebibmacro{name:delim}{#1}% + \usebibmacro{name:hook}{#1}% + \mkbibnamelast{#1}\isdot + \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}% + \ifblank{#2#3}{}{}% + \ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}\isdot}% + \ifblank{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}}} + +\DeclareNameAlias{sortname}{last-first} + +% This deals with initials: we need to format them without dots +% and close together: HLA not H.L.A. or H. L. A. or H L A +\renewcommand*\bibinitperiod{} +\renewcommand*\bibinitdelim{} +\let\oldbibnamedelima\bibnamedelima +\let\oldbibnamedelimb\bibnamedelimb +\let\oldbibnamedelimc\bibdamedelimc +\let\oldbibnamedelimd\bibnamedelimd +\let\oldbibnamedelimi\bibnamedelimi +\global\newtoggle{bbx@initsep} +\renewcommand\bibnamedelima{% + \iftoggle{bbx@initsep} + {\togglefalse{bbx@initsep}} + {\oldbibnamedelima}} +\renewcommand\bibnamedelimb{% + \iftoggle{bbx@initsep} + {\togglefalse{bbx@initsep}} + {\oldbibnamedelimb}} +%\renewcommand\bibnamedelimc{% +% \togglefalse{bbx@initsep}% +% \oldbibnamedelimc} +%\renewcommand\bibnamedelimd{% +% \togglefalse{bbx@initsep}% +% \oldbibnamedelimd} +\renewcommand\bibnamedelimi{% + \togglefalse{bbx@initsep}% + \oldbibnamedelimi} + +\def\bbxinitsep{% + \toggletrue{bbx@initsep}} + +% Standardised options +\ExecuteBibliographyOptions{urldate=long, + dateabbrev=false, + doi=false, + eprint=false, + usetranslator=true, + sorting=nity} + +\urlstyle{rm}% We don't want monospaced urls + +% If books are earlier than this year, the location gets printed +% instead of the publisher +\def\bibyearwatershed{1800} + +% Various toggles used for entry options + +\newtoggle{bbx:scotstyle} +\newtoggle{bbx:suppressibid} +\newtoggle{bbx:looseleaf} +\newboolean{bbx@year-essential}\setboolean{bbx@year-essential}{false} + +% Entry options +\DeclareEntryOption{url}[true]{% + \settoggle{bbx:url}{#1}} +\DeclareEntryOption{doi}[true]{% + \settoggle{bbx:doi}{#1}} +\DeclareEntryOption{eprint}[true]{% + \settoggle{bbx:eprint}{#1}} +\DeclareEntryOption{scottish-style}[true]{% + \settoggle{bbx:scotstyle}{#1}} +\DeclareEntryOption{no-ibid}[true]{% + \settoggle{bbx:suppressibid}{#1}} +\DeclareEntryOption{looseleaf}[true]{% + \settoggle{bbx:looseleaf}{#1}} +\DeclareEntryOption{year-essential}[true]{% + \setboolean{bbx@year-essential}{#1}} + +% Language Mapping +\DeclareLanguageMapping{english}{english-oscola} + +% Various aliases +\DeclareBibliographyAlias{inproceedings}{inbook} +\DeclareBibliographyAlias{booklet}{book} +\DeclareBibliographyAlias{collection}{book} +\DeclareBibliographyAlias{incollection}{inbook} +\DeclareBibliographyAlias{techreport}{report} +\DeclareBibliographyAlias{manual}{report} +\DeclareBibliographyAlias{proceedings}{book} +\DeclareBibliographyAlias{unpublished}{misc} +\DeclareBibliographyAlias{mvbook}{book} +\DeclareBibliographyAlias{bookinbook}{inbook} +\DeclareBibliographyAlias{supbook}{inbook} +\DeclareBibliographyAlias{mvcollection}{book} +\DeclareBibliographyAlias{supcollection}{inbook} + + + +% This deals with suppression of the postnote delimiter after brackets. It +% should be refactored to use a toggle rather than a counter + +\newcounter{bbx@suppresspostnotedelim} +\newcommand{\bbx@resetpostnotedelim}{\setcounter{bbx@suppresspostnotedelim}{0}} +\newcommand{\bbx@unsetpostnotedelim}{\setcounter{bbx@suppresspostnotedelim}{1}} +\setcounter{bbx@suppresspostnotedelim}{0} + +% This is a package-specific temporary counter +\newcounter{blx@tmpcnt} + +% This is used in constructing publication information + +\newboolean{bbx@pubinfopunct} +\newcommand{\bbx@pubinfostart} +{\setboolean{bbx@pubinfopunct}{false}} + +\newcommand{\bbx@pubinfoprint}{% + \ifthenelse{\(\boolean{bbx@pubinfopunct}\)}% + {\printtext{\addcomma\space}}% + {\setboolean{bbx@pubinfopunct}{true}% + \printtext{(}}} + +\newcommand{\bbx@pubinfostop}{% + \ifthenelse{\( \boolean{bbx@pubinfopunct} \)}% + {\printtext{)}\bbx@unsetpostnotedelim} + {}} + +% Many of these are "legacies" and probably not really required. I haven't been able +% to work out why I seem always to need the starred form to get this to work +\newcommand\nameaddonpseud{pseudonym} +\newcommand\subtypemag{magazine} +\newcommand*\subtypenewsp{newspaper} +\newcommand\subtypeclassic{classic} +\newcommand\subtypebiblical{biblical} +\newcommand\subtypeearlybook{canon} +\newcommand\subtypevideo{video} +\newcommand\entrytypearchive{customa} +\newcommand\subtypevolume{volume} +\newcommand\subtypeonline{online} +\newcommand\subtypedatabase{database} +\newcommand\subtypeblog{blog} +\newcommand\subtypelistmessage{listmessage} +\newcommand\subtypebooklike{book} +\newcommand\subtypepublicdocument{gov} +\newcommand\authortypeanon{anonymous} +\newcommand\authortypeunsure{anonymous?} +\newcommand\authortyperedundant{redundant} +\newcommand\authortypealternate{alternate} +\newcommand\authortypejournal{journal} +\newcommand\subtypeintro{to} +\newcommand\subtypeexcerpt{from} +\newcommand\subtypenone{none} +\newcommand\edtypecorp{corporate} +\newcommand\entrytypeper{periodical} +\newcommand\entrytypemanual{manual} +\newcommand\entrytypecoll{collection} +\newcommand\entrytypebook{book} +\newcommand*\subtypeprimarylegislation{primary} +\newcommand*\subtypesecondarylegislation{secondary} +\newcommand*\subtypecourtrules{procedure-rule} +\newcommand\entrytyperef{reference} +\newcommand\entrytypeproc{proceedings} +\newcommand\entrytypereport{report} +\newcommand\entrytypebooklet{booklet} +\newcommand\entrytypemisc{misc} +\newcommand\entrytypeonline{online} +\newcommand\entrytypevideo{video} +\newcommand\entrytypeaudio{audio} +\newcommand\entrytypebookinbook{bookinbook} +\newcommand\entrytypearticle{article} +\newcommand\entrytypelegislation{legislation} +\newcommand\entrytypeletter{letter} +\newcommand\entrytypeperformance{performance} +\newcommand\optionaddoriginal{addorig} +\newcommand\optionnoreprints{none} +\newcommand\optionorigfirst{origfirst} +\newcommand\optiontransfromorig{transfrom} +\newcommand\optionorigtransas{transas} +\newcommand\optiondoubledate{doubledate} +\newcommand\noplace{np} +\newcommand\nopublisher{np} +\newcommand*\officialjournaltitle{OJ} +\newcommand*\ojspecedtitle{OJ Spec Ed} +\newcommand*\ecrreporttitle{ECR} +\newcommand*\commission{commission} +\newcommand*\Commission{Commission} +\newcommand*\pcijrep{PCIJ Rep} +\newcommand*\explanatorynote{explanatory note} +\newcommand*\eudirective{directive} +\newcommand*\euregulation{regulation} +\newcommand*\eudecision{decision} +\newcommand*\treatysubtype{treaty} +\newcommand*\comdocsubtype{comdoc} +\newcommand*{\jurisechr}{echr} +\providecommand*\eutreaty{eu-treaty} +\newcommand*\casenote{casenote} +\newcommand*\pagemarkings{page} +\newcommand*\paragraphmarkings{[]} +\newcommand*\paragraphtext{paragraph} +\newcommand*\seriesa{Series A} +\newcommand*\echrreports{ECHR} +\newcommand*\decisionsandreports{DR} +\newcommand*\collectionofdecisions{CD} +\newcommand*{\parliamentarytype}{parliamentary} +\newcommand*{\houseofcommons}{HC} +\newcommand*{\houseoflords}{HL} + +% Some basic redefinitions and formatting +\renewcommand\newunitpunct{\addspace} +\renewcommand{\newblockpunct}{\addspace} +\renewcommand{\subtitlepunct}{\addcolon\addspace} +\newcommand{\extracitedelim}{,\space} +\newcommand\casenotetext{\bibstring{casenote}} +\newcommand\firstpublishedstr{\bibstring{firstpublished}} +\newcommand*{\legalstarturl}{\ensuremath{\langle}} +\newcommand*{\legalendurl}{\ensuremath{\rangle}} + +% Data Inheritances +\DeclareDataInheritance{reference,mvreference}{inreference}{% + \inherit{title}{booktitle} + \inherit{volume}{userb} + \inherit{date}{date} + \inherit{edition}{edition} + \inherit{pagination}{pagination} + \noinherit{editor} + \noinherit{author}} +\DeclareDataInheritance{legal}{legal}{% + \inherit{shorttitle}{title} + \inherit{indextitle}{indextitle} + \inherit{title}{indextitle} + \inherit{indexsortitle}{indexsorttitle} + \inherit{title}{indexsorttitle} + \inherit{pagination}{pagination} + \inherit{type}{type} + \inherit{entrysubtype}{entrysubtype}} +\DeclareDataInheritance{jurisdiction}{article}{% + \noinherit{volume} + \noinherit{series} + \noinherit{journaltitle} + \noinherit{pages} + \noinherit{date} + \noinherit{institution} + \noinherit{issue} + \noinherit{number} + \noinherit{url} + \noinherit{urldate}} + +% These functions are used to identify whether an EU +% case number is one case or more than one + +\def\legal@blank{|} +\def\legal@optionone{} +\def\legal@optiontwo{} +\def\legal@containscommai#1,#2*{% + \def\@tempa{#2}% + \ifx\@tempa\legal@blank% + \relax% + \else% + \global\let\legal@result\legal@optiontwo% + \fi} +\def\legal@containsandi#1and#2*{% + \def\@tempa{#2}% + \ifx\@tempa\legal@blank% + \relax% + \else% + \global\let\legal@result\legal@optiontwo% + \fi} +\def\legal@containshypheni#1--#2*{% + \def\@tempa{#2}% + \ifx\@tempa\legal@blank% + \relax% + \else% + \global\let\legal@result\legal@optiontwo% + \fi}% + +\def\legal@containscomma#1{\edef\legal@tempa{#1}\expandafter\legal@containscommai\legal@tempa,|*} +\def\legal@containsand#1{\edef\legal@tempa{#1}\expandafter\legal@containsandi\legal@tempa and|*} +\def\legal@containshyphen#1{\edef\legal@tempa{#1}\expandafter\legal@containshypheni\legal@tempa--|*} + +\newbibmacro{seteucases}{% + \iffieldundef{type} + {\global\def\legal@result{\bibstring{eucase}}% + \global\def\legal@optiontwo{\bibstring{eujoinedcases}}% + \legal@containscomma{\thefield{number}}% + \legal@containsand{\thefield{number}}% + \legal@containshyphen{\thefield{number}}% + \legal@result} + {\strfield{type}}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Various commands +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newcommand\paratextformatted[1]{% + \ifnumeral{#1} + {\bibstring{paragraph}\addspace\printtext{#1}} + {\ifnumerals{#1} + {\bibstring{paragraphs}\addspace\printtext{#1}} + {\printtext{#1}}}} + +% Field Formats + +\DeclareFieldFormat{paragraph:text}{\paratextformatted{#1}} +\DeclareFieldFormat{url}{\legalstarturl\url{#1}\legalendurl} +\DeclareFieldFormat{urldate}{\bibstring{urlseen}\space#1} +\DeclareFieldFormat{postnote:old}{% + \ifentrytype{legislation}% + {\usebibmacro{legref}}% + {\mkpageprefix[pagination]{#1}}} +\DeclareFieldFormat{paragraphed}{\formatpostnote{#1}} +\DeclareFieldFormat{postnote}{#1} +\DeclareFieldFormat{multipostnote}{#1} +\DeclareFieldFormat{note}{\mkbibparens{#1}} +\DeclareFieldFormat[article]{pages}{% + \mkfirstpage*{#1}} +\DeclareFieldFormat[legislation]{pages}{% + \mkfirstpage*{#1}} +\DeclareFieldFormat[jurisdiction]{pages}{% + \mkfirstpage*{#1}} +\DeclareFieldFormat[jurisdiction]{usere}{% + \mkfirstpage*{#1}} +\DeclareFieldFormat[jurisdiction]{title}{\mkbibemph{#1}} +\DeclareFieldFormat[jurisdiction]{subtitle}{\mkbibemph{#1}} +\DeclareFieldFormat[legal]{pages}{\mkfirstpage{#1}} +\DeclareFieldFormat[inreference]{title}{\mkbibquote{#1}} +\DeclareFieldFormat{newstitle}{\emph{#1}} +\DeclareFieldFormat{intsubtitle}{\mkbibemph{#1}} +\DeclareFieldFormat{journaltitle}{#1} % Journal Titles: Roman Type +\DeclareFieldFormat{day}{#1} +\DeclareFieldFormat{international}{% + \iffieldequals{journaltitle}{\pcijrep} + {\bibcpstring{jourser}\space #1} + {#1}} +\DeclareFieldFormat{romanvol}{% + \RN{#1}} +\DeclareFieldFormat[jurisdiction]{volume}{#1} +\DeclareFieldFormat{quoted}{\mkbibquote{#1}} +\DeclareFieldFormat[online]{title}{\mkbibquote{#1}} +\DeclareFieldFormat[online]{note}{#1} +\DeclareFieldFormat[online]{journaltitle}{\textit{#1}} +\DeclareFieldFormat[thesis]{title}{\mkbibquote{#1}} +\DeclareFieldFormat[misc]{title}{#1} +\DeclareFieldFormat[misc]{journaltitle}{\mkbibquote{#1}} +\DeclareFieldFormat{casenotetitle}{\mkbibquote{\mkbibemph{#1}}} +\DeclareFieldFormat{usseries}{\ifinteger{#1}{\mkusbibordinal{#1}}{#1}} +\DeclareFieldFormat[legislation]{title}{#1} +\DeclareFieldFormat[legal]{title}{#1} + +\DeclareListFormat[jurisdiction]{extracites}{% + \extracitedelim #1} + +\DeclareListFormat[jurisdiction]{listb}{} + +\DeclareListFormat{ecthr}{% + \ifboolexpr{ (test {\ifdefstring{\Commission}{#1}} or + test {\ifdefstring{\commission}{#1}} ) }% + {\printtext{\mkbibparens{\bibstring{commissiondecision}}}\bbx@unsetpostnotedelim}% + {}} + +\DeclareListFormat[jurisdiction]{institution}{% + \ifthenelse{\( \value{listtotal}=1 \or \value{listcount}=\value{listtotal} \)}% + {#1}% + {\setcounter{blx@tmpcnt}{\value{listcount}}\addtocounter{blx@tmpcnt}{1}% + \ifthenelse {\( \value{blx@tmpcnt}=\value{listtotal}\)}% + {#1\space\bibstring{and}\addspace}% + {#1\addcomma\space}}}% + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Principal Drivers +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\DeclareBibliographyDriver{article}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\addcomma\space}\newblock + \usebibmacro{journaltitle}% + \setunit{\addspace} + \printlist{language}% + \setunit{\addspace}\newblock + \usebibmacro{byauthor}% + \setunit{\addspace}\newblock + \usebibmacro{bytranslator+others}% + \setunit{\addspace}\newblock + \printfield{version}% + \setunit{\addspace}\newblock% + \usebibmacro{journal+issuetitle}% + \setunit{\addspace}\newblock + \usebibmacro{byeditor+others}% + \setunit{\addspace} + \usebibmacro{note+pages}% + \setunit{\addspace} + \usebibmacro{doi+eprint+url}% + \setunit{\addspace} + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}% + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{book}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\addcomma\space}\newblock + \usebibmacro{maintitle+title}% + \newunit + \usebibmacro{publicationinfo}% + \newunit\newblock% + \usebibmacro{revisedbookvolume}% + \newunit\newblock% + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \setunit{\bibpagerefpunct}\newblock + \newunit% + \usebibmacro{pageref}% + \usebibmacro{finentry}}% + +\DeclareBibliographyDriver{commentary}{% + \usebibmacro{begentry}% + \ifkeyword{sc}% + {\usebibmacro{scotscommentary}} + {\usebibmacro{encommentary}}% + \bbx@unsetpostnotedelim% + \setunit{\bibpagerefpunct}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{commentary:index}{% + \usebibmacro{begentry}% + \printfield[default]{indextitle}} + +\DeclareBibliographyDriver{inbook}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\addcomma\space}\newblock + \usebibmacro{title}% + \usebibmacro{byauthor}% + \usebibmacro{in:}% + \newunit\newblock% + \usebibmacro{bybookauthor/editor/translator}% + \newblock% + \usebibmacro{maintitle+booktitle}% + \newunit\newblock + \newunit\newblock + \usebibmacro{publicationinfo}% + \newunit\newblock + \usebibmacro{revisedbookvolume}% + \usebibmacro{doi+eprint+url}% + \newunit\newblock% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{inreference}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \clearlist{publisher}% + \newunit\newblock + \usebibmacro{title}% + \usebibmacro{byauthor}% + \setunit{\addcomma\space}% + \setunit{\addcomma\space}% + \usebibmacro{maintitle+booktitle}% + \newunit + \usebibmacro{publicationinfo:short}% + \usebibmacro{revisedbookvolume}% + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{jurisdiction}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \bbx@resetpostnotedelim% + \usebibmacro{juriscitation}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{jurisdiction:index}{% + \usebibmacro{begentry}% + \DeclareFieldAlias[jurisdiction]{title}[default]{title}% + \DeclareFieldAlias[jurisdiction]{intsubtitle}[default]{title}% + \DeclareListAlias[jurisdiction]{listb}[jurisdiction]{extracites}% + \usebibmacro{juriscitation:index}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{jurisdiction:refonly}{% + \clearfield{title}% + \clearfield{titleaddon}% + \clearfield{title}% + \usedriver{}{jurisdiction}} + +\DeclareBibliographyDriver{jurisdiction:reponly}{% + \usebibmacro{begentry}% + \usebibmacro{altreportvolume}% + \newunit\newblock + \usebibmacro{altjournaltitle}% + \newunit\newblock + \usebibmacro{altseries}% + \newunit\newblock + \usebibmacro{altjurisdictionpages}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{legal}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \iffieldequals{entrysubtype}{\explanatorynote} + {\printfield[default]{title}\newunit\newblock} + {\iffieldequals{entrysubtype}{\parliamentarytype} + {\usebibmacro{legal:parliamentary}} + {\iffieldequals{entrysubtype}{\treatysubtype} + {\usebibmacro{treatycitation}} + {\usebibmacro{treatycitation}}}} + \usebibmacro{legislation:note}% + \newunit\newblock + \setunit{\bibpagerefpunct}% + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{legal:index}{% + \savefield{indextitle}{\bbx@tempa}% + \restorefield{title}{\bbx@tempa}% + \usebibmacro{begentry}% + \iffieldequals{entrysubtype}{\explanatorynote} + {\printfield[default]{title}\newunit\newblock} + {\iffieldequals{entrysubtype}{\parliamentarytype} + {\usebibmacro{legal:parliamentary:index}} + {\iffieldequals{entrysubtype}{\treatysubtype} + {\usebibmacro{treatycitation}} + {\usebibmacro{treatycitation}}}} + \usebibmacro{finentry}} + +\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}% + \newunit\newblock + \usebibmacro{legsupp}}}}% Adds additional material for welsh statutory instruments + \newunit + \usebibmacro{legislation:note}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{legislation:index}{% + \usebibmacro{begentry}% + \ifboolexpr{ test {\ifkeyword{eu}} + and not test {\iffieldequals{entrysubtype}{\eutreaty}}} + {\usebibmacro{legislation:index:eu}}% + {\ifkeyword{draft} + {\usebibmacro{legislation:bill}} + {\usebibmacro{legislation:index:general}}}% + \usebibmacro{finentry}} + +\newbibmacro{legislation:index:general}{% + \printfield[default]{indextitle}% + \newunit + \ifkeyword{eu}{}{\printfield[default]{year}}% + \newunit + \usebibmacro{legnumber}% + \newunit + \ifkeyword{eu}{\usebibmacro{eulegref}}{} + \usebibmacro{legsupp}} + +\newbibmacro{legislation:index:eu}{% + \iffieldundef{type} + {} + {\ifbibxstring{\thefield{type}}% + {\printtext{\bibcpstring{\thefield{type}}}} + {\printtext{\MakeCapital{\thefield{type}}}}} + \newunit + \printfield{number}% + \newunit + \usebibmacro{eulegref}} + +\DeclareBibliographyDriver{misc}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit*{\addcomma\space}% + \usebibmacro{misctitle}% + \newunit\newblock + \usebibmacro{publicationinfo}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{online}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\addcomma\space}% + \newblock + \usebibmacro{online:title}% + \newunit + \usebibmacro{publicationinfo:online}% + \newunit\newblock% + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \setunit{\bibpagerefpunct}\newblock + \newunit% + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{patent}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{title}% + \newunit\newblock + \printtext{\bibopenparen}% + \printlist{language}% + \setunit*{\addspace}% + \usebibmacro{byauthor}% + \setunit*{\addcomma\space}% + \printfield{type}% + \ifboolexpr{test {\iffieldundef{byauthor}} and test {\iffieldundef{type}}} + {\unspace\setunit{}} + {\setunit*{\addspace}}% + \printfield{number}% + \iflistundef{location} + {} + {\setunit*{\addspace}% + \printtext[parens]{% + \printlist[][-\value{listtotal}]{location}}}% + \setunit*{\addcomma\space}% + \usebibmacro{byholder}% + \setunit*{\addcomma\space}% + \printfield{note}% + \setunit{\addspace}% + \usebibmacro{date}% + \printtext{\bibcloseparen}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \usebibmacro{related}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{periodical}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{editor}% + \setunit{\addcomma\space}\newblock + \printfield{title}% + \setunit*{\addspace}% + \iffieldundef{series} + {} + {\newunit + \printfield{series}% + \setunit{\addspace}}% + \setunit{\addcolon\space}% + \usebibmacro{issue}% + \setunit{\addspace}% + \printlist{language}% + \setunit{\addspace}\newblock + \printfield{version}% + \setunit{\addspace}\newblock% + \usebibmacro{journaldate}% + \newunit + \usebibmacro{volume+number+eid}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \setunit{\addspace} + \usebibmacro{note+pages}% + \setunit{\addspace} + \usebibmacro{doi+eprint+url}% + \setunit{\addspace} + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}% + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{reference}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{maintitle+title}% + \newunit + \iftoggle{bbx:looseleaf} + {\bbx@resetpostnotedelim} + {\usebibmacro{publicationinfo:short}% + \newunit\newblock% + \usebibmacro{revisedbookvolume}% + \newunit\newblock% + \usebibmacro{doi+eprint+url}% + \newunit\newblock}% + \setunit{\bibpagerefpunct}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}}% + +\DeclareBibliographyDriver{report}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \iffieldequals{entrysubtype}{\comdocsubtype}% + {\usebibmacro{comdoc}}% + {\usebibmacro{report:standard}}% + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{report:refonly}{% + \iffieldequals{entrysubtype}{\comdocsubtype} + {\usebibmacro{bibindex}% + \usebibmacro{begentry}% + \printfield{number}% + \newunit\newblock + \usebibmacro{finentry}}% + {\usedriver{}{report}}}% + +\DeclareBibliographyDriver{report:index}{% + \usebibmacro{begentry}% + \iffieldequals{entrysubtype}{\comdocttype} + {\printfield{number}} + {\printfield[default]{indextitle}% + \newunit + \usebibmacro{report:index:info}}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{thesis}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \printnames{author}% + \setunit{\addcomma\space}% + \newblock + \printfield{title}% + \newunit + \usebibmacro{thesis:info}% + \newunit\newblock% + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \setunit{\bibpagerefpunct}\newblock + \newunit% + \usebibmacro{pageref}% + \usebibmacro{finentry}}% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Bibmacros +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newbibmacro*{altjournaltitle}{% + \iffieldundef{userc} + {\printfield{journaltitle}\newunit} + {\printfield{userc}}} + +\newbibmacro*{altjurisdictionpages}{% + \iffieldundef{usere}% + {\usebibmacro{jurisdictionpages}} + {\printfield{usere}}}% + +\newbibmacro{altreportdetails}{% + \restorefield{prenote}{\postnotesecond}% + \iffieldundef{userc}% + {}% + {\usebibmacro{altreportvolume}% + \newunit\newblock + \usebibmacro{altjournaltitle}% + \newunit\newblock + \usebibmacro{altseries}% + \newunit\newblock + \usebibmacro{altjurisdictionpages}% + \iffieldundef{prenote} + {} + {\addcomma\space\printfield[postnote]{prenote}}}} + +\newbibmacro*{altreportvolume}{% + \iffieldundef{userb} + {\usebibmacro{reportvolume}} + {\printfield{userb}}} + +\newbibmacro*{altseries}{% + \iffieldundef{userd}% + {\iffieldundef{series}% + {}% + {\printfield{series}}}% + {\printfield{userd}}} + +\newbibmacro*{author/editor/institution}{% + \ifnameundef{author}% + {\ifnameundef{editor}% + {\iflistundef{institution} + {} + {\printlist{institution}\clearlist{institution}}} + {\usebibmacro{editor+others}}} + {\usebibmacro{author}}} + +\newbibmacro{bookauthor}{% + \ifnameundef{bookauthor} + {} + {\printnames{bookauthor}}} + +\newbibmacro{bookeditor}{% + \ifnameundef{editor} + {} + \printnames{editor}} + +\newbibmacro{booktranslator}{% + \ifnameundef{translator} + {} + \printnames{translator}} + +\renewbibmacro*{byauthor}{% + \ifboolexpr{ + test \ifuseauthor + or + test {\ifnameundef{author}} + }% + {}% + {\bbx@pubinfoprint% + \usebibmacro{bytypestrg}{author}{author}% + \setunit{\addspace}% + \printnames[byauthor]{author}}} + +\newbibmacro{bookvolume}{% + \iffieldundef{volume}% + {}% + {\setunit{\addspace}% + \printfield{volume}\newunit}} + +\newbibmacro{bybookauthor/editor/translator}{% + \ifnameundef{bookauthor} + {\ifnameundef{editor} + {\ifnameundef{translator} + {} + {\usebibmacro{translator+others}\setunit{\addcomma\space}}} + {\usebibmacro{editor+others}\setunit{\addcomma\space}}} + {\usebibmacro{bookauthor}\setunit{\addcomma\space}}} + +\renewbibmacro*{byeditor+others}{% + \ifnameundef{editor}% + {}% + {\bbx@pubinfoprint% + \printnames[byeditor]{editor}% + \setunit{\addspace}% + \usebibmacro{editorstrg}% + \clearname{editor}}% + \usebibmacro{byeditorx}% + \usebibmacro{bytranslator+others}} + +\renewbibmacro*{bytypestrg}[2]{% + \iffieldundef{#1type} + {\bibstring{by#2}} + {\ifbibxstring{by\thefield{#1type}} + {\bibstring{by\thefield{#1type}}} + {\printtext{\thefield{#1type}}}}} + +\renewbibmacro*{bytranslator+others}{% + \ifnameundef{translator}% + {} + {\bbx@pubinfoprint% + \printnames[bytranslator]{translator}% + \setunit{\addspace}% + \usebibmacro{translator+othersstrg}% + \clearname{translator}}% + \usebibmacro{withothers}} + +\newbibmacro{canjuriscitation}{% + \usebibmacro{title}% + \newunit\newblock% + \usebibmacro{neutralcite}% + \setunit{\addcomma\space}% + \iffieldundef{journaltitle}% + {}% + {\usebibmacro{year+vol+report:can}}% + \usebibmacro{jurisdictionpages}% + \usebibmacro{pcitenote}% + \usebibmacro{altreportdetails}% + \unspace\printlist[jurisdiction][1-\value{listtotal}]{listb}% + \newunit\newblock + \usebibmacro{courtid}% + \newunit% + \usebibmacro{court-note}% + \newblock + \newunit} + +\newbibmacro*{comdoc}{% + \usebibmacro{author/editor/institution}% + \setunit{\addcomma\space}% + \printfield[quoted]{title}% + \newunit\newblock% + \usebibmacro{commission:report:type}% + \newunit\newblock% + \printfield{number}% + \newunit} + +\newbibmacro*{commission:report:type}{% + \iffieldundef{type}% + {} + {\printtext{\mkbibparens{\printfield{type}}}}} + +\newbibmacro{conferencedate}{% + \iffieldundef{eventyear}% + {} + {\bbx@pubinfoprint\printeventdate}} + +\newbibmacro{conferencetitle}{% + \iffieldundef{eventtitle} + {} + {\bbx@pubinfoprint\printfield{eventtitle}}} + +\newbibmacro{convenue}{% + \iffieldundef{venue} + {} + {\bbx@pubinfoprint\printfield{venue}}} + +\newbibmacro{court-note}{% + \iffieldundef{note}% + {}% + {\printfield{note}% + \bbx@unsetpostnotedelim}} + +\newbibmacro*{courtid}{% + \iffieldundef{number}% + {\ifboolexpr {test {\iflistundef{institution}} + and test {\iffieldundef{location}}}% + {\bbx@resetpostnotedelim}% + {\printtext{\mkbibparens{\printfield{location}% + \newunit + \printlist{institution}% + \usebibmacro{unrep:date}}}% + \bbx@unsetpostnotedelim} + }% + {\bbx@resetpostnotedelim}} + +\newbibmacro*{courtrules}{% + \restorefield{prenote}{\postnotesecond}% + \iffieldequalstr{shorttitle}{PD}% + {\printfield{postnote}% + \clearfield{postnote}% + \addspace + \newunit}% + {}% + \iffieldundef{shorttitle}% + {\printfield[default]{title}}% + {\printfield[default]{shorttitle}}% + \newblock\newunit + \iffieldundef{postnote}% + {\bbx@unsetpostnotedelim} + {\iffieldequalstr{shorttitle}{CPR} + {\printfield{postnote}\newunit} + {\printtext{\bibstring{order}\space% + \printfield{postnote}\setunit{\addcomma\space}}}}% + \restorefield{postnote}{\postnotesecond}% + \usebibmacro{postnote}% + \global\toggletrue{cbx@postnoteprinted}% + \newunit\newblock} + +\newbibmacro*{echrreports}{% + \printfield{journaltitle}% + \newunit + \usebibmacro{year}% + \iffieldundef{volume} + {} + {\printtext{--}\printfield[romanvol]{volume}} + \newunit + \printfield{pages}} + +\newbibmacro{echrjuriscitation}{% + \usebibmacro{echrtitle}% + \newunit\newblock + \iffieldundef{journaltitle} + {\usebibmacro{echr:unreported}} + {\usebibmacro{echr:year+vol+report}% Which also deals with pages + \newunit\newblock + \usebibmacro{echr:courtid}}% + \newunit + \usebibmacro{court-note}% + \newblock + \newunit} + +\newbibmacro*{echr:courtid}{% + \ifboolexpr{ (test {\iffieldequals{journaltitle}{\decisionsandreports}} + or test {\iffieldequals{journaltitle}{\collectionofdecisions}} )} + {} + {\printlist[ecthr]{institution}}} + +\DeclareListFormat{echrinst}{% + \ifthenelse{\( \value{listtotal}=1 \or \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}% + \ifthenelse {\( \value{blx@tmpcnt}=\value{listtotal}\)}% + {#1\space\bibstring{and}\addspace}% + {#1\addcomma\space}}}% + + +\newbibmacro{echr:unreported}{% + \iffieldundef{number}% + {}% + {\printtext{\bibstring{application}\space\bibstring{number}\space}\printfield{number}\addspace}% + \newunit\newblock + \ifboolexpr{( test {\iflistundef{institution}} + and test {\iffieldundef{date}} + and test {\iffieldundef{year}} )} + {} + {\ifboolexpr{( test {\iffieldundef{date}} and test {\iffieldundef{year}} )} + {\mkbibparens{\printlist[jurisdiction]{institution}}} + {\bbx@unsetpostnotedelim\iflistundef{institution}% + {\mkbibparens{\usebibmacro{date}}}% + {\printtext{\bibopenparen\printlist[echrinst]{institution}\addcomma\space}\usebibmacro{date}\bibcloseparen}}}} + +\newbibmacro*{echr:year+vol+report}{% + \iffieldequals{journaltitle}{\seriesa} + {\usebibmacro{seriesareport}} + {\iffieldequals{journaltitle}{\echrreports} + {\usebibmacro{echrreports}} + {\usebibmacro{year+vol+report} + \newunit + \printfield{pages}}}} + +\newbibmacro*{echrtitle}{% + \ifboolexpr{ + test {\iffieldundef{title}} + and + test {\iffieldundef{subtitle}} + } + {} + {\printtext[title]{% + \printfield[titlecase]{title}% + \iffieldundef{subtitle}{}{\setunit{\subtitlepunct}}% + \printfield[titlecase]{subtitle}}}% + \iffieldundef{titleaddon} + {} + {\newunit\printtext{\mkbibparens{\printfield{titleaddon}}}}} + +\newbibmacro{editionpubinfo}{% + \iffieldundef{edition}% + {} + {\bbx@pubinfoprint% + \printfield{edition}}} + +\renewbibmacro*{editor+others}{% + \ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + }% + {\printnames{editor}\addspace% + \printtext{\mkbibparens{% + \usebibmacro{editor+othersstrg}}}% + \clearname{editor}} + {}} + +\newbibmacro{encommentary}{% + \iffieldundef{shorttitle} + {\iffieldundef{maintitle}% + {\iffieldundef{booktitle}% + {\printfield[default]{title}}% + {\printfield[default]{booktitle}}}% + {\printfield[default]{maintitle}}}% + {\printfield[default]{shorttitle}}% + \newunit\newblock} + +\newbibmacro{enjuriscitation}{% + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{neutralcite}% + \iffieldundef{journaltitle}% UNREPORTED CASE + {}% + {\usebibmacro{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{eucasenumber}{% + \usebibmacro{seteucases}% + \addnbspace + \printfield{number}% + \newunit} + +\newbibmacro{eucommissiondecision}{% + \iffieldundef{userb} + {} + {\mkbibparens{\printfield{userb}}}% + \newunit + \iffieldundef{type} + {\setunit{\addspace\printtext{\bibstring{commissiondecision}\addspace}}} + {\setunit{\addspace\printfield{type}\addspace}}% + \printfield{number}} + +\newbibmacro{eujuriscitation}{% + \iflistcontains{institution}{\commission}% + {} + {\usebibmacro{eucasenumber}}% + \usebibmacro{title}% + \newunit + \iflistcontains{institution}{\commission} + {\usebibmacro{eucommissiondecision}} + {}% + \newunit% + \usebibmacro{eu:reportinfo}% + \newunit% + \usebibmacro{court-note}% +} + +\newbibmacro{eujuriscitation:index}{% + \iftoggle{bbx@numcite} + {\iffieldundef{userb}{}{\printfield{userb}\newunit} + \printfield{number}% + \newunit + \usebibmacro{title}} + {\usebibmacro{title}% + \newunit + \iffieldundef{userb} + {} + {\printtext{\mkbibparens{\printfield{userb}}\newunit}}% + \printtext{\mkbibparens{\usebibmacro{euparenthetical}}}}% + \newunit% + \usebibmacro{eu:reportinfo}% + \newunit% + \usebibmacro{court-note}% +} + +\newbibmacro{eulegislation}{% + \printfield[default]{title}% + \newunit\newblock% + \usebibmacro{eulegref}} + +\newbibmacro{eulegref}{% + \ifboolexpr{test {\iffieldequals{journaltitle}{\officialjournaltitle}} + or test {\iffieldequals{journaltitle}{\ojspecedtitle}}}% + {\printfield[brackets]{year}% + \setunit{\addspace}% + \printfield{journaltitle}% + \setunit{\addspace} + \iffieldundef{series} + {\printtext{L}}% + {\printfield[default]{series}}% + \usebibmacro{issue/volume}% + \printtext{\slash}% + \printfield{pages}% + \bbx@resetpostnotedelim} + {\usebibmacro{year+vol+report}}} + +\newbibmacro{euparenthetical}{% + \iffieldundef{type}% + {}% + {\printfield{type}\setunit{\addspace}}% + \printfield{number}} + +\newbibmacro*{eu:reportinfo}{% + \iffieldundef{journaltitle}% + {\usebibmacro{eu:unreported}}% + {\usebibmacro{eu:year+vol+report}}} + +\newbibmacro*{eu:unreported}{% + \ifboolexpr{( test {\iflistundef{institution}} + and test {\iffieldundef{date}} + and test {\iffieldundef{year}} )} + {} + {\ifboolexpr{( test {\iffieldundef{date}} and test {\iffieldundef{year}} )} + {\mkbibparens{\printlist[jurisdiction]{institution}}} + {\bbx@unsetpostnotedelim\iflistundef{institution}% + {\mkbibparens{\usebibmacro{date}}}% + {\printtext{\bibopenparen\printlist[jurisdiction]{institution}\addcomma\space}\usebibmacro{date}\bibcloseparen}}}} + +\newbibmacro*{eu:year+vol+report}{% + \iffieldequals{journaltitle}{\ecrreporttitle}% + {\printfield[brackets]{year}% + \setunit{\addspace}% + \printfield{journaltitle}% + \setunit{\addspace}% + \printfield{volume}% + \iffieldundef{volume}{}{\printtext{--\allowbreak}}% + \printfield{pages}}% + {\iffieldequals{journaltitle}{\officialjournaltitle}% + {\printfield[brackets]{year}% + \setunit{\addspace}% + \printfield{journaltitle}% + \setunit{\addspace} + \printfield[default]{series}% + \usebibmacro{issue/volume}% + \printtext{\slash}% + \printfield{pages}} + {\usebibmacro{year+vol+report}}}} + +\newbibmacro*{hansard-ref}{% +% Print column entry if there is not postnote + \iffieldundef{postnote}{% + \iffieldundef{pages}% + {}% + {\printfield{pages}}}% + {}}% + +\newbibmacro{hc:or:hl}{% + \printfield[parlt:num]{number}} + +\renewbibmacro*{in:}{% +{\printtext{\space\bibstring{in}\addspace}}} + +\newbibmacro{institution+date}{% + \iflistundef{institution} + {\iffieldundef{year} + {} + {\bbx@pubinfoprint + \usebibmacro{year}}} + {\bbx@pubinfoprint + \printlist{institution}% + \iffieldundef{year} + {} + {\addspace + \usebibmacro{year}}}} + + +\newbibmacro{intjuriscitation}{% + \iflistundef{institution} + {\setunit{}\printtext{}} + {\printlist{institution}% + \setunit{\addcomma\space}}% + \usebibmacro{int:title}% + \usebibmacro{int:subtitle}% + \usebibmacro{int:titleaddon}% + \newunit\newblock + \iffieldundef{journaltitle}% + {\printfield{number}% + \newunit\newblock + \printtext{\mkbibparens{\printdate}} + \newunit\newblock + \usebibmacro{doi+eprint+url}}% + {\usebibmacro{int:year+vol+report}}% + \newunit% + \usebibmacro{int:jurisdictionpages}% + \newunit\newblock + \usebibmacro{court-note}% +} + +\newbibmacro*{int:jurisdictionpages}{% + \iffieldequals{journaltitle}{\pcijrep} + {\printtext{\bibcpstring{number}\addspace}% + \iffieldundef{pages} + {\printfield{number}} + {\printfield{pages}}} + {\printfield{pages}}} + +\newbibmacro{int:subtitle}{% + \iffieldundef{subtitle}% + {}% + {\printtext{\space}% + \mkbibparens{\printfield[intsubtitle]{subtitle}}}} + +\newbibmacro{int:title}{% + \iffieldundef{title}% + {} + {\printfield{title}}} + +\newbibmacro{int:titleaddon}{% + \iffieldundef{titleaddon}% + {}% + {\printtext{\space}% + \mkbibparens{\printfield[default]{titleaddon}}}} + +\newbibmacro*{int:year+vol+report}{% + \usebibmacro{journaldate}% + \newunit + \usebibmacro{reportvolume}% + \setunit{\addspace}% + \printfield{journaltitle}% + \setunit*{\addspace}% + \iffieldundef{series} + {} + {\newunit + \printfield[international]{series}% + \setunit{\addspace}}}% + +\newbibmacro*{issue/volume}{% + \iffieldundef{volume}% + {\iffieldundef{issue}% + {}% + {\printfield{issue}}}% + {\printfield[default]{volume}}} + +\renewbibmacro*{journal+issuetitle}{% + \iffieldequals{entrysubtype}{\subtypenewsp} + {\printfield[newstitle]{journaltitle}% + \newunit + \printtext{\mkbibparens{% + \iflistundef{location} + {} + {\printlist{location}% + \setunit{\addcomma\space}}% + \usebibmacro{date}}}} + {\usebibmacro{journaldate}% + \newunit + \usebibmacro{volume+number+eid}% + \setunit{\addspace}% + \usebibmacro{journal}% + \setunit*{\addspace}% + \iffieldundef{series} + {} + {\newunit + \printfield{series}% + \setunit{\addspace}}% + \setunit{\addcolon\space}% + \usebibmacro{issue}% + \newunit}} + +\newbibmacro*{journaldate}{% + \ifthenelse{ \(% + \iffieldundef{volume}% + \or% + \boolean{bbx@year-essential}% + \) }% + {\ifboolexpr{ test {\ifkeyword{sc}} or + test {\iftoggle{bbx:scotstyle}}} + {\usebibmacro{year}} + {\usebibmacro{year}[brackets]}}% + {\usebibmacro{year}[parens]}% +} + +\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{juriscitation}{% + \ifkeyword{eu}% + {\usebibmacro{eujuriscitation}}% EU Case + {\ifkeyword{echr}% + {\usebibmacro{echrjuriscitation}}% ECHR Case + {\ifkeyword{int}% + {\usebibmacro{intjuriscitation}}% PIL Case + {\ifkeyword{ca}% + {\usebibmacro{canjuriscitation}}% Canadian Case + {\ifkeyword{us} + {\usebibmacro{usjuriscitation}}% US Case + {\usebibmacro{enjuriscitation}}}}}}}% Default + + +\newbibmacro{juriscitation:index}{% + \savefield{indextitle}{\bbx@tempa}% + \restorefield{title}{\bbx@tempa}% + \ifkeyword{eu}% + {\usebibmacro{eujuriscitation:index}}% + {\ifkeyword{echr}% + {\usebibmacro{echrjuriscitation}}% + {\ifkeyword{int}% + {\usebibmacro{intjuriscitation}}% + {\ifkeyword{us} + {\usebibmacro{usjuriscitation}} + {\usebibmacro{enjuriscitation}}}}}} + +\newbibmacro*{jurisdictionpages}{% + \iffieldequals{entrysubtype}{\subtypenewsp}% + {} + {\newunit\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{\mkbibparens{\printfield{number}}}\bbx@unsetpostnotedelim}} + {\iffieldundef{number}% + {}% + {\setunit{\addcomma\addspace}% + \printfield{number}\bbx@resetpostnotedelim}}} + +\newbibmacro{legal:parliamentary}{% + \printfield[default]{title}% + \newblock\newunit + \usebibmacro{date}% + \setunit{\addcomma\space}% + \printfield{volume}% + \setunit{\addcomma\space}% + \usebibmacro{hansard-ref}% + \bbx@resetpostnotedelim} + +\newbibmacro{legal:parliamentary:index}{% + \printfield[default]{title}% + \newunit + \usebibmacro{date}} + +\newbibmacro{legislation:bill}{% + \printfield[draftleg]{title}% + \newunit + \iflistundef{institution} + {} + {\printlist{institution}\setunit{\addspace}}% + \iffieldequals{entrysubtype}{\subtypeprimarylegislation} + {\printtext{\bibcpstring{bill}}% + \newunit + \printtext{\mkbibparens{\usebibmacro{sessionyear}}}% + \newunit% + \iffieldundef{number} + {} + {\printlist[billprinting]{institution}}% + } + {\printtext{\bibopenparen{\bibstring{draft}} + \addspace\printdate\bibcloseparen}} + \newunit} + + +\newbibmacro{legislation:note}{% + \iffieldundef{note} + {} + {\setunit{\addcomma\space}% + \printfield[default]{note}}} + +\newbibmacro{legref}{% + \ifboolexpr{ (test {\iffieldundef{pagination}} + or (not test {\iffieldbibstring{pagination}} ) ) }% + {\iffieldbibstring{pagination}{}{\BibliographyWarning{Pagination type \strfield{pagination} undefined}}\printfield{postnote}} + {\ifnumeralfirst{\thefield{postnote}} + {\ifnumeralsfirst{\thefield{postnote}} + {\bibstring{\thefield{pagination}s}\addnbspace\printfield{postnote}} + {\bibstring{\thefield{pagination}}\addnbspace\printfield{postnote}}} + {\printfield{postnote}}}} + +\newbibmacro*{legsupp}{% + \ifkeyword{cy} + {\iffieldundef{userb} + {} + {\printtext{\mkbibparens{\printfield{userb}}}\bbx@unsetpostnotedelim}} + {}} + +\renewbibmacro*{maintitle+title}{% + \iffieldsequal{maintitle}{title}% + {\clearfield{maintitle}% + \clearfield{mainsubtitle}% + \clearfield{maintitleaddon}}% + {\iffieldundef{maintitle}% + {}% + {\usebibmacro{maintitle}% + \newunit\newblock% + \iffieldundef{volume}% + {}% + {\iffieldundef{crossref} + {\ifboolexpr{test {\iffieldundef{volume}} + and test {\iffieldundef{part}}} + {} + {\setunit{\addcomma\space}% + \printfield{volume}% + \printfield{part}% + \clearfield{volume}% + \clearfield{part}% + \setunit{\addcomma\space}}} + {}}}}% + \usebibmacro{title}% + \newunit}% + +\renewbibmacro*{maintitle+booktitle}{% + \iffieldsequal{maintitle}{title}% + {\clearfield{maintitle}% + \clearfield{mainsubtitle}% + \clearfield{maintitleaddon}}% + {\iffieldundef{maintitle}% + {}% + {\usebibmacro{maintitle}% + \newunit\newblock% + \iffieldundef{volume}% + {}% + {\iffieldundef{crossref} + {\printfield{volume}% + \clearfield{volume}% + \printfield{part}% + \newunit} + {}}}}% + \usebibmacro{booktitle}% + \newunit} + +\newbibmacro{misctitle}{% + \iffieldundef{title} + {\iffieldundef{journaltitle} + {} + {\printfield{journaltitle}% + \newunit}} + {\iffieldundef{journaltitle} + {\printfield{title}% + \newunit} + {\printfield{title}% + \setunit{\addcomma\space}% + \printfield{journaltitle}% + \newunit}}} + +\newbibmacro{neutralcite}{% + \iffieldundef{number}% + {}% + {\printfield{number}\setunit{\addcomma\space}}} + +\newbibmacro{newspaperdate}{\printdate}% + +\renewbibmacro{note+pages}{% + \printfield{pages}% + \setunit{\addspace} + \printfield{note} + \newunit} + +\newbibmacro{online:title}{% + \iffieldundef{title}% + {\iffieldundef{note} + {} + {\printfield{note}% + \clearfield{note}}} + {\printfield{title}}} + +\newbibmacro{origyear}{% + \iffieldundef{origyear}% + {} + {\bbx@pubinfoprint% + \printtext{\firstpublishedstr\addspace}% + \printfield{origyear}}} + +\newbibmacro*{parltnum}{% + \iffieldundef{number} + {} + {\bbx@pubinfoprint\printfield[parlt:postnum]{number}}} + +\newbibmacro*{parltvol}{% + \iffieldundef{volume} + {} + {\iffieldundef{number} + {} + {\printtext{--\printfield[romanvol]{volume}}% + \clearfield{volume}}}} + +\newbibmacro{pcitenote}{% + \iffieldundef{userc} + {} + {\iffieldundef{postnote} + {\setunit{\addcomma\space}} + {\addcomma\space\printfield{postnote}% + \global\toggletrue{cbx@postnoteprinted}% + \setunit{\addsemicolon\space}}}} + +\renewbibmacro*{postnote}{% + \ifboolexpr {test {\iffieldundef{postnote}} or + test {\iftoggle{cbx@postnoteprinted}}}% + {\midsentence} + {\ifboolexpr{test {\ifnumequal{\value{bbx@suppresspostnotedelim}}{1}}} + {\setunit{\addspace}% + \bbx@resetpostnotedelim} + {\setunit{\postnotedelim}}% + \usebibmacro{postnotepagination}}% + \global\toggletrue{cbx@postnoteprinted}} + +\newbibmacro{postnote:us}{% + \iffieldundef{postnote} + {} + {\setunit{\addcomma\space}% + \printfield{postnote}% + \global\toggletrue{cbx@postnoteprinted}}} + +\newbibmacro*{postnotepagination}{% + \ifboolexpr{ ( + test {\ifkeyword{eu}} + or test {\ifkeyword{echr}} )} + {\usebibmacro{postnotepaginationpara}}% Default is "para" for EU and ECHR + {\usebibmacro{postnotepaginationpage}}} % Default is "page" + +\newbibmacro*{postnotepaginationpara}{% + \ifboolexpr{ ( + test {\iffieldundef{pagination}} + or + test {\iffieldequals{pagination}{\paragraphtext}} )} + {\printfield[paragraph:text]{postnote}}% + {\iffieldequals{pagination}{\paragraphmarkings}% + {\nopunct\addspace\printfield[paragraphed]{postnote}} + {\printfield[postnote:old]{postnote}}}} + +\newbibmacro*{postnotepaginationpage}{% + \ifboolexpr{ ( + test {\iffieldundef{pagination}} + or + test {\iffieldequals{pagination}{\pagemarkings}} )} + {\printfield{postnote}}% + {\iffieldequals{pagination}{\paragraphmarkings} + {\nopunct\addspace\printfield[paragraphed]{postnote}} + {\printfield[postnote:old]{postnote}}}} + +\newbibmacro*{publicationinfo}{% + \newunit + \bbx@pubinfostart + \usebibmacro{byauthor}% + \usebibmacro{byeditor+others}% + \usebibmacro{convenue}% + \usebibmacro{conferencetitle}% + \usebibmacro{editionpubinfo}% + \usebibmacro{pubinfo:note+addendum+pubstate}% + \usebibmacro{origyear}% + \usebibmacro{conferencedate}% + \usebibmacro{pubinfo:series+number}% + \usebibmacro{pubinfo:volume}% + \usebibmacro{publisher+location+date}% + \bbx@pubinfostop + \newunit\newblock} + +\newbibmacro{publicationinfo:online}{% + \addspace + \bbx@pubinfostart% + \usebibmacro{websitetitle}% + \usebibmacro{publisher+location+date}% + \bbx@pubinfostop% +} + +\newbibmacro*{publicationinfo:short}{% This is for reference works + \newunit + \iffieldundef{edition}% + {\iffieldundef{year}% + {\bbx@resetpostnotedelim}% + {\bbx@unsetpostnotedelim\printtext{\mkbibparens{\usebibmacro{year}}}}}% + {\bbx@unsetpostnotedelim\printtext{\bibopenparen\printfield{edition}}% + \iffieldundef{year}% + {}% + {\printtext{\addspace\usebibmacro{year}}}% + \printtext{\bibcloseparen}}} + +\newbibmacro*{pubinfo:note+addendum+pubstate}{% + \ifboolexpr{( + test{\iffieldundef{note}} + and test {\iffieldundef{addendum}} + and test {\iffieldundef{pubstate}} )}% + {} + {\bbx@pubinfoprint% + \printfield[default]{note}% + \setunit{\addcomma\space}% + \printfield{addendum}% + \setunit{\addcomma\space}% + \printfield{pubstate}}} + +\newbibmacro*{pubinfo:series+number}{% + \iffieldundef{series} + {\iffieldundef{number} + {} + {\bbx@pubinfoprint + \printfield{number}}} + {\iffieldundef{number} + {\bbx@pubinfoprint + \printfield{series}} + {\bbx@pubinfoprint + \printfield{series}% + \newunit + \printfield{number}}}} + +\newbibmacro{pubinfo:volume}{% + \ifboolexpr{ test {\ifentrytype{book}} + or test {\ifentrytype{collection}}} + {\iffieldundef{volume} + {} + {\bbx@pubinfoprint + \printfield{volume}% + \clearfield{volume}}} + {\iffieldundef{userb} + {} + {\bbx@pubinfoprint + \printfield{userb}% + \clearfield{userb}}}} + +\renewbibmacro*{publisher+location+date}{% + \iffieldundef{year} + {}% + {\ifboolexpr{test {\iflistundef{location}} + or test {\ifnumgreater{\thefield{year}}{\bibyearwatershed}}} + {}% + {\clearlist{publisher}}} + \ifboolexpr{( + test {\iflistundef{publisher}} + and test {\iflistundef{location}} + and test {\iffieldundef{date}} + and test {\iffieldundef{year}} )}% + {}% NOTHING TO DO + {% + \bbx@pubinfoprint + \iflistundef{publisher} + {\iflistundef{location}% + {}% + {\printlist{location}% + \iffieldundef{year} + {}% + {\setunit{\addcomma\space}}}}% + {\printlist{publisher}\setunit{\addspace}}% + \usebibmacro{spaceddate}}}% + +\newbibmacro*{reportvolume}{% + \iffieldundef{volume}% + {}% + {\printfield{volume}}} + +\newbibmacro{report:index:info}{% + \bbx@pubinfostart + \usebibmacro{report:index:author}% + \iffieldequals{entrysubtype}{\parliamentarytype}% + {\bbx@pubinfoprint% + \usebibmacro{hc:or:hl}% + \usebibmacro{sessionyear}% + \usebibmacro{parltnum}% + \usebibmacro{parltvol}}% + {\usebibmacro{rep:type}% + \usebibmacro{rep:series+number}% + \usebibmacro{rep:year}}% + \bbx@pubinfostop} + +\newbibmacro{report:index:author}{% + \ifnameundef{author} + {\ifnameundef{editor} + {\iflistundef{institution} + {} + {\bbx@pubinfoprint + \printlist{institution} + \clearlist{institution}}} + {\bbx@pubinfoprint + \usebibmacro{byedtor+others}}} + {\bbx@pubinfoprint% + \printnames{author}}} + +\newbibmacro*{report:standard}{% + \usebibmacro{author/editor/institution}% + \setunit*{\addcomma\space}\newblock + \usebibmacro{title}% + \usebibmacro{reportinfo} + \newunit\newblock + \usebibmacro{revisedbookvolume}% + \newunit\newblock}% + +\newbibmacro{reportinfo}{% + \newunit + \bbx@pubinfostart + \iffieldequals{entrysubtype}{\parliamentarytype}% + {\bbx@pubinfoprint% + \usebibmacro{hc:or:hl}% + \usebibmacro{sessionyear}% + \usebibmacro{parltnum}% + \usebibmacro{parltvol}}% + {\usebibmacro{rep:type}% + \usebibmacro{rep:series+number}% + \usebibmacro{rep:year}}% + \bbx@pubinfostop} + +\newbibmacro*{rep:institution/publisher}{% + \iflistundef{institution}% + {}% + {\bbx@pubinfoprint% + \printlist{institution}}% + \iflistundef{publisher}% + {}% + {\bbx@pubinfoprint% + \printlist{publisher}\addspace}% + \ifboolexpr{test {\iflistundef{institution}} + and test {\iflistundef{publisher}}} + {} + {\newunit}} + +\newbibmacro*{rep:type}{% + \iffieldundef{type}% + {}% + {\bbx@pubinfoprint% + \printfield{type}}} + +\newbibmacro*{rep:series+number}{% + \iffieldundef{series}% + {\iffieldundef{number} + {}% + {\bbx@pubinfoprint% + \printfield{number}\setunit{\addcomma\space}}}% + {\iffieldundef{series} + {} + {\bbx@pubinfoprint% + \printfield{series}\setunit{\addcomma\space}% + \iffieldundef{number} + {}% + {\printfield{number}\setunit{\addcomma\space}}}}} + +\newbibmacro{revisedbookvolume}{% + \iffieldundef{volume}% + {} + {\usebibmacro{bookvolume}% + \bbx@resetpostnotedelim}} + +\newbibmacro*{rep:year}{% + \ifboolexpr{ test{\iffieldundef{year}} + and test {\iffieldundef{date}} + and test {\iflistundef{publisher}} + and test {\iflistundef{institution}}}% + {}% + {\usebibmacro{rep:institution/publisher}% + \usebibmacro{year}}} + +\newbibmacro*{seriesareport}{% + \usebibmacro{year}[parens]% + \newunit + \printfield{journaltitle}% + \newunit% + \printtext{\bibstring{number}\addspace}% + \printfield{pages}} + +\newbibmacro*{sessionyear}{% + \iffieldundef{year}% + {}% + {\iffieldundef{endyear}% + {\printfield{year}}% + {\printtext{\printfield{year}\bibdatedash{\usebibmacro{year:lastdigits}}}}}} + +\newbibmacro{scotscommentary}{% + \printnames{author}% + \newunit\newblock% + \usebibmacro{maintitle+title}% + \newunit\newblock} + +\renewbibmacro*{shorthandintro}{% + \iffieldundef{shorthandintro} + {\iffieldundef{shorthand} + {} + {\bbx@unsetpostnotedelim\setunit{\addspace}% + \printtext[parens]{\unspace\printfield{shorthand}}}} + {\bbx@unsetpostnotedelim\setunit{\addspace}% + \printtext[parens]{\printfield{shorthandintro}}}} + +\newbibmacro{spaceddate}{% + \ifboolexpr{ ( test {\iffieldundef{year}} + and test {\iffieldundef{date}} ) } + {\unspace}% + {\usebibmacro{date}}} + +\newbibmacro{thesis:type}{% + \iffieldundef{type} + {} + {\bbx@pubinfoprint + \printfield{type}}} + +\newbibmacro{thesis:info}{% + \bbx@pubinfostart + \usebibmacro{thesis:type}% + \usebibmacro{institution+date}% + \bbx@pubinfostop} + +\renewbibmacro*{title}{% + \ifboolexpr{ + test {\iffieldundef{title}} + and + test {\iffieldundef{subtitle}} + } + {} + {\printtext[title]{% + \printfield[titlecase]{title}% + \iffieldundef{subtitle}{}{\setunit{\subtitlepunct}}% + \printfield[titlecase]{subtitle}}}% + \iffieldundef{titleaddon}{}{\newunit\printfield{titleaddon}}} + +\renewbibmacro*{translator+others}{% + \ifboolexpr{ + test \ifusetranslator + and + not test {\ifnameundef{translator}} + } + {\printnames{translator}\addspace% + \printtext{\mkbibparens{% + \usebibmacro{translator+othersstrg}}}% + \clearname{translator}} + {}} + +\newbibmacro*{unrep:date}{% + \ifboolexpr{ test {\iffieldundef{journaltitle}}% + and test {\iffieldundef{number}}}% + {\setunit{\addcomma\space}% + \usebibmacro{date}}% + {}} + +\renewbibmacro*{url+urldate}{% + \iffieldundef{url} + {} + {\printfield{url} + \iffieldundef{urlyear} + {} + {\setunit*{\addspace}% + \printtext{\printurldate}}}} + +\newbibmacro{usjuriscitation}{% + \usebibmacro{title}% + \newunit\newblock% + \iffieldundef{journaltitle}% + {\printfield{number}% + \setunit{\addcomma\space}% + \printfield[default]{eprint}} + {\usebibmacro{vol+report:us}}% + \newunit + \usebibmacro{jurisdictionpages}% + \usebibmacro{postnote:us}% + \usebibmacro{altreportdetails}% + \newunit\newblock + \unspace\printlist[jurisdiction][1-\value{listtotal}]{listb}% + \newunit + \usebibmacro{us:courtid+date}% + \newunit% + \usebibmacro{court-note}% + \newblock + \newunit} + +\newbibmacro{us:courtid+date}{% + \ifboolexpr{test {\iflistundef{institution}} + and test {\iflistundef{location}} + and test {\iffieldundef{year}}} + {} + {\printtext{\mkbibparens{% + \iflistundef{location} + {\printlist{institution}} + {\printlist{location}% + \newunit + \printlist{institution}}% + \newunit + \printfield{year}% + \setunit{}}}}} + +\newbibmacro{vol+report:us}{% + \usebibmacro{reportvolume}% + \setunit{\addspace}% + \printfield{journaltitle}% + \iffieldundef{series} + {} + {\newunit + \printfield[usseries]{series}}} + +\renewbibmacro*{volume+number+eid}{% + \printfield{volume}% + \iffieldundef{issue}% + {\printfield[parens]{number}}% + {\iffieldundef{number}% + {\printfield[parens]{issue}} + {\printtext[parens]{\printfield{number}\addspace\printfield{issue}}}} + \setunit{\addcomma\space}% + \printfield{eid}} + +\newbibmacro{websitetitle}{% + \iffieldundef{journaltitle} + {} + {\bbx@pubinfoprint + \printfield{journaltitle}}} + + +\newbibmacro*{year}[1][]{% + \iffieldundef{year}% + {}% + {\printfield[#1]{year}}} + +\newbibmacro*{year+vol+report}{% + \iffieldequals{entrysubtype}{\subtypenewsp} + {}% + {\usebibmacro{journaldate}% + \newunit}% + \usebibmacro{reportvolume}% + \setunit{\addspace}% + \printfield{journaltitle}% + \setunit*{\addspace}% + \iffieldundef{series} + {} + {\newunit + \printfield{series}% + \setunit{\addspace}}% + \iffieldequals{entrysubtype}{\subtypenewsp} + {\setunit{\addcomma\space}\usebibmacro{newspaperdate}}% + {}} + +\newbibmacro*{year+vol+report:can}{% + \iffieldundef{number} + {\newunit} + {\ifthenelse{ \(% + \iffieldundef{volume}% + \or% + \boolean{bbx@year-essential}% + \) }% + {} + {\clearfield{year}}}% + \iffieldequals{entrysubtype}{\subtypenewsp} + {}% + {\iffieldundef{year} + {} + {\usebibmacro{journaldate}% + \newunit}} + \usebibmacro{reportvolume}% + \setunit{\addspace}% + \printfield{journaltitle}% + \setunit*{\addspace}% + \iffieldundef{series} + {} + {\setunit{\addspace}% + \printtext{\mkbibparens{\printfield[usseries]{series}}}% + \setunit{\addspace}}% + \iffieldequals{entrysubtype}{\subtypenewsp} + {\setunit{\addcomma\space}\usebibmacro{newspaperdate}}% + {}} + + +%%%%%% END %%%%% + +% This infuriating spaghetti (largely taken from biblatex.sty) deals with +% formatting postnotes of the [1]--[2] variety + +\def\bbx@legalpostnotea#1 {\def\bbx@savedargone{{#1}}% + \futurelet\bbx@next\bbx@legalpostnoteX} +\def\bbx@legalpostnoteX{% + \ifx(\bbx@next \expandafter\bbx@legalpostnoteXX%) + \else \expandafter\bbx@legalpostnoteXXX \fi} +\def\bbx@legalpostnoteXXX{\expandafter\rangesplit\bbx@savedargone} +\def\bbx@legalpostnoteXX{\expandafter\bbx@legalpostnoteY\bbx@savedargone} +\def\bbx@legalpostnoteY#1(#2{%) + \rangesplit{#1} (#2} +\def\bbx@legalpostnote#1{\bbx@legalpostnotea#1 } + +\newtoggle{bbx@inrangetog}\newtoggle{bbx@pnotetog} +\DeclareListParser*{\forbbxrange}{--} +\def\rangesplit#1{\togglefalse{bbx@inrangetog}\forbbxrange{\bbx@legal@addbrackets}{#1}} +\def\bbx@legal@addbrackets#1{\iftoggle{bbx@inrangetog}{\printtext{--}}{\toggletrue{bbx@inrangetog}}\printtext{[#1]}} +\def\formatpostnote#1{\togglefalse{bbx@pnotetog}\let\do\bbx@splitformat\docsvlist{#1}} +\def\bbx@splitformat#1{\iftoggle{bbx@pnotetog}{\addcomma\space}{\toggletrue{bbx@pnotetog}}\bbx@legalpostnote{#1}} + +% This tests whether the *first* character of a postnote is a numeral. I originally had a more elegant way +% of doing this (I thought), but I couldn't get it to work or diagnose the trouble + +\def\bbx@legal@ifnumeralfirst#1#2|#3#4{% + \ifboolexpr{ test {\ifstrequal{#1}{0}} + or test {\ifstrequal{#1}{1}} + or test {\ifstrequal{#1}{2}} + or test {\ifstrequal{#1}{3}} + or test {\ifstrequal{#1}{4}} + or test {\ifstrequal{#1}{5}} + or test {\ifstrequal{#1}{6}} + or test {\ifstrequal{#1}{7}} + or test {\ifstrequal{#1}{8}} + or test {\ifstrequal{#1}{9}} } + {#3} + {#4}} + +\def\ifnumeralfirst#1#2#3{% + \edef\legal@tempa{#1|}% REMOVE ME + \expandafter\bbx@legal@ifnumeralfirst\legal@tempa{#2}{#3}} + +\def\ifnumeralsfirst#1#2#3{% + \ifnumeralfirst{#1}% + {\numeraljustfirst{#1}{#2}{#3}}% + {#3}} + +\def\numeraljustfirst#1#2#3{% + \def\legal@result{#3}% + \def\legal@optiontwo{#2}% + \legal@containscomma{#1}% + \legal@containsand{#1}% + \legal@containshyphen{#1}% + \legal@result} + +% This all deals with formatting HL and HC numbers correctly + +\newcounter{bbx@legal@tempcounter} + +\DeclareFieldFormat{parlt:num}{% + \setcounter{bbx@legal@tempcounter}{0}% + \renewcommand*\do[1]{\stepcounter{bbx@legal@tempcounter}}% + \docsvlist{#1}% + \ifnum\value{bbx@legal@tempcounter} < 2\relax% + \printtext{\bbx@legal@chamberpart{#1}\addspace}% + \fi} + +\DeclareFieldFormat{parlt:postnum}{% + \setcounter{bbx@legal@tempcounter}{0}% + \renewcommand*\do[1]{\stepcounter{bbx@legal@tempcounter}}% + \docsvlist{#1}% + \ifnum\value{bbx@legal@tempcounter} < 2\relax + \printtext{\bbx@legal@numberpart{#1}}% + \else + \printtext{#1}% + \fi} + +\def\bbx@legal@@chamberpart#1 #2\relax{% + #1} + +\def\bbx@legal@chamberpart#1{% + \begingroup + \edef\bbx@legal@tempa{#1\space}% + \expandafter\endgroup + \expandafter\bbx@legal@@chamberpart\bbx@legal@tempa\relax} + +\newbibmacro{year:lastdigits}{% + \iffieldequalstr{endyear}{2000}% + {2000}% + {\printtext{\bbx@legal@lasttwo{\strfield{endyear}}}}} + +\def\bbx@legal@@lasttwo#1#2#3#4\relax{% + #3#4} + +\def\bbx@legal@lasttwo#1{% + \begingroup + \edef\bbx@legal@tempa{#1}% + \expandafter\endgroup + \expandafter\bbx@legal@@lasttwo\bbx@legal@tempa\relax} + +\def\bbx@legal@@numberpart#1 #2\relax{ + \bbx@legal@chamberpart{#2}} + +\def\bbx@legal@numberpart#1{% + \begingroup + \edef\bbx@legal@tempa{#1\space}% + \expandafter\endgroup + \expandafter\bbx@legal@@numberpart\bbx@legal@tempa\relax} + +% This stuff inserts institutional information into draft legislation +% titles + +\DeclareFieldFormat{draftleg}{% + \bbx@billsplit{#1}} + +\def\bbx@billspliti#1 Bill#2/relax{#1} +\def\bbx@billsplit#1{% + \expandafter\bbx@billspliti#1 Bill/relax} + +\DeclareListFormat{billprinting}{% + \ifstrequal{#1}{HC} + {\mkbibbrackets{\strfield{number}}\bbx@unsetpostnotedelim} + {\strfield{number}\bbx@resetpostnotedelim}} + +% TREATIES +% Because there is some complexity here, I'm keeping this stuff together + +\newbibmacro{treatycitation}{% + \printfield[default]{title}% + \newunit\newblock% + \printlist[treaty]{institution} + \newunit\newblock + \usebibmacro{treatyinfo}% + \newunit\newblock + \usebibmacro{treaty:year+vol+report}% + \newunit\newblock + \newunit\newblock} + +\newbibmacro{treaty:year+vol+report}{% + \iffieldequals{journaltitle}{\officialjournaltitle} + {\usebibmacro{eulegref}} + {\usebibmacro{treaty:date}% + \newunit + \printfield[default]{volume}% + \setunit{\addspace}% + \printfield{journaltitle}% + \setunit*{\addspace}% + \iffieldundef{series} + {} + {\newunit + \printfield{series}% + \setunit{\addspace}} + \printfield{pages}}}% + +\newbibmacro*{treaty:date}{% + \ifthenelse{ \(% + \iffieldundef{volume}% + \or% + \boolean{bbx@year-essential}% + \) }% + {\ifboolexpr{ test {\ifkeyword{sc}} or + test {\iftoggle{bbx:scotstyle}}} + {\usebibmacro{year}} + {\usebibmacro{year}[brackets]}}% + {}} + + +\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} + +\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} + +\newbibmacro{treatyinfo}{% + \iflistundef{lista}% + {\iffieldundef{year} + {} + {\iffieldundef{volume} + {} + {\printtext{\mkbibparens{\printdate}}}}} + {\printtext{\mkbibparens{\printlist[treatydates]{lista}}}}} + +\newcommand*\treatypartysep{\allowbreak ---\allowbreak} + +\DeclareListFormat{treaty}{% + \ifmoreitems{}{% + \ifthenelse {\value{listcount} = 1} + {\bibopenparen}% + {}% + \ifthenelse {\value{liststop} > \value{listcount} }% + {#1\treatypartysep}% + {#1\bibcloseparen}}} + +\DeclareListFormat{treatydates}{% + \ifthenelse {\value{listcount} = 1} + {\siganddate{#1}} + {\addcomma\space\siganddate{#1}}} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Indexing +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% STANDARD INDICES +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\bbx@trash{trash} + +\let\bbx@gbcases\bbx@trash +\let\bbx@encases\bbx@trash +\let\bbx@sccases\bbx@trash +\let\bbx@nicases\bbx@trash +\let\bbx@echrcases\bbx@trash +\let\bbx@echrcommcases\bbx@trash +\let\bbx@eucases\bbx@trash +\let\bbx@eucasesnum\bbx@trash +\let\bbx@eucaseschron\bbx@trash +\let\bbx@eucommcases\bbx@trash +\let\bbx@eucommcasesnum\bbx@trash +\let\bbx@eucommcaseschron\bbx@trash +\let\bbx@pilcases\bbx@trash +\let\bbx@othercases\bbx@trash +\let\bbx@gbprimleg\bbx@trash +\let\bbx@gbsecleg\bbx@trash +\let\bbx@ensecleg\bbx@trash +\let\bbx@enprimleg\bbx@trash +\let\bbx@scprimleg\bbx@trash +\let\bbx@scsecleg\bbx@trash +\let\bbx@cyprimleg\bbx@trash +\let\bbx@cysecleg\bbx@trash +\let\bbx@niprimleg\bbx@trash +\let\bbx@nisecleg\bbx@trash +\let\bbx@eutreaty\bbx@trash +\let\bbx@euregs\bbx@trash +\let\bbx@eudirs\bbx@trash +\let\bbx@eudecs\bbx@trash +\let\bbx@echrtreaty\bbx@trash +\let\bbx@piltreaty\bbx@trash +\let\bbx@otherprimleg\bbx@trash +\let\bbx@othersecleg\bbx@trash +\let\bbx@otherconleg\bbx@trash +\let\bbx@enroc\bbx@trash +\let\bbx@gbdraftleg\bbx@trash +\let\bbx@gbparltmat\bbx@trash +\let\bbx@commentaries\bbx@trash +\let\bbx@euoffdoc\bbx@trash +\let\bbx@namesindex\bbx@trash + +\newcommand\SetStandardIndices{% +\renewcommand\bbx@gbcases{cases} +\renewcommand\bbx@encases{cases} +\renewcommand\bbx@sccases{cases} +\renewcommand\bbx@nicases{cases} +\renewcommand\bbx@echrcases{cases} +\renewcommand\bbx@echrcommcases{cases} +\renewcommand\bbx@eucases{cases} +\renewcommand\bbx@eucasesnum{trash} +\renewcommand\bbx@eucaseschron{trash} +\renewcommand\bbx@eucommcases{cases} +\renewcommand\bbx@eucommcasesnum{trash} +\renewcommand\bbx@eucommcaseschron{trash} +\renewcommand\bbx@pilcases{cases} +\renewcommand\bbx@othercases{cases} +\renewcommand\bbx@gbprimleg{legislation} +\renewcommand\bbx@gbsecleg{legislation} +\renewcommand\bbx@ensecleg{legislation} +\renewcommand\bbx@enprimleg{legislation} +\renewcommand\bbx@scprimleg{legislation} +\renewcommand\bbx@scsecleg{legislation} +\renewcommand\bbx@cyprimleg{legislation} +\renewcommand\bbx@cysecleg{legislation} +\renewcommand\bbx@nisecleg{legislation} +\renewcommand\bbx@niprimleg{legislation} +\renewcommand\bbx@eutreaty{eutreaty} +\renewcommand\bbx@euregs{eulegislation} +\renewcommand\bbx@eudirs{eulegislation} +\renewcommand\bbx@eudecs{eulegislation} +\renewcommand\bbx@echrtreaty{echrtreaty} +\renewcommand\bbx@piltreaty{treaty} +\renewcommand\bbx@otherprimleg{legislation} +\renewcommand\bbx@othersecleg{legislation} +\renewcommand\bbx@otherconleg{legislation} +\renewcommand\bbx@enroc{legislation} +\renewcommand\bbx@gbparltmat{other} +\renewcommand\bbx@commentaries{other} +\renewcommand\bbx@gbdraftleg{other} +\renewcommand\bbx@euoffdoc{other} +\renewcommand\bbx@namesindex{trash}} + +\newcommand\DeclareIndexAssociation[1]{% + \csdef{bbx@#1}} + +\newcommand\ShowIndexAssociation[1]{% + \csname bbx@#1\endcsname} + +\newcommand\bbx@relevantindex{} +\def\legislationindex{legislation} + +\newbibmacro{setrelevantindex}{% +% DEFAULT IS TRASH INDEX + \renewcommand{\bbx@relevantindex}{[\bbx@trash]}% + \iffieldundef{usera}{% +% COURT RULES ALL GO TO ENROC + \ifboolexpr{ test {\ifentrytype{legislation}}% + and test {\iffieldequals{entrysubtype}{\subtypecourtrules}}}% + {\renewcommand\bbx@relevantindex{[\bbx@enroc]}}% + {}% +% THEN WE DEAL WITH PRIMARY + \ifboolexpr{ test {\ifentrytype{legislation}}% + and test {\iffieldequals{entrysubtype}{\subtypeprimarylegislation}}}% + {\ifkeyword{gb}{\renewcommand\bbx@relevantindex{[\bbx@gbprimleg]}}{}% + \ifkeyword{en}{\renewcommand\bbx@relevantindex{[\bbx@enprimleg]}}{}% + \ifkeyword{sc}{\renewcommand\bbx@relevantindex{[\bbx@scprimleg]}}{}% + \ifkeyword{cy}{\renewcommand\bbx@relevantindex{[\bbx@cyprimleg]}}{}% + \ifkeyword{ni}{\renewcommand\bbx@relevantindex{[\bbx@niprimleg]}}{}% + \iffieldundef{keywords}{\renewcommand\bbx@relevantindex{[\bbx@gbprimleg]}}{}% + }% + {}% OTHER KINDS OF LEGISLATION + \ifboolexpr{ test {\ifentrytype{legislation}}% + and test {\iffieldequals{entrysubtype}{\subtypesecondarylegislation}}}% + {\ifkeyword{gb}{\renewcommand\bbx@relevantindex{[\bbx@gbsecleg]}}{}% + \ifkeyword{en}{\renewcommand\bbx@relevantindex{[\bbx@ensecleg]}}{}% + \ifkeyword{sc}{\renewcommand\bbx@relevantindex{[\bbx@scsecleg]}}{}% + \ifkeyword{cy}{\renewcommand\bbx@relevantindex{[\bbx@cysecleg]}}{}% + \ifkeyword{ni}{\renewcommand\bbx@relevantindex{[\bbx@nisecleg]}}{}% + \iffieldundef{keywords}{\renewcommand\bbx@relevantindex{[\bbx@gbsecleg]}}{}% + }% + {}% OTHER KINDS OF LEGISLATION + \ifboolexpr{ test {\ifentrytype{legislation}}% + and test {\ifkeyword{eu}}}% + {\iffieldequals{entrysubtype}{\eutreaty}% + {\renewcommand\bbx@relevantindex{[\bbx@eutreaty]}}{}% + \ifboolexpr{ test {\iffieldequals{type}{\euregulation}}% + or test {\iffieldequals{entrysubtype}{\euregulation}}}% + {\renewcommand\bbx@relevantindex{[\bbx@euregs]}}{}% + \ifboolexpr{ test{\iffieldequals{type}{\eudirective}}% + or test {\iffieldequals{entrysubtype}{\eudirective}}}% + {\renewcommand\bbx@relevantindex{[\bbx@eudirs]}}{}% + \ifboolexpr{ test{\iffieldequals{type}{\eudecision}}% + or test {\iffieldequals{entrysubtype}{\eudecision}}}% + {\renewcommand\bbx@relevantindex{[\bbx@eudecs]}}{}}% + {}% + \ifboolexpr{ test {\ifentrytype{legislation}}% + and test {\ifkeyword{draft}} }% + {\ifboolexpr {test {\ifkeyword{gb}} or test {\ifkeyword{en}}% + or test {\ifkeyword{sc}} or test {\ifkeyword{cy}}% + or test {\ifkeyword{ni}}}% + {\renewcommand\bbx@relevantindex{[\bbx@gbdraftleg]}}% + {}}% + {}% + \ifentrytype{jurisdiction}% + {\ifkeyword{sc}{\renewcommand{\bbx@relevantindex}{[\bbx@sccases]}}% + {\ifkeyword{gb}{\renewcommand{\bbx@relevantindex}{[\bbx@gbcases]}}% + {\ifkeyword{en}{\renewcommand{\bbx@relevantindex}{[\bbx@encases]}}% + {\ifkeyword{ni}{\renewcommand{\bbx@relevantindex}{[\bbx@nicases]}}% + {\ifkeyword{eu}{\renewcommand{\bbx@relevantindex}{[\bbx@eucases]}}% + {\ifkeyword{echr}{\renewcommand{\bbx@relevantindex}{[\bbx@echrcases]}}% + {\ifkeyword{int}{\renewcommand{\bbx@relevantindex}{[\bbx@pilcases]}}% + {\iffieldundef{keywords}{\renewcommand{\bbx@relevantindex}{[\bbx@encases]}} + {\renewcommand{\bbx@relevantindex}{[\bbx@othercases]}}}}}}}}}}% + {}% + \ifboolexpr{ test {\ifentrytype{legal}}% + and test {\iffieldequals{entrysubtype}{\treatysubtype}} }% + {\ifkeyword{int}{\renewcommand{\bbx@relevantindex}{[\bbx@piltreaty]}}{}% + \ifkeyword{echr}{\renewcommand{\bbx@relevantindex}{[\bbx@echrtreat]}}{}}{}% + \iffieldequals{entrysubtype}{\parliamentarytype}% + {\renewcommand{\bbx@relevantindex}{[\bbx@gbparltmat]}}% + {}% + \iffieldequals{entrysubtype}{\comdocsubtype}% + {\renewcommand{\bbx@relevantindex}{[\bbx@euoffdoc]}}% + {}% + \ifentrytype{commentary}% + {\renewcommand{\bbx@relevantindex}{[\bbx@commentaries]}}% + {}% + \ifboolexpr{ test{\ifentrytype{legal}} + and test {\iffieldequals{entrysubtype}{\explanatorynote}}} + {\renewcommand{\bbx@relevantindex}{[\bbx@gbparltmat]}}% + {}% + }% + {\renewcommand{\bbx@relevantindex}{[\thefield{usera}]}}} + +\newcommand\bbx@istrash{[\bbx@trash]} + + \renewbibmacro*{index:title}[2]{% + \ifboolexpr{ test {\ifentrytype{jurisdiction}} + and test {\ifkeyword{eu}} and + (not test {\iflistcontains{institution}{\commission}})} + {\renewcommand\bbx@relevantindex{[\bbx@eucasesnum]}% + \usebibmacro{index:field:eu}% + {\index}% + {\thefield{userf}}% + {\thefield{entrykey}}}% + {}% + \usebibmacro{setrelevantindex}% + \ifboolexpr{ test {\ifentrytype{legal}} + and test {\iffieldequals{entrysubtype}{\parliamentarytype}}} + {\usebibmacro{hansard:index:fields}{#1}{#2}} + {\ifboolexpr{ (not test {\ifentrytype{legislation}} ) + and not + ( test {\ifentrytype{legal}} + and test {\iffieldequals{entrysubtype}{\treatytype}} ) }% + {\usebibmacro{index:field}% + {\index}% + {\thefield{indexsorttitle}}% + {\thefield{entrykey}}}% + {\iffieldequals{entrysubtype}{\subtypecourtrules}% + {\usebibmacro{index:rules}}% + {\usebibmacro{legislation:with:postnote}{#1}{#2}}}}} + +\newbibmacro{hansard:index:fields}[2]{% + \def\bbx@tempaind{vol }% + \iffieldundef{crossref} + {\savefield{entrykey}{\bbx@tempa}% + \restorefield{crossref}{\bbx@tempa}}% + {}% + \iffieldundef{volume} + {\usebibmacro{index:field:5}% + {\index}% + {\thefield{indexsorttitle}} + {\thefield{crossref}}} + {\usebibmacro{index:field:3}% + {\index}% + {\thefield{indexsorttitle}} + {\thefield{crossref}} + {\thefield{volume}}}} + +\newbibmacro{legislation:with:postnote}[2]{% + \ifkeyword{eu} + {\def\bbx@tempa{\thefield{indexsorttitle}}} + {\def\bbx@tempa{\thefield{indexsorttitle}\thefield{year}}}% + \iffieldundef{postnote}% + {\usebibmacro{index:field:5}% + {\index}% + {\bbx@tempa}% + {\thefield{entrykey}}}% + {\ifnumeralfirst{\thefield{postnote}}% + {\usebibmacro{legislation:with:formattedpostnote}{#1}{\bbx@tempa}}% + {\usebibmacro{index:field:2}% + {#1}% + {\bbx@tempa}% + {\thefield{entrykey}}% + {\thefield{postnote}}% + {\thefield{postnote}}}}} + +\newbibmacro{set:index:label}{% + \iffieldequalstr{pagination}{section}{\gdef\bbx@tempaind{s }}% + {\iffieldequalstr{pagination}{article}{\gdef\bbx@tempaind{art }}% + {\iffieldequalstr{pagination}{regulation}{\gdef\bbx@tempaind{reg }}% + {\iffieldequalstr{pagination}{rule}{\gdef\bbx@tempaind{r }}% + {\iffieldequalstr{pagination}{clause}{\gdef\bbx@tempaind{cl }}% + {\iffieldequalstr{pagination}{paragraph}{\gdef\bbx@tempaind{para }}% + {\ifkeyword{eu}{\gdef\bbx@tempaind{art }}% + {\gdef\bbx@tempaind{}}}}}}}}} + +\newbibmacro{legislation:with:formattedpostnote}[2]{% + \usebibmacro{set:index:label}% + \edef\bbx@tempbind{\strfield{postnote}}% + \renewcommand{\do}[1]{% + \usebibmacro{index:field:2}% + {#1}% + {#2}% + {\thefield{entrykey}}% + {##1}% + {\bbx@tempaind##1}}% + \docsvfield{postnote}} + +\def\bbx@secpart#1(#2\relax{#1}%) +\def\bbx@rangechop#1--#2\relax{#1} + +\def\bbx@subsparti#1(#2\relax{#2} +\def\bbx@subspartii#1)#2\relax{#1} +\def\bbx@subspart#1{% + \def\bbx@tempb{#1}% + \expandafter\expandafter\expandafter\bbx@subspartii\expandafter\bbx@subsparti\bbx@tempb(\relax)\relax} + +\def\bbx@hassubpart#1{% + \def\bbx@temph{#1}% + \expandafter\bbx@rangechop\expandafter\bbx@hassubparti\bbx@temph--\relax(\relax}%) + +\def\bbx@hassubparti#1(#2\relax{%) + \sbox0{#2}% + \ifdim\wd0=0pt + \expandafter\@secondoftwo + \else\expandafter\@firstoftwo + \fi} + +% This is the macro that does most of the work in relation to legislation. +% It's rather ghastly, and needs to be exactly as it is in order for expansion to work properly. + +\newbibmacro*{index:field:2}[5]{% + \begingroup% + \bbx@hassubpart{#4}% + {\protected@edef\theindexentry{\unexpanded{#1}\bbx@relevantindex{#2\actualoperator\unexpanded{\citeinindex}{#3}!\expandafter\bbx@rangechop\expandafter\bbx@secpart#4--\relax(\relax\actualoperator\expandafter\bbx@rangechop\expandafter\bbx@secpart#5--\relax(\relax!\expandafter\expandafter\expandafter\bbx@subspartii\expandafter\bbx@subsparti#4(\relax)\relax\actualoperator(\expandafter\expandafter\expandafter\bbx@subspartii\expandafter\bbx@subsparti#5(\relax)\relax)}}}%)) + {\protected@edef\theindexentry{% + \unexpanded{#1}\bbx@relevantindex{#2\actualoperator\unexpanded{\citeinindex}{#3}!\expandafter\bbx@rangechop\expandafter\bbx@secpart#4--\relax(\relax\actualoperator\expandafter\bbx@rangechop\expandafter\bbx@secpart#5--\relax(\relax%)) + }}}% + \theindexentry% + \endgroup} + +\renewbibmacro*{index:field}[3]{% + \begingroup + \protected@edef\theindexentry{% + \unexpanded{#1}\bbx@relevantindex{#2\actualoperator\unexpanded{\citeinindex}{#3}}}% + \theindexentry + \endgroup} + +\newtoggle{bbx@numcite} + +\newbibmacro*{index:field:eu}[3]{% + \begingroup + \protected@edef\theindexentry{% + \unexpanded{#1}\bbx@relevantindex{#2\actualoperator\unexpanded{\citeinindexnum}{#3}}}% + \theindexentry + \endgroup} + + +% This is for legislation with neither postnote nor prenote + +\newbibmacro*{index:field:5}[3]{% + \begingroup + \protected@edef\theindexentry{% + \unexpanded{#1}\bbx@relevantindex{#2\actualoperator\unexpanded{\citeinindex}{#3}}}% + \theindexentry + \endgroup} + +% This is used for procedural rules with a prenote but no postnote + +\newbibmacro*{index:field:3}[4]{% + \begingroup + \protected@edef\theindexentry{% + \unexpanded{#1}\bbx@relevantindex{#2\actualoperator\unexpanded{\citeinindex}{#3}!#4\actualoperator\bbx@tempaind#4}}% + \theindexentry + \endgroup} + +% This is for procedural rules with prenote and postnote + +\newbibmacro*{index:field:4}[5]{% + \begingroup + \protected@edef\theindexentry{% + \unexpanded{#1}\bbx@relevantindex{#2\actualoperator\unexpanded{\citeinindex}{#3}!#4\actualoperator\bbx@tempaind#4!#5\actualoperator\bbx@tempbind#5}}% + \theindexentry + \endgroup} + +\newbibmacro*{index:rules}{% + \restorefield{prenote}{\postnotesecond}% + \iffieldequalstr{shorttitle}{RSC} + {\gdef\bbx@tempaind{Ord }% + \gdef\bbx@tempbind{r }}% + {\iffieldequalstr{shorttitle}{CCR} + {\gdef\bbx@tempaind{Ord }% + \gdef\bbx@tempbind{r }}% + {\gdef\bbx@tempaind{}% + \gdef\bbx@tempbind{}}}% + \iffieldundef{prenote}% + {\iffieldundef{postnote}% + {\usebibmacro{index:field:5}% + {\index}% + {\thefield{indextitle}}% + {\thefield{entrykey}}}% + {\usebibmacro{index:field:3}% + {\index}% + {\thefield{indextitle}}% + {\thefield{entrykey}}% + {\postnotefirst}}}% + {\iffieldundef{prenote}% + {\usebibmacro{index:field:3}% + {\index}% + {\thefield{indextitle}}% + {\thefield{entrykey}}% + {\postnotefirst}}% + {\usebibmacro{index:field:4}% + {\index}% + {\thefield{indextitle}}% + {\thefield{entrykey}}% + {\postnotefirst}% + {\postnotesecond}}}}% + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% INDEX: DRIVERS +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newbibmacro*{default:index}{% + \usebibmacro{begentry}% + \printfield[default]{title}% + \newunit + \iffieldundef{year}{} + {\printtext{\mkbibparens{\printfield{year}}}}% + \newunit + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{book:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{collection:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{article:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{thesis:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{inbook:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{periodical:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{patent:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{inproceedings:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{incollection:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{mvbook:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{reference:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{mvreference:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{proceedings:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{inmvreference:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{inreference:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{misc:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{booklet:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{techreport:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{manual:index}{\usebibmacro{default:index}} +\DeclareBibliographyDriver{online:index}{\usebibmacro{default:index}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Improved way of checking if list contains something +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\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}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Index names +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\renewbibmacro*{index:name}[5]{% + \begingroup + \def\bbxinitsep{}% + \ifuseprefix + {\protected@edef\theindexentry{% + \unexpanded{#1}[\bbx@namesindex]{% + \ifblank{#4}{}{#4 }% + \@firstofone #2% remove spurious braces + \ifblank{#5}{}{ #5}% + \ifblank{#3}{}{, #3}% + \actualoperator + \ifblank{#4}{}{\MakeCapital{#4} }% + #2% + \ifblank{#5}{}{ #5}% + \ifblank{#3}{}{, #3}}}} + {\protected@edef\theindexentry{% + \unexpanded{#1}[\bbx@namesindex]{% + \@firstofone #2% remove spurious brces + \ifblank{#5}{}{ #5}% + \ifblank{#3#4}{}{,}% + \ifblank{#3}{}{ #3}% + \ifblank{#4}{}{ #4}}}}% + \theindexentry + \endgroup} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Sorting Scheme : Sort includes INSTITUTION +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\DeclareSortingScheme{nity}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \name{sortname} + \name{author} + \name{editor} + \name{translator} + \list{institution} + \field{sorttitle} + \field{title} + \field{booktitle} + \field{maintitle} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field[padside=left,padwidth=4,padchar=0]{volume} + \literal{0000} + } +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Printindex early +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\printindexearly}{} + +\AtEndPreamble{% + \@ifpackageloaded{imakeidx} + {\renewcommand{\printindexearly}[1][\jobname]{% + \@ifundefined{#1@idxfile}{\imki@error{#1}}{\bbx@putimindex{#1}}}} + {\@ifpackageloaded{index} + {\renewcommand{\printindexearly}{\@printindex}} + {\renewcommand{\printindexearly}[1]{\PackageError{biblatex-oscola}{You need to load either the imakeidx or index package:}}}}} + +% Based on imki@putindexsplit +\newcommand{\bbx@putimindex}[1]{% + \let\imki@indexname\indexname + \@nameuse{imki@set@#1}% + \ifimki@nonewpage\else + \imki@clearpage + \fi + \ifKV@imki@intoc + \def\imki@maybeaddtotoc{\@nameuse{phantomsection}% + \addcontentsline{toc}{\imki@toclevel}{\imki@title}}% + \else + \def\imki@maybeaddtotoc{}% + \fi + \ifx\imki@title\imki@check@indexname\else + \def\indexname{\imki@title}% + \fi + \@input@{#1.ind} + \let\indexname\imki@indexname +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% SOURCE MAPPING +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\DeclareSourcemap{ + \maps[datatype=bibtex]{ + \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] + } + \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=false]{ + \pertype{inreference} + \step[fieldsource=booktitle, + fieldtarget=userb] + } + \map[overwrite=false]{ + \step[fieldsource=type, + final=true] + \step[fieldset=entrysubtype, + origfieldval=true] + } + \map[overwrite=true]{ + \pertype{legislation} + \step[fieldsource=keywords, + match={eu}, + final=true] + \step[fieldsource=entrysubtype, + match=\regexp{directive|decision}, + final=true] + \step[fieldsource=number] + \step[fieldset=indextitle, + origfieldval=true] + \step[fieldsource=indextitle, + match=\regexp{(\S+)/(\d\d\d\d)\D} + replace=\regexp{$1/0$2}] + \step[fieldsource=indextitle, + match=\regexp{(\S+)/(\d\d\d)\D}, + replace=\regexp{$1/00$2}] + \step[fieldsource=indextitle, + match=\regexp{(\S+)/(\d\d)\D}, + replace=\regexp{$1/000$2}] + \step[fieldsource=indextitle, + match=\regexp{(\S+)/(\d)\D}, + replace=\regexp{$1/0000$2}] + \step[fieldsource=indextitle, + match=\regexp{(\d+)/(\d+)(\D*)}, + replace=\regexp{$1$2}] + } + \map[overwrite=true]{ + \pertype{legislation} + \step[fieldsource=keywords, + match={eu}, + final=true] + \step[fieldsource=entrysubtype, + match={regulation}, + final=true] + \step[fieldsource=number] + \step[fieldset=indextitle, + origfieldval=true] + \step[fieldsource=indextitle, + match=\regexp{\D*(\d+)/(\d\d)\D} + replace=\regexp{$1/19$2}] + \step[fieldsource=indextitle, + match=\regexp{(\d\d\d\d)/(\d+)}, + replace=\regexp{0$1/$2}] + \step[fieldsource=indextitle, + match=\regexp{(\d\d\d)/(\d+)}, + replace={00$1/$2}] + \step[fieldsource=indextitle, + match=\regexp{(\d\d)/(\d+)}, + replace=\regexp{000$1/$2}] + \step[fieldsource=indextitle, + match=\regexp{(\d)/(\d+)}, + replace=\regexp{0000$1/$2}] + \step[fieldsource=indextitle, + match=\regexp{(\d+)/(\d+)}, + replace=\regexp{$2$1}] + } + \map[overwrite=false]{ + \pertype{jurisdiction} + \step[fieldsource=keywords, + match=eu, + final=true] + \step[fieldsource=number] + \step[fieldset=userf, + origfieldval=true] + } + \map[overwrite=true]{ + \pertype{jurisdiction} + \step[fieldsource=keywords, + match={eu}, + final=true] + \step[fieldsource=userf, + match=\regexp{^(\d+)/(\d+)}, + replace=\regexp{C-$1/$2}] + \step[fieldsource=userf, + match=\regexp{([^/]+)/(\d+)[-,].*$}, + replace=\regexp{$1/$2}] + \step[fieldsource=userf, + match=\regexp{(\D)\D*(\d+)/(\d+)}, + replace=\regexp{$1A$2A$3}] + \step[fieldsource=userf, + match=\regexp{([^A]*)A([^A]*)A([01234]\d)$}, + replace=\regexp{$1A$2A20$3}] + \step[fieldsource=userf, + match=\regexp{([^A]*)A([^A]*)A([56789]\d)$}, + replace=\regexp{$1A$2A19$3}] + \step[fieldsource=userf, + match=\regexp{(\d\d\d)A}, + replace=\regexp{0$1A}] + \step[fieldsource=userf, + match=\regexp{A(\d\d)A}, + replace=\regexp{A00$1A}] + \step[fieldsource=userf, + match=\regexp{A(\d)A}, + replace=\regexp{A000$1A}] + \step[fieldsource=userf, + match=\regexp{CA(.*)}, + replace=\regexp{0A$1}] + \step[fieldsource=userf, + match=\regexp{(T)}, + replace={1}] + \step[fieldsource=userf, + match=\regexp{(\d)A(\d\d\d\d)A(\d\d\d\d)}, + replace=\regexp{$3$2$1}] + } + \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}] + } + \map[overwrite=true]{ + \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}] +} + \map[overwrite=true]{ + \step[fieldsource=author, + match=\regexp{(\w)\.}, + replace=\regexp{$1\\bbxinitsep\x20}] + } + \map[overwrite=true]{ + \step[fieldsource=editor, + match=\regexp{(\w)\.}, + replace=\regexp{$1\\bbxinitsep\x20}] + } + \map[overwrite=true]{ + \step[fieldsource=translator, + match=\regexp{(\w)\.}, + replace=\regexp{$1\\bbxinitsep\x20}] + } + \map[overwrite=true]{ + \step[fieldsource=tabulate, + fieldtarget=usera] + } +}} + +\endinput \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/oscola/oscola.cbx b/Master/texmf-dist/tex/latex/oscola/oscola.cbx new file mode 100644 index 00000000000..72716b765c5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/oscola/oscola.cbx @@ -0,0 +1,390 @@ +% Based on verbose-inote.cbx by Philip Lehman and others +% Part of the OSCOLA package for biblatex: see the file +% oscola.lbx for copyright and licence information + +\ProvidesFile{oscola.cbx}[2012/08/16 v0.1 Biblatex citation style for OSCOLA standard] + +\RequireCitationStyle{verbose-inote} + +\newcounter{bbx@lastcitedc} +\newtoggle{bbx@samefootnote} + +% This checks citations for casenotes +\AtEveryCite{% + \ifnum\value{bbx@lastcitedc} = \value{footnote}% + \toggletrue{bbx@samefootnote}% + \else + \togglefalse{bbx@samefootnote}% + \fi + \setcounter{bbx@lastcitedc}{\value{footnote}}} + +\DeclareBibliographyOption{eutreaty}[false]{% + \ifstrequal{#1}{alternative} + {} + {\renewbibmacro*{eutreatypostnote}{}}} + +%\renewcommand{\bibfootnotewrapper}[1]{#1\addperiod} +\newtoggle{cbx@weareindexing} +\toggletrue{cbx@weareindexing} + +% We do this largely to pick up the cases were ibid should not be used + +\renewbibmacro*{cite}{% + \usebibmacro{cite:citepages}% + \global\togglefalse{cbx:loccit}% + \ifciteseen + {\iffieldundef{shorthand} + {\ifboolexpr{ + test {\ifciteibid} + and + not test {\iffirstonpage} + and + not test {\iftoggle{bbx:suppressibid}} + } + {\usebibmacro{cite:ibid}} + {\usebibmacro{cite:short}}} + {\usebibmacro{cite:shorthand}}} + {\usebibmacro{cite:full}}} + + +\renewbibmacro*{citeindex}{% + \ifboolexpr{ test{\ifciteindex} and test{\iftoggle{cbx@weareindexing}}} + {\indexnames{labelname}% + \indexfield{indextitle}} + {}% + \global\toggletrue{cbx@weareindexing}} + +\newcommand{\DNI}{\togglefalse{cbx@weareindexing}} + +\newbibmacro*{footcite:note:old}{% + \ifboolexpr{ test {\ifentrytype{misc}} or test {\ifentrytype{legal}} } + {\printfield[title]{labeltitle}\setunit*{\addspace}} + {\ifnameundef{labelname}% + {\printfield{label}}% + {\printnames{labelname}}% + \ifsingletitle% + {}% + {\setunit*{\nametitledelim}% + \printfield[title]{labeltitle}}% + \setunit*{\addspace}}% + \bbx@unsetpostnotedelim% + \printtext[parens]{% + \midsentence + \bibstring{seenote}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \iftoggle{cbx:pageref}% + {\ifsamepage{\the\value{instcount}}% + {\csuse{cbx@f@\thefield{entrykey}}}% + {}% + {\addcomma\space\bibstring{page}\addnbspace% + \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}} + {}}} + +% This is the original verbose-inote short citation + +\newbibmacro*{cite:oldshort}{% + \printnames{labelname}% + \setunit*{\nametitledelim}% + \printtext[bibhyperlink]{% + \printfield[citetitle]{labeltitle}}} + +\newbibmacro*{cite:miscshort}{% + \iffieldundef{shorttitle} + {\iffieldundef{journaltitle} + {\printfield{title}} + {\printfield{journaltitle}}} + {\printfield{shorttitle}}% + \printtext[bibhyperlink]{% + \printfield[citetitle]{labeltitle}}} + +\newbibmacro*{cite:shortleg}{% + \iffieldequals{entrysubtype}{\subtypecourtrules} + {\usebibmacro{cite:full}} + {\printtext[bibhyperlink]{% + \ifkeyword{eu}% + {\usebibmacro{shorteu}}% + {\iffieldequals{entrysubtype}{\subtypesecondarylegislation} + {\usebibmacro{title:or:shorttitle}% + \newunit + \iffootnote + {\bbx@unsetpostnotedelim% + \printtext[parens]{% + \midsentence + \bibstring{seenote}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \iftoggle{cbx:pageref}% + {\ifsamepage{\the\value{instcount}}% + {\csuse{cbx@f@\thefield{entrykey}}}% + {}% + {\addcomma\space\bibstring{page}\addnbspace% + \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}}}} + {\iffieldundef{number} + {} + {\setunit{\addcomma\space}% + \printfield{number}}}} + {\iffieldundef{title}% + {\iffieldundef{number}% + {\usebibmacro{cite:oldshort}}% + {\printfield{number}\setunit{\addcomma\space}}}% + {\usebibmacro{title:or:shorttitle}}}}}}} + +\newbibmacro*{shorteu}{% + \iffieldundef{shorttitle}% + {\usebibmacro{makeshorteu}}% + {\usebibmacro{eutreatypostnote}\printfield{shorttitle}}% + \ifboolexpr{test {\iffieldundef{shorthand}} and test {\iffootnote}} + {\newunit\printtext[parens]{% + \midsentence + \bibstring{seenote}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \iftoggle{cbx:pageref}% + {\ifsamepage{\the\value{instcount}}% + {\csuse{cbx@f@\thefield{entrykey}}}% + {}% + {\addcomma\space\bibstring{page}\addnbspace% + \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}} + {}}\bbx@unsetpostnotedelim}% + {\bbx@resetpostnotedelim}}% + +\renewbibmacro*{footcite:shorthand}{% + \ifboolexpr{ test {\ifentrytype{legislation}}% + and test {\iffieldequals{entrysubtype}{\eutreaty}} }% + {\usebibmacro{eutreatypostnote}% + \printtext[bibhyperlink]{\printfield{shorthand}}} + {\printtext[bibhyperlink]{\printfield{shorthand}}% + \bbx@resetpostnotedelim}}% + +\renewbibmacro*{cite:shorthand}{% + \ifboolexpr{ test {\ifentrytype{legislation}}% + and test {\iffieldequals{entrysubtype}{\eutreaty}} } + {\usebibmacro{eutreatypostnote}\printtext[bibhyperlink]{\printfield{shorthand}}}% + {\printtext[bibhyperlink]{\printfield{shorthand}}% + \bbx@resetpostnotedelim}}% + + +\newbibmacro*{makeshorteu}{% + \ifboolexpr{ test {\iffieldundef{number}} or test {\iffieldundef{type}} }% + {\usedriver{}{legislation}}% + {\ifbibstring{\thefield{type}}% + {bibcpstring{\thefield{type}}}% + {\printfield{type}}% + \addnbspace\printfield{number}}}% Need to get this to refer back via notes. + +\providecommand*{\eutreaty}{eu-treaty} + +\global\newtoggle{cbx@postnoteprinted} + +\newbibmacro*{eutreatypostnote}{% + \iffieldequals{entrysubtype}{\eutreaty} + {\iffieldundef{prenote}{\bibsentence}{}% + \bbx@unsetpostnotedelim\usebibmacro{postnote}% + \iffieldundef{postnote}{}{\addspace}} + {}} + +\newbibmacro*{cite:refonlyfull}{% + \usebibmacro{cite:citepages}% + \global\togglefalse{cbx:loccit}% + \ifentrytype{jurisdiction} + {\clearfield{title}% + \clearfield{shorttitle}}% + {}% + \usebibmacro{cite:full}} + +% I've left this, although I think I probably won't use it because +% it doesn't make sense to have "partial" references going back to +% note numbers + +\newbibmacro*{cite:refonlynote}{% + \usebibmacro{cite:citepages}% + \global\togglefalse{cbx:loccit}% + \iffootnote + {% + \printtext{% + \midsentence\bibstring{seenote}\addnbspace + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}\bbx@resetpostnotedelim% + \iftoggle{cbx:pageref} + {\ifsamepage{\the\value{instcount}} + {\csuse{cbx@f@\thefield{entrykey}}} + {} + {\addcomma\space\bibstring{page}\addnbspace + \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}} + {}\bbx@resetpostnotedelim}}% + {\usebibmacro{cite:refonlyfull}}} + +\newbibmacro*{cite:refonly}{% + \ifentrytype{jurisdiction} + {\clearfield{title}\clearfield{shorttitle}} + {}% + \iffootnote{\usebibmacro{footcite}}} + +% These two macros need to be removed: they are not intended for +% use; the remnant of a different scheme. +\DeclareCiteCommand{\shortcite}% + {\usebibmacro{prenote}}% + {\usebibmacro{citeindex}% + \usebibmacro{cite:refonly}}% + {\multicitedelim}% + {\usebibmacro{cite:postnote}}% + +\DeclareCiteCommand{\footshort}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite:refonly}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\renewbibmacro*{cite:short}{% + \ifentrytype{legislation}% + {\usebibmacro{cite:shortleg}} + {\ifboolexpr{( + test {\ifentrytype{commentary}} + or (test {\ifentrytype{legal}} and not test {\iffieldequals{entrysubtype}{\treatysubtype}} ) + or (test {\ifentrytype{jurisdiction}} + and (not test {\iffieldundef{userc}}) + and (not test {\iffieldundef{postnote}})))}% + {\usebibmacro{cite:full}} + {\ifentrytype{misc} + {\usebibmacro{cite:miscshort}} + {\usebibmacro{cite:oldshort}}}}} + +\renewbibmacro*{footcite:note}{% + \ifboolexpr{test {\ifentrytype{legislation}} + or ( test {\ifentrytype{legal}} + and not test {\iffieldequals{entrysubtype}{\treatysubtype}} )}% + {\usebibmacro{cite:short}}% + {\ifentrytype{commentary}% + {\usebibmacro{footcite:full}}% + {\ifboolexpr{ ( test {\ifentrytype{jurisdiction}} + and + ( not test {\iffieldundef{userc}} + and not test {\iffieldundef{postnote}} )) + or (test {\ifentrytype{legal}} + and test {\iffieldequalstr{type}{parliamentary}} )} + {\usebibmacro{cite:full}}% + {\ifboolexpr{ ( test {\ifentrytype{report}} and test {\iffieldequalstr{entrysubtype}{comdoc}} )} + {\usebibmacro{cite:refonlyfull}} % FIX THIS: will need a separate macro + {\usebibmacro{footcite:note:old}}}}}}% + +\DeclareCiteCommand{\reponly}% + {\usebibmacro{prenote}}% + {\usebibmacro{citeindex}% THIS MAY NEED TO CHANGE + \ifentrytype{jurisdiction} + {\usedriver{}{jurisdiction:reponly}} + {\iffootnote + {\usebibmacro{footcite}} + {\usebibmacro{cite}}}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\renewbibmacro*{footcite:ibid}{% + \ifboolexpr{ ( test {\iffieldundef{userc}} + or test {\iffieldundef{postnote}}) + and not + test{\iffieldequals{entrysubtype}{\subtypecourtrules}} }% + {\printtext[bibhyperlink]{\iftoggle{bbx@capibid}{}{\midsentence}\bibstring{ibidem}}% + \ifloccit + {\global\toggletrue{cbx:loccit}} + {}} + {\usebibmacro{cite:refonlyfull}}} + +\DeclareCiteCommand{\footciteref}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite:refonly}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\renewbibmacro*{cite:ibid}{% + \ifboolexpr{ ( test {\iffieldundef{userc}} + or test {\iffieldundef{postnote}}) + and not + test{\iffieldequals{entrysubtype}{\subtypecourtrules}} }% + {\printtext[bibhyperlink]{\iftoggle{bbx@capibid}{\midsentence}{}\bibstring{ibidem}}% + \ifloccit + {\global\toggletrue{cbx:loccit}} + {}} + {\usebibmacro{cite:refonlyfull}}} + +% We take advantage of the prenote macro to do some messing with +% the postnotes + +\DeclareListParser{\dopipedlist}{|} + +\def\setuppostnotes{% + \global\let\postnotefirst\@undefined% + \global\let\postnotesecond\@undefined% + \edef\cbx@tempa{{\thefield{postnote}}}% + \renewcommand\do[1]{% + \ifx\postnotefirst\@undefined + \gdef\postnotefirst{##1}% + \else + \gdef\postnotesecond{##1}% + \fi}% + \expandafter\dopipedlist\cbx@tempa} + +\renewbibmacro*{prenote}{% + \global\togglefalse{cbx@postnoteprinted}% + \setuppostnotes + \restorefield{postnote}{\postnotefirst}% + \savefield{prenote}{\cbx@legal@prenote}% this will go + \iffieldundef{prenote}% + {}% + {\printfield{prenote}% + \setunit{\prenotedelim}}} + +\DeclareCiteCommand{\citeinindex} + {} + {\usedriver{}{\thefield{entrytype}:index}} + {\multicitedelim} + {} + +\DeclareCiteCommand{\citeinindexnum} + {} + {\usedriver{\toggletrue{bbx@numcite}}{\thefield{entrytype}:index}} + {\multicitedelim} + {\togglefalse{bbx@numcite}} + +\DeclareCiteCommand{\indexonly} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}} + {} + {} + +% The following declarations are required for some reason that I cannot +% understand. Unless so redefined, we get spacing problems with postnotes + +\DeclareCiteCommand{\fullcite} + {\usebibmacro{prenote}} + {\usebibmacro{cite:full}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footfullcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{cite:full}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\textcite}[\cbx@textcite\footciteref] + {\gdef\cbx@savedkeys{}} + {\ifboolexpr{ test {\ifentrytype{jurisdiction}} or test{\ifentrytype{legislation}} } + {\usebibmacro{title:or:shorttitle}}% + {\printnames{labelname}}% + \xappto\cbx@savedkeys{\thefield{entrykey},}} + {\multinamedelim} + {\protected@xappto\cbx@savedcites{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}} + +\newbibmacro{title:or:shorttitle}{% + \ifciteseen + {\iffieldundef{shorthand} + {\iffieldundef{shorttitle} + {\printfield{title}% + \ifentrytype{legislation} + {\newunit\usebibmacro{date}} + {}}% + {\printfield{shorttitle}}}% + {\printfield{shorthand}}}% + {\printfield{title}}} + +\endinput \ No newline at end of file diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 3c6350304f4..80c3fe793e0 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -297,7 +297,7 @@ my @TLP_working = qw( oberdiek objectz ocherokee ocr-b ocr-b-outline ocr-latex octavo odsfile ofs ogham oldlatin oldstandard oldstyle onlyamsmath onrannual opcit opensans opteng optional - ordinalpt orkhun ot-tableau othello othelloboard + ordinalpt orkhun oscola ot-tableau othello othelloboard oubraces outline outliner outlines overpic pacioli pagecolor pagecont pagenote pagerange pageslts paper papercdcase papermas papertex diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 1e98e0227b5..c9592764df8 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -2358,6 +2358,7 @@ $standardclean = '\.head|\.tmp|\.dvi|\.log|\.out|\.aux|\.toc|\.lof|\.lot' 'jknapltx' => 'ubbold.fd', # clash bbold's Ubbold.fd; sauter bbold fails 'linguex' => 'cgloss4e.sty', # symlink 'numericplots' => '.*\.m', # matlab + 'oscola' => '\*.pdf', # no source 'parnotes' => 'PNmanual.pdf', # no source 'piechartmp' => 'piechartmp.pdf', # no source 'ptptex' => '(overcite|cite|wrapfig).sty', # duplicated diff --git a/Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc index 4282790ee15..620c67aa945 100644 --- a/Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc @@ -69,6 +69,7 @@ depend margbib depend multibib depend munich depend notes2bib +depend oscola depend perception depend pnas2009 depend rsc diff --git a/Master/tlpkg/tlpsrc/oscola.tlpsrc b/Master/tlpkg/tlpsrc/oscola.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d -- cgit v1.2.3