Quellcode über mehrere Seiten einfügen Thema ist als GELÖST markiert

Schriftbild, Absätze und Auflistungen einstellen


El_studente

Quellcode über mehrere Seiten einfügen

Beitrag von El_studente »

Hallo,
Ich sitz gerade an meiner Projektarbeit und komme nicht weiter. Ich versuche mit listings Code einzufügen der länger als eine Seite ist.
Das einfügen klapp wunderbar, allerdings beginnt er keine neue Seite. Latex schreibt einfach in den Rand des Dokuments.

Hier mein header
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%% header %%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Hier wird der Dokumenttyp bestimmt und die verschiedenen
% Pakete definiert und eingebunden. 


% Definition der Dokumentklasse 

\documentclass[a4paper,12pt,headsepline,headinclude=false,footinclude=false,DIV=12,BCOR=5mm]{scrreprt}


%verkleinert:cpregulated, crossconnmos, pmospasstr

% Einbinden verschiedener Pakete
\usepackage{scrhack}  %f?r package float, da es sich nicht mit scrreprt vertr?gt
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc} 	% Dieses Packet liefert europ"aische Sonderzeichen und Glyphen z.B. franz. Anf"uhrungszeichen
%\usepackage[dvips]{graphicx}

\usepackage{nomencl}
\let\abk\nomenclature
\renewcommand{\nomname}{Abkürzungsverzeichnis}
\setlength{\nomlabelwidth}{.25\hsize}
\renewcommand{\nomlabel}[1]{#1 \dotfill}
\setlength{\nomitemsep}{-\parsep}
\makenomenclature


\usepackage{ifpdf}

\ifpdf %%Einbindung von Grafiken mittels \includegraphics{datei}
	\usepackage[pdftex]{graphicx} %%Grafiken in pdfLaTeX
\else
	\usepackage[dvips]{graphicx} %%Grafiken und normales LaTeX
\fi

\usepackage{amsmath}			% Liefert die Matheumgebungen 
\usepackage{amssymb}			% Liefert Sonderzeichen f"ur den Math-Modus (Matheumgebung)

\usepackage{graphicx}			% Erm"oglicht es Grafiken in das Dokument einzubinden. 
\usepackage{bibgerm}
\usepackage{booktabs}			% Mit diesem Paket kann man einfach "asthetische Tabellen erstellen

\usepackage{microtype}		% Dieses Packet liefert optischen Randausgleich, Verbesserung des Kernings etc. 
\usepackage{lmodern}			% Da das Packet microtype Proleme machte wegen irgendwelchen Schriften oder so habe ich  
													% dieses Packet noch mit eingebunden. Es liefert glaube ich mehrere Schriften. 

\usepackage{fixltx2e}			% Dieses Packet liefert verschiedene Bug-Fixes
\usepackage{mparhack}			% Dieses Packet liefert verschiedene Bug-Fixes

\usepackage{subfig}		% F?r Bilder mit (a) und (b) Vorher subfigure, aber alt

\usepackage{icomma}				% Nach einem Komma keinen extra Platz lassen (au?er wenn ein Leerzeichen da ist)
\usepackage{units} 				% Richtige Formatierung des Abstandes von Einheiten nach Zahlen

\usepackage[pdfborder=000]{hyperref}			% Interaktives Dokument mit Verlinkungen

\usepackage{float}

\renewcommand{\textfraction}{1} %wenn bilder zu gro?
\renewcommand{\topfraction}{1}
\renewcommand{\bottomfraction}{0.9}
\renewcommand{\floatpagefraction}{0.75}


\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}
%\setlength\parindent{0pt}


\ifpdf
 \graphicspath{{bilder/pdf/}}			
\else	
 \graphicspath{{bilder/}}
\fi

%% Dateiendungen f?r Grafiken %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% ==> Sie k?nnen hiermit die Dateiendung einer Grafik weglassen.
%% ==> Aus "\includegraphics{titel.eps}" wird "\includegraphics{titel}".
%% ==> Wenn Sie nunmehr 2 inhaltsgleiche Grafiken "titel.eps" und
%% ==> "titel.pdf" erstellen, wird jeweils nur die Grafik eingebunden,
%% ==> die von ihrem Compiler verarbeitet werden kann.
%% ==> pdfLaTeX benutzt "titel.pdf". LaTeX benutzt "titel.eps".
\ifpdf
	\DeclareGraphicsExtensions{.pdf,.jpg,.png}
\else
	\DeclareGraphicsExtensions{.eps}
\fi
\parindent 0pt                     % Setzt die Einrückung der ersten Zeile auf 0 Pt
\parskip2ex

\usepackage{listings}
\usepackage{mparhack}
\usepackage{color}

\definecolor{darkblue}{rgb}{0,0,.6}
\definecolor{darkred}{rgb}{.6,0,0}
\definecolor{darkgreen}{rgb}{0,.6,0}
\definecolor{red}{rgb}{.98,0,0}

 	\lstset{language=C,alsolanguage=Matlab,
			    basicstyle=\ttfamily\small,
			    columns=flexible,
			    tabsize=2,
			    extendedchars=true,
			    showspaces=false,
			    showstringspaces=false,
			    numbers=left,
			    numberstyle=\tiny,
			    breakautoindent=true,

				 	frame=shadowbox,
				 	captionpos=b,
					keywordstyle=\color{darkblue}\bfseries\ttfamily,
					stringstyle=\ttfamily\color{darkred},  
					commentstyle=\itshape\color{darkgreen},
}
	\renewcommand\lstlistlistingname{Quellcodeverzeichnis}

\usepackage{multirow}

    
Und hiermit ruf ich es auf:
\begin{lstlisting}[caption={WDT-Code},float=hbp,label=code:WDT-Code]
Vielen Dank für eure Hilfe

El_Studente

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Gleitumgebungen (engl. floats) werden nie über mehrere Seiten umbrochen. Also musst Du Dich entscheiden, ob das lange Listing gleiten soll oder auf mehrere Seiten umbrochen werden soll.

Auch sonst ist Deine Präambel voller Dinge, die wenig sinnvoll sind oder die man schlicht lassen sollte:
\ifpdf %%Einbindung von Grafiken mittels \includegraphics{datei}
   \usepackage[pdftex]{graphicx} %%Grafiken in pdfLaTeX
\else
   \usepackage[dvips]{graphicx} %%Grafiken und normales LaTeX
\fi
unnütze Fallunterscheidung, weil graphicx diese Entscheidung selbst genauso trifft. Also einfach
\usepackage{graphicx}
(das Du übrigens zusätzlich auch noch hast, was dann endgültig unsinnig ist) und gut ist. Treiber braucht man eigentlich nur anzugeben, wenn man weder pdftex noch vtex noch dvips haben will.
\renewcommand{\textfraction}{1} %wenn bilder zu gro?
\renewcommand{\topfraction}{1}
\renewcommand{\bottomfraction}{0.9}
\renewcommand{\floatpagefraction}{0.75}
Du hast bestimmt keine Ahnung, was Du da machst. Sonst würdest Du nämlich beispielsweise \topfraction anders setzen. Siehe http://projekte.dante.de/DanteFAQ/Float ... tParameter.
\ifpdf
   \DeclareGraphicsExtensions{.pdf,.jpg,.png}
\else
   \DeclareGraphicsExtensions{.eps}
\fi
Wozu das? Der graphics-Treiber weiß sicher sehr viel besser, mit welchen Endungen er umgehen kann. Ich weiß nicht, wer auf die Idee gekommen ist, dass man dem das erst beibringen müsste.
\parindent 0pt                     % Setzt die Einrückung der ersten Zeile auf 0 Pt
\parskip2ex
Du weißt aber schon, dass KOMA-Script Optionen für Absatzabstand hat und l2tabu Dein Vorgehen explizit ablehnt?

xcolor (← dies ist ein geprüfter Link, der direkt zur Paketkurzbeschreibung auf CTAN führt!) ist color übrigens IMHO überlegen.

Zwei Codeschnippsel sind übrigens kein vollständiges Minimalbeispiel (← dies ist ein geprüfter Link mit relevanten Informationen!).

El_Studente

Beitrag von El_Studente »

Ah Danke erst Mal.

Aber wie kann ich jetzt das Listing auf mehrere Seiten umbrechen lassen.

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

KOMA hat geschrieben:Gleitumgebungen (engl. floats) werden nie über mehrere Seiten umbrochen. Also musst Du Dich entscheiden, ob das lange Listing gleiten soll oder auf mehrere Seiten umbrochen werden soll.
listings kann eine Float sein oder nicht, einstellbar mit dem key "float". Siehe auch listings Doku.

Ich denke, dass die händische Platzierung von sehr langen Code per Hand durchaus vertretbar ist.
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


Antworten