Fodnoter til slutnoter i LaTeX

Har du fodnoter i et dokument, du gerne vil have gjort til slutnoter i LaTeX? I så fald skal du blot indsætte følgende i din preamble:

\usepackage{endnotes}
\let\footnote=\endnote

Med ovenstående anvender du pakken endnotes og angiver, at de steder du har brugt \footnote, skal gøres til \endnote. Det sidste du mangler at gøre er, at smide følgende linje det sted i dit dokument, hvor slutnoterne skal vises:

\theendnotes

Slides med Beamer i LaTeX

Når man skal lave en præsentation med udgangspunkt i et dokument lavet i LaTeX, kan det være irriterende at skulle anvende PowerPoint. Tabeller skal bygges op fra bunden igen, og man vil – når alt kommer til alt – helst holde sig til LaTeX.

Der findes heldigvis flere forskellige måder at lave slides i LaTeX, hvor den mest populære uden sammenligning er at anvende Beamer-klassen. Outputtet du får med Beamer vil typisk være PDF, hvilket de fleste computere kan arbejde med (og her kan jeg tilføje, at jeg hader at få tilsendt .key filer fra Apple-brugere!).

Der er ikke de store vanskeligheder forbundet med at lave slides i LaTeX. Har man et minimalt kendskab til LaTeX, kan man også lave slides. Figurer, tabeller m.v. laves på akkurat samme måde som i andre dokumenter, så det eneste man skal være opmærksom på, er det der er specifikt for præsentationer (herunder layout). I dette indlæg viser jeg hvordan man laver verdens mest simple præsentation.

En simpel præsentation

Som med alle andre dokumenter i LaTeX, skal vi først fortælle hvilken type dokument vi ønsker. I dette tilfælde indleder vi med at gøre det klart, at vi arbejder med Beamer-klassen:

\documentclass[utf8]{beamer}

I ovenstående har jeg tilføjet [utf8] som option. Dette for at dokumentet viser blandt andet Æ, Ø og Å (hvilket er ret lækkert, når man laver slides på dansk). I preamblen kan man tilføje pakker og definere en række karakteristika ved ens dokument (igen: akkurat som i andre LaTeX-dokumenter), hvor tilfældet dog er, at op til flere pakker allerede er i brug som standard, når man anvender Beamer-klassen.

Som det næste definerer giver vi i preamblen præsentationen en titel, undertitel, forfatter og institutionel tilknytning:

\title{Titel}
\subtitle{Undertitel}
\author{Erik Gahner Larsen}
\institute{Syddansk Universitet}
\date{}

Da jeg ikke ønsker, at der skal stå en dato på præsentationen, har jeg inkluderet denne, men undladt at inkludere nogen tekst eller kommando. I selve dokumentet vil man kunne anvende \insertauthor, \insertdate, \insertinstitute, \inserttitle og \insertsubtitle, for at fremkalde informationen igen. Så er alt på plads i vores preamble, og vi kan nu begynde dokumentet:

\begin{document}

Beamer kalder en slide for en “frame”. Vi kan lave en frame med \frame{} og \begin{frame} & \end{frame}. Selv foretrækker jeg sidstnævnte. Den første slide (eller frame) vi laver, indeholder informationerne vi angav i preamblen:

\begin{frame}
\maketitle
\end{frame}

I tilfældet med \maketitle kan man godt undlade \begin{frame} og \end{frame}. Det skader dog ingen, at det er der. Den anden slide i vores præsentation bliver en oversigt over præsentationen:

\begin{frame}
\frametitle{Struktur}
\tableofcontents
\end{frame}

Bemærk her tilføjelsen af \frametitle{}, der, ganske logisk formoder jeg, tilføjer en titel på den enkelte slide. Hvis man ønsker at ens oversigt skal præsenteres med ét punkt pr. klik, kan [pausesections] tilføjes som option til \tableofcontents. Nu er vi godt inde i vores præsentation og skal til at lave almindelige slides. Et eksempel:

\section{Overskrift som står under ``Struktur"}
\begin{frame}{Overskrift som står på slide}
Jeg har to vigtige punkter
\begin{itemize}
\item Punkt 1
\item Punkt 2
\end{itemize}
\end{frame}

Først angiver vi at vi har en sektion (fungerer på samme måde som ved andre dokumentet med \section og \subsection) før selve sliden. Teksten i \section vil være den der bliver vist på ens oversigt. Dernæst indleder vi vores frame, giver det en titel, tilføjer indhold og slutter vores frame. Simpelt, ik’? Hvis man her ønsker at præsentere ét punkt pr. klik, kan [<+->] tilføjes efter \begin{itemize}.

De tilsvarende slides i præsentationen laves efter samme fremgangsmåde, og når man så er færdig, afsluttes dokumentet med:

\end{document}

Der er mange veje til Rom, og ligeledes forskellige måder at sætte et dokument op, men med denne grundstruktur er man godt igang.

Temaer

Som i PowerPoint findes der forskellige temaer der kan tages i brug. Temaet vælges i preamblen vha. \usetheme{}, f.eks.:

\usetheme{Boadilla}

Der er utallige muligheder for at customize ens output, og et par enkle søgninger på Google giver gode fif til hvordan man opnår det man lige står og ønsker.

Andet

Afslutningsvis kan der være et par nyttige kommandoer m.v. at tage med på vejen. Er man træt af de knapper der er i bunden af ens slides, kan de fjernes ved at følgende tilføjes til ens preamble:

\beamertemplatenavigationsymbolsempty

Ønsker man at fremhæve ord eller sætninger, er \alert{} en nem måde at gøre det på, f.eks.:

Det her er \alert{vigtigt}

Hvis ens slides skal nummereres, kan det gøres med følgende i preamblen:

\setbeamertemplate{footline}[frame number]

Såfremt man i ens præsentation vil vise hvor langt man er, kan man få vist oversigten igen, hvor den nuværende sektion fremhæves:

\tableofcontents[current]

Hvis man vil have at de punkter der ikke er vist endnu på ens slide fremhæves svagt (altså en “fade in”-effekt), kan det gøres med følgende i preamblen:

\setbeamercovered{dynamic}

Nogle gange hænder det, at man kommer til at love, at man kan udlevere ens slides. I så fald kan man tilføje handout som option til \documentclass, så man får et dokument der er ideelt til at blive delt med andre:

\documentclass[utf8,handout]{beamer}

The sky is the limit i Beamer (og LaTeX sådan generelt), og har man lyst til at læse mere om hvordan man opbygger slides ved brug af Beamer-klassen, kan jeg henlede opmærksomheden på guiden til Beamer, der retmæssigt indledes med: “Für alle, die die Schönheit von Wissenschaft anderen zeigen wollen.”

LaTeX: Linjeafstand

Der er forskellige måder hvorpå linjeafstanden kan ændres i LaTeX. Den nemmeste er vha. kommandoen linespread, der angiver linjeafstanden for hele dokumentet, ved at blive placeret i preamblen:

\linespread{x}

Hvor x er linjeafstanden, hvor man så for eksempel kan bruge følgende (bemærk punktum som decimalseperator):

\linespread{1.3}

Alternativt kan man anvende pakken setspace, der giver bedre muligheder for nemt at lave afsnit med forskellige linjeafstande. Først skriver du følgende i preamblen:

\usepackage{setspace}

Derefter kan du lave afsnit i dit dokument med en bestemt linjeafstand:

\begin{spacing}{1.3}
Her skriver du din tekst.
\end{spacing}

Pakken giver også andre muligheder, såsom kommandoerne \singlespacing, \onehalfspacing og \doublespacing.

Fra håndskrift til LaTeX

Hvis man i LaTeX har glemt hvordan man skal skrive et bestemt tegn, eller måske hvad et bestemt tegn hedder, men er man i stand til at visualisere det, er der en god hjemmesideservice, der kan hjælpe en. Servicen går under navnet Web Equation, og den er nem og brugervenlig.

Når du er på siden, skal du som det første tegne det du gerne vil have skrevet i LaTeX. Her er et eksempel på, hvad man kan tegne:

Bemærk at det kan være nødvendigt at skrive ens tegn et par gange, da servicen kan forveksle en bestemt krusedulle med andre tegn (i nærværende tilfælde troede servicen først, at jeg skrev M i stedet my). Når servicen har tolket din håndskrift efter hensigten, kan du bruge det output der gives. I dette tilfælde:

z=\dfrac {y_{i}-\mu } {\sigma }

Ikke al kode der gives er lige pænt, men det virker. Koden smides så ind i ens dokument, hvor vi i vores eksempel får følgende:

z=\dfrac {y_{i}-\mu } {\sigma }

Som det kan ses, matcher det den oprindelige tegning. Og verden er hermed et bedre sted at leve.

LaTeX: Slutnoter

LaTeX indeholder en simpel kommando, når der skal laves en fodnote. Lidt sværere er det med slutnoter, hvor der er brug for lidt ekstra modifikationer. Heldigvis kan pakken endnotes bruges i denne sammenhæng. I preamblen tilføjer du:

[code language=”latex”]\usepackage{endnotes}[/code]

Du kan nu på samme måde som ved fodnoter bruge kommandoen endnote:

[code language=”latex”]\endnote{Her skriver du din slutnote}[/code]

Og som ved fodnoter er der kun en praktisk grænse for, hvor mange slutnoter du kan tilføje. Til sidst i dit dokument, hvor slutnoterne skal være, tilføjes:

[code language=”latex”]\theendnotes[/code]

I dit dokument vil der nu være et afsnit med Notes. Er den resterende del af dit dokument på dansk, kan det anbefales, at du i preamblen redigerer kommandoen \notesname, så slutnoterne får en dansk overskrift:

[code language=”latex”]\renewcommand{\notesname}{Noter}[/code]

LaTeX: Fejlbeskeder

Når du kompilerer dit dokument kan det tænkes, at du støder på fejl og mangler i din kode. Hvor alvorlige disse fejl er, varierer, og nogle er blot advarsler, som du kan gøre noget ved. Nogle fejlbeskeder er også sværere at forstå rent intuitivt end andre, hvorfor det kan være brugbart med en forklaring. Her følger en liste over nogle af de fejl du kan støde på, samt en beskrivelse af hvad der nok er galt. Listen vil blive opdateret løbende.

Extra alignment tab has been changed to \cr
Der er for mange &’er i din tabel eller formel.

LaTeX Error: \begin{noget} on input line line number ended by \end{document}
Der er noget der er begyndt, som ikke er fuldendt med en \end. I dette tilfælde ”noget”.

Runaway argument?
Du mangler et }.

LaTeX Warning: Reference … undefined on ….
Der er referencer i dit dokument, og du bør kompilere igen, så referencerne vises ordentligt.

LaTeX Warning: There were undefined references.
Der er referencer i dit dokument, og du bør kompilere igen, så referencerne vises ordentligt.

Missing $ inserted
Du har udeladt et tegn ($, \[, \] eller $$) i din matematiske tekst.

Undefined control sequence.
Du har brugt en kommando der ikke findes.

Misplaced alignment tab character &
Du har & et sted hvor det ikke giver mening. Bemærk at LaTeX kun læser ”&” som et ”og”, hvis du skriver \&.

Kilde:
Art of Problem Solving

LaTeX: Skriftstørrelse

Der er flere skriftstørrelser at benytte sig af i LaTeX. LaTeX leverer ti forskellige størrelser, der kan benyttes ved hjælp af følgende kommandoer:

\tiny 		% Den mindste (lille)
\scriptsize 	% Kodestørelse
\footnotesize 	% Fodnotestørrelse
\small 		% Lidt mindre end standardstørrelse
\normalsize	% Standard
\large 		% Lidt over standard
\Large 		% Endnu mere over standard (bemærk stort L)
\LARGE 		% Endnu større (bemærk alle bogstaver med stort)
\huge 		% Den næststørste
\Huge 		% Den største (stort H)

Bemærk at den øverste er den mindste, og jo længere ned af listen man kommer, desto større bliver skriftstørrelsen. Har man behov for at ændre skritstørrelsen på en måde, hvor ovenstående kommandoer ikke er tilstrækkelige, vil jeg anbefale, at man kigger på pakken anyfontsize.

Vil du ændre skriftstørrelsen på en matematisk formel, er ovenstående kommandoer ikke tilstrækkelige. Her kan de fire følgende kommandoer anbefales:

\scriptscriptstyle 	% Meget lille
\scriptstyle 		% Lidt større
\textstyle 		% Endnu større
\displaystyle 		% Størst

Som det kan ses, er disse også oplistet fra den mindst til den største.

Kaffeplet i LaTeX

Når man skriver opgave er der én ting der er obligatorisk: Kaffe. På en god opgave hører det sig derfor også til, at der er en kaffeplet eller to. Akkurat på samme måde som der i de bøger man har siddet mest med i de sene nattetimer, er mindst én kaffeplet.

For at spare dig for en stor del af besværet med kaffepletter, findes der en pakke ved navn coffee, som du uden de store vanskeligheder kan smide i din preamble:

\usepackage{coffee}

På nedenstående billede kan du se hvad denne pakke kort fortalt giver dig af muligheder.

For at få kaffepletten i dit dokument som på ovenstående billede, skal du bare indsætte følgende kode på den side, der skal have en kaffeplet:

\coffee{1}

Som Hanno Rein, der har lavet coffee-pakken, korrekt skriver: This package provides an essential feature to LaTeX that has been missing for too long. It adds a coffee stain to your documents. A lot of time can be saved by printing stains directly on the page rather than adding it manually.

God fornøjelse.