在参考文献中没有显示某些属性?

在参考文献中没有显示某些属性?

我是 (share)latex 的新手,在设计参考文献样式时遇到了一些麻烦。这是参考文献的 bibtex 代码:

@article{bulling_tutorial_2014,
    title = {A {Tutorial} on {Human} {Activity} {Recognition} {Using} {Body}-worn {Inertial} {Sensors}},
    volume = {46},
    issn = {0360-0300},
    url = {http://doi.acm.org/10.1145/2499621},
    doi = {10.1145/2499621},
    number = {3},
    urldate = {2018-03-03},
    journal = {ACM Comput. Surv.},
    author = {Bulling, Andreas and Blanke, Ulf and Schiele, Bernt},
    month = jan,
    year = {2014},
    keywords = {gesture recognition, Activity recognition, Activity Recognition Chain (ARC), on-body inertial sensors},
    pages = {33:1--33:33}
}

如您所见,它包含很多属性。为了显示我的参考书目,我在 tex 文档中执行以下操作:

\usepackage[
backend=biber,
style=numeric,
sorting=nty
]{biblatex}
\addbibresource{../shared/bibliography.bib}

%\begn{document} and the rest of the document

\printbibliography[
heading=bibintoc,
title={References}
]

In my generated pdf, it looks like this

现在我的问题是我不想在 pdf 中包含 ISSN 编号,我该如何排除这个元素?我不想从 bibtex 代码中删除它,也许我以后会需要它。另外,是否可以从除书籍之外的所有参考资料中删除 ISBN 编号?我如何创建这样的规则?我还希望作者姓名的首字母显示在 pdf 中,因此在图像中,应该显示 A. Bulling 而不是 Andreas Bulling。

答案1

您可以使用

giveninits=true

您可以使用以下选项同时隐藏所有 ISBN 和 ISSN

isbn=false

为了进行更细粒度的控制,你可以使用类似

\AtEveryBibitem{\clearfield{issn}}

或者

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldset=issn, null]
    }
  }
}

删除所有 ISSN。

甚至

\AtEveryBibitem{%
  \clearfield{issn}%
  \ifentrytype{book}
    {}
    {\clearfield{isbn}}}

或者

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldset=issn, null]
    }
    \map{
      \pernottype{book}
      \step[fieldset=isbn, null]
    }
  }
}

删除除@books 之外的所有条目的 ISBN。

这里还有一种pertype替代方法是\pernottype反转逻辑,让映射仅适用于特定类型的条目。

虽然\AtEveryBibitem使用的方法\clearfield可能更方便,但我认为源映射在概念上更好,因为后者在早期阶段删除了该字段。如果你想抑制与标签生成或唯一性特征交互的字段,这可能变得很重要。

相关内容