BibTeX bibliography files of all papers referenced by the group
These instructions will make all BibTeX files in this repository available to BibTeX on your machine.
The following commands will first locate or create the directory where your TeX installation expects BibTeX files. This repository will then be cloned to that location.
$ mkdir -p $(kpsewhich -var-value=TEXMFHOME)/bibtex/bib
$ cd "$_"
$ git clone https://github.com/krr-up/bibliography.git
If you prefer, you can clone the repository to another location and then create a symbolic link to the path TeX expects.
$ cd <preferred location>
$ git clone https://github.com/krr-up/bibliography.git
$ mkdir -p $(kpsewhich -var-value=TEXMFHOME)/bibtex/bib
$ ln -s <preferred location>/bibliography "$_"
Now, you can use the bibliography in your LaTeX file:
\bibliography{krr,procs}
Before creating new BibTeX entries, check whether they are already contained in krr.bib or procs.bib. If not, add the new entries to krr.bib and open a pull request. Please make sure that new BibTeX entries are in line with the guidelines below. We will then review and merge your pull request in a timely fashion.
BibTeX keys must only contain ASCII characters. Depending on the number of authors, BibTeX keys should be chosen as follows:
-
1 author:
[author][year][a-z]
(author’s full last name)example:
lierler08a
for a 2008 paper by Y. Lierler -
2 authors:
[author 1][author 2][year][a-z]
(authors’ last names shortened to the first 3 letters)example:
rantin06a
for a 2006 paper by S. Ranise and C. Tinelli -
3+ authors:
[author 1]...[author n][year][a-z]
(authors’ last names shortened to the first 2 letters)example:
lirasm98a
for a 1998 paper by X. Liu and C. Ramakrishnan and S. Smolka
As the [year]
field, use the last 2 digits of the publication year.
For the [a-z]
suffix, a
should be selected by default.
Should the resulting BibTeX key already exist, change the suffix to b
, c
, and so on until you obtain a unique BibTeX key.
For proceedings (mainly in procs.bib), use the following format instead:
-
[acronym][year]
example:
lpnmr09
for Proceedings of the Tenth International Conference on Logic Programming and Nonmonotonic Reasoning (LPNMR’09)
Use {
instead of "
as the field delimiter.
example:
@inproceedings{marlyn07a, author = {J. Marques-Silva and I. Lynce}, title = {Towards Robust {CNF} Encodings of Cardinality Constraints}, pages = {483-497}, crossref = {cp07} }
In the author
and editor
fields, abbreviate first names to the first letter and omit additional first names.
Spell out last names.
example:
author = {M. Gebser and B. Kaufmann and T. Schaub}
In the title
field, enclose capital letters (other than the first letter) that must not be converted to lowercase letters by {
and }
.
examples:
{SAT}
,{P}etri Nets
For proceedings with more than one reference, please use crossref
s.
example:
crossref = {aaai17}
Conference or workshop titles should almost always start with “Proceedings of the …”
example:
@proceedings{aaai17, editor = {P. Satinder and S. Markovitch}, title = {Proceedings of the Thirty-first National Conference on Artificial Intelligence (AAAI'17)}, booktitle = {Proceedings of the Thirty-first National Conference on Artificial Intelligence (AAAI'17)}, publisher = {AAAI Press}, year = {2017} }
Don’t abbreviate journal names.
example:
ACM Transactions on Computational Logic
but notACM Trans. on Comp. Log.
Use the strings defined in krr.bib for journal names.
example:
@string{lncs = {Lecture Notes in Computer Science}}
for use in BibTex entries asseries = lncs
Use LaTeX commands for special characters in all fields avoiding unnecessary braces but putting them around the command.
example:
J. P{\"a}tynen
but neitherJ. Pätynen
,J. P\"atynen
,J. P\"{a}tynen
, norJ. P{\"{a}}tynen
.
Use -
rather than --
for hyphens in the pages, volume, and number fields.
Don’t terminate field contents with .
.
The bibliography style and BibTeX will sort it out uniformly.
example:
pages = {203-208}
Always run the bibfmt script to format entries:
./bibfmt.py format
The script takes care of sorting, indenting, replacing unicode characters, and spacing. Nevertheless, always check the result of the script. Especially, when pasting contents from external sources (like titles of PDFs) make sure that special characters like ligatures were replaced correctly.
The script requires at least Python 3.7 and the bibtexparser 1.3 module. It is quite easy to setup with anaconda:
# install anaconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# I recommend not to let the installer modify the bashrc but rather add a line
# like this manually:
# source <install-prefix>/conda/etc/profile.d/conda.sh
# setup environment
conda create -n bib python=3.8 pip
conda activate bib
pip install bibtexparser
# run bibfmt
conda activate bib
python bibfmt.py format