%3A%20%E5%9C%A8%E7%AE%80%E7%9F%AD%E7%9A%84%E5%BC%95%E7%94%A8%E4%B8%AD%EF%BC%88%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%BC%95%E7%94%A8%E4%B9%8B%E5%90%8E%E7%9A%84%E5%BC%95%E7%94%A8%EF%BC%89%EF%BC%8C%E5%90%8D%E7%A7%B0%E6%B2%A1%E6%9C%89%E6%B6%88%E9%99%A4%E6%AD%A7%E4%B9%89.png)
以下是 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}