L A TEX-workshop (Handleiding) A Eskwadraat 26 november 2013 Inhoudsopgave 1 Inleiding 2 2 L A TEX 2 2.1 Voordelen........................................ 2 2.2 Nadelen......................................... 2 3 Nieuw document 3 4 Tekst 3 5 Math-mode 3 6 Matrices en Tabellen 4 7 Commando s 4 8 Afbeeldingen invoegen 4 8.1 Bestandsformaten.................................... 4 8.2 Sleutelen aan afbeeldingen............................... 5 8.3 Zelf afbeeldingen maken in L A TEX........................... 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 L A TEX-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 L A TEX-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 L A TEX 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 L A TEX Alle informatie uit deze paragraaf komt uit een handleiding 1. TEX is a computer program created by Donald E. Knuth. It is aimed at typesetting text and mathematical formulae. L A TEX 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ën kunnen eenvoudig worden gegenereerd. L A TEXmoedigt auteurs aan om goedgestructureerde teksten te schrijven, omdat L A TEXop 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. 1 A 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 L A TEX-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 L A TEX 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 L A TEX 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, Groter, Grootst te maken. Zorg wel weer voor normalsize, anders blijf je groot schrijven. Tevens is het lettertype aan te passen. 5 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 a 1, a 2,... opschrijven, of deze rekenregel: a b a c = a b+c. teller Breuken kunnen we als volgt typen: noemer. Er zijn verschillende manieren ( environments ) waarin je wiskundige formules kunt typen. Je kunt tussen dubbele $-tekens typen om je wiskundige formule gecentreerd te krijgen, hoewel dit eigenlijk geen goede L A TEXcode 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): cos x x 2 + 1 = π e (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: sin x = cos x sin x = sin(x + 1 2 π) 2x = 1 2 π + 2πk, k Z x = 1 4 π + πk 6 Matrices en Tabellen Voor het maken van een matrix gebruik je array s: ( a 2 + b 2 d c k f g + h + i l ( a Je kunt een matrix ook tussen de tekst zetten 2 + b 2 d c f g + h + i tekens te gebruiken. Tabellen werken op bijna dezelfde wijze???? ) ) door gewoon enkele $- 7 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ëren 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 a 2 + b 2 = c 2 wilt definiëren voor a 2 +b 2 = c 2 zul je iets anders moeten doen, je vindt ook de code hiervan bovenaan de sheet. 8 Afbeeldingen invoegen In L A TEX 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 L A TEXhet 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 L A TEXeerst 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 L A TEX 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 L A TEX-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 static void main ( S t r i n g args [ ] ) { System. out. p r i n t l n ( Hello 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 L A TEX staat standaard geïnstalleerd op de computers in de A Eskwadraatkamer en op de computers van de Universiteit Utrecht. Als je thuis ook L A TEX 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 L A TEX-editor te gebruiken zoals Texmaker of Kile. Een compiler dit zorgt ervoor dat je L A TEX-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 L A TEX. 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, L A TEX: A Document Preparation System. Addison Wesley, Massachusetts, 2nd Edition, 1994. 8