biblatex:从特定条目中删除字段

biblatex:从特定条目中删除字段

我找到了各种方法来从某些条目类型中删除字段。我需要从一些条目 但不是其他相同类型的。我尝试在 biblatex 手册中查找是否可以通过其键选择条目,但没有成功。有没有办法在 biber 或 biblatex 级别执行此操作?

答案1

您可以使用\iffieldequalstr{entrykey}{<key>}键来选择条目<key>

\AtEveryBibitem{%
  \iffieldequalstr{entrykey}{tric}
    {\clearfield{url}\clearfield{urlyear}}
    {}%
}

删除名为 的条目的 URL 和 URL 日期tric

如果你想按类型使用

\AtEveryBibitem{%
  \ifentrytype{article}
    {\clearfield{url}\clearfield{urlyear}}
    {}%
}

这将删除 s 的 URL 和 URL 日期@article


或者,您可以使用 Biber 的源映射。源映射的优点是数据在输入级别被删除。这样就不会考虑各种额外的计算,如labelyearlabelname等。

您可以通过匹配entrykey

\DeclareSourcemap{
  \maps{
    \map{
      \step[fieldsource=entrykey, match=\regexp{\Actan\Z}, final]
      \step[fieldset=url, null]
      \step[fieldset=urldate, null]
    }
  }
}

对于特定类型的映射使用\pertype

\DeclareSourcemap{
  \maps{
    \map{
      \pertype{article}
      \step[fieldset=url, null]
      \step[fieldset=urldate, null]
    }
  }
}

相关内容