根据带注释的参考书目新字段在条目后添加文本

根据带注释的参考书目新字段在条目后添加文本

添加

\DeclareDatamodelFields[type=field,datatype=literal]{cstatement}
\AtEveryBibitem{[\printfield{cstatement}]}

biblatex.cfg几乎我想要的。对于每个带有关键字的 bibtex 条目cstatement="This is a foo",此代码会导致 biblatex 在参考书目条目中预先打印“This is a foo”。

但我实际上需要的是,这个新条目出现在条目之后,就像在带注释的参考书目中一样。“附录”条目也是几乎我想要的,但不完全是因为 1) 我想使用这个自定义关键字,2) 我想要对格式有更多的控制。也就是说,我希望 cstatement 中的文字文本看起来像

\item [bibentry here]\\\ \\[cstatement literal text here]

导致\\\ \\cstatement 文本和 bibentry 之间出现一个空行。(除非 cstatement 存在,否则不应出现换行符。)这适用于任何 bibtex 条目类型(文章、论文集等)。

任何意见,将不胜感激。

答案1

我会\par在字段前发出一个。然后,您可以使用来控制实际条目和注释之间的距离\bibparsep。在参考书目条目末尾添加内容的一个非常简单的方法是重新定义finentry所有好的参考书目样式都应使用的 bibmacro。

在这里的例子中,我使用了字段annotation而不是cstatement,但是如果您在数据模型文件中声明字段,则可以简单地将所有提及的替换 annotationcstatement

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

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

\setlength{\bibparsep}{.5\baselineskip}

\renewbibmacro*{finentry}{%
  \setunit{\finentrypunct\par}%
  \printfield{annotation}%
  \finentry}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{appleby,
  author     = {Humphrey Appleby},
  title      = {On the Importance of the Civil Service},
  date       = {1980},
  annotation = {This is a foo},
}
\end{filecontents}

\addbibresource{\jobname.bib}

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

带注释的参考书目条目。

相关内容