网站doi2bib 网查找出版物的 DOI 代码并返回有关该出版物的数据。DOI 代码包括正斜杠,例如:
10.1037/dev0000663
有两种方法可以获取该出版物的数据:
- 去doi2bib 网并在文本框中输入 DOI,或者
- 直接转至该 DOI 的 doi2bib URL:https://doi2bib.org/bib/10.1037%2Fdev0000663
在第二种方法中,DOI 中的斜线必须经过 URL 编码才能使用%2f
。没有经过该编码的 URL 不起作用。因此,https://doi2bib.org/bib/10.1037/dev0000663不起作用。
现在,问题来了。如果我复制有效的 URL
https://doi2bib.org/bib/10.1037%2Fdev0000663
进入 MS Word 或 Excel,链接不起作用,但会产生错误消息:
请注意,该错误消息中的 URL 显示正确。当鼠标悬停在 Word 中的 URL 上时,可能会出现以下提示:
请注意,此处的 URL 已被解码为%2F
斜线。如果这是 Word 实际尝试访问的 URL,那么这就可以解释为什么它失败了。
我尝试将其转换%2F
为,%252F
看看是否能发送正确的 URL,但结果却不是这样。结果显示错误消息:
将鼠标悬停在 URL 上表明 Word%252F
也转换为斜线,然后再次尝试转到错误的 URL:
除了 Word 和 Excel 之外,Adobe Acrobat 的“从网页创建 PDF”命令中的链接也不起作用。因此,该问题并非 MS Office 程序所特有。
我该如何编写此 URL 以便 Word 和其他程序能够正确遵循它?
答案1
解决方法:不要使用 DOI2bib,而是使用 CrossRef 的元数据传送(文档:1,2)。可以使用基本元数据搜索,可以采用 URL 编码的 DOI,也可以采用非 URL 编码的 DOI:
上述两个 URL 返回的结果相同,并且均适用于 MS Word。可以使用 ReST API (1,2):
或在文本中使用基于链接的内容协商,在上述 API URL 中添加“/transform/application/x-bibtex”后缀:
或者通过获取免费帐户并在 OpenURL 服务中使用其电子邮件地址以 XML 形式获取(1,2,3) 参数设置“redirect=false”或“noredirect=true”:
https://doi.crossref.org/openurl/?pid= < [email protected] > &id=doi:10.1037/dev0000663&redirect=false
我仍然想知道是否有适当的解决方案可以让 MS Word 和其他程序在不解码 % 代码的情况下请求 URL。我不会在这里接受我自己的答案,这样如果有人发布一个好的答案,我就可以接受。