summaryrefslogtreecommitdiff
path: root/biblio/bibtex/utils/bibweb/HOW_TO
blob: 6f098671cb47cdcc5c67c773599e5dff8834ae86 (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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293

These instructions may be a bit out of date.  You should really read
the documentation in bibweb.dvi or bibweb.info or bibweb.texi or
bibweb.html (same documentation, different formats).

-------------------

How to use bibweb:

Once you've installed both wget and bibweb, here's what you do:

I will assume you're working with a file called 'gorilla.tex'.  In
order to use bibtex at all, you need to have two lines in the file,
something like:

  \bibliography{bozo}
  \bibliographystyle{alpha}

When you run bibtex on this, it looks for a file called 'bozo.bib',
and loads references from that.

1. Change the first of the above lines to:

  \bibliography{bozo,gorilla}

This way, bibtex will also look for a file called 'gorilla.bib', which
bibweb will produce.

2. If you want to cite a paper not in your bozo.bib file, say, Adams'
paper on Hopf invariant one, you just cite it:

  \cite{adams-hopf-invariant-one}

3. Then run latex on the paper, as normal.  After this, rather than
running bibtex, run bibweb; it will run bibtex, and for every citation
it can't find, it will search on MathSciNet.  It will write the
resulting bibtex entries to the file 'gorilla.bib'.  Then it runs
bibtex again, to scan these new entries.  (So then you have to run
latex a few more times, as usual.)

To run bibweb, you just type:

  bibweb gorilla

Since MathSciNet is sort of slow, I would recommend using this in
conjunction with X windows or some similar system: edit your tex file
using Emacs (of course), and then in a separate window run bibweb when
you need to.  Then you can let it go on its merry way, while you keep
typing.  For you Ultra-TeX and AUC-TeX users, it should be pretty easy
to set things up so you can run bibweb from with AUC-TeX by hitting
C-c C-c; I'll let you work out the details.

4. Other options for running bibweb:
bibweb [options] FILE
  where options can be:
    -i FILE     use FILE as input (aux) file
    -o FILE     use FILE as output (bib) file
    -c REF      looks up single citation REF, instead of using
                 an auxfile for input
    -b          get output in bibtex format (default)
    -d          get output in dvi format (written to MR#.dvi, where
                 'MR#' is the Math Reviews number of the reference)
    -p          get output in postscript format (written to MR#.ps)
    -t          get output in text format (written to MR#.txt)
    -m NUM      return at most NUM entries (rounded up)
    -e WEB_SITE  use WEB_SITE for MathSciNet search
    -L          use lynx instead of wget (note: lynx is slower than wget)
    -h          print brief help message

The options -d, -p, and -t use lynx rather than wget, so you must have
lynx somewhere on your system.  (But lynx is fairly common, so it may
already be there.)

The -m option: bibweb does not let you specify exactly how many
matches to look for.  If you run
  bibweb -m NUM   blah blah blah
then it looks for at most NUM' matches, where NUM' is determined from
NUM according to the following:
  If NUM <= 5,          then NUM' = 5.
  If 5 < NUM <= 10,     then NUM' = 10. 
  If 10 < NUM <= 20,    then NUM' = 20. 
  If 20 < NUM <= 50,    then NUM' = 50. 
  If 50 < NUM <= 100,   then NUM' = 100. 
  If 100 < NUM <= 1000, then NUM' = 1000.  (Don't try this at home.)
  Otherwise, NUM' = 5.
bibweb will print a message saying that it's rounding NUM up to NUM',
if it thinks it should.

The -e option: there are various places that let you search the
MathSciNet database:
   e-math.ams.org (the default)
   ams.rice.edu
   ams.mathematik.uni-bielefeld.de
   irmasrv1.u-strasbg.fr
So
  bibweb -e ams.rice.edu  blah blah blah
uses the site at Rice instead of the default.  If you use the -e
option, no error checking is done: if you say
  bibweb -e bozo.edu  blah blah blah
then bibweb will tell you that bozo.edu is not on its list of e-math
sites, but it will go ahead and search there anyway (returning
nothing, and doing it remarkably quickly).  This way, if some new
e-math site appears and I don't know about it, you can use bibweb to
search there anyway.

----------------

Notes:
1(a) If bibweb finds exactly one entry matching your citation, it
puts it in gorilla.bib with the key you chose.  For instance, if you
have

  \cite{kan-miller-splitting-spaces}

bibweb puts the following in gorilla.bib:

%% Math Reviews number: 57 #7582 
@article {kan-miller-splitting-spaces, 
   AUTHOR = {Kan, Daniel M. and Miller, Edward Y.},
    TITLE = {Splitting spaces with finite group actions},
  JOURNAL = {Topology},
   VOLUME = {16},
     YEAR = {1977},
   NUMBER = {4},
    PAGES = {403--407},
}

(b) If it finds several matches (at most 5), it writes them all to
gorilla.bib, but leaves the original citation undefined.  (The new
ones have citations given by their Math Reviews numbers.)  So at this
point, you have to edit gorilla.bib to change the keys of the papers
you're interested in, or you have to change your \cite command to
match what was written into gorilla.bib.

Example: if you have

  \cite{adams;hopf-invariant-one}

then there are two matches: two papers by Adams called "On the
nonexistence of elements of Hopf invariant one", one from the Annals,
and one from Bull. AMS.  These get entered into gorilla.bib as 

%% Math Reviews number: 25 #4530 
@article {MR25:4530,
   AUTHOR = {Adams, J. F.},
    TITLE = {On the non-existence of elements of {H}opf invariant one},
  JOURNAL = {Ann. of Math. (2)},
   VOLUME = {72},
     YEAR = {1960},
    PAGES = {20--104},
}

%% Math Reviews number: 20 #3539 
@article {MR20:3539,
   AUTHOR = {Adams, J. F.},
    TITLE = {On the nonexistence of elements of {H}opf invariant one},
  JOURNAL = {Bull. Amer. Math. Soc.},
   VOLUME = {64},
     YEAR = {1958},
    PAGES = {279--282},
}

(c) If it finds more than 5 matches, it tells you that, and doesn't
add any new entries to gorilla.bib.

Example: if you have

  \cite{serre}

then bibweb adds the following to gorilla.bib:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%   citation 'serre' 
%% More than 5 matches found. 
%%

(d) If it doesn't find any matches, it tells you that, and doesn't
add any new entries to gorilla.bib.

Example: if you have

  \cite{serre-kan}

then bibweb adds the following to gorilla.bib:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%   citation 'serre-kan' 
%% No matches found. 
%%

(e) Occasionally, bibweb will say it only finds one match, but it will
add several things to gorilla.bib.  This happens when there are
several papers whose reviews are all together on MathSciNet (see
\cite{dwyer-kan;obstruction-theory-diagrams}, for example). 



2. There are two different formats for citations that bibweb knows how
to handle, and it handles them in different ways.

(a) Simpler format:

  \cite{a-b-c-d-e}

'a' gets sent as the author, 'b', 'c', and 'd' get sent as
miscellany (they can match anything, including the author, title,
journal, reviewer, or the text of the review).  'e' should be of the
form  '<1995' or '>1995' or '=1995' or '1995', in which case bibweb
only searches for papers from the appropriate years.  '1995' is
treated the same as '=1995'.  It seems that specifying a year or range
of years slows things down tremendously, so you might want to avoid
this.  Also, I think if 'e' is in some other format, it will just get
ignored.

Example: \cite{devinatz-hopkins-nilpotence} matches two papers: one is
"Nilpotence and stable homotopy theory, I" by Devinatz, Hopkins, and
Smith; the other is 'Morava's change of rings theorem" by Devinatz,
for which "Hopkins" and "nilpotence" are mentioned in the review.

If you want to avoid this sort of thing, you can use the more involved
format.

(b) More involved format:

  \cite{a1-a2-...-ak;t1-t2-...-tm;j1-j2-...jn;year}

'year' should be just like field 'e' in the simpler format, but it
slows things down, so I would avoid it.  a1, ..., ak are treated as
authors, t1, ..., tm are treated as titles, j1, ..., jn are treated as
journals.  You don't have to include the journal field, for instance,
or the year field.

Example: \cite{devinatz-hopkins;nilpotence} matches only the paper
"Nilpotence and stable homotopy theory, I" by Devinatz, Hopkins, and
Smith.  \cite{miller-wilkerson;vanishing-steenrod} matches "Vanishing
lines for modules over the Steenrod algebra" by Miller and Wilkerson,
as does \cite{miller-wilkerson;vanishing-steenrod;;<1985}, as does
\cite{miller-wilkerson;vanishing-steenrod;pure;<1985} (the paper
appeared in the Journal of Pure and Applied Algebra).



3. Using wildcards: You can use '*' as a wildcard; for instance,
\cite{adams;hopf-invar*-one} would give the same two papers as in Note
1(b).

When using MathSciNet by hand, if you want to search for papers by
Mike Hopkins, you could set the author field equal to "hopkins, m*".
On the other hand, if you give bibtex the command
\cite{hopkins,m*;global}, bibtex will treat "hopkins" as one source
and "m*;global" as another.  So to get bibweb to do the right thing,
you should use the command

  \cite{hopkins.m*;global}

bibweb will translate the . to a , before sending the query to
MathSciNet, so this citation would produce

@incollection {hopkins.m*;global, 
   AUTHOR = {Hopkins, Michael J.},
    TITLE = {Global methods in homotopy theory},
BOOKTITLE = {Homotopy theory (Durham, 1985)},
    PAGES = {73--96},
   SERIES = {London Math. Soc. Lecture Note Ser.},
   VOLUME = {117},
PUBLISHER = {Cambridge Univ. Press},
  ADDRESS = {Cambridge},
     YEAR = {1987},
}

4. Examples of other options:

  bibweb -i bozo -o clown
uses 'bozo.aux' as input file (i.e., it runs 'bibtex bozo'), and writes
output to 'clown.bib'.

  bibweb -c 'adams;hopf-invariant-one'
looks for the given reference, and writes its output to the screen.

  bibweb -c 'adams;hopf-invariant-one' -o clown.bib
looks for the given reference, and appends its output to 'clown.bib'.

  bibweb -L  blah blah blah
should work just like 'bibweb blah blah blah', except that is uses
the program 'lynx' instead of 'wget'.  I haven't tested this
extensively, but I have noticed that lynx seems rather slow compared
to wget.


----------------

John H. Palmieri
palmieri@math.washington.edu