Bagaimana cara menggabungkan entri bibliografi yang berulang saat menggunakan footcite?

Dec 10 2020

Jika saya mengutip sumber yang sama beberapa kali secara berurutan, menghasilkan daftar bibliografi yang terdiri dari item yang identik:


  1. penulis, judul
  2. penulis, judul
\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}

Bagaimana cara mengompres daftar di catatan kaki agar terlihat seperti ini:


1,2 penulis, judul

Jawaban

1 R.N Dec 18 2020 at 21:36

Saya menyarankan solusi yang tidak memampatkan daftar catatan kaki tetapi mencetak catatan kaki hanya sekali per halaman.

Idenya adalah untuk mendefinisikan kembali perintah kutipan yang dipanggil \footcite. Kemudian, agar tetapi diterima oleh autocitepilihan biblatex, saya memasukkannya ke dalam sebuah biblatex.cfgfile sesuai dengan pertanyaan ini dan menamainya myfootnote.

Dan \footcite, ketika dipanggil, selalu membuat \footnotemarkmenggunakan nomor label kunci. Kemudian, menurut pertanyaan ini , jika \footcitedipanggil pertama kali pada halaman ini, itu juga membuat file \footnotetext.

Inilah MWE yang dihasilkan:

\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}

Satu kemungkinan perbaikan yang saya tidak tahu bagaimana melakukannya, adalah membuat peretasan ini kompatibel dengan alkitab lainnya. Memang, jika seseorang beralih gaya alphabeticmisalnya, akan mendapatkan error kompilasi: missing number; karena footnotemarkwasiat tidak menerima nomor tetapi teks yang diberikan oleh \thefield{labelnumber}.