Bibweb Manual

(info by John H. Palmieri)

@tolerance 10000

@title{Bibweb Manual}

Copyright (C) 1997, 1998, 2000 John H. Palmieri

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the section entitled "Copying" is included exactly as in the original, and provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation.

Bibweb is a perl script written by John Palmieri (in consultation with Bill Dwyer).

This is version 0.46, November 2000, of the Bibweb manual. Bug reports and suggestions for new features should go to `'.

This is the first version of this manual; it is done (except for the indices).


Bibweb is a utility for automatically retrieving bibliographical information from the American Mathematical Society's MathSciNet search engine (available at (In particular, in order to use bibweb, you must have access to MathSciNet, which means that you or your institution has at some point shelled out some quantity of money to the AMS. Anyway...)

If you're too lazy to go to the library or use a web browser to find out bibliographical information for that ground-breaking paper you're writing, then bibweb is the program for you. It is intended for use with BibTeX (which means with LaTeX), and you have to write citations in a particular format, but that's about all there is to it.

Briefly: once you've installed bibweb, if you are editing a file called `bozo.tex', then you need to insert the following line:


If you are also using the BibTeX file `junk.bib', then you should use the following line:


When you want to cite a paper whose bibliographical information you are lacking, say "Periodic phenomena in the Adams-Novikov spectral sequence" by H. R. Miller, D. C. Ravenel, and W. S. Wilson, then you give LaTeX the command








When you run this through LaTeX, it won't find the citation (by assumption); BibTeX won't find a citation either. When you run bibweb, though, by typing

  bibweb bozo

at the shell prompt, then it takes your citation and queries MathSciNet. If it finds a match, it writes the bibliographic information, in BibTeX format, to the file `bozo.bib'.

Bibweb also lets you search for just a single citation, it lets you specify the names of the input (TeX) and output (BibTeX) files separately, and has other options. See section Options for details.

How to

In this section, we give detailed instructions for how to use bibweb.

LaTeX file

In this section, we describe how to write your LaTeX file so that it will produce output suitable for bibweb.

Bibliography command

You need to decide where you want to put the bibliographic information that bibweb will give you; this should be a file ending in `.bib'. Suppose you decide to use a file called `jimbob.bib' (which may or may not exist at this point). Then you need the following line in your LaTeX file:


As indicated above, if you already have some other bibtex files lying around, and you also want to use these (say they're called `manny.bib', `moe.bib', and `jack.bib'), then you should instead use the following line:



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

Invoking bibweb

Basic operation

In this section, we give the basic instructions for running bibweb, as well as a brief description of what bibweb does.

  bibweb file

will run bibweb on file. For example, to run bibweb on the file `elvis', you type

  bibweb elvis

Then bibweb will run BibTeX on `elvis' and read through the list of missing citations. For each such citation, it searches MathSciNet, and writes its results to the file `elvis.bib'. Once it has done this, it runs BibTeX again, to make use of any new citations.

If bibweb can't find the file `elvis.aux' (which it wants to pass to BibTeX), it prints an error message and stops. If it can't write to `elvis.bib', it should also print an error message and stop.

By "searches MathSciNet", I mean that it fires up a web browser that goes to the MathSciNet site, gives it the appropriate query, gets the response, and then quits. The best web browser for this sort of thing is called `wget'; this is a GNU program (hence freely distributable). You can get it at your favorite GNU mirror. The second best web browser is `lynx'; if bibweb can't find wget, it uses lynx. Another option is `webget', which is a perl script that has some of the capabilities of wget. See section Installation for information about obtaining these programs. (By the way, bibweb doesn't know how to use any other web browsers. If you prefer another browser and modify bibweb to work with it, tell me about your changes so I can incorporate them into future versions.)

By "its results", I mean the following:

Finally, note that if you give the citation


and run bibweb, then run bibweb again, it will not query MathSciNet again; instead it will tell you something like "You've searched for `serre' before".


bibweb can be run with several different options.

`-i file'
Run BibTeX on file.
`-o file'
Write output to file (after appending `.bib' to file, if necessary).
Write output to STDOUT (the screen, ordinarily).
`-c citation'
Look up only citation. In this case, the output is written to the screen, unless you also use the `-o' option.
`-m num'
Return at most num matches to each citation. Actually, num is rounded up according to the options available at MathSciNet: num will be rounded up to one of: 5, 10, 20, 50, 100, 1000.
`-e site'
Search MathSciNet at the web site site. The default value is read from the environment variable MATHSCINET_SITE; if this variable hasn't been set, the default is `'. Some other good choices are `', `', `', `', and `'---see the MathSciNet homepage for more information. If you choose a value for site that's not from this list, bibweb prints a warning, but goes ahead and tries to use it anyway. You can use a bit of shorthand for site: `ams' stands for `'; `rice' stands for `'; `bielefeld' stands for `'; `bonn' stands for `'; `strasbg' stands for `'; and `impa' stands for `'.
Force bibweb to use lynx as its web browser, even if wget is available. (As far as I can tell, lynx is slower than wget, but I suppose someone might have some arcane reason for avoiding wget.)
Print a short help message, and then quit.
Produce output in bibtex format (the default).
Include the review in the bibtex output, in the form `REVIEW = { ... }'
Produce output in dvi format. This option uses lynx rather than wget, so lynx must be available.
Produce output in postscript format. This option uses lynx rather than wget, so lynx must be available.
Produce output in pdf format. This option uses lynx rather than wget, so lynx must be available.
Produce output in text format. This option uses lynx rather than wget, so lynx must be available.

For example, any of the following commands

  bibweb -i test -o a -m 10
  bibweb test -o a -m 10
  bibweb -o a -m 10 test
  bibweb --output=a --max=10 test

has bibweb read the file `text.aux' and write output to `a.bib', returning at most 10 matches for each citation.

The command

  bibweb --std -m 10 test

reads `test.aux' and writes the output to the screen (or whatever you have STDOUT set to). The command

  bibweb bozo

reads `bozo.aux', writes to `bozo.bib', and uses for the MathSciNet search, as do the commands

  bibweb --emath=rice bozo
  bibweb -e rice bozo
  bibweb bozo -e rice

The command

  bibweb --emath=quack bozo

uses `quack' for the MathSciNet search. In this case, bibweb will give a warning (since `quack' is not one of the recognized MathSciNet sites), and will produce no usable results (it will be fast, though).

If you run the command

  bibweb -m 23 -c 'serre'

then bibweb will tell you that it is rounding 23 up to 50, and then it will look for all articles with `serre' as the author. In this case, it will tell you that there were more than 50 matches found. I suppose if you typed

  bibweb -m 1000 -c 'serre'

then you would get all of Serre's papers listed on your screen. This might take a while. You could instead run

  bibweb -m 1000 -c 'serre' -o serre.bib

and then the output would be stored in the file `serre.bib'.


This is complicated: put the file `bibweb' in your path and make sure it's executable.

That's it.

Actually, bibweb seems to require at least version 5.003 of perl, so if you have an older version, you may have to upgrade.

And of course, to use bibweb at all, you need to have a subscription to MathSciNet.

Bibweb also requires the presence of one of the following programs: `wget', `lynx', or `webget'. Lynx is commonly available, so it may very well already be on your system. If you don't mind installing it, I would recommend using wget instead, because it's faster than lynx. wget is available from the GNU ftp site, or (even better) many GNU mirrors. Look for it at one of these:

If you'd rather use lynx and don't have it already, it is available from

If you'd rather use webget, it is available at

This document was generated on 9 November 2000 using texi2html 1.56k.