

GitHub - cpitclaudel/biblio.el: Browse and import bibliographic references from...
source link: https://github.com/cpitclaudel/biblio.el
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md
biblio.el: An extensible Emacs package for browsing and fetching references
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.
Supported sources:
- CrossRef, an exhaustive academic search engine
- arXiv, an archive of pre-prints in various scientific fields
- DBLP, a database of Computer Science publications
- HAL, a French repository of Open Access publications
- IEEE Xplore, a database of Computer Science and Electrical Engineering materials
- doi.org, a DOI resolver (to retrieve BibTeX records from DOIs)
- CrossCite, an alternative DOI resolver and BibTeX formatting service
- Dissemin, a database tracking the open access status of scholarly articles
Usage
Quick start: M-x biblio-lookup
. Each source can also be accessed independently:
M-x crossref-lookup
to query CrossRefM-x arxiv-lookup
to query arXivM-x dblp-lookup
to query DBLPM-x hal-lookup
to query HALM-x ieee-lookup
to query IEEE XploreM-x doi-insert
to insert a BibTeX record by DOIM-x dissemin-lookup
to show information about the open access status of a particular DOI
These commands work together: for example, crossref-lookup
displays a
list of results in biblio-selection-mode
. In that mode, use:
RET
to visit the corresponding web pagec
orM-w
to copy the BibTeX record of the current entryi
orC-y
to insert the BibTeX record of the current entryx
to run an extended action, such as fetching a Dissemin record
C
and I
do the same as c
and i
, but additionally close the search window.
Examples
-
To insert a clean BibTeX entry for this paper in the current buffer, use
M-x crossref-lookup RET fiat deductive delaware RET i
(the last
i
inserts the BibTeX record of the currently selected entry in your buffer). -
To find publications by computer scientist Leslie Lamport, use
M-x dblp-lookup RET author:Lamport RET
(see more info about DBLP's syntax at http://dblp.uni-trier.de/search/) -
To check whether an article is freely available online, use
x
in the list of results. For exampleM-x crossref-lookup RET emacs stallman RET
followed byx Dissemin RET
will help you find open access copies of Stallman's paper on EMACS (spoiler: it's here).
Setup
Add MELPA to your package sources, then
use M-x package-install RET biblio RET
. To get better response
times from CrossRef, you
may consider customizing biblio-crossref-user-email-address
.
Extending biblio.el
Adding new backends
The extensibility mechanism is inspired by the one of company-mode. See the
docstring of biblio-backends
. Here is the definition of biblio-dblp-backend
,
for example:
;;;###autoload (defun biblio-dblp-backend (command &optional arg &rest more) "A DBLP backend for biblio.el. COMMAND, ARG, MORE: See `biblio-backends'." (pcase command (`name "DBLP") (`prompt "DBLP query: ") (`url (biblio-dblp--url arg)) (`parse-buffer (biblio-dblp--parse-search-results)) (`forward-bibtex (biblio-dblp--forward-bibtex arg (car more))) (`register (add-to-list 'biblio-backends #'biblio-dblp-backend)))) ;;;###autoload (add-hook 'biblio-init-hook #'biblio-dblp-backend)
Note how the autoload registers the backend without loading the entire file.
When biblio-lookup
is called by the user, it will run all functions in
biblio-init-hook
with 'register
as their first argument, and the dblp
backend will be added to the list of backends add that point.
Adding new actions
The selection mode menu has an extended action key, x
. The only extension at
the moment is Dissemin. Extensions cons
es (label . function)
added to
biblio-selection-mode-actions-alist
; function is called with the metadata of
the current entry when the user selects label
from the list of extensions
after pressing x
.
Recommend
-
73
Helm Dash What's it This package uses Dash docsets inside emacs to browse documentation. Here's an
-
80
THIS PROJECT IS NO LONGER MAINTAINED Reddit Terminal Viewer (RTV) A text-based interface (TUI) to view and interact with Reddit from your terminal.
-
30
README.md Company-coq
-
41
README.rst Quick-peek
-
59
readme.md GitHub History Browse the history of any file from GitHub with style
-
39
readme.md GitHub History Browse the history of any file from GitHub with style
-
67
README.md github-browse-file View the file you're editing in Emacs on GitHub. Installation: Available as a package in
-
25
Unlike fringes, margin indicators are not limited to bitmaps, so we can display images or characters or anything else that Emacs can display. The easiest way to try this out is M-x flycheck-set-indication-mode on this branch.Here's how it looks...
-
6
NLM Bibliographic data analysis 本文旨在分享经验给developer of NLM data.阅读此文需要的背景知识包括: LocatorPlus 美国国立医学图书馆的书目信息有好几个版本的数据库给不同的开发者,比如Catfile, CatfilePlus,Serfile...
-
7
[This is part two in a series — you should read part 1 first for context and then you might go on to
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK