For each paper at SAO/NASA Astrophysics Data System (ADS) a BibTeX entry is provided containing a field like

adsurl = {http://adsabs.harvard.edu/abs/2015EPJST.224.2217S},

which I would like to add as link in the bibliography of my LaTeX document.

It seemed like there is no simple way to do this in BibTeX but that it should be possible with biblatex. How?

  • 1
    If you use BibTeX, which bibliography style do you employ?
    – Mico
    Commented Jan 9, 2016 at 2:48
  • I use different styles for example aa.bst. Commented Jan 11, 2016 at 11:08

3 Answers 3


This is a workaround just for the A&A journal. I modified aa.bst file and use the adsurl entry and doi entry to create clickable hyperlinks. You can download the new aa_url.bst here: https://github.com/yangcht/AA-bibstyle-with-hyperlink

just replace the aa.bst with aa_url.bst

An example is here: enter image description here

Note that do please use the bib entry generated by the ADS website.


In biblatex it is possible to define new bibtex fields. New fields can be created using \DeclareDatamodelFields and \DeclareDatamodelEntrytypes (these commands should appear in a biblatex configuration file, a simple ways is to is to use filecontents to create such configuration file while processing a document)


The second step is to specify how it is going to be rendered. For example,


and then add


in the drivers/bibmacro for the entries where the field should be printed. The following simply add the adsurl at the end of an bibliography entry in the bibliography.

  • 2
    Note that if you override the default field format with the optional argument as in \printfield[bibhyperref]{adsurl} there is no point in having a \DeclareFieldFormat{adsurl}{#1} in the first place. Furthermore, I think bibhyperref is not the correct format here, it is used to link back to the bibliography entry form a citation. I would probably go \DeclareFieldFormat{adsurl}{\mkbibacro{ADSURL}\addcolon\space\url{#1}} \renewbibmacro{finentry}{\printfield{adsurl}\finentry} or so. Instead of the datatype verbatim one could even use uri.
    – moewe
    Commented Jan 9, 2016 at 9:06
  • Thank you very much for your answer, which seems to work. But is \DeclareDatamodelEntryfields actually needed? Is there also a way to remove "adsabs.harvard.edu/abs" from every entry? Commented Jan 11, 2016 at 10:58
  • I have asked this as How can I cut, strip, truncate or rename parts of bibtex fields with biblatex. Commented Jan 12, 2016 at 10:53

It seems like I found a satisfying solution based on an additional comment in How can I cut, strip, truncate or rename parts of bibtex fields with biblatex. Now it looks as follows:



      \step[fieldsource=adsurl, match={http://adsabs.harvard.edu/abs/},

\DeclareFieldFormat{adsurl}{ADSURL: \href{http://adsabs.harvard.edu/abs/#1}{#1}}


\let\cite\textcite  %for compatibility of \cite/\citep with bibtex

And it produces something like:

Kundu, M. R. (1965). Solar radio astronomy. New York: Interscience Publication,
1965. ADSURL: 1965sra..book.....K.

where 1965sra..book.....K is a link.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .