### LibreOffice: bibliography management with JabRef

LibreOffice Writer is a powerful text editor with a nice bibliography management. Yet, not very user-friendly. For example, if you want to insert a bibliography entry in a document, you are presented with a list that contains only the short name of the reference, making it difficult to use large databases. Moreover, each database entry must be manually inserted into the database.

But with the help of the bibliography manager JabRef, things get more simple. It uses the BibTex file format, so the bibliographical databases made with it are compatible with LaTeX. It has a nice online search tool which can populate a bibliography entry with all the information based on ISBN for books or document ID for different papers. And most important it integrates with LibreOffice and OpenOffice, allowing users to insert a bibliography entry with a simple two-click operation.

Both this software packages are free. JabRef needs Java runtime, so it is a cross-platform application. LibreOffice is also cross-platform. On Debian based Linux (like Ubuntu) you can install these packages with:
sudo apt-get install libreoffice libreoffice-writer libreoffice-java-common jabref java-common
Now all you have to do is launch LibreOffice and start a new Writer document. Before connecting with JabRef you need to check if Java is enabled. To do this go to Tools - Options - Advanced and check Use a Java runtime environment. Make sure that a Java installation is detected and checked in the list.

 Enable Java in LibreOffice
You can start JabRef. Go to File and create a New database. Go to Search and select Web search. Also, go to Tools - LibreOffice/OpenOffice Connection. You should add some entries into the database. Here comes in very useful the web search function. You can select different sources. For example you can convert DOI (digital object identifier) and ISBN to bibliography entries. You can also search on IEEEXplore, Google Scholar and NCBI Pubmed (Medline) either using a search term or looking up a valid document ID. Unfortunately not all sources work.

 JabRef can retrieve multiple results of a search. For example this are the results of "atrial fibrillation" search on Medline. Be sure to deselect all and select only what you want.
I created a three entries database from different sources and now I can connect to LibreOffice. All I have to do is press the Connect button while having a LibreOffice document open.

 JabRef database and LibreOffice connection.
You can select a citation style now by clicking the Select style button. In the dialog that appears, you can see the current style or you can create a new one. Two styles are included by default in JabRef: author-year citations and numerical citations.

 Select a citation style
Let's head back to LibreOffice Writer and start writing some text. When you want to cite something, place the text cursor where you want the citation to appear and switch back to JabRef. Select the correct source and press Cite.

 Cite a source into LibreOffice
The result will be the following:

 LibreOffice Writer references from JabRef
References paragraph and its contents are added into a section frame. You can add a page break before the frame to keep references on their page. If you press Cite again in JabRef, a new entry will be added into the References paragraph and the corresponding number will be added into the selected place in text. Let's suppose I have the following document:

 Document with references
Suppose I want to delete first reference. No problem. Just delete [1]. Don't edit manually the References section. It will be overwritten by JabRef when you press the Update button to remove first reference.

 Update citations
Reference [1] has disappeared and [2] has been renamed to [1].

 Updated reference
And at last, let's not forget. If you manage your e-books with Calibre, you can easily cite them by exporting Calibre database to BibTeX format, which can be opened with JabRef. Use the Convert Books menu, choose Create books catalog and select BIB type.