我的问题实际上就像我之前发现的一个问题(参见关联),不幸的是没有答案。
以下是数据:
- 我用
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}