Update: Displaying bibtex on web site

A while ago (see here for my Bibtex posts) I commented that I was working on a system where I could take a bibtex file and display that on my web site. The result can be seen here. The system works pretty well in that my web site (at least this part of it) is driven from a bibtex file.

I have also implemented a system where you can freely download my papers, but you have to supply your email address. This is for a number of reasons. Firstly it is useful to know how many of my papers are being downloaded. Secondly, it is interesting to know what papers people are interested in. Thirdly, it might be useful to collect email addresses to let people know about conferences, new publications etc.

Since the system went live, 108 of my papers have been downloaded. Some of downloads were done by me, just testing the system, or making sure newly added papers could be downloaded – but around 100 downloads is pretty good.

In my previous post I said that all I needed to do was keep my bibtex file up to date. Actually, I have a few ideas as to what I want to do with the system. I have started to work on some of those ideas, which I’ll explain in a future blog.

One of the reasons that I want to extend the system, and also make it easier to maintain, is for a research project that I have in mind. If I decide to go ahead with that, I’ll need to do a lot more bibtex manipulation that I do at the moment and anything that I can do to make my life that little bit easier will be well worth the implementation effort that is required.

Whatever I do, I still owe a big debt to Andreas who was good enough to provide the code that I initially used, and still draw on very heavily.


Displaying BibTeX on web site

For a long time I have been wanting to automate the way that I display my publications on my web site. There are facilites such as bib2html. They are very good at what they do but they never did exactly what I wanted.  In fact, at the  ALIO-INFORMS conference in June I recall having long conversations (yes plural) with a good friend of mine about the best way to take a bibTeX file and create a list of publications that is suitable to display on the web. What came across was that we both had slightly different requirements and none of the “off the shelf” solutions completely fitted the bill.

Then I came across the web site by Andreas Classen. This was the closest I had come across that did everything I needed, largely due to the fact that the scripts could be parameterised.

If there is a downside it is that you need to be able to run PHP on the server which serves your web pages. I susppose you also need to understand PHP, but you can get the scripts running without an in-depth understanding. I know, as I didn’t understand PHP, but I got them running!

Once I had got the scripts up and running,  I took the opportunity to learn PHP, as it was a language that I had never used before. If you have used almost any other language (C++, Java etc.) you won’t have any problems learning PHP. Of course, it’s slightly different as you are now dealing with a server side language, rather than a general pupose language. Still a quick google of any issues that you are unsure of usually brings up a solution.

Once I had got to grips with PHP (but I am still far from expert) I decided to start changing things for myself.

If you take a look at http://www.graham-kendall.com/publications/, you see the end result. It is still very much Work In Progress (in that many of my publications are still not correct as I need to overhaul my bibTeX file) but the things to take a look at, in the context of the main message of this blog, are:

  1. As well as displaying all publications, you can view just journals, just conference proceedings, just book chapters etc.
  2. If you look around my site, you can see that it is possible to view different types of papers (e.g. hyper-heuristics, sports scheduling, cutting and packing etc.). This is done by simply searching through the title, abstract and keywords and, if a match is found, then that publication is displayed.
  3. Each publication leads to a separate page where you can download the file (assuming a PDF is available), look at the abstract, go directly to where the publication is help (via the doi) etc.

I still want to do some work on the scripts, but at least I now have the ability to do almost anything I want. The main effort at the moment though is to get the underlying bibTeX correct, so that all my publications display correctly.

But, once it is all up and running, then the only maintenance required is to keep the bibTeX file up to date.

So, thank you Andreas. You provided the inspiration to enable me to do something that I have wanted to do for ages.