隐藏 bibtex 标题中的超链接

隐藏 bibtex 标题中的超链接

关注该帖子这里我想知道我们如何格式化 bibtex 以使用参考文献的标题作为 href 描述。这样就无需修改 bibtex 条目本身。

例如,按原样使用此条目,

@inproceedings{DBLP:conf/osdiDeanG04,                                        
               author    = {Jeffrey Dean and Sanjay Ghemawat},                                                                        
                          title     = {MapReduce: Simplified Data Processing on Large Clusters},                              
                          booktitle = {OSDI},                                                                                 
                          year      = {2004},                                                               
                          url        = {http://www.usenix.org/events/osdi04/tech/dean.html},                                   
                          crossref  = {DBLP:conf/osdi 2004},                                                                  
                          bibsource = {DBLP, http://dblp.uni-trier.de}                                                        
                          } 

是否可以使用 url 和标题作为 \href{url}{title} 的描述

我尝试了以下命令,但未按预期工作。我使用的是 plainnat。

  FUNCTION {format.title}
  { title empty$
      { "" }
      {"\href{" url * "}{" title "t" change.case$ "}"}
    if$
   }

答案1

如果想避免使用 biblatex,解决方案是使用bib工具。一般的想法是创建一个新的条目 title2,格式为 \href{url}{title}。然后需要在 bibliographystyle 文件(例如 plainnat.bst 参见)中将 title 更改为 title2这里)。

我不确定这是否是最好的解决方案,但一旦实施它就非常方便。

详细信息:

假设以下条目位于文件 test.bib 中。

@inproceedings{DBLP:conf/osdiDeanG04,                                        
           author    = {Jeffrey Dean and Sanjay Ghemawat},                                                                        
                      title     = {MapReduce: Simplified Data Processing on Large Clusters},                              
                      booktitle = {OSDI},                                                                                 
                      year      = {2004},                                                               
                      url        = {http://www.usenix.org/events/osdi04/tech/dean.html},                                   
                      crossref  = {DBLP:conf/osdi 2004},                                                                  
                      bibsource = {DBLP, http://dblp.uni-trier.de}                                                        
                      } 

然后运行命令

    bibtool --  'add.field{title2="\href{%s(url)}{%s(title)}"}' test.bib -o test1.bib

将输出包含条目的文件

@InProceedings{   dblp:conf/osdideang04,
      author    = {Jeffrey Dean and Sanjay Ghemawat},
      title     = {MapReduce: Simplified Data Processing on Large Clusters},
   booktitle    = {OSDI},
    year        = {2004},
    url         = {http://www.usenix.org/events/osdi04/tech/dean.html},
    crossref    = {DBLP:conf/osdi 2004},
    bibsource   = {DBLP, http://dblp.uni-trier.de},
    title2      = {\href{http://www.usenix.org/events/osdi04/tech/dean.html}{MapReduce:
      Simplified Data Processing on Large Clusters}}

}

最后一步是将 bibibliographystyle 文件中的 title 替换为 title2。在需要链接的所有位置将 title 替换为 title2。例如,在 plainnat.bst 中,我也将 btitle 替换为 title2。

相关内容