我是 (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}
]
现在我的问题是我不想在 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]
}
}
}
删除除@book
s 之外的所有条目的 ISBN。
这里还有一种pertype
替代方法是\pernottype
反转逻辑,让映射仅适用于特定类型的条目。
虽然\AtEveryBibitem
使用的方法\clearfield
可能更方便,但我认为源映射在概念上更好,因为后者在早期阶段删除了该字段。如果你想抑制与标签生成或唯一性特征交互的字段,这可能变得很重要。