summaryrefslogtreecommitdiff
path: root/biblio/bibtex/utils/bibweb
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /biblio/bibtex/utils/bibweb
Initial commit
Diffstat (limited to 'biblio/bibtex/utils/bibweb')
-rw-r--r--biblio/bibtex/utils/bibweb/COPYING340
-rw-r--r--biblio/bibtex/utils/bibweb/ChangeLog213
-rw-r--r--biblio/bibtex/utils/bibweb/HOW_TO293
-rw-r--r--biblio/bibtex/utils/bibweb/INSTALL89
-rw-r--r--biblio/bibtex/utils/bibweb/README41
-rw-r--r--biblio/bibtex/utils/bibweb/bibweb529
-rw-r--r--biblio/bibtex/utils/bibweb/bibweb.html824
-rw-r--r--biblio/bibtex/utils/bibweb/bibweb.info594
-rw-r--r--biblio/bibtex/utils/bibweb/bibweb.texi776
-rw-r--r--biblio/bibtex/utils/bibweb/bibweb_toc.html33
-rw-r--r--biblio/bibtex/utils/bibweb/test.tex44
11 files changed, 3776 insertions, 0 deletions
diff --git a/biblio/bibtex/utils/bibweb/COPYING b/biblio/bibtex/utils/bibweb/COPYING
new file mode 100644
index 0000000000..eeb586b392
--- /dev/null
+++ b/biblio/bibtex/utils/bibweb/COPYING
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/biblio/bibtex/utils/bibweb/ChangeLog b/biblio/bibtex/utils/bibweb/ChangeLog
new file mode 100644
index 0000000000..798b4d6ec4
--- /dev/null
+++ b/biblio/bibtex/utils/bibweb/ChangeLog
@@ -0,0 +1,213 @@
+2003-11-19 John H Palmieri <palmieri@math.washington.edu>
+
+ * released version 0.49.
+
+ * bibweb: the AMS did something to break bibweb again, and I think
+ I've fixed it. In particular: there are now two types of MR
+ numbers: the old ones, and new ones which are just 7 digit
+ numbers. bibweb now uses the old ones for printing and uses the
+ new ones for searching and constructing URLs. Also, the AMS
+ changed the basic URL for the initial search, and so I've tried to
+ fix the one bibweb uses to compensate.
+
+2002-11-12 John H Palmieri <palmieri@math.washington.edu>
+
+ * released version 0.48.
+
+ * bibweb: changed path to perl executable
+
+ * bibweb: the AMS did something to break bibweb again, and I think
+ I've fixed it.
+
+2002-03-21 John H Palmieri <palmieri@math.washington.edu>
+
+ * released version 0.47.
+
+ * bibweb: added option '-sep CHAR': use CHAR instead of semicolon
+ to separate fields in long citation format.
+
+2000-11-09 John H. Palmieri <palmieri@math.washington.edu>
+
+ * released version 0.46.
+
+ * bibweb: the AMS did something to break bibweb again, and I think
+ I've fixed it.
+
+2000-11-09 Laurent Bartholdi <Laurent.Bartholdi@math.unige.ch>,
+ (modified by John H. Palmieri <palmieri@math.washington.edu>)
+
+ * bibweb: added option '-r': insert the math review in the bibtex output.
+
+2000-02-10 John H. Palmieri <palmieri@math.washington.edu>
+
+ * bibweb: specifying publication year wasn't working, so I fixed
+ it (by specifying the 'dr' field to be either 'all' or 'pubyear').
+
+1999-09-23 John Palmieri <palmieri@math.washington.edu>
+
+ * bibweb: released version 0.44.
+
+ * bibweb: changed URLs and stuff so that bibweb works with MathSciNet
+ version 5.0.
+
+ * bibweb: command line option -pdf retrieves information in pdf format.
+
+ * bibweb: new address.
+
+1999-03-02 John H Palmieri <palmieri@member.ams.org>
+
+ * bibweb: released version 0.43.
+
+ * bibweb: clarified copyright and licensing information.
+
+1998-10-26 John H Palmieri <palmieri@member.ams.org>
+
+ * bibweb: released version 0.41.
+
+1998-10-26 Michael Friendly <friendly@hotspur.psych.yorku.ca>
+
+ * bibweb: added option to look for webget if neither lynx nor wget
+ are present.
+
+1998-10-26 John H Palmieri <palmieri@member.ams.org>
+
+ * bibweb: more modifications related to MathSciNet 4.0.
+
+1998-09-22 John H Palmieri <palmieri@member.ams.org>
+
+ * bibweb: released version 0.41.
+
+ * bibweb: changed URLs and stuff so that bibweb works with MathSciNet
+ version 4.0.
+
+1998-05-04 John H Palmieri <palmieri@member.ams.org>
+
+ * bibweb: released version 0.40.
+
+ * bibweb: added another paragraph about the GNU GPL.
+
+ * COPYING: added this file to the distribution.
+
+1998-04-21 John H Palmieri <palmieri@member.ams.org>
+
+ * bibweb: released version 0.39.
+
+ * bibweb: made comment character a variable, in case some weird
+ version of BibTeX barfs when it sees `%'.
+
+1998-04-15 John H Palmieri <palmieri@member.ams.org>
+
+ * bibweb: released version 0.38.
+
+ * bibweb: fixed a bug: $use_bibtex was not being set by default if
+ no other options were chosen.
+
+ * bibweb: MathSciNet can now handled getitem requests properly
+ with temporary MR numbers.
+
+1998-04-02 John H Palmieri <palmieri@member.ams.org>
+
+ * bibweb: released version 0.37.
+
+ * bibweb: I noticed that lynx seems able to return dvi and
+ postscript output just fine, so the -d and -p options now work, as
+ long as lynx is available.
+
+ * bibweb: Since MathSciNet now can return BibTeX information
+ directly using mathscinet-getitem, the URLs are easier once we
+ know the MR number. So $new_wget_url has been redefined.
+
+1998-01-06 John H Palmieri <palmieri@member.ams.org>
+
+ * bibweb: released version 0.36.
+
+ * bibweb: New feature: bibweb uses the environment variable
+ MATHSCINET_SITE for its default MathSciNet search site. If this
+ variable is not defined, then the default is e-math.ams.org. Of
+ course, you can still specify a different site using the
+ command-line argument -e.
+
+ * bibweb: released version 0.35.
+
+ * bibweb: New feature: if you give the argument '-e rice', it
+ translates that to '-e ams.rice.edu'. Similarly:
+ 'ams' is short-hand for 'e-math.ams.org',
+ 'bielefeld' is shorthand for 'ams.mathematik.uni-bielefeld.de',
+ 'bonn' is shorthand for 'klymene.mpim-bonn.mpg.de', and
+ 'strasbg' is shorthand for 'irmasrv1.u-strasbg.fr'
+
+ * bibweb: AMS changed its format, so bibweb wasn't retrieving the
+ number of matches.
+
+1998-01-06 John Greenlees <j.greenlees@sheffield.ac.uk>
+
+ * bibweb: changed Bielefeld address. (Well, maybe not.)
+
+1997-12-05 Ralph Freese <ralph@math.hawaii.edu>
+
+ * bibweb ('foreach $warning' loop): changed 'last' to 'next'
+
+1997-11-25 John H Palmieri <palmieri@member.ams.org>
+
+ * bibweb: fixed bug: if using Lynx, and when retrieving item with
+ temporary MR number, nothing was returned.
+
+1997-11-07 John H Palmieri <palmieri@member.ams.org>
+
+ * bibweb: fixed bug: if --max=NUM option was used with NUM>9, if
+ there were more than 10 matches, only first 9 were returned.
+
+1997-11-05 John H Palmieri <palmieri@member.ams.org>
+
+ * bibweb: changed version to 0.31.
+
+ * bibweb.texi (etc): fiddled a bit with the installation instructions.
+
+1997-10-28 John H Palmieri <palmieri@member.ams.org>
+
+ * bibweb: changed version to 0.30, to celebrate the existence of
+ documentation.
+
+ * bibweb.texi: wrote the documentation.
+
+ * bibweb: changed version to 0.29
+
+ * bibweb: added command line option "std"
+
+ * bibweb: automatically use lynx if wget is not found.
+
+1997-10-27 John H Palmieri <palmieri@member.ams.org>
+
+ * bibweb: changed version to 0.28
+
+ * bibweb: fixed bug in parsing math review number--in the last few
+ versions, even when there was a unique match, the appropriate key
+ would not get assigned to the bibtex entry.
+
+ * bibweb: fixed bug in citation parsing (have to set author, etc,
+ to '' for each citation)
+
+ * bibweb: changed version to 0.27
+
+ * bibweb: little changes
+
+ * bibweb: changed version to 0.26
+
+ * bibweb: fixed one or two bugs with -cite option
+
+1997-10-26 John H Palmieri <palmieri@member.ams.org>
+
+ * bibweb: changed version to 0.25
+
+ * bibweb: fix round-up of $max_matches
+
+ * bibweb: use GetOpt to read command line arguments
+
+1997-10-25 John H Palmieri <palmieri@member.ams.org>
+
+ * bibweb: changed version to 0.24
+
+ * bibweb: changed some stylist choices, added some comments
+
+ * bibweb: changed /bin/perl to /usr/bin/perl
+
diff --git a/biblio/bibtex/utils/bibweb/HOW_TO b/biblio/bibtex/utils/bibweb/HOW_TO
new file mode 100644
index 0000000000..6f098671cb
--- /dev/null
+++ b/biblio/bibtex/utils/bibweb/HOW_TO
@@ -0,0 +1,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
diff --git a/biblio/bibtex/utils/bibweb/INSTALL b/biblio/bibtex/utils/bibweb/INSTALL
new file mode 100644
index 0000000000..cd777b7454
--- /dev/null
+++ b/biblio/bibtex/utils/bibweb/INSTALL
@@ -0,0 +1,89 @@
+
+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).
+
+-------------------
+
+Before you even think about installing bibweb, you need to make sure
+that you can use MathSciNet from your machine. If not, you're out of
+luck.
+
+To install bibweb, you need to do two things:
+
+1. (optional) Get a copy of the program 'wget' from your favorite GNU
+site. Some choices of ftp sites are:
+
+ftp://ftp.hawaii.edu/mirrors/gnu
+ftp://ftp.digex.net/pub/gnu
+ftp://wuarchive.wustl.edu/systems/gnu
+ftp://ftp.cs.columbia.edu/archives/gnu/prep
+ftp://uiarchive.cso.uiuc.edu/pub/gnu
+ftp://gatekeeper.dec.com/pub/GNU
+ftp://labrea.stanford.edu/gnu
+ftp://ftp.uu.net/archive/systems/gnu
+ftp://prep.ai.mit.edu/pub/gnu (the main GNU site, but use a mirror instead)
+
+Once you've retrieved it, install it. (When I did this, I just
+followed the wget installation instructions, and it worked without a
+hitch.)
+
+See Note 1 for a description of wget.
+
+If you have lynx and you want to skip step 1, you can; bibweb will use
+lynx if it can't find wget. wget is faster than lynx, though.
+
+
+2. Put bibweb somewhere in your path. For instance, you might put
+it in $HOME/bin, as long as that is in your path (and if it isn't,
+look at your .cshrc (or equivalent) file). Make sure its permissions
+are set to "executable" (i.e., do 'chmod ugo+x bibweb'). Also find
+out where perl lives on your computer, and put its path on the first
+line of bibweb. On my machine, for instance, I might use
+
+ #!/usr/local/bin/perl5
+
+instead of '#!/usr/local/bin/perl'.
+
+bibweb works a bit better with version 5 of perl than with version
+4. I haven't even tested it with earlier versions.
+
+See Note 2 for a brief description of bibweb.
+
+3. There is no third thing. You're ready to go.
+
+----------------
+
+Notes:
+
+1. wget is a "utility to retrieve files from the World Wide Web", to
+quote the man page. In other words, it lets you browse the web
+without actually wasting time, which sort of defeats the purpose. If
+you run
+
+ wget http://e-math.ams.org/
+
+then wget retrieves the AMS home page and saves it in your directory.
+(I'm not quite sure why you would want to retrieve this page, but
+anyway...) A slightly more useful example:
+
+ wget http://www.gnus.org/gnus.tar.gz
+
+downloads the most recent beta version of the gnus package (which is a
+news and mail reader for Emacs).
+
+wget is GNU software, so it's freely distributable.
+
+
+2. bibweb is a perl script that scans the output from a bibtex run,
+figures out authors, titles, and so forth, then queries MathSciNet
+using wget (via some arcane URL).
+
+I wrote bibweb, and it is distributed under the GNU General Public
+License. Hence it's freely distributable. See the file 'COPYING' for
+details.
+
+----------------
+
+John H. Palmieri
+palmieri@math.washington.edu
diff --git a/biblio/bibtex/utils/bibweb/README b/biblio/bibtex/utils/bibweb/README
new file mode 100644
index 0000000000..f883736cb6
--- /dev/null
+++ b/biblio/bibtex/utils/bibweb/README
@@ -0,0 +1,41 @@
+
+ BIBWEB
+
+bibweb is a utility for automatically retrieving bibliographical
+information from the American Mathematical Society's MathSciNet
+program. John Palmieri ("engineer") wrote bibweb, and Bill Dwyer
+("idea man") helped to design it.
+
+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, you can let bibweb do the work for you. You have to use
+bibtex (which means you have to use latex, I think), and you have to
+write citations in a particular format, but that's about it.
+
+See the file 'INSTALL' for installation instructions.
+
+See the file 'HOW_TO' for directions on the use of bibweb.
+
+This program is free software, distributed under the GNU General
+Public License; see the file 'COPYING' for more information.
+
+Here are the files in the distribution:
+
+COPYING GNU General Public License
+ChangeLog list of changes made to bibweb (not user-friendly)
+HOW_TO how to use
+INSTALL installation instructions
+README this file
+bibweb the actual perl script
+bibweb.dvi documentation, in dvi format
+bibweb.html documentation, in html format
+bibweb.info documentation, in info format
+bibweb.texi documentation, in texinfo format
+bibweb_toc.html table of contents for bibweb.html
+test.tex test file: run 'latex test', then 'bibweb test' and see
+ what happens
+
+----------------
+
+John H. Palmieri
+palmieri@math.washington.edu
diff --git a/biblio/bibtex/utils/bibweb/bibweb b/biblio/bibtex/utils/bibweb/bibweb
new file mode 100644
index 0000000000..10c93b1c85
--- /dev/null
+++ b/biblio/bibtex/utils/bibweb/bibweb
@@ -0,0 +1,529 @@
+#!/usr/bin/perl
+
+####################################################################
+#
+# File: bibweb
+# Author: John H. Palmieri <palmieri@math.washington.edu>
+# URL: http://www.math.washington.edu/~palmieri/Bibweb/
+# Version: 0.49 of Wed Nov 19 12:58:29 PST 2003
+# Description: retrieve bibliographical information from MathSciNet
+# automatically
+# Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003 John H. Palmieri
+# License: distributed under GNU General Public License -- see below.
+#
+####################################################################
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# (see file COPYING) along with this program; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+####################################################################
+#
+# Command line options:
+# FILE use FILE.aux as input, FILE.bib as output
+# -i FILE specify FILE as input (aux) file.
+# -o FILE specify FILE as output (bib) file. If FILE ends in
+# ".bib", write to FILE; otherwise, write to FILE.bib
+# -c CITATION looks up CITATION, rather than using an auxfile for input
+# -b get output in bibtex format (default)
+# -r insert the review in the bibtex output
+# -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)
+# -pdf get output in pdf format (written to MR#.pdf)
+# -t get output in text format (written to MR#.txt)
+# -m NUM return at most NUM entries (where NUM is rounded up
+# to 5, 10, 20, 50, 100, 1000)
+# -e WEB_SITE use WEB_SITE for MathSciNet search
+# -L use lynx instead of wget (note: lynx is slower)
+# -h print brief help message
+#
+# If you use only one of the -i and -o options, bibweb makes a guess
+# as to what the other file should be.
+#
+# At the moment, -d, -p, -pdf, -t only work if you have lynx available.
+####################################################################
+
+$bibtex = 'bibtex';
+$thisprog = 'bibweb';
+$version = '0.49';
+# good choices for e_math: 'www.ams.org', 'ams.rice.edu',
+# 'ams.mathematik.uni-bielefeld.de', 'ams.mpim-bonn.mpg.de',
+# 'ams.u-strasbg.fr', 'ams.impa.br'
+$e_math = $ENV{MATHSCINET_SITE};
+unless ($e_math) {$e_math = 'www.ams.org'}
+# % is not the official BibTeX comment character yet, so you might want
+# to change these to be absolutely compatible. Of course, I forget what
+# the official way is to do comments; maybe @comment?
+$bibtex_short_comment = '%%';
+$bsc = $bibtex_short_comment;
+$bibtex_long_comment = '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%';
+#
+$use_stdout = 0;
+$usage = <<EOT;
+This is $thisprog, version $version.
+To run bibtex on FILE, and then scan MathSciNet for missing
+ bibliographical information: $0 [options] FILE
+ 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)
+ -r insert the review in the bibtex output
+ -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)
+ -pdf get output in pdf format (written to MR\#.pdf)
+ -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)
+ -std write output to STDOUT (the screen, ordinarily)
+ -sep CHAR use CHAR to delimit fields in long citation format,
+ instead of semicolon (;)
+ -h print this help message
+EOT
+
+# read command line arguments
+use Getopt::Long;
+GetOptions("input|i=s" => \$auxfile,
+ "output|o=s" => \$bibfile,
+ "stdout|std|s" => \$use_stdout,
+ "cite|c=s" => \$only_cite,
+ "bibtex|bib|b" => \$use_bibtex,
+ "review|rev|r" => \$review,
+ "dvi|d" => \$use_dvi,
+ "postscript|ps|p" => \$use_postscript,
+ "pdf" => \$use_pdf,
+ "text|txt|t" => \$use_text,
+ "max|m=i" => \$user_max,
+ "emath|e=s" => \$e_math,
+ "lynx|Lynx|L" => \$use_lynx,
+ "separator|sep=s" => \$new_separator,
+ "help|h" => \$help) or
+ die "$usage\n";
+if ($help) { die "$usage\n" };
+
+OUTPUTTYPE: {
+ if ($use_bibtex) {
+ $output_type = 'bibtex';
+ $getitem_return = 'bibtex';
+ last OUTPUTTYPE;
+ };
+ if ($use_dvi) {
+ $output_type = 'dvi';
+ $use_lynx = 1;
+ $getitem_return = 'dvi';
+ last OUTPUTTYPE;
+ };
+ if ($use_postscript) {
+ $output_type = 'postscript';
+ $use_lynx = 1;
+ $getitem_return = 'ps';
+ last OUTPUTTYPE;
+ };
+ if ($use_pdf) {
+ $output_type = 'pdf';
+ $use_lynx = 1;
+ $getitem_return = 'pdf';
+ last OUTPUTTYPE;
+ };
+ if ($use_text) {
+ $output_type = 'text';
+ $use_lynx = 1;
+ $getitem_return = 'hl';
+ last OUTPUTTYPE;
+ };
+ $use_bibtex = 1;
+ $output_type = 'bibtex';
+ $getitem_return = 'bibtex';
+}
+
+chomp($which_wget = `which wget`);
+chomp($which_lynx = `which lynx`);
+chomp($which_webget = `which webget`);
+
+if (!$use_lynx and (-x $which_wget)) {
+ $wget = 'wget';
+ $wget_switches = ' --quiet -O - ';
+}
+elsif (!$use_lynx and (-x $which_webget)) {
+ $wget = 'webget';
+ $wget_switches = '';
+}
+elsif (-x $which_lynx) {
+ $wget = 'lynx';
+ $wget_switches = ' -source ';
+}
+else {
+ die "I can't find wget, lynx, or webget. Your path may not be set
+correctly, or you may need to install one of these programs. Lynx
+must be available in order to use the -dvi, -ps, -pdf, and -txt options.\n"
+}
+
+if ($e_math eq 'ams') {$e_math = 'www.ams.org'}
+if ($e_math eq 'rice') {$e_math = 'ams.rice.edu'}
+if ($e_math eq 'bielefeld') {$e_math = 'ams.mathematik.uni-bielefeld.de'}
+if ($e_math eq 'bonn') {$e_math = 'ams.mpim-bonn.mpg.de'}
+if ($e_math eq 'strasbg') {$e_math = 'ams.u-strasbg.fr'}
+if ($e_math eq 'impa') {$e_math = 'ams.impa.br'}
+
+if ($e_math =~ /
+ ^www.ams.org$|
+ ^ams.rice.edu$|
+ ^ams.mathematik.uni-bielefeld.de$|
+ ^ams.mpim-bonn.mpg.de$|
+ ^ams.u-strasbg.fr$|
+ ^ams.impa.br$
+ /x) {
+ print "Using \`$e_math\' for the MathSciNet search.\n"
+ }
+ else {
+ print "Warning: Your choice of \`$e_math\' for the MathSciNet site
+is not one of the recommended choices. Proceeding anyway...\n\n";
+}
+
+if ($e_math eq 'www.ams.org') {$redirect = 'Providence%2C+RI+USA'}
+if ($e_math eq 'ams.rice.edu') {$redirect = 'Houston%2C+TX+USA'}
+if ($e_math eq 'ams.mathematik.uni-bielefeld.de') {
+ $redirect = 'Bielefeld%2C+Germany'}
+if ($e_math eq 'ams.mpim-bonn.mpg.de') {$redirect = 'Bonn%2C+Germany'}
+if ($e_math eq 'ams.u-strasbg.fr') {$redirect = 'Strasbourg%2C+France'}
+if ($e_math eq 'ams.impa.br') {$redirect = 'Rio+de+Janeiro%2C+Brazil'}
+
+if ($user_max) {
+ MAX: {
+ if ($user_max <= 5) { $max_matches = 5; last MAX; };
+ if ($user_max <= 10) { $max_matches = 10; last MAX; };
+ if ($user_max <= 20) { $max_matches = 20; last MAX; };
+ if ($user_max <= 50) { $max_matches = 50; last MAX; };
+ if ($user_max <= 100) { $max_matches = 100; last MAX; };
+ if ($user_max <= 1000) { $max_matches = 1000; last MAX; };
+ $max_matches = 5;
+ };
+ if ($user_max != $max_matches) {
+ print "Rounding -m argument up to $max_matches.\n\n";
+ };
+}
+else {
+ $max_matches = 5;
+}
+
+unless ($auxfile and $bibfile) {
+ $file = shift(@ARGV);
+ $auxfile = ($auxfile or $file);
+ $bibfile = ($bibfile or "$file.bib");
+}
+
+if ($bibfile and $bibfile !~ m/\.bib$/) {
+ $bibfile = "$bibfile.bib";
+}
+
+if ($only_cite) {
+ $only_cite =~ s(\'\")();
+ @bibtex_output = (1);
+ $use_stdout = 1 if ($bibfile eq "" or $bibfile eq ".bib");
+}
+else {
+ $auxfile =~ s/\.aux$//;
+ if ($auxfile and not $bibfile) { $bibfile = "$auxfile.bib" }
+ unless (-e "$auxfile.aux") {die "Couldn't read $auxfile.aux\n"};
+ unless ($use_stdout) {
+ open(BIBFILE, ">>$bibfile") or die "Couldn't open $bibfile\n";
+ print "Appending output to $bibfile . . . \n\n";
+ }
+ @bibtex_output = `$bibtex $auxfile`;
+}
+
+$semicolon = ";";
+if ($new_separator) { $semicolon = quotemeta ($new_separator) }
+
+
+foreach $warning (@bibtex_output) {
+ # get citation
+ if ($only_cite) {
+ $citation_orig = $citation = $only_cite;
+ $citation =~ tr/,/./;
+ }
+ elsif ($warning =~ (/^Warning--I didn\'t find a database entry for \"([^\"]*)\"$/)) {
+ $citation_orig = $citation = $1;
+ next if &check_bibfile($citation_orig);
+ }
+ else { next; }
+
+
+ # split citation into author, etc.
+ $citation =~ s/-and-/-/g;
+ $citation =~ tr/./,/;
+ $author = '';
+ $title = '';
+ $journal = '';
+ $year = '';
+ $dr = 'all';
+ $misc = '';
+
+ if ($citation =~ m/$semicolon/) {
+ ($authors, $titles, $journals, $year) = split(/$semicolon/, $citation);
+ $author = join('+and+', split(/-/, $authors));
+ $title = join('+and+', split(/-/, $titles));
+ $journal = join('+and+', split(/-/, $journals));
+ }
+ else {
+ ($author, $subcitation) = split(/-/, $citation, 2);
+ if ($subcitation =~ /([<>=]?\d+)\Z/) {
+ $subcitation = $`;
+ $year = $1; }
+ $misc = join('+and+', split(/-/, $subcitation));
+ }
+
+ # parse year entry
+ YEAR: {
+ if ($year eq '') {
+ $dr = 'all';
+ last YEAR;
+ };
+ if ('<' eq substr($year, 0, 1)) {
+ $ord = 'lt';
+ $yr = substr($year, 1);
+ $dr = 'pubyear';
+ last YEAR;
+ };
+ if ('=' eq substr($year, 0, 1)) {
+ $ord = 'eq';
+ $yr = substr($year, 1);
+ $dr = 'pubyear';
+ last YEAR;
+ };
+ if ('>' eq substr($year, 0, 1)) {
+ $ord = 'gt';
+ $yr = substr($year, 1);
+ $dr = 'pubyear';
+ last YEAR;
+ };
+ $ord = 'eq';
+ $yr = $year;
+ $dr = 'pubyear';
+ }
+
+ # construct URL
+ $wget_url =
+ "\'http://$e_math/msnmain?fn=130&form=fullsearch&preferred_language-en&Submit=Start+Search&" .
+ "pg4=AUCN&s4=$author&co4=AND" .
+ "&pg5=TI&s5=$title&co5=AND" .
+ "&pg6=JOUR&s6=$journal&co6=AND" .
+ "&pg7=ALLF&s7=$misc" .
+ "&dr=$dr" .
+ "&yrop=$ord&arg3=$yr" .
+ "&yearRangeFirst=&yearRangeSecond=" .
+ "&pg3=ET&s3=All&l=20&reference_lists=show&redirect=$redirect\'";
+ unless ($use_stdout) {
+ &bib_print("", "$bibtex_long_comment \n");
+ }
+ &bib_print("working on citation \'$citation_orig\' \n",
+ "$bsc citation \'$citation_orig\' \n" );
+ $match_info_printed = '';
+ $done_getting_bibtex = '';
+
+ # print $wget_url;
+
+ # call wget and process its output
+ foreach $line (`$wget $wget_url $wget_switches`) {
+ # print $line;
+
+ # get number of matches
+ if (($line =~ (/Number of Matches:.*<\/b> ([0-9]*)/))
+ or ($line =~ (/Item:.*<strong>([0-9]*)<\/strong>\s*$/))) {
+ # print $line;
+
+ $matches = $1;
+ # print $matches;
+
+ if ($matches > $max_matches) {
+ &bib_print("More than $max_matches matches found " .
+ "($matches); " .
+ "please refine your search criteria,\n" .
+ "or use the -m option. \n\n",
+ "$bsc More than $max_matches matches found " .
+ "($matches). \n$bsc\n");
+ last;
+ }
+ elsif ( not $match_info_printed ) {
+ $plural = "es";
+ $match_info_printed = 1;
+ if ($matches == 1) {$plural = ""}
+ &bib_print("$matches match$plural found. \n\n", "" );
+ }
+ }
+
+ # given match, get MR number, convert to forms for use in URL
+ #elsif ($line =~ (/TYPE=\"checkbox\" VALUE=\"([0-9][0-9_a-z]*)\"/)) {
+ elsif ((($matches == 1) and
+ ($line =~ (/<strong>MR([^<]*)<\/strong>\s*<strong>\(([^)]*)\)<\/strong>/)) and
+ (not $done_getting_bibtex))
+ or
+ (($matches > 1) and
+ ($line =~ (/<strong>MR([^<]*)<\/strong>\s*<strong>\(([^)]*)\)<\/strong>/)))) {
+
+ #print $line;
+
+ if ($matches == 1) { $done_getting_bibtex = 1 };
+
+ # there are now new MR numbers: a unique 7 digit number
+ # assigned to each item in the database. Assign this to $mr,
+ # and use it to search. Assign old MR number to $old_mr, and
+ # use it for printing.
+ $mr = $1;
+ $old_mr = $2;
+ &bib_print("", "$bsc Math Reviews number: $old_mr \n");
+ $old_mr =~ tr/ //d;
+ $old_mr =~ tr/_/:/;
+ $old_mr =~ tr/\#/:/;
+ $old_mr =~ tr/,/:/;
+
+ # print $old_mr;
+
+ $new_wget_url = "\'http://$e_math/mathscinet-getitem?mr=$mr&return=$getitem_return\'";
+
+ # bibtex output
+
+ if ($output_type eq 'bibtex') {
+
+ # call wget again, process its output
+ $at_sign_found = 0;
+
+ foreach $line2 (`$wget $new_wget_url $wget_switches`) {
+
+ # look for @ at start of bibtex
+ if (not $at_sign_found) {
+ $at_sign_found = ($line2 =~ /@/);
+ }
+
+ if ($at_sign_found) {
+ # remove html tags from text and print it (if not blank)
+ $line2 = &remove_html($line2);
+ unless (($line2 =~ (/^\s*$/)) or ($line2 =~ "MathSciNet")) {
+ $mr =~ s/CMP//;
+
+ if ($matches == 1 and $line2 =~ (/$old_mr/)) {
+ $line2 =~ s/MR$old_mr/$citation_orig/;
+ }
+ if ($line2 =~ "(c).*[0-9]*.*American Mathematical Society") {
+ # &bib_print("", "$bsc $line2\n$bsc\n");
+ &bib_print ("", "\n");
+ }
+ else {
+ &bib_print("", "$line2" );
+ if ($review && $line2 =~ "MRREV") {
+ &print_review($mr);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ # dvi, ps, pdf, txt output
+ else {
+ $wget_switches = " -dump > MR$mr.$getitem_return";
+ system ("$wget $new_wget_url $wget_switches");
+ print "Output written to MR$mr.$getitem_return\n";
+ }
+ }
+
+ # warning messages...
+ elsif ($line =~ (/Sorry, no matches found/)) {
+ &bib_print("No matches found; please revise your search criteria. \n\n",
+ "$bsc No matches found. \n$bsc\n");
+ last;
+ }
+ elsif ($line =~ (/Sorry, /)) {
+ &bib_print("There was an unknown error. " .
+ "Please check for typos, or just try again.\n\n",
+ "$bsc Syntax or server error. \n$bsc\n");
+ }
+ }
+}
+
+close(BIBFILE);
+
+# run bibtex again, to make use of new keys
+exec "$bibtex $auxfile" unless ($only_cite);
+
+########## simple subroutines
+
+# scan BIBFILE for citation, to see if you've looked for it before
+sub check_bibfile {
+ local($answer) = 0;
+ local($cite) = $_[0];
+ if ($] >= 5) { $cite = "\Q$_[0]\E"; }
+ if (-e $bibfile) {
+ open(BIBFILE, "$bibfile");
+ while (<BIBFILE>) {
+ if (/$bsc\s*citation\s*\'$cite\'/) {
+ $answer = 1;
+ last;
+ }
+ }
+ close(BIBFILE);
+ if ($answer) { print "You've searched for $_[0] before.\n\n" };
+ $answer;
+ }
+ else {
+ 0;
+ }
+}
+
+# remove html tags (strings like <blah> and </blah>)
+sub remove_html {
+ local($text) = $_[0];
+ $text =~ s/<\/[^\>]*\>/ /g;
+ $text =~ s/<[^\>]*\>//g;
+ $text;
+}
+
+# print to screen and to BIBFILE, unless writing to STDOUT
+sub bib_print {
+ local($line1, $line2) = ($_[0], $_[1]);
+ if ($use_stdout) {
+ if ($use_bibtex) {print $line2}
+ else {print $line1}
+ }
+ else {
+ open(BIBFILE, ">>$bibfile") or die "Couldn't open $bibfile\n";
+ print $line1;
+ print BIBFILE "$line2";
+ }
+}
+
+# print the review of the current $mr item.
+sub print_review {
+ local($mr) = $_[0];
+
+ local($command) = "$wget \'http://$e_math/mathscinet-getitem?mr=$mr\' $wget_switches";
+ local($count) = 0;
+ local($line);
+ &bib_print ("", " REVIEW = {");
+
+ foreach $line (`$command`) {
+ # print $line;
+ if ($line =~ "<STRONG>Reviewed</STRONG>")
+ { $count++;
+ chomp($line);
+ &bib_print ("", &remove_html($line) . " },\n"); }
+ if ($count == 2) { &bib_print ("", &remove_html($line)) }
+ if ($line =~ "citation to clipboard") { $count++ }
+ if ($line =~ "<BR CLEAR=RIGHT>") { $count++ }
+ }
+ }
diff --git a/biblio/bibtex/utils/bibweb/bibweb.html b/biblio/bibtex/utils/bibweb/bibweb.html
new file mode 100644
index 0000000000..b769cd33a4
--- /dev/null
+++ b/biblio/bibtex/utils/bibweb/bibweb.html
@@ -0,0 +1,824 @@
+<HTML>
+<HEAD>
+<!-- Created by texi2html 1.56k from bibweb.texi on 9 November 2000 -->
+
+<TITLE>Bibweb Manual</TITLE>
+</HEAD>
+<BODY>
+<H1>Bibweb Manual</H1>
+<ADDRESS>(info by John H. Palmieri)</ADDRESS>
+<P>
+<P><HR><P>
+<P>
+@tolerance 10000
+
+
+<P>
+@title{Bibweb Manual}
+
+
+<P>
+Copyright (C) 1997, 1998, 2000 John H. Palmieri
+
+
+<P>
+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.
+
+
+<P>
+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.
+
+
+<P>
+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.
+
+
+<P>
+Bibweb is a perl script written by John Palmieri (in consultation with
+Bill Dwyer).
+
+
+<P>
+This is version 0.46, November 2000, of the Bibweb manual. Bug reports
+and suggestions for new features should go to
+<SAMP>`palmieri@math.washington.edu'</SAMP>.
+
+
+<P>
+This is the first version of this manual; it is done (except for the
+indices).
+
+
+
+
+<H1><A NAME="SEC1" HREF="bibweb_toc.html#TOC1">Introduction</A></H1>
+
+<P>
+Bibweb is a utility for automatically retrieving bibliographical
+information from the American Mathematical Society's MathSciNet search
+engine (available at <A HREF="http://www.ams.org/mathscinet">http://www.ams.org/mathscinet</A>). (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...)
+
+
+<P>
+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.
+
+
+<P>
+Briefly: once you've installed bibweb, if you are editing a file called
+<TT>`bozo.tex'</TT>, then you need to insert the following line:
+
+
+
+<PRE>
+ \bibliography{bozo}
+</PRE>
+
+<P>
+If you are also using the BibTeX file <TT>`junk.bib'</TT>, then you
+should use the following line:
+
+
+
+<PRE>
+ \bibliography{junk,bozo}
+</PRE>
+
+<P>
+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
+
+
+
+<PRE>
+ \cite{miller-ravenel-wilson-periodic}
+</PRE>
+
+<P>
+or
+
+
+
+<PRE>
+ \cite{miller-ravenel-wilson-novikov}
+</PRE>
+
+<P>
+or
+
+
+
+<PRE>
+ \cite{miller-ravenel-wilson}
+</PRE>
+
+<P>
+or
+
+
+
+<PRE>
+ \cite{miller-ravenel;adams-spectral}
+</PRE>
+
+<P>
+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
+
+
+
+<PRE>
+ bibweb bozo
+</PRE>
+
+<P>
+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 <TT>`bozo.bib'</TT>.
+
+
+<P>
+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 <A HREF="bibweb.html#SEC8">Options</A> for details.
+
+
+
+
+<H1><A NAME="SEC2" HREF="bibweb_toc.html#TOC2">How to</A></H1>
+
+<P>
+In this section, we give detailed instructions for how to use bibweb.
+
+
+
+
+<H2><A NAME="SEC3" HREF="bibweb_toc.html#TOC3">LaTeX file</A></H2>
+
+<P>
+In this section, we describe how to write your LaTeX file so that it
+will produce output suitable for bibweb.
+
+
+
+
+<H3><A NAME="SEC4" HREF="bibweb_toc.html#TOC4">Bibliography command</A></H3>
+
+<P>
+You need to decide where you want to put the bibliographic information
+that bibweb will give you; this should be a file ending in <SAMP>`.bib'</SAMP>.
+Suppose you decide to use a file called <TT>`jimbob.bib'</TT> (which may or
+may not exist at this point). Then you need the following line in your
+LaTeX file:
+
+
+
+<PRE>
+ \bibliography{jimbob}
+</PRE>
+
+<P>
+As indicated above, if you already have some other bibtex files lying
+around, and you also want to use these (say they're called
+<TT>`manny.bib'</TT>, <TT>`moe.bib'</TT>, and <TT>`jack.bib'</TT>),
+then you should instead use the following line:
+
+
+
+<PRE>
+ \bibliography{manny,moe,jack,jimbob}
+</PRE>
+
+
+
+<H3><A NAME="SEC5" HREF="bibweb_toc.html#TOC5">Citations</A></H3>
+
+<P>
+There are two different formats for citations that bibweb knows how to
+handle, and it handles them in different ways.
+
+
+
+<UL>
+<LI>
+
+Simpler format:
+
+
+<PRE>
+ \cite{aaa-bbb-ccc-ddd-year}
+</PRE>
+
+<SAMP>`aaa'</SAMP> gets sent as the author, <SAMP>`bbb'</SAMP>, <SAMP>`ccc'</SAMP>, and
+<SAMP>`ddd'</SAMP> get sent as miscellany (they can match anything, including
+the author, title, journal, reviewer, or the text of the review).
+<SAMP>`year'</SAMP> should be of the form <SAMP>`&#60;1995'</SAMP> or <SAMP>`&#62;1995'</SAMP> or
+<SAMP>`=1995'</SAMP> or <SAMP>`1995'</SAMP>, in which case bibweb only searches for
+papers from the appropriate years. <SAMP>`1995'</SAMP> is treated the same as
+<SAMP>`=1995'</SAMP>. 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 <SAMP>`year'</SAMP> is in some other format, it will just get ignored.
+
+For example, <SAMP>`\cite{devinatz-hopkins-nilpotence}'</SAMP> 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 the second sort of match, you can use the more
+involved format.
+
+<LI>
+
+More involved format:
+
+
+<PRE>
+ \cite{a1-a2-...-ak;t1-t2-...-tm;j1-j2-...jn;year}
+</PRE>
+
+<SAMP>`year'</SAMP> should be just like field <SAMP>`year'</SAMP> in the simpler format,
+but it slows things down, so I would avoid it. <SAMP>`a1'</SAMP>, ...,
+<SAMP>`ak'</SAMP> are treated as authors, <SAMP>`t1'</SAMP>, ..., <SAMP>`tm'</SAMP> are treated
+as words in the title, <SAMP>`j1'</SAMP>, ..., <SAMP>`jn'</SAMP> are treated as words in
+the journal name. You don't have to include all of the fields.
+
+For example, <SAMP>`\cite{devinatz-hopkins;nilpotence}'</SAMP> matches only
+the paper "Nilpotence and stable homotopy theory, I" by Devinatz,
+Hopkins, and Smith. <SAMP>`\cite{miller-wilkerson;vanishing-steenrod}'</SAMP>
+matches only "Vanishing lines for modules over the Steenrod algebra"
+by Miller and Wilkerson, as does
+<SAMP>`\cite{miller-wilkerson;vanishing-steenrod;;&#60;1985}'</SAMP>, as does
+<SAMP>`\cite{miller-wilkerson;vanishing-steenrod;pure;&#60;1985}'</SAMP> (the
+paper appeared in the <CITE>Journal of Pure and Applied Algebra</CITE>).
+
+<LI>
+
+Using wildcards:
+
+You can use <SAMP>`*'</SAMP> as a wildcard; for instance,
+<SAMP>`\cite{adams;hopf-invar*-one}'</SAMP> would return the two papers by
+Adams called "On the non-existence of elements of Hopf invariant one".
+
+When using MathSciNet by hand, if you want to search for papers by Mike
+Hopkins, you could set the author field equal to <SAMP>`hopkins, m*'</SAMP>. On
+the other hand, BibTeX treats commas as separators: if you give
+BibTeX the command <SAMP>`\cite{hopkins,m*;global}'</SAMP>, bibtex will
+treat <SAMP>`hopkins'</SAMP> as one source and <SAMP>`m*;global'</SAMP> as another. So
+to get bibweb to do the right thing, you should use a period instead of
+a comma: use the command
+
+
+<PRE>
+ \cite{hopkins.m*;global}
+</PRE>
+
+Bibweb will translate the <SAMP>`.'</SAMP> to a <SAMP>`,'</SAMP> before sending the
+query to MathSciNet, so this citation would produce
+
+
+<PRE>
+%% Math Reviews number: 89g:55022
+@incollection {hopkins.m*;global,
+ AUTHOR = {Hopkins, Michael J.},
+ TITLE = {Global methods in homotopy theory},
+ BOOKTITLE = {Homotopy theory (Durham, 1985)},
+ PAGES = {73--96},
+ PUBLISHER = {Cambridge Univ. Press},
+ ADDRESS = {Cambridge},
+ YEAR = {1987},
+ MRCLASS = {55Q45 (55P42 55P60 55Q10)},
+ MRNUMBER = {89g:55022},
+MRREVIEWER = {Douglas C. Ravenel},
+}
+</PRE>
+
+</UL>
+
+
+
+<H2><A NAME="SEC6" HREF="bibweb_toc.html#TOC6">Invoking bibweb</A></H2>
+
+
+
+<H3><A NAME="SEC7" HREF="bibweb_toc.html#TOC7">Basic operation</A></H3>
+
+<P>
+In this section, we give the basic instructions for running bibweb, as
+well as a brief description of what bibweb does.
+
+
+
+<PRE>
+ bibweb <VAR>file</VAR>
+</PRE>
+
+<P>
+will run bibweb on <VAR>file</VAR>. For example, to run bibweb on the file
+<TT>`elvis'</TT>, you type
+
+
+
+<PRE>
+ bibweb elvis
+</PRE>
+
+<P>
+Then bibweb will run BibTeX on <TT>`elvis'</TT> and read through the list
+of missing citations. For each such citation, it searches MathSciNet,
+and writes its results to the file <TT>`elvis.bib'</TT>. Once it has done
+this, it runs BibTeX again, to make use of any new citations.
+
+
+<P>
+If bibweb can't find the file <TT>`elvis.aux'</TT> (which it wants to pass
+to BibTeX), it prints an error message and stops. If it can't write
+to <TT>`elvis.bib'</TT>, it should also print an error message and stop.
+
+
+<P>
+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 <SAMP>`wget'</SAMP>; this is a GNU program (hence freely
+distributable). You can get it at your favorite GNU mirror. The second
+best web browser is <SAMP>`lynx'</SAMP>; if bibweb can't find wget, it uses
+lynx. Another option is <SAMP>`webget'</SAMP>, which is a perl script that has
+some of the capabilities of wget. See section <A HREF="bibweb.html#SEC9">Installation</A> 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.)
+
+
+<P>
+By "its results", I mean the following:
+
+
+
+<UL>
+<LI>
+
+If bibweb finds exactly one entry matching your citation, it puts it in
+<TT>`elvis.bib'</TT> with the key you chose. For instance, if you have
+
+
+<PRE>
+ \cite{kan-miller-splitting-spaces}
+</PRE>
+
+then bibweb puts something like the following in <TT>`elvis.bib'</TT>:
+
+
+<PRE>
+%% citation 'kan-miller-splitting-spaces'
+%% 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},
+ MRCLASS = {55C35},
+ MRNUMBER = {57 \#7582},
+MRREVIEWER = {J. P. May},
+}
+</PRE>
+
+<LI>
+
+If it finds several matches (at most 5), it writes them all to
+<TT>`elvis.bib'</TT>, 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 <TT>`elvis.bib'</TT> 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 <TT>`elvis.bib'</TT>.
+
+For example, if you have
+
+
+<PRE>
+ \cite{serre;faisceaux}
+</PRE>
+
+then there are two matches (or maybe there are three, now), which get
+entered into <TT>`elvis.bib'</TT> as
+
+
+<PRE>
+%% citation 'serre;faisceaux'
+%% Math Reviews number: 35 #3088
+@article {MR35:3088,
+ AUTHOR = {Serre, Jean-Pierre},
+ TITLE = {Prolongement de faisceaux analytiques coh\'erents},
+ JOURNAL = {Ann. Inst. Fourier (Grenoble)},
+ VOLUME = {16},
+ YEAR = {1966},
+ NUMBER = {fasc. 1},
+ PAGES = {363--374},
+ MRCLASS = {32.50 (32.27)},
+ MRNUMBER = {35 \#3088},
+MRREVIEWER = {B. Shiffman},
+}
+%% Math Reviews number: 16,953c
+@article {MR16:953c,
+ AUTHOR = {Serre, Jean-Pierre},
+ TITLE = {Faisceaux alg\'ebriques coh\'erents},
+ JOURNAL = {Ann. of Math. (2)},
+ VOLUME = {61},
+ YEAR = {1955},
+ PAGES = {197--278},
+ MRCLASS = {14.0X},
+ MRNUMBER = {16,953c},
+MRREVIEWER = {C. Chevalley},
+}
+</PRE>
+
+<LI>
+
+If it finds more than 5 matches, it tells you that, and doesn't add any
+new entries to <TT>`elvis.bib'</TT>. For example, if you have
+
+
+<PRE>
+ \cite{serre}
+</PRE>
+
+then bibweb adds the following to <TT>`elvis.bib'</TT>:
+
+
+<PRE>
+%% citation 'serre'
+%% More than 5 matches found.
+</PRE>
+
+You can change the number <SAMP>`5'</SAMP> to something else by using the
+<SAMP>`-m'</SAMP> option. See section <A HREF="bibweb.html#SEC8">Options</A>.
+
+<LI>
+
+If it doesn't find any matches, it tells you that, and doesn't add any
+new entries to <TT>`elvis.bib'</TT>. For example, if you have
+
+
+<PRE>
+ \cite{serre-kan}
+</PRE>
+
+then bibweb adds the following to <TT>`elvis.bib'</TT>:
+
+
+<PRE>
+%% citation 'serre-kan'
+%% No matches found.
+</PRE>
+
+<LI>
+
+Occasionally, bibweb will say it only finds one match, but it will add
+several things to <TT>`elvis.bib'</TT>. This happens when there are several
+papers whose reviews are all together on MathSciNet (see
+<SAMP>`\cite{dwyer-kan;obstruction-theory-diagrams}'</SAMP>, for example). In
+these cases, bibweb ought to do a good job of assigning your chosen
+bibliographical key to the correct entry, but you might want to
+double-check.
+
+</UL>
+
+<P>
+Finally, note that if you give the citation
+
+
+
+<PRE>
+ \cite{serre}
+</PRE>
+
+<P>
+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".
+
+
+
+
+<H3><A NAME="SEC8" HREF="bibweb_toc.html#TOC8">Options</A></H3>
+
+<P>
+bibweb can be run with several different options.
+
+
+<DL COMPACT>
+
+<DT><SAMP>`-i <VAR>file</VAR>'</SAMP>
+<DD>
+<DT><SAMP>`--input=<VAR>file</VAR>'</SAMP>
+<DD>
+Run BibTeX on <VAR>file</VAR>.
+
+<DT><SAMP>`-o <VAR>file</VAR>'</SAMP>
+<DD>
+<DT><SAMP>`--output=<VAR>file</VAR>'</SAMP>
+<DD>
+Write output to <VAR>file</VAR> (after appending <SAMP>`.bib'</SAMP> to <VAR>file</VAR>,
+if necessary).
+
+<DT><SAMP>`--std'</SAMP>
+<DD>
+Write output to STDOUT (the screen, ordinarily).
+
+<DT><SAMP>`-c <VAR>citation</VAR>'</SAMP>
+<DD>
+<DT><SAMP>`--cite=<VAR>citation</VAR>'</SAMP>
+<DD>
+Look up only <VAR>citation</VAR>. In this case, the output is written to the
+screen, unless you also use the <SAMP>`-o'</SAMP> option.
+
+<DT><SAMP>`-m <VAR>num</VAR>'</SAMP>
+<DD>
+<DT><SAMP>`--max=<VAR>num</VAR>'</SAMP>
+<DD>
+Return at most <VAR>num</VAR> matches to each citation. Actually, <VAR>num</VAR>
+is rounded up according to the options available at MathSciNet:
+<VAR>num</VAR> will be rounded up to one of: 5, 10, 20, 50, 100, 1000.
+
+<DT><SAMP>`-e <VAR>site</VAR>'</SAMP>
+<DD>
+<DT><SAMP>`--emath=<VAR>site</VAR>'</SAMP>
+<DD>
+Search MathSciNet at the web site <VAR>site</VAR>. The default value is read
+from the environment variable <VAR>MATHSCINET_SITE</VAR>; if this variable
+hasn't been set, the default is <SAMP>`www.ams.org'</SAMP>. Some other good
+choices are <SAMP>`ams.rice.edu'</SAMP>, <SAMP>`ams.mathematik.uni-bielefeld.de'</SAMP>,
+<SAMP>`klymene.mpim-bonn.mpg.de'</SAMP>, <SAMP>`irmasrv1.u-strasbg.fr'</SAMP>, and
+<SAMP>`ams.impa.br'</SAMP>---see
+the MathSciNet homepage for more information. If you choose a value for
+<VAR>site</VAR> 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
+<VAR>site</VAR>: <SAMP>`ams'</SAMP> stands for <SAMP>`www.ams.org'</SAMP>; <SAMP>`rice'</SAMP>
+stands for <SAMP>`ams.rice.edu'</SAMP>; <SAMP>`bielefeld'</SAMP> stands for
+<SAMP>`ams.mathematik.uni-bielefeld.de'</SAMP>; <SAMP>`bonn'</SAMP> stands for
+<SAMP>`klymene.mpim-bonn.mpg.de'</SAMP>; <SAMP>`strasbg'</SAMP> stands for
+<SAMP>`irmasrv1.u-strasbg.fr'</SAMP>; and <SAMP>`impa'</SAMP> stands for
+<SAMP>`ams.impa.br'</SAMP>.
+
+<DT><SAMP>`-L'</SAMP>
+<DD>
+<DT><SAMP>`--lynx'</SAMP>
+<DD>
+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.)
+
+<DT><SAMP>`-h'</SAMP>
+<DD>
+<DT><SAMP>`--help'</SAMP>
+<DD>
+Print a short help message, and then quit.
+
+<DT><SAMP>`-b'</SAMP>
+<DD>
+<DT><SAMP>`--bibtex'</SAMP>
+<DD>
+Produce output in bibtex format (the default).
+
+<DT><SAMP>`-r'</SAMP>
+<DD>
+<DT><SAMP>`--review'</SAMP>
+<DD>
+Include the review in the bibtex output, in the form <SAMP>`REVIEW = { ... }'</SAMP>
+
+<DT><SAMP>`-d'</SAMP>
+<DD>
+<DT><SAMP>`--dvi'</SAMP>
+<DD>
+Produce output in dvi format. This option uses lynx rather than wget,
+so lynx must be available.
+
+<DT><SAMP>`-p'</SAMP>
+<DD>
+<DT><SAMP>`--postscript'</SAMP>
+<DD>
+Produce output in postscript format. This option uses lynx rather than wget,
+so lynx must be available.
+
+<DT><SAMP>`-pdf'</SAMP>
+<DD>
+Produce output in pdf format. This option uses lynx rather than wget,
+so lynx must be available.
+
+<DT><SAMP>`-t'</SAMP>
+<DD>
+<DT><SAMP>`--text'</SAMP>
+<DD>
+Produce output in text format. This option uses lynx rather than wget,
+so lynx must be available.
+
+</DL>
+
+<P>
+For example, any of the following commands
+
+
+
+<PRE>
+ 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
+</PRE>
+
+<P>
+has bibweb read the file <TT>`text.aux'</TT> and write output to
+<TT>`a.bib'</TT>, returning at most 10 matches for each citation.
+
+
+<P>
+The command
+
+
+
+<PRE>
+ bibweb --std -m 10 test
+</PRE>
+
+<P>
+reads <TT>`test.aux'</TT> and writes the output to the screen (or whatever
+you have STDOUT set to). The command
+
+
+
+<PRE>
+ bibweb --emath=ams.rice.edu bozo
+</PRE>
+
+<P>
+reads <TT>`bozo.aux'</TT>, writes to <TT>`bozo.bib'</TT>, and uses
+<A HREF="ams.rice.edu">ams.rice.edu</A> for the MathSciNet search, as do the commands
+
+
+
+<PRE>
+ bibweb --emath=rice bozo
+ bibweb -e rice bozo
+ bibweb bozo -e rice
+</PRE>
+
+<P>
+The command
+
+
+
+<PRE>
+ bibweb --emath=quack bozo
+</PRE>
+
+<P>
+uses <SAMP>`quack'</SAMP> for the MathSciNet search. In this case, bibweb will
+give a warning (since <SAMP>`quack'</SAMP> is not one of the recognized MathSciNet
+sites), and will produce no usable results (it will be fast, though).
+
+
+<P>
+If you run the command
+
+
+
+<PRE>
+ bibweb -m 23 -c 'serre'
+</PRE>
+
+<P>
+then bibweb will tell you that it is rounding 23 up to 50, and then it
+will look for all articles with <SAMP>`serre'</SAMP> as the author. In this
+case, it will tell you that there were more than 50 matches found. I
+suppose if you typed
+
+
+
+<PRE>
+ bibweb -m 1000 -c 'serre'
+</PRE>
+
+<P>
+then you would get all of Serre's papers listed on your screen. This
+might take a while. You could instead run
+
+
+
+<PRE>
+ bibweb -m 1000 -c 'serre' -o serre.bib
+</PRE>
+
+<P>
+and then the output would be stored in the file <TT>`serre.bib'</TT>.
+
+
+
+
+<H1><A NAME="SEC9" HREF="bibweb_toc.html#TOC9">Installation</A></H1>
+
+<P>
+This is complicated: put the file <TT>`bibweb'</TT> in your path and make
+sure it's executable.
+
+
+<P>
+That's it.
+
+
+<P>
+Actually, bibweb seems to require at least version 5.003 of perl, so if
+you have an older version, you may have to upgrade.
+
+
+<P>
+And of course, to use bibweb at all, you need to have a subscription to
+MathSciNet.
+
+
+<P>
+Bibweb also requires the presence of one of the following programs:
+<SAMP>`wget'</SAMP>, <SAMP>`lynx'</SAMP>, or <SAMP>`webget'</SAMP>. 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:
+
+
+
+<UL>
+<LI>
+
+<A HREF="ftp://ftp.hawaii.edu/mirrors/gnu">ftp://ftp.hawaii.edu/mirrors/gnu</A>
+
+<LI>
+
+<A HREF="ftp://ftp.digex.net/pub/gnu">ftp://ftp.digex.net/pub/gnu</A>
+
+<LI>
+
+<A HREF="ftp://wuarchive.wustl.edu/systems/gnu">ftp://wuarchive.wustl.edu/systems/gnu</A>
+
+<LI>
+
+<A HREF="ftp://ftp.cs.columbia.edu/archives/gnu/prep">ftp://ftp.cs.columbia.edu/archives/gnu/prep</A>
+
+<LI>
+
+<A HREF="ftp://uiarchive.cso.uiuc.edu/pub/gnu">ftp://uiarchive.cso.uiuc.edu/pub/gnu</A>
+
+<LI>
+
+<A HREF="ftp://gatekeeper.dec.com/pub/GNU">ftp://gatekeeper.dec.com/pub/GNU</A>
+
+<LI>
+
+<A HREF="ftp://labrea.stanford.edu/gnu">ftp://labrea.stanford.edu/gnu</A>
+
+<LI>
+
+<A HREF="ftp://ftp.uu.net/archive/systems/gnu">ftp://ftp.uu.net/archive/systems/gnu</A>
+
+<LI>
+
+<A HREF="ftp://prep.ai.mit.edu/pub/gnu">ftp://prep.ai.mit.edu/pub/gnu</A>
+(the main GNU site, which you should try not to tie up)
+
+</UL>
+
+<P>
+If you'd rather use lynx and don't have it already, it is available from
+<A HREF="http://lynx.browser.org/">http://lynx.browser.org/</A>.
+
+
+<P>
+If you'd rather use webget, it is available at
+<A HREF="http://www.wg.omron.co.jp/~jfriedl/perl/inlined/webget">http://www.wg.omron.co.jp/~jfriedl/perl/inlined/webget</A>.
+
+
+<P><HR><P>
+This document was generated on 9 November 2000 using
+<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>&nbsp;1.56k.
+</BODY>
+</HTML>
diff --git a/biblio/bibtex/utils/bibweb/bibweb.info b/biblio/bibtex/utils/bibweb/bibweb.info
new file mode 100644
index 0000000000..d19244d3bd
--- /dev/null
+++ b/biblio/bibtex/utils/bibweb/bibweb.info
@@ -0,0 +1,594 @@
+This is Info file bibweb.info, produced by Makeinfo version 1.68 from
+the input file bibweb.texi.
+
+ This is edition 0.46, November 2000, of the `Bibweb Manual'.
+Copyright (C) 1997, 1998, 1999, 2000 John H. Palmieri
+
+
+File: bibweb.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
+
+Bibweb
+******
+
+ 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
+`palmieri@math.washington.edu'.
+
+ This is the first version of this manual; it is done (except for the
+indices).
+
+* Menu:
+
+* Introduction:: Overview, quick instructions
+* How to:: More detailed instructions
+* Installation:: How to install
+
+
+How to
+
+* LaTeX file:: What your LaTeX file should look like
+* Invoking bibweb:: What bibweb does
+
+LaTeX file
+
+* Bibliography command:: What the \bibliography command should look like
+* Citations:: Formats for citations
+
+Invoking bibweb
+
+* Basic operation:: Quick instructions
+* Options:: Options for running bibweb
+
+
+File: bibweb.info, Node: Introduction, Next: How to, Prev: Top, Up: Top
+
+Introduction
+************
+
+ Bibweb is a utility for automatically retrieving bibliographical
+information from the American Mathematical Society's MathSciNet search
+engine (available at `http://www.ams.org/mathscinet'). (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:
+
+ \bibliography{bozo}
+
+If you are also using the BibTeX file `junk.bib', then you should use
+the following line:
+
+ \bibliography{junk,bozo}
+
+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
+
+ \cite{miller-ravenel-wilson-periodic}
+
+or
+
+ \cite{miller-ravenel-wilson-novikov}
+
+or
+
+ \cite{miller-ravenel-wilson}
+
+or
+
+ \cite{miller-ravenel;adams-spectral}
+
+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. *Note Options:: for details.
+
+
+File: bibweb.info, Node: How to, Next: Installation, Prev: Introduction, Up: Top
+
+How to
+******
+
+ In this section, we give detailed instructions for how to use bibweb.
+
+* Menu:
+
+* LaTeX file:: What your LaTeX file should look like
+* Invoking bibweb:: What bibweb does
+
+
+File: bibweb.info, Node: LaTeX file, Next: Invoking bibweb, Prev: How to, Up: How to
+
+LaTeX file
+==========
+
+ In this section, we describe how to write your LaTeX file so that it
+will produce output suitable for bibweb.
+
+* Menu:
+
+* Bibliography command:: What the \bibliography command should look like
+* Citations:: Formats for citations
+
+
+File: bibweb.info, Node: Bibliography command, Next: Citations, Prev: LaTeX file, Up: LaTeX file
+
+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:
+
+ \bibliography{jimbob}
+
+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:
+
+ \bibliography{manny,moe,jack,jimbob}
+
+
+File: bibweb.info, Node: Citations, Prev: Bibliography command, Up: LaTeX file
+
+Citations
+---------
+
+ There are two different formats for citations that bibweb knows how
+to handle, and it handles them in different ways.
+
+ * Simpler format:
+
+ \cite{aaa-bbb-ccc-ddd-year}
+
+ `aaa' gets sent as the author, `bbb', `ccc', and `ddd' get sent as
+ miscellany (they can match anything, including the author, title,
+ journal, reviewer, or the text of the review). `year' 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 `year' is in some
+ other format, it will just get ignored.
+
+ For 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 the second sort of match, you can use the more
+ involved format.
+
+ * More involved format:
+
+ \cite{a1-a2-...-ak;t1-t2-...-tm;j1-j2-...jn;year}
+
+ `year' should be just like field `year' 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 words in the
+ title, `j1', ..., `jn' are treated as words in the journal name.
+ You don't have to include all of the fields.
+
+ For 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 only "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').
+
+ * Using wildcards:
+
+ You can use `*' as a wildcard; for instance,
+ `\cite{adams;hopf-invar*-one}' would return the two papers by
+ Adams called "On the non-existence of elements of Hopf invariant
+ one".
+
+ 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, BibTeX treats commas as separators: 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 a period instead
+ of a comma: use the command
+
+ \cite{hopkins.m*;global}
+
+ Bibweb will translate the `.' to a `,' before sending the query to
+ MathSciNet, so this citation would produce
+
+ %% Math Reviews number: 89g:55022
+ @incollection {hopkins.m*;global,
+ AUTHOR = {Hopkins, Michael J.},
+ TITLE = {Global methods in homotopy theory},
+ BOOKTITLE = {Homotopy theory (Durham, 1985)},
+ PAGES = {73--96},
+ PUBLISHER = {Cambridge Univ. Press},
+ ADDRESS = {Cambridge},
+ YEAR = {1987},
+ MRCLASS = {55Q45 (55P42 55P60 55Q10)},
+ MRNUMBER = {89g:55022},
+ MRREVIEWER = {Douglas C. Ravenel},
+ }
+
+
+File: bibweb.info, Node: Invoking bibweb, Prev: LaTeX file, Up: How to
+
+Invoking bibweb
+===============
+
+* Menu:
+
+* Basic operation:: Quick instructions
+* Options:: Options for running bibweb
+
+
+File: bibweb.info, Node: Basic operation, Next: Options, Prev: Invoking bibweb, Up: 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. *Note 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:
+
+ * If bibweb finds exactly one entry matching your citation, it puts
+ it in `elvis.bib' with the key you chose. For instance, if you
+ have
+
+ \cite{kan-miller-splitting-spaces}
+
+ then bibweb puts something like the following in `elvis.bib':
+
+ %% citation 'kan-miller-splitting-spaces'
+ %% 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},
+ MRCLASS = {55C35},
+ MRNUMBER = {57 \#7582},
+ MRREVIEWER = {J. P. May},
+ }
+
+ * If it finds several matches (at most 5), it writes them all to
+ `elvis.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 `elvis.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 `elvis.bib'.
+
+ For example, if you have
+
+ \cite{serre;faisceaux}
+
+ then there are two matches (or maybe there are three, now), which
+ get entered into `elvis.bib' as
+
+ %% citation 'serre;faisceaux'
+ %% Math Reviews number: 35 #3088
+ @article {MR35:3088,
+ AUTHOR = {Serre, Jean-Pierre},
+ TITLE = {Prolongement de faisceaux analytiques coh\'erents},
+ JOURNAL = {Ann. Inst. Fourier (Grenoble)},
+ VOLUME = {16},
+ YEAR = {1966},
+ NUMBER = {fasc. 1},
+ PAGES = {363--374},
+ MRCLASS = {32.50 (32.27)},
+ MRNUMBER = {35 \#3088},
+ MRREVIEWER = {B. Shiffman},
+ }
+ %% Math Reviews number: 16,953c
+ @article {MR16:953c,
+ AUTHOR = {Serre, Jean-Pierre},
+ TITLE = {Faisceaux alg\'ebriques coh\'erents},
+ JOURNAL = {Ann. of Math. (2)},
+ VOLUME = {61},
+ YEAR = {1955},
+ PAGES = {197--278},
+ MRCLASS = {14.0X},
+ MRNUMBER = {16,953c},
+ MRREVIEWER = {C. Chevalley},
+ }
+
+ * If it finds more than 5 matches, it tells you that, and doesn't
+ add any new entries to `elvis.bib'. For example, if you have
+
+ \cite{serre}
+
+ then bibweb adds the following to `elvis.bib':
+
+ %% citation 'serre'
+ %% More than 5 matches found.
+
+ You can change the number `5' to something else by using the `-m'
+ option. *Note Options::.
+
+ * If it doesn't find any matches, it tells you that, and doesn't add
+ any new entries to `elvis.bib'. For example, if you have
+
+ \cite{serre-kan}
+
+ then bibweb adds the following to `elvis.bib':
+
+ %% citation 'serre-kan'
+ %% No matches found.
+
+ * Occasionally, bibweb will say it only finds one match, but it will
+ add several things to `elvis.bib'. This happens when there are
+ several papers whose reviews are all together on MathSciNet (see
+ `\cite{dwyer-kan;obstruction-theory-diagrams}', for example). In
+ these cases, bibweb ought to do a good job of assigning your chosen
+ bibliographical key to the correct entry, but you might want to
+ double-check.
+
+ Finally, note that if you give the citation
+
+ \cite{serre}
+
+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".
+
+
+File: bibweb.info, Node: Options, Prev: Basic operation, Up: Invoking bibweb
+
+Options
+-------
+
+ bibweb can be run with several different options.
+
+`-i FILE'
+`--input=FILE'
+ Run BibTeX on FILE.
+
+`-o FILE'
+`--output=FILE'
+ Write output to FILE (after appending `.bib' to FILE, if
+ necessary).
+
+`--std'
+ Write output to STDOUT (the screen, ordinarily).
+
+`-c CITATION'
+`--cite=CITATION'
+ Look up only CITATION. In this case, the output is written to the
+ screen, unless you also use the `-o' option.
+
+`-m NUM'
+`--max=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'
+`--emath=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 `www.ams.org'. Some other good
+ choices are `ams.rice.edu', `ams.mathematik.uni-bielefeld.de',
+ `klymene.mpim-bonn.mpg.de', `irmasrv1.u-strasbg.fr', and
+ `ams.impa.br'--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
+ `www.ams.org'; `rice' stands for `ams.rice.edu'; `bielefeld'
+ stands for `ams.mathematik.uni-bielefeld.de'; `bonn' stands for
+ `klymene.mpim-bonn.mpg.de'; `strasbg' stands for
+ `irmasrv1.u-strasbg.fr'; and `impa' stands for `ams.impa.br'.
+
+`-L'
+`--lynx'
+ 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.)
+
+`-h'
+`--help'
+ Print a short help message, and then quit.
+
+`-b'
+`--bibtex'
+ Produce output in bibtex format (the default).
+
+`-r'
+`--review'
+ Include the review in the bibtex output, in the form `REVIEW = {
+ ... }'
+
+`-d'
+`--dvi'
+ Produce output in dvi format. This option uses lynx rather than
+ wget, so lynx must be available.
+
+`-p'
+`--postscript'
+ Produce output in postscript format. This option uses lynx rather
+ than wget, so lynx must be available.
+
+`-pdf'
+ Produce output in pdf format. This option uses lynx rather than
+ wget, so lynx must be available.
+
+`-t'
+`--text'
+ 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 --emath=ams.rice.edu bozo
+
+reads `bozo.aux', writes to `bozo.bib', and uses `ams.rice.edu' 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'.
+
+
+File: bibweb.info, Node: Installation, Prev: How to, Up: Top
+
+Installation
+************
+
+ 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:
+
+ * `ftp://ftp.hawaii.edu/mirrors/gnu'
+
+ * `ftp://ftp.digex.net/pub/gnu'
+
+ * `ftp://wuarchive.wustl.edu/systems/gnu'
+
+ * `ftp://ftp.cs.columbia.edu/archives/gnu/prep'
+
+ * `ftp://uiarchive.cso.uiuc.edu/pub/gnu'
+
+ * `ftp://gatekeeper.dec.com/pub/GNU'
+
+ * `ftp://labrea.stanford.edu/gnu'
+
+ * `ftp://ftp.uu.net/archive/systems/gnu'
+
+ * `ftp://prep.ai.mit.edu/pub/gnu' (the main GNU site, which you
+ should try not to tie up)
+
+ If you'd rather use lynx and don't have it already, it is available
+from `http://lynx.browser.org/'.
+
+ If you'd rather use webget, it is available at
+`http://www.wg.omron.co.jp/~jfriedl/perl/inlined/webget'.
+
+
+
+Tag Table:
+Node: Top218
+Node: Introduction1219
+Node: How to3309
+Node: LaTeX file3615
+Node: Bibliography command3988
+Node: Citations4723
+Node: Invoking bibweb8346
+Node: Basic operation8576
+Node: Options13996
+Node: Installation18073
+
+End Tag Table
diff --git a/biblio/bibtex/utils/bibweb/bibweb.texi b/biblio/bibtex/utils/bibweb/bibweb.texi
new file mode 100644
index 0000000000..57c9057c5c
--- /dev/null
+++ b/biblio/bibtex/utils/bibweb/bibweb.texi
@@ -0,0 +1,776 @@
+\input texinfo @c -*-texinfo-*-
+@setfilename bibweb.info
+@settitle Bibweb Manual
+@c footnotestyle separate
+@c paragraphindent 2
+@iftex
+@tolerance 10000
+@end iftex
+
+@comment use 'perl texi2html -menu -split_chapter bibweb.texi' to get an
+@comment html file
+
+@ifinfo
+This is edition 0.46, November 2000, of the @cite{Bibweb
+Manual}. Copyright @copyright{} 1997, 1998, 1999, 2000 John H. Palmieri
+@end ifinfo
+
+@titlepage
+@title{Bibweb Manual}
+
+@author (info by John H. Palmieri)
+
+@page
+@vskip 0pt plus 1filll
+Copyright @copyright{} 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.
+
+@ignore
+Permission is granted to process this file through TeX and print the
+results, provided the printed document carries copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual).
+@end ignore
+
+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.
+@end titlepage
+@page
+
+@ifinfo
+@node top, Introduction, (dir), (dir)
+@comment node-name, next, previous, up
+@top Bibweb
+@end ifinfo
+
+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
+@samp{palmieri@@math.washington.edu}.
+
+This is the first version of this manual; it is done (except for the
+indices).
+
+@menu
+* Introduction:: Overview, quick instructions
+* How to:: More detailed instructions
+* Installation:: How to install
+
+@detailmenu --- The Detailed Node Listing ---
+
+How to
+
+* La@TeX{} file:: What your La@TeX{} file should look like
+* Invoking bibweb:: What bibweb does
+
+La@TeX{} file
+
+* Bibliography command:: What the \bibliography command should look like
+* Citations:: Formats for citations
+
+Invoking bibweb
+
+* Basic operation:: Quick instructions
+* Options:: Options for running bibweb
+
+@end detailmenu
+@end menu
+
+@comment in any given node:
+@comment use '@cindex CONCEPT' to add node to concept index
+@comment use '@findex FUNCTION' for function index
+@comment use '@vindex VARIABLE' for variable index
+@comment use '@kindex KEY' for key index
+
+
+
+@comment ---------------------------------------------------------
+
+@node Introduction, How to, top, top
+@chapter Introduction
+
+Bibweb is a utility for automatically retrieving bibliographical
+information from the American Mathematical Society's MathSciNet search
+engine (available at @url{http://www.ams.org/mathscinet}). (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 Bib@TeX{} (which means with La@TeX{}), 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
+@file{bozo.tex}, then you need to insert the following line:
+
+@example
+ \bibliography@{bozo@}
+@end example
+
+@noindent
+If you are also using the Bib@TeX{} file @file{junk.bib}, then you
+should use the following line:
+
+@example
+ \bibliography@{junk,bozo@}
+@end example
+
+@noindent
+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 La@TeX{} the command
+
+@example
+ \cite@{miller-ravenel-wilson-periodic@}
+@end example
+
+@noindent
+or
+
+@example
+ \cite@{miller-ravenel-wilson-novikov@}
+@end example
+
+@noindent
+or
+
+@example
+ \cite@{miller-ravenel-wilson@}
+@end example
+
+@noindent
+or
+
+@example
+ \cite@{miller-ravenel;adams-spectral@}
+@end example
+
+@noindent
+When you run this through La@TeX{}, it won't find the citation (by
+assumption); Bib@TeX{} won't find a citation either. When you run
+bibweb, though, by typing
+
+@example
+ bibweb bozo
+@end example
+
+@noindent
+at the shell prompt, then it takes your citation and queries
+MathSciNet. If it finds a match, it writes the bibliographic
+information, in Bib@TeX{} format, to the file @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 (Bib@TeX{}) files
+separately, and has other options. @xref{Options} for details.
+
+
+
+
+
+
+@comment ---------------------------------------------------------
+
+@node How to, Installation, Introduction, top
+@chapter How to
+
+In this section, we give detailed instructions for how to use bibweb.
+
+@menu
+* La@TeX{} file:: What your La@TeX{} file should look like
+* Invoking bibweb:: What bibweb does
+@end menu
+
+
+
+@comment ---------------------------------------------------------
+
+@node La@TeX{} file, Invoking bibweb, How to, How to
+@section La@TeX{} file
+
+In this section, we describe how to write your La@TeX{} file so that it
+will produce output suitable for bibweb.
+
+@menu
+* Bibliography command:: What the \bibliography command should look like
+* Citations:: Formats for citations
+@end menu
+
+@comment ---------------------------------------------------------
+
+@node Bibliography command, Citations, La@TeX{} file, La@TeX{} file
+@subsection 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 @samp{.bib}.
+Suppose you decide to use a file called @file{jimbob.bib} (which may or
+may not exist at this point). Then you need the following line in your
+La@TeX{} file:
+
+@example
+ \bibliography@{jimbob@}
+@end example
+
+@noindent
+As indicated above, if you already have some other bibtex files lying
+around, and you also want to use these (say they're called
+@file{manny.bib}, @file{moe.bib}, and @file{jack.bib}),
+then you should instead use the following line:
+
+@example
+ \bibliography@{manny,moe,jack,jimbob@}
+@end example
+
+
+
+
+@comment ---------------------------------------------------------
+
+@node Citations, , Bibliography command, La@TeX{} file
+@subsection Citations
+
+There are two different formats for citations that bibweb knows how to
+handle, and it handles them in different ways.
+
+@itemize @bullet
+@item
+Simpler format:
+
+@example
+ \cite@{aaa-bbb-ccc-ddd-year@}
+@end example
+
+@samp{aaa} gets sent as the author, @samp{bbb}, @samp{ccc}, and
+@samp{ddd} get sent as miscellany (they can match anything, including
+the author, title, journal, reviewer, or the text of the review).
+@samp{year} should be of the form @samp{<1995} or @samp{>1995} or
+@samp{=1995} or @samp{1995}, in which case bibweb only searches for
+papers from the appropriate years. @samp{1995} is treated the same as
+@samp{=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 @samp{year} is in some other format, it will just get ignored.
+
+For example, @samp{\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 the second sort of match, you can use the more
+involved format.
+
+@item
+More involved format:
+
+@example
+ \cite@{a1-a2-...-ak;t1-t2-...-tm;j1-j2-...jn;year@}
+@end example
+
+@samp{year} should be just like field @samp{year} in the simpler format,
+but it slows things down, so I would avoid it. @samp{a1}, ...,
+@samp{ak} are treated as authors, @samp{t1}, ..., @samp{tm} are treated
+as words in the title, @samp{j1}, ..., @samp{jn} are treated as words in
+the journal name. You don't have to include all of the fields.
+
+For example, @samp{\cite@{devinatz-hopkins;nilpotence@}} matches only
+the paper ``Nilpotence and stable homotopy theory, I'' by Devinatz,
+Hopkins, and Smith. @samp{\cite@{miller-wilkerson;vanishing-steenrod@}}
+matches only ``Vanishing lines for modules over the Steenrod algebra''
+by Miller and Wilkerson, as does
+@samp{\cite@{miller-wilkerson;vanishing-steenrod;;<1985@}}, as does
+@samp{\cite@{miller-wilkerson;vanishing-steenrod;pure;<1985@}} (the
+paper appeared in the @cite{Journal of Pure and Applied Algebra}).
+
+@item
+Using wildcards:
+
+You can use @samp{*} as a wildcard; for instance,
+@samp{\cite@{adams;hopf-invar*-one@}} would return the two papers by
+Adams called ``On the non-existence of elements of Hopf invariant one''.
+
+When using MathSciNet by hand, if you want to search for papers by Mike
+Hopkins, you could set the author field equal to @samp{hopkins, m*}. On
+the other hand, Bib@TeX{} treats commas as separators: if you give
+Bib@TeX{} the command @samp{\cite@{hopkins,m*;global@}}, bibtex will
+treat @samp{hopkins} as one source and @samp{m*;global} as another. So
+to get bibweb to do the right thing, you should use a period instead of
+a comma: use the command
+
+@example
+ \cite@{hopkins.m*;global@}
+@end example
+
+Bibweb will translate the @samp{.} to a @samp{,} before sending the
+query to MathSciNet, so this citation would produce
+
+@example
+%% Math Reviews number: 89g:55022
+@@incollection @{hopkins.m*;global,
+ AUTHOR = @{Hopkins, Michael J.@},
+ TITLE = @{Global methods in homotopy theory@},
+ BOOKTITLE = @{Homotopy theory (Durham, 1985)@},
+ PAGES = @{73--96@},
+ PUBLISHER = @{Cambridge Univ. Press@},
+ ADDRESS = @{Cambridge@},
+ YEAR = @{1987@},
+ MRCLASS = @{55Q45 (55P42 55P60 55Q10)@},
+ MRNUMBER = @{89g:55022@},
+MRREVIEWER = @{Douglas C. Ravenel@},
+@}
+@end example
+
+@end itemize
+
+
+
+
+@comment ---------------------------------------------------------
+
+@node Invoking bibweb, , La@TeX{} file, How to
+@section Invoking bibweb
+
+@menu
+* Basic operation:: Quick instructions
+* Options:: Options for running bibweb
+@end menu
+
+
+
+
+
+
+@comment ---------------------------------------------------------
+
+@node Basic operation, Options, Invoking bibweb, Invoking bibweb
+@subsection Basic operation
+
+In this section, we give the basic instructions for running bibweb, as
+well as a brief description of what bibweb does.
+
+@example
+ bibweb @var{file}
+@end example
+
+@noindent
+will run bibweb on @var{file}. For example, to run bibweb on the file
+@file{elvis}, you type
+
+@example
+ bibweb elvis
+@end example
+
+@noindent
+Then bibweb will run Bib@TeX{} on @file{elvis} and read through the list
+of missing citations. For each such citation, it searches MathSciNet,
+and writes its results to the file @file{elvis.bib}. Once it has done
+this, it runs Bib@TeX{} again, to make use of any new citations.
+
+If bibweb can't find the file @file{elvis.aux} (which it wants to pass
+to Bib@TeX{}), it prints an error message and stops. If it can't write
+to @file{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 @samp{wget}; this is a GNU program (hence freely
+distributable). You can get it at your favorite GNU mirror. The second
+best web browser is @samp{lynx}; if bibweb can't find wget, it uses
+lynx. Another option is @samp{webget}, which is a perl script that has
+some of the capabilities of wget. @xref{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:
+
+@itemize @bullet
+@item
+If bibweb finds exactly one entry matching your citation, it puts it in
+@file{elvis.bib} with the key you chose. For instance, if you have
+
+@example
+ \cite@{kan-miller-splitting-spaces@}
+@end example
+
+then bibweb puts something like the following in @file{elvis.bib}:
+
+@example
+%% citation 'kan-miller-splitting-spaces'
+%% 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@},
+ MRCLASS = @{55C35@},
+ MRNUMBER = @{57 \#7582@},
+MRREVIEWER = @{J. P. May@},
+@}
+@end example
+
+@item
+If it finds several matches (at most 5), it writes them all to
+@file{elvis.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 @file{elvis.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 @file{elvis.bib}.
+
+For example, if you have
+
+@example
+ \cite@{serre;faisceaux@}
+@end example
+
+@noindent
+then there are two matches (or maybe there are three, now), which get
+entered into @file{elvis.bib} as
+
+@example
+%% citation 'serre;faisceaux'
+%% Math Reviews number: 35 #3088
+@@article @{MR35:3088,
+ AUTHOR = @{Serre, Jean-Pierre@},
+ TITLE = @{Prolongement de faisceaux analytiques coh\'erents@},
+ JOURNAL = @{Ann. Inst. Fourier (Grenoble)@},
+ VOLUME = @{16@},
+ YEAR = @{1966@},
+ NUMBER = @{fasc. 1@},
+ PAGES = @{363--374@},
+ MRCLASS = @{32.50 (32.27)@},
+ MRNUMBER = @{35 \#3088@},
+MRREVIEWER = @{B. Shiffman@},
+@}
+%% Math Reviews number: 16,953c
+@@article @{MR16:953c,
+ AUTHOR = @{Serre, Jean-Pierre@},
+ TITLE = @{Faisceaux alg\'ebriques coh\'erents@},
+ JOURNAL = @{Ann. of Math. (2)@},
+ VOLUME = @{61@},
+ YEAR = @{1955@},
+ PAGES = @{197--278@},
+ MRCLASS = @{14.0X@},
+ MRNUMBER = @{16,953c@},
+MRREVIEWER = @{C. Chevalley@},
+@}
+@end example
+
+@item
+If it finds more than 5 matches, it tells you that, and doesn't add any
+new entries to @file{elvis.bib}. For example, if you have
+
+@example
+ \cite@{serre@}
+@end example
+
+@noindent
+then bibweb adds the following to @file{elvis.bib}:
+
+@example
+%% citation 'serre'
+%% More than 5 matches found.
+@end example
+
+@noindent
+You can change the number @samp{5} to something else by using the
+@samp{-m} option. @xref{Options}.
+
+@item
+If it doesn't find any matches, it tells you that, and doesn't add any
+new entries to @file{elvis.bib}. For example, if you have
+
+@example
+ \cite@{serre-kan@}
+@end example
+
+@noindent
+then bibweb adds the following to @file{elvis.bib}:
+
+@example
+%% citation 'serre-kan'
+%% No matches found.
+@end example
+
+@item
+Occasionally, bibweb will say it only finds one match, but it will add
+several things to @file{elvis.bib}. This happens when there are several
+papers whose reviews are all together on MathSciNet (see
+@samp{\cite@{dwyer-kan;obstruction-theory-diagrams@}}, for example). In
+these cases, bibweb ought to do a good job of assigning your chosen
+bibliographical key to the correct entry, but you might want to
+double-check.
+
+@end itemize
+
+Finally, note that if you give the citation
+
+@example
+ \cite@{serre@}
+@end example
+
+@noindent
+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''.
+
+
+
+@comment ---------------------------------------------------------
+
+@node Options, , Basic operation, Invoking bibweb
+@subsection Options
+
+bibweb can be run with several different options.
+
+@table @samp
+@item -i @var{file}
+@itemx --input=@var{file}
+Run Bib@TeX{} on @var{file}.
+
+@item -o @var{file}
+@itemx --output=@var{file}
+Write output to @var{file} (after appending @samp{.bib} to @var{file},
+if necessary).
+
+@item --std
+Write output to STDOUT (the screen, ordinarily).
+
+@item -c @var{citation}
+@itemx --cite=@var{citation}
+Look up only @var{citation}. In this case, the output is written to the
+screen, unless you also use the @samp{-o} option.
+
+@item -m @var{num}
+@itemx --max=@var{num}
+Return at most @var{num} matches to each citation. Actually, @var{num}
+is rounded up according to the options available at MathSciNet:
+@var{num} will be rounded up to one of: 5, 10, 20, 50, 100, 1000.
+
+@item -e @var{site}
+@itemx --emath=@var{site}
+Search MathSciNet at the web site @var{site}. The default value is read
+from the environment variable @var{MATHSCINET_SITE}; if this variable
+hasn't been set, the default is @samp{www.ams.org}. Some other good
+choices are @samp{ams.rice.edu}, @samp{ams.mathematik.uni-bielefeld.de},
+@samp{klymene.mpim-bonn.mpg.de}, @samp{irmasrv1.u-strasbg.fr}, and
+@samp{ams.impa.br}---see
+the MathSciNet homepage for more information. If you choose a value for
+@var{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
+@var{site}: @samp{ams} stands for @samp{www.ams.org}; @samp{rice}
+stands for @samp{ams.rice.edu}; @samp{bielefeld} stands for
+@samp{ams.mathematik.uni-bielefeld.de}; @samp{bonn} stands for
+@samp{klymene.mpim-bonn.mpg.de}; @samp{strasbg} stands for
+@samp{irmasrv1.u-strasbg.fr}; and @samp{impa} stands for
+@samp{ams.impa.br}.
+
+@item -L
+@itemx --lynx
+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.)
+
+@item -h
+@itemx --help
+Print a short help message, and then quit.
+
+@item -b
+@itemx --bibtex
+Produce output in bibtex format (the default).
+
+@item -r
+@itemx --review
+Include the review in the bibtex output, in the form @samp{REVIEW = @{ ... @}}
+
+@item -d
+@itemx --dvi
+Produce output in dvi format. This option uses lynx rather than wget,
+so lynx must be available.
+
+@item -p
+@itemx --postscript
+Produce output in postscript format. This option uses lynx rather than wget,
+so lynx must be available.
+
+@item -pdf
+Produce output in pdf format. This option uses lynx rather than wget,
+so lynx must be available.
+
+@item -t
+@itemx --text
+Produce output in text format. This option uses lynx rather than wget,
+so lynx must be available.
+
+@end table
+
+
+For example, any of the following commands
+
+@example
+ 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
+@end example
+
+@noindent
+has bibweb read the file @file{text.aux} and write output to
+@file{a.bib}, returning at most 10 matches for each citation.
+
+@noindent
+The command
+
+@example
+ bibweb --std -m 10 test
+@end example
+
+@noindent
+reads @file{test.aux} and writes the output to the screen (or whatever
+you have STDOUT set to). The command
+
+@example
+ bibweb --emath=ams.rice.edu bozo
+@end example
+
+@noindent
+reads @file{bozo.aux}, writes to @file{bozo.bib}, and uses
+@url{ams.rice.edu} for the MathSciNet search, as do the commands
+
+@example
+ bibweb --emath=rice bozo
+ bibweb -e rice bozo
+ bibweb bozo -e rice
+@end example
+
+@noindent
+The command
+
+@example
+ bibweb --emath=quack bozo
+@end example
+
+@noindent
+uses @samp{quack} for the MathSciNet search. In this case, bibweb will
+give a warning (since @samp{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
+
+@example
+ bibweb -m 23 -c 'serre'
+@end example
+
+@noindent
+then bibweb will tell you that it is rounding 23 up to 50, and then it
+will look for all articles with @samp{serre} as the author. In this
+case, it will tell you that there were more than 50 matches found. I
+suppose if you typed
+
+@example
+ bibweb -m 1000 -c 'serre'
+@end example
+
+@noindent
+then you would get all of Serre's papers listed on your screen. This
+might take a while. You could instead run
+
+@example
+ bibweb -m 1000 -c 'serre' -o serre.bib
+@end example
+
+@noindent
+and then the output would be stored in the file @file{serre.bib}.
+
+
+
+
+@comment ---------------------------------------------------------
+
+@node Installation, , How to, top
+@chapter Installation
+
+This is complicated: put the file @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:
+@samp{wget}, @samp{lynx}, or @samp{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:
+
+@itemize @bullet
+@item
+@url{ftp://ftp.hawaii.edu/mirrors/gnu}
+
+@item
+@url{ftp://ftp.digex.net/pub/gnu}
+
+@item
+@url{ftp://wuarchive.wustl.edu/systems/gnu}
+
+@item
+@url{ftp://ftp.cs.columbia.edu/archives/gnu/prep}
+
+@item
+@url{ftp://uiarchive.cso.uiuc.edu/pub/gnu}
+
+@item
+@url{ftp://gatekeeper.dec.com/pub/GNU}
+
+@item
+@url{ftp://labrea.stanford.edu/gnu}
+
+@item
+@url{ftp://ftp.uu.net/archive/systems/gnu}
+
+@item
+@url{ftp://prep.ai.mit.edu/pub/gnu}
+(the main GNU site, which you should try not to tie up)
+
+@end itemize
+
+If you'd rather use lynx and don't have it already, it is available from
+@url{http://lynx.browser.org/}.
+
+If you'd rather use webget, it is available at
+@url{http://www.wg.omron.co.jp/~jfriedl/perl/inlined/webget}.
+
+
+
+
+@comment @node Concept Index, , Previous Node, Top
+@comment @unnumbered Concept Index
+
+@comment @printindex cp
+
+@comment
+@contents
+@bye
diff --git a/biblio/bibtex/utils/bibweb/bibweb_toc.html b/biblio/bibtex/utils/bibweb/bibweb_toc.html
new file mode 100644
index 0000000000..1790db9499
--- /dev/null
+++ b/biblio/bibtex/utils/bibweb/bibweb_toc.html
@@ -0,0 +1,33 @@
+<HTML>
+<HEAD>
+<!-- Created by texi2html 1.56k from bibweb.texi on 9 November 2000 -->
+
+<TITLE>Bibweb Manual - Table of Contents</TITLE>
+</HEAD>
+<BODY>
+<H1>Bibweb Manual</H1>
+<ADDRESS>(info by John H. Palmieri)</ADDRESS>
+<P>
+<P><HR><P>
+<UL>
+<LI><A NAME="TOC1" HREF="bibweb.html#SEC1">Introduction</A>
+<LI><A NAME="TOC2" HREF="bibweb.html#SEC2">How to</A>
+<UL>
+<LI><A NAME="TOC3" HREF="bibweb.html#SEC3">LaTeX file</A>
+<UL>
+<LI><A NAME="TOC4" HREF="bibweb.html#SEC4">Bibliography command</A>
+<LI><A NAME="TOC5" HREF="bibweb.html#SEC5">Citations</A>
+</UL>
+<LI><A NAME="TOC6" HREF="bibweb.html#SEC6">Invoking bibweb</A>
+<UL>
+<LI><A NAME="TOC7" HREF="bibweb.html#SEC7">Basic operation</A>
+<LI><A NAME="TOC8" HREF="bibweb.html#SEC8">Options</A>
+</UL>
+</UL>
+<LI><A NAME="TOC9" HREF="bibweb.html#SEC9">Installation</A>
+</UL>
+<P><HR><P>
+This document was generated on 9 November 2000 using
+<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>&nbsp;1.56k.
+</BODY>
+</HTML>
diff --git a/biblio/bibtex/utils/bibweb/test.tex b/biblio/bibtex/utils/bibweb/test.tex
new file mode 100644
index 0000000000..4d08708141
--- /dev/null
+++ b/biblio/bibtex/utils/bibweb/test.tex
@@ -0,0 +1,44 @@
+\documentclass{article}
+\begin{document}
+
+\cite{adams;hopf-invariant-one} % should produce two matches
+
+% \cite{palmieri.j*} % too many matches
+
+\cite{kan-miller-splitting-spaces} % one match
+
+\cite{kan-miller;splitting-spaces} % one match, might be faster
+ % than previous one
+
+\cite{hopkins.m*;global} % one match
+
+\cite{serre.j*} % too many
+
+\cite{serre-kan} % no matches
+
+% \cite{palmieri->95} % several matches
+
+\cite{serre-faisceaux} % too many
+
+\cite{miller-wilkerson-vanishing} % two matches
+
+% \cite{miller-wilkerson-vanishing-<1985} % two matches, slow
+
+\cite{miller-wilkerson;vanishing-steenrod} % one match
+
+\cite{miller-wilkerson;vanishing-steenrod;pure} % one match
+
+% \cite{miller-wilkerson;vanishing-steenrod;pure;<1985} % one match, slow
+
+\cite{devinatz-hopkins-nilpotence} % two matches
+
+\cite{hopkins-devinatz-nilpotence} % four matches
+
+% \cite{palmieri-<1993} % too many, slow
+
+\cite{brown-comenetz} % 2 matches
+
+\bibliography{test}
+\bibliographystyle{alpha}
+
+\end{document}