LATEX-workshop (Handleiding) A–Eskwadraat 26 november 2013
Inhoudsopgave 1 Inleiding
2
2 LATEX 2.1 Voordelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Nadelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 2 2
3 Nieuw document
3
4 Tekst
3
5 Math-mode
3
6 Matrices en Tabellen
4
7 Commando’s
4
8 Afbeeldingen invoegen 8.1 Bestandsformaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Sleutelen aan afbeeldingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3 Zelf afbeeldingen maken in LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 4 5 5
9 Referenties
5
10 Code
5
11 Beamer
6
12 Bibliografie
6
13 Zelf op onderzoek uit
7
14 Zelf aan de slag
7
15 Notulen, brieven en facturen
7
1
1
Inleiding
Dit is de handleiding horende bij de LATEX-cursus van A–Eskwadraat. Kijk allereerst deze handleiding door. Het is slim om meteen de broncode van deze handleiding erbij te houden, zodat je een idee krijgt hoe een LATEX-code eruit ziet. Ga vervolgens aan de slag met de opdrachten van het werkblad. Het is de bedoeling dat je bij het maken van deze opdrachten gaat zoeken in de broncode van de handleiding en eventueel op internet. Verder zul je waarschijnlijk een aantal keer iets fout doen, omdat je ergens in je code iets net verkeerd doet. Dit is bewust de opzet van deze workshop, omdat je later bij het gebruik van LATEX hier gegarandeerd mee te maken gaat krijgen en het dus belangrijk is om dit op te kunnen lossen. Onthoud verder ook dat er meestal meerdere manieren zijn om iets weer te geven, met telkens net een iets andere lay-out. Het is vaak een kwestie van keuze wat je fijner vindt.
2
LATEX
Alle informatie uit deze paragraaf komt uit een handleiding1 . ”TEX is a computer program created by Donald E. Knuth. It is aimed at typesetting text and mathematical formulae.” ”LATEX enables authors to typset and print their work at the higherst typographical quality, using a predefined, professional layout.”
2.1
Voordelen
◦ Professionele layouts zijn beschikbaar, waardoor het document er “gedrukt” uit zal zien. ◦ Het maken van wiskundige formules is eenvoudig. ◦ Gebruikers hoeven alleen een paar begrijpele commando’s te begrijpen, die de logische structuur van het document specificeren. Bijna nooit is het nodig om met de daadwerkelijke layout van het document te knoeien. ◦ Zelfs complexe structuren zoals voetnoten, referenties, inhoudsopgaven en bibliografi¨en kunnen eenvoudig worden gegenereerd. ◦ LATEXmoedigt auteurs aan om goedgestructureerde teksten te schrijven, omdat LATEXop die manier werkt... door structuren te specificeren.
2.2
Nadelen
◦ Hoewel sommige parameters kunnen worden aangepast binnen een al gedefinieerde layout, is het aanmaken van een nieuwe layout moeijlijk en kost het erg veel tijd. ◦ Het is niet WYSIWYG (what you see is what you get), zoals bijvoorbeeld Word. 1A
not so short introduction to LATEX, http://http://tobi.oetiker.ch/lshort/lshort.pdf
2
3
Nieuw document
Hoe zet je een nieuw document op? Dit hoeft niet in een LATEX-editor of met een standaard beginbestand. Het kan gewoon in een teksteditor. 1. Open kile en start een leeg document. 2. Zet bovenaan \documentclass{article} Dit commando geeft aan wat voor soort tekst je gaat schrijven, in dit geval dus article. Daarnaast bepaalt het ook de lettergrootte. 3. Direct daaronder zet je de packages die je wilt gebruiken. Deze maken het mogelijk om een aantal extra functies toe te voegen aan LATEX die er niet standaard in zitten. Een aantal standaard packages zijn: 1. amsmath, uitbreidingsmogelijkheden bij wiskundige formules 2. babel, bepaalt de taal van je document en zorgt er zo voor dat woorden correct worden afgebroken en bijvoorbeeld ’Hoofdstuk’ i.p.v. ’Chapter’ wordt gebruikt. 3. amssymb, deze zorgt ervoor dat je symbolen als R kunt gebruiken. 4. graphicx, voor afbeeldingen 5. parskip, deze maakt een nieuwe alinea mooier. 4. Als laatste zet je \begin{document} en \end{document} neer. Tussen deze commando’s zet je de tekst. 5. Sla het bestand op (als je dit vergeet dan krijg je een foutmelding bij het volgende puntje) 6. Compileer het document met ’quick build’.
4
Tekst
Net zoals met Microsoft Word heb je in LATEX ook de mogelijkheid tekst in verschillende vormen te presenteren. Je kunt tekst dik, schuin drukken of in kleur. Je kunt ervoor kiezen tekst klein of groot,
voor 5
Groter,
Grootst te maken. Zorg wel weer
normalsize, anders blijf je groot schrijven. Tevens is het lettertype aan te passen.
Math-mode ◦ Behalve tekst typen, kun je met TEX natuurlijk heel erg goed wiskundige formules typen. Hierbij spelen de tekens _ (subscript) en ^ (superscript) een belangrijke rol. We kunnen bijvoorbeeld de rij a1 , a2 , . . . opschrijven, of deze rekenregel: ab · ac = ab+c . teller . Er zijn verschillende manieren (’environBreuken kunnen we als volgt typen: noemer ments’) waarin je wiskundige formules kunt typen. ◦ Je kunt tussen dubbele $-tekens typen om je wiskundige formule gecentreerd te krijgen, hoewel dit eigenlijk geen goede LATEXcode is, omdat deze niet in alle versies wordt ondersteund. Beter is om \begin{equation} en \end{equation} te gebruiken. Deze zet meteen
3
een nummer bij je vergelijking, waarnaar je kunt verwijzen (1): Z ∞ cos x π = 2 e −∞ x + 1
(1)
◦ Je kunt alle tekens perfect op het internet opzoeken. De meeste zijn vrij vanzelfsprekend. ◦ Bij het oplossen van een vergelijking is het vaak handig de =-tekens mooi onder elkaar te schikken:
6
sin x
=
cos x
sin x
=
sin(x + 12 π)
2x
=
x
=
1 2π 1 4π
k∈Z
+ 2πk, + πk
Matrices en Tabellen
Voor het maken van een matrix gebruik je array’s: 2 d a + b2 c f g+h+i
k l
d a2 + b2 c f g+h+i tekens te gebruiken. Tabellen werken op bijna dezelfde wijze????
Je kunt een matrix ook tussen de tekst zetten
7
door gewoon enkele $-
Commando’s
Het kan soms erg vervelend zijn voordurend N te moeten typen als je iets gebruikelijks als de natuurlijke getallen bedoeld. Je kunt echter gewoon je eigen commando defini¨eren en voortaan N typen. Je ziet de code onder het toevoegen van de packages helemaal boven in de sheet. Dit lost echter nog niet alle problemen op. Als je bijvoorbeeld het commando a2 + b2 = c2 wilt defini¨eren voor a2 + b2 = c2 zul je iets anders moeten doen, je vindt ook de code hiervan bovenaan de sheet.
8
Afbeeldingen invoegen
In LATEX heb je uitgebreide mogelijkheden om afbeeldingen in te voegen en aan te passen.
8.1
Bestandsformaten
De manier waarop je van .tex naar .pdf gaat heeft invloed op het feit wat voor plaatjes je kan inladen.
4
\begin{figure}[H] \includegraphics[width=0.4\textwidth]{./latex_compileren2.JPG} \caption{compileren van \LaTeX direct naar .pdf (\protect \cite{afbCompile})} \end{figure} Bij het compileren van .tex naar .pdf moeten de plaatjes in jpg-formaat zijn. Dit is de meest gebruikte methode. Voor de eerste keer willen we daarom niet uitwijden over andere mogelijkheden.
8.2
Sleutelen aan afbeeldingen
\begin{figure}[ht] geeft de plek aan waar de afbeelding moet komen: • h betekent here; het plaatje komt ongeveer op deze plek. Helaas zet LATEXhet plaatje niet exact op de plek neer waar je de code voor hebt staan. • t betekent top; het plaatje komt aan de bovenkant van de pagina staan. • ⇒ ht betekent dus dat LATEXeerst probeert om het plaatje op de plek van de code neer te zetten, als dat niet lukt boven aan de pagina. Als je echt niet tevreden bent over de automatische plaatsing kan je [H] gebruiken om het plaatje echt neer te zetten op de plek in de code waar je hem hebt geplaatst. Hiervoor heb je wel \usepackage{float} nodig. Met \vspace{2cm} en \hspace{2cm} kan je een plaatje handmatig verschuiven.
8.3
Zelf afbeeldingen maken in LATEX
Helaas hebben we nu geen tijd om dit verder uit te leggen. Kijk bijvoorbeeld zelf eens naar het pakket TikZ.
9
Referenties
In een figuur/formule en dergelijke kun je tussen de \begin en \end het commando \label{HierEenNaam} gebruiken. Vervolgens kan je hiernaar verwijzen met \ref{HierEenNaam}. Met \pageref{HierEenNaam} kun je naar de pagina waar de label staat verwijzen. Je kan ook naar een hoofdstuk verwijzen door onder de titel \section{} het label te zetten. Voor een voetnoot in je tekst gebruik je \footnote{Dit is een voetnoot} 2 .
10
Code
Als je programmacode in je LATEX-bestand wil zetten zijn daar een aantal manieren voor. Alles wat je tussen \begin{verbatim} en \end{verbatim} zet wordt letterlijk afgedrukt, dus sourcecode ook. Er zijn echter mooiere manieren om code in je bestand te krijgen. 2 Dit
is een voetnoot
5
Voor Pseudocode kan je gebruik maken van het algorithmic-package. Voor een uitleg over dit pakket zie: http://en.wikibooks.org/wiki/LaTeX/Algorithms Voor gewone code kan je gebruik maken van het pakket listings. Dit pakket kan een behoorlijk aantal programmeertalen herkennen en kan zelfs code-highlighting toepassen. Verder kan je code letterlijk tussen \begin{lstlisting} en \end{lstlisting} zetten of je kan een bestand laten inlezen met het commando \lstinputlisting. Ook kan je aanpassen hoe de code in het bestand wordt weergegeven. Zie http://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings voor een aantal voorbeelden. Standaard drukt dit pakket java-code zo af: class helloWorld { public s t a t i c void main ( S t r i n g a r g s [ ] ) { System . out . p r i n t l n ( ” H e l l o World ! ” ) ; } }
11
Beamer
Wanneer je een diapresentatie moet geven, is powerpoint niet het handigste programma, omdat het plaatsen van formules nauwelijks mogelijk is. Handiger is dan om gebruik te maken van de Beamer-class. Dits is dus een andere class dan de article-class. Het is dus de bedoeling dat je een nieuw document begint. \documentclass{beamer} Wanneer je formules e.d. wil plaatsen is het noodzakelijk de benodigde packages te laden en te beginnen met het document. Om een slide te maken gebruik je: \begin{frame} This is my first slide. \end{frame} Ook hier kun je weer secties, subsecties en titelpagina’s gebruiken. Alleen het toevoegen van plaatjes is iets anders. In plaats van dat je de breedte van een plaatje aangeeft, moet je de hoogte instellen: \includegraphics[height=0.6\textheight]{voorbeeld.jpg} In het werkblad staat een opgave waar je mee aan de slag kunt.
12
Bibliografie
Aan het eind van een artikel plaats je altijd een bibliografie waarin de gebruikte bronnen worden weergegeven. Hieronder staat een voorbeeld. \begin{thebibliography}{99} \bibitem{afbeeldingen} \url{http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions} \end{thebibliography} 6
Vervolgens kan je met \cite{afbeeldingen} naar bijvoorbeeld de url met meer info over afbeeldingen verwijzen[1]. {99} geeft aan welke opmaak wordt gebruikt. Wanneer je bijvoorbeeld veel teksten hebt gebruikt, kun je kiezen voor {9}: \begin{thebibliography}{9} \bibitem{lamport94} Leslie Lamport, \emph{\LaTeX: A Document Preparation System}. Addison Wesley, Massachusetts, 2nd Edition, 1994. \end{thebibliography} Voor verwijzingen is het belangrijk om de code 2x te compileren. Anders komen er vraagtekens.
13
Zelf op onderzoek uit
Natuurlijk is het niet mogelijk om alle TEX-symbolen die jullie zullen gebruiken binnen deze cursus aan jullie voor te schotelen. Daarom is het belangrijk dat je zelf dingen op kunt zoeken. In het helpmenu van je editor, maar bijvoorbeeld ook op internet kun je een hoop vinden.
14
Zelf aan de slag
LATEX staat standaard ge¨ınstalleerd op de computers in de A–Eskwadraatkamer en op de computers van de Universiteit Utrecht. Als je thuis ook LATEX wil gebruiken heb je daar 2 programma’s voor nodig: Een tekstverwerker dit kan in principe elke tekstverwerker zijn, maar het is aan te raden hiervoor een LATEX-editor te gebruiken zoals Texmaker of Kile. Een compiler dit zorgt ervoor dat je LATEX-code omgezet wordt in een bestand. Voor Windows is MikTex een goed programma, voor Linux kan je texlive gebruiken. Deze programma’s zorgen er ook voor dat je packages automatisch gedownload worden zodat je er gebruik van kan maken.
15
Notulen, brieven en facturen
Bij A–Eskwadraat wordt veel gebruik gemaakt van LATEX. Daarom zijn er een aantal classes geschreven door de TEXniCie waarmee je gemakkelijk notulen, brieven en facturen kan maken. Deze staan standaard ge¨ınstalleerd op de A–Eskwadraatcomputers in de werkkamer. Als je thuis ook gebruik wil maken van deze classes dan zijn ze te downloaden via https://www. a-eskwadraat.nl/Vereniging/Commissies/hektex/aes2-latex.html Op https://www.a-eskwadraat.nl/Vereniging/Commissies/hektex/ zijn ook handleidingen te vinden waarin staat uitgelegd hoe je gebruik kan maken van de verschillende classes. 7
Om ervoor te zorgen dat ze ook werken moet je ze handmatig toevoegen. Voor Windows staat op http://docs.miktex.org/manual/localadditions.html een uitgebreide uitleg.
Referenties [1] http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions [2] http://www.liacs.nl/~tgroentj/land-intro.pdf
Referenties [1] Leslie Lamport, LATEX: A Document Preparation System. Addison Wesley, Massachusetts, 2nd Edition, 1994.
8