Go to the first, previous, next, last section, table of contents.


Introduction

This package is a collection of simple utilities and libraries for processing BiBTeX files. It allows generating documents or parts of documents automatically from a BiBTeX database and performing some simple maintenance tasks (such as sorting entries or merging files) on those databases. The libraries include a Prolog parser for references in BiBTeX format.

Overall description

The general idea is that .bib files are converted to .pl files using bib2pl and then the .pl (Prolog) files are used to generate several listings, reports, etc. automatically, by writing simple Prolog scripts. A number of sample scripts are provided. Some library files are also available with some predicates which may facilitate writing other, similar scripts.

In order for the bibutils package to work optimally, .bib files must adhere to some conventions, which are specified in section Conventions for BiBTeX files.

In general, automatically generated files produced by the scripts include _auto in the name in order to identify them as such.

As mentioned above, these utilities have been written as Prolog scripts. Such scripts are supported directly by certain Prolog systems (such as CIAO Prolog) and can be implemented easily on other Prolog systems (e.g., a prolog_shell package is available for SICStus Prolog from http://www.clip.dia.fi.upm.es/Software).

Installation

Installing the scripts

Because these are Prolog scripts, no actual installation is needed after unpackaging the distribution. However:

You may be also be able to run the code of the scripts from the top level of other Prolog systems by commenting out the headers and loading it into the Prolog system in the standard way.

Installing the manuals

The package documentation is included in the doc directory in several formats. You may want to copy it to more accessible places (this can be done by typing gmake install).

The actual utilities

bib2pl f1.bib f2.bib ...
Converts one or more bib files into one .pl file (file generated is f1_f2_.._auto.pl). Caveats/Bugs:
mergesortbibs f1.bib f2.bib ...
Merges and sorts one or more bib files into a single .bib. file (file generated is f1_f2_.._auto.bib). Caveats/Bugs: same as above.
pl2bib bibfile.pl
Converts one .pl file (containing a paper database) into a .bib file.
pl2pubsbyyear SName PName bibfile.pl people_urls.pl paperdir paperdirurl
Generates a list of the publications contained in file bibfile.pl in which SName is an author (if - is used then all papers in bibfile.pl are selected). The list is produced in latex (in English), classified by publication type and YEAR of publication. (An example application is examples/clippubsbyyear.)
pl2pubsbytopic SName PName bibfile.pl people_urls.pl topics.pl paperdir paperdirurl
Generates a list of the publications contained in file bibfile.pl in which SName is an author (if - is used then all papers bibfile.pl are selected). The list is produced in latex (in English), classified by publication type and TOPIC of the paper. (An example application is examples/clippubsbytopic. Note for CLIP group: the CLIP topics database is in /home/clip/PlDbs/clip_topics.pl.)
pl2pubsbytopiclist SName PName bibfile.pl people_urls.pl topics.pl paperdir paperdirurl lang topicid1 ... topicidn
Same as pl2pubsbytopic, but a number of topics can be given and a single list is produced, merging the papers in all those topics. This version also allows specifying the output language (currently: eng or esp). This one is useful for generating lists of publications in a given set of topics (e.g., for proposals).
pl2pubsbyproject SName PName bibfile.pl people_urls.pl paperdir paperdirurl
Generates a list of the publications contained in file bibfile.pl in which SName is an author (if - is used then all papers bibfile.pl are selected). The list is produced in latex (in English), classified by publication type and PROJECT of the paper. (An example application is examples/clippubsbyproject.
pl2engcur bibfile.pl Name people_urls.pl paperdir paperdirurl
Generates the list of publications for person Name, in latex (English), classified by type of publication. people_urls.pl is as above. (An example application is examples/engcur.)
pl2coll bibfile.pl Name SinceYear
Generates the list of collaborators (co-authors) for person Name, since SinceYear, in latex (English), classified by type of collaboration (publication).
pl2tramoscur bibfile.pl Name people_urls.pl paperdir paperdirurl
Generates the list of publications for person Name, in latex (Spanish), classified by type of publication. people_urls.pl is as above. (An example application is examples/tramoscur.)
incversion file
Simple script which takes as argument a filename which containing an integer followed by a period. Increments the integer by one in the file and returns the new value in stdout. This may be useful for for example for updating the version numbers of automatically generated documents. (An example application is examples/clippubsbyyear.)

Some more specific utilities

These utilities are more specific to the CLIP group's environment, but (parts of them) may be useful to other people or may serve as a starting point for developing other, similar scripts:

pl2cicytcur bibfile.pl Name
Generate "publicaciones", "otras publicaciones", etc. for CV in CICYT (Spanish funding agency) format for person Name. (An example application is examples/cicytcur.)
pl2upmcurbooks bibfile.pl Name
Generate "libros" part for CV in UPM/MEC format for person Name. (An example application is examples/upmcur.)
pl2upmcurpub bibfile.pl Name
Generate "publicaciones" part for CV in UPM/MEC format for person Name. (An example application is examples/upmcur.)
pl2clip_dia_annual bibfile.pl year
Generate skeleton of a group or person's contribution to the UPM DIA department's annual report for year.
pl2gispubs bibfile.pl year month
Generate publications for the UPM Groups proposal starting in the given date.

Support libraries used by bibutils

These libraries include predicates which are used by several of the scripts. They may also be useful for writing other, related scripts:

support.pl
Miscellaneous library predicates.
bibparser.pl
bibtex file parser.
pp_papers_bib.pl
Output papers in bibtex format.
pp_papers_latex.pl
Output papers in latex itemize format (language can be selected).
pp_papers_pl.pl
Output papers in Prolog format.

Examples

The directory examples contains directories or links to directories with example applications.


Go to the first, previous, next, last section, table of contents.