Add doi numbers to papers in a given bib file
bibdoiadd [-c config_file] [-o output] bib_file
Configuration file. If this file is absent, some defaults are used. See below for its format.
Output file. If this option is not used, the name for the output file is formed by adding \*(C`_doi\*(C' to the input file
The script reads a BibTeX file. It checks whether the entries have DOIs. If now, tries to contact http://www.crossref.org to get the corresponding \s-1DOI\s0. The result is a BibTeX file with the fields \*(C`doi=...\*(C' added.
The name of the output file is either set by the -o option or is derived by adding the suffix \*(C`_doi\*(C' to the output file.
There are two options for making queries with Crossref: free account and paid membership. In the first case you still must register with Crossref and are limited to a small number of queries, see the agreement at \*(C`http://www.crossref.org/01company/free_services_agreement.html\*(C'. In the second case you have a username and password, and can use them for automatic queries. I am not sure whether the use of this script is allowed for the free account holders. Anyway if you try to add \s-1DOI\s0 to a large number of entries, you should register as a paid member.
The configuration file is mostly self-explanatory: it has comments (starting with \*(C`#\*(C') and assginments in the form
$field = value ;
The important parameters are $mode ('free' or 'paid', $email (for free users) and $username & $password for paid members.
bibdoiadd -c bibdoiadd.cfg citations.bib > result.bib bibdoiadd -c bibdoiadd.cfg citations.bib -o result.bib
Copyright (C) 2014 Boris Veytsman
This is free software. You may redistribute copies of it under the terms of the \s-1GNU\s0 General Public License <http://www.gnu.org/licenses/gpl.html>. There is \s-1NO\s0 \s-1WARRANTY\s0, to the extent permitted by law.