Automatically dereference DOI to .bib?
Is there an established way to, given a list of DOI identifiers, produce a .bib file containing the citation information?
bibtex bibliographies doi
add a comment |
Is there an established way to, given a list of DOI identifiers, produce a .bib file containing the citation information?
bibtex bibliographies doi
6
Also note the inverse problem asked recently here
– Will Robertson
Dec 10 '10 at 4:14
add a comment |
Is there an established way to, given a list of DOI identifiers, produce a .bib file containing the citation information?
bibtex bibliographies doi
Is there an established way to, given a list of DOI identifiers, produce a .bib file containing the citation information?
bibtex bibliographies doi
bibtex bibliographies doi
asked Dec 10 '10 at 3:43
Tobin FrickeTobin Fricke
1,06411216
1,06411216
6
Also note the inverse problem asked recently here
– Will Robertson
Dec 10 '10 at 4:14
add a comment |
6
Also note the inverse problem asked recently here
– Will Robertson
Dec 10 '10 at 4:14
6
6
Also note the inverse problem asked recently here
– Will Robertson
Dec 10 '10 at 4:14
Also note the inverse problem asked recently here
– Will Robertson
Dec 10 '10 at 4:14
add a comment |
11 Answers
11
active
oldest
votes
Crossref has just enabled content-negotiation on their API, where they are able to generate bibtex. Here's an example from their blog
curl -LH "Accept: text/bibliography; style=bibtex" http://dx.doi.org/10.1038/nrd842
here's how you'd do it in Ruby
open("http://dx.doi.org/10.1038/nrd842","Accept" => "text/bibliography; style=bibtex"){|f| f.each {|line| print line}}
(from StackOverflow)
1
Sometimes I get such responses:<html><body><h1>503 Service Unavailable</h1> No server is available to handle this request. </body></html>
– math
Mar 12 '14 at 16:56
Forwget
crowd:wget -qO- --header "Accept: text/bibliography; style=bibtex" http://dx.doi.org/10.1038/nrd842
. This will print it to stdout. Remove the-qO-
to store it in file.
– Pouya
Feb 18 at 13:26
add a comment |
I stumbled over this issue and it annoyed me as well so I invested some time and came up with a VEEERRRYYY simple little webtool:
http://doi-to-bibtex.herokuapp.com
I might invest some more time at some point, but got now it just WORKS!!
Welcome to TeX.sx!
– lockstep
Nov 23 '12 at 9:44
4
the link is broken
– math
Mar 12 '14 at 16:46
add a comment |
There's also doi2bibtex
from betterbib (a pet project of mine),
$ doi2bibtex 10.1038/nrd842
@article{bibtex,
author = {Atkins, Joshua H. and Gershell, Leland J.},
doi = {10.1038/nrd842},
issn = {1474-1784},
journal = {Nature Reviews Drug Discovery},
month = jul,
number = {7},
pages = {491-492},
publisher = {Springer Nature},
source = {Crossref},
title = {From the analyst's couch: {Selective} anticancer drugs},
url = {http://dx.doi.org/10.1038/nrd842},
volume = {1},
year = {2002}
}
It's a bit more consistent than Crossref's API endpoint, for example in the conversion of the month item or the capitalization in titles.
add a comment |
Unfortunately, there is no any tools trying to dealing with this. I think it's nearly impossible. Because DOI
system is similar to URL
but more strictly. It's aiming to establish a unique permanent link system, which is not limited to published materials. Although it is used by many publishers.
Technically, from a DOI number, what we can get directly is only a redirect link, whose content can be organized in any style with any codes. To recognize them correctly, we need something like import filters of Zotero
but more.
add a comment |
It is possible to obtain the bibliographic information associated with a doi in XML format (except the abstract) via a web query to crossref.org. I've have been following instructions at
http://labs.crossref.org/site/quick_and_dirty_api_guide.html
and the service works as advertised.
this does not work for me: OpenURL-specific logins are no longer valid.
– Sebastian
Jun 21 '12 at 8:01
3
this link appears to be broken...
– Try Hard
Jul 29 '13 at 17:52
add a comment |
Hi the proper link to "doi2bibtex" is this url:
http://code.google.com/p/ocefpaf-python/source/browse/ocefpaf/doi2bibtex.py
The one list here is just the "wrapper" to the script.
In the end, this script is just an ugly hack to get the ADS database (with some prototype to other databases and google scholar.) Anyone interested in taking this forward is welcome, since I cannot afford the time for this project anymore.
2
The link is broken
– alfC
Oct 28 '13 at 3:04
add a comment |
I've found something of a solution. Mind you it's not brilliant. I recently had this problem and was quite frustrated with it.
I've been using this method (implemented in java) to extract the .bib from a doi using the crossref.org website. They have a query function which I've been abusing with cURL in order to extract the information from the xml returned. (It's not the best but it is a solution). N.B. crossref fails to look up the title. No idea why. I'll upload the Jar when I'm done.
add a comment |
BibSonomy is a website for reference management, similar to CiteULike. BibSonomy allows posting publications via DOI, afterwards you can download your complete library as a .bib file. If the DOI is displayed on a webpage, you can highlight it and post it with a bookmarklet.
add a comment |
Another crossref lookup (in python) -- even with titles! :)
different journals use different fields, this script works now with the journals i'm usually referencing to.
in order to produce a bibtex file, save the script e.g. as doi2bib.py and run python doi2bibtex.py DOI1 DOI2 DOI3 etc > mybibtexfile.bib
(under linux; there should be an equivalent possibility for windows)
There's a Ruby "translation" available here as well.
add a comment |
I used the answer of Stian Håklev to write a small emacs function which retrieves the bibtex from a doi. Just call M-x doi-to-bib
(adjust "~/bib/ref.bib" to the location of your main bibtex file).
(defun string-starts-with (s arg)
"returns non-nil if string S starts with ARG. Else nil."
(cond ((>= (length s) (length arg))
(string-equal (substring s 0 (length arg)) arg))
(t nil)))
(defun doi-to-bib (doi)
(interactive "sEnter the doi to expand to bibtex via crossref: ")
(with-current-buffer (find-file-noselect (expand-file-name "~/bib/ref.bib"))
(goto-char (point-max))
; doi:10.1016/j.egypro.2014.12.316 to http://dx.doi.org/10.1016/j.egypro.2014.12.316
(when (string-starts-with doi "doi:")
(setq doi (concat "http://dx.doi.org/" (string-remove-prefix "doi:" doi))))
(insert (concat "nn"
(string-trim
(shell-command-to-string
(concat
"curl -sLH "Accept: text/bibliography; style=bibtex" "
doi)))
"nn"))))
add a comment |
Just found this npm package:
https://github.com/davidagraf/doi2bib2
https://www.doi2bib.org/
A simple web interface that, when entered a digital object identifier (DOI), returns the BibTeX entry. They retrieve citation records directly from publishers through public interfaces provided by The International DOI Foundation and Crossref.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f6848%2fautomatically-dereference-doi-to-bib%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
11 Answers
11
active
oldest
votes
11 Answers
11
active
oldest
votes
active
oldest
votes
active
oldest
votes
Crossref has just enabled content-negotiation on their API, where they are able to generate bibtex. Here's an example from their blog
curl -LH "Accept: text/bibliography; style=bibtex" http://dx.doi.org/10.1038/nrd842
here's how you'd do it in Ruby
open("http://dx.doi.org/10.1038/nrd842","Accept" => "text/bibliography; style=bibtex"){|f| f.each {|line| print line}}
(from StackOverflow)
1
Sometimes I get such responses:<html><body><h1>503 Service Unavailable</h1> No server is available to handle this request. </body></html>
– math
Mar 12 '14 at 16:56
Forwget
crowd:wget -qO- --header "Accept: text/bibliography; style=bibtex" http://dx.doi.org/10.1038/nrd842
. This will print it to stdout. Remove the-qO-
to store it in file.
– Pouya
Feb 18 at 13:26
add a comment |
Crossref has just enabled content-negotiation on their API, where they are able to generate bibtex. Here's an example from their blog
curl -LH "Accept: text/bibliography; style=bibtex" http://dx.doi.org/10.1038/nrd842
here's how you'd do it in Ruby
open("http://dx.doi.org/10.1038/nrd842","Accept" => "text/bibliography; style=bibtex"){|f| f.each {|line| print line}}
(from StackOverflow)
1
Sometimes I get such responses:<html><body><h1>503 Service Unavailable</h1> No server is available to handle this request. </body></html>
– math
Mar 12 '14 at 16:56
Forwget
crowd:wget -qO- --header "Accept: text/bibliography; style=bibtex" http://dx.doi.org/10.1038/nrd842
. This will print it to stdout. Remove the-qO-
to store it in file.
– Pouya
Feb 18 at 13:26
add a comment |
Crossref has just enabled content-negotiation on their API, where they are able to generate bibtex. Here's an example from their blog
curl -LH "Accept: text/bibliography; style=bibtex" http://dx.doi.org/10.1038/nrd842
here's how you'd do it in Ruby
open("http://dx.doi.org/10.1038/nrd842","Accept" => "text/bibliography; style=bibtex"){|f| f.each {|line| print line}}
(from StackOverflow)
Crossref has just enabled content-negotiation on their API, where they are able to generate bibtex. Here's an example from their blog
curl -LH "Accept: text/bibliography; style=bibtex" http://dx.doi.org/10.1038/nrd842
here's how you'd do it in Ruby
open("http://dx.doi.org/10.1038/nrd842","Accept" => "text/bibliography; style=bibtex"){|f| f.each {|line| print line}}
(from StackOverflow)
edited May 23 '17 at 12:39
Community♦
1
1
answered Feb 23 '12 at 18:36
Stian HåklevStian Håklev
52345
52345
1
Sometimes I get such responses:<html><body><h1>503 Service Unavailable</h1> No server is available to handle this request. </body></html>
– math
Mar 12 '14 at 16:56
Forwget
crowd:wget -qO- --header "Accept: text/bibliography; style=bibtex" http://dx.doi.org/10.1038/nrd842
. This will print it to stdout. Remove the-qO-
to store it in file.
– Pouya
Feb 18 at 13:26
add a comment |
1
Sometimes I get such responses:<html><body><h1>503 Service Unavailable</h1> No server is available to handle this request. </body></html>
– math
Mar 12 '14 at 16:56
Forwget
crowd:wget -qO- --header "Accept: text/bibliography; style=bibtex" http://dx.doi.org/10.1038/nrd842
. This will print it to stdout. Remove the-qO-
to store it in file.
– Pouya
Feb 18 at 13:26
1
1
Sometimes I get such responses:
<html><body><h1>503 Service Unavailable</h1> No server is available to handle this request. </body></html>
– math
Mar 12 '14 at 16:56
Sometimes I get such responses:
<html><body><h1>503 Service Unavailable</h1> No server is available to handle this request. </body></html>
– math
Mar 12 '14 at 16:56
For
wget
crowd: wget -qO- --header "Accept: text/bibliography; style=bibtex" http://dx.doi.org/10.1038/nrd842
. This will print it to stdout. Remove the -qO-
to store it in file.– Pouya
Feb 18 at 13:26
For
wget
crowd: wget -qO- --header "Accept: text/bibliography; style=bibtex" http://dx.doi.org/10.1038/nrd842
. This will print it to stdout. Remove the -qO-
to store it in file.– Pouya
Feb 18 at 13:26
add a comment |
I stumbled over this issue and it annoyed me as well so I invested some time and came up with a VEEERRRYYY simple little webtool:
http://doi-to-bibtex.herokuapp.com
I might invest some more time at some point, but got now it just WORKS!!
Welcome to TeX.sx!
– lockstep
Nov 23 '12 at 9:44
4
the link is broken
– math
Mar 12 '14 at 16:46
add a comment |
I stumbled over this issue and it annoyed me as well so I invested some time and came up with a VEEERRRYYY simple little webtool:
http://doi-to-bibtex.herokuapp.com
I might invest some more time at some point, but got now it just WORKS!!
Welcome to TeX.sx!
– lockstep
Nov 23 '12 at 9:44
4
the link is broken
– math
Mar 12 '14 at 16:46
add a comment |
I stumbled over this issue and it annoyed me as well so I invested some time and came up with a VEEERRRYYY simple little webtool:
http://doi-to-bibtex.herokuapp.com
I might invest some more time at some point, but got now it just WORKS!!
I stumbled over this issue and it annoyed me as well so I invested some time and came up with a VEEERRRYYY simple little webtool:
http://doi-to-bibtex.herokuapp.com
I might invest some more time at some point, but got now it just WORKS!!
answered Nov 23 '12 at 9:28
jogamjogam
8711
8711
Welcome to TeX.sx!
– lockstep
Nov 23 '12 at 9:44
4
the link is broken
– math
Mar 12 '14 at 16:46
add a comment |
Welcome to TeX.sx!
– lockstep
Nov 23 '12 at 9:44
4
the link is broken
– math
Mar 12 '14 at 16:46
Welcome to TeX.sx!
– lockstep
Nov 23 '12 at 9:44
Welcome to TeX.sx!
– lockstep
Nov 23 '12 at 9:44
4
4
the link is broken
– math
Mar 12 '14 at 16:46
the link is broken
– math
Mar 12 '14 at 16:46
add a comment |
There's also doi2bibtex
from betterbib (a pet project of mine),
$ doi2bibtex 10.1038/nrd842
@article{bibtex,
author = {Atkins, Joshua H. and Gershell, Leland J.},
doi = {10.1038/nrd842},
issn = {1474-1784},
journal = {Nature Reviews Drug Discovery},
month = jul,
number = {7},
pages = {491-492},
publisher = {Springer Nature},
source = {Crossref},
title = {From the analyst's couch: {Selective} anticancer drugs},
url = {http://dx.doi.org/10.1038/nrd842},
volume = {1},
year = {2002}
}
It's a bit more consistent than Crossref's API endpoint, for example in the conversion of the month item or the capitalization in titles.
add a comment |
There's also doi2bibtex
from betterbib (a pet project of mine),
$ doi2bibtex 10.1038/nrd842
@article{bibtex,
author = {Atkins, Joshua H. and Gershell, Leland J.},
doi = {10.1038/nrd842},
issn = {1474-1784},
journal = {Nature Reviews Drug Discovery},
month = jul,
number = {7},
pages = {491-492},
publisher = {Springer Nature},
source = {Crossref},
title = {From the analyst's couch: {Selective} anticancer drugs},
url = {http://dx.doi.org/10.1038/nrd842},
volume = {1},
year = {2002}
}
It's a bit more consistent than Crossref's API endpoint, for example in the conversion of the month item or the capitalization in titles.
add a comment |
There's also doi2bibtex
from betterbib (a pet project of mine),
$ doi2bibtex 10.1038/nrd842
@article{bibtex,
author = {Atkins, Joshua H. and Gershell, Leland J.},
doi = {10.1038/nrd842},
issn = {1474-1784},
journal = {Nature Reviews Drug Discovery},
month = jul,
number = {7},
pages = {491-492},
publisher = {Springer Nature},
source = {Crossref},
title = {From the analyst's couch: {Selective} anticancer drugs},
url = {http://dx.doi.org/10.1038/nrd842},
volume = {1},
year = {2002}
}
It's a bit more consistent than Crossref's API endpoint, for example in the conversion of the month item or the capitalization in titles.
There's also doi2bibtex
from betterbib (a pet project of mine),
$ doi2bibtex 10.1038/nrd842
@article{bibtex,
author = {Atkins, Joshua H. and Gershell, Leland J.},
doi = {10.1038/nrd842},
issn = {1474-1784},
journal = {Nature Reviews Drug Discovery},
month = jul,
number = {7},
pages = {491-492},
publisher = {Springer Nature},
source = {Crossref},
title = {From the analyst's couch: {Selective} anticancer drugs},
url = {http://dx.doi.org/10.1038/nrd842},
volume = {1},
year = {2002}
}
It's a bit more consistent than Crossref's API endpoint, for example in the conversion of the month item or the capitalization in titles.
edited Mar 14 at 22:45
answered Jul 24 '17 at 7:26
Nico SchlömerNico Schlömer
2,06931836
2,06931836
add a comment |
add a comment |
Unfortunately, there is no any tools trying to dealing with this. I think it's nearly impossible. Because DOI
system is similar to URL
but more strictly. It's aiming to establish a unique permanent link system, which is not limited to published materials. Although it is used by many publishers.
Technically, from a DOI number, what we can get directly is only a redirect link, whose content can be organized in any style with any codes. To recognize them correctly, we need something like import filters of Zotero
but more.
add a comment |
Unfortunately, there is no any tools trying to dealing with this. I think it's nearly impossible. Because DOI
system is similar to URL
but more strictly. It's aiming to establish a unique permanent link system, which is not limited to published materials. Although it is used by many publishers.
Technically, from a DOI number, what we can get directly is only a redirect link, whose content can be organized in any style with any codes. To recognize them correctly, we need something like import filters of Zotero
but more.
add a comment |
Unfortunately, there is no any tools trying to dealing with this. I think it's nearly impossible. Because DOI
system is similar to URL
but more strictly. It's aiming to establish a unique permanent link system, which is not limited to published materials. Although it is used by many publishers.
Technically, from a DOI number, what we can get directly is only a redirect link, whose content can be organized in any style with any codes. To recognize them correctly, we need something like import filters of Zotero
but more.
Unfortunately, there is no any tools trying to dealing with this. I think it's nearly impossible. Because DOI
system is similar to URL
but more strictly. It's aiming to establish a unique permanent link system, which is not limited to published materials. Although it is used by many publishers.
Technically, from a DOI number, what we can get directly is only a redirect link, whose content can be organized in any style with any codes. To recognize them correctly, we need something like import filters of Zotero
but more.
answered Dec 10 '10 at 9:51
gerrygerry
7371511
7371511
add a comment |
add a comment |
It is possible to obtain the bibliographic information associated with a doi in XML format (except the abstract) via a web query to crossref.org. I've have been following instructions at
http://labs.crossref.org/site/quick_and_dirty_api_guide.html
and the service works as advertised.
this does not work for me: OpenURL-specific logins are no longer valid.
– Sebastian
Jun 21 '12 at 8:01
3
this link appears to be broken...
– Try Hard
Jul 29 '13 at 17:52
add a comment |
It is possible to obtain the bibliographic information associated with a doi in XML format (except the abstract) via a web query to crossref.org. I've have been following instructions at
http://labs.crossref.org/site/quick_and_dirty_api_guide.html
and the service works as advertised.
this does not work for me: OpenURL-specific logins are no longer valid.
– Sebastian
Jun 21 '12 at 8:01
3
this link appears to be broken...
– Try Hard
Jul 29 '13 at 17:52
add a comment |
It is possible to obtain the bibliographic information associated with a doi in XML format (except the abstract) via a web query to crossref.org. I've have been following instructions at
http://labs.crossref.org/site/quick_and_dirty_api_guide.html
and the service works as advertised.
It is possible to obtain the bibliographic information associated with a doi in XML format (except the abstract) via a web query to crossref.org. I've have been following instructions at
http://labs.crossref.org/site/quick_and_dirty_api_guide.html
and the service works as advertised.
answered Jun 23 '11 at 23:26
JAMJAM
6511
6511
this does not work for me: OpenURL-specific logins are no longer valid.
– Sebastian
Jun 21 '12 at 8:01
3
this link appears to be broken...
– Try Hard
Jul 29 '13 at 17:52
add a comment |
this does not work for me: OpenURL-specific logins are no longer valid.
– Sebastian
Jun 21 '12 at 8:01
3
this link appears to be broken...
– Try Hard
Jul 29 '13 at 17:52
this does not work for me: OpenURL-specific logins are no longer valid.
– Sebastian
Jun 21 '12 at 8:01
this does not work for me: OpenURL-specific logins are no longer valid.
– Sebastian
Jun 21 '12 at 8:01
3
3
this link appears to be broken...
– Try Hard
Jul 29 '13 at 17:52
this link appears to be broken...
– Try Hard
Jul 29 '13 at 17:52
add a comment |
Hi the proper link to "doi2bibtex" is this url:
http://code.google.com/p/ocefpaf-python/source/browse/ocefpaf/doi2bibtex.py
The one list here is just the "wrapper" to the script.
In the end, this script is just an ugly hack to get the ADS database (with some prototype to other databases and google scholar.) Anyone interested in taking this forward is welcome, since I cannot afford the time for this project anymore.
2
The link is broken
– alfC
Oct 28 '13 at 3:04
add a comment |
Hi the proper link to "doi2bibtex" is this url:
http://code.google.com/p/ocefpaf-python/source/browse/ocefpaf/doi2bibtex.py
The one list here is just the "wrapper" to the script.
In the end, this script is just an ugly hack to get the ADS database (with some prototype to other databases and google scholar.) Anyone interested in taking this forward is welcome, since I cannot afford the time for this project anymore.
2
The link is broken
– alfC
Oct 28 '13 at 3:04
add a comment |
Hi the proper link to "doi2bibtex" is this url:
http://code.google.com/p/ocefpaf-python/source/browse/ocefpaf/doi2bibtex.py
The one list here is just the "wrapper" to the script.
In the end, this script is just an ugly hack to get the ADS database (with some prototype to other databases and google scholar.) Anyone interested in taking this forward is welcome, since I cannot afford the time for this project anymore.
Hi the proper link to "doi2bibtex" is this url:
http://code.google.com/p/ocefpaf-python/source/browse/ocefpaf/doi2bibtex.py
The one list here is just the "wrapper" to the script.
In the end, this script is just an ugly hack to get the ADS database (with some prototype to other databases and google scholar.) Anyone interested in taking this forward is welcome, since I cannot afford the time for this project anymore.
edited Oct 18 '11 at 6:43
N.N.
23.9k19116189
23.9k19116189
answered Oct 17 '11 at 13:52
ocefpafocefpaf
1392
1392
2
The link is broken
– alfC
Oct 28 '13 at 3:04
add a comment |
2
The link is broken
– alfC
Oct 28 '13 at 3:04
2
2
The link is broken
– alfC
Oct 28 '13 at 3:04
The link is broken
– alfC
Oct 28 '13 at 3:04
add a comment |
I've found something of a solution. Mind you it's not brilliant. I recently had this problem and was quite frustrated with it.
I've been using this method (implemented in java) to extract the .bib from a doi using the crossref.org website. They have a query function which I've been abusing with cURL in order to extract the information from the xml returned. (It's not the best but it is a solution). N.B. crossref fails to look up the title. No idea why. I'll upload the Jar when I'm done.
add a comment |
I've found something of a solution. Mind you it's not brilliant. I recently had this problem and was quite frustrated with it.
I've been using this method (implemented in java) to extract the .bib from a doi using the crossref.org website. They have a query function which I've been abusing with cURL in order to extract the information from the xml returned. (It's not the best but it is a solution). N.B. crossref fails to look up the title. No idea why. I'll upload the Jar when I'm done.
add a comment |
I've found something of a solution. Mind you it's not brilliant. I recently had this problem and was quite frustrated with it.
I've been using this method (implemented in java) to extract the .bib from a doi using the crossref.org website. They have a query function which I've been abusing with cURL in order to extract the information from the xml returned. (It's not the best but it is a solution). N.B. crossref fails to look up the title. No idea why. I'll upload the Jar when I'm done.
I've found something of a solution. Mind you it's not brilliant. I recently had this problem and was quite frustrated with it.
I've been using this method (implemented in java) to extract the .bib from a doi using the crossref.org website. They have a query function which I've been abusing with cURL in order to extract the information from the xml returned. (It's not the best but it is a solution). N.B. crossref fails to look up the title. No idea why. I'll upload the Jar when I'm done.
answered Mar 14 '11 at 23:18
EricREricR
1,68282331
1,68282331
add a comment |
add a comment |
BibSonomy is a website for reference management, similar to CiteULike. BibSonomy allows posting publications via DOI, afterwards you can download your complete library as a .bib file. If the DOI is displayed on a webpage, you can highlight it and post it with a bookmarklet.
add a comment |
BibSonomy is a website for reference management, similar to CiteULike. BibSonomy allows posting publications via DOI, afterwards you can download your complete library as a .bib file. If the DOI is displayed on a webpage, you can highlight it and post it with a bookmarklet.
add a comment |
BibSonomy is a website for reference management, similar to CiteULike. BibSonomy allows posting publications via DOI, afterwards you can download your complete library as a .bib file. If the DOI is displayed on a webpage, you can highlight it and post it with a bookmarklet.
BibSonomy is a website for reference management, similar to CiteULike. BibSonomy allows posting publications via DOI, afterwards you can download your complete library as a .bib file. If the DOI is displayed on a webpage, you can highlight it and post it with a bookmarklet.
answered Nov 17 '11 at 12:29
matthmatth
9,32344268
9,32344268
add a comment |
add a comment |
Another crossref lookup (in python) -- even with titles! :)
different journals use different fields, this script works now with the journals i'm usually referencing to.
in order to produce a bibtex file, save the script e.g. as doi2bib.py and run python doi2bibtex.py DOI1 DOI2 DOI3 etc > mybibtexfile.bib
(under linux; there should be an equivalent possibility for windows)
There's a Ruby "translation" available here as well.
add a comment |
Another crossref lookup (in python) -- even with titles! :)
different journals use different fields, this script works now with the journals i'm usually referencing to.
in order to produce a bibtex file, save the script e.g. as doi2bib.py and run python doi2bibtex.py DOI1 DOI2 DOI3 etc > mybibtexfile.bib
(under linux; there should be an equivalent possibility for windows)
There's a Ruby "translation" available here as well.
add a comment |
Another crossref lookup (in python) -- even with titles! :)
different journals use different fields, this script works now with the journals i'm usually referencing to.
in order to produce a bibtex file, save the script e.g. as doi2bib.py and run python doi2bibtex.py DOI1 DOI2 DOI3 etc > mybibtexfile.bib
(under linux; there should be an equivalent possibility for windows)
There's a Ruby "translation" available here as well.
Another crossref lookup (in python) -- even with titles! :)
different journals use different fields, this script works now with the journals i'm usually referencing to.
in order to produce a bibtex file, save the script e.g. as doi2bib.py and run python doi2bibtex.py DOI1 DOI2 DOI3 etc > mybibtexfile.bib
(under linux; there should be an equivalent possibility for windows)
There's a Ruby "translation" available here as well.
edited Feb 21 '12 at 16:50
Stian Håklev
52345
52345
answered Oct 18 '11 at 11:42
Sebastian BuschSebastian Busch
80865
80865
add a comment |
add a comment |
I used the answer of Stian Håklev to write a small emacs function which retrieves the bibtex from a doi. Just call M-x doi-to-bib
(adjust "~/bib/ref.bib" to the location of your main bibtex file).
(defun string-starts-with (s arg)
"returns non-nil if string S starts with ARG. Else nil."
(cond ((>= (length s) (length arg))
(string-equal (substring s 0 (length arg)) arg))
(t nil)))
(defun doi-to-bib (doi)
(interactive "sEnter the doi to expand to bibtex via crossref: ")
(with-current-buffer (find-file-noselect (expand-file-name "~/bib/ref.bib"))
(goto-char (point-max))
; doi:10.1016/j.egypro.2014.12.316 to http://dx.doi.org/10.1016/j.egypro.2014.12.316
(when (string-starts-with doi "doi:")
(setq doi (concat "http://dx.doi.org/" (string-remove-prefix "doi:" doi))))
(insert (concat "nn"
(string-trim
(shell-command-to-string
(concat
"curl -sLH "Accept: text/bibliography; style=bibtex" "
doi)))
"nn"))))
add a comment |
I used the answer of Stian Håklev to write a small emacs function which retrieves the bibtex from a doi. Just call M-x doi-to-bib
(adjust "~/bib/ref.bib" to the location of your main bibtex file).
(defun string-starts-with (s arg)
"returns non-nil if string S starts with ARG. Else nil."
(cond ((>= (length s) (length arg))
(string-equal (substring s 0 (length arg)) arg))
(t nil)))
(defun doi-to-bib (doi)
(interactive "sEnter the doi to expand to bibtex via crossref: ")
(with-current-buffer (find-file-noselect (expand-file-name "~/bib/ref.bib"))
(goto-char (point-max))
; doi:10.1016/j.egypro.2014.12.316 to http://dx.doi.org/10.1016/j.egypro.2014.12.316
(when (string-starts-with doi "doi:")
(setq doi (concat "http://dx.doi.org/" (string-remove-prefix "doi:" doi))))
(insert (concat "nn"
(string-trim
(shell-command-to-string
(concat
"curl -sLH "Accept: text/bibliography; style=bibtex" "
doi)))
"nn"))))
add a comment |
I used the answer of Stian Håklev to write a small emacs function which retrieves the bibtex from a doi. Just call M-x doi-to-bib
(adjust "~/bib/ref.bib" to the location of your main bibtex file).
(defun string-starts-with (s arg)
"returns non-nil if string S starts with ARG. Else nil."
(cond ((>= (length s) (length arg))
(string-equal (substring s 0 (length arg)) arg))
(t nil)))
(defun doi-to-bib (doi)
(interactive "sEnter the doi to expand to bibtex via crossref: ")
(with-current-buffer (find-file-noselect (expand-file-name "~/bib/ref.bib"))
(goto-char (point-max))
; doi:10.1016/j.egypro.2014.12.316 to http://dx.doi.org/10.1016/j.egypro.2014.12.316
(when (string-starts-with doi "doi:")
(setq doi (concat "http://dx.doi.org/" (string-remove-prefix "doi:" doi))))
(insert (concat "nn"
(string-trim
(shell-command-to-string
(concat
"curl -sLH "Accept: text/bibliography; style=bibtex" "
doi)))
"nn"))))
I used the answer of Stian Håklev to write a small emacs function which retrieves the bibtex from a doi. Just call M-x doi-to-bib
(adjust "~/bib/ref.bib" to the location of your main bibtex file).
(defun string-starts-with (s arg)
"returns non-nil if string S starts with ARG. Else nil."
(cond ((>= (length s) (length arg))
(string-equal (substring s 0 (length arg)) arg))
(t nil)))
(defun doi-to-bib (doi)
(interactive "sEnter the doi to expand to bibtex via crossref: ")
(with-current-buffer (find-file-noselect (expand-file-name "~/bib/ref.bib"))
(goto-char (point-max))
; doi:10.1016/j.egypro.2014.12.316 to http://dx.doi.org/10.1016/j.egypro.2014.12.316
(when (string-starts-with doi "doi:")
(setq doi (concat "http://dx.doi.org/" (string-remove-prefix "doi:" doi))))
(insert (concat "nn"
(string-trim
(shell-command-to-string
(concat
"curl -sLH "Accept: text/bibliography; style=bibtex" "
doi)))
"nn"))))
answered Mar 29 '17 at 12:19
Arne BabenhauserheideArne Babenhauserheide
1113
1113
add a comment |
add a comment |
Just found this npm package:
https://github.com/davidagraf/doi2bib2
https://www.doi2bib.org/
A simple web interface that, when entered a digital object identifier (DOI), returns the BibTeX entry. They retrieve citation records directly from publishers through public interfaces provided by The International DOI Foundation and Crossref.
add a comment |
Just found this npm package:
https://github.com/davidagraf/doi2bib2
https://www.doi2bib.org/
A simple web interface that, when entered a digital object identifier (DOI), returns the BibTeX entry. They retrieve citation records directly from publishers through public interfaces provided by The International DOI Foundation and Crossref.
add a comment |
Just found this npm package:
https://github.com/davidagraf/doi2bib2
https://www.doi2bib.org/
A simple web interface that, when entered a digital object identifier (DOI), returns the BibTeX entry. They retrieve citation records directly from publishers through public interfaces provided by The International DOI Foundation and Crossref.
Just found this npm package:
https://github.com/davidagraf/doi2bib2
https://www.doi2bib.org/
A simple web interface that, when entered a digital object identifier (DOI), returns the BibTeX entry. They retrieve citation records directly from publishers through public interfaces provided by The International DOI Foundation and Crossref.
answered Mar 14 at 16:58
matthmatth
9,32344268
9,32344268
add a comment |
add a comment |
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f6848%2fautomatically-dereference-doi-to-bib%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
6
Also note the inverse problem asked recently here
– Will Robertson
Dec 10 '10 at 4:14