PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Listing mit einem Codebereich



RolandMetz
15-12-2007, 15:44
Hallo

Ich versuche ein Listing zu erstellen, das einen Codebereich enthält, d.h. ich habe einen etwas längeren Code (ca. 120 Zeilen) im Anhang und beschreibe diesen Code in meinem Dokoment.
Nun bin ich an folgender Stelle
"Die Berechnung des Ergebnisses der Prozedur erstreckt sich über folgende Zeilen"
Und hier hätte ich nun gerne ein Listing, dass nur die Codezeilen 31 und 77 enthält (dazwischen drei Punkte), also in etwas so
31 Hier steht der Code aus Zeile 31
...
77 Und das ganze geht bis hier her

Mit linerange={31-31, 77-77} habe ich das schon versucht, das führt aber immer zu dem Ergebnis, dass die Nummerierung dann immer bei 1 beginnt...
Hat jemand eine Idee, wie ich (mein) Ergebnis erziehlen kann?
(Die Textzeilen muss ich auch nicht umbedingt über lstinputlisting laden. Es reicht mir schon, wenn ich angeben kann, dass zeile 1 = 31 sein soll und zeile 3 = 77).

Vielen Dank schonmal,
Roland

chris21
15-12-2007, 19:02
Hallo,

ich hatte so zeimlich das gleiche Problem, dass ich eben nur bestimmte Zeilen laden wollte und man eben an den Zeilennummern erkennen sollte das eben Code dazwischen fehlt. Im Endddefekt habe ich es nur damit hinbekommen, dass ich eine ältere Version des Listing-Packages installiert habe. Die ältere Version unterstützt es, dass die Zeilennummern entsprechend Sprünge enthalten.

Vielleicht suchst du einfach nach allen meinen Threads, da müsst einemal das Problem beschrieben sein, und irgendwo müsst eine Adresse angegeben sein wo man ein altes listings package bekommen kann. Ein weitert Thread von mir heitst dann Alte packages manuell installieren oder so ähnlich.

Falls du danach noch Fragen hast, kannst ja nochmal posten.
Viele Grüße
Chris

RolandMetz
15-12-2007, 20:28
Hallo
Ich habe das jetzt mit zwei Listings gelöst:


\begin{lstlisting}[firstnumber = 31, frame = tlr]
Erste Zeile ...
\end{lstlisting} \vspace*{-2.5ex}
\begin{lstlisting}[firstnumber = 77, frame = lrb]
Letzte Zeile
\end{lstlisting}


mit den Leerzeichen kriege ich hin, dass die ... in der nächsten Zeile sind (also wie wenn es eine zu lange Zeile ist mit Zeilenumbruch).
Die frame = tlr bedeutet, dass die Umrandung nur oben, links und rechts sein soll, bzw. beim zweiten listung unten, rechts und links.
Und die beiden listings verden dann ohne abstand untereinander eingefügt.
Ist sicher nicht allzu toll, und ein bisschen hingefummelt, aber sieht im Endeffekt OK aus.

Vielleicht kennt ja jemand eine ellegantere Lösung..