我正在使用 Nature biblatex 样式和 bibtex 来排版参考书目,并希望禁止 URL 出现在“论文”条目类型(如书籍、期刊文章和论文集)中。如果我使用 url=none,则 URL 在所有地方都会被禁止,包括在线资源。我需要避免这种情况。有办法吗?
更新 我使用 Mendeley 来管理参考书目。以下是 bib 文件中的两个 @book 示例:
@book{SnyderLove1983,
address = {London},
author = {Snyder, Allan and Love, John},
publisher = {Chapman \& Hall},
title = {{Optical waveguide theory}},
url = {http://books.google.com/books?id=gIQB\_hzB0SMC},
year = {1983}
}
@book{Agrawal01,
author = {Agrawal, Govind P.},
edition = {3rd},
pages = {467},
publisher = {Academic Press},
series = {Optics and Photonics},
title = {{Nonlinear Fiber Optics}},
url = {http://www.elsevierdirect.com/product.jsp?isbn=9780120451432},
year = {2001}
}
这是@inproceedings:
@inproceedings{Liao2011,
author = {Liao, Changrui and Wang, Dongming and He, Xiaoying and Yang, Minwei},
booktitle = {Proceedings of SPIE},
doi = {10.1117/12.885826},
number = {13},
pages = {77534I--77534I--4},
title = {{Twisted optical microfiber for refractive index sensing}},
url = {http://link.aip.org/link/?PSISDG/7753/77534I/1 http://link.aip.org/link/PSISDG/v7753/i1/p77534I/s1\&Agg=doi},
volume = {23},
year = {2011}
}
在 @inproceedings 记录中,Mendeley 在 bib 文件中连接了两个 URL。显然,这是一个错误。
答案1
这在样式中很难处理,因为它取决于人们如何在数据库中存储数据。(不同的用户对于哪些类型应该包含 URL 和不应该包含 URL 有不同的看法。)但是,在文档中,使用biblatex
访问数据模型的能力应该很容易处理。例如,类似
\AtEveryBibitem{%
\ifentrytype{book}
{\clearfield{url}}
{}%
}
将清除所有书籍的 URL 字段。使用布尔表达式,可以将其扩展为多种条目类型
\AtEveryBibitem{%
\ifboolexpr
{
test { \ifentrytype{book} }
or
test { \ifentrytype{inbook} }
or
test { \ifentrytype{inproceedings} }
}
{\clearfield{url}}
{}%
}