Listing in Latex-Dokument nicht über eine Seite umbrechen
-
Servus,
kann jemand mit dem listings Paket für \LaTeX umgehen?
Ich hätte gerne einen mehrzeiligen Quellcode so, dass KEIN Seitenumbruch reingefummelt wird.
Problem ist nur, dass /samepage nicht funktioniert:\section{Implementation} The mode change logic is as follows in pseudocode: \begin{samepage} \lstset{basicstyle=\small, numbers=left, numberstyle=\tiny, numbersep=5pt, language=C++} \begin{lstlisting}[caption={How to do stuff},label=howto,breaklines=true,breakatwhitespace=true] /* Do stuff */ \end{lstlisting} \end{samepage} \section{Other stuff}
Ich bekomme trotzdem mitten im Quellcode einen Seitenumbruch. Man kann lstlisting natürlich auch mit der Option float formatieren, dann bleibt es schön auf einer Seite, aber dann "floatet" es eben, und nach "as follows" fängt er mit der nächsten Sektion an und macht das Lsiting dann an den Anfang der nächsten Seite in diese Sektion. Auch nicht das, was ich will!
Weiß jemand, wie man das besser hinbekommt?
Gruß,
Phil
-
Die schönste Lösung wäre wohl, ein paar Absätze davor umzuformulieren, sodass der Code nicht mehr genau auf dem Seitenumbruch landet.
Ansonsten gibt es die Möglichkeit, mit \newpage an einer bestimmten Stelle einen Seitenumbruch zu erzwingen. Das führt aber wahrscheinlich zu sehr großem Leerraum. Deswegen würde ich es mit Umformulieren des Textes drumherum versuchen.
-
Ich würde eher dazu tendieren den Code in eine float-Umgebung zu packen mit Unterschrift etc. und den Text dann umzuschreiben: "A pseudo code description of the mode change logic is shown in Listing xy."
-
Jester schrieb:
Ich würde eher dazu tendieren den Code in eine float-Umgebung zu packen mit Unterschrift etc. und den Text dann umzuschreiben: "A pseudo code description of the mode change logic is shown in Listing xy."
Ja, das zu referenzieren wird wohl die beste Lösung sein.