我正在探索 biblatex 的功能。我使用以下示例:
\documentclass{article}
\usepackage[style=alphabetic,natbib=true,backend=bibtex]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,
author = {Author, A.},
year = {2001},
title = {Alpha},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Some text about \citet{A01}.
\printbibliography
\end{document}
输出结果如下:
相反,我想将引用格式化为[Author(2001)]
而不是[Auth2001]
,如下所示。
我如何才能实现这种定制的引用?理想情况下,我想保留可用的 natbib 命令(当前通过 实现)并尽可能少地natbib=true
修改我当前的调用。\cite
答案1
上面 henrique 的评论提示我找到了正确的解决方案。切换到 biber 并使用\DeclareLabelalphaTemplate
即可解决问题。请注意,对于多位作者的情况,maxalphanames=1
将引文中列出的作者数量限制为 1,\renewcommand*{\labelalphaothers}{}
否则将+
省略多位作者条目中出现的作者。
\documentclass{article}
\usepackage[style=alphabetic,natbib=true,backend=biber,maxalphanames=1]{biblatex}
\usepackage{filecontents}
\renewcommand*{\labelalphaothers}{}
\begin{filecontents}{\jobname.bib}
@misc{A01,
author = {Author, A. and Bernard, B.},
year = {2001},
title = {Alpha},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\DeclareLabelalphaTemplate{
\labelelement{
\field[final]{shorthand}
\field{labelname}
\field{label}
}
\labelelement{
\literal{(}
}
\labelelement{
\field{year}
}
\labelelement{
\literal{)}
}
}
\begin{document}
Some text about \citet{A01}.
\printbibliography
\end{document}