关注该帖子这里我想知道我们如何格式化 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。