Discussion:
Seitenumbruch in Listing verhindern
(zu alt für eine Antwort)
Thomas Peter
2007-01-15 20:25:30 UTC
Permalink
Moin,
ich bin LaTex-Rookie und hab ne Frage:
ich habe ein nicht allzulanges Listing (lstlisting), das aber so
ungünstig plaziert ist, dass es in den Seitenumbruch rutscht.
Das würde ich gerne verhindern (da es noch häufiger vorkommt).
Als Dokumentenklasse kommt scrbook zum Einsatz, falls das was ausmacht.

Danke schonmal
Thomas
Michel Bretschneider
2007-01-16 07:17:16 UTC
Permalink
Thomas Peter schrieb:
...
Post by Thomas Peter
ich habe ein nicht allzulanges Listing (lstlisting), das aber so
ungünstig plaziert ist, dass es in den Seitenumbruch rutscht.
Das würde ich gerne verhindern (da es noch häufiger vorkommt).
Moin
Ist nicht "sauber", aber für kleinere Werke reichts, vor dem Listing ein
\newpage zu plazieren. Alternativ könnte man das Listing auch als ganzes
mit der Float-Umgebung einbinden und mit ensprechendem Verweis darauf im
Text ansprechen.

Gruß
Michel
Thomas Peter
2007-01-16 19:02:10 UTC
Permalink
moin,
Post by Michel Bretschneider
Ist nicht "sauber", aber für kleinere Werke reichts, vor dem Listing ein
\newpage zu plazieren. Alternativ könnte man das Listing auch als ganzes
ja, das mache ich gerade. aber genau das wollte ich mir sparen, da das
sowas von nervig ist, wenn man vorne im dokument noch was schreibt...
Post by Michel Bretschneider
mit der Float-Umgebung einbinden und mit ensprechendem Verweis darauf im
Text ansprechen.
weil ich davon noch keine ahnung hab - wie mache ich das. ich hab in
"Diplomarbeit mit LaTeX" gelesen, wie man ein bild in ein float packt,
jedoch kann ich das float nicht identifizieren :-)
das beispiel ist:

\begin{figure}[htb]
\centering
\includegraphics{images/apfel.png}
\caption{Ein Apfel}
\label{fig:apfel}
\end{figure}

wie wäre das aufs listing übertragen?

danke,
thomas
Karsten Neumann
2007-01-16 19:15:40 UTC
Permalink
Post by Thomas Peter
Post by Michel Bretschneider
mit der Float-Umgebung einbinden und mit ensprechendem Verweis darauf im
Text ansprechen.
weil ich davon noch keine ahnung hab - wie mache ich das.
Das steht in der Listings-Dokumentation im Abschnitt 4.3 gleich zu
Beginn. Und von Tante Google mit den Begriffen "listings float"
will ich gar nicht weiter anfangen.

Dann findest ganz schnell sowas:
\begin{lstlisting}[float=htbp] %htbp wie bei Abbildungen und Tabelle
...
\ebnd{lstlisting}

Sollte keine weiteren Probleme bereiten, das anzuwenden, da du
Abbildungen als Gleitumgebung ja kennst.
Post by Thomas Peter
"Diplomarbeit mit LaTeX" gelesen, wie man ein bild in ein float packt,
jedoch kann ich das float nicht identifizieren :-)
\begin{figure}[htb]
[...]
\end{figure}
Die Figure-Umgebung ist eine Gleitumgebung. Die engliche Übersetzung
führt auf den Begriff float. Genauso ist die table-Umgebung eine
Gleitumgebung und mit der oben beschriebenen Option wird auch das
betreffende Listing in eine Gleitumgebung gepackt.
--
Wer sich unanständig benimmt wird anständig bestraft. (U.Wickert)
Michel Bretschneider
2007-01-16 20:16:57 UTC
Permalink
Post by Karsten Neumann
Post by Thomas Peter
"Diplomarbeit mit LaTeX" gelesen, wie man ein bild in ein float packt,
jedoch kann ich das float nicht identifizieren :-)
\begin{figure}[htb]
[...]
\end{figure}
Die Figure-Umgebung ist eine Gleitumgebung. Die engliche Übersetzung
führt auf den Begriff float. Genauso ist die table-Umgebung eine
Gleitumgebung und mit der oben beschriebenen Option wird auch das
betreffende Listing in eine Gleitumgebung gepackt.
Dann sieh dir doch einfach den Quelltext dazu an, der wird auf der
Hompage zum download angeboten, ist gut sortiert und sehr aufschlußreich.
Karsten Neumann
2007-01-16 22:26:18 UTC
Permalink
Post by Michel Bretschneider
Post by Karsten Neumann
Die Figure-Umgebung ist eine Gleitumgebung. Die engliche Übersetzung
führt auf den Begriff float. Genauso ist die table-Umgebung eine
Gleitumgebung und mit der oben beschriebenen Option wird auch das
betreffende Listing in eine Gleitumgebung gepackt.
Dann sieh dir doch einfach den Quelltext dazu an, der wird auf der
Hompage zum download angeboten, ist gut sortiert und sehr aufschlußreich.
Damit möchtest du mir was sagen?
--
Wer sich unanständig benimmt wird anständig bestraft. (U.Wickert)
Michel Bretschneider
2007-01-16 23:06:18 UTC
Permalink
Post by Karsten Neumann
Damit möchtest du mir was sagen?
Etwas unglücklich ausgedrückt... Ich meine eigendlich, daß du aus dem
Listing ein eps oder pdf machst und es dann als float einbindest.
Thomas Peter
2007-01-16 21:07:40 UTC
Permalink
moin,
Post by Karsten Neumann
Post by Thomas Peter
weil ich davon noch keine ahnung hab - wie mache ich das.
Das steht in der Listings-Dokumentation im Abschnitt 4.3 gleich zu
danke für den hinweis!
Post by Karsten Neumann
\begin{lstlisting}[float=htbp] %htbp wie bei Abbildungen und Tabelle
...
\ebnd{lstlisting}
ok, hab mich ein wenig dumm gestellt.

danke!
thomas
Thomas Peter
2007-01-16 21:31:22 UTC
Permalink
Post by Karsten Neumann
Das steht in der Listings-Dokumentation im Abschnitt 4.3 gleich zu
Beginn. Und von Tante Google mit den Begriffen "listings float"
will ich gar nicht weiter anfangen.
\begin{lstlisting}[float=htbp] %htbp wie bei Abbildungen und Tabelle
...
\ebnd{lstlisting}
ok, wie ich ein listing floate weiß ich jetzt. das macht bei mir aber in
sofern probleme, als dass ich htbp angebe und nur p greift, und das
listing am ende des kapitels steht, was ich nicht will.

gitbs da jetzt irgendwelche tricks das listing doch noch in der
subsection ohne umbruch zu platziern?

ja, das mit dem newpage würde ich zur not machen, ich hoffe aber, dass
es da was besseres gibt, da ich ja dann vorm druck alles durchnudeln
müßte und nach unschönen pagebreaks suchen müßte...

danke & viele grüße,
thomas
Karsten Neumann
2007-01-16 22:25:31 UTC
Permalink
Post by Thomas Peter
Post by Karsten Neumann
\begin{lstlisting}[float=htbp] %htbp wie bei Abbildungen und Tabelle
ok, wie ich ein listing floate weiß ich jetzt. das macht bei mir aber in
sofern probleme, als dass ich htbp angebe und nur p greift, und das
listing am ende des kapitels steht, was ich nicht will.
Ändert es was, wenn du nur ht angibst zum beispiel?
Post by Thomas Peter
gitbs da jetzt irgendwelche tricks das listing doch noch in der
subsection ohne umbruch zu platziern?
\floatbarrier gibts noch. Damit werden alle offenen floats vor dem
Befehl plaziert und erst danach alles nachfolgende.
--
Das System mit den Dualzahlen und den 1024er-Potenzen mag auf den
ersten Blick etwas gewöhnungsbedürftig sein, aber es war in der
Digitaltechnik schon da, als Marketing-Männer noch
Propagandaminister hießen.
Paolo Peruzzi
2007-01-16 14:57:54 UTC
Permalink
Post by Thomas Peter
ich habe ein nicht allzulanges Listing (lstlisting), das aber so
ungünstig plaziert ist, dass es in den Seitenumbruch rutscht.
Zuerst dachte ich, du meinst einen Umbruch im Listing selbst. Dafür
gibt es breaklines= .

Jedoch hab ich auch gerade einen seltsamen Fall:
Meine Konfiguration:
\lstset{
aboveskip=1.9\medskipamount,
belowskip= -.9\medskipamount,
backgroundcolor=\color{mylightgray},
frame=single,
framerule=0pt,
framesep=3pt
}
Doch bei einem Umbruch ist ein schmaler Streifen der Hintergrundfarbe
auf der einen Seite, das Listing mit erster Zeile aber auf der
nächsten Seite. Wie kann das sein?

Paolo
Thomas Peter
2007-01-16 18:57:09 UTC
Permalink
Post by Paolo Peruzzi
Zuerst dachte ich, du meinst einen Umbruch im Listing selbst. Dafür
doch, genau den meine ich!
Post by Paolo Peruzzi
gibt es breaklines= .
aus der listings doku zu version 1.3 steht:

"breaklines=(true|false) or breaklines false
activates or deactivates automatic line breaking of long lines."

das hört sich nicht so an, als ob es nen seitenumbruch verhindern kann.

cheers,
thomas
Alexander Dahl
2007-01-16 21:49:03 UTC
Permalink
Hallo,
Post by Thomas Peter
"breaklines=(true|false) or breaklines false
activates or deactivates automatic line breaking of long lines."
das hört sich nicht so an, als ob es nen seitenumbruch verhindern kann.
Kann es nicht. "line breaking" heißt _Zeilen_umbruch. D.h. hiermit kann
eingestellt werden, ob lange Zeilen im listing umbrochen werden sollen
oder nicht.

Gruß
Alex
Ulrike Fischer
2007-01-17 13:07:26 UTC
Permalink
Post by Thomas Peter
Moin,
ich habe ein nicht allzulanges Listing (lstlisting), das aber so
ungünstig plaziert ist, dass es in den Seitenumbruch rutscht.
Das würde ich gerne verhindern (da es noch häufiger vorkommt).
Als Dokumentenklasse kommt scrbook zum Einsatz, falls das was ausmacht.
Du kannst das listings in eine minipage-Umgebung tun:

\noindent
\begin{minipage}{\textwidth}
\begin{lstlisting}
ein listing ohne seitenumbruch
\end{lstlisting}
\end{minipage}
--
Ulrike Fischer
e-mail: zusätzlich meinen Vornamen vor dem @ einfügen.
e-mail: add my first name between the news and the @.
Loading...