18

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.

0

1 Answer 1

18

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.

\documentclass{article}
\usepackage[backend=biber]{biblatex}
\addbibresource{t.bib}
\DeclareSourcemap{
  \maps[datatype=bibtex]{
     \map{
        \step[fieldsource=doi,final]
        \step[fieldset=isbn,null]
        }
      }
}

\begin{document}
\cite{test1,test2,test3}
\printbibliography
\end{document}

with t.bib

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

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

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

gives

Sample output

4
  • 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 .