PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : multirow in supertabular nutzen



roadrunner87
03-06-2012, 19:40
Hallo,
ich versuche gerade in einer Tabelle, welche ich mit supertabular erstellt habe, mehrere zeilen zusammenzufassen. Das funktioniert auch ziemlich gut nur dass es nicht umbricht.

Habe hier mal einen Auschnitt meiner Tabelle:




...

Text & Text & \multirow{3}{8cm}{sehr langer text}
& Text \\\cline{1-2}


Text & Text & Text & Text \\\cline{1-2}

Text & Text% & Text & Text \\\cline{1-2}

...



Gibt es ein spezielles multirow für supertabular?

Danke.

mechanicus
03-06-2012, 21:33
Gibt es ein spezielles multirow für supertabular?

Nein

Marco

roadrunner87
03-06-2012, 22:13
Was mache ich dann genau falsch?
Oder geht das einfach nicht?

rstuby
04-06-2012, 06:46
Keiner hat Lust, aus deinem Schnippsel ein Minimalbeispiel zu basteln, um es ausprobieren zu können. Aber wenn du uns eins gibst, kommt vielleicht wer darauf, was falsch ist und was man machen kann.

roadrunner87
05-06-2012, 08:35
Anbei das Minimalbeispiel:




\documentclass[
11pt, % Schriftgröße
DIV10,
ngerman, % für Umlaute, Silbentrennung etc.
a4paper, % Papierformat
oneside, % einseitiges Dokument
titlepage, % es wird eine Titelseite verwendet
parskip=half, % Abstand zwischen Absätzen (halbe Zeile)
headings=normal, % Größe der Überschriften verkleinern
listof=totoc, % Verzeichnisse im Inhaltsverzeichnis aufführen
bibliography=totoc, % Literaturverzeichnis im Inhaltsverzeichnis aufführen
index=totoc, % Index im Inhaltsverzeichnis aufführen
captions=tableheading, % Beschriftung von Tabellen unterhalb ausgeben
final % Status des Dokuments (final/draft)
]{report}


\usepackage{supertabular}
\usepackage{array}
\usepackage{ragged2e}
\usepackage{colortbl}
\usepackage{lscape}
\usepackage{pdflscape}
\usepackage{multicol}
\usepackage{multirow}


\begin{document}

\begin{landscape}
\tablehead
{
% Header
\hline
\rowcolor{gray}
\textbf{Spalte A}
& \textbf{Spalte B}
& \textbf{Spalte C}
& \textbf{Spalte D} \\\hline \hline
}


\centering
\begin{supertabular} {|p{7cm}|p{6cm}|p{8cm}|c|}

\multicolumn{4}{|l|}{\cellcolor{gray}\textbf{Über alle Spalten)}} \\\hline

Text & Text & \multirow{3}{8cm}{sehr langer text}
& Text \\\cline{1-2}


Text & Text & Text & Text \\\cline{1-2}

Text & Text% & Text & Text \\\cline{1-2}

\end{supertabular}
\end{landscape}

\end{document}



Ich hoffe das ich nichts vergessen habe.

hakaze
05-06-2012, 09:27
Wenn genug Text (nicht nur 3 Worte) in der 8 cm breiten Spalte ist, wird er auch umgebrochen:
\documentclass[
11pt, % Schriftgröße
a4paper, % Papierformat
oneside, % einseitiges Dokument
titlepage, % es wird eine Titelseite verwendet
final % Status des Dokuments (final/draft)
]{report}

\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{supertabular}
\usepackage{array}
\usepackage{ragged2e}
\usepackage{xcolor,colortbl}
\usepackage{lscape}
\usepackage{pdflscape}
\usepackage{multicol}
\usepackage{multirow}


\begin{document}

\begin{landscape}
\tablehead
{
% Header
\hline
\rowcolor{gray}
\textbf{Spalte A}
& \textbf{Spalte B}
& \textbf{Spalte C}
& \textbf{Spalte D} \\\hline \hline
}


\centering
\begin{supertabular} {|p{7cm}|p{6cm}|p{8cm}|c|}

\multicolumn{4}{|l|}{\cellcolor{gray}\textbf{Über alle Spalten)}} \\\hline

Text & Text & \multirow{3}{8cm}{Dieser sehr lange Text ist eigentlich noch sehr kurz. Deshalb wird er um einige Worte erweitert und damit schon deutlich länger.}
& Text \\\cline{1-2}


Text & Text & & Text \\\cline{1-2}

Text & Text & & Text \\\cline{1-2}

\end{supertabular}
\end{landscape}

\end{document}

roadrunner87
05-06-2012, 10:57
Danke für deine Antwort.
Aber bei mir geht es über die Tabelle raus.
Wenn ich den Text ohne multirow schreibe funktioniert das nur wenn ich über die 6 Zeilen den Text schreibe, dann bricht er nicht um (nur die einzelnen Zeilen sind auf der nächsten Seite, der Text über die sechs Zeilen aber nicht)

rstuby
05-06-2012, 11:21
Komisch, bei mir wird der Text in Hakazes Beispiel auch umgebrochen (wenn ich die fehlende schließende geschweifte Klammer dahinter und das \end{document} am Ende wieder ergänze).

Ich benutze gerade Miktes 2.9 unter WinXP. Soll ich es heute Abend noch mal unter texlive ausprobieren?

hakaze
05-06-2012, 11:27
@rstuby: Danke für den Hinweis. Da hat wohl die copy-paste-Magie nicht richtig funktioniert ;) Ich habe das oben mal verbessert.

@roadrunner: Poste mal bitte ein Beispiel, wo genau das auftritt. Die Beschreibung allein ist zur Fehlersuche wenig hilfreich.

roadrunner87
05-06-2012, 12:39
Ich habe das jetzt auch nochmal getestet und es funktioniert nicht.
Ich habe anstelle "das ist ein langer text" diesen mehrfach kopiert und hintereinander eingefügt.
Er schneidet jetzt ab und bricht nicht in die nächste Seite um!

rstuby
05-06-2012, 12:56
Also dein Beispiel unterscheidet sich ja durch hakezes Beispiel auch dadurch, dass hakaze noch \usepackage{xcolor} geladen hat (sonst gibt es einen Fehler wegen der grauen Farbe) UND vor allen Dingen sehen die nächsten beiden Tabellenzeilen bei hakaze so aus:

Text & Text & & Text \\\cline{1-2}

Text & Text & & Text \\\cline{1-2}

Also die Zeilen sind zu Ende geführt, und in der dritten Spalte ist jeweils KEIN "Text". Dann überschneidet sich auch nichts.

Falls Hakazes Beispiel bei dir wirklich keinen Umbruch bringt, zeig mal dein logfile.

roadrunner87
05-06-2012, 13:07
Im log File steht ganau an der Stelle, wo das Problem auftritt overfull \vbox (98.0pt too hight) detected at line 177

hakaze
05-06-2012, 13:14
Ich glaube, hier liegt ein Missverständnis vor; rstuby und ich reden von Zeilenumbrüchen. Du möchtest aber Seitenumbrüche?

Ich glaube, innerhalb einer Tabellenzelle, egal ob mit multirow oder ohne, kann LaTeX keine Seitenumbrüche erzeugen. Das geht lediglich nach vollständigen Zellen/Zeilen.

Du musst da vielleicht überlegen, ob du nicht den Text dann per Hand "umbrechen" willst, sprich: auf mehrere Zellen verteilst.

roadrunner87
05-06-2012, 13:18
Ja ich meinte einen Umruch auf die nächste Seite innerhalb einer Zelle.
Ahh ok.
Kann man das auch nicht irgendwie hinbekommen. Oder dann nur händisch.

Dennoch danke

rstuby
05-06-2012, 14:16
Ach so! Ja, aus dem Text von #7 und #10 hätte man das auch entnehmen können, aber da das MB keinerlei Seitenende in der Nähe des Multirows hatte, bin ich nicht auf die Idee gekommen. sorry...

roadrunner87
21-06-2012, 15:20
Geht das nicht anders?