自定义 biblatex 引文

自定义 biblatex 引文

我正在探索 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}

相关内容