biblatex:使用 mincrossrefs 跟踪 n 阶交叉引用?

biblatex:使用 mincrossrefs 跟踪 n 阶交叉引用?

我想在xref每次xref增加给定条目的任何子条目的计数器时自动增加该条目的计数器(不是每次引用任何后代条目时)。

目前,以下代码仅生成child1和的参考书目条目child2。我希望grandparent(但不parent1parent2)也出现在参考书目中。

\begin{filecontents}[force]{sx-biblatex-test.bib}
  @mvcollection{grandparent,
    editor = {Grandparent Editor},
  }

  @collection{parent1,
    crossref = {grandparent},
    editor = {Parent One},
  }

  @collection{parent2,
    crossref = {grandparent},
    editor = {Parent Two},
  }

  @incollection{child1,
    crossref = {parent1},
    author = {Child One},
  }

  @incollection{child2,
    crossref = {parent2},
    author = {Child Two}, 
  }

  @incollection{child3,
    crossref = {parent2},
    author = {Child Three},
  }
\end{filecontents}

\documentclass{article}
\usepackage[style=authoryear,mincrossrefs=2]{biblatex}
\addbibresource{sx-biblatex-test.bib}

\begin{document}
  \nocite{child1,child2}
  \printbibliography
\end{document}

在这种情况下,我可以通过添加到每个子条目来获得我想要的输出xref = {grandparent},。将以下代码添加到序言似乎无法达到相同的效果。

\DeclareDataInheritance{*}{*}{%
  \inherit{crossref}{xref}
}

此外,当我仅引用和时,这种方法会产生不良效果,即增加grandparent参考书目。child2child3

我的印象是相关的宏位于blx-bibtex.def第 272 至 324 行,但我不清楚它们是如何工作的。

谢谢!

相关内容