LaTeX

Als er een document geschreven moet worden, gebruiken wiskundigen en natuurkundigen vaak \LaTeX. Scheikundigen gebruiken doorgaans Microsoft Word. De Scheikundejongens willen daar verandering in brengen en hebben daarom deze korte introductie voor dummies geschreven. Heb je geen verstand van programmeren maar wil je wel graag je documenten netjes opgemaakt? Begrijp je waarom een vulpen beter is dan een ballpoint? Deze handleiding is speciaal voor jou.

Heb je ervaring met \LaTeX en daardoor tips en trucs hieraan toe te voegen? Schroom niet en neem contact met ons op.

Wat is LaTeX?

\LaTeX (spreek uit: laa-tech, zoals in tech-niek, omdat de ‘X’ eigenlijk de Griekse hoofdletter \chi is) is een manier om documenten op te maken. Het is het best te vergelijken met hoe HTML gebruikt wordt om websites te maken. Meestal wordt \LaTeX gebruikt voor technische of wetenschappelijke documenten, maar het kan eigenlijk voor iedere vorm van publiceren gebruikt worden. Ook (juist!) voor schoolverslagen. \LaTeX is géén programma en géén tekstverwerker. Het moedigt auteurs aan om zich niet druk te maken over het uiterlijk van hun document, maar over de inhoud.

Maar wat is \LaTeX dan wel? Schrijf je tekst ‘plat’. Dit betekent dat je je niet druk maakt over opmaak, zoals vet, cursief of zelfs over hoofdstukken en tussenkopjes. Alleen tekst. De manier om proza op te maken gebeurt door middel van code. Deze code wordt door een TeX editor geïnterpreteerd (‘gecompileerd’ zelfs). Die spuugt dan weer een PDF uit* waarin alles er fantastisch uitziet. Als je het woord ‘vulpen’ cursief zou willen zetten, typ je het volgende:

\textit{vulpen}

Als je een hoofdstuk over vulpennen zou willen schrijven, doe je dat met de volgende code:

\chapter{Waarom ik met een vulpen schrijf}

Het mooie is nu, dat je je niet druk maakt over wat er daarna gebeurt. Je kan er blind op vertrouwen dat woorden goed worden afgebroken, tussenkopjes op de juiste plaats beginnen, afbeeldingen altijd op een goeie plek staan en hoofdstukken altijd op een nieuwe pagina beginnen. Genoeg introductie, aan de slag.

* Formeel geeft een \LaTeX een DVI bestand terug, wat je weer kunt omzetten naar PostScript of PDF. Tegenwoordig gebruik je meestal echter stiekem pdfLaTeX. Die maakt in één klap een PDF-bestand.

Installeren

Zoals ik hierboven al schreef, is \LaTeX geen programma, maar een systeem (van programma’s) of een manier van tekst zetten (opmaken). Let op dat je eerst ervoor wil zorgen dat je computer begrijpt hoe hij je code kan interpreteren (door een TeX distributie te installeren) en dat je daarna een manier moet hebben om die code aan te passen (met een editor). Meestal kun je met een editor ook een *.pdf bestand maken, of correcter: de editor kan \LaTeX aansturen om een PDF te bakken. Er zijn ook distributies (zoals MacTeX) die alles in één klap meeleveren.

Merk op dat alle programma’s die je nodig hebt om te TeX’en, open source en free horen te zijn. Uit principieel oogpunt is het geoorloofd om bij voorbaat alle andere programma’s te verwerpen.

Voor meer informatie over welke programma’s je kan gebruiken, raad ik je aan om de \LaTeX project site eens te bekijken. Er is ook een uitgebreide Wikipedia entry met een vergelijking tussen verschillende TeX editors.

Windows

Installeer eerst MikTeX of TeX Live. Dit zijn twee typesetting systemen voor Microsoft Windows die beiden bestaan uit een TeX en een set gerelateerde programma’s. Installeer nu TeXnicCenter. Als het goed is, hoef je geen extra opties aan te vinken tijdens de installatie; er wordt wel gevraagd waar de latex.exe staat (C:\Program Files\MiKTeX 2.7\miktex\bin\). TeXnicCenter is een gratis en open source editor voor de \LaTeX-documenten die, onder de motorkap, een distributie zoals MikTex of TeX Live gebruikt. Het staat je toe om documenten te maken in \LaTeX en ze te bouwen tot een *.pdf bestand. Dit doe je door op PDFTeX of TeXtoPDF of Build and view PDF te klikken, of iets soortgelijks. In plaats van TeXnicCenter als editor kun je ook WinEdt of WinShell gebruiken, maar daar ben ik niet zo’n fan van.

Een totaalpakket van TeX en editor is proTeXt (750 MB) welke erg goed en eenvoudig schijnt te zijn. Ik ben hier niet bekend mee en kan hier niks over vertellen.

Mac

Als je Mac OS X draait, wil je MacTeX installeren. MacTeX-2010 weegt 1,6 GB en installeren gaat door dubbelklikken. Het programma waarmee je je document gaat opmaken heet TeXShop en is vrij basaal. Het bouwen van een document gaat door een *.tex bestand aan te maken, onderstaande voorbeeldcode daarin te kopiëren en op Typeset te klikken. Er verschijnt dan automagisch een *.pdf bestand. Naast TeXShop levert MacTex ook LaTeXiT mee, waarmee je \LaTeX-gebaseerde afbeeldingen kan produceren, zodat je makkelijk \LaTeX-formules kunt gebruiken in bijvoorbeeld Keynote. Voor het bijhouden van referenties en het exporteren naar een *.bib bestand, gebruik je BibDesk.

Linux

Ik denk dat je TeX Live moet hebben, maar verder dan dat kan ik je niet helpen.

Voorbeeldcode

Hier is een voorbeeld code die het altijd zou moeten doen. Als dit niet werkt, is je TeX editor niet/verkeerd/onvolledig geïnstalleerd. Sla deze code op in een *.tex bestand, in een aparte map (die ik meestal LaTeX noem) en compileer een pdf. Dit compileren heet ook wel bouwen of bakken.

\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}

Als het goed is, zie je na bouwen het volgende:

Als dit werkt, doe je een vreugdedansje. Een complete voorbeeldcode vind je hier.

LaTeX leren

\LaTeX leren doe je door te doen. Besteed niet teveel tijd aan het lezen van alle veel te lange handleidingen. Alle handleidingen die ik ooit gebruikt heb, staan hieronder opgesomd. Lees eerst de fantastische handleiding door Roelof Ruulens. Neem daarna een oud verslag (of eentje waarmee je nu bezig bent) en zet die om in \LaTeX. Gebruik als naslagwerk de A Not So Short Introduction to LaTeX en de Wikibook. Later zul je genoeg hebben aan een cheatsheet.

Hij doet-et-nie!

Stiekem is \LaTeX programmeren. Als er iets mis gaat, krijg je óf de opmaak die je niet wilde, óf helemaal geen output (pdf bestand). Er zijn drie soorten dingen die fout kunnen gaan. Leer het verschil tussen een error, een warning en een bad box. Een goed document heeft er geen.

  1. Error — Je hebt iets verkeerds getypt dat \LaTeX niet begrijpt. Het kan heel goed zijn dat je een procent- (%) of ampersand-teken (&) hebt getypt, zonder er een backslash (\) voor te zetten. Dit soort fouten moeten opgelost worden, voordat je een *.pdf bestand kan bakken. Een goeie editor geeft het regelnummer mee waar de fout staat.
  2. Warning — Er is hier iets overkomelijks mis gegaan. Je \LaTeX systeem heeft iets raars herkent en wil je hier graag op wijzen. Dit zijn typisch fouten die ervoor zorgen dat er wel een pdf bestand gemaakt kan worden, maar dat de code niet netjes is.
  3. Bad box — Onder andere afbeeldingen en tabellen worden in een virtueel hokje gezet, zodat ze gemakkelijk uitgelijnd kunnen worden. Normaal hoef je je hier niet druk over te maken, maar in het geval van een bad box is er iets mis met dit hokje. Doorgaans is het te breed en/of te hoog, zodat hij uit de marges van je document valt.

Wat je in het begin van je leerproces vooral moet doen, is het regelmatig /compileren bouwen van je document. Als je geen pdf bestand terug krijgt, dan weet je dat het probleem is ontstaan ná de vorige keer dat je een goed output bestand maakte. Fouten opsporen is een verschrikkelijk bruikbare skill die je overal in je leven kan gebruiken. Wees niet lui en streef naar een net en overzichtelijke TeX-code.

Handige pakketten voor chemici

Een aantal pakketten zijn voor chemici erg handig. Ik wil er twee uitlichten: mhchem voor het weergeven van molecuulformules en numprint voor het gemakkelijk schrijven van getallen en eenheden.

mhchem

Om mhchem te laden, zet je in je preamble \usepackage[version=3]{mhchem}. Om nu de molecuulformule C8H10N4O2 weer te geven, hoef je alleen maar \ce{C8H10N4O2} te typen — ce staat voor chemical equation. Dit levert dan netjes op: \ce{C8H10N4O2}.

Met mhchem kun je ook gemakkelijk chemische reacties opschrijven, zoals: \ce{2 H2 (g) + O2 (g) -&gt; 2 H2O (l)}, door \ce{2 H2 (g) + O2 (g) -> 2 H2O (l)} te typen. Of bijvoorbeeld \ce{2 NO2 (g) &lt;=&gt; N2O4 (g)}, met \ce{2 NO2 (g) <=> N2O4 (g)}.

Wellicht is het je al opgevallen dat je niet hoeft aan te geven of getallen al dan niet als superscript of subscript gedrukt moeten worden. mhchem doet dit in de meeste gevallen automatisch en correct: getallen achter een letter wordt subscript; plus- en mintekens superscript. Voor het zeldzame geval dat dit niet helemaal goed gaat, kun je ^ gebruiken om een superscript te forceren, en _ voor subscript.

Voorbeeld: Wil je het sulfaation typen, dan levert \ce{SO42-}, \ce{SO42-} op, hetgeen verkeerd is. Oplossing: typ \ce{SO4^{2-}}, wat resulteert in \ce{SO4^{2-}}.

Tot slot: er bestaat een uitgebreide handleiding van mhchem met veel voorbeelden. Een aanrader!

numprint

Laad het pakket door in de preamble \usepackage[np,autolanguage]{numprint} te zetten. De opties np en autolanguage tussen de blokhaken geven aan dat je numprint wilt kunnen aanroepen met \np (anders moet je \numprint gebruiken, wat meer typwerk is) en dat numprint op basis van de ingestelde taal (met bijv. \usepackage[dutch]{babel}) kiest voor een komma of punt als decimaal- en duizendtalscheidingstekens.

Met numprint kun je gemakkelijk getallen en hun eenheden opschrijven. Dat doe je door \np[eenheid]{getal} te typen. Bijvoorbeeld: Een mens is gemiddeld \np[m]{1.62} lang geeft Een mens is gemiddeld \np[m]{1.62} lang. Het maakt niet uit of je binnen numprint een punt of komma als decimaalteken gebruikt: numprint vervangt beiden door wat correct is voor de taal van het document.

We kunnen in numprint ook de notatie 6,02E23 gebruiken. Dit levert \np{6.02E23} op. Ook kun je in de eenheid super- en subscripts gebruiken. Stel, we willen het getal van Avogadro opschrijven. Met numprint hoeven we alleen \np[mol^{-1}]{6,02E23},  te typen. Dit levert het volgende op: \np[mol^{-1}]{6,02E23}.

In numprint zitten nog veel meer handigheidjes, maar hiervoor verwijzen we je graag door naar de handleiding.

Aanmoediging

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.

Een gedachte over “LaTeX”

Reageren niet meer mogelijk.