style=verbose (et similia): 在简短的引用中(第一个引用之后的引用),名称没有消除歧义

style=verbose (et similia): 在简短的引用中(第一个引用之后的引用),名称没有消除歧义

以下是 mwe:

% !TEX encoding = UTF-8 Unicode
% !TEX program = lualatex
% !BIB program = biber

\begin{filecontents}[overwrite]{\jobname.bib}
@article{a,
  author = {Smith, John},
  title = {Title of the contribution},
  journaltitle = {Journaltitle},
  date = {2000},
}
@article{b,
  author = {Smith, Jack},
  title = {Title of the contribution},
  journaltitle = {Journaltitle},
  date = {2000},
}
\end{filecontents}

\documentclass{article}
\usepackage[style=verbose]{biblatex}
  \addbibresource{\jobname.bib}

\DeclareUniquenameTemplate{
  \namepart[use=true, base=true]{prefix}
  \namepart[base=true]{family}
  \namepart[disambiguation=full]{given}
}

\begin{document}
\autocite{a}
\autocite{b}
\autocite{a}

\printbibliography
\end{document}

在此处输入图片描述

如您所见,简短的引用定义没有消除标签名称歧义的可能性。

能找到解决办法吗?谢谢

答案1

选项提供了名称消歧义uniquename功能,但verbose样式默认不启用此功能。因此您必须自行执行此操作

\documentclass{article}
\usepackage[style=verbose, uniquename=true]{biblatex}

\DeclareUniquenameTemplate{
  \namepart[use=true, base=true]{prefix}
  \namepart[base=true]{family}
  \namepart[disambiguation=full]{given}
}

\begin{filecontents}{\jobname.bib}
@article{a,
  author       = {Smith, John},
  title        = {Title of the contribution},
  journaltitle = {Journaltitle},
  date         = {2000},
}
@article{b,
  author       = {Smith, Jack},
  title        = {Title of the contribution},
  journaltitle = {Journaltitle},
  date         = {2000},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
Lorem\autocite{a}
ipsum\autocite{b}
dolor\autocite{a}

\printbibliography
\end{document}

1 约翰·史密斯。“贡献标题”。载于:Journaltitle(2000 年)。 2 杰克·史密斯。“贡献标题”。载于:Journaltitle(2000 年)。 3 约翰·史密斯,“贡献标题”。

相关内容