I have a large set of references and I in most cases do have either

  • ISBN
  • DOI
  • DOI and ISBN

I'd like to setup a filter that prints the ISBN only when the DOI does not exist.

How can I set up a filter that performs this conditional printing (I read this thread but didn't find a command to check whether an entry exists)

If necessary I could also define empty DOI entries but this would be plenty of work.


1 Answer 1


You can use biblatex source remapping features. The code checks whether the doi field is non-null and if it is it clears the isbn field so that it is not printed.



with t.bib

  author =   {Author, First},
  title =    {Title One},
  publisher =    {Publisher},
  year =     2000,
  doi =      {doi:field},
  note =     {doi only}

  author =   {Author, Gareth},
  title =    {Title Two},
  publisher =    {Publisher},
  year =     2005,
  isbn =     {isbn number},
  note =     {isbn only}

  author =   {Author, Last},
  title =    {Title Three},
  publisher =    {Publisher},
  year =     2007,
  isbn =     {isbn number},
  doi =      {doi:field},
  note =     {isbn and doi}


Sample output

  • Works like a charm and is much more elegant than the solution suggested in the other thread (which I didn't find; sorry). Thanks a lot. Commented Oct 14, 2012 at 14:37
  • Andrew, do you know the same feature in BibTeX? Have my own .bst file. BR Tobias.
    – TobiasDK
    Commented Jun 4, 2015 at 17:43
  • @TobiasDK In bibtex it would involve writing appropriate functions in the .bst file to do this. It is most certainly possible,cf. tex.stackexchange.com/q/137345/15925, but depends on the rest of that file. Post a new question if you can't make it work. I would in fact be tempted to use something like bibtool to preprocess the bib file instead. Commented Jun 5, 2015 at 8:44
  • @AndrewSwann, thank you for the answer. I have posted a new question to deal with my problem. Maybe you have time to look at it: [tex.stackexchange.com/questions/248732/…. Thanks in advance.
    – TobiasDK
    Commented Jun 5, 2015 at 9:37

You must log in to answer this question.

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