Die Umgebung verbatim
verbatim zeigt den eingeschlossenen Text so, wie er eingegeben wurde. Der Inhalt wird nicht interpretiert, sondern in nichtproportionaler Schrift inklusive Einrückung angezeigt.\begin{verbatim} int a = 0; for (int i=0; i<10; i++) { a += i*i; } \end{verbatim}
Umgebung lstlisting
Der Nachteil von verbatim ist, dass es keine Möglichkeit gibt, die Listings durchzunummerieren. Hier hilft das Paket lstlisting. Dieses bietet darüber hinaus auch Syntax-Highlighting für die meisten Programmiersprachen.Im Kopf fügt man folgendes ein:
\usepackage{listings}Um Anpassungen zu machen verwendet man lstset:
\lstset{ ... }Alle Einträge werden durch Kommata voneinander getrennt. Die wichtigsten Einstellungen:
- language=java
Es können diverse andere Sprachen verwendet werden. - basicstyle=\small
- keywordstyle=\color{black}\bfseries\underbar
- captionpos=b Beschriftung unten
\lstset{literate=% {Ö}{{\"O}}1 {Ä}{{\"A}}1 {Ü}{{\"U}}1 {ß}{{\ss}}2 {ü}{{\"u}}1 {ä}{{\"a}}1 {ö}{{\"o}}1 }Das Listing wird umschlossen, wie bei verbatim. Es erscheint auch ganz ähnlich, nämlich ohne Nummerierung oder Titel.
\begin{lstlisting} int a = 0; for (int i=0; i<10; i++) { a += i*i; } \end{lstlisting}Soll das Listing nummeriert werden, muss es ein caption erhalten und damit einen Titel, hier "Zählen für Anfänger"
\begin{lstlisting}[caption=Zählen für Anfänger] int a = 0; for (int i=0; i<10; i++) { a += i*i; } \end{lstlisting}
Hervorheben von Listing-Passagen
\begin{lstlisting}[escapeinside={|*}{*|}] for ( |*\bfseries{int i=0;}*| i<10; i++) { a += i*i; } \end{lstlisting}
\begin{lstlisting}[escapechar=|] int a = 0; for ( |\bfseries{int i=0;}| i<10; i++) { a += i*i; } \end{lstlisting}