PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : listings und Seitenumbrüche



stefan.jaeschke
11-08-2007, 22:34
Hallo liebe Experten,

ich habe leider ein Problem mit Seitenumbrüchen innerhalb meines Quellcodes. Ich verwende das Package listings und kenne die Funktion float=hbt. Diese unterdrückt auch (wie gewünscht) die Seitenumbrüchen innerhalb meines Quellcodes. Allerdings nicht, wenn ich diesen Parameter innerhalb des "\lstset" setze.

Hier mein Beispiel (funktioniert nicht wie gewünscht):



\documentclass{article}
\usepackage{courier}

\usepackage{listings}

\lstset{
basicstyle=\ttfamily %
,showstringspaces=false % Strings im Code ohne Kenntlichmachung von Leerzeichen
,commentstyle=\textit %
,stringstyle=\upshape %
,numbers=left %
,float=hbt % Verhindert Seitenumbrüche im Quellcodes
,frame=tlRB %
,breaklines=true %
,language=SQL %
,aboveskip=10mm % Abstand über Listing
,belowskip=5mm % Abstand unter Listing
,captionpos=b % Position der Caption, t=top oder b=bottom
}


%% Dokument Beginn %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%
\begin{document}


\begin{lstlisting}[caption={tabelle\_anlegen01.sql}]
DROP TABLE test_tab;

CREATE TABLE test_tab
(id NUMBER
,name VARCHAR2(30)
,deptno NUMBER(2)
);

-- TESTKOMMENTAR

INSERT INTO test_tab
VALUES (1, 'HANS MEIER', 20);
\end{lstlisting}


Lorem ipsum adhuc latine his ea, malis latine per ex, debet offendit repudiare an vix. Eruditi scaevola sensibus no cum. Cu iisque abhorreant necessitatibus sed, vix ei cibo efficiendi. Te assum dicunt ius, ne mea aeque quaerendum. Maiestatis ullamcorper ut has, quo an dicit assentior, eum fuisset pertinax referrentur te. Idque etiam has at.

Lorem ipsum adhuc latine his ea, malis latine per ex, debet offendit repudiare an vix. Eruditi scaevola sensibus no cum. Cu iisque abhorreant necessitatibus sed, vix ei cibo efficiendi. Te assum dicunt ius, ne mea aeque quaerendum. Maiestatis ullamcorper ut has, quo an dicit assentior, eum fuisset pertinax referrentur te. Idque etiam has at.

Lorem ipsum adhuc latine his ea, malis latine per ex, debet offendit repudiare an vix. Eruditi scaevola sensibus no cum. Cu iisque abhorreant necessitatibus sed, vix ei cibo efficiendi. Te assum dicunt ius, ne mea aeque quaerendum. Maiestatis ullamcorper ut has, quo an dicit assentior, eum fuisset pertinax referrentur te. Idque etiam has at.

Lorem ipsum adhuc latine his ea, malis latine per ex, debet offendit repudiare an vix. Eruditi scaevola sensibus no cum. Cu iisque abhorreant necessitatibus sed, vix ei cibo efficiendi. Te assum dicunt ius, ne mea aeque quaerendum. Maiestatis ullamcorper ut has, quo an dicit assentior, eum fuisset pertinax referrentur te. Idque etiam has at.


\begin{lstlisting}[caption={tabelle\_anlegen02.sql}]
DROP TABLE test_tab;

CREATE TABLE test_tab
(id NUMBER
,name VARCHAR2(30)
,deptno NUMBER(2)
);

-- TESTKOMMENTAR

INSERT INTO test_tab
VALUES (1, 'HANS MEIER', 20);
\end{lstlisting}

%% Dokument ENDE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%
\end{document}




Wenn ich jedoch statt


\begin{lstlisting}[caption={tabelle\_anlegen02.sql}]

den Quellcode so einleite


\begin{lstlisting}[float=hbt, caption={tabelle\_anlegen02.sql}]

wird der Quellcode (wie gewünscht) komplett auf der zweiten Seite geschrieben.


Nun zu meiner Frage: Habe ich in meinem Beispiel einen Fehler gemacht oder kann float nicht innerhalb des "\lstset" gesetzt werden.

Vielen Dank für eure Hilfe.

Gruß Stefan

stefan.jaeschke
13-08-2007, 08:20
Hallo zusammen,
ein kleiner Nachtrag: Wenn ich den betroffenen Quellcode so einleite:


\begin{lstlisting}[float=hbt, caption={tabelle\_anlegen02.sql}]

und den nächsten Quellcode nicht ebenfalls mit float=hbt kennzeichne, wird dieser zweite Quellcode nur zur Hälfte dargestellt.




\documentclass{article}
\usepackage{courier}

\usepackage{listings}

\lstset{
basicstyle=\ttfamily %
,showstringspaces=false % Strings im Code ohne Kenntlichmachung von Leerzeichen
,commentstyle=\textit %
,stringstyle=\upshape %
,numbers=left %
,float=hbt %
,frame=tlRB %
,breaklines=true %
,language=SQL %
,aboveskip=10mm % Abstand über Listing
,belowskip=5mm % Abstand unter Listing
,captionpos=b % Position der Caption, t=top oder b=bottom
}

%% Dokument Beginn %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%
\begin{document}


\begin{lstlisting}[caption={tabelle\_anlegen01.sql}]
DROP TABLE test_tab;

CREATE TABLE test_tab
(id NUMBER
,name VARCHAR2(30)
,deptno NUMBER(2)
);

-- TESTKOMMENTAR

INSERT INTO test_tab
VALUES (1, 'HANS MEIER', 20);
\end{lstlisting}


Lorem ipsum adhuc latine his ea, malis latine per ex, debet offendit repudiare an vix. Eruditi scaevola sensibus no cum. Cu iisque abhorreant necessitatibus sed, vix ei cibo efficiendi. Te assum dicunt ius, ne mea aeque quaerendum. Maiestatis ullamcorper ut has, quo an dicit assentior, eum fuisset pertinax referrentur te. Idque etiam has at.

Lorem ipsum adhuc latine his ea, malis latine per ex, debet offendit repudiare an vix. Eruditi scaevola sensibus no cum. Cu iisque abhorreant necessitatibus sed, vix ei cibo efficiendi. Te assum dicunt ius, ne mea aeque quaerendum. Maiestatis ullamcorper ut has, quo an dicit assentior, eum fuisset pertinax referrentur te. Idque etiam has at.

Lorem ipsum adhuc latine his ea, malis latine per ex, debet offendit repudiare an vix. Eruditi scaevola sensibus no cum. Cu iisque abhorreant necessitatibus sed, vix ei cibo efficiendi. Te assum dicunt ius, ne mea aeque quaerendum. Maiestatis ullamcorper ut has, quo an dicit assentior, eum fuisset pertinax referrentur te. Idque etiam has at.

Lorem ipsum adhuc latine his ea, malis latine per ex, debet offendit repudiare an vix. Eruditi scaevola sensibus no cum. Cu iisque abhorreant necessitatibus sed, vix ei cibo efficiendi. Te assum dicunt ius, ne mea aeque quaerendum. Maiestatis ullamcorper ut has, quo an dicit assentior, eum fuisset pertinax referrentur te. Idque etiam has at.


\begin{lstlisting}[float=hbt, caption={tabelle\_anlegen02.sql}]
DROP TABLE test_tab;

CREATE TABLE test_tab
(id NUMBER
,name VARCHAR2(30)
,deptno NUMBER(2)
);

-- TESTKOMMENTAR

INSERT INTO test_tab
VALUES (1, 'HANS MEIER', 20);
\end{lstlisting}

\begin{lstlisting}[caption={tabelle\_anlegen02.sql}]
DROP TABLE test_tab;

CREATE TABLE test_tab
(id NUMBER
,name VARCHAR2(30)
,deptno NUMBER(2)
);

-- TESTKOMMENTAR

INSERT INTO test_tab
VALUES (1, 'HANS MEIER', 20);
\end{lstlisting}

%% Dokument ENDE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%
\end{document}



In der Konsequenz heißt das wohl, dass ich alle Quellcodes nochmal float=hbt kennzeichnen muss. Umso dankbarer wäre ich für einen Tipp oder eine Lösung.

Vielen Dank und Gruß

Stefan

stefan.jaeschke
14-08-2007, 08:42
Hallo zusammen,
scheinbar gibt es keine einfache Lösung für mein Problem. Daher würde ich mich sehr freuen, wenn ihr meine Tex-Source in eurer Umgebung prüfen und mir mitteilen würdet, ob sich der beschriebene Fehler reproduzieren läßt. So könnte ich das ganze wenigstens etwas eingrenzen.


Vielen Dank!

Gruß Stefan