I am trying to find out whether it is currently possible to have a test in Biblatex that tests at the very first time an entry is cited whether the same entry will be cited more than once in the current reference section (i.e. the entire paper, or the chapter in case of a book).
The real world usage scenario is legal citations, namely the Canadian Guide to Uniform Legal Citation, which, while slightly ambiguous, states that "it is not necessary to establish a short form for cases if they are not referred to in any subsequent paragraph" (in practice, most papers I see will only give the short form if the case is cited subsequently, which makes sense as otherwise, given the abundance of cases cited just once in a usual paper, any way to make the footnote shorter is welcome).
So let's say I cite Elders Pastoral Ltd v Bank of New Zealand. The first footnote would then say "Elders Pastoral Ltd v Bank of New Zealand [1989] 2 N.Z.L.R. 180 (C.A.) [Elders]", all subsequent footnotes would say "Elders, supra n. 1". However, I need the printing of the shorthand field to be conditional on the entry to be cited more than once.
I have a vague idea that might be possible by doing something along the following lines.
Here is my current macro to make a footnote for a case:
\newbibmacro*{footcite:jurisdiction}{%
\global\boolfalse{cbx:loccit}%
\ifciteseen
{\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
{\usebibmacro{footcite:ibid}}
{\usebibmacro{footcite:jurisdiction:note}}}
{\usebibmacro{footcite:full:jurisdiction}%
And here is the footcite:full:jurisdiction macro
\newbibmacro*{footcite:full:jurisdiction}{%
\printtext{%
\bibhypertarget{\thefield{entrykey}:\the\value{instcount}}{%
\usedriver
{\DeclareNameAlias{sortname}{default}}
{jurisdiction}}}%
\usebibmacro{shorthandintro:jurisdiction}}
\usebibmacro{footcite:save}}}
So in the footcite:full:jurisdiction, I would make the \usebibmacro{shorthandintro:jurisdiction}
dependent on the test for a variable and in the footcite:jurisdiction, I would set the variable in case the \ifciteseen
yields true. This would then work after two LaTeX runs.
However, my question would be what type of variable to use and how to to set it, so as to avoid errors (for instance, I think using a boolean and do an \ifbooltrue
test would result in errors like "boolean variable cbx:???? not set" errors on the first run).
Any ideas are very welcome.