1

After I have received great help here before when I wanted to modify the bibliography driver for @incollection (Force information (pages) to printbibliography; change citation style) it transpired that there are two last modifications which I would like to learn: they concern the way @article is presented in the bibliography in Oscola, namely unfortunately only with the first page instead of the page-range, and the way in which author names are cited in the bibliography, namely unfortunately with abbreviated first names.

I do not understand what I need to change in order for the whole page range being printed in the bibliography. The Oscola BBX code can be found here: https://github.com/PaulStanley/oscola-biblatex/blob/1.6/oscola.bbx

I suspect that the reason why only the first page is printed is in line 413 (?):

\DeclareFieldFormat[article]{pages}{%
  \mkfirstpage*{#1}}

Can someone please tell me which changes I have to do, so that the entry in the bibliography reads Fauchald OK, ‘The Legal Reasoning of ICSID Tribunals - An Empirical Analysis’ (2008) 19(2) European Journal of International Law 301-364

Also, I would prefer if authors’ name do not appear in the bibliography as „Fauchald OK“, but as „Fauchald, Ole Kristian“. The same for authors of @book and of @incollection.

Any help is very much appreciated!

Here is my minimum example which includes the lines that ensure that @incollection items are printed in the bibliography with the whole page range (thanks to moewe, see the first link above):

\documentclass{article}

\usepackage[british]{babel}
\usepackage[style=british]{csquotes}\usepackage[T1]{fontenc}
\usepackage[style=oscola,
  indexing=cite,
  backend=biber,
  citepages=suppress,
  ecli=yes,
  citereset=chapter,
  babel=hyphen]{biblatex}

\makeatletter
\newbibmacro*{chapter+pages}{%
  \printfield{chapter}%
  \setunit{\bibpagespunct}%
  \printfield{pages}%
  \ifboolexpr{
      not test {\iffieldundef{pages}}
      or not test {\iffieldundef{chapter}}}
    {\bbx@resetpostnotedelim}
    {}%
  \newunit}
\makeatother

\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}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \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}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\addbibresource{fauchald.bib}

\begin{document}
Lorem \autocite[303]{fauchald_legal_2008}
Lorem \autocite[50]{koskenniemi_apology_2007}
Lorem \autocite[280]{rasulov_doctrine_2013}

\printbibliography
\end{document}

Fauchald.bib contains:

@article{fauchald_legal_2008,
  title = {The {Legal} {Reasoning} of {ICSID} {Tribunals} - {An} {Empirical} {Analysis}},
  volume = {19},
  number = {2},
  journal = {European Journal of International Law},
  author = {Fauchald, Ole Kristian},
  year = {2008},
  pages = {301--364}
}

@incollection{rasulov_doctrine_2013,
  address = {Leiden},
  title = {The {Doctrine} of {Sources} in the {Discourse} of the {Permanent} {Court} of {International} {Justice}},
  booktitle = {Legacies of the {Permanent} {Court} of {International} {Justice}},
  publisher = {Brill},
  author = {Rasulov, Akbar},
  editor = {Tams, Christian J. and Fitzmaurice, Malgosia},
  year = {2013},
  pages = {271--317}
}

@book{koskenniemi_apology_2007,
  address = {Cambridge},
  edition = {2},
  title = {From {Apology} to {Utopia}: {The} {Structure} of {International} {Legal} {Argument} - {Reissue} {With} {New} {Epologue}},
  publisher = {Cambridge University Press},
  author = {Koskenniemi, Martti},
  year = {2007}
}
2

You are right in your guess about why only the first page is printed for articles in the bibliography. You can fix it by adding this to your preamble:

\DeclareFieldFormat[article]{pages}{\mknormrange{#1}}

Normally the printing of given names as initials is controlled using the giveninits option for biblatex, but biblatex-oscola hard codes it. You can fix it by adding this to your preamble:

\AtBeginBibliography{%
  \togglefalse{abx@bool@giveninits}}

We also need to add the comma in between the family name and the given names, which can be done by adding this to your preamble:

\renewcommand*{\revsdnamepunct}{\addcomma\space}

Your example (with some modifications to make it work with current versions of biblatex) then gives me:

output

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.