修改 apalike3 以使用 \href 打印 DOI

修改 apalike3 以使用 \href 打印 DOI

我正在尝试修改 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 页的表格驯服野兽手册对此有更多详细信息。

相关内容