2.6 KiB
@slide(layout=chapter-slide)
@number 12
@title Quelltext-Listings
@slide(layout=content-and-preview)
@title Direkt im LaTeX-Quelltext
@content
Das Paket listings bietet zum Einfügen von Code eine eigene Umgebung:
\section*{Haskell-Magie}
Quadrate aller geraden % …
\begin{lstlisting}[language=Haskell]
[x^2 | x <- [1..200], even x]
\end{lstlisting}
@slide(layout=content-and-preview)
@title Externer Code
@content
Praktischerweise bietet listings einen Befehl zum Einfügen externen Codes:
\section*{Einfache Java-Anwendung}
\lstinputlisting[language=Java]{Test.java}
public class Test {
public static void main(/*…*/) {
System.out.println(/*…*/);
}
}
@slide(layout=content-only)
@title Themen und Stile
@content
listings stellt keine eigenen Themes zur Verfügung. Dies kann aber durch die vielen Konfigurationsoptionen ausgeglichen werden.
\begin{lstlisting}[
language=Java,
basicstyle=\footnotesize\ttfamily,
breaklines=true,
keywordstyle=\color{ForestGreen},
commentstyle=\color{DarkGray},
literate={ö}{{\"o}}1
]
% …
\end{lstlisting}
Für die Erstellung eigener Themes ist der Befehl \lstset nützlich.
@slide(layout=content-only)
@title Weitere Materialien
@content
- Einführung in das Paket
- offizielle Dokumentation
- vordefinierte UTF-8-Konfiguration
- das Paket
xcolorfür Farben - zwei Themes im solarized-Stil für
listings
@slide(layout=task)
@task-number 12
@title Listings
@content
- Bindet den Java-Quelltext (zu finden in
Source.java) in der Dateisource-code-listings.texein (relativer Dateipfad!). - Erlaubt die Verwendung von Sonderzeichen durch Angabe der
literate-Option. - Aktiviert das Syntax-Highlighting.
- Nummeriert die Zeilen und aktiviert Umbrüche.
- Setzt mit dem Parameter
basicstyleeine dicktengleiche Schrift (\ttfamily \small). - Ändert die Schlüsselwortfarbe zu Blau.
- Verbergt die Sonderzeichen, die Leerzeichen in Zeichenketten markieren.
Seht bei Fragen in der Dokumentation des Paketes listings nach.