3

I am struggling identifying which elements of a bibtex entry are missing, since when I compile the pdf output shows some entries with ???, for example:

enter image description here

This is the output for

@book{friedman2016introduction,
  title={Introduction to Apache Flink: Stream Processing for Real Time and Beyond},
  author={Friedman, E. and Ellen Friedman, M.D. and Tzoumas, K.},
  isbn={9781491977163},
  lccn={2017385514},
  year={2016},
  publisher={O'Reilly Media}
}

When facing this kind of problems, how could I identify which entry is missing?

Here is what I see on the .bbl file:

metafiles/bmc_article.bbl:\bpublisher{O'Reilly Media}, \blocation{???}
  • 2
    From blocation I'm guessing you are missing the address field. Your BibTeX log (.blg) should contain more warnings or error messages. – moewe Oct 8 '18 at 11:05
  • 3
    Odd-topic: you should check the author list - this book seems to have 2 authors only – user36296 Oct 8 '18 at 11:08
  • The ISBN number is 978-1491976586 (checked to correspond to the book). The book has only two authors. The ISBN 9781491977163 is syntactically correct, but corresponds to nothing. – egreg Oct 8 '18 at 11:25
  • 2
    If the style outputs \blocation when there is no address field, the obvious way to resolve that issue is by providing the address data. Published books should have that information on the cover page, you usually take the location of the publisher. The book behind the link definitely has only two authors as can be seen on the cover, the data exported to the .bib file is incorrect. Unfortunately that happens quite often, see tex.stackexchange.com/q/386053/35864 – moewe Oct 8 '18 at 15:04
  • 1
    Add the field: address={Sebastopol, CA, USA} – user94293 Oct 8 '18 at 17:40
8

An internet search suggests that \blocation is used by several .bst files written by VTeX for various customers (see https://github.com/search?p=1&q=blocation+extension%3Abst+user%3Avtex-soft&type=Code). Going by the file name of your .bbl I guess you might be using bmc-mathphys.bst from https://www.biomedcentral.com/getpublished/writing-resources/additional-files which was also written by VTeX. The file contains

  address empty$
    { publisher empty$
        {howpublished} 
        {springer.publisher} 
      if$ 
       "publisher" make.tag
      #1 bother =
        {", \blocation{???}" *  }
        'skip$
       if$
       output   
    }
    {
      publisher empty$
        {howpublished } 
        {springer.publisher } 
       if$ 
      "publisher" make.tag output
      insert.comma
      address "location" make.tag output
    }
  if$

which shows that the file will output \blocation{???} to the .bbl if no address field is provided and the bother flag is set to one.

Note that the file does not issue a regular BibTeX warning as is customarily done by the standard styles in such cases. For example plain.bst has

number empty$
  'skip$
  { "(" number * ")" * *
    volume empty$
      { "there's a number but no volume in " cite$ * warning$ }
      'skip$
    if$
  }
if$

All that means that there is no real way of telling why you get question marks in your output other than going back to the .bbl and finding that they are produced by \blocation{???} and then going to the .bst and finding out that \blocation{???} is written to the .bbl if the address field is missing. Of course you might have guessed that already by the name of the command (incidentally location is the biblatex name of the address field).

So to solve the issue you should provide an address for the publisher, probably something like

address={Sebastopol, Calif.}

As discussed in the comments you will also want to check the author field of that work. The full entry should probably read

@book{friedman2016introduction,
  title     = {Introduction to Apache Flink: Stream Processing for Real Time and Beyond},
  author    = {Friedman, Ellen and Tzoumas, Kostas},
  isbn      = {9781491977163},
  year      = {2016},
  publisher = {O'Reilly Media}
  address   = {Sebastopol, Calif.}
}
  • +1 for all the detective work :) – user36296 Oct 11 '18 at 9:08

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.