3

I'd like to use \footcite in a figure environment in a way that acts completely like a \footcite in ordinary text mode. Specifically, I've configured \footcite to print a long citation (i.e. with the author's first name, year of publishing, etc.) on the first reference to a given source, and on subsequent citations, only a short citation should be printed in the footnote.

However, when I use \footcite in the \caption of a figure, I always get a long citation. What can I do to change that behavior?

MWE:

\documentclass[12pt,english,a4paper]{article}

\usepackage[a4paper, total={6in, 4in}]{geometry}
\usepackage[english]{babel}
\usepackage[backend=biber,
    citestyle=verbose,
    bibstyle=verbose,
    sorting=nyvt]{biblatex}
\addbibresource{bibliography.bib}
\DeclareNameAlias{sortname}{last-first}
\renewbibmacro{in:}{}
\usepackage{tikz}

\usepackage{footnote}
\makesavenoteenv{figure}

\usepackage{filecontents}
\begin{filecontents*}{bibliography.bib}
@article{A,
  author    = {Alpha, Amber},
  title     = {Title},
  publisher = {Publisher},
  year      = {2014},
}
@article{B,
  author    = {Beta, Bryan},
  title     = {Title2},
  publisher = {Publisher2},
  year      = {2015},
}
\end{filecontents*}


\begin{document}

While some\footcite{A} argue X, Ref. \textcite{B} argues Y.
Also, W\footcite{A}.

\begin{figure}[!htbp]
    \begin{center}
        \begin{tikzpicture}
            \draw (0, 0) circle (1);
        \end{tikzpicture}
    \end{center}
    \caption{A circle.\footcite{A}}
\end{figure}

\printbibliography

\end{document}

result

Note how footnote 1 and 2 are long while 3 is short, as I expected them to be. However, I also want 4 to be short, but it isn't.

Thank you in advance!

  • 2
    This is a known issue - and one that is more or less by design, I gather. biblatex's citation tracker tracker is turned off in all floats, because generally floats are not considered part of the text and it is very very hard to predict where floats end up and so to tell what form of cite to use. I expected this to have turned up more often, but could only find Package Footnote and Biblatex: only fullcites in table. – moewe Jun 29 '15 at 5:22
  • Normally, I would say that this is not much of a problem, but I can see where you come from when I see your output, maybe the solution is not to use footnote citations in figures (or floats in general). (LaTeX has never been overly fond of footnotes in any kind of float.) – moewe Jun 29 '15 at 5:32
3

This is by design, the biblatex documentation in §4.11.5 Trackers in Floats and TOC/LOT/LOF, p. 240, states:

If a citation is given in a float (typically in the caption of a figure or table), scholarly back references like ‘ibidem’ or back references based on the page tracker get ambiguous because floats are objects which are (physically and logically) placed outside the flow of text, hence the logic of such references applies poorly to them. To avoid any such ambiguities, the citation and page trackers are temporarily disabled in all floats. In addition to that, these trackers plus the back reference tracker (backref) are temporarily disabled in the table of contents, the list of figures, and the list of tables.

If you cannot agree with that there is a way to re-enable biblatex's tracking abilities in floats. This might lead to undesired consequences in some cases though, so be warned and alert!

The following code makes the change initiated in biblatex.sty of appending \boolfalses to \@floatboxreset undone by adding their \booltrue version.

\makeatletter
\AtBeginDocument{
  \apptocmd\@floatboxreset
    {\booltrue{citetracker}%
     \booltrue{pagetracker}}
    {}
    {\blx@err@patch{floats}}%
}
\makeatother

MWE

\documentclass[12pt,english,a4paper]{article}
\usepackage[english]{babel}
\usepackage[backend=biber,
    citestyle=verbose,
    bibstyle=verbose,
    sorting=nyvt]{biblatex}
\addbibresource{biblatex-examples.bib}
\DeclareNameAlias{sortname}{last-first}
\renewbibmacro{in:}{}

\usepackage{footnote}
\makesavenoteenv{figure}

\usepackage{mwe}

\makeatletter
\AtBeginDocument{
  \apptocmd\@floatboxreset
    {\booltrue{citetracker}%
     \booltrue{pagetracker}}
    {}
    {\blx@err@patch{floats}}%
}
\makeatother

\begin{document}
While some\footcite{worman} argue X, Ref. \textcite{geer} argues Y.
Also, W\footcite{worman}.

\begin{figure}[!htbp]
    \includegraphics{example-image}
    \caption{A circle.\footcite{worman}}
\end{figure}

\printbibliography
\end{document}

enter image description here

Note that now both footnote 3 and 4 use the short form.

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.