davidagraf / doi2bib2

346 stars 23 forks source link

Wrong date for Springer print journal articles #25

Open sebawild opened 4 years ago

sebawild commented 4 years ago

Springer publishes articles “online first” when they are accepted; this is also the time at which the article gets assigned a DOI. Eventually, the article appears in a (printed) issue, and from then on, the date of that print issue should be the official publication date.

For example, consider this doi 10.1007/s00453-019-00634-0. doi2bib produces

@article{Edelkamp2019,
  doi = {10.1007/s00453-019-00634-0},
  url = {https://doi.org/10.1007/s00453-019-00634-0},
  year = {2019},
  month = oct,
  publisher = {Springer Science and Business Media {LLC}},
  volume = {82},
  number = {3},
  pages = {509--588},
  author = {Stefan Edelkamp and Armin Wei{\ss} and Sebastian Wild},
  title = {{QuickXsort}: A Fast Sorting Scheme in Theory and Practice},
  journal = {Algorithmica}
}

but Springer lists as the offical version:

Cite this article Edelkamp, S., Weiß, A. & Wild, S. QuickXsort: A Fast Sorting Scheme in Theory and Practice. Algorithmica 82, 509–588 (2020). https://doi.org/10.1007/s00453-019-00634-0

Note that doi2bib picks up the issue number etc correctly, but then mixed that with the wrong year and month. It is particular this inconsistency that is problematic.

gerw commented 4 years ago

This seems to be a bug of doi.org, since curl -LH "Accept: application/x-bibtex" "http://dx.doi.org/10.1007/s00453-019-00634-0" yields

@article{Edelkamp_2019,
        doi = {10.1007/s00453-019-00634-0},
        url = {https://doi.org/10.1007%2Fs00453-019-00634-0},
        year = 2019,
        month = {oct},
        publisher = {Springer Science and Business Media {LLC}},
        volume = {82},
        number = {3},
        pages = {509--588},
        author = {Stefan Edelkamp and Armin Wei{\ss} and Sebastian Wild},
        title = {{QuickXsort}: A Fast Sorting Scheme in Theory and Practice},
        journal = {Algorithmica}
}

and doi2bib2 just wraps around this functionality.