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}