Wie kombiniere ich wiederholte Bibliographieeinträge bei Verwendung von footcite?

Dec 10 2020

Wenn ich dieselbe Quelle mehrmals hintereinander zitiere, wird eine Bibliografieliste erstellt, die aus identischen Elementen besteht:


  1. Autor, Titel
  2. Autor, Titel
\begin{filecontents}{database.bib}
@Misc{key,
    author      = {author},
    title       = {title},
}
\end{filecontents}

\documentclass{article}
\usepackage[autocite=footnote,style=authortitle]{biblatex}
\bibliography{database.bib}
\begin{document}
\begin{itemize}
\item one point\autocite{key}
\item another one\autocite{key}
\end{itemize}
\end{document}

Wie komprimiere ich die Liste in der Fußnote so, dass sie so aussieht:


1,2 Autor, Titel

Antworten

1 R.N Dec 18 2020 at 21:36

Ich schlage eine Lösung vor, die die Liste der Fußnoten nicht komprimiert, sondern die Fußnote nur einmal pro Seite druckt.

Die Idee ist, einen Cite-Befehl namens neu zu definieren \footcite. Dann, um die autociteOption von biblatex zu akzeptieren , habe ich sie biblatex.cfggemäß dieser Frage in eine Datei eingefügt und benannt myfootnote.

Und das \footcite, wenn es aufgerufen wird, erstellt immer eine unter \footnotemarkVerwendung der Beschriftungsnummer des Schlüssels. Wenn dann gemäß dieser Frage das \footcitezum ersten Mal auf dieser Seite aufgerufen wird, wird auch ein erstellt \footnotetext.

Hier ist die resultierende MWE:

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{biblatex.cfg}
    \ProvidesFile{biblatex.cfg}
    \DeclareCiteCommand{\footcite}%
    {\usebibmacro{prenote}}% 
    {%
        %   \renewcommand{\thefootnote}{\arabic{footnote}}% Switch to footnote with numbers
        \footnotemark[\thefield{labelnumber}]% Add the mark corresponding to the number entry% 
        \iffirstonpage{
            \footnotetext[\thefield{labelnumber}]{% Add the footnote text with same number entry.
                %\printfield{labelnumber}
                \printnames{labelname}% The name 
                \setunit{\printdelim{nametitledelim}}% separator
                \printfield[citetitle]{labeltitle}% The title
                \setunit{\addperiod\space}% separator
                \printfield{year}% The year
        }
        }{}% if not first on page
        %   \renewcommand{\thefootnote}{\alph{footnote}}% Switch back to footnote with letters.
    }%
    {\multicitedelim}
    {\usebibmacro{postnote}}
    \DeclareAutoCiteCommand{myfootnote}{\footcite}{\footcite}
    \endinput
\end{filecontents}

\begin{filecontents}{database.bib}
    @Misc{key,
        author      = {author},
        title       = {title},
    }
\end{filecontents}

\usepackage[autocite=myfootnote, style=numeric, pagetracker=true, backend=biber]{biblatex}
\bibliography{database.bib}
\begin{document}
\begin{itemize}
    \item one point\autocite{key}
    \item another one\autocite{key}
\end{itemize}
\newpage
\begin{itemize}
    \item one point\autocite{key}
    \item another one\autocite{key}
\end{itemize}
\end{document}

Eine mögliche Verbesserung, die ich nicht zu tun weiß, wäre, diesen Hack mit anderen Bibstyles kompatibel zu machen. Wenn jemand alphabeticbeispielsweise den Stil wechselt, wird ein Kompilierungsfehler angezeigt : missing number; da der footnotemarkWille keine Nummer erhalten hat sondern einen Text von \thefield{labelnumber}.