Create human readable bibliographic entry via DOI or other search keyword

In short: I want to give a DOI or another search keyword (e.g. words in a title). The result should be a human readable bibliographic entry like it would appear at the end of a book or scientific article.

Given the DOI 10.1145/2723872.2723881 as an example.

Depending on the used citation guidelines this is a “human readable” result the way I want it.

Luka Stanisic, Arnaud Legrand, and Vincent Danjean. 2015. An Effective Git And Org-Mode Based Workflow For Reproducible Research. SIGOPS Oper. Syst. Rev. 49, 1 (January 2015), 61–70. DOI:

Machine readable it would be this

author = {Stanisic, Luka and Legrand, Arnaud and Danjean, Vincent},
title = {An Effective Git And Org-Mode Based Workflow For Reproducible Research},
year = {2015},
issue_date = {January 2015},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {49},
number = {1},
issn = {0163-5980},
doi = {10.1145/2723872.2723881},
journal = {SIGOPS Oper. Syst. Rev.},
month = {jan},
pages = {61–70},
numpages = {10}

Maybe this question is not orgmode or orgroam related but I want to use this feature in my orgroam (Zettelkasten) files.

This question is not about bibliographic management (BM) functionality in orgmode or any other emacs related mode/package. But I assume that one of the BM modes are able to do that what I want. Because of that I also assume that I need to use one of the BM modes to get this feature but without creating a bib-database.

More background: I am well experience with BM software. I used JabRef (bib(la)tex based) and XeTeX for years. There are external reasons why I do not use them anymore. There is no need and no way currently to do my bibliographic management inside emacs. This wouldn’t help me.

The org-ref package provides some DOI fetching utilities, from which you can obtain the bib entry and generate the human-readable entry you want.

[quote=“jethro, post:2, topic:2304, full:true”]
The org-ref package provides some DOI fetching utilities, from which you can obtain the bib entry and generate the human-readable entry you want.[/quote]
It looks like that org-ref creates bibtex-entries only. You mean I have to write own lisp code to create my human readable format out of it myself?
To much for me at my current skill level. :wink: But I will keep it in mind.

Yeah most likely you’ll need to write your own function, but I can look into it briefly when I am at a computer.

@2mEuFY0iakxhveQ31, it seems the package Citar can do what I suppose you want to do.

It has a command citar-insert-reference, which brings up a completion interface to show entries from a BibTeX file, provided citar-bibliography is set appropriately. By default, one can search by authors, title, citation key and a few other things, but it’s also possible to configure citar-templates to include DOI, for example.

After selecting a candidate and pressing the enter key, a formatted reference will be inserted at point. The option citar-format-reference-function decides which engine will be used to format the reference.

The default citar-format-reference may not be exactly what you want. Change it to citar-citeproc-format-reference to unlock the full power of CSL. You’d also need to set citar-citeproc-csl-styles-dir and citar-citeproc-csl-locales-dir for everything to function properly. A huge selection of CSL styles can be found in the official Github repository.

The package Citar has been created by the same person who incepted the Citation Style Languange (CSL), @bruce!

1 Like

Note also there’s citar-copy-reference.

Yes, this.

You’d then be using the exact same formatting engine as the oc-csl org-cite export processor.

I am sorry, but Citar does not fit my needs because it read only from a bib file but do not search the internet (worldcat, etc). I have no bib-file here.

How about simply using something like this free web application and paste the result?

1 Like

Sorry, I misunderstood what you needed. Then indeed doi-utils perhaps piped through citar is what you’re looking for. That’s a matter of a small custom function.

There’s also biblio, though that grabs a bibtex entry for a doi, and so would need some additional code. You can actually use it with citar via embark-become.