如何在我的数字引用样式中添加年份?

如何在我的数字引用样式中添加年份?
\documentclass{article}
\usepackage[
backend=bibtex,
bibstyle=numeric,
citestyle=numeric,
natbib=true
]{biblatex}
\bibliography{biblio}

\begin{document}
\citet{federico2014reserve}
\printbibliography
\end{document}

这里省略了 .bib 文件。这将给出:

Federico、Vegh 和 Vuletin [1]。

我想要一个像这样的“作者-年份-数字”风格的引用:

Federico、Vegh 和 Vuletin,2014 年 [1]。

有没有办法在 biblatex 中做到这一点?谢谢。

答案1

我觉得这种风格没什么意义。你放弃了数字风格的一大优势:不引人注目。由于你添加了作者和年份,所以引文变得更长,而且数字标签不会添加作者年份部分无法提供的任何进一步信息(当然,如果做得正确的话)。

也就是说,您只需将名称和年份添加到cite宏中,但我们还需要移动括号。

\renewcommand*{\nameyeardelim}{\addspace}

\DeclareCiteCommand{\cite}
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\renewbibmacro*{cite}{%
  \printtext[bibhyperref]{%
    \printnames{labelname}%
    \setunit{\nameyeardelim}%
    \printfield{year}%
    \setunit{\addspace}%
    \printtext[labelnumberwidth]{%
      \printfield{prefixnumber}%
      \printfield{labelnumber}}%
    \ifbool{bbx:subentry}
      {\printfield{entrysetcount}}
      {}}}

请注意,这重新定义了\cite命令而不是\textcite/ \citet

总共

\documentclass{article}
\usepackage[
backend=bibtex,
style=numeric,
natbib=true
]{biblatex}
\bibliography{biblatex-examples}

\renewcommand*{\nameyeardelim}{\addspace}

\DeclareCiteCommand{\cite}
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\renewbibmacro*{cite}{%
  \printtext[bibhyperref]{%
    \printnames{labelname}%
    \setunit{\nameyeardelim}%
    \printfield{year}%
    \setunit{\addspace}%
    \printtext[labelnumberwidth]{%
      \printfield{prefixnumber}%
      \printfield{labelnumber}}%
    \ifbool{bbx:subentry}
      {\printfield{entrysetcount}}
      {}}}

\begin{document}
\cite{sigfridsson}
\printbibliography
\end{document}

示例输出

相关内容