我正在使用biblatex
,但还不是很熟悉。
我不知道如何隐藏bibtex
文件中自动生成的某些字段.bbl
。例如,对于我的所有条目,我都有一个类别,用于记录该作品所用的语言。这仅适用于我自己的数据库,我不希望这些信息列在/Language
末尾的参考文献中。但它还是会被列出。我的字段也是如此。有没有办法隐藏特定字段,使其不显示在“参考文献列表”中?article
book
notes
我会写出自己的风格,但我对编程/TeX 的了解还远远不够。我注意到有一个针对 ISBN 号的解决方案(一个选项isbn=false
),这正是我需要的,但适用于不同的领域。
答案1
该命令\clearlist
可用于抑制类别。您可以在文档中阅读更多详细信息
texdoc biblatex
在下面的 MWE 中我用来filecontents*
创建参考书目,但如果您已经有文件,.bib
那么您可以删除这些行。
% this part creates mybib.bib
% delete these lines if you already have a .bib file
\begin{filecontents*}{mybib.bib}
@BOOK{Ab_Steg,
author = "M. Abramowitz and I. A. Stegun",
title = {Handbook of mathematical functions},
publisher = "Dover publications",
year = "1965",
language="English" }
\end{filecontents*}
% end delete
\documentclass{article}
\usepackage{biblatex}
\bibliography{mybib}
\AtEveryBibitem{\clearlist{language}} % clears language
\AtEveryBibitem{\clearfield{note}} % clears notes
\begin{document}
hello world \cite{Ab_Steg}
\printbibliography
\end{document}
编译顺序是
pdflatex myfile.tex
biber myfile.bcf
pdflatex myfile.tex
pdflatex myfile.tex
(如果您不想,则不必使用扩展。)
答案2
如果您使用的是 Biber 而不是 BibTeX,您可以在 BibLaTeX 看到任何字段之前抑制/映射它们。请参阅 Biber PDF 手册第 3.1.1 节。例如,在您的例子中,您可以将以下内容放入 biber.conf(版本 0.9.8+):
<config>
<sourcemap>
<maps datatype="bibtex" map_overwrite="1">
<map>
<map_step map_field_set="LANGUAGE" map_null="1"/>
<map_step map_field_set="NOTES" map_null="1"/>
</map>
</maps>
</sourcemap>
</config>
您也可以只针对特定条目类型执行此操作。请参阅 Biber 手册。还有一个文档级宏接口,请参阅 biblatex 2.0+ 手册。在您的序言中,您可以执行以下操作,这相当于上面的操作:
\DeclareSourcemap{
\maps[datatype=bibtex, overwrite]{
\map{
\step[fieldset=language, null]
\step[fieldset=notes, null]
}
}
}