PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Quellcode Fragmente in eigenes Verzeichnis



cwunsch
30-05-2006, 00:56
Hallo,

ich habe in meinem Dokument einige Quellcodefragmente die ich mit dem Package "listings" dann so einbinde:

\begin{figure}[htb!]
\begin{lstlisting}
... Der Code...
\end{lstlisting}
\caption{Beispielcode}
\label{beispielcode}
\end{figure}

Da ich inzwischen doch einiges an Codebeispielen habe, möchte ich das die Codefragmente nicht mehr in dem Table of Contents sondern in einem eigenen Verzeichnis aufgelistet werden. Kann mir jemand dabei helfen?

Danke und Gruß
Christoph

RedCloud
30-05-2006, 05:25
Hallo,

ich habe in meinem Dokument einige Quellcodefragmente die ich mit dem Package "listings" dann so einbinde:

\begin{figure}[htb!]
\begin{lstlisting}
... Der Code...
\end{lstlisting}
\caption{Beispielcode}
\label{beispielcode}
\end{figure}

Da ich inzwischen doch einiges an Codebeispielen habe, möchte ich das die Codefragmente nicht mehr in dem Table of Contents sondern in einem eigenen Verzeichnis aufgelistet werden. Kann mir jemand dabei helfen?


listings commt mit eigener caption und eigener Liste, da brauchst du sowieso nicht die figure-Umgebung ... Steht alles in der Doku, wie man es macht, wie die Liste heißt, wie sie eingebunden wird usw.

rc

cwunsch
31-05-2006, 01:41
Danke, ich habe es gefunden:

\usepackage{listings}
\renewcommand*\lstlistingname{List of Listings}
\renewcommand*\lstlistlistingname{List of Listings}

Und die Listings mit

\begin{lstlisting}[caption=myCaption,label=myLabel]

\end{listing} einbinden.

Leider habe ich jetzt Seitenumbrüche innerhalb eines Listings. Kann ich bei \lstset{...} ein Parameter übergeben der das verhindert?

Danke und Gruß
Christoph

rais
31-05-2006, 05:04
Danke, ich habe es gefunden:

\usepackage{listings}
\renewcommand*\lstlistingname{List of Listings}
\renewcommand*\lstlistlistingname{List of Listings}

ist \lstlistingname nicht der Name des Listings? Warum also "List of Listings"? :confused:


Und die Listings mit

\begin{lstlisting}[caption=myCaption,label=myLabel]

\end{listing} einbinden.

Leider habe ich jetzt Seitenumbrüche innerhalb eines Listings. Kann ich bei \lstset{...} ein Parameter übergeben der das verhindert?

Danke und Gruß
Christoph
Was Du \begin(nst), musst Du auch so be\end(en) ;)

Wie lang ist denn Dein Listing geworden, wenn Du von mehreren Seitenumbruechen innerhalb eines Listings sprichst?
Das kann doch denn gar nicht auf eine Seite passen - \enlargethispage{wie_viel} schon ausprobiert? -oder was versteh' ich nicht?

imho fehlt hier der eigentliche Befehl zur Darstellung der Liste, \lstlistoflistings oder so.

Was mir noch absolut schleierhaft ist:
möchte ich das die Codefragmente nicht mehr in dem Table of Contents sondern in einem eigenen Verzeichnis aufgelistet werden. Was hast Du denn getrieben, damit die als Abbildungen eingefuegten Listen im TOC gelandet sind? :confused:
MfG,

cwunsch
31-05-2006, 09:50
Hast natürlich recht, es lautet \end{lstlisting}.

Die \lstlistoflistings wird korrekt angezeigt. Das Problem habe ich inzwischen behoben.

Ich habe aber noch das Problem das ein Listing ziemlich am Ende der Seite angefangen wird und dadurch ein Seitenumbruch mittem im Listing ist.

Damit es schöner aussieht, sollte entweder dieser verhindert werden oder die Caption sollte auf jeder Seiter erscheinen.

cwunsch
31-05-2006, 10:18
Jetzt bin ich doch noch selber weiter gekommen.

Man kann \begin{lstlisting}[float=tbh] natürlich nur machen, wenn man \usepackage{float} auch wo stehen hat. Sonst passiert nix...

Der Floatbefehl läßt zwar das Listing jetzt richtigerweise auf einer Seite, aber die Caption ist jetzt näher am Listing. Leider zu nahe. Der Rahmen bzw. der Hintergrund verdeckt die halbe Caption.

Kann mir jemand sagen wie ich die Position der Caption ändere?

countbela666
31-05-2006, 12:07
Kann mir jemand sagen wie ich die Position der Caption ändere?S. 32 listings-Doku: je nach Positionierung abovecaptionskip oder belowcaptionskip ändern.

Grüße,
Marcel

cwunsch
31-05-2006, 13:53
Danke Marcel

\lstset{captionpos=b,abovecaptionskip=10pt}

Damit geht es.