![在 .bst 文件中将 urldate 添加到 url 函数](https://linux22.com/image/379403/%E5%9C%A8%20.bst%20%E6%96%87%E4%BB%B6%E4%B8%AD%E5%B0%86%20urldate%20%E6%B7%BB%E5%8A%A0%E5%88%B0%20url%20%E5%87%BD%E6%95%B0.png)
我正在使用大学提供的 .bst 文件。不幸的是,它没有将 urldate 添加到我的参考文献中。所以我尝试在我的 .bst 文件中手动添加它。
这是杂项的功能:
FUNCTION {misc}
{ output.bibitem
format.authors output
author format.key output
format.date "year" output.check
date.block
format.title output
end.quote.title
% new.block
howpublished "howpublished" bibinfo.check output
% new.block
format.note output
fin.entry
write.url
}
这是 write.url 的函数:
FUNCTION {write.url}
{
url
duplicate$ empty$
{ pop$ }
{ "\newline\urlprefix\url{" swap$ * "}" * write$ newline$ }
if$
}
我想将 urldate 添加到函数 write.url 中。我以前从未做过这样的事情,所以我用 Google 搜索了一下,发现了这个问题:使用 natbib 对 .bst 进行破解,在 BibTex 中的 @misc 中添加 urldate
我尝试复制 .bst 文件的结果并将 urldate 添加到条目中,但不起作用。出现错误“您无法弹出空的文字堆栈...”。这是我的代码:
FUNCTION {write.url}
{
url
duplicate$ empty$
{ pop$ }
{ "\newline\urlprefix\url{" swap$ * "}" * write$ newline$ * urldate dublicate$ empty$
{ pop$ }
{ "~(Accessed: " swap$ * ")" * *}
if$
}
if$
}
谁能告诉我我做错了什么或者我还能怎样添加 urldate?
答案1
使FUNCTION {format.url}
读取
FUNCTION {format.url}
{ url duplicate$ empty$
{ pop$ "" }
{ "\url{" swap$ * "}" *
urldate duplicate$ empty$
{ pop$ }
{ " (Accessed: " swap$ * ")" * * }
if$
}
if$
}
并按如下方式使用
format.url output
之前fin.entry
。因此函数misc
看起来像
FUNCTION {misc}
{ output.bibitem
format.authors output
author format.key output
format.date "year" output.check
date.block
format.title output
end.quote.title
% new.block
howpublished "howpublished" bibinfo.check output
% new.block
format.note output
format.url output
fin.entry
}
通过这些改变,你可以