假设有一个 doi 地址,例如http://doi.org/10.1103/PhysRevA.54.1098,并且您想在静态网页中创建一个 HTML 链接,例如 <link>,这样当用户点击<link> 加载一个文本文件,其中包含相关 doi 的 bibtex 条目。现在,我知道如何使用 curl 或 Python 获取 bibtex 记录,例如:
curl -LH "Accept: application/x-bibtex" http://dx.doi.org/10.1103/PhysRevA.54.1098
或(基于 Christian 在https://scipython.com/blog/doi-to-bibtex/上的程序)
def create_bibtex_ref(entry):
url = create_doi_link(entry['doi'])
if not url=='':
req = urllib.request.Request(url)
req.add_header('Accept', 'application/x-bibtex')
try:
with urllib.request.urlopen(req) as f:
bibtex = f.read().decode()
return bibtex
except HTTPError as e:
if e.code == 404:
print('DOI not found.')
else:
print('Service unavailable.')
sys.exit(1)
我想人们可以使用 Javascript 或类似的东西来使这个链接在 HTML 文档中工作(虽然我不知道如何做到这一点)。但我想将此链接放在这些功能不可用的 GitHib wiki 中(我知道)。就像是
[Get Bibtex Entry](<the link that I need>)
或者
<a href="the link that I need">Get Bibtex Entry</a>
如果有的话,有哪些选择?(是的,我目前被 GitHub wiki 困住了。)当然,如果您使用上述方法之一预先计算 bibtex 条目,您可以将链接指向不同文件中的位置。如果可能的话,我希望避免这种类型的预先计算的解决方案。