Giter Club home page Giter Club logo

Comments (6)

rpspringuel avatar rpspringuel commented on June 10, 2024 1

Okay, what I was doing didn't take as long as I thought so here goes:

Take the following entry as the sample:

@book{Adamczewski_2016,
 author = {Bartosz Adamczewski},
 doi = {10.3726/978-3-653-06278-6},
 month = {jan},
 publisher = {Peter Lang},
 title = {The Gospel of Luke},
 url = {https://doi.org/10.3726%2F978-3-653-06278-6},
 year = 2016,
}

This entry was created by downloading it directly from the Cite function on CrossRef (so I know the information will match exactly what betterbib will find). Run this through betterbib and it comes out:

@book{Adamczewski_2016,
 author = {Adamczewski, Bartosz},
 doi = {10.3726/978-3-653-06278-6},
 isbn = {9783653062786, 9783653959987, 9783653959970, 9783631667200},
 month = jan,
 publisher = {Peter Lang},
 source = {Crossref},
 title = {The Gospel of {Luke}},
 url = {http://dx.doi.org/10.3726/978-3-653-06278-6},
 year = {2016},
}

So far so good. However, let's introduce an error in the entry by removing the last letter of the author's last name:

@book{Adamczewski_2016,
 author = {Bartosz Adamczewsk},
 doi = {10.3726/978-3-653-06278-6},
 month = {jan},
 publisher = {Peter Lang},
 title = {The Gospel of Luke},
 url = {https://doi.org/10.3726%2F978-3-653-06278-6},
 year = 2016,
}

Now I get:

@book{Adamczewski_2016,
 author = {Adamczewsk, Bartosz},
 doi = {10.3726/978-3-653-06278-6},
 isbn = {9783653062786, 9783653959987, 9783653959970, 9783631667200},
 month = jan,
 publisher = {Peter Lang},
 source = {Crossref},
 title = {The Gospel of {Luke}},
 url = {http://dx.doi.org/10.3726/978-3-653-06278-6},
 year = {2016},
}

The misspelling has persisted and so betterbib hasn't actually fixed the entry properly. Instead, all it has done is add the information which CrossRef doesn't make available in its Cite link, but which betterbib does get as part of its query.

Correction: Casing of the field name has nothing to do with the error. I tried it again with all lowercase field names and the misspelled name still wasn't corrected.

from betterbib.

nschloe avatar nschloe commented on June 10, 2024

I made sure now that keys which are there in the original bibtex file are preserved through the sync. This should fix it.

from betterbib.

rpspringuel avatar rpspringuel commented on June 10, 2024

While not as generally applicable as a "do-not-change" list would have been, simply preserving the keys suits my purposes. Thanks.

from betterbib.

rpspringuel avatar rpspringuel commented on June 10, 2024

Hmm... May have spoken too soon. It seems that some fields are "preserved" even when corrected information is found on CrossRef.

I don't have time to work out all the details of what is going on at the moment, but my best guess is as follows:
This may have to do with case matching as field names in my original file are all initial caps, but betterbib uses all lowercase (i.e. Author vs. author). As a result Author is thought to be a field which is not present in the information collected from CrossRef, but when added, it overwrites the author field.

If you need more information, I'll try to set aside some time this weekend to look into this further.

from betterbib.

nschloe avatar nschloe commented on June 10, 2024

Nicely worked out. I'm looking at it now.

from betterbib.

nschloe avatar nschloe commented on June 10, 2024

Fixed that; update to betterbib 3.0.1.

from betterbib.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.