bibcure / doi2bib

get the bibtex string given a doi
https://doi2bib.readthedocs.io/
MIT License
186 stars 27 forks source link

why doi2bib does not give the journal name? #11

Open Sayed-AbdelRahman opened 3 years ago

Sayed-AbdelRahman commented 3 years ago

I tried the following command, and no longer journal name appears with the current version of bibcure.

doi2bib 10.1016/j.jenvrad.2016.08.002

and the result is as follows.

@article{2016, doi = {10.1016/j.jenvrad.2016.08.002}, url = {https://doi.org/10.1016%2Fj.jenvrad.2016.08.002}, year = 2016, month = {nov}, publisher = {Elsevier {BV}}, volume = {164}, pages = {232--238}, author = {Jonathan L. Burnett and Brian D. Milbrath}, title = {Radionuclide observables for the Platte underground nuclear explosive test on 14 April 1962} }

Previously, it works well.

Can anyone help me to solve this issue?

aageo25 commented 3 years ago

I am having the same issue here. Note that the author last name does not appear in the bibkey as well. First I thought that it could be something with my python installation, but then I created a fresh python virtual environment in another machine and installed only doi2bib. To my surprise, the bug was reproduced. As @Sayed-AbdelRahman said, it was working perfectly a few weeks ago (it was surely working in June).

tkarna commented 3 years ago

I have the same issue.

adigitoleo commented 3 years ago

I just found this tool and I'll have to look at the implementation more when I get time, maybe I can figure out what is going wrong. For now, If anyone is interested I have a python script here which works in a similar way, and it includes the journal names:

❮ doi2bib '10.1016/j.jenvrad.2016.08.002'
@article{Burnett_2016,
    doi = {10.1016/j.jenvrad.2016.08.002},
    url = {https://doi.org/10.1016%2Fj.jenvrad.2016.08.002},
    year = 2016,
    month = {nov},
    publisher = {Elsevier {BV}},
    volume = {164},
    pages = {232--238},
    author = {Jonathan L. Burnett and Brian D. Milbrath},
    title = {Radionuclide observables for the Platte underground nuclear explosive test on 14 April 1962},
    journal = {Journal of Environmental Radioactivity}
}

You can also give a file containing one doi link per line (use the -f option). Hope it helps at least temporarily.

adigitoleo commented 3 years ago

Well, that's weird. I'm now having the same issue with my script:

@article{2016,
    doi = {10.1016/j.jenvrad.2016.08.002},
    url = {https://doi.org/10.1016%2Fj.jenvrad.2016.08.002},
    year = 2016,
    month = {nov},
    publisher = {Elsevier {BV}},
    volume = {164},
    pages = {232--238},
    author = {Jonathan L. Burnett and Brian D. Milbrath},
    title = {Radionuclide observables for the Platte underground nuclear explosive test on 14 April 1962}
}

Maybe something strange is happening with the crossref API. For now, it looks like the only reliable way to get bibtex entries is to go to the crossref website and search for a DOI, then click on "Actions>Cite" and copy the text from the popup.

adigitoleo commented 2 years ago

Seems to be working again now using the API. If the maintainers of this package want to use my script I am happy for that to happen, probably not going to create the PR myself however. Note that I used Python's urllib so there are no dependencies in my implementation.

I tried to check the crossref tracker, but GitLab has a very interesting idea about how to market their service: 20211215_18h22m59s_grim Needless to say, I'm not digging through 80+ open bugs just to see if this was reported. And no, I'm not creating an account for the privilege of using a string matching algo, mate.

mistune commented 1 year ago

@adigitoleo You are a lifesaver!