10

What is the proper way to put an ISBN-13 number into a bibtex entry?

What do I have to do to make it show up in the bibliography?

I have the following book:

Landmarks of Tomorrow: A Report on the New Paperback
January 1, 1996
by Peter Drucker
Paperback: 270 pages
Publisher: Transaction Publishers (January 1, 1996)
Language: English
ISBN-10: 1560006226
ISBN-13: 978-1560006220
Product Dimensions: 6.3 x 9.2 inches
Shipping Weight: 1 pounds

I am building a bibtex database and am expecting in the long term to track ISBN-13 numbers as the publishing industry switches over (...any decade now...). I am curious how the proper way to store these numbers would be.

My current bibtex entry is:

@book{drucker1959landmarks,
  title={Landmarks of Tomorrow: A Report on the New},
  author={Drucker, Peter},
  publisher={Transaction Publishers},
  year={1996},
  ISBN={1560006226},
  note={[original edition 1959]}
}

I suppose the new entry might be ISBN-13 or ISBN13 but I am looking for precidence on how to enter this.

2
  • It would be great if you could show us a use-case via a minimal working example (MWE). Specifically, this should highlight any bibliography-related packages you may be using.
    – Werner
    Jul 16 '14 at 23:38
  • Hope my additions to the question clarify the use case. I don't have any particular packages at this point, really just wanting advice on the best way to do this.
    – AgilePro
    Jul 16 '14 at 23:52
11

Standard bibtex styles cover only one type of ISBN (it does not matter if you use the 13 or 10 digit format).

With biblatex you can create new fields for bibtex entries, let us say ISBN13 and ISBN10. Then all you have to do is redefine how the isbn field is printed, e.g.,

\DeclareFieldFormat{isbn}{\textsc{isbn}~\printfield{isbn13}}

or you can create option switches or whatever your need.

The MWE below illustrates how to create the fields and redefine the isbn field.

\documentclass{article}
\usepackage{filecontents}
\usepackage[isbn=true]{biblatex}
\begin{filecontents}{\jobname.bib}
@book{drucker1959landmarks,
  title={Landmarks of Tomorrow: A Report on the New},
  author={Drucker, Peter},
  publisher={Transaction Publishers},
  year={1996},
  isbn={1560006226},
  ISBN10={1560006226},
  ISBN13={978-1560006220},
  note={[original edition 1959]}
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{filecontents}{biblatex-dm.cfg}
\DeclareDatamodelFields[type=field,datatype=literal]{isbn10,isbn13}
\DeclareDatamodelEntryfields[book]{isbn10,isbn13}
\end{filecontents}

\DeclareFieldFormat{isbn}{\textsc{isbn-13}~\printfield{isbn13}, \textsc{isbn-10}~\printfield{isbn10}}

\title{title}
\author{A.U. Thor}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

enter image description here

2
  • Nice. I would further make 10 and 13 sub-,superscript, or any other visual marker to distinguish from the following numbers.
    – percusse
    Jul 17 '14 at 9:14
  • It is important to note that the isbn field needs to be declared in the book entry. Otherwise, neither isbn10 nor isbn13 will be printed.
    – gfe
    May 5 '20 at 13:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.