/persid

Persistent identifier library for GNU Emacs

Primary LanguageEmacs LispGNU General Public License v3.0GPL-3.0

Persistent Identifier Library

The Persistent Identifier Library allows to manipulate persistent identifiers that are used to locate scholar resources online. The library knows about the following formats:

Given an identifier in one of the known formats, the libray can query information about the resources and format it as a bibtex entry. To do so, the library primarily use the crossref.org API (doi,pmid, pcmi), openalex.org API (issn), arxiv API (arxiv) and OpenLibrary (isbn) Unfortunately, OpenLibrary is far from being complete and a lot of ISBN records are missing.

The main function is the interactive persid-insert-bibtex function that accept a single identifier and return the corresponding bibtex inserting it into the buffer. To do that, the format of the identifier is first identified and normalized (if needed), then the correspoding bibtex is queried online:

See also: Information Studies: APIs for scholarly resources

Example usage

(persid-insert-bibtex "arxiv:2008.06030")
@Article{2020arXiv200806030R,
       author = {{Rougier}, Nicolas P.},
        title = "{On the design of text editors}",
      journal = {arXiv e-prints},
     keywords = {Computer Science - Human-Computer Interaction},
         year = 2020,
        month = aug,
          eid = {arXiv:2008.06030},
        pages = {arXiv:2008.06030},
archivePrefix = {arXiv},
       eprint = {2008.06030},
 primaryClass = {cs.HC},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2020arXiv200806030R},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

Related work

  • biblio.el makes it easy to browse and gather bibliographic references and publications from various sources, by keywords or by DOI. References are automatically fetched from well-curated sources, and formatted as BibTeX.
  • org-ref makes it easy to insert citations, cross-references, indexes and glossaries as hyper-functional links into org files. The links are fontified so you can tell them apart from other links, and each link is clickable to access functions like opening a pdf, notes or url associated with the link. Each link also can be exported to LaTeX to build a PDF. For citations, export to other formats is supported by citeproc for high quality export to HTML, markdown, plain text, or stand-alone (i.e. independent of a bibtex file) LaTeX.
  • org-capture-ref extends org-ref’s idea to auto-retrieve BiBTeX from scientific paper links. Instead of limiting BiBTeX generation to research purposes (scientific articles and books), this package auto-generates BiBTeX for any possible web link (Youtube videos, blog posts, reddit threads, etc).
  • bookiez is a library for looking up ISBNs via the Google Book API, displaying the result, and maintaining a database of books.
  • zotra provides functions to get bibliographic information from a url and save it into a bibtex file. It also provides a way to obtain a list of attachments (e.g. PDF files) associated with a url. This is done using Zotero translators, but without using the Zotero client.
  • biblio-zotero retrieves and insert BibTeX records from various sources by using Zotero translation server. Calling biblio-zotero-insert-bibtex will forward the provided URL to the server and insert a formatted BibTeX entry in the current buffer.
  • Citar provides a highly-configurable completing-read front-end to browse and act on BibTeX, BibLaTeX, and CSL JSON bibliographic data, and LaTeX, markdown, and org-cite editing support.
  • biblio-openlibrary provides an OpenLibrary backend for biblio.el, allowing to interactively browse and gather bibliographic entries from OpenLibrary by ISBN.