Dit bericht is een vervolg op Artikelbeheersystemen: Mendeley en Papers. Let op, jargon aanwezig. Als er fouten in de voorbeeldcodes zitten, hoor ik dat graag.
Mijn eis voor een goed artikelbeheersysteem (bibliografie-gegevensbestand) is dat het goed met LaTeX overweg moet kunnen. Of simpeler gezegd: er moet een BibTeX-bestand in én uit kunnen. En dat doet Mendeley, maar niet zonder een paar instellingen te veranderen. In dit bericht zal ik uitleggen hoe je Mendeley het best kan ‘temmen’.
Om ervoor te zorgen dat Mendeley een BibTeX-bestand synchroniseert (en dus niet eenmalig bijwerkt), ga je naar in de opties naar het tabblad “BibTeX” (Windows: het menu “Tools” > “Options”; Mac: “Mendeley Desktop” > “Preferences…”). Vink nu “Enable BibTeX syncing” aan en klik op “Create one BibTeX file per collection” aan om ervoor te zorgen dat elke collectie (Mendeley-Folder of -Group) een eigen BibTeX-bestand krijgt. Voor de lokatie van de BibTeX-bestanden suggereer ik iets als ~/Documents/Mendeley Desktop/BibTeX
, dan worden je .bib
-bestanden samen bij de PDF’jes van je artikelen bewaard. Verder vind ik het fijn dat al mijn projecten een eigen BibTeX-bestand krijgen, want dan worden de losse bestanden tenminste niet zo groot.
Een andere handigheid die mij al vaak mijn TeX-leven heeft gered, is dat ik voor ieder schrijfproject een aparte map aanmaak (met de fantasieloze naam “LaTeX”). Een voorbeeld. Stel nu, ik ben bezig met een project. Ik heb de volgende (arbitraire) map-structuur op m’n (Mac OS X) computer:
~/Documents/project/LaTeX
~/Documents/Mendeley Desktop/BibTeX
~/Documents/Mendeley Desktop
Ik heb mezelf aangeleerd om al mijn LaTeX-gerelateerde documenten, per project, in één LaTeX-map te zetten (dat zijn de *.tex
, een *.bib
en een map images/
met alle plaatjes). Nu ben ik overgestapt op Mendeley en die houdt een BibTeX-bestand bij voor ieder los project in ~/Documents/Mendeley Desktop/BibTeX
. Dat is een beetje vervelend, want dat is niet de LaTeX-map van het project, en LaTeX kan ook niet omgaan met spaties in bestandslocaties.
Hoe vertel ik nu tegen LaTeX waar mijn referentiebibliotheek staat? Dit kan op twee manieren: 1) je haalt de spaties uit de map van Mendeley Desktop
en vertelt LaTeX waar je referentiebibliotheek écht staat of 2) je houdt LaTeX voor de gek en maakt een symbolische link aan op de plaats waar LaTeX verwacht dat je BibTeX-bestand staat. Let op, dit is niet hetzelfde als een snelkoppeling (Windows) of een alias (Mac OS X)! Hoe doe je dit?
Optie 1
Ga in Mendeley weer naar de opties, maar ditmaal naar het tabblad “File Organizer”. Als je een vinkje hebt staan bij “Organize my files”, haal dan de spatie uit de padnaam (er staat nu dus “MendeleyDesktop”, i.p.v. mét spatie). Doe hetzelfde op het tabblad “BibTeX” waar je eerder al was. Zet nu aan het eind van je .tex
-bestand, op de plek waar de bibliografie moet verschijnen, de volgende regels:
\addcontentsline{toc}{chapter}{Bibliography} % Optioneel
\bibliographystyle{ieeetr} % Om de stijl van de bibliografie in te stellen; andere opties mogelijk
\bibliography{~/Documents/MendeleyDesktop/BibTeX/project.bib}
Optie 2
Om een link aan te maken van het originele BibTeX-bestand naar de LaTeX-map, kan gebruikt gemaakt worden van een symbolische link (symlink). In Unix (dus ook Mac OS X) en Linux typ je het volgende in de terminal:
ln -s [bronbestand] [doellocatie]
Let op dat je de spaties moet afvangen door een backslash ervoor te zetten, of het volledige pad tussen aanhalingstekens moet zetten. Een voorbeeld:
ln -s ~/Documents/Mendeley\ Desktop/BibTeX/bibtex.bib ~/Documents/project/LaTeX/bibtex.bib
In Windows typ je het volgende in de command prompt:
mklink [bronbestand] [doellocatie]
Bestandslocaties met spaties zet je tussen aanhalingstekens. Voorbeeld:
mklink "C:\Users\[naam]\Documents\Mendeley Desktop\BibTeXbibtex.bib"
C:\Users\[naam]\Documents\project\LaTeX\BibTeXbibtex.bib
Let op, ik heb dit niet getest in Linux of Windows. Let nog een keer op: een symlink is niet hetzelfde als een snelkoppeling (Windows) of een alias (Mac OS X).
Tot slot moet ik opmerken dat er nog altijd een aantal bugs (en bad features) in Mendeley zitten, maar dat ik de opzet van het programma heel sterk en compleet vind. Het is waarschijnlijker voor een (nieuw) programma dat fouten er in de loop der tijd uitgehaald worden; de kans is kleiner dat nieuwe functionaliteiten in diezelfde tijd toegevoegd zullen worden. Mijn conclusie: Mendeley is een goed en veelbelovend programma.