[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bp, a Perl Bibliography Package

Dear List,

Well, here is an update on my progress with NETBIB, an auditory bib service
via the internet, to help you (and me) with your (our) references.
My (our?) goal is to help provide all of us with a highly accurate source of bib
info, that can quickly be incorporated into your paper, in any format.

Not too surprisingly, there is a lot of software out there already. The UNIX
community has been busy, covering our bases, yet again, filling in the gaps that
MS has chosen not to fill (yet they charged us, for their own personal greedy
money-grubing self-serving reasons).

Below is open source that does what we (I?) want, available for free. For those
of you that know how to use this stuff, here it is. For those of you
who do not, and do not have the time to learn it, my (our) project continues.
I will research or write an interface that makes it available to us all, for free.

But the basic engine has been written, and, as is typical, is free
for the asking. What we still need is a netscape (HTML) interface that makes
it easy to use, plus more of your data files, which can be sorted and stored by
subject, author, year, or what ever you want, etc. Namely an interface that will
search the database of papers, and return a file, preformatted in a format of your
choice (Latex, ascii, endnote, yes, and even a doc format, if such a thing exists,
in a stable and usable form).

I have received 15 bibtex databases, and 7 text databases. I would guess that the
text databases are conversions from endnote. Perhaps one is not. As it turns out,
the text data bases are not too useful, as there are no key words. Thus it
looks like I need to get the endnote source, and process it. I am not ready
to do that, so please do not send me any endnote files, or any ascii databases.
They are not yet useful to me. However I am still interested in bibtex databases,
that  are 99.99999% free of errors. It is likely that if the database is of your
personal papers only, it is likely pretty free of errors.

More later. And thanks for your tremendous support.

This is all based on 1% of my time. So please be patient.


Jont B. Allen, Room E161
AT&T Labs-Research 180 Park AV.
Florham Park NJ 07932
973/360-8545voice, x8092fax
Can you believe
 so much been made by
  so few, by pushing
   so much of
    so little, on
     so many with
      so little resistance?
       So fight back. Try Linux.
Title: bp, a Perl Bibliography Package

bp, a Perl Bibliography Package

bp is a Perl library that is designed to:

My first goal when designing the package was only the first -- I had written a number of tools that accessed my BibTeX bibliographies, and I saw that I was reusing a lot of code. So I decided to make a generic package to access BibTeX bibliographies. About a year later I decided that it would be even better if the package could read multiple formats, and convert between them. The result is bp.

This package is in development. It is in the BETA stage, which means that I may still change the interface, but major changes are unlikely. Parts of the package are still missing (namely documentation, automatic format recognition, and a good set of utilities), but everything needed for a working system exists.


Source code:



bp is freely available for use without charge, and may be redistributed freely.
It is copyright 1992-1997 by Dana Jacobsen.
bp works with both Perl 4 and Perl 5.

Formats Supported

bibtex xxThe BibTeX format
refer xxThe Refer / BibIX format
endnote xxEndNote's refer-like format
tib xxLike refer using TeX
procite xxComma-delimited import format
rfc1807 xxRFC 1807 / 1357. Not well tested.
text xxRaw lines or paragraphs
cstra x CS Tech Report format
inspec x The "Doc Type" version.
medline x MEDLARS as output by Entrez
melvyl x Not quite sure which version.
ieee x The old IEEE catalog
powells x An old Powell's format
output xStyles generic, booklist, aacf.
html xSynonym for output format with HTML charset

Character Sets Supported

8859-1 ISO 8859-1 8bit characters
apple Apple's 8bit mapping
html HTML -- Hypertext Markup Language
tex TeX
troff troff
dead Dead-key. \'a for á, \/o for ø, \-D for Ð
none strips accents -- 7bit clean

Related Programs

Bib.pm is a Perl5 module that provides an abstraction on refer files. It uses the object oriented features of Perl5 to good effect. I wanted to do something of the same thing with bp, but having the ability to work with Perl 4 is nice enough to not want to drop.

BibDB by Eyal Doron allows importing refer and tib data into it's BibTeX centered database. It is a DOS/Windows program only however, and doesn't allow arbitrary programming.

The Integrated Chameleon Architecture is a toolset for data translation, that claims to come with a refer <--> bibtex translator among other things. I do not know what the current status is.


1 Jan 97
String evals in Perl 5.003 are still not cached, so are deathly slow. This meant some changed for standard implode. For all formats, define @reginfo at beginning, then register at end (mainly so the registration info will be placed at the head of the file, but the actual registration will happen after all other variables (notably %options) are defined). Charsets now use &reg_charset().
26 Dec 96
Help for formats is set up ("-bibhelp bibtex" gives some information on the BibTeX format and also on module options). There is a standard options parser for modules, and all modules have been changed to use it.
23 Dec 96
Lots of misc work throughout. RFC1807 has been completely rewritten and follows the specification almost exactly.
21 Dec 96
Most of the 01XX Unicode characters are supported by the TeX charset. BibTeX does OPTfield squeezing.
19 Dec 96
Put a pre-0.3.0 release on the web page. BibTeX parsing is the biggest change -- strings are much more robust, crossrefs are filled out. There is a CACM output style.
17 Dec 96
Getting ready for another release in a couple weeks. Endnote has been put into a separate module from refer because of the charset issues. A BIDS module should be in place. bibconv has a usage display! The BibTeX module now handles crossref entries.
15 Mar 96
More changes to a lot of code. The old HTML code is gone, replaced with a generic output module, with style programs generated from a more generic description file. Support for HTML headers and trailers exists, so all the functionality of the old HTML module (what little there was) is there. Now reads comma-delimited Procite files, write RSN. Automatic EndNote record detection in the refer module. New bibconv program that's a little more user-friendly than tconv.
21 Jan 96
Minor cleanup to most packages. Finished basic EndNote support. Handle BibTeX name conversion with braces. Fixed typo in the convert code. Tried writing a procite converter, but the every database seems different.
17 Jan 96
Changed Medline to read Entrez MEDLARS format. Both the saved files, and with the html option, search results.
Refer now has an endnote option that supports some of the differences to refer that EndNote uses.
Added a CSTRA format that reads the format defined by CSTRA.
15 Jan 96
Added INSPEC format.
2 Dec 95
Just released 0.2.0 which uses an all new character set methodology.
1 Dec 95
Set up the newest form interface converter.
28 Nov 95
Began work on format module documentation.
Older logs are archived.

Major work left to do (in arbitrary order)

2 January 1997
Dana Jacobsen