Syntax-Hervorhebungen mit LaTeX mit listings (lstlisting)

Das listings Paket bietet Syntax-Hervorherbung verschiedener Sprachen. Lerne anhand von Beispielen, wie du dies in deinen LaTeX Dokumenten verwenden kannst


[Dokument online öffnen]

Das listings Paket ist ein mächtiges Werkzeug zur Formatierung von Quelltexten in LaTeX. Es ist sehr einfach zu benutzen und es ist eine gute Dokumentation verfügbar.

Beispiel

Nach ein paar wenigen Konfigurationsschritten, kann durch das Paket eine folgende Formatierung erzeugt werden:

Lstlisting

\documentclass{article}

\usepackage{listings}
\usepackage{color}

\renewcommand\lstlistingname{Quelltext} % Change language of section name

\lstset{ % General setup for the package
	language=Perl,
	basicstyle=\small\sffamily,
	numbers=left,
 	numberstyle=\tiny,
	frame=tb,
	tabsize=4,
	columns=fixed,
	showstringspaces=false,
	showtabs=false,
	keepspaces,
	commentstyle=\color{red},
	keywordstyle=\color{blue}
}

\begin{document}
\begin{lstlisting}
#!/usr/bin/perl
print S(@ARGV);sub S{$r=(@_[0]%4==0&&@_[0]%100!=0)||@_[0]%400=0;}
\end{lstlisting}
\end{document}

Zunächst inkludiere ich die Pakete color und listings und setze die Sprache der Listings auf Deutsch indem ich den entsprechenden Befehl rekonfiguriere (\renewcommand\lstlistingname{Quelltext}). Dies ist nicht notwendig, wenn du die englischen Bezeichner beibehalten willst.

Anschließend definiere ich das allgemeine Layout durch den \lstset Befehl. Die von mir gesetzten Optionen sollten selbsterklärend sein. Es ist zu beachten, dass die Farben für Schlüsselworte und Kommentare manuell gesetzt werden muss, andernfalls wäre die Ausgabe nur schwarz auf weiß. Der zu formatierende Quelltext muss anschließend in eine lstlisting Umgebung eingebettet werden.

Unter er Annahme, dass wir ein Perl-Skript in einer Datei namens script.pl abgelegt haben, könnten wir auch den folgenden Befehl nutzen um den gleichen Output zu erhalten:

\lstlinputlisting{script.pl}

Dadurch kann der LaTeX-Quellcode minimal und sauber gehalten werden, ohne auf die Funktionalitäten verzichten zu müssen.

Zusammenfassung

  • Nach einem anfänglichen Setup, können alle Befehle in eine lstlistings Umgebung eingebettet werden.
  • Eine Liste der unterstützten Programmiersprachen und weitere Dokumentation ist in dem Handbuch des listings Pakets einsehbar
  • Durch die Verwendung von \lstlinputlisting{script.pl} kann der gesamte Inhalt einer Datei direkt eingelesen und formatiert werden.

Nächste Lektion: Lektion 14