Jakob Richter

Hübscher Quellcode mit Latex und Beamer

Listings in LaTex und die Beamer-class
Aus gegebenem Anlass mal ein kurzer Beitrag, wie man Quelltext hübsch in eine LaTeX-Präsentation mit der Beamer-Class einbaut.
Anstelle der bekannten Verbatim-Umgebung wird hier auf das (auch für Berichte empfehlenswerte) Paket listings gesetzt.
Einge recht gute und knappe Hilfe findet man bei wikibooks.org

Vorteile:

  • farbiger Code
  • kein Problem mit langen Zeilen

Nachteile:

  • keine 😉

Hier ein „Minimalbeispiel“:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
\documentclass{beamer}
 
\usepackage[utf8x]{inputenc} %An eigene Codierung anpassen! z.B. latin1 anstelle von utf8
\usepackage[ngerman]{babel}
 
%Definieren uns farbigen Quellcode
\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}
 
%Damit wir Quellcode nutzen können.
\usepackage{listings}
\lstset{numbers=left,
	numberstyle=\tiny,
	numbersep=5pt,
	breaklines=true,
	showstringspaces=false,
	frame=l ,
	xleftmargin=15pt,
	xrightmargin=15pt,
	basicstyle=\ttfamily\scriptsize,
	stepnumber=1,
	keywordstyle=\color{blue},          % keyword style
  	commentstyle=\color{dkgreen},       % comment style
  	stringstyle=\color{mauve}         % string literal style
}
%Sprache Festelegen
\lstset{language=R}
 
\begin{document}
 
\begin{frame}[fragile] %fragile ist sehr wichtig!
\frametitle{R-Code Minimalbeispiel}
\begin{lstlisting}
#Zeitintervall und Feinheit
T <- 1; N <- 100
 
#Zeitschritte
Delta <- T/N
 
#Zeit-Achse
t <- seq(0,T,length.out=N+1)
 
#Simulation und Aufsummierung der Zuwaechse
S <- cumsum(sample(x=c(-1,1),size=n,replace=T) * sqrt(Delta))
 
W <- c(0,S)                  #0 als ersten Wert.
 
plot(t,W, type="l")          #Linienplot
\end{lstlisting}
\end{frame}
 
\end{document}

Und so toll kann das dann aussehen:
Listings in LaTex und die Beamer-class

Hier gibt’s jetzt auch eine kleine Anleitung zum Hervorheben von Quelltext.

4 Comments

  1. B sagt:

    Vielen Dank! Besonders der Tipp mit den Farben ist super!

  2. Blaubär sagt:

    Vielen Dank für das tolle und anschauliche Beispiel!

  3. wepa sagt:

    Was kann man tun, wenn der Quellcode länger ist? Wie mache ich dann den Seitenumbruch (new Frame), damit die Zeilennummerierung fortgesetzt wird?

  4. WB sagt:

    Schöne idee, leider sind die R-keywords von listings ziemlich random, deshalb sieht es im Endeffekt auch nicht aus wie im Original. Aber trotzdem besser als nichts ^^

Leave a Reply