LaTeX: Quellcode-Listing
Es gibt mehrere Möglichkeiten mit LaTeX Quellcode einzubinden. Von Haus aus gibt es da die Verbatim-Umgebung. Sie wird folgendermaßen benutzt:
\begin{verbatim}
hier kommt dann der Quellcode...
\end{verbatim}
Dieser Text wird dann in einer Festbreitenschrift dargestellt.
Eine sehr viel bessere Möglichkeit bietet das Paket listings. Dazu in der Präambel einfach das Paket laden mit \usepackage{listings}.
Es gibt nun mehrere Möglichkeiten Quellcode darstellen zu lassen.
- Kurze Quelltexte einfach direkt reinschreiben:
\lstset{language=<Sprache>} \begin{lstlisting}[<Optionen>] hier kommt dann der Quellcode... \end{lstlisting} - Längere Quelltexte kann man auch aus Dateien direkt einbinden mit:
\lstset{language=<Sprache>} \lstinputlisting[<Optionen>]{pfad/zur/datei.php} - Innerhalb von Fließtext kann man auch Quellcode darstellen mit:
\lstinline[<Optionen>]{hier kommt der Quellcode...}
Die gängigsten Programmiersprachen werden unterstützt und man kann unter anderem folgende Werte als <Sprache> einsetzen:
C, C++, HTML, Ant, Basic, Delphi, Java, Lisp, make, Pascal, PHP, Python, Ruby, tcl, TeX, LaTeX, VRML, Perl, Prolog, SQL, VBScript, XML, XSLT und viele weitere.
Als <Optionen> kann man folgende verwenden:
- emph
- Liste hervorzuhebender Schlüsselwörter, emph={a,b,c}
- emphstyle
- Art der Hervorhebung, emphstyle=\underbar
- breaklines
- bricht überlange Zeilen um, breaklines=true
- showstringspaces
- Anzeige von Leerzeichen im Quellcode, showstringspaces=false
- showspaces
- vgl. showstringspaces
- firstline
- Ausschnittsbeginn festlegen, firstline=2
- lastline
- Asschnittsende festlegen, lastline=5
- numbers
- Zeilennummern, numbers=left
- numberstyle
- Stil der Nummerierung, numberstyle=\tiny
- stepnumber
- Schrittweite der Nummerierung, stepnumber=5
- caption
- setzt eine Überschrift, caption={Titel oder so}
- label
- Bereichsmarkierung um mit \ref{} daraufzuzugreifen, label=code:Sourcecode
- frame
- setzt einen Rahmen (Großbuchstaben bedeuten eine Doppellinie), frame=tlRB
Für ein Verzeichnis der enthaltenen Listings benutzt man \lstlistoflistings.
Als nicht-freie Alternative gibt es noch das lgrind Paket. Auf dieses wird hier aber nicht weiter eingegangen.

5 Kommentare:
übst du dich jetzt auch in LaTeX-Postings? ;-)
Von
justBe, am 12:06
na logens... ;-)
Von
rok ;-), am 07:21
hallo!
kann man den Titel auch unten setzen? (unterhalb des Listings)
Von
Mihai, am 12:12
Dafür bin ich leider schon zu lange raus aus dem Thema. Ich kann leider keine Antwort darauf geben.
Versuch mal bei google.groups, ob du dort eine Antwort bekommst. Ich hatte damals sehr viel Erfolg.
HTH, rok
Von
rok, am 13:48
Habs inzwischen geschafft (und will es natürlich nicht nur für mich behalten)...:)
\lstset{captionpos=b}
b steht wahrscheinlich für "bottom"!
Von
Mihai, am 14:50
Kommentar veröffentlichen
<< Home