Supertabular, Text macht Seitenumbruch, Quellcode mach keins

Tabellen und Grafiken erstellen und anordnen


wri8ter
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Mi 16. Okt 2013, 10:12

Supertabular, Text macht Seitenumbruch, Quellcode mach keins

Beitrag von wri8ter »

Hey zusammen,

ich habe eine Frage, habe nun supertabular verwendet um ein zu große Datei
über die zweite Seite hinaus zu schreiben. Dieses funktioniert auch bei Text aber sobald ich statt Text lstlistings eintrage, geht der Compiler nur bis zu ersten Seite und schiebt den Rest Quellcode in den unteren Rand hinein.
Warum macht er das ? Habe ich da etwas bei supertabular nicht beachtet ?

Hier wie es funktioniert mit Text :
\tablehead{\hline \\} 
\tabletail{ \\ \hline}
\tablelasttail{\newpage} 
\begin{supertabular}{|p{16cm}|} 
Verwendung der \textbf{\texttt{post}}- Methode, \textbf{Grund} : Formulardaten werden nicht in der Addresszeile angezeigt (Sicherheitsaspekt). 
Weiterleitung zur \texttt{conector.php} Datei. Diese erschafft eine Verbindug zur Datenbank \texttt{supplier}. Bei der Weiterleitung werden aus den
den Textboxen der \glqq loginName\grqq~ und \glqq passwordErk\grqq~ mit übergeben. Diese Eingaben können leer oder gefüllt sein.
 \\ \hline \\
   Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
   Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
   Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
   Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
   Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
   Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
   Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
   Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
Hallo \\
\end{supertabular}
So wie es haben will, statt Text einfach nur Quellcode :
\tablehead{\hline \\} 
\tabletail{ \\ \hline}
\tablelasttail{\newpage} 
\begin{supertabular}{|p{16cm}|} 
Verwendung der \textbf{\texttt{post}}- Methode, \textbf{Grund} : Formulardaten werden nicht in der Addresszeile angezeigt (Sicherheitsaspekt). 
Weiterleitung zur \texttt{conector.php} Datei. Diese erschafft eine Verbindug zur Datenbank \texttt{supplier}. Bei der Weiterleitung werden aus den
den Textboxen der \glqq loginName\grqq~ und \glqq passwordErk\grqq~ mit übergeben. Diese Eingaben können leer oder gefüllt sein.
 \\ \hline \\
 \begin{lstlisting}[language=php]
    <?php
# Verbindung zur MySQL Datenbank supplier
# inkludierte Datenbank Verbindung 
include("DB_Connect/dbconnect.php");
#Uebergabe der Formulardaten (am besten verschluesselt)
$strLoginName = $_POST['loginName'];
$chPassword = $_POST['passwordErk'];
#Ueberpruefung der Datenbank ob dieser User vorhanden ist ??
# Wenn Ja komme zur LieferantenKatalog oder MitarbeiterKatalog (Auswertung)
# ! Wenn nein , dann wieder zurueck zum Login mit Anmerkung !
# Tabellen Selektion und Auswertung
# Verbindung zur MySQL Datenbank supplier
# inkludierte Datenbank Verbindung 
include("DB_Connect/dbconnect.php");
#Uebergabe der Formulardaten (am besten verschluesselt)
$strLoginName = $_POST['loginName'];
$chPassword = $_POST['passwordErk'];
#Ueberpruefung der Datenbank ob dieser User vorhanden ist ??
# Wenn Ja komme zur LieferantenKatalog oder MitarbeiterKatalog (Auswertung)
# ! Wenn nein , dann wieder zurueck zum Login mit Anmerkung !
# Tabellen Selektion und Auswertung
# Verbindung zur MySQL Datenbank supplier
# inkludierte Datenbank Verbindung 
include("DB_Connect/dbconnect.php");
#Uebergabe der Formulardaten (am besten verschluesselt)
$strLoginName = $_POST['loginName'];
$chPassword = $_POST['passwordErk'];
#Ueberpruefung der Datenbank ob dieser User vorhanden ist ??
# Wenn Ja komme zur LieferantenKatalog oder MitarbeiterKatalog (Auswertung)
# ! Wenn nein , dann wieder zurueck zum Login mit Anmerkung !
# Tabellen Selektion und Auswertung
# Verbindung zur MySQL Datenbank supplier
# inkludierte Datenbank Verbindung 
include("DB_Connect/dbconnect.php");
#Uebergabe der Formulardaten (am besten verschluesselt)
$strLoginName = $_POST['loginName'];
$chPassword = $_POST['passwordErk'];
#Ueberpruefung der Datenbank ob dieser User vorhanden ist ??
# Wenn Ja komme zur LieferantenKatalog oder MitarbeiterKatalog (Auswertung)
# ! Wenn nein , dann wieder zurueck zum Login mit Anmerkung !
# Tabellen Selektion und Auswertung
# Verbindung zur MySQL Datenbank supplier
# inkludierte Datenbank Verbindung 
include("DB_Connect/dbconnect.php");
#Uebergabe der Formulardaten (am besten verschluesselt)
$strLoginName = $_POST['loginName'];
$chPassword = $_POST['passwordErk'];
#Ueberpruefung der Datenbank ob dieser User vorhanden ist ??
# Wenn Ja komme zur LieferantenKatalog oder MitarbeiterKatalog (Auswertung)
# ! Wenn nein , dann wieder zurueck zum Login mit Anmerkung !
# Tabellen Selektion und Auswertung
# Verbindung zur MySQL Datenbank supplier
# inkludierte Datenbank Verbindung 
include("DB_Connect/dbconnect.php");
#Uebergabe der Formulardaten (am besten verschluesselt)
$strLoginName = $_POST['loginName'];
$chPassword = $_POST['passwordErk'];
#Ueberpruefung der Datenbank ob dieser User vorhanden ist ??
# Wenn Ja komme zur LieferantenKatalog oder MitarbeiterKatalog (Auswertung)
# ! Wenn nein , dann wieder zurueck zum Login mit Anmerkung !
    \end{lstlisting} \\
\end{supertabular}
Was mache ich bei lstlisting falsch ????

lg writ8er[/code]

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Es wäre für uns hilfreicher, wenn du ein lauffähiges Minimalbeispiel erstellt und uns somit sofort etwas zum Testen gibst. sudo hat dich bereits im anderen Thread darauf hingewiesen.

Schau dir zusätzlich bitte auch Wie kann ich bestimmte Dinge hervorheben? an.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

In deinem Code mit Text steht jedes Hallo in einer eigenen Tabellenzeile während das listings in einer einzigen Tabellenzeile untergebracht wird. Zwischen Tabellenzeilen wird umgebrochen.
Innerhalb von Tabellenzeilen erfolgt dagegen kein Seitenumbruch. Auch nicht bei nur Text, wie du dich hier überzeugen kannst:
\documentclass{scrartcl}
\usepackage{supertabular}

\usepackage{blindtext}

\begin{document}
\tablehead{\hline \\} 
\tabletail{ \\ \hline} 
\tablelasttail{\newpage} 
\begin{supertabular}{|p{16cm}|} 
  Kopfzeile
  \\ \hline \\ 
  \blindtext[10]
\end{supertabular} 

\end{document}
Wenn du es nicht glaubst, dann ersetze \blindtext[10] durch einen von Hand eingegebenen Text, aber ohne dabei eine neue Tabellenzeile mittels \\ oder \tabularnewline einzufügen.

Was auch immer du tun möchtest, das listing in eine Tabellenzelle zu packen, wird sicher nicht der richtige Weg sein.

Gruß
Elke

wri8ter
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Mi 16. Okt 2013, 10:12

Beitrag von wri8ter »

Huhu Elke, ja erstmal vorab Danke für die Info

Auf Wunsch habe ich mal etwas kompilierbaers...dort sieht man den Quelltext
in der Zelle, allerdings wird dieser nicht umgebrochen.
\documentclass[a4paper,12pt]{article}% Entwicklungsstand Mai 2013
\usepackage[ngerman]{babel}
\usepackage{picins,graphicx}
\usepackage{color,xcolor}
\usepackage[utf8]{inputenc} %utf8 für neue Linux Distrubtionen
\usepackage[T1]{fontenc}
\usepackage{textcomp} %ermöglicht zusätzliche Zeichen
\usepackage{fancyhdr}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{wasysym}
\usepackage{wrapfig}
\usepackage{times}
\usepackage{epsfig,ifthen}
\usepackage{eurosym}
\usepackage{calc,vector}
\usepackage{enumerate,pdflscape}
\usepackage[colorlinks=true,linkcolor=black]{hyperref} % Inhaltsverzeichnis keine rote Umrandung
% color definition for php
\definecolor{dkgreen}{rgb}{0,.6,0}
\definecolor{dkblue}{rgb}{0,0,.6}
\definecolor{dkyellow}{cmyk}{0,0,.8,.3}
\definecolor{lgGray}{gray}{.93}
\definecolor{betared}{rgb}{0.64, 0.0, 0.0}

%*******************************************************************************************************
%neue packages 
\usepackage{tabularx}   %Erweiterung von tabular, erzwingt zeilenumbruch in der Tabele um die breite der Tabele zu beschrenken
\usepackage{listings}      %Quellcode einbinden (verschiene Programmiersprachen m�glich)
\usepackage{hyperref}  %url einbinden und Lesezeichen in der PDF möglich
\usepackage{subfigure}  %unter Bilder einfögen (Erm�glich Bilder nebeneinander zu setzen)
\usepackage{pdfpages}  %Einbinden von PDFs
\usepackage{lscape}
\usepackage{textcomp}
\usepackage{pifont}
\usepackage{exscale}
\usepackage{varioref}
\usepackage[labelfont={sf,bf},justification=centerlast]{caption}
\usepackage{eso-pic}
\usepackage{anysize}
\usepackage{supertabular}
\usepackage{longtable}
\pagestyle{fancy} % Packet für Seitenlayout... damit kann z.B Fuß bzw. Kopfzeile eingestellt werden(fany = eigener Seitenstil)
\usepackage{float}
\restylefloat{figure}
\begin{document}
\rhead{\thepage}
\rfoot{}
\cfoot{}
\renewcommand{\thepage}{\Roman{page}}

%	PHP-Syntax-Options      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\lstset{
  language        = php,
  basicstyle      = \small\ttfamily,
  keywordstyle    = \color{black},
  stringstyle     = \color{dkgreen},
  identifierstyle = \color{betared},
  commentstyle    = \color{gray},
  breaklines	  =true,
  xleftmargin	  = 25pt,
  backgroundcolor =\color{lgGray}, 
  numbers	  =left,
  numberstyle	  =\small\color{gray},
  emph            =[1]{php},
  emphstyle       =[1]\color{black},
  emph            =[2]{if,and,or,else,switch,function,while,&&,||},
  emphstyle       =[2]\color{black}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\tablehead{\\} 
\tabletail{\hline }
\tablelasttail{\hline}
%\tablelasttail{\newpage} 
\begin{supertabular}{|p{16cm}|} 
Verwendung der \textbf{\texttt{post}}- Methode, \textbf{Grund} : Formulardaten werden nicht in der Addresszeile angezeigt (Sicherheitsaspekt). 
Weiterleitung zur \texttt{conector.php} Datei. Diese erschafft eine Verbindug zur Datenbank \texttt{supplier}. Bei der Weiterleitung werden aus den
den Textboxen der \glqq loginName\grqq~ und \glqq passwordErk\grqq~ mit übergeben. Diese Eingaben können leer oder gefüllt sein.
 \\ \hline \\
 \begin{lstlisting}[language=php]
    <?php
# Verbindung zur MySQL Datenbank supplier
# inkludierte Datenbank Verbindung 
include("DB_Connect/dbconnect.php");
#Uebergabe der Formulardaten (am besten verschluesselt)
$strLoginName = $_POST['loginName'];
$chPassword = $_POST['passwordErk'];
#Ueberpruefung der Datenbank ob dieser User vorhanden ist ??
# Wenn Ja komme zur LieferantenKatalog oder MitarbeiterKatalog (Auswertung)
# ! Wenn nein , dann wieder zurueck zum Login mit Anmerkung !
# Tabellen Selektion und Auswertung
# Verbindung zur MySQL Datenbank supplier
# inkludierte Datenbank Verbindung 
include("DB_Connect/dbconnect.php");
#Uebergabe der Formulardaten (am besten verschluesselt)
$strLoginName = $_POST['loginName'];
$chPassword = $_POST['passwordErk'];
#Ueberpruefung der Datenbank ob dieser User vorhanden ist ??
# Wenn Ja komme zur LieferantenKatalog oder MitarbeiterKatalog (Auswertung)
# ! Wenn nein , dann wieder zurueck zum Login mit Anmerkung !
# Tabellen Selektion und Auswertung
# Verbindung zur MySQL Datenbank supplier
# inkludierte Datenbank Verbindung 
include("DB_Connect/dbconnect.php");
#Uebergabe der Formulardaten (am besten verschluesselt)
$strLoginName = $_POST['loginName'];
$chPassword = $_POST['passwordErk'];
#Ueberpruefung der Datenbank ob dieser User vorhanden ist ??
# Wenn Ja komme zur LieferantenKatalog oder MitarbeiterKatalog (Auswertung)
# ! Wenn nein , dann wieder zurueck zum Login mit Anmerkung !
# Tabellen Selektion und Auswertung
# Verbindung zur MySQL Datenbank supplier
# inkludierte Datenbank Verbindung 
include("DB_Connect/dbconnect.php");
#Uebergabe der Formulardaten (am besten verschluesselt)
$strLoginName = $_POST['loginName'];  
$strLoginName = $_POST['loginName']; $\hookleftarrow$ 
$strLoginName = $_POST['loginName']; $\hookleftarrow$ 
$strLoginName = $_POST['loginName']; $\hookleftarrow$ 
$strLoginName = $_POST['loginName']; $\hookleftarrow$ 
$strLoginName = $_POST['loginName']; $\hookleftarrow$ 
$strLoginName = $_POST['loginName']; $\hookleftarrow$ 
    \end{lstlisting} \\

\end{supertabular}



\end{document}
Ja ich habe gehört das man für Quellcode auch extra ein Rahmen anlegen kann, ich will aber folgendes Muster haben :

|--------------------------|
| Fachtext |
----------------------------
| PHP Code |
| |
| |
/////////////////////////////////// erste Seite zu Ende, weiter auf 2 Seite
| |
| |
| |
| |
-----------------------------
| Bilddatei |
| |
-----------------------------

=> So will ich das realisieren, also eine Tabelle die Seitenumbrüche erlaubt in der ersten Zeile kommt Text, in der zweiten PHP Code
und in der letzen eine Bilddatei...

kann ich das so realisieren oder muss ich da einen anderen Weg einschalgen ??

lg

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Wie Elke bereits schrieb, dein Listing besteht für LaTeX aus nur einer einzigen Zeile und kann diese entsprechend auch nicht umbrechen.
Warum packst du das überhaupt in eine Tabelle?

Irgendwie hab ich das Gefühl, dass dich mdframed interessieren könnte.

Dein Minimalbeispiel ist übrigens nicht minimal.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Antworten