[Tex/LaTex] Biblatex: tricks with repeated citations in footnotes

biblatexciting

I'm trying to adapt the citation formatting provided by the verbose-trad2 style for biblatex to conform to very particular specifications I've been given. I think verbose-trad2 is the closest to all my needs amongst the default ones.

The citations are to be given in footnotes, usually as \footcite{}, but occasionally with \footnote{Some remark... \cite{}.}.
What I call here a full citation is the whole info on a work: author, title, publisher, date, etc. What I call an abbreviated citation is just author (always complete!), abbreviated title, and optionally the page number. The first time a work is cited, I must use the full citation, and then it depends on whether other works are cited in between or not, but never more than the abbreviated citation.

The biblatex related code I've already come up with can be found here. The LaTeX document itself is an article with the option onepage.

First, two hacks I have already applied.

  1. Always print the full name of the author. Thus I set idemtracker=false.
  2. The word Idem must be used when two subsequent citations share the same author and title (instead of the default Ibid in verbose-trad2). Thus I redefined ibidem = idem.

Second, there are things I still need to adapt, for which I don't have the faintest idea, even after looking through the documentation and this site. (I may have missed something, because I'm not at ease with low-level tex or biblatex code, I apologize if that's the case.)

  1. When two subsequent citations share the same author, title and page number (given in the square bracket argument of the \footcite[]{} command), just print Ibid. (nothing else).
  2. Always begin the foonote section of a new page with a full or abbreviated citation (author (full), abbreviated title, page number), never start with an idem or ibid. even if the last citation on the previous one is similar/same. I thought the biblatex documentation implied this would work out of the box, but it doesn't seem to.
  3. (Optional) Abbreviated title means: if there is only one work by the author, use the expression op. cit., else use an abbreviated form of the title (do I necessarily have to use the shorttitle field in the bibTeX entries?)

Thanks in advance for any suggestions and help!

Best Answer

For request no. 1, add the option ibidpage=true. Quoting p. 2 of 75-style-verbose-trad2.pdf:

The ibidpage option

The scholarly abbreviation ibidem is sometimes taken to mean both ‘same author + same title’ and ‘same author + same title + same page’ in traditional citation schemes. By default, this is not the case with this style because it may lead to ambiguous citations. If you you prefer the wider interpretation of ibidem, set the package option ibidpage=true or simply ibidpage in the preamble. The default setting is ibidpage=false.

For request no. 2, an \iffirstonpage test has to be added to the cite bibmacro; if the test yields true, the bibmacros cite:name and cite:title have to be used.

\documentclass{article}

\usepackage[style=verbose-trad2,ibidpage=true]{biblatex}

\renewbibmacro*{cite}{%
  \usebibmacro{cite:citepages}%
  \global\togglefalse{cbx:fullcite}%
  \global\togglefalse{cbx:loccit}%
  \bibhypertarget{cite\the\value{instcount}}{%
    \ifciteseen
      {\iffieldundef{shorthand}
        {\iffirstonpage% NEW
           {\usebibmacro{cite:name}% NEW
            \usebibmacro{cite:title}}% NEW
           {\ifciteibid
              {\usebibmacro{cite:ibid}}
              {\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}}
                 {\usebibmacro{cite:idem}}
                 {\usebibmacro{cite:name}}%
               \usebibmacro{cite:title}}%
%       \usebibmacro{cite:save}}% DELETED
        \usebibmacro{cite:save}}}% NEW
         {\usebibmacro{cite:shorthand}}}
      {\usebibmacro{cite:full}%
       \usebibmacro{cite:save}}}}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\textheight=100pt% just for the example

\begin{document}

Some text \autocite[99]{A01}.

Some text \autocite[99]{A01}.

\clearpage
\citereset

Some text \autocite{A01}.

\clearpage

Some text \autocite{A01}.

\printbibliography

\end{document}

enter image description here

enter image description here

enter image description here