向 biblatex 条目添加新字段

向 biblatex 条目添加新字段

我使用的许多书都是系列丛书的一部分。biblatex与 BibTeX 相比,它提供了更多字段来添加书目信息,但没有适合系列丛书编辑的字段。如果我使用该EDITOR字段,书目将(默认)打印edited by,这无法正确体现系列丛书编辑的角色。

我想知道是否有任何简单的方法来添加一个新字段SERIESEDITOR,默认情况下会biblatex打印其内容前面的内容Series edited by 或者确保 中的所有内容都SERIESEDITOR直接打印在系列名称之后,例如 之类的内容[Name of series], edited by [series editor]。换句话说,我有什么办法可以在文档的序言中做到这一点,而不必冒险编写新的参考书目样式?

答案1

biblatex 2.0+biber 1.0+允许您定义其他字段和条目类型,但这仅适用于样式作者,不能在文档序言中使用。

但是,借助biber的源映射功能,您可以使用 字段serieseditor并将其映射到默认数据模型中定义的字段,例如namea。然后可以在设置字段的参考书目宏中打印此现有字段series

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldsource=serieseditor,fieldtarget=namea]
    }
  }
}

\renewbibmacro*{series+number}{%
  \printfield{series}%
  \setunit*{\addspace}%
  \printfield{number}%
  \ifnameundef{namea}
    {}
    {\setunit*{\addcomma\space}%
     \usebibmacro{byeditor+othersstrg}%
     \setunit{\addspace}%
     \printnames[byeditor]{namea}}%
  \newunit}

答案2

biber由于版本 2(以及与版本 1 或更高版本结合使用)biblatex允许您定义任何类型的附加字段。请查看biblatex手册的第 4.5.2 章。

相关内容