Mendeley en LaTeX

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.

Teksten opmaken voor beta’s — een LaTeX introductie

Dit bericht is een introductie in onze nieuwe pagina.

Als je een verslag schrijft, zit je dan ook altijd zo te klooien met de bronverwijzingen? Als je op een computer een Word-bestand probeert te openen, is de opmaak dan ook op mysterieuze wijze veranderd? Als je een tekstbestand naar een vriend stuurt met een ander besturingssysteem, ben jij het dan ook zat dat hij/zij het niet kan openen omdat hij/zij niet dezelfde tekstverwerker gebruikt als jij? Houd jij van een esthetisch document maar weet je niet zoveel van typografie? Ben jij het ook zat om een tekstverwerker te moeten kópen en daarna altijd te blijven updaten en upgraden? Snap jij waarom mensen een vulpen gebruiken?

Als je hier steeds ‘ja’ antwoordt, raad ik je extreem sterk aan om over te stappen op \LaTeX (spreek uit als ‘laa-teg’, als in ‘tech-niek’). \LaTeX is niet een tekstverwerker, maar een tekst-zet-systeem. Het is dé manier om een tekst te schrijven zonder na te hoeven denken over de opmaak. Je typt je tekst, zet daaromheen een klein beetje code en een programmaatje ‘compileert’ (bouwt, drukt, zet of bakt) er een PDF van.

Deze manier van tekstzetten is erg populair bij beta’s (vooral natuur- en wiskundigen), maar nog veel te weinig bij scheikundigen, en daar willen wij iets aan doen. \LaTeX is fantastisch als je veel omgaat met bronnen (raak jij ook altijd de tel kwijt?), formules (zowel wiskundig als scheikundig), afbeeldingen (nooit meer nadenken over waar je ze neerzet) en nog veel meer. En omdat wij ‘a’ zeggen, zeggen wij ook ‘b’: om jullie snel en kort te introduceren in de gemakken die LaTeX biedt en omdat we begrijpen hoe lastig is om iets nieuws te leren, hebben we een introductiepagina over \LaTeX gemaakt. Daar staat hoe je het moet installeren, gebruiken en de simpele handleidingen die ik gebruikte om het te leren.

Een voorproefje. Als je het volgende typt

\documentclass[11pt,a4paper]{article}

\usepackage[dutch]{babel}
\usepackage{url}

\title{\LaTeX\ door Scheikundejongens}
\author{Aldo G.\,M.\,Brinkman \& Mark Vis}
\date{\today}

%%% EINDE PREAMBLE %%%

\begin{document}
\maketitle

Dit is een \LaTeX handleiding voor iedereen, door de Scheikundejongens.
\section{Hoe en wat?}
Lees meer op \url{https://scheikundejongens.nl/latex}
.

\end{document}

…verschijnt er…

Ziet dat er niet kinky uit? Zonder enige opmaak. En geef toe, als je even goed naar de code kijkt, zie je dat er niks gebeurd is. Wil je dit ook leren? Geen probleem, niet moeilijk, helemaal gratis. Lees hier verder.

Tot slot een aanmoediging voor als je het niet meer zit zitten, die tevens mijn lijfspreuk is over tekstverwerken.

Als het opmaken van een tekst in MS Word niet lukt, ligt dat meestal aan Word; als het opmaken van een tekst met \LaTeX niet werkt, ligt dat altijd aan jezelf.

Veel succes.

Chemische fomules in Word

Als je iets schrijft over scheikunde, wil je nog wel eens een structuurformule in je tekst zetten. Er zijn een aantal programma’s die hele mooie structuurformules (zowel 1D als 2D, soms 3D) kunnen maken. Verreweg het meest fantastische en uitgebreide chemische programma dat ik ken, is Chemdraw. Maar voor iedereen die de $2.000 wat veel geld vindt voor een kopie van ChemDraw, heeft Microsoft een alternatief.

Chemistry Add-In for Microsoft Office Word — of wat korter, Chem4Word — is gratis en open-source. Dat betekent dat iedereen het mag gebruiken en programmeurs/ontwikkelaars zijn vrij de code aan te passen. Misschien wat minder interessant voor de gemiddelde gebruiker: Chem4Word gebruikt Chemical Markup Language (CML), dat gebaseerd is op XML. De clou is dat de onderliggende code platte tekst is, maar dat die wel plaatjes kan genereren.

Pablo Fernicola legt in het volgende (Engelse) filmpje uit hoe het werkt. Merk op dat Chem4Word alleen werkt voor Office 2007 en 2010. Als je een oudere versie draait: bespaar je de moeite.

Voor hen die een gratis programma zoeken dat chemische formules en structuren maakt, is er nog ChemSketch Freeware. Dit programma is voor niet-commerciële doeleinden en de gratis versie komt zonder technische ondersteuning. Als je dus vragen hebt, of het is kapot, word je door de makers niet geholpen.

En dan sluit ik graag af met mijn lijfspreuk over tekstverwerken:

Als het opmaken van een tekst in MS Word niet lukt, ligt dat meestal aan Word; als het opmaken van een tekst met LaTeX niet werkt, ligt dat altijd aan jezelf.

Chem4Word via Chemical & Engineering News