Biblatex:限制 Backref 在一个段中仅显示属于该段的页面

Biblatex:限制 Backref 在一个段中仅显示属于该段的页面

我的问题实际上就像我之前发现的一个问题(参见关联),不幸的是没有答案。

以下是数据:

  • 我用biblatex
  • 我有两章,每一章都必须有自己的参考书目;
  • 必须有一个最终全球的参考书目;
  • 不幸的是,这两章的参考书目确实有重叠。

如果我将该选项backref与 refsegment 一起使用,那么两个参考书目之间重叠的所有条目也将包含属于另一章的页面。

例如,假设条目 \cite{Shakespeare_1600} 位于第 1 章第 3 页,而在第 2 章第 27 页。使用backref,在第 1 章的参考书目中,将会出现条目“Shakespeare, W. (1600) (pp.3, 27)。

如何限制 backref 为每个章节的参考书目提供仅属于该章节的参考页面?

在此先非常感谢您的帮助。

[关于 MWE,链接的问题很好,因为 OP 使用的正是我会使用的选项]。

答案1

你可以在这里尝试一下。注意:需要biber 运行: pdflatex biber pdflatex biber pdflatex ...

\documentclass[a4paper,titlepage,10pt,twoside,openright]{report}
\usepackage[backend=biber,style=ieee-alphabetic,natbib=true,backref=true]{biblatex}
\addbibresource{IEEEfull.bib}
\addbibresource{IEEEexample.bib}
\usepackage{lipsum}
\usepackage{xparse}
\ExplSyntaxOn

\seq_new:N\g_UF_allcitekeys_seq

\AtEveryBibitem
 {
  \seq_gput_right:Nx\g_UF_allcitekeys_seq{ \thefield{entrykey} }
 }


\NewDocumentCommand\nociteall { }
 {
  \seq_map_function:NN\g_UF_allcitekeys_seq\nocite
 }
\ExplSyntaxOff


\makeatletter
 %for the backrefs of the main bib:
\let\oriabx@aux@backref\abx@aux@backref
\renewcommand\abx@aux@backref[5]{%
 \oriabx@aux@backref{#1}{#2}{#3}{#4}{#5}%
 \oriabx@aux@backref{#1}{#2}{0}{#4}{#5}
 }
\makeatother
\begin{document}

 \chapter{Introduction}
  \begin{refsection}
   \cite{IEEEexample:articledualmonths}
  \printbibliography[heading=subbibliography]
  \end{refsection}

 \chapter{Second chapter}
  \begin{refsection}
   \cite{IEEEexample:articledualmonths}
   \cite{IEEEexample:IEEEwebsite}
   \nocite{IEEEexample:book_typical,IEEEexample:article_typical}
  \printbibliography[heading=subbibliography]
  \end{refsection}

\cleardoublepage
\nociteall
\printbibliography[heading=bibliography]

\end{document}

在此处输入图片描述 在此处输入图片描述

在此处输入图片描述

相关内容