3

I am using biblatex as follows:

\usepackage[style=verbose-note,backend=bibtex]{biblatex}
\renewcommand{\cite}{\autocite} % citations in footnotes

This works almost as I want it. What I still would like is that a repeated citation (say I \cite{A} in p. 1, and then I \cite{A} again in p. 2) should point back to the earlier citation. So, in this case, only one footnote should be generated, and both p. 1 and p. 2 should have a link to that footnote (which is on p. 1 only). Is this possible?

Dreixel
  • 585

1 Answers1

4

A rather simple version that (obviously) cannot deal with pre- or postnotes is this

\makeatletter
\DeclareCiteCommand{\myfootcite}
  {}
  {\usebibmacro{citeindex}%
   \usebibmacro{myfootcite}}
  {}
  {}

\newbibmacro*{myfootcite}{% \ifciteseen {\usebibmacro{myfootcite:note}} {\mkbibfootnote{\usebibmacro{footcite:full}% \usebibmacro{footcite:save}}}}

\newbibmacro*{myfootcite:note}{\footref{cbx@\csuse{cbx@f@\thefield{entrykey}}}} \makeatother

We define a new command \myfootcite which does not print post- or pre-notes. The macro myfootcite it calls just issues \footref on the proper footnote (if the work has been cited before and already has a footnote) or creates a new footnote.

The command is based on the sets of macros defined in verbose-note.

We need in implementation of \footref so we can use this, see Reference different places to the same footnote. In the MWE below, I used scrextend i.e. the KOMA version to get \footref (if you use any of the KOMA document classes, you won't have to load scrextend manually; the memoir class also provides \footref out of the box; footmisc also has an implementation; see also Footnotes whose texts are identical).

MWE

\documentclass{article}
\usepackage{scrextend}
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[style=verbose-note]{biblatex}
\usepackage[colorlinks=true]{hyperref}

\addbibresource{biblatex-examples.bib}

\makeatletter \DeclareCiteCommand{\myfootcite} {} {\usebibmacro{citeindex}% \usebibmacro{myfootcite}} {} {}

\newbibmacro*{myfootcite}{% \ifciteseen {\usebibmacro{myfootcite:note}} {\mkbibfootnote{\usebibmacro{footcite:full}% \usebibmacro{footcite:save}}}}

\newbibmacro*{myfootcite:note}{\footref{cbx@\csuse{cbx@f@\thefield{entrykey}}}} \makeatother

\begin{document} First citation.\myfootcite{cicero} First citation.\myfootcite{knuth:ct:a} Lorem\footnote{ipsum} dolor\myfootcite{wilde} sit\footnote{amet} and something\myfootcite{wilde} Second citation.\myfootcite{cicero} \printbibliography \end{document}

enter image description here

David Carlisle
  • 757,742
moewe
  • 175,683
  • This is great! Unfortunately, it doesn't deal very well with citations before/after commas/periods, nor with citations of multiple works (\cite{A,B}). Any idea how it could be improved to deal with that? – Dreixel Sep 09 '14 at 13:59
  • @Dreixel What's wrong with citations before or after commas/full stops? How would you multiple citations to look like? I suppose \cite{A,B} then ought to produce two different footnotes (separated?)? A single footnote with both citations will not make much sense, because then a subsequent citation of either work will have to trigger a new footnote. – moewe Sep 09 '14 at 14:06
  • Try \DeclareCiteCommand{\myfootcite} {} {\usebibmacro{citeindex}% \usebibmacro{myfootcite}} {\mkbibsuperscript{,}} {} – moewe Sep 09 '14 at 14:10
  • 1
    After a bit of research, this seems to be the only solution on TeX SE that actually works. Thanks man! – Filippo Bistaffa Sep 08 '16 at 08:17
  • For me this does not work. The footnotes are empty (ther are numbers, but nothing afterwards). It works if I use \footcite in place of \myfootcite. – M. Winter Sep 12 '23 at 13:12
  • @M.Winter I just checked the MWE: It still produces the same output shown in the answer, which is what I think was asked for in the question. If that does not work for you or you want something else, I suggest you ask a new question along with a compilable example document explaining what you get and what you would like to get instead. – moewe Sep 12 '23 at 19:59