将 biblatex 的 citeauthor 命令与条目集结合使用

将 biblatex 的 citeauthor 命令与条目集结合使用

entry sets在与命令结合使用时,\citeauthor我遇到了不理想的行为。如下所示,MWEB 使用该\cite命令引用条目集中的单个条目时工作正常,而\citauthor引用第二个条目时却给出第一个条目的作者姓名。

有可能克服这种行为吗?

\documentclass{scrreprt}

\usepackage[sorting=none,sortcites=true,block=none,citestyle=numeric-comp,bibstyle=chem-angew,giveninits=true,autocite=superscript,subentry=true]{biblatex}
\addbibresource{\jobname.bib}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{First,
author = {First, A.},
journal = {Journal},
pages = {1762--1776},
volume = {27},
year = {2017}
}
@article{Second,
author = {Second, B.},
journal = {Journal},
pages = {1762--1776},
volume = {27},
year = {2017}
}
\end{filecontents}

\defbibentryset{set}{First,Second}

\begin{document}

\cite{set}

\citeauthor{First} \cite{First} % yields First [1a]

\citeauthor{Second} \cite{Second} % yields First [1b]

\printbibliography
\end{document}

答案1

在 3.8 中已修复biblatex(目前在 Sourceforge 上的 DEV 中)。

技术说明:这是 biblatex 中检索集合成员数据的方式长期存在的问题。出于某种原因,很久以前就决定在引用集合成员时简单地检索所有集合父数据。由于各种遗留的 bibtex 原因,集合父级基本上只是第一个集合成员的副本,这解释了不良行为。拥有这种虚拟集合父级数据的唯一目的是为labelnumber/labelalpha/labelprefix附加到集合父级的关键字段提供一个家。biblatex 3.8 在引用集合成员时不再使用集合父级数据。它保留集合成员数据,但将关键父级数据注入子数据。

相关内容