Seite 1 von 2

lange listings mit eingeschobenen Bildern

Verfasst: Sa 24. Sep 2011, 17:39
von lynardo
Hallo leute,

ich such nun schon ewig nach ner lösung, wurde aber noch nicht wirklich fündig.

Ich habe das Problem, dass in meinen Listings, die ca. 300 Zeilen lange sind immer wider bilddateien zwischenreingeschoben werden, die eigentlich am ende des listings folgen sollten. Ich habe schon versucht die listings als float umgebung zu definieren, was allerdings dazu führte, dass nur die ersten 100 der 300 Zeile zu sehen waren.

Ich verwende das lstlistings Paket, und die scrreprt Dokumentklasse

hoffe ihr wisst weiter

Lynado

Verfasst: Sa 24. Sep 2011, 17:43
von Mechanicus
Hi,

so richtig kann ich das Problem nicht verstehen. Aber packe die lstings-Umgebung in eine center-Umgebung.

Marco

Verfasst: Sa 24. Sep 2011, 18:01
von lynardo
Hi Marco

naja also das mit dem center block hat net so richtig gefunzt. und ich hab ma n bild als demonstration des Problems angehängt. Vielleicht hilft das ja weiter.

Verfasst: Sa 24. Sep 2011, 18:04
von Mechanicus
Könntest du das Bild auch als Minimalbeispiel präsentieren?

Gruß
Marco

Verfasst: Sa 24. Sep 2011, 18:07
von iTob
Du willst also im Listing ein Bild einfügen, dass dann aber hinter das Listing verschoben wird?

Zwei Vorschläge:
1. Das Bild einfach nach dem Listing einfügen ;-)
2. Mit der Escape-Funktion von listings.sty (siehe Doku) innerhalb des Listings eine Gleitumgebung (figure) mit dem Bild einfügen, und dann ggf. mit \clearpage und \FloatBarrier (aus placeins.sty) nachhelfen.

Wenn das immer noch nicht ist, was dir hilft, wirst auch du ein Minimalbeispiel anfertigen müssen!

Tobi

Verfasst: Sa 24. Sep 2011, 18:07
von lynardo
Hi Marco klar,
\documentclass[
    11pt, % Schriftgröe
    DIV10,
    ngerman, % für Umlaute, Silbentrennung etc.
    a4paper, % Papierformat
    twoside, % einseitiges Dokument
    titlepage, % es wird eine Titelseite verwendet
    parskip=half, % Abstand zwischen Absätzen (halbe Zeile)
    headings=normal, % Größe der Überschriften verkleinern
    listof=totoc, % Verzeichnisse im Inhaltsverzeichnis aufführen
    bibliography=totoc, % Literaturverzeichnis im Inhaltsverzeichnis aufführen
    index=totoc, % Index im Inhaltsverzeichnis aufführen
    captions=tableheading, % Beschriftung von Tabellen unterhalb ausgeben
    final, % Status des Dokuments (final/draft)
    numbers=noenddot
]{scrreprt}
...
\usepackage{lstlistings}
...
\begin{document}
...
Aufgabe: Schreibe ein Programm das Hallo Welt! in Kleeblättern schreibt.
\begin{center}
\lstinputlisting[caption=Dass Hallo Welt! Programm]{DVD/Quellcodes/11_08_22/Schreibe.java}
\end{center}
\begin{figure}[!htbp]
\centering
\includegraphics[scale=0.2]{11_08_22/schreibeHalloweltScreenshot}
\caption{Kara sagt Hallo Welt!}
\end{figure}
...
\end{document}
hoffe das hilft weiter.

EDIT: Nein, ich will dass das bild nach dem Listing steht, und nicht mitten drin

Lynardo

Verfasst: Sa 24. Sep 2011, 18:19
von Mechanicus
Hi,

hast du evtl. noch den Code ;-) Das Beispiel ist so nicht kompilierbar und zeigt das Problem nicht.

Gruß
Marco

Verfasst: Sa 24. Sep 2011, 18:29
von bloodworks
Hallo das ist nicht wirklich ein Minimalbeispiel [2]. Du kansnt mit placeins arbeiten.
%Papierformat 
\documentclass{scrreprt} 

\usepackage{listings}
\usepackage{multido}
\usepackage{placeins}
\begin{document}


\begin{figure}[b]
\rule{5cm}{5cm}
\end{figure}
\FloatBarrier
\begin{lstlisting}[escapechar=*]
*\multido{}{400}{test\\}
\end{lstlisting}\FloatBarrier
\begin{figure}
\rule{5cm}{5cm}
\end{figure}
\end{document}

Verfasst: Sa 24. Sep 2011, 18:32
von lynardo
Hi Marco,

kannste haben

EDIT: Die Lösung mit Placeins kann ich mir heute leider nicht mehr anschauen, sieht aber interessant aus

Lynardo

Verfasst: Sa 24. Sep 2011, 18:40
von Mechanicus
Hi,

ich würde evtl. zusätzlich die Umgebung nicht in eine Gleitumgebung packen. Die Beschriftung kannst du mit captionof erledigen (wird durch KOMA-Script bereitgestellt).

Gruß
Marco