我正在尝试修改 apalike3.bst(参见这里),这样它就不会将 DOI 编号打印为带有超链接的 URL,而是打印实际的 DOI 编号但保留超链接。原始 DOI 函数是:
FUNCTION {format.doi} % doi
{
doi empty$
{ "" }
{ "\url{https://doi.org/" doi * "}" * }
if$
}
我尝试使用\href
以下方法:我尝试了一些变体,可以让它打印一些链接到正确网页的单词,但不能打印随文章变化的 DOI 编号。我认为以下方法可行:
FUNCTION {format.doi} % doi
{
doi empty$
{ "" }
{ "\href{https://doi.org/" doi * "}{DOI:" doi * "}" * }
if$
}
the literal stack is empty
但在编译文件时出现错误.bib
。有什么线索可以替代吗?
答案1
问题可能是字符串位没有正确连接。行
{ "\href{https://doi.org/" doi * "}{DOI:" doi * "}" * }
应该读
{ "\href{https://doi.org/" doi * "}{DOI:" * doi * "}" * }
第 33 页的表格驯服野兽手册对此有更多详细信息。