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