当您向参考书目项目添加 URL 时,我想要修改 URL 前面的文本行。
URL 的默认格式是
FUNCTION {format.url}
{ url empty$
{ "" }
{ this.to.prev.status
this.status.std
cap.yes 'status.cap :=
name.url.prefix " " *
"\url{" * url * "}" *
punct.no 'this.status.punct :=
punct.period 'prev.status.punct :=
space.normal 'this.status.space :=
space.normal 'prev.status.space :=
quote.no 'this.status.quote :=
}
if$
}
现在我将name.url.prefix " " *
其移除并替换为
accessdate empty$
{ "[Online]. Available: " * }
{ "[Online; accessed: " * accessdate * "]. Available:" * }
if$
并添加accessdate
到 if items 集合中ENTRY
。然而,当我现在编译它时,我得到了错误:
您无法弹出一个空的文字堆栈来输入 BIBLIOGRAPHY ITEM
这里有什么问题?我注意到,只要我name.url.prefix " " *
重新添加该行,一切就会恢复正常,并且与我添加的代码结合使用也是如此。我尝试删除与之相关的所有内容,name.url.prefix
但没有奏效。
所需的最小示例 IEEEtran.cls:
文档.tex
\documentclass[journal]{IEEEtran}
\usepackage{cite}
\usepackage{url}
\begin{document}
Test \cite{stackexchange}.
\bibliographystyle{IEEEtran}
\bibliography{IEEEabrv,bibliography}
\end{document}
参考书目.bib
@misc{stackexchange,
title="Title",
author="Author",
year="2014",
publisher="Someone",
url="http://tex.stackexchange.com/",
accessdate="2014-11-04"
}
修改后的 IEEEtran.bst
url 函数在第 1938 行,并且 name.url.prefix 在多行中使用。