LaTeX/Presentaties
LaTeX kan ook gebruikt worden om presentaties te maken. Er zijn verschillende pakketten die helpen je LaTeX-document als een pdf-presentatie uit te voeren. Het meest gebruikte pakket is het Beamer-pakket.
Het Beamer-pakket
bewerkenHet Beamer-pakket kun je laden door de Beamer-documentklasse te gebruiken:
\documentclass{beamer}
Daarna volgt gebruikelijke LaTeX-code.
Een slide maken in Beamer gebeurt met een frame-omgeving.
\documentclass{beamer}
\begin{document}
\begin{frame}{Titel van de eerste slide}
Hier komt er inhoud
\end{frame}
\begin{frame}{Titel van de tweede slide}
En nog wat inhoud
\end{frame}
\end{document}
In de frames kun je, zoals je waarschijnlijk wel verwacht, gewoon werken met bekende LaTeX-omgevingen waaronder: de itemize en enumerate-omgevingen, wiskundige formules, bewijzen en stellingen ...
De voorstelling geven
bewerkenAls je het tex-document naar pdf hebt uitgevoerd, kun je met iedere goede pdf-lezer een voorstelling geven:
- Met Adobe Reader kan je met de sneltoets CTRL+L naar de volledig scherm-modus gaan
- Als je Evince Document Viewer gebruikt kun je dit met de toets F5 doen
- In Okular kom je in deze modus terecht met CTRL+SHIFT+P
Onderaan iedere slide zijn ook kleine links te vinden om gemakkelijk in je presentatie te bladeren.
De titelpagina
bewerkenNet zoals in een gewoon LaTeX-document kun je in een presentatie ook een titelpagina maken. Je moet natuurlijk wel de auteur en dergelijke definiëren.
\title{\LaTeX beamer presentatie}
\subtitle{Presentaties zonder problemen}
\author{Till Tantau}
\date{\today}
Nu kun je de titelpagina maken.
\begin{frame}
\titlepage
\end{frame}
Thema's en kleurenschema's
bewerkenHet standaard thema is nogal eenvoudig en gaat daarom snel vervelen. De gemakkelijkste optie is thema's te gebruiken die ingebouwd zijn. Een thema kan je laden met het volgende commando:
\usetheme{Berlin}
En een kleurschema kun je laden met het commando
\usecolortheme{beaver}
Je kunt een volledige tabel zien met alle ingebouwde thema's en kleurenschema's op de site http://www.hartwork.org/beamer-theme-matrix.
Alle ingebouwde thema's hebben de naam van een stad gekregen, een volledige lijst is hieronder te vinden.
Antibes | Bergen | Berkeley | Berlin | Boadilla |
Copenhagen | Darmstadt | Dresden | Frankfurt | Goettingen |
Hannover | Ilmenau | JuanLesPins | Luebeck | Madrid |
Malmoe | Marburg | Montpellier | PaloAlto | Pittsburgh |
Rochester | Singapore | Szeged | Warsaw |
De kleurenschema's hebben een naam van een plant of dier gekregen, een volledige lijst kun je hieronder vinden.
albatross | beaver | beetle | crane | default |
dolphin | dove | fly | lily | orchid |
rose | seagull | seahorse | whale | wolverine |
Er zijn ook thema's te vinden op het internet die niet meegeleverd worden door je LaTeX-distributie. Deze thema's zijn meestal gemaakt door verschillende organisaties.
Structuur in de presentatie
bewerkenZoals je kunt zien op de site ondersteunen sommige thema's goed het gebruik van \section en \subsection-commando's. Zo plaatst het Berlin-thema de huidige sectie en subsectie linksboven op de slide. Een sectie moet je dus nooit in een slide-omgeving zetten maar gebruiken als onderverdeling.
Ook als je geen thema gebruikt met een dergelijke ondersteuning, kun je nog altijd secties en subsecties gebruiken. Dit is om te beginnen handig omdat je zo een inhoudsopgave krijgt in je pdf-lezer maar je kunt ook een inhoudsopgave toevoegen aan je presentatie.
\begin{frame}
\frametitle{Table of Contents}
\tableofcontents
\end{frame}
zal een inhoudsopgave geven. Als je een inhoudsopgave wilt aan het begin van ieder hoofdstuk, met het volgende hoofdstuk benadrukt, dan kun je dit met het \AtBeginSection
-commando in de header. Gebruik de code als volgt:
\AtBeginSection{
%Code om uit te voeren aan het begin van iedere sectie
}
Om bijvoorbeeld een inhoudsopgave te tonen, gebruik de code:
\AtBeginSection{
\begin{frame}{overzicht}
\tableofcontents[currentsection]
\end{frame}
}
Tekstopmaak
bewerkenIn een presentatie is het meestal niet duidelijk als je tekst cursief zet met het \emph
-commando. Het is veel beter de tekst te benadrukken met het \alert
-commando. Dat commando maakt de tekst rood.
Horizontale structuren
bewerkenNaast kolommen kun je ook horizontale structuren definiëren. Zo'n horizontale structuur noemen we een block. Je hebt het gewone block, het exampleblock en het alertblock. Deze blokken hebben een verschillende kleur, normaal respectievelijk blauw, groen en rood, maar die kleuren kunnen variëren tussen de verschillende thema's van Beamer. Je gebruikt de blokken als volgt:
\begin{frame}{Blokken}
\begin{block}{Opmerking}
Een opmerking
\end{block}
\begin{alertblock}{Waarschuwing}
Een waarschuwing
\end{alertblock}
\begin{exampleblock}{Voorbeeld}
Een voorbeeld
\end{exampleblock}
\end{frame}
Naast deze blokken zet Beamer ook stellingen en bewijzen in een blok. Om een nieuwe stellingomgeving te definiëren zetten we het commando \newtheorem{st}{Stelling}
in de hoofding. Dan kunnen we een stelling met bewijs als volgt typen:
\begin{frame}{stellingen}
\begin{st}
Een belangrijke stelling
\end{st}
\begin{proof}
En hier komt het bijpassend bewijs, inclusief Q.E.D. blokje.
\end{proof}
\end{frame}
Verticale structuren
bewerkenHet werken met kolommen is standaard in het beamer
pakket ingebouwd. Dit geeft als gevolg dat je dus geen extra pakket moet laden maar ook dat de omgevingen er anders uit zien dan in een artikel. Om iets binnen kolommen te zetten moet je de volgende code aanpassen naar je eigen wens:
\begin{frame}{Titel}
\begin{columns}
\column{0.5\textwidth}
%inhoud van de eerste kolom
\column{0.5\textwidth}
%inhoud van de tweede kolom
\end{columns}
\end{frame}
Aangezien beamer
zelf niet kan beslissen wat er op welke kolom staat moet je dus de inhoud van iedere kolom apart definiëren. Dit is handig als je de helft van je slide met een afbeelding wilt vullen. Per kolom moet je ook de breedte opgeven, dit gebeurt het gemakkelijkst via een relatieve breedte.
Tekstanimaties
bewerkenMet beamer kun je zoals met andere presentatieprogramma's tekst laten verschijnen. Dit is het gemakkelijkst te doen met het \pause-commando.
\begin{frame}{Titel van de eerste slide}
De \pause tekst \pause verschijnt \pause in \pause stukken.
\end{frame}
Per pauze-commando zal LaTeX dan een nieuwe deelslide aanmaken. Zo wordt er voor gezorgd dat er geen problemen voorkomen met om het even welke pdf-lezer.
Een meer geavanceerde manier om animaties te tonen is via de < en > haakjes. Binnen die haakjes toon je wanneer er iets met een bepaalde inhoud moet gebeuren. Stel dat je bijvoorbeeld de tekst wilt laten zien van deelslide 3 tot deelslide 5, dan gebruik je de code <3-5>
. Wil je het enkel op deelslide 3 en 5 maar niet op 4, dan kun je het commando <3,5>
gebruiken. Als je langs een kant van het streepje geen getal aangeeft wil dat zeggen dat het tot het uiteinde loopt. Zo zal <3->
van de derde deelslide tot de laatste zichtbaar zijn en <-2
van het begin tot de tweede. Je kunt dit natuurlijk aanvullen tot de meest ingewikkelde constructies zoals <2-4,6,8->
maar zulke ingewikkelde constructies lijken me nutteloos in een gewone presentatie.
We zullen een voorbeeld geven van het gebruik van een dergelijke notatie in de itemize
omgeving.
\begin{frame}{Titel van de eerste slide}
\begin{itemize}
\item<1-1> Dit zal 1 keer verschijnen
\item<2-> dit verschijnt van de tweede actie tot het einde
\item<3-> dit verschijnt van de derde actie tot het einde
\item<-2> Dit zal er staan vanaf het begin tot de tweede actie.
\item<2-3> Dit zal er van de tweede tot de derde actie staan.
\end{itemize}
\end{frame}
Als extra vereenvoudiging kun je ook een + gebruiken in plaats van een vast getal n. De + is het slidenummer van de vorige actie plus 1.
\begin{frame}{Titel van de eerste slide}
\begin{itemize}
\item<+-> dit verschijnt van het begin
\item<+-> dit verschijnt van de tweede actie tot het einde
\item<+-+> dit verschijnt eenmalig van de derde tot de vierde actie
\item<-+> Dit zal er staan vanaf het begin tot de vijfde actie.
\item<+-> Dit zal er op het einde komen
\end{itemize}
\end{frame}
Het is af te raden de +-notatie samen met werkelijke getallen te gebruiken want dan komen er slides tevoorschijn die niet meer te lezen zijn in LaTeX-code.
Je kunt ook automatisch na ieder \item
-commando zo'n hoekjes laten zetten door het eenmalig na \begin{itemize}
te typen tussen vierkante haakjes (als optioneel argument).
\begin{frame}{Titel van de eerste slide}
\begin{itemize}[<+->]
\item Eerste
\item Tweede
\item Derde
\item Vierde
\item Vijfde
\end{itemize}
\end{frame}
Zoals je ziet zijn de elementen voor ze tevoorschijn komen volledig verborgen, als je wilt kun je ze ook al lichtjes zichtbaar maken voor je ze behandelt. Dit doe je door het commando \setbeamercovered{transparent}
in je hoofding te zetten.
Het spreekt voor zich dat de juist behandelde notatie ook voor andere commando's kan gebruikt worden. Drie commando's die zo'n notatie nodig hebben zijn de volgende. Let er op dat je <slidenummers
moet vervangen door een specificatie zoals hierboven uitgelegd, bijvoorbeeld door <+->
.
\uncover<slidenummers>{tekst}
de tekst staat er al lichtjes en wordt pas helemaal zichtbaar op de gespecificeerde slides\visible<slidenummers>{tekst}
de tekst is standaard onzichtbaar maar goed zichtbaar in de gespecificeerde slides.\only<slidenummers>{tekst}
er is standaard geen plaats voorzien voor de tekst, deze wordt wel zichtbaar in de gespecificeerde slides.
Het is ook mogelijk dit op dezelfde manier te gebruiken met veel opmaak commando's zoals \alert
, \emph
, \textbf
...
We geven een voorbeeldje:
\begin{frame}{ppt trucskes}
Alert kan \alert<+->{ook}
\emph<+->{andere} dingen:
\uncover<+->{ Ik}
\visible<+->{ ben}
\only<+->{ niet}
DOM
\end{frame}
Je kunt ook commando's samen gebruiken, bijvoorbeeld als je een volledig item in het rood wilt zetten, kun je de volgende code gebruiken met het @
-symbool:
\begin{frame}{ppt trucskes}
\begin{itemize}
\item<alert@3->{ eerste}
\item<only@2-|alert@4-> tweede
\item<1,5> \textbf<+->{derde}
\end{itemize}
\end{frame}
Verwijzen naar specifieke slides
bewerkenOm door ons document heen te verwijzen kunnen we geen \label
of \ref
gebruiken, dit zou enkel naar de beginslide gaan terwijl we misschien juist naar de laatste deelslide willen. Ter vervanging hebben we respectievelijk de commando's \hypertarget<nummer deelslide>{labelnaam}
en \hyperlink{labelnaam}{tekst}
Merk op dat je bij \hypertarget
het nummer van de slide kunt opgeven zoals je die notatie al kent van hierboven.
Je kunt ook een link wat mooier verpakken in een knopje met het commando \beamergotobutton
. Dit gebruik je bijvoorbeeld in combinatie met \hyperlink
als volgt:
\beamergotobutton{\hyperlink{slide3}{ga naar slide 3}}
Je kunt het ook in combinatie met het \href
-commando gebruiken als volgt:
\beamergotobutton{\href{http://nl.wikibooks.org}{wikibooks}}
Presentatie en handout-mode
bewerkenDe beamer-klasse is vooral bedoeld om presentaties op een scherm te geven. Dikwijls moet er echter ook een papieren handout zijn van de presentatie. Om papier te sparen en het bladerend geluid tijdens je presentatie te vermijden is het dan beter niet alle deelslides af te drukken maar enkel de volledige slides. Om die reden zit er een handout-mode in de beamer-klasse. Je selecteert de handout-mode door de eerste regel te wijzigen in
\documentclass[handout]{beamer}
Standaard zullen dan alle animaties weggelaten worden. Je kunt echter ook willen dat bepaalde delen van je presentatie niet op de handout of niet op de presentatie verschijnen. Stel bijvoorbeeld dat je een vraag wilt stellen aan het publiek en dat het antwoord al in je handout staat. Om dat op te lossen kun je ook weer de notatie tussen < en > gebruiken. Om een frame enkel in de handout te tonen gebruik je de omgeving
\begin{frame}<handout>{Frametitel}
Dit wordt enkel in de handout gezet en niet op de presentatie getoond.
\end{frame}
Op dezelfde manier kun je ook frames maken die enkel in de presentatie getoond worden door <beamer>
te gebruiken i.p.v. <handout>
. Je kunt er ook voor kiezen bepaalde effecten op een andere manier toe te passen voor een presentatie dan voor een handout. Dit doe je door beamer:
of handout:
te zetten voor de slidenummers. Neem bijvoorbeeld het volgende commando:
\only<handout:0|beamer:2->{tekst}
Deze tekst zal onzichtbaar zijn in de handout (slide 0 bestaat niet) en zal vanaf slide 2 zichtbaar zijn in de presentatie.
Naast de handout-mode is het ook mogelijk een article-mode te selecteren. Dan zullen gewoon alle effecten en frames genegeerd worden en enkel de secties met bijhorende opsommingen afgedrukt worden. Dit kan handig zijn om zelf de tekst bij te houden. Dit doe je door de article
-documentklasse te gebruiken en het pakket beamerarticle
als volgt:
\documentclass{article}
\usepackage{beamerarticle}
In de beamer-documentklasse zijn er heel wat pakketten standaard opgenomen waaronder het hyperref
-pakket. Het kan dus nodig zijn die pakketten handmatig toe te voegen als je de article-mode gebruikt.