Det kan ofte være vanskelig å få til pene tekniske presentasjoner hvor kode-eksemplene er godt formatert og fargekodet. Hvis man bruker LaTeX med Beamer-pakken er det enkelt å få til proffe presentasjoner med enhetlig utseende. Nedenfor har vi skrevet opp noen tips for å få til presentasjoner med norske tegn og kode-listing, med Listings-pakken.
Først må man selvsagt sørge for å ha LaTeX installert. Dette er avhengig av platform, og står beskrevet mange steder på nettet (for eksempel her for Mac som ble brukt i vårt eksempel).
Norske tegn
For å få norske tegn til å fungere smertefritt kan følgende start på .tex filen være greit:
\documentclass[norsk]{beamer} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage{babel,textcomp,type1ec,pdfpages} ...
Listings i Beamer
For å få Listings til å funke i Beamer er det et par punkter man må huske på:
- Man må bruke
\begin{frame}og\end{frame}, ikke kortversjonen\frame{} - Man må bruke
fragileopsjonen
Et eksempel:
\begin{frame}[fragile] \frametitle{Eksempel-listing} \begin{lstlisting} public static final int MY_INT = 42; \end{lstlisting} \end{frame}
Komplett eksempel
Nedenfor ligger link til en eksempelpresentasjon som ble laget med LaTeX og Beamer, med kode-listing. Koden er formatert med IntelliJ IDEA-inspirerte farger. I vårt eksempel brukes Java-kode, men alle andre programmeringsspråk som støttes av Listings-pakken kan selvsagt brukes:
Full kode for eksempelpresentasjonen:
\documentclass[norsk]{beamer} \usetheme{Berlin} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage{babel,textcomp,type1ec,pdfpages} \usepackage{listings} \usepackage{color} \definecolor{dkgreen}{rgb}{0,0.6,0} \definecolor{gray}{rgb}{0.5,0.5,0.5} \definecolor{mauve}{rgb}{0.58,0,0.82} % Default settings for code listings \lstset{frame=tb, language=java, aboveskip=3mm, belowskip=3mm, showstringspaces=false, columns=flexible, basicstyle={\small\ttfamily}, numbers=none, numberstyle=\tiny\color{gray}, keywordstyle=\color{blue}, commentstyle=\color{dkgreen}, stringstyle=\color{mauve}, frame=single, breaklines=true, breakatwhitespace=true tabsize=3 } \title{Eksempel-presentasjon med \LaTeX og Beamer} \author{Eivind Barstad Waaler} \date{\today} \begin{document} \frame{\titlepage} \section*{Outline} \frame{ \frametitle{Agenda} \tableofcontents } \section{Seksjon} \subsection{Underseksjon} \begin{frame}[fragile] \frametitle{Punktliste + Javakode} \begin{itemize} \item<1-> Flotte norske tegn æøåÆØÅ \item<2-> Punkter kommer ett og ett \item<3-> Java kode-eksempel: \end{itemize} \begin{lstlisting} /** * Finfin Java-klasse */ public class Person { private String name = "Ola Nordmann"; // Settere og getter er veldig sentrale i Java! public void setName(String name) { this.name = name; } public String getName() { return name; } } \end{lstlisting} \end{frame} \end{document}