1

I am migrating to a new computer setup, and when I installed JabRef 3.8.2 I found that it could not read the .bib files created by JabRef 3.0. Only 991 out of 3140 entries appear, and there's an error message (see end of this post).

I have looked at the supposedly bad lines in a text editor, and I really don't see any missing commas. But that's what you would expect, because I never edit the .bib file by hand, it's generated by JabRef.

Is there a way to fix the problem? I'm recovering from typing pain, so I will be trying the less typing-intensive methods first.

Here's the error message:

1. Error occurred when parsing entry: 'Error in line 4815 or above: Empty text token.
This could be caused by a missing comma between two fields.'. Skipped entry.
2. Error occurred when parsing entry: 'Error in line 6304 or above: Empty text token.
This could be caused by a missing comma between two fields.'. Skipped entry.
3. Error occurred when parsing entry: 'Error in line 6393 or above: Empty text token.
This could be caused by a missing comma between two fields.'. Skipped entry.
4. Error occurred when parsing entry: 'Error in line 6904 or above: Empty text token.
This could be caused by a missing comma between two fields.'. Skipped entry.
5. Error occurred when parsing entry: 'Error in line 8560 or above: Empty text token.
This could be caused by a missing comma between two fields.'. Skipped entry.
6. Error occurred when parsing entry: 'Error in line 9697 or above: Empty text token.
This could be caused by a missing comma between two fields.'. Skipped entry.
7. Error occurred when parsing entry: 'Error in line 13249 or above: Empty text token.
This could be caused by a missing comma between two fields.'. Skipped entry.
8. Error occurred when parsing entry: 'Error in line 13646 or above: Empty text token.
This could be caused by a missing comma between two fields.'. Skipped entry.
9. Error occurred when parsing entry: 'Error in line 14067 or above: Empty text token.
This could be caused by a missing comma between two fields.'. Skipped entry.
10. Error occurred when parsing entry: 'Error in line 15177 or above: Empty text token.
This could be caused by a missing comma between two fields.'. Skipped entry.
11. Error occurred when parsing entry: 'Error in line 15530 or above: Empty text token.
This could be caused by a missing comma between two fields.'. Skipped entry.
12. Error occurred when parsing entry: 'Error in line 16010 or above: Empty text token.
This could be caused by a missing comma between two fields.'. Skipped entry.
13. Error occurred when parsing entry: 'Error in line 51479: EOF in mid-string'. Skipped entry.

Additional information requested

Here is a link to my complete .bib file.

Here is the first entry that generated an error:

@Book{burzio.1994,
  Title                    = {{P}rinciples of {E}nglish {S}tress},
  Author                   = {Burzio, L.},
  Publisher                = {Cambridge University Press},
  Year                     = {1994},
  Address                  = {Cambridge, UK},
  Keywords                 = {phonology, stress, },
  Lccn                     = {Requested Borrow Direct 8 May 2008, 7 Nov 2008. },
  Owner                    = {Word},
  Timestamp                = {2009.07.31}
}
  • 1
    Welcome to TeX.SX! Please post a minimal example file producing that error. – TeXnician Apr 25 '17 at 6:22
  • 2
    might be a unicode problem but still I think you need to contact Jabref developers about this. Without examples we have no idea what jabref does. – percusse Apr 25 '17 at 6:31
  • Can you show us one of the entries that was not imported correctly and caused an error? My first thought also was an encoding issue. Can you set the encoding for your files in JabRef? If you are genuinely concerned this is a bug, ask the developers (github.com/JabRef/jabref). The JabRef help forum (discourse.jabref.org/c/help) might also be a good place to ask. – moewe Apr 25 '17 at 7:06
  • 3
    Please file an issue at github.com/JabRef/jabref/issues and attach your bib file. You can also send the bibfile to jabrefmail+webfeedback@gmail.com and it will be treated confidential. – koppor Apr 25 '17 at 7:35
  • 2
3

Since I am the someone who solved your problem at JabRef's issue tracker which you linked above, I'll add my solving answer from github directly here to this site. This makes tex.stackechange a little more self-contained.

I had a look into your file and found at least one entry with an error in it, I assume the remaining problems are of similar nature. Here's the problematic entry:

@Article{burrows.2007,
  Title                    = {{A}ll the way through: {T}esting for authorship in different frequency strata.\},
  Author                   = {Burrows, John.},
  Journal                  = {Literary and Linguistic Computing},
  Volume                   = {22},
  Year                     = {2007},
  Number                   = {1},
  Abstract                 = {Not very readable. Basic premise is that the most and least frequent
    words aren't so good as a guage, but maybe the middling frequency
    words will work as an indication of an author's style. I suppose
    the word 'stipulate' might never appear in my academic writing, but
    it would in Robert A. Heinlein's. That idea is useful, but I didn't
    understand the mechanics of his specific tests for them.},
  Endnotereftype           = {Journal Article},
  Keywords                 = {computational, stylometry},
  Owner                    = {EN},
  Shorttitle               = {All the way through: Testing for authorship in different frequency strata.},
  Timestamp                = {2009.08.06}
}

The problem is in the title field that ends with \}. The backslash escapes the curly brace, which causes JabRef to ignore it during the parsing and results in an error. If you remove the backslash, the entry is loaded fine.

As far as my knowledge goes, JabRef is correct in rejecting this entry. Why JabRef 3.0 ever serialized it in this way, I cannot tell, but I guess this was a bug (that should not happen anymore).

My recommendation to you is to inspect the file in a text editor, search for occurrences of \} and delete the backslash. As you mentioned on github, this solved your problem.

2

Someone has solved my problem!

https://github.com/JabRef/jabref/issues/2799#issuecomment-297441786

  • Could you please accept @jorgl's answer? – koppor Apr 27 '17 at 8:14
  • 1
    Done. Thanks for letting the newbie know what she's supposed to do. :) – E-Ching Apr 27 '17 at 17:48
0

Note, that a similar issue can arise when you try to write the Polish "L with stroke" the wrong way.

Example: If you include the author name "Tałanda, A." as Ta{\{l}}anda, A. in line 5000 of your bibtex file, JabRef will report the following error:

1. Error occurred when parsing entry: 'Error in line 5000: Expected = but received a'. Skipped entry.

To avoid this error, you have to write the "L with stroke" as follows (without the "L" being enclosed in braces): Ta{\l}anda, A.

I just leave this here in case someone else encounters this issue.

  • 2
    Welcome to TeX.SX! Your error seems pretty straightforward, because you effectively let LaTeX typeset an opening curly brace and not a l. The problem is that the closing curly brace matches the author field's and this does affect the entry. So it duplicates the behaviour described in the accepted answer. – TeXnician May 31 '18 at 8:30
  • Indeed {\{l}} is always wrong if you want to produce an "ł". In a normal LaTeX document you would probably write just \l but in a .bib file for BibTeX you'd write {\l}, see tex.stackexchange.com/q/57743/35864. If you use Biber you would of course use UTF-8 and write ł. – moewe May 31 '18 at 13:18

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.