Mo Logo [Home] [Lexikon] [Aufgaben] [Tests] [Kurse] [Begleitmaterial] [Hinweise] [Mitwirkende] [Publikationen]

Mathematik-Online-Lexikon:

Darstellung von Programmquelltexten in LaTeX


A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Übersicht

Die Quelltexte von Programmen lassen sich mit Hilfe der tabbing-Umgebung darstellen. So erzeugt beispielsweise der Quelltext
  \begin{tabbing} 
    xx\=xx\=\kill
    {\bf function} x=sor(A,b,x,omega) \\
    n={\bf length}(x); \\
    {\bf while} 1 \+ \\
      xold=x;  \\
      {\bf for} k=1:n \+ \\
        x(k)=x(k)+omega*(b(k)-A(k,:)*x)/A(k,k); \- \\
      {\bf end} \\
      {\bf if norm}(xold-x) $<$ 1e-6 \+ \\
        {\bf break}; \- \\
      {\bf end} \- \\
    {\bf end}
  \end{tabbing}
die folgende Ausgabe des in Matlab implementierten SOR-Algorithmus:
\includegraphics[width=9.5cm]{bsp_tabbing.eps}

Die mit \kill abgeschlossene Musterzeile legt fest, dass die Einrückung pro Stufe der Breite des Textes ,,xx`` entspricht. Die Einrückungsstufen werden dauerhaft mit Hilfe der Befehle \+ und \- festgelegt. Alternativ kann auch jede Zeile individuell mit Hilfe entsprechend vieler \>-Befehle eingerückt werden.

Eine bequemere Möglichkeit der Darstellung von Quelltexten liefert das listings-Paket. Dieses führt zum Beispiel die Zeilennummerierung und Hervorhebung von Schlüsselwörtern selbstständig durch. Für den SOR-Algorithmus ergibt der Quelltext

  \usepackage{listings}
  \begin{document}
  \lstset{language=Matlab,numbers=left}
  \begin{lstlisting}
  function x=sor(A,b,x,omega)
  n=length(x);
  while 1
    xold=x;  
    for k=1:n
      x(k)=x(k)+omega*(b(k)-A(k,:)*x)/A(k,k);
    end
    if norm(xold-x) < 1e-6
      break;
    end
  end
  \end{lstlisting}
  \end{document}
die Ausgabe
\includegraphics[width=12cm]{bsp_listings.eps}

(Autor: Joachim Wipper)

[Verweise]

  automatisch erstellt am 19.  6. 2006