如何提取多个 BibTeX 字段?

如何提取多个 BibTeX 字段?

我尝试引用多个字段(例如,标题、作者和年份)。

我试过了\citefield,但它似乎不接受多个字段(如何提取 BibTeX 条目(如 DOI、摘要等)

有没有类似的东西\citefield{somepaper2020}{title,author,year}

答案1

\citefield只提供一个字段。如果想同时访问多个字段,则需要定义自定义 cite 命令。

标准\...cite命令具有以下结构

\DeclareCiteCommand{\atycite}
  {\usebibmacro{prenote}}
  {\usebibmacro{author:title:year}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

bibmacro(此处author:title:year)执行实际工作并打印所需字段及其之间的标点符号。例如

\newbibmacro*{author:title:year}{%
  \printnames{labelname}%
  \setunit{\addcolon\space}%
  \printfield[citetitle]{labeltitle}%
  \setunit{\addcomma\space}%
  \printdate
}

这里我使用了从、、...字段和从等自动计算的特殊字段labelname和,而不是和。labeltitleauthoreditortitleshorttitle\printnames{author}\printfield{title}

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=numeric, backend=biber]{biblatex}

\newbibmacro*{author:title:year}{%
  \printnames{labelname}%
  \setunit{\addcolon\space}%
  \printfield[citetitle]{labeltitle}%
  \setunit{\addcomma\space}%
  \printdate
}

\DeclareCiteCommand{\atycite}
  {\usebibmacro{prenote}}
  {\usebibmacro{author:title:year}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\addbibresource{biblatex-examples.bib}

\begin{document}
\autocite{sigfridsson}

\atycite{sigfridsson}

\printbibliography
\end{document}

Sigfridsson 和 Ryde:《从电势和电矩推导原子电荷的方法比较》,1998 年


如果这应该是您常用的引用样式而不是一次性的,您可能需要使其更高级,并确保该命令可以处理高级biblatex功能,例如shorthand,与参考书目样式(及其排序)等正确协同工作。

相关内容