[Tex/LaTex] biblatex: Enhancing \autocite in case of would-be nested footnotes

biblatexcitingfootnotesnesting

This question led to a new feature in a package:
biblatex

biblatex provides high-level citation commands like \autocite that allow "global switching from inline citations to citations given in footnotes (or as superscripts)" (manual, p. 81). \autocite and \textcite (the command for use in the flow of text) form the two "standard" citation commands.

So what if I use \footnote to write an explanatory note and need to cite a source? With author-year styles, \autocite will be mapped to \parencite which (naturally) also works in footnotes. On the other hand, with author-title styles (or if I explicitly declared [autocite=footnote] in the preamble), mapping to \footcite would produce nested footnotes, and these are not possible with standard LaTeX. In this case, the "sensible thing" would be to map \autocite to an alternative citation command admissible in footnotes (e.g. \parencite). Unfortunately, biblatex simply gobbles the out-of-place citation (and typesets spurious braces).

\documentclass{article}

\usepackage[%
  style=authoryear,%
  autocite=footnote,% Without this option, \autocite works in footnotes
]{biblatex}

\usepackage{filecontents}

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

\bibliography{\jobname}

\begin{document}

Some text \autocite{A01}.

Some text.\footnote{A footnote \autocite{A01}.}

Some text.\footnote{A footnote \parencite{A01}.}

\printbibliography

\end{document}

The obvious workaround is to use \parencite (or whatever low-level citation command is appropriate for the style) in footnotes. But this goes against the idea of high-level citation markup.

Is it possible to enhance \autocite so that it will automatically switch to an alternative low-level citation command in case of would-be nested footnotes?

UPDATE: I have submitted a feature request at SourceForge.net: biblatex.

Best Answer

This feature has been implemented in biblatex v1.3 (released March 14th, 2011). See also the new \smartcite command (manual, section 3.7.2).