Bibliography in LaTex: JabRef

Problem: bibliographical list of cites in LaTeX being grown and became on the thither side of fifty sources. Sorting and storing of bibliographical list in scientific papers is evident.
Solve: there is cross platform system for bibliography base – JabRef.

During creation of vast scientific works, problems with bibliography in LaTeX frequently arises. In the base level of LaTeX study, users applies direct links to literature in the TEX-file:


bibitem{catheydowskinewparadigm} W.T. Cathey and E.R. Dowski, “New paradigm for imaging systems”, Appl. Opt. 41, pp. 6080-6092, 2002.

This means literally “add section References at the end of table of contents, and enumerate links (bibitem) as they follows in bibliography list”. And that is where shoe pinches for LaTeX-beginners – in the text links will have been enumerated as they are in list of references but not in the order of citing.

Besides that, where will be a big problems when you want to include part of bibliography items in another document. Which of them are useful, and in what order? To prevent such kind of problems, BiBTeX was invented.

Bibliography databases
This is a simple text file, where all you bibliography sources are listed. Such file can be used by LaTeX to produce bbl-file with only that literature sources, which were cited in document.
Every time you compiling you LaTeX document, BiBTeX searches citations in base and substitutes them into bbl-file. Obtained bbl-file is used as “thebibliography” list – but it created automatically.

Hence, you don’t need to fight with bibliography in LaTeX – just add literature to you BiBTeX base using fancy GUI program. Created bibliography base can be used with many document, and benefits are:

  1. if there are any errors in literature item, it can be corrected in the BibTeX base only – and all documents, which are using this base, will be corrected automatically after next recompilation;
  2. links appears in desirable order and numbered automatically;
  3. you can search literature in base to find out bibtex key to substitute in cite{};
  4. one BiBTeX base can be used in loads of documents;
  5. import export in different formats is possible.

Thus, you ought to make an effort to use BiBTeX – using you bib-base, it is possible to simply type cite{source} and don’t pay attention on which order cited literature appears in document. Simple and easy.

How it works
To start working with BiBTeX, it is necessary to install any program to work with BiBTeX, create new bib-base and full it with literature sources which you have. If you wrote early at the end of document:


hence, now you must point to bib-base like that (don’t write .bib extension!):


and, apart from other, choose bibliography style which you want to use – often unsorted list is used (i.e., in order of mentioning in text):


This string must be pasted in header of LaTeX document, after usepackage but before begin{document}.

Here we exploiting possibilities of our OS, which alleviates our life: use symlinks. For example, we have two documents in different directories, but they using the same bib-base. How can it be used in either documents? Easily:just make symbolic link to directory with bib-base file and copy this symlink in desirable directories. This can be done in any UNIX systems.

So, if we have bibliography base file my.bib placed in ~/docs/matlab/docus/topics/biblio/ we need to point in LaTeX document to it bibliography{biblio/my} and make symlink on directory:

ln -s ~/docs/matlab/docus/topics/biblio/ biblio

and copy symlink in desirable directories. That’s all, you LaTeX documents will work with bib-base.

For described miracles to be working, installation of bibtex-viewer program is required. Let’s use crossplatform software JabRef, Java-written and GPL-licensed.

Hence, we need to download from Internet j2re*.deb (for example, jpre1.4_1.4.2.03-1_i386.deb), jabref*_all.deb (I have jabref_2.0.1-1_all.deb) and take first DVD-disk with Debian.

Firstly, installing java-common :

#apt-get install java-common

Then installing Java-machine (correct file name if you have another version of Java):

#dpkg -i jpre1.4_1.4.2.03-1_i386.deb

Several questions may be asked during installation process, such as licence agreement. Then install JabRef – as separate package, if it isn’t in distribution:

#dpkg -i jabref_2.0.1-1_all.deb

That’s it: now add JabRef to menu of you favourite window manager and run:


Don’t forget to correct your LaTeX documents and point LaTeX to use BibTeX base:


and work as usual – citing literature and don’t boring, BibTeX will do this job instead of us. At the end of document references will be typesetted by all rules.

A few advises
Fistly, don’t forget to backup you bib-base. It can be exported in different formats or simply be copied in different disk.

Second, many journals as SpringerLink or Elsavier brings Citations for published works. Don’t miss them and collect this files – they are usually in RIS or BIB-formats. Download them and the import to JabRef base, give them bibkey names and you get proper citing of desirable article.

Original post is HERE

Sponsored Link

One thought on “Bibliography in LaTex: JabRef

  1. hi mate … thanks a lot for this post … however for some reason it does not work in my case and i am getting a bit desperate … so for future posts i would recommend you having a foolproof version that you can copy and paste into a document and that WORKS …. it is so strange in my case … anyway, if you really wanna help ppl then i would really recommend you ending your posts like this, even though it is more extra-work … thanks anyway for your attempt 🙂

Leave a comment

Your email address will not be published. Required fields are marked *