Bibstrings

Disclaimer. This post is to state some guidelines to work within my group. Nevertheless, the advice may help someone. But some other times, the discussion may derail into something particular of our practices.

When writing in LaTeX, you end up with several entries in a .bib file. That file is a “database” for the different entries in your paper. And it becomes a pain to maintain.

The problem

Most probably, you took the entries from the automated websites that generate them, either in the publisher websites, or scrappers, like google scholar. Either way, you will end up with an entry for a journal or conference that is not standard (and most of the times wrong). Hence, always double-check it and fix the errors. Within the list of infuriating things is bad written references.

This tweaking becomes more evident when you are trying to standardize the different information. For instance, a quick search of paper’s published on CVPR yield the following writings for the conference

booktitle={CVPR}
organization={CVPR} 
booktitle={IEEE Conference on Computer Vision and Pattern Recognition}
booktitle={Computer Vision and Pattern Recognition, IEEE Conference on}

Three of them have the correct field name. The two with CVPR will not be translated correctly since the capital letters are not protected, but that is another story. And the other two have a different standard on the name. My point is how do you guarantee a consistent naming convention in your papers?

The solution

A solution is to use variables. The bibstrings are variables that are replaced when you are processing the “databases” of the references. They work by changing the literals (the strings in brackets in the example above) with some variable name.

To use them, you need to declare the variable in the .bib file and then use it in one of the fields, like

@STRING{CVPR  = "{IEEE} Conference on Computer Vision and Pattern Recognition"}

...
booktitle=CVPR
...

That will replace the CVPR variable for the correct name. That is good because your database of references can be updated if you change the variable definition. So, instead of putting all the strings in the same file, you can spread them across different .bib files and use them when importing the different bibliographies

\bibliography{file_with_your_variables,your_bib_file}

A packaged solution

To solve this problem, I am maintaining a database of several journals and conferences that are commonly used: journal list. The idea is to maintain two versions: abbreviated and full name journals. So, we can quickly switch between them when writing.

To use the journal list you only need to install in your local TeX tree the abrv.bib and full.bib files, available on the download artifacts section of the repo (follow the repo instructions on how and where to install them).

Optionally, you can clone the repo and contribute by adding more journal and conference names with a merge request.

Leave a Comment