{"id":30985189,"url":"https://github.com/sebhoof/bibcom","last_synced_at":"2026-05-15T21:02:58.389Z","repository":{"id":163728880,"uuid":"485510848","full_name":"sebhoof/bibcom","owner":"sebhoof","description":"A simple tool for generate missing BibTeX entries.","archived":false,"fork":false,"pushed_at":"2024-09-12T09:41:57.000Z","size":90,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-04T21:48:29.436Z","etag":null,"topics":["automation","bibliography","bibtex","latex","publishing","referencing","science"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sebhoof.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-04-25T19:40:53.000Z","updated_at":"2024-09-12T09:42:00.000Z","dependencies_parsed_at":"2025-04-11T22:52:02.157Z","dependency_job_id":"09d3bf5c-21dc-42e9-8d3f-c992122eceeb","html_url":"https://github.com/sebhoof/bibcom","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/sebhoof/bibcom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebhoof%2Fbibcom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebhoof%2Fbibcom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebhoof%2Fbibcom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebhoof%2Fbibcom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sebhoof","download_url":"https://codeload.github.com/sebhoof/bibcom/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebhoof%2Fbibcom/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274816952,"owners_count":25355225,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-12T02:00:09.324Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","bibliography","bibtex","latex","publishing","referencing","science"],"created_at":"2025-09-12T13:04:31.768Z","updated_at":"2026-05-15T21:02:58.315Z","avatar_url":"https://github.com/sebhoof.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eBibCom \u0026ndash; a BibTeX bibliography creator\u003c/h1\u003e\n\n[![DOI](https://zenodo.org/badge/485510848.svg)](https://zenodo.org/badge/latestdoi/485510848) [![Licence: MIT](https://img.shields.io/badge/Licence-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\nBibCom simplifies the creation of a BibTeX bibliography for scientific papers, specifically in physics.\nThe tool automatically generates BibTeX entries from ADS or INSPIRE for missing citations in LaTeX documents.\nThe new BibTeX entries are copied to the clipboard (useful for online tools such as [Overleaf](https://www.overleaf.com)) or appended to a local BibTeX file.\n\n\n## Introduction\n\nCreating a BibTeX bibliography is necessary but tedious.\nDatabases such as [NASA/ADS](https://adsabs.harvard.edu) or [HEP INSPIRE](https://inspirehep.net/) provide an immense help, but adding new entries a few at a time is still time-consuming.\nThe same is true for adjusting the bib file accordingly to match the preferred citation key style.\n\nEnter BibCom! This tool automatically generates bib entries for missing citations from the \u0026ldquo;missing citation\u0026rdquo; entries from the `.log` file.\nNew bib entries will be copied to the clipboard or appended to a local bib file.\nThe only requirement is that the citation keys correspond to _any_ combination of the following persistent identifiers:\n\n- an [arXiv](https://arxiv.org/) preprint number (with or without `arXiv:` in front)\n- a DOI (with or without `doi:` in front)\n- a [HEP INSPIRE](https://inspirehep.net/) key\n- a [NASA/ADS](https://ui.adsabs.harvard.edu/) key \n\nThe recommended database for queries is ADS, but INSPIRE can be used as a fallback option.\nTo query ADS, you need to create a free account and generate an API token, [as explained below](#recommended-additional-steps).\n\n## Installation\n\nClone the repository and ensure that the following Python packages are installed: `numpy`, `pyperclip`, and `requests`.\nIf in doubt, run\n```\npython -m pip install numpy pyperclip requests\n```\n\n### Recommended additional steps\n\nCreate an ADS account [here](https://ui.adsabs.harvard.edu/user/account/register).\nYou can then generate the API token under `Account -\u003e Settings -\u003e API Token`.\nPaste it into a plain text such as `my.token` in your local BibCom folder.\nAs an added benefit, you may be intersted in creating custom email alerts for new arXiv preprints with ADS.\n\n\n## How to use BibCom\n\nCompiling your LaTeX paper `[main].tex` creates a log file named `[main].log` in the in the same folder.\nIf you are using [Overleaf](https://www.overleaf.com), it can be downloaded after clicking on the \u0026ldquo;Logs and output files\u0026rdquo;, scrolling down and clicking on \u0026ldquo;Other logs and files\u0026rdquo;.\n\nThen simpliy update your bibliography as needed with Bibcom until you are ready to submit.\nAt that point, you may want to check your bibliography for duplicates (see [Complete overview](#complete-overview)).\n\n### Quickstart\n\nTo query the INSPIRE database, simply run\n```\npython compile_bib.py [main].log\n```\nand paste the results into your bib file (using Ctrl+V, Cmd+V, or right click -\u003e paste).\nIf you provide your ADS API in a file `my.token` or via the environment variable `ADS_API_TOKEN`, the ADS database will be queried instead.\n\n### Complete overview\n\nThe full range of options for `compile_bib.py` also allows for adding the name of a bib file `/some/folder/to/my.bib` and/or the name of a file `my.token` containing your ADS API:\n```\npython compile_bib.py [main].log my.token /some/folder/to/my.bib\n```\nIn this case, the new bib entires will be additionally appended to the file.\nIf the file `/some/folder/to/my.bib` does not exist, it will be created.\nWhen providing a bib file name, BibCom will automatically check for duplicates.\n\nNote that the order of the arguments and the names of the files do _not_ matter as long as the files end in `.log`, `.bib`, and `.token`. For example, any of the below will work:\n```\npython compile_bib.py my.token [main].log\npython compile_bib.py [main].log my.token\npython compile_bib.py /some/folder/to/my.bib [main].log my.token\n```\n\nADS BibTeX entries use LaTeX macros for some journal names, as described [here](https://ui.adsabs.harvard.edu/help/actions/journal-macros).\nThis contains the file [jdefs.tex](jdefs.tex), which you can download and include in your LaTeX preamble via `\\include{jdefs}` to replace the macros.\nAlternatively, you can supply [jdefs.tex](jdefs.tex) \u0026mdash; or any other `.tex` file in the same format \u0026mdash; as an argument.\nBibCom will then replace all macros in the bibliography accordingly:\n```\npython compile_bib.py [main].log jdefs.tex\n```\n\nTo check an exiting bib file `/some/folder/to/my.bib` for duplicates, run\n```\npython check_bib.py /some/folder/to/my.bib\n```\nThe check is based on arXiv/eprint IDs and DOIs.\nThe code will print the names of any duplicates that the user needs to fix.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebhoof%2Fbibcom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsebhoof%2Fbibcom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebhoof%2Fbibcom/lists"}