Abstract
publist is a tool to create a publication list (a list of your publications that usually accompanies your CV) from data stored in a RefDB (http://refdb.sourceforge.net) database. As you have to add your own publications to the database anyway (who doesn't cite himself as often as possible?), a publication list can be automatically created from these data instead of maintaining the list manually like in the days of yore.
Table of Contents
Unpack the archive into a convenient directory, e.g. your home directory. This will create the subdirectory ~/publist-1.1
. You'll find the following files here:
work/publist.xml
The skeleton document. This is a simple DocBook XML document that you can adapt to your needs.
work/Makefile
This is a makefile for GNU make (called gmake on some systems) which drives the transformation of the document. Please see the comments in the Makefile for a few modifications which you will have to make.
styles/publist-style.xml
A bibliography style which is well suited for publication lists. Among other things, the bibliographies are listed by date, most recent first. You can of course tweak the style to your needs, or use a completely different style.
styles/publist-style-de.xml
This is a translation of the above style into German. Styles in other languages can be derived just as easily.
doc
This subdirectory contains the documentation that you're just about to read.
In brief, the following steps are required to get you up and running:
Add the provided publication style to RefDB:
user:~/publist-1.1#
refdba -C addstyle styles/publist-style.xml
Copy the files of the work
subdirectory into a new working directory:
user:~/publist-1.1#
mkdir ~/mypublist
user:~/publist-1.1#
cp work/* ~/mypublist
Customize the skeleton document in your working directory (~/mypublist/publist.xml
) to your needs.
Customize the Makefile in your working directory (~/mypublist/Makefile
).
Add your own publications to the database, or modify existing ones appropriately. You may want to tag your publications with additional information, e.g. to tell apart oral presentations from poster presentations and peer-reviewed articles from invited publications.
Run make in your working directory to transform your publication list to HTML or to printable output, e.g.:
user:~/mypublist#
make html
user:~/mypublist#
make xhtml
user:~/mypublist#
make pdf
This section provides all the information you need to set up your publication list appropriately.
publist is nothing but a slight modification of the Makefile created by the refdbnd tool (distributed with RefDB), along with a skeleton publication list document and a bibliography style suitable for publication lists. The Makefile is set up to create several bibliographies, one for each publication type that you want listed separately. By default, the following types are used:
Peer-reviewed publications
Invited publications
Abstracts
Oral Presentations
Books
Thesis
These bibliographies are included into the publication list as external entities. When you transform the document, you'll get your publication list, with the publications listed by type and sorted by date, most recent first.
Before you can use the publist tool successfully, you need to customize at least two of the provided files. This is why it is recommended to copy them to a working directory, in order to keep the original versions intact. The required changes are discussed below.
Define a query for each of the reference types that you want to use in your publication list. Each query must retrieve exactly the references that you want to be included in the particular section. It is recommended to dry-run the queries using a RefDB client until you get the desired results.
Define titles for the sections corresponding to the reference types. The default titles are in English, but you can easily translate them to your native language. If you need your publication list in two or more languages, work in separate subdirectories.
The bibliographic data may need some slight modifications to work with publist. The bibliographic data in RefDB do not distinguish between peer-reviewed and invited papers, and there's actually no reference type to hold oral presentations. It is recommended to use the ABST type for the latter.
One way to deal with this is to use labels in one of the user-defined fields to distinguish the types. The predefined queries in the Makefile use the labels "peer" and "invited" in the U1 field to distinguish peer-reviewed from invited papers, and the labels "printed" and "oral" to distinguish published abstracts (both from poster and oral presentations) from unpublished oral presentations. You may figure out your own scheme as long as your queries retrieve the appropriate references.
The Makefile is derived from the ones created by refdbnd and allows the same customizations. These are documented in the Makefile itself. If you see a reason to do so, you can change the default character encoding from UTF-8 to something else, or you can provide a custom CSS stylesheet to customize the (X)HTML output.
You can rearrange the sections by moving around the entity references in the publist.xml
file. If you want to include additional reference types, you'll have to make the following modifications:
Define a new query in the query section, add a title in the titles section, and define new targets type.bib.id.xml
and type.bib$(extension)
. The latter is a matter of copyediting one of the existing definitions. You'll also have to add the ID file and the bibliography file to the bibids
and bibs
variables, respectively.
Add a new xi:include
element to your document which includes the additional bibliography.