[net.text] Bibliography Generation

rda@epistemi.UUCP (Robert Dale) (05/26/85)

I'm sure this problem must have been met before.

We're currently thinking about building a shared online bibliographical
database, for use in the areas of linguistics, psychology, ai and philosophy
(to give you an idea of the kind of stuff we want to deal with), on a UNIXtm
machine.  We need some means of constructing, maintaining and using this
database.  We'd like to generate bibliographies directly from text files
containing citations.

Refer doesn't do quite what we want:  the form of citations produced in the
text isn't as flexible as we'd like, and the types of fields within records
don't really match up to our needs either.  The second isn't too much of a
problem, since redefinition is relatively straightforward:  we're thinking
about taking the Scribe set as our starting point, so that if we get Scribe
in the future, we can convert the database into Scribe format.  It looks
like we have to hack refer to solve the first problem.

Has anyone out there hacked refer to do things differently?  Has anyone gone
down this path already, and know of pitfalls etc.?  Has anyone laboured
night and day to produce new nroff bibliography macros?  Does anyone have an
entirely different solution to the problem?

Any suggestions or thoughts related to the above would be gratefully
received.


Robert Dale (rda@epistemi)

Snail:	University of Edinburgh
	School of Epistemics
	2 Buccleuch Place
	Edinburgh
	EH8 9LW

Email:	...seismo!mcvax!ukc!cstvax!epistemi!rda

rusty@sdcarl.UUCP (rusty c. wright) (06/03/85)

There is a program that is designed for using bibliographies with
LaTeX; it is called BiBTeX.  Like TeX BiBTeX is completely flexible.
The bibliography database file for BiBTeX is much nicer looking than
refer's:

	@book{kn:gnus,
		author =	"Donald E. Knudson",
		title =		"1966 World Gnus Almanac",
		publisher =	"Permafrost Press",
		address =	"Novosibirsk"
	}

The line that starts with @book specifies that this entry is for a
book.  There are also entry types for article, booklet, conference,
inbook, incollection, inproceedings, manual, masterthesis, misc,
phdthesis, proceedings, techreport, and unpublished.

There are a number of fields that can be used within an entry:
address, annote, author, booktitle, chapter, edition, editor,
howpublished, institution, journal, key, month, note, number
organization, pages, publisher, school, series, title, type, volume,
and year.

The way a type of entry is formatted is controlled by a configuration
file.  That is to say that BiBTeX is programmable.  The format of the
configuration file is an unnamed programming language that is like
RPN.  This configuration file specifies the various entry types and
the fields used with each type (this implies that the above lists
are extensible).

When BiBTeX formats the reference list it does it correctly, not some
sort of "mostly correct" thing that refer does.  The format used is
that specified in the book by Mary-Claire van Leunen in A_Handbook_for_
Scholars.  Probably the same as what's specified in the Chicago_Manual_
of_Style.

That's the good news.  The bad news is that it only works with LaTeX.
I have no idea how much work would be involved to get it to work with
troff.  The other bad news is that the bibliography database is only
in text and so searches will be slow (unlike refer's method of using
some sort of reversed index scheme).  On the other hand you can have
the database split up into several files and you can tell BiBTeX
which ones to search.
-- 
	rusty c. wright
	{ucbvax,ihnp4,akgua,hplabs,sdcsvax}!sdcarl!rusty