我正在使用natbib
(+ BibTeX)。我的参考书目文件 ( .bib
) 中的一些条目有字段doi
,一些有url
,一些同时有。我想编辑参考书目样式文件 ( .bst
),以便如果doi
可用,url
则将其隐藏。
目前该.bst
文件具有以下功能:
FUNCTION {format.doi}
{ doi empty$
{ "" }
{
new.block
"\doi{" doi * "}" *
}
if$
}
FUNCTION {format.url}
{
url
duplicate$ empty$
{ pop$ "" }
{ "\urlprefix\url{" swap$ * "}" * }
if$
}
[我正在寻找此问题的解决方案,并找到了一些类似的问题和答案。但是,他们没有解决这个具体案例。经过搜索和尝试,我可以解决它。我将解决方案作为我自己问题的回复来记录它。]
答案1
你可以通过测试doi
函数内部是否为空来实现它format.url
。format.url
用以下内容替换你的代码:
FUNCTION {format.url}
{
doi empty$
{
url
duplicate$ empty$
{ pop$ "" }
{ "\urlprefix\url{" swap$ * "}" * }
if$
}
{ "" }
if$
}