My thesis write-up is proceeding by task, rather than by topic. First was organising my bibliography, then gluing together my papers verbatim. Most recently, I’ve been compartmentalising my figure generation, so that graphs and images can be independently created from separate data files under the guidance of make, rather than being extracted by arcane invocations over my accreted R dump file. I’ve reached no particular insights on the latter two tasks, except that using Latex makes agglomerating disparate publications under the same style relatively painless, and that standalone figure generation and data capture is a discipline I should have imposed on myself long ago.
For my bibliography, I have finally acted on my long-standing intention to make more extensive use of string definition and concatenation in Bibtex. String definitions in Bibtex are familiar enough; we make them like so:
@string{ acmtois = “ACM Transactions on Information Systems” }
to be used like so:
@article{jk02:acmtois,
author = {J{\”{a}}rvelin, Kalervo and Kek{\”a}l{\”a}inen, Jaana},
title = {Cumulated gain-based evaluation of {IR} techniques},
journal = acmtois,
year = {2002}
}
Such definitions not only save effort in typing and wetware parsing, but also maintain consistency in formulation and abbreviation throughout the file. However, by themselves, they are limited, in that while they work for journals, which have a constant title, they do not work for conference proceedings, whose title changes each year (for instance, from “Proceedings of the 15th International Symposium…” to “Proceedings of the 16th International Symposium…”).
Previously, I had been writing out each conference title verbatim in the entry for that conference. But then if you want to change the way you present the title (for instance, if you want to abbreviate “Proceedings” to “Proc.” and “International to “Int.”), you have to go through every instance of that conference (and there might be a dozen or more) and change them individually.
The long-pondered solution that I’ve adopted for my thesis bibliography is to split conference names into pre-numeral, numeral, and post-numeral sections, then use another of Bibtex’s facilities, the “#” string concatenation operator, to join them together, like so:
@string{ proc = “Proc.”}
@string{ ecir:post = “”European Conference on {IR} Research” }@proceedings{ecir07,
title = proc # ” 29th ” # ecir:post,
…
}@proceedings{ecir08,
title = proc # ” 30th ” # ecir:post,
…
}
Having gone this far, I decided to do the same thing for author names and author lists, again for the same of conciseness, conformity, and ease of change:
@string{ et = ” and ” }
@string{ moffat = “Moffat, Alistair” }
@string{ webber = “Webber, William” }
@string{ zobel = “Zobel, Justin” }@inproceedings{mwz07:sigir,
author = moffat # et # webber # et # zobel,
title = {Strategic System Comparisons via Targeted Relevance Judgments},
pages = {375–382},
crossref = {sigir07}
}@inproceedings{wmz08:cikm,
author = webber # et # moffat # et # zobel,
title = {Statistical Power in Retrieval Experimentation},
pages = {571–580},
crossref = {cikm08}
}
The next step would be to also define strings for “1st”, “2nd” and so forth, to allow for consistent switching to the long forms “First”, “Second” etc.. And of course the scheme does not support syntactic changes, such as starting each conference with its abbreviated name. But despite these limitations, adopting this approach has left me with a Bibtex file that is much less ugly to look at and awkward to maintain.

