6

This is partly a 'before I reinvent the wheel' question and partly a question about best practice.

  • Do any existing solutions handle legal sources appropriately in documents using Biblatex/Biber which require a non-legal default style such as author-year for most sources?

    • If so, what solutions are available and do any use OSCLA for specifically legal sources only?
  • If not, what approach to configuring Biblatex/Biber to do this would constitute best practice? I'm not asking for somebody to do this - the author-year style in my example actually differs somewhat from the one I'm using, so code addressing the problem here might not work well for me anyway. I'm more asking, what configuration tasks are required? Is there a parallel process somewhere I could apply to this case? Where should the configuration happen?

    • The closest question I found was Creating Entry in Bibtex for Executive Orders, but that question and answer is quite old and I'm not sure whether it is a useful model for current Biblatex/Biber. (For example, it doesn't use bib strings and predates the more recent deprecation of the BibTeX backend.)

OSCLA

MWEB:

\begin{filecontents}{\jobname.bib}
@jurisdiction{case,
  title             = {{Somebody} v {Somebody Else} and Others (No 4)},
  note              = {[2016] AC 100},
  pages             = {100--178},
  date              = {2015-03-10,2015-03-12,2015-04-25,2015-04-27,2015-05-01}}


@legislation{deddf,
    title               =   {{Deddf  Ardderchog (Cymru)} 2014},
    year                =   2014,
    author              =   {{Cynulliad Cenedlaethol Cymru}},
    languageid          =   {cy}}

@article{article,
  title     = {Fantastic Findings and Where to Find Them},
  author    = {Vark, Aar D.},
  journal   = {Diligent Discoveries},
  volume    = 45,
  number    = 3,
  pages     = {23--32},
  year      = 2010}

@book{book,
  title     = {Brilliant Baths},
  author    = {Allard, M.},
  publisher = {Empire Books},
  address   = {Alpha Centauri},
  year      = 1998}

\end{filecontents}

\documentclass[welsh,british,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{geometry}
\usepackage{cfr-lm}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear-comp,backend=biber]{biblatex}
\bibliography{\jobname}

\begin{document}

Most of my bibliography entries are `normal' sources, such as articles \autocite[e.g.][]{article} and books \autocite[e.g.][]{book}.
\Textcite{article} and \textcite{book} are cited using the author-year system.

However, I also need to cite legal sources, even though I'm not working in law or writing in this discipline.
Nonetheless, these need to be cited appropriately.
Unfortunately, Biblatex doesn't handle these out-of-the-box and the contributed styles which do are all designed for work in law, as opposed to, say, history, philosophy or quantum mechanics.
Hence, the standard styles do not handle these cases well:
\begin{quote}
  \Textcite{deddf} is a law \autocite{deddf}.
  \Textcite{case} is a case \autocite{case}.
\end{quote}
I \emph{think} that these should be cited rather differently, although I'm not certain exactly how they should look.
I suspect something like the following is needed
\begin{quote}
  Deddf  Ardderchog (Cymru) 2014 is a law (Deddf  Ardderchog (Cymru) 2014).
  \emph{{Somebody} v {Somebody Else} and Others (No 4)} [2016] AC 100 is a case (\emph{{Somebody} v {Somebody Else} and Others (No 4)} [2016] AC 100).
\end{quote}
That is, specifically legal sources should follow the Oxford Standard for the Citation of Legal authorities (OSCOLA), except that inline rather than footnote citations are used.

Similar principles will also apply to the entries in the bibliography.

\printbibliography

The entries for the book and the article are as desired.
The entries for the law and the case are not.

The year of legislation is part of the name of the act and shouldn't be separated from it. 
The title should come first.
Probably I should not have an author but just a publisher or URL, but if I don't have an author, author-year citations go wrong.

I should not have `n.d.' in the entry for the case, but nor should I have the year in round brackets.
No full-stop should follow the year.
Not sure about the full-stops at the end of entries, but OSCLA doesn't use them, I don't think.

In some cases, citations and entries for cases are more complex, though I haven't yet got to grips with all the nuances.

What is the best way to configure Biblatex for legal sources, when using a non-legal style for all others?

\end{document}
  • 1
    cfr, I cannot really say anything about best practices here, but I do have some "home brew recipes" for non typical sources. Normally, it involves proper structure for supporting it: a custom driver for bibliography, some hacking for citation commands in parallel with standard styles, and eventually some data model customization. (You probably know all this, and likely, the only plus there is the link which is how I do to handle the citation in "mixed style", without tampering its workings for regular entry types). – gusbrs Jun 24 '18 at 22:56
  • @gusbrs Thanks. I guess 'data model customisation' is going to be a challenge, as I'm not sure what that means (although I've seen it mentioned in looking for relevant Q&As). – cfr Jun 24 '18 at 23:04
  • 2
    I guess you will have to write dedicated drivers for @legislation and @jurisdiction. You may also have to define new fields if some bits of information don't fit into the default fields. Alan's answer to the executive order question is still overall valid, although new entry types and fields need to be registered using a custom data model to work properly now (see tex.stackexchange.com/q/175776/35864 and tex.stackexchange.com/q/163303/35864). ... – moewe Jun 25 '18 at 14:36
  • 2
    ... A few details could probably be done differently: You mention bibstrings yourself, I would avoid \printtext and would try to use field formats instead. In principle I would favour a \cite that automatically deals with @jurisdiction and @legislation over a dedicated \lawcite command. But the implementation becomes more messy if you have to check for the entry type - and authoryear-comp is not for the faint-hearted already. – moewe Jun 25 '18 at 14:41
  • 1
    @cfr I didn't read the discussion. Bear in mind when refering to legislation that it is subject to more or less frequent changes and how to deal with that depends a great deal on the legal system of your country. In Germany even today it can take hours to find out for sure the wording of of a section in a certain year. Here you don't put the name of an act into your bibliography, for these reasons. – Keks Dose Jun 26 '18 at 16:58
5

Keks Dose makes the good point in the comments that not only do the legal systems differ from country to country so do their citation practices.

The styles listed below come mainly from an English/American common law perspective.

Styles with support for legal citations

A handful of biblatex styles have some kind of support for legal citations with @jurisdiction and @legislation (I only listed styles that I consider to be of recent vintage, i.e. updated after the release of biblatex v3.3 in 2016)

  • biblatex-abnt aliases both to @article.
  • biblatex-bath has support for UK legislation and parliamentary reports (@legislation) as well as EU legislation and reports (as @legislation) and case reports (@jurisdiction). See §§4.8-4.10 of the documentation.
  • biblatex-chicago offers the types @jurisdiction, @legal and @legislation following CMS/Bluebook recommendations.
  • biblatex-oxref (by the author of biblatex-bath) also offers support for legal sources mimicking OSCOLA with a few minor differences. See §10 Legal references of the style documentations (here oxyear) For the author-year style oxyear the author notes

    Since legal references are usually cited using footnotes, how oxyear should behave is not well defined. As a result, I have not configured it to do anything fancy: the full reference will be formatted just the same as with oxnotes, and citations will typically be title–year using parentheses in the usual way.

  • biblatex-philosophy has experimental support for @jurisdiction.

  • oscola has support for much of the English-speaking world.

biblatex-bath, biblatex-oxref's oxyear style and biblatex-chicago's authordate will be of particular interest since those styles usually follow an autho-year scheme and are otherwise not focused on legal citations.

As far as I can see biblatex-bath and biblatex-oxref can get away with not modifying the citation commands significantly (a few delimiters are modified but the cite bibmacro itself not), biblatex-chicago has has dedicated macros set up for legal citations. All styles have dedicated drivers and supporting infrastructure for the accepted entry types.

There were also dedicated styles for German legal citations, Swiss legal style and French legal citations, but these styles have not been updated recently and will probably not work as intended any more. A more recent French style is https://github.com/ienissei/frenchlaw


Write your own legal references

Depending on the output you expect and the input you find reasonable the work you may have to do can vary.

Bibliography

I think it is fair to assume that you will have to write a dedicated bibliography driver for @legislation and @jurisdiction. Mapping to a standard driver like @article, @misc or @book is probably not enough for you. The general approach to writing a bibliography driver as shown in Creating Entry in Bibtex for Executive Orders and How can I create entirely new data types with BibLaTeX/Biber? is still valid. I would definitely prefer bibstrings over hard-coded text in macros and would usually try to avoid \printtext and try to use \DeclareFieldFormat as much as possible (but I guess to some extent that is just a matter of taste). As we are all painfully aware there are no comprehensive "introduction to writing a biblatex style" or "my first bibdriver" available (yet?), so I would usually recommend to learn by looking at examples. Naturally you would start with the standard drivers, but I believe most of the styles listed above can also be used to learn best practices - if you keep in mind that some of them need to implement a complicated set of rules and so some tricks are required once in a while.

You may also have to add certain fields to the default data model if you feel that the available fields don't cover everything you need. (biblatex-oxref adds a few non-standard fields for case reporting for example.) See Add field "tome" to biblatex entries.

With a bit of care those two things can happen almost independent of the style that is later used.

Citation

For citations the situation is not as clear.

As biblatex-oxref and biblatex-bath demonstrate it might not actually be necessary to modify the cite macros, it can be enough to use existing features like labeltitle, labeldate and a few modifications of their behaviour to obtain acceptable citation output. But depending on the rest of your style and your input it may be necessary to change the cite macro to incorporate legal citations. This gets harder to pull off in a way that is independent of the used citation style. If you use a complicated style such as authoryear-icomp some care needs to be taken to make sure legal citations interact with the various features of the style in a reasonable way.

A dedicated \lawcite command might be an option that avoids messing with heavily style-dependent citation commands, but it does not feel as nice to me.

  • Very useful, though I'm not sure it bears much relation to what I've done. Basically, this involves \AtEveryCitekey and will go horribly wrong for something like \cite{law,article}. However, that's probably a really bad thing to do anyway. I have a very simple set-up for handling cases and laws. It almost works in a reasonable way, but \textcite either gives me laws with no dates or other citation commands give me laws with the date twice. Very annoying! I'm surprised it compiles at all, though. It hacks oscola horribly. – cfr Jul 3 '18 at 1:02
  • Managed to put the years back, but not sure why other attempts failed. But, hey, years are in. – cfr Jul 3 '18 at 1:48
4

I cannot really say much about best practices on the matter, and neither on legal sources in particular. So I guess technically I shouldn’t be answering. But I do think I have some input that might be of interest. However, I intend to tackle the question from a somewhat specific perspective: Sharing my thoughts on how to handle non-regular entry types with biblatex, of which legal sources can be considered a particular case.

My own relation to the problem comes from the need to cite/reference primary sources for Economic History research, which means mostly archive sources but may actually be quite diverse stuff. This includes legal sources, but I never really worried much about specific requirements of this type of source. I mention this because some of my choices here do stem from the requirements implied by this, but I do think most of the suggestions bellow are quite flexible (Indeed, "flexibility" is one of my key requirements, for I usually cannot predict in advance the required style for submission of any given work when I start it).

There is always a range of alternatives to deal with less than standard types of sources. moewe covers this very well in his answer, so there is no need for me to reiterate. But a comment on a natural choice may be worth it. Indeed, one of the obvious ways would be to choose a style that handles the particular type of source that we need. My view is that, unless there is a general reason to go for a specialized or heavily customized style, I feel it to be too much to choose it just to support a particular entry type we need. I prefer to stick to my style of choice (usually one of the standard ones), which provides me well with the desired results for regular entry types and layer on top of it the necessary structure to deal with the non regular ones. Normally regular entry types will comprise a large share of the sources anyway, so why change everything, for all entry types, just to be able to handle one or another kind of special source?

Given this, in the most general case, handling non-standard entry type entails three basic issues:

  • Providing the data structure (entry types, entry fields)

  • Specifying how the entry types should appear in the bibliography (bibdrivers, filtering)

  • Specifying how the citation for these entry types should behave.

As for the first two, moewe also covers them in the second part of his answer, pointing to two good sources on the matter here on the site (Creating Entry in Bibtex for Executive Orders and How can I create entirely new data types with BibLaTeX/Biber?). That’s about it. And it is a testimony to biblatex’s capabilities, which was designed to be both customizable and extensible.

But some comments. It is hard to escape from defining a bibdriver for your special entry type(s). Well, at least if you want things nicely done (theoretically you could always try to hammer / (ab)use one or another existing entry type). Anyway, biblatex offers us a nice user interface with which this can be done without much fuss, so it is highly recommendable to do so.

As to extending or not the datamodel, the choices are not as clear and will depend on your requirements (and taste). In particular, biblatex has some entry types and entry fields readily available for such purposes (entrytypes custom[a-f], entry fields name[a-c], list[a-f], user[a-f] etc.). So, if you only need some few of those, a proper extension of the datamodel may not be needed. Furthermore, if you’d like to use meaningful names for your types and fields, you can map the names of your choice to the existing ones with a sourcemap.

Another consideration regarding the extension of the data structure to support a special type of source is the portability of your (.bib) data. And, related to this, how much support you will be able to get from existing software for management of your bibliography data (JabRef, Zotero, Mendeley and equivalents and related software) if you like or need those. My view on this matter is that, for less standard types of sources, portability (and software support) is not granted anyway, so I might as well leave portability behind (for these types of entries only!), and go for a meaningful data structure. Time and again I found myself "tayloring" the bibentry data to achieve desired end results for a particular style, resulting in, let’s say, "less than semantic and less than portable" bib data. In my experience, this is particularly true with heavily customized styles or specialized styles, which will be the ones that support your special source type to start with. Every time you resort to this, your data is not really portable anymore. So I choose to separate regular entry types, and keep them portable, letting standard styles handle them, and for the non standard sources/entry types, assuming they will not be portable anyway, I tend to a meaningful / semantic data structure. I keep "portable" and "non portable" data in separate .bib files. However, notice that once you can carry the parallel structure for your special entry types to the style of your choice, that is not particularly restrictive (This is not unrestricted though. To start with, you won’t carry it outside biblatex, which means you won’t carry it outside LaTeX and thus will only be able to achieve pdf, or similar, output).

How to handle citations then? Citation call-outs are creatures more delicate than bibdrivers. To start with because bibdrivers let you have a specific structure for each entry type, while citations (normally) require a single overall standard structure, whatever the entrytype may be. This point is interesting because the first temptation here would be: I can simply redefine the relevant citation commands or citation macros to get them to handle my special source types. Technically that is true, but it’s not the crux of the problem. First we have to figure how our citation call outs should be displayed, and if there is any meaningful way to fit our special sources within the current style citation structure. E.g. would it make any sense to try to fit a decree or a law in an author-year structure? Out of this dilemma, I eventually converged to what I call a "mixed citation style". My usual kind of special sources practically requires a long citation in footnotes, both because the amount of information is usually long enough not to fit the flow of text and because primary/archive sources do not usually reach individually the bibliography (their "container" does). This blends organically with the verbose style (or variants) but also works pretty well with, e.g. authoryear style for the regular entry types, provided I choose properly the citation command for each occasion. I’m not claiming this is the only approach to the problem, quite the contrary would be true, but only that this is the most expedient way to do so I was able to find for my current needs in dealing with non standard sources.

From a technical point of view, given this perspective, how to deal with citations? Given my flexibility requirements, I’ve opted for patching (well, sort of) the cite bibmacro, which offers a reasonable hook for the purpose. This allows us to get the job done for whatever style we happen to choose ex post. (Ok, "whatever" is not completely true, more on this later). My current setup for this is in the form:

\letbibmacro{cite:orig}{cite}

\renewbibmacro*{cite}{%
  \ifcategory{primary}{%
    \usebibmacro{primary}}{%
    \usebibmacro{cite:orig}}}

Of course, you could substitute primary there for legal (or whatever you may choose), just taking care that your set of legal sources entry types are duly added to the corresponding category. (For other techniques for the same purpose, see Biblatex - xpatch bibmacro with unbalanced braces).

This essentially, redefines the cite bibmacro in a way that lets biblatex do what it usually does for regular entry types, but allows you to control separately what happens for your special entry types. That given, you now can exert full control of the citation call-outs, for your special entry types only, through the primary (legal) bibmacro, leaving citations for regular entry types untouched. That’s no small feat, but comes at a cost.

Some comments on this approach. The patch allows one to have style flexibility for the regular entry types, which may or may not be a requirement for you. However, even if it’s not, I suggest it still may be interesting because, if the structure of the call out is not really adjustable within the current citation style logic, you’ll probably see the need to resort to a similar conditional (wherever you choose to place it). And, if so, there will not be much difference in requirements/limitations at the end of the day. So the patch may well be convenient. Any way, as mentioned, redefining the relevant bibmacros and/or the relevant citation commands are also options to consider. Defining dedicated citation commands too. Patching the citation commands is not, though (See discussion in the comments at Biblatex's bibmacros, bibliography drivers, formats - patch or redefine?). This is relevant because the cite bibmacro is not a perfect universal hook, particularly not for comp variants of the standard citation styles (not to mention contributed ones).

This approach gives us a reasonable flexibility in the choice of the underlying citation style (for regular entrytypes), but it is not quite "style agnostic", and this for two reasons.

First, given we hijacked the core citation bibmacro in this fashion, it means we are responsible for reimplementing any special features of the citation style on our own for the special entry types (e.g. ibid handling, short vs long formats and so on). And it is hard to do this in a way which is independent of the style...

Second, not all styles get to build the full citation based solely in the cite bibmacro, not even the standard ones, the comp variants being the most conspicuous examples. (Though I still think this should be quite viable, provided you don’t mix regular and non regular entry types in any single citation command. This is untested though). Though, in principle, this approach may work with the standard styles and likely with (many?) contributed styles, whether it does or not hangs on this same issue. It must also be sensible (e.g. I don't think this would blend well with numeric or alphabetic, even if it technically works). Anyway, I have been using this with authoryear, authortitle and verbose, alongside their ibid variants quite successfully, without needing to get paranoid when citing any given source (due care is needed of course) and without worrying with any other adjustments beyond the choice of citation style.

A final touch. If you are like me, you may stumble upon some case where one of your non regular source type(s) happens to be published within a regular one, and you’d like to treat it as a special type, because that’s meaningful/important, but still acknowledge the published version. You can do that in a way that is responsive to the citation style being used for the regular entry types by using the cite bibmacro for the regular type within the citation of the non regular one within an entrydata fed with a proper crossref. (moewe, now you know why I was so interested in nested entrydatas a while ago).

Conceptually, those are my main points. To be somewhat less abstract, I include some key pieces in concrete form. The primary bibmacro, which handles my citations for my primary sources uses mixed interfaces of biblatex (that is, uses a bibdriver to render the citation), and is something similar to:

\newbibmacro*{primary}{%
  \ifciteseen
  {\ifboolexpr{
      test {\ifciteibid}
      and
      not test {\iffirstonpage}}
    {\usebibmacro{cite:ibid}}
    {\ifdriver{\thefield{entrytype}:short}
      {\usedriver{}{\thefield{entrytype}:short}}
      {\usedriver{}{\thefield{entrytype}}}}}
  {\usedriver{}{\thefield{entrytype}}}}

Of course, you don’t have to use mixed interfaces, and could well go with regular bibmacros. I happen to think this is specially convenient to be able to get citation call outs for each of my special entry types by simply defining the relevant bibdrivers. Note that the above structure handles both short/long citation forms and ibid, doing so automatically with the corresponding citation styles without any further intervention, given biblatex turns on or off the relevant trackers according to the chosen style.

My legislation drivers are the following:

\DeclareBibliographyDriver{legislation}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{legislation:typenumber}%
  \setunit{\addcomma\space}%
  \printdate%
  \setunit{\addcomma\space}%
  \printfield{leggov}%
  \setunit{\addcomma\space}%
  \iffieldundef{shorttitle}
    {\printfield[title]{title}}
    {\printfield[title]{shorttitle}}%
  \setunit{\addcomma\space}%
  \iffieldundef{pubin}
    {}
    {%
      \bibstring{in}%
      \setunit{\addspace}%
      \usebibmacro{primpublishedin}%
    }%
  \newunit
  \ifcitation
    {}
    {\printfield{addendum}}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{legislation:short}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{legislation:typenumber}%
  \setunit{\addcomma\space}%
  \printshortdate%
  \setunit{\addcomma\space}%
  \iffieldundef{shortleggov}
    {\printfield{leggov}}
    {\printfield{shortleggov}\isdot}%
  \setunit{\addcomma\space}%
  \iffieldundef{pubin}
    {}
    {%
      \bibstring{in}%
      \setunit{\addspace}%
      \usebibmacro{primpublishedin}%
    }%
  \usebibmacro{finentry}}

Which require:

\newbibmacro*{legislation:typenumber}{%
  \ifboolexpr{
    test {\iffieldundef{pubin}}
    and
    test {\ifcitation}
    and not
    test {\iffieldundef{crossref}}
  }{%
    \printtext[bibhyperref:crossref]{%
      \printfield{legtype}%
      \setunit{\addspace}%
      \bibstring{number}%
      \setunit{\addnbspace}%
      \printfield{legnumber}}%
  }{%
    \printfield{legtype}%
    \setunit{\addspace}%
    \bibstring{number}%
    \setunit{\addnbspace}%
    \printfield{legnumber}}}

\newbibmacro*{primpublishedin}{%
  \entrydata*{\strfield{pubin}}{%
    \ifentrytype{primperiodical}{%
      \ifbibliography
        {\clearfield{urlintro}%
          \clearfield{url}%
          \clearfield{addendum}%
          \usedriver{}{\thefield{entrytype}}}
        {\begingroup%
          \delimcontext{none}%
          \usebibmacro{cite}%
          \endgroup}%
      \setunit{\addcomma\space}%
      \iffieldundef{savedvolume}
        {}
        {\iffieldnum{savedvolume}
          {\bibstring{jourvol}\addnbspace}
          {}%
        \printfield{savedvolume}}%
      \setunit{\addcomma\space}%
      \iffieldundef{savednumber}
        {}
        {\iffieldnum{savednumber}
          {\bibstring{number}\addnbspace}
          {}%
          \printfield{savednumber}}%
      \setunit{\addcomma\space}%
      \printsavedpubdate%
    }{%
      \ifbibliography
        {\usedriver{}{\thefield{entrytype}}}
        {\begingroup%
          \delimcontext{none}%
          \usebibmacro{cite}%
          \endgroup}%
    }%
  }%
  \ifboolexpr{
      test {\iffieldpages{postnote}}
      and
      not test {\iffieldundef{pages}}}
    {\global\toggletrue{prim:thiscite}}
    {}%
  \setunit{\bibpagespunct}%
  \printfield{pages}%
}

With this (and assuming the relevant fields are defined in your datamodel), you just have to add all entries of type legislation to the category primary (or legal) to get your citation working for the legislation entrytype (the standard \AtEveryCitekey hook should suffice for this).

To get things done in practice, I just fill out a proper template:

% legislation
% "legtype", "legnumber" and "date" are mandatory
% If "pubin" is not set, does not automatically crossref to any entry, if that's desired use the "crossref" field directly
@legislation{ID,
  OPTdocid = {},
  legtype = {},
  legnumber = {},
  OPTleggov = {},
  OPTshortleggov = {},
  date = {},
  OPTtitle = {},
  OPTshorttitle = {},
  OPTpubin = {},
  OPTvolume = {},
  OPTnumber = {},
  OPTpubdate = {},
  OPTpages = {},
  OPTcrossref = {},
  OPTaddendum = {},
}

This, of course, does not attend OSCLA or any other reputable citation style for legal sources, it is also not self sufficient code, but hopefully can do as an example for how to use this citation approach more concretely.

Well, I think those are my thoughts on the matter, as promised. I hope they get to be useful.

  • 1
    That was an interesting read. Thank you very much. – moewe Jun 28 '18 at 18:51
  • @moewe I'm glad to share this conceptual structure after demanding so much here on the site (and elsewhere) to get to it. :) I don't think there are any universal answers for this, but I do believe this to be a good summary of the alternatives and trade-offs involved. – gusbrs Jun 28 '18 at 19:01
  • I really appreciate both your and @moewe taking the time to answer so carefully. Thanks very much! – cfr Jun 28 '18 at 21:59
1

Use the oxnotes biblatex style. It does quite a good and robust job and has a sufficiently nuanced presentation. The laser-scapel precision of a full OSCOLA compliance is not really required outside a legal forum.

You were almost there in the MWE. Some additional adjustments:

In the bib file, for cases, put the case reference in the number field. This will handle both hardcopy and electronic law reports. For printed cases, page ranges are not required.

For legislation, do not use an author field. Having the year in the footnote is sufficient.

In the text, use autocite. Part of the clear-writing ethos for lawyers is to de-clutter the page. Reference details go in the footnotes. (Notice in the MWE how textcite wants to treat the legislation name - it should be plain.)

Note that you can put formatting commands (latex code) in the bib field items, emph, etc., if you want.

As to the question of 'should', it is a matter of degree.

If you're feeling tempted to go as far as splitting the bibliography into a legal part and a non-legal part, to help the reader, easiest way is to use keywords. (There are other ways as well: biblatex is a toolkit, in effect.)

MWE:

\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@jurisdiction{case,
  title             = {{Somebody} v {Somebody Else} and Others (No 4)},
  number              = {[2016] AC 100},
  date={2016},
  keywords={legal,case},
%  pages             = {100--178},
%  date              = {2015-03-10,2015-03-12,2015-04-25,2015-04-27,2015-05-01}
  }
@legislation{teu,
keywords = {legal,legislation},
entrysubtype = {eu-treaty},
title = {Consolidated Version of the
Treaty on European Union},
date = {2010},
journaltitle = {OJ},
series = {C},
volume = {83},
pages = {13},
shorthand = {TEU},
pagination = {article},
}
@jurisdiction{c632,title = {Tenacity Investments v Ku-Ring-Gai Council and Ors (No 2)},keywords = {au},number = {[2008] NSWLEC 171},institution = {Land and Environment Court of New South Wales},date = {2008-08-22},  keywords={legal,case},}

@jurisdiction{c606,title = {Lee-Hirons v Secretary of State for Justice},keywords = {au},number = {[2016] UKSC 46},institution = {United Kingdom Supreme Court},date = {2016-07-27},keywords={legal,case},}

@legislation{deddf,
    title               =   {{Deddf  Ardderchog (Cymru)}},
    year                =   {2014},
    institution              =   {{Cynulliad Cenedlaethol Cymru}},
    languageid          =   {cy},
      keywords={legal,legislation},
    }

@legislation{cansw,
    title               =   {Crimes Act (NSW) },
    year                =   {1900},
    languageid          =   {en_AU},
      keywords={legal,legislation},
    }

@article{article,
  title     = {Fantastic Findings and Where to Find Them},
  author    = {Vark, Aar D.},
  journal   = {Diligent Discoveries},
  volume    = 45,
  number    = 3,
  pages     = {23--32},
  year      = 2010}

@book{book,
  title     = {Brilliant Baths},
  author    = {Allard, M.},
  publisher = {Empire Books},
  address   = {Alpha Centauri},
  year      = 1998}

@book{austrams,
author = {Austin, Robert P. and Ramsay, Ian M},
title = {Ford, Austin and Ramsay's Principles of Corporations Law},
edition = {16},
publisher = {LexisNexis Butterworths},
date = {2015},
pagination = {paragraph},
ISBN = {9780409338386},
}
\end{filecontents}

\documentclass[welsh,british,a4paper]{article}
%\usepackage[utf8]{inputenc}
%\usepackage{geometry}
%\usepackage{cfr-lm}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=oxnotes]{biblatex}
\addbibresource{\jobname.bib}

\begin{document}

Most of my bibliography entries are `normal' sources, such as articles \autocite[e.g.][]{article} and books \autocite[e.g.][]{book}.
\Textcite{article} and \textcite{book} are cited using the author-year system.

However, I also need to cite legal sources, even though I'm not working in law or writing in this discipline.
Nonetheless, these need to be cited appropriately.
Unfortunately, Biblatex doesn't handle these out-of-the-box and the contributed styles which do are all designed for work in law, as opposed to, say, history, philosophy or quantum mechanics.
Hence, the standard styles do not handle these cases well:
\begin{quote}
  \textcite{deddf} is a law \autocite{deddf}.
  \Textcite[at 150]{case} is a case \autocite{case}.
  A legal textbook\autocite{austrams}. And another case\autocite{c632}. And a medium-neutral citation of a case \autocite[at para 23]{c606}. Some EU legislation to play with \autocite{teu}. And a statute\autocite{cansw}. A law from another jurisdiction: \textcite{cansw}
\end{quote}

\printbibheading
\printbibliography  [
    heading=subbibliography,%
    keyword=case,
    title={Cases}
    ]
\printbibliography  [
    heading=subbibliography,%
    keyword=legislation,
    title={Statutes}
    ]
\printbibliography  [
    heading=subbibliography,%
    notkeyword=case,
    notkeyword=legislation,
    title={General}
    ]

\hrule


\end{document}

giving:

text with citations

and the footnotes:

footnotes

and the bibliography:

Regs

Addendum: in the MWE, change

\textcite{deddf} is a law \autocite{deddf}.
\Textcite[at 150]{case} is a case \autocite{case}.

to

\citetitle{deddf} is a law \autocite{deddf}.
\citetitle{case} is a case \autocite[at 150]{case}.

That makes it cleaner.

P.S. It took me a few minutes to work out why I couldn't find "Deddf Ardderchog" on BAILII! :)

=============================

Completely alternatively (and a couple of days later), exploring moewe's idea about a dedicated \lawcite command:

I was able to get a workable (minimalist) \lawcite command up and running in about a dozen steps, using the title and number fields on the @rticle bibentry type, with the use of two keywords, case and legislation (and in the background, like suporting cast members, the article documentclass, and the ext-authortitle biblatex style, an extension of one of the default styles).

Here is the full MWE, for those who need to start with the result

MWE

% arara: xelatex
% arara: biber
% arara: xelatex 
% arara: xelatex 
\RequirePackage{filecontents}


\begin{filecontents*}{\jobname.bib}


@article{jones,
title ={Jones v City of Birmingham},
number={224 So. 2d 922 (1969)},
caseref={224 So. 2d 922},
fullcaseref={Jones v. City of Birmingham, 224 So. 2d 922},
partyfirst={Betty Lou JONES},%individual entity>last name as unit
partyfirstrole={appellant},
partysecond={CITY OF BIRMINGHAM},%corporate entity>full name as unit
partysecondrole={appellee},
casetype={appeal},
institution={Court of Appeals of Alabama},
hearingdate={April 22, 1969 and Rehearing Denied May 20, 1969},
decision={Appeal dismissed},
date={1969},
volume={224},
reportseriesname={Southern Reporter},
reportseriesabbrev={So},
reportseries={2},
page={922},
keywords={us, case},
}


@article{ordart,
title ={An Ordinary Article Title},
number={Issue 14},
journaltitle={The Journal},
date={2019-05},
page={10},
}



@article{stat1,
Title ={The Ordinaries Act},
date={2019},
keywords={uk, legislation},
}


\end{filecontents*}





\documentclass[12pt]{article}
\usepackage{fontspec}
\setmainfont{Noto Serif}
\usepackage[british]{babel}
\usepackage{csquotes}

\usepackage{splitidx}
\makeindex
\newindex[Table of Cases]{cases}
\newindex[Table of Statutes]{legislation}

\newcommand\abibname{ext-authortitle}
\newcommand\abibstyle{style=\abibname}
\usepackage[
    \abibstyle , 
    indexing=cite,
    citetracker,
    autocite=footnote, 
        ]{biblatex}
\newcommand\mynote{biblatex option used: \texttt{\abibstyle}.}
\defbibnote{abibnote}{\mynote}


\usepackage{xcolor}
\pagecolor{red!3}


\addbibresource{\jobname.bib}



\DeclareFieldFormat[article]{title}{%
\ifkeyword{case}%
    {\mkbibemph{#1}}%
    {%
    \ifkeyword{legislation}%
    {#1}%
    {\mkbibquote{#1}}%
    }%
}


\newbibmacro{sendtocaseindex}{%
        \ifboolexpr{
        test {\ifkeyword{case}} 
        }
    {\sindex[cases]{\thefield{title}, \thefield{number}}}%
    {%
    \ifboolexpr{
        test {\ifkeyword{legislation}} 
        }
    {\sindex[legislation]{\thefield{title} \thefield{year}}}%
    {}%
    }%  
}



\newbibmacro{gettitle}{%
    \printfield{title}%
    \usebibmacro{sendtocaseindex}%
}

\newbibmacro{getnumber}{%
\ifkeyword{case}%
    {\addcomma\addspace\printfield{number}}%
    {%
    \ifkeyword{legislation}%
    {\addspace\printfield{year}}%
    {}%
    }%
}


\DeclareCiteCommand{lawcite}
{\usebibmacro{prenote}}
{
    \usebibmacro{gettitle}
    \ifciteseen{}{\usebibmacro{getnumber}}
}
{}
{\usebibmacro{postnote}}





\begin{document}

%https://stackoverflow.com/questions/2389689/single-column-long-index-pages-in-latex
%Apr 2 '11 at 2:39
%Smiley
%for two columns > one column
%addedL remove clearpage
\let\oldtwocolumn\twocolumn
\renewcommand{\twocolumn}[1][]{#1}
\let\oldclearpage\clearpage
\renewcommand\clearpage{\relax}
\printindex[cases]
\printindex[legislation]
\renewcommand{\twocolumn}[1][]{\oldtwocolumn}
\renewcommand\clearpage{\oldclearpage}

\section{Example}
\lawcite{jones}

\lawcite[under section 27A]{stat1}, provides that in the situation of ...

\cite{ordart}

 Second cite: \lawcite[per Judge Cates at page 924]{jones}, was decided on the basis that (to paraphrase) ``what the court hasn't seen, the court can't review'', and that any redeeming social importance of prowess and endowment is a question of fact.

\printbibliography[prenote=abibnote,nottype=jurisdiction,
notkeyword=case,notkeyword=legislation]


\begin{center}
\textemdash
\textemdash
\end{center}
\end{document}

and the output

lawcite result

The starting point is deciding how granular the bibliographic information should be: the more granular, the more effort and prowess is required (just like with an image, from low-res to high-res).

In the end, a legal case citation is just composed of an identifier, the name of the case, and of a locator, the case reference, which is a way of finding the decision. This two-block structure, a name and address in effect, is the bare minimum.

We can capture, store and process the individual components, but in the end it has to come back to case name and case reference. Happily, both of those are constants, in programming terms, so we can start there.

The purpose of this exercise is to see what would be involved in building a fully-fledged biblatex style (not that we will; it is just to get the idea).

So let's arbitrarily choose a biblatex bibentry type, @article(just because it's there), and, picking a case at random (via Google Scholar, starting at the jurisdictions beginning with "A", so Alabama), in our .bib file's bibentry we put the case name in the title field and the case reference in the number field.

@article{jones,
title ={Jones v City of Birmingham},
number={224 So. 2d 922 (1969)},
keywords={us, case},
}

Note the keywords. They will become important later. Giving thought to how to classify the information flows into the processing design decisions that need to be made.

While we're in the bib file, let's also set up an ordinary article entry, for comparison purposes.

@article{ordart,
title ={An Ordinary Article Title},
number={Issue 14},
journaltitle={The Journal},
date={2019-05},
page={10},
}

Now, setting up a .tex document which cites those two entries

\section{Example}
\cite{jones}
\noindent\cite{ordart}

and also prints a bibliography, we cycle through the workflow, latex-biber-latex, and get this:

article type

Firstly, cases mixed in with other general bibliography looks odd: we'll remove them from there and print them separately later (somewhere, yet to be decided).

Secondly, in the text, the case name has quotes, is upright and not italic; and the case reference (the number field) has not printed.

Fixing the bibliography so that it does not print cases is easy via the keyword technique:

\printbibliography[notkeyword=case]

Now starts the journey:

We want a cite command, something like \lawcite{jones}, that prints italic case names and then prints the number field after the case name, but doesn't do any of that to "ordinary" articles (remember we are inside the @article data structure).

Thinking about it, we will also need a comma and a space between the two pieces of text.

Declaring a cite command, giving it a name lawcite, and getting it to print the title field is done with \DeclareCiteCommand, which takes four parameters: what ti print before the citation, the citation itself, what delimiter to use if there is a list of cites, and what to print after.

So a barebones \DeclareCiteCommand would look like this:

\DeclareCiteCommand{lawcite}
{}
{
    \printfield{title}
}
{}
{}

Beefing it up a bit with the biblatex built-in prenote and postnode bibmacros, for before and after, gives this:

\DeclareCiteCommand{lawcite}
{\usebibmacro{prenote}}
{
    \printfield{title}
}
{}
{\usebibmacro{postnote}}

\printfield just prints the field according to whatever formatting instructions have been given to the field with \DeclareFieldFormat.

For the title field formatting, we can use the \ifkeyword{condition}{true}{false} test to check if the bibentry currently being processed contains the keyword case and conditionally print it with emphasis if it does (using \mkbibemph) and print it with quotes if it doesn't (using \mkbibquote).

\DeclareFieldFormat can also take an optional list of bibentry types to restrict the formatting to, so let's only change the title format for article:

\DeclareFieldFormat[article]{title}{%
\ifkeyword{case}%
    {\mkbibemph{#1}}%
    {\mkbibquote{#1}}%
}

Cycling through the workflow once more, we get:

casename in italics

Now to add the case reference to the cite: \ifkeyword comes in handy again, this time for printing the number field (with comma and space in front).

\DeclareCiteCommand{lawcite}
{\usebibmacro{prenote}}
{
    \printfield{title}
\ifkeyword{case}%
    {\addcomma\addspace\printfield{number}}%
    {}%
}
{}
{\usebibmacro{postnote}}

We won't do any format changes to the number field, just let it print in whatever the default format is.

case reference added

Now, for ease of code maintenance, we can move code blocks that look like could be used in multiple places later into their own macros, called bibmacros (really, they are just a \newcommand with a wrapper).

Let's move the title printing and the number printing into bibmacros, call them gettitle and getnumber:

\newbibmacro{gettitle}{%
    \printfield{title}%
}

\newbibmacro{getnumber}{%
\ifkeyword{case}%
    {\addcomma\addspace\printfield{number}}%
    {}%
}

and the cite command changes to

\DeclareCiteCommand{lawcite}
{\usebibmacro{prenote}}
{
    \usebibmacro{gettitle}
    \usebibmacro{getnumber}
}
{}
{\usebibmacro{postnote}}

which, amongst other things, is clearer to read.

Now, the table of cases.

Two methods are available.

We can split the bibliography to print the cases separately, but then it won't show the page numbers the cases are referred to on (it is unlikely that a reader of a real-world 10-30 page article or essay would need the navigational aid of a table of cases, though).

The second method is to use an index, split it, and call it a table.

There are various packages and utilities available for this. Choosing randomly, let's use the splitidx package in combination with the SplitIndex engine (a Perl script, I understand).

Activate the package with \usepackage{splitidx}, initiate index building with \makeindex, define a cases index title "Table of Cases" with \newindex[Table of Cases]{cases}, and we're ready to use the \sindex command to send entries to our split index.

But what do we want to do? We will index whenever a case is mentioned (=title). Printing the title is the gettitle bibmacro's job, so the action will happen there. It will have to decide if the entry is a case, and if it is, use the \sindex command to send the case name to the index.

Now, biblatex has access to the etoolbox package, and from there we can use the \ifboolexpr command to build up a really complicated set of conditions if we wanted to, using and and or and brackets (rather than one or two (or three of four) nested \ifs of different types). The structure is \ifboolexpr{condtions}{true}{false}, like this:

\ifboolexpr{
 test {\ifkeyword{case}} 
 }
 {true}%
 {false}%   

And because indexes don't understand biblatex code, we will send the raw data of the title field to the cases index with:

\sindex[cases]{\thefield{title}}

The gettitle bibmacro has now become:

\newbibmacro{gettitle}{%
    \printfield{title}%
        \ifboolexpr{
        test {\ifkeyword{case}} 
        }
    {\sindex[cases]{\thefield{title}}}%
    {}% 
}

Putting in the \printindex[cases] command and cycling through the worfklow, which has now expanded to latex-biber-latex-splitindex-latex, we get this:

index on its own page

The upright font is correct for indexes of cases, but the two-column format is a bit extravagant (and structurally distinct visually from the rest of the document) and the page-feed is unnecessary.

Applying an SE workaround to revert to one-column (and also not have a page feed)

%https://stackoverflow.com/questions/2389689/single-column-long-index-pages-in-latex
%Apr 2 '11 at 2:39
%Smiley
%for two columns > one column
%addedL remove clearpage
\let\oldtwocolumn\twocolumn
\renewcommand{\twocolumn}[1][]{#1}
\let\oldclearpage\clearpage
\renewcommand\clearpage{\relax}
\printindex[cases]

\renewcommand{\twocolumn}[1][]{\oldtwocolumn}
\renewcommand\clearpage{\oldclearpage}

we get this

nice table of cases

Sidenote: because I like dots and square brackets, I'm feeding SplitIndex an index style file like this:

delim_0 "\\space\\dotfill\\space ["
delim_1 "\\space\\dotfill\\space ["
delim_2 "\\space\\dotfill\\space ["
delim_n "], ["
delim_r "--"
delim_t "]"

modified from the OSCOLA one (which does the dots).

Next on the journey, it might be nice to have the case reference in the index as well, especially now that it is wider and the whole line is available.

So the indexing command \sindex now gets given an extra bit, , \thefield{number}:

\newbibmacro{gettitle}{%
    \printfield{title}%
        \ifboolexpr{
        test {\ifkeyword{case}} 
        }
    {\sindex[cases]{\thefield{title}, \thefield{number}}}%
    {}% 
}

Workflow cycle (again), and, result:

case reference now in the index

That's cases taken care of. What about legislation?

Put in a \lawcite{stat1}, cycle through, and we get:

legislation as article

Ooops. It's in the bibliography. And in the text it has quotes and no year.

Formatting of the legislation title without quotes is done with our old friend \DeclareFieldFormat and the legislation keyword:

\DeclareFieldFormat[article]{title}{%
\ifkeyword{case}%
    {\mkbibemph{#1}}%
    {%
    \ifkeyword{legislation}%
    {#1}%
    {\mkbibquote{#1}}%
    }%
}

Printing the legislation year can be done by adding

\ifkeyword{legislation}%
{\addspace\printfield{year}}%
{}%

to the getnumber bibmacro like this:

\newbibmacro{getnumber}{%
\ifkeyword{case}%
    {\addcomma\addspace\printfield{number}}%
    {%
    \ifkeyword{legislation}%
    {\addspace\printfield{year}}%
    {}%
    }%
}

Perhaps getnumber should be renamed? What it is actually doing is getting the second part of the citation block, which for legislation is, in this exercise, the year field.

Indexing legislation (with title and year) is done in gettitle with a nested test:

\newbibmacro{gettitle}{%
    \printfield{title}%
        \ifboolexpr{
        test {\ifkeyword{case}} 
        }
    {\sindex[cases]{\thefield{title}, \thefield{number}}}%
    {%
    \ifboolexpr{
        test {\ifkeyword{legislation}} 
        }
    {\sindex[cases]{\thefield{title} \thefield{year}}}%
    {}%
    }%  
}

(Side remark: Astute readers will notice the typing error - I didn't, until later.)

And what do we want to print if a case is cited a second time? Legislation is OK, title and year; but what about a case?

Cycling through the workflow:

second cite of case

Oops. Too eager.

The bibliography can be cleaned of legislation with a notkeyword=legislation added to the \printbibliography options.

The legislation was sent to the cases index, and there wasn't a \printindex command for it anyway. Easily fixed.

\newbibmacro{gettitle}{%
    \printfield{title}%
        \ifboolexpr{
        test {\ifkeyword{case}} 
        }
    {\sindex[cases]{\thefield{title}, \thefield{number}}}%
    {%
    \ifboolexpr{
        test {\ifkeyword{legislation}} 
        }
    {\sindex[legislation]{\thefield{title} \thefield{year}}}%
    {}%
    }%  
}

and putting a \printindex[legislation] in the document.

Now, for second and subsequent citations, Biblatex has a \ifciteseen we can use (and Biblatex's citetracker option must be turned on for this to work).

If it's the first time the entry has been cited, we want to print both data blocks (the "name and address" structure type); otherwise, just print the first one:

\ifciteseen{}{\usebibmacro{getnumber}}

The \lawcite cite command can have this task.

\DeclareCiteCommand{lawcite}
{\usebibmacro{prenote}}
{
    \usebibmacro{gettitle}
    \ifciteseen{}{\usebibmacro{getnumber}}
}
{}
{\usebibmacro{postnote}}

One last bit of tidy-up: the indexing code can go into its own bibmacro:

\newbibmacro{sendtocaseindex}{%
        \ifboolexpr{
        test {\ifkeyword{case}} 
        }
    {\sindex[cases]{\thefield{title}, \thefield{number}}}%
    {%
    \ifboolexpr{
        test {\ifkeyword{legislation}} 
        }
    {\sindex[legislation]{\thefield{title} \thefield{year}}}%
    {}%
    }%  
}

so that gettitle simplifies down to:

\newbibmacro{gettitle}{%
    \printfield{title}%
    \usebibmacro{sendtocaseindex}%
}

Cycle workflow, and:

All done.

And so we end where we began.

===

That's the citation done.

Adding more and more logic in, tweaking and enhancing, will always continue (for example, the astute reader will be asking, "What happens to legislation cited a second time? Do we want to keep the year or not?"). More and more if-then-elses. And converting \lawcite to a footnote reference system (like the one that OSCOLA implements) would be straight-forward, code-wise. Putting in parallel reports would be a bit tricky, though, but maybe sets of biblatex literal lists could be used.

Using a four-part structure of case name, case reference, year as a separate and moveable item, and jursidiction would not be that hard, but the medium neutral citation (MNC) method - of year/court/casenumber-in-the-year - is simpler and more useful (a legal doi, in effect).

Aside from courts and judges not having a real requirement for bibliographies in their judgments, building a bibliography driver from scratch (why?) would be about the same amount of effort, with the added layer of real blocks of text and their arrangement to consider. There is large overlap with citations, hence the usefulness of bibmacros.

(Plus also: Biblatex can do mappings between sources, and dynamic redefinitions, and has various types of inheritance, which could be very powerful in a meta-metadata way.)

So overall, the major questions, the 'driver' questions if you will, are going to be the Librarians' Questions: What level of granularity should the bib data have? And: what classification methodology should be applied to it (e.g., what keywords, if the keyword method is used)? Everything else flows from that.

:) There is also the logically trivial (but probably most time-comsuning) component of: what should the metadata be? Is there an International Standard for Legal Citation Bibliographic Information Interchange (ISO-LCBII)?

If I had a bibentry like this one, stored under whatever bibentry type turns out to be suitable:

@article{jones,
partyfirst={Betty Lou JONES},%individual entity>last name as unit
partyfirstrole={appellant},
partysecond={CITY OF BIRMINGHAM},%corporate entity>full name as unit
partysecondrole={appellee},
casetype={appeal},
bench={Cates},
institution={Court of Appeals of Alabama},
hearingdates={April 22, 1969 and Rehearing Denied May 20, 1969},
decision={Appeal dismissed},
date={1969},
volume={224},
reportseriesname={Southern Reporter},
reportseriesabbrev={So},
reportseries={2},
page={922},
mnc={[1969] ALCA 420},
mncyear={1969},
mnccourt={ALCA},
mncnumber={420},
factslocation={The Blue Note Lounge},
factsdate={1967-12-03},
keywords={us, case},
}

of what use would it be?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.