And I was tired of maintaining bibliographic databases for my research group, where each database duplicates a fair fraction of the references with slight variations. The same conference would sometimes have an "Eighth" in front of it, sometimes it would say "Proceedings of," sometimes "Proc. of," sometimes nothing at all. Then our paper deadline would arrive, we would be a page over the limit, and we would have to edit all the entries down to cryptic shorthand, only to expand them later for the camera-ready. Even with heavy use of @string macros, this was a tedious procedure. Changing style files required learning an arcane language. Databases were not modular.
It was 2006, and we knew better, and I thought it would be worth it to spend a few days writing a modern replacement for BibTex.
If you are using a BibTex style file, you are probably using some goobledygook that someone kludged together without understanding, and chances are that no mortal will be able to translate it into anything reasonable. But you can probably write something from scratch in half an hour that'll do what you want in CrossTeX. CrossTeX's internal programming language is Python, a nice and clean platform that is easy to learn.
paper.tex
, invoke it
like this "crosstex paper
".
Check out the CrossTeX tutorial for more
detailed examples.
The long answer is: you may be a genius and you may even have OCD, but it's too easy to make mistakes when using bibtex. Bibtex provides no support for avoiding common errors such as inconsistent capitalization in titles, spelling errors in author names, and errors in conference locations. Its input language actually encourages errors of this kind. People usually get by simply because they do not cite that many papers and because they have accepted that they'll need to waste their time checking computer output. Things can be drastically better.