summaryrefslogtreecommitdiff
path: root/support/crossrefware/bibdoiadd.1
blob: 737f4f2a4bec87394e0804c164f7d8550bd20b0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
.\" -*- mode: troff; coding: utf-8 -*-
.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
.    if \nF \{\
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{\
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "bibdoiadd 1"
.TH bibdoiadd 1 2023-08-20 "" "LATEX CROSSREFWARE"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH NAME
bibdoiadd.pl \- add DOI numbers to papers in a given bib file
.SH SYNOPSIS
.IX Header "SYNOPSIS"
bibdoiadd [\fB\-c\fR \fIconfig_file\fR] [\fB\-C\fR 1|0] [\fB\-e\fR 1|0] [\fB\-f\fR] [\fB\-o\fR \fIoutput\fR] \fIbib_file\fR
.SH OPTIONS
.IX Header "OPTIONS"
.IP "\fB\-c\fR \fIconfig_file\fR" 4
.IX Item "-c config_file"
Configuration file.  If this file is absent, some defaults are used.
See below for its format.
.IP "\fB\-C\fR 1|0" 4
.IX Item "-C 1|0"
Whether to canonize names in the output (1) or not (0).  By default, 1.
.IP \fB\-e\fR 4
.IX Item "-e"
If 1 (default), add empty doi if a doi cannot be found.  This prevents
repeated searches for the same entries if you add new entries to the
file.  Calling \f(CW\*(C`\-e 0\*(C'\fR suppresses this behavior.
.IP \fB\-f\fR 4
.IX Item "-f"
Force checking doi number even if one is present
.IP "\fB\-o\fR \fIoutput\fR" 4
.IX Item "-o output"
Output file.  If this option is not used, the name for the 
output file is formed by adding \f(CW\*(C`_doi\*(C'\fR to the input file
.SH DESCRIPTION
.IX Header "DESCRIPTION"
The script reads a BibTeX file.  It checks whether the entries have
DOIs.  If not, it tries to contact http://www.crossref.org to get the
corresponding DOI.  The result is a BibTeX file with the fields
\&\f(CW\*(C`doi=...\*(C'\fR added.
.PP
The name of the output file is either set by the \fB\-o\fR option or 
is derived by adding the suffix \f(CW\*(C`_doi\*(C'\fR to the output file.
.PP
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
\&\f(CW\*(C`http://www.crossref.org/01company/free_services_agreement.html\*(C'\fR.  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 DOI
to a large number of entries, you should register as a paid member.
.SH "CONFIGURATION FILE"
.IX Header "CONFIGURATION FILE"
The configuration file is mostly self-explanatory: it has comments
(starting with \f(CW\*(C`#\*(C'\fR) and assginments in the form
.PP
.Vb 1
\&   $field = value ;
.Ve
.PP
The important parameters are \f(CW$mode\fR (\f(CW\*(Aqfree\*(Aq\fR or \f(CW\*(Aqpaid\*(Aq\fR),
\&\f(CW$email\fR (for free users) and \f(CW$username\fR & \f(CW$password\fR for paid
members.
.SH EXAMPLES
.IX Header "EXAMPLES"
.Vb 2
\&   bibdoiadd \-c bibdoiadd.cfg \-o \- citations.bib > result.bib
\&   bibdoiadd \-c bibdoiadd.cfg \-o result.bib citations.bib
.Ve
.SH AUTHOR
.IX Header "AUTHOR"
Boris Veytsman
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2014\-2021  Boris Veytsman
.PP
This is free software.  You may redistribute copies of it under the
terms of the GNU General Public License
<http://www.gnu.org/licenses/gpl.html>.  There is NO WARRANTY, to the
extent permitted by law.