脚注中多次引用的参考文献

脚注中多次引用的参考文献

我在使用时遇到以下问题\footcite:经常发生相同的引用(同一作者、同一标题、同一页)出现在同一页的脚注中,例如:

  1. H. Melville。《白鲸记》,第 78 页。
  2. H. Melville。《白鲸记》,第 90 页。
  3. H. Melville。《白鲸记》,第 78 页。

有没有办法只获得:

  1. H. Melville。《白鲸记》,第 78 页。
  2. H. Melville。《白鲸记》,第 90 页。

即第二次提到p.78Moby Dick 时又是 ¹ 而不是 ³?

答案1

您可以定义一个变体,用于\footcite跟踪每个给定的后记和输入键组合的最后一个实例和脚注计数器值。如果页面上出现相同的组合,则只打印相应的脚注标记。否则,引用参数将传递给\footcite

\documentclass{article}
\usepackage[style=authortitle,citetracker,pagetracker=page]{biblatex}

\makeatletter

\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}}}
     {\footnotemark[\csuse{cbx@lastfn@\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{}

\makeatother

\addbibresource{biblatex-examples.bib}
\begin{document}
\null\vfill\noindent
New citation.\superfootcite[10--15]{companion}
New citation.\superfootcite[10--15]{companion,bertram}
Recurrent citation.\superfootcite[10--15]{companion}
New citation.\superfootcite[10]{companion}
\clearpage\null\vfill\noindent
New citation.\superfootcite[10--15]{companion}
Vanilla footnote.\footnote{Footnote text.}
New citation.\superfootcite[10--15]{bertram}
Recurrent citation.\superfootcite[10--15]{companion}
\end{document}

以下是第一页的输出:

在此处输入图片描述

第二:

在此处输入图片描述

相关内容