1

The following code

\documentclass{article}
\usepackage{lipsum}

\usepackage[backend=biber, bibencoding=utf8, citestyle=verbose, bibstyle=verbose, url=true, autocite=footnote, sorting=nyt, defernumbers=true, maxbibnames=99 ]{biblatex}

\addbibresource{biblatex-examples.bib}

\begin{document}

\lipsum[4] \autocite{sigfridsson,wiki:rtl} \lipsum[4] \autocite{sigfridsson,wiki:rtl} \lipsum[4] \autocite{sigfridsson,wiki:rtl}

\end{document}

yields

a duplicate entry in the footnote

How can I get rid of the duplicate entries? Note that the citation in the footnote stems from macro calls, so I cannot simply manually remove the duplicate entries per page.

Markus W.
  • 272
  • What exactly do you mean by duplicate entries and what would you like to see instead? At the moment every \autocite call produces a separate footnote. That's what the style is supposed to do. Maybe you are looking for something like https://tex.stackexchange.com/q/82670/35864, https://tex.stackexchange.com/q/35673/35864, https://tex.stackexchange.com/q/71526/35864, https://tex.stackexchange.com/q/20637/35864, https://tex.stackexchange.com/q/200286/35864 – moewe Feb 03 '21 at 08:19
  • 1
    I would like to have exactly one footnote mentioned at the end of the page. I would like to have one number for each distinct citation. So rather than having 3 footnotes in the MWP I want "^1" repeated several times in the text and one single full featured footnote. – Markus W. Feb 04 '21 at 21:51

2 Answers2

1

Here is a little something based on Multiply cited reference in footnotes with some scrextend for footnote linking thrown in

\documentclass{article}
\usepackage[style=verbose,pagetracker]{biblatex}
\usepackage{scrextend}
\usepackage{hyperref}

\makeatletter \DeclareCiteCommand{\footcite}[\mkbibfootnote] {\label{blx:inst:\the\value{instcount}}% \usebibmacro{prenote}} {\usebibmacro{citeindex}% \usebibmacro{cite}} {\multicitedelim} {\usebibmacro{cite:postnote}}

\DeclareCiteCommand{\superfootcite}[\cbx@wrap] {\gdef\cbx@keys{}} {\xappto\cbx@keys{\thefield{entrykey},}} {} {\ifcsundef{cbx@lastin@\cbx@keys @\strfield{postnote}} {\csnumgdef{cbx@lastin@\cbx@keys @\strfield{postnote}}{-1}}{}% \ifsamepage{\value{instcount}}{\csuse{cbx@lastin@\cbx@keys @\strfield{postnote}}} {\footref{blx:inst:\csuse{cbx@lastin@\cbx@keys @\strfield{postnote}}}} {\xappto\cbx@cite{% \noexpand\footcite% [\thefield{prenote}][\thefield{postnote}]{\cbx@keys}% \csnumgdef{cbx@lastfn@\cbx@keys @\strfield{postnote}}{\value{@mpfn}}% \csnumgdef{cbx@lastin@\cbx@keys @\strfield{postnote}}{\value{instcount}}}}}

\newrobustcmd{\cbx@wrap}[1]{#1\cbx@cite\gdef\cbx@cite{}} \def\cbx@cite{}

\DeclareMultiCiteCommand{\superfootcites}[\cbx@wrap]{\superfootcite}{} \makeatother

\DeclareAutoCiteCommand{superfootnote}[f]{\superfootcite}{\superfootcites} \ExecuteBibliographyOptions{autocite=superfootnote}

\addbibresource{biblatex-examples.bib}

\usepackage{lipsum}

\begin{document} \lipsum[1] \autocite{sigfridsson} \lipsum[2] \autocite{sigfridsson} \lipsum[3] \autocite{sigfridsson} \lipsum[4-7] \autocite{sigfridsson} \lipsum[8] \autocites{sigfridsson}{worman} \end{document}

Just one footnote.

moewe
  • 175,683
  • How does this compare to the solution in https://tex.stackexchange.com/questions/200286/biblatex-repeated-citations-in-footnotes-that-point-back-to-earlier-footnotes which seems to also work? Your solution looks more comprehensive. – Markus W. Feb 05 '21 at 12:48
  • @MarkusW. The linked answer does not create a new footnote if the work is cited again on a following page. It will always link back to the footnote on the page the work was first cited. The answer here creates a new footnote on each page. – moewe Feb 05 '21 at 12:53
0

This is a long comment and not an answer: Note that aside a "wiki:rtl" is a wrong key, the second a third footnotes of your example are not full references, but only the author and title. This short references could be regarded as unnecessary duplicates, but think in citations that are not contiguous or in different pages: If you are on page 85, it is hassle to have to go to page 12 to know which paper are you citing.

Anyway, for contiguous repeated citation, you can always use the manual solution of \footnotemark[\value{footnote}], but then, ... is not better just rewrite the text to cite it only once? Moreover, if there are the risk of include another unrelated footnote, between the references, it would produce the wrong results. For non-contiguous citations, this risk is bigger, and even if the result is correct, it is annoying had to check often the footnotes of another pages

An intermediate solution could be short citation as "Author, op. cit." using the verbose-trad1 style when the citation is not ambiguous (i,e., when there are not several works of the same author). This style do not reference the first citation as in verbose-inotes, but without making a new style, it is easy make a cross-reference manually. Example:


mwe


\documentclass{article}
\usepackage[paperheight=12cm,paperwidth=12cm]{geometry}
\usepackage{lipsum}
\usepackage[style=verbose-trad1]{biblatex}
%\usepackage[style=verbose-inote]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\lipsum[1][1]\autocite[\protect\label{x1}]{sigfridsson,shore}
\lipsum[2][1]\footnotemark[\value{footnote}]
\lipsum[3][1]\footnotemark[\value{footnote}]
\lipsum[4][1]\footnotemark[\value{footnote}]
\lipsum[5][1]\footnotemark[\value{footnote}]
\vfill\dotfill\par
(Affer dozen of pages and another cites ...) 
{\renewcommand\thefootnote{}\footnote{\ldots \ldots \ldots }}  
\setcounter{footnote}{58}
\par\dotfill\vfill

\lipsum[6][1]\autocite[][ see footnote \ref{x1}]{sigfridsson,shore} %\lipsum[6][1]\autocite]{sigfridsson,shore} % for verbose-inote style \newpage \end{document}

Fran
  • 80,769