Package: rebiber
Rebiber: A tool for normalizing bibtex with official info.We often cite papers using their arXiv versions without noting that they are alreadyPUBLISHEDin some conferences. These unofficial bib entries might violate rules about submissions or camera-ready versions for some conferences.
We introduceRebiber, a simple tool in Python to fix them automatically. It is based on the official conference information from theDBLPorthe ACL anthology(for NLP conferences)! You can check the list of supported conferenceshere.
Apart from handling outdated arXiv citations,Rebiberalso normalizes citations in a unified way (DBLP-style), supporting abbreviation and value selection.Thisis a beta version of ourweb appfor Rebiber (still under development).
You can also usethis google colab notebookas a simple web demo.Changelog2021.09.06We fixed a few minor bugs and added features such as sorting and urls to arXiv (if the paper is not in any conferences; thanks to@nicola-decao). We also updated the ACL anthology bib/json to the latest version as well as other conferences.2021.05.30We build abeta versionof ourweb app for Rebiber; add new conferences to our dataset; fix a few minor bugs.2021.02.08We now support multiple useful features: 1) turning off some certain values, e.g., "-r url,pages,address" for removing the values from the output, 2) using abbr. to shorten the booktitle values, e.g.,Proceedings of the .* Annual Meeting of the Association for Computational Linguistics-->Proc. of ACL. More examples arehere.2021.01.30We build a colab notebook as a simple web demo.linkInstallation# pip install rebiber -U # for the stable versionpipinstall-egit+https://github.com/yuchenlin/rebiber.git#egg=rebiber-U
rebiber--update# update the bib data and the abbr. info  (using wget)ORgitclonehttps://github.com/yuchenlin/rebiber.gitcdrebiber/
pipinstall-e.If you would like to use the latest github version with more bug fixes, please use the second installation method.Usage（v1.1.3）Normalize your bibtex file with the official conference information:rebiber-i/path/to/input.bib-o/path/to/output.bibYou can find a pair of example input and output files inrebiber/example_input.bibandrebiber/example_output.bib.argumentusage-ior--input_bib.  The path to the input bib file that you want to update-oor--output_bib.  The path to the output bib file that you want to save. If you don't specify any-othen it will be the same as the-i.-ror--remove. A comma-separated list of value names that you want to remove, such as "-r pages,editor,volume,month,url,biburl,address,publisher,bibsource,timestamp,doi". Empty bydefault.-sor--shorten. A bool argument that is"False"bydefault, used for replacingbooktitlewith abbreviation in-a. Used as-s True.-dor--deduplicate. A bool argument that is"True"bydefault, used for removing the duplicate bib entries sharing the same key. Used as-d True.-lor--bib_list. The path to the list of the bib json files to be loaded. Checkrebiber/bib_list.txtfor the default file. Usually you don't need to set this argument.-aor--abbr_tsv. The list of conference abbreviation data. Checkrebiber/abbr.tsvfor the default file. Usually you don't need to set this argument.-uor--update. Update the local bib-related data with the latest Github version.-vor--version. Print the version of current Rebiber.-stor--sort. A bool argument that is"False"bydefault. used for keeping the original order of the bib entries of the input file. By setting it to be"True", the bib entries are ordered alphabetically in the output file. Used as-st True.Example Input and OutputAn example input entry with the arXiv information (from Google Scholar or somewhere):@article{lin2020birds,title={Birds have four legs?! NumerSense: Probing Numerical Commonsense Knowledge of Pre-trained Language Models},author={Lin, Bill Yuchen and Lee, Seyeon and Khanna, Rahul and Ren, Xiang},journal={arXiv preprint arXiv:2005.00683},year={2020}}An example normalized output entry with the official information:@inproceedings{lin2020birds,title="{B}irds have four legs?! {N}umer{S}ense: {P}robing {N}umerical {C}ommonsense {K}nowledge of {P}re-{T}rained {L}anguage {M}odels",author="Lin, Bill Yuchen  andLee, Seyeon  andKhanna, Rahul  andRen, Xiang",booktitle="Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP)",month=nov,year="2020",address="Online",publisher="Association for Computational Linguistics",url="https://www.aclweb.org/anthology/2020.emnlp-main.557",doi="10.18653/v1/2020.emnlp-main.557",pages="6862--6868",}Supported ConferencesThebib_list.txtcontains a list of converted json files of the official bib data. In this repo, we now support the fullACL anthology, i.e., all papers that are published at *CL conferences (ACL, EMNLP, NAACL, etc.) as well as workshops.
Also, we support any conference proceedings that can be downloaded from DBLP, for example, ICLR2020.The following conferences are supported and their bib/json files are in ourdatafolder. You can turn each item on/off inbib_list.txt.Please feel free to create PR for adding new conferences followingthis!NameYearsACL Anthology(until 2021-09)AAAI2010 -- 2020AISTATS2013 -- 2020ALENEX2010 -- 2020ASONAM2010 -- 2019BigDataConf2013 -- 2019BMVC2010 -- 2020CHI2010 -- 2020CIDR2009 -- 2020CIKM2010 -- 2020COLT2000 -- 2020CVPR2000 -- 2020ICASSP2015 -- 2020ICCV2003 -- 2019ICLR2013 -- 2020ICML2000 -- 2020IJCAI2011 -- 2020KDD2010 -- 2020MLSys2019 -- 2020MM2016 -- 2020NeurIPS2000 -- 2020RECSYS2010 -- 2020SDM2010 -- 2020SIGIR2010 -- 2020SIGMOD2010 -- 2020SODA2010 -- 2020STOC2010 -- 2020UAI2010 -- 2020WSDM2008 -- 2020WWW (The Web Conf)2001 -- 2020Thanks forAnton Tsitsulin's great work on collecting such a complete set bib files!Adding a new conferenceYou can manually add any conferences from DBLP by downloading their bib files to ourraw_datafolder, and run a prepared scriptadd_conf.sh.Take ICLR2020 and ICLR2019 as an example:Step 1: Go toDBLPStep 2: Download the bib files, and put them here asraw_data/iclr2020.bibandraw_data/iclr2019.bib(name should be in the format as {conf_name}{year}.bib)Step 3: Run scriptbashadd_conf.shiclr20192020ContactPlease emailyuchen.lin@usc.eduor create Github issues here if you have any questions or suggestions.