在参考文献标题中添加链接

6
我正在使用rmarkdown(pandoc)创建一个文档,其中包含一些在.bib文件中的参考文献。我想要做的是为每个参考文献的标题添加链接,使它们都链接到一个形如http://sample.com/citation-key.html的页面,就像这样:

作者。(2017)。样本标题。期刊,1(1),1-2。

我尝试修改.csl文件,通过添加前缀和后缀来修改标题,但是无论我使用markdown还是HTML语法,我放进去的所有内容都被转义了。不幸的是,我不能更改.bib文件。.csl文件的相关部分如下:
<text variable="title"/>

示例文件包括:

  • literature.Rmd:

    ---
    output: html_document
    bibliography: literature.bib
    csl: literature.csl
    ---
    
    @author2017word says this doesn't work.
    
    ## References
    
  • literature.bib

    @article{author2017word,
             author = {Author},
             journal = {Journal},
             number = {1},
             pages = {1--2},
             title = {{Sample Title}},
             volume = {1},
             year = {2017}
    }
    
  • literature.csl: I'm using the APA style from here (line 231).


你能详细说明链接地址吗?在这个例子中,它会是http://sample.com/author2017word.html吗? - Martin Schmelzer
是的,它将是HTML。使用JS进行后处理将是最后的选择。理想情况下,它必须在HTML中硬编码。 - Julián Urbano
2
只是想说,你绝对不能使用CSL来做到这一点。我认为在pandoc中也不可用,所以马丁的建议是唯一的方法,但后者并不确定。 - adam.smith
好的,这时候一个基于JS的解决方案就可以了。有人愿意吗? - Julián Urbano
我来到这里想做同样的事情。我一直在通过<a href="...">...</a>手动添加URL到我的.bib文件中每个title字段,但是想看看能否让CSL为我完成此任务。@adam.smith的回答让我感到难过,但也省去了我费力尝试自定义CSL文件的很多麻烦。 - sh37211
显示剩余2条评论
1个回答

3

最近我的拉取请求被合并到了citeproc中,添加了这个功能的支持。因此,在引用没有显示原始URL时,Pandoc的最新版本(v2.14.2)现在默认情况下会给标题添加超链接!从citeproc自述文件中可以看到:

linkBibliography=True时,会自动将出现在参考文献条目中的任何标识符(DOI、PMCID、PMID或URL)进行链接。当一个条目有可用的DOI、PMCID、PMID或URL,但样式没有呈现它们中的任何一个时,使用DOI、PMCID、PMID或URL的URL(按优先级顺序)为标题(或者如果没有标题,则是整个条目)添加链接。请参阅CSL v1.0.2规范的附录VI

在 pandoc 中,此选项由 link-bibliography 元数据字段 控制,默认情况下为 True

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接