longtable mit kleiner Schrift und multirow Abständen

Tabellen und Grafiken erstellen und anordnen


kla4dj
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 92
Registriert: Mo 12. Sep 2011, 14:36

longtable mit kleiner Schrift und multirow Abständen

Beitrag von kla4dj »

Hallo,

ich versuche gerade mit meinem Halbwissen eine Longtabelle zu erstellen und es funktioniert einfach nicht. Prinzipiell bekomme ich es nicht hin:

- die Longtable in kleiner Schrift darzustellen
- In der multirow-Zelle bekomme ich es nicht hin, dass sich die Zelle an den Text anpasst
- \toprule funktioniert nicht

\documentclass[12pt,a4paper]{scrreprt}
\usepackage{multirow}
\usepackage{booktabs}

\usepackage{longtable}
\usepackage{array}
\usepackage{ragged2e}
\usepackage{lscape}
\usepackage{blindtext}


\begin{document}

\newcommand*{\tab}[1]{\textbf{#1}}

\begin{longtable}{p{2,8cm}p{0,9cm}|p{11cm}}

\caption{Technologische Anforderungen} \\
\label{tab:TA}
\centering
\scriptsize

%----------hier sollte eine toprule sein----------%
%\toprule


\tab{Anforderungsschlüssel} & TA 1 & \multirow{3}{\linewidth}{\tab{Anforderungssatz} \newline Bei gutem Wetter muss man in der Sonne liegen und ganz viel Eis essen - bis der Bauch braun und rund ist. \newline \newline \tab{Beschreibung} \newline \textit{\blindtext}\justifying} \\ 

\tab{Detaillierungs-ebene} & 1 & \\
\tab{Priorisierung} & E & \\ 
 
\bottomrule 

\tab{Anforderungsschlüssel} & TA 1 & \multirow{3}{\linewidth}{\tab{Anforderungssatz} \newline Bei gutem Wetter muss man in der Sonne liegen und ganz viel Eis essen - bis der Bauch braun und rund ist. \newline \newline \tab{Beschreibung} \newline \textit{\blindtext}\justifying} \\ 

\tab{Detaillierungs-ebene} & 1 & \\
\tab{Priorisierung} & E & \\ 
 
\bottomrule 

\tab{Anforderungsschlüssel} & TA 1 & \multirow{3}{\linewidth}{\tab{Anforderungssatz} \newline Bei gutem Wetter muss man in der Sonne liegen und ganz viel Eis essen - bis der Bauch braun und rund ist. \newline \newline \tab{Beschreibung} \newline \textit{\blindtext}\justifying} \\ 

\tab{Detaillierungs-ebene} & 1 & \\
\tab{Priorisierung} & E & \\ 
 
\bottomrule 


\end{longtable}


\end{document}

Noch so einer

Beitrag von Noch so einer »

Unmittelbar nach \begin{longtable}{…} befindest Du Dich bereits in der ersten Zelle. Damit sind Schriftgrößenbefehle dann natürlich auch lokal zu dieser Zelle. Wenn Du eine komplette Tabelle in einer anderen Schriftgröße setzen willst, musst Du die Schriftgröße vor der Tabelle umschalten. Das ist genau das gleiche, wie wenn Du einen ganzen Satz in einer anderen Schriftgröße setzen willst. Merke: Jede einzelne Tabellenzelle ist eine Gruppe.

Ebenso hast Du vermutlich die Verwendung von \multirow nicht ganz verstanden. Da man dort im ersten Argument angibt, wieviele Zeilen der Inhalt überspannen soll, kann sich das nicht an die Höhe des Inhalts anpassen. Sinnvoller wäre daher, den Teil, der eine statische Höhe hat, mit \mutlrow zu setzen und den Teil mit dynamischer Höhe einfach als Absatzzelle (p oder X). In Deinem Fall dürfte es aber sinnvoller sein, gar \multirow, sondern ggf. geschachtelte Tabellen zu verwenden.

Auch verstehe ich nicht, warum Du innerhalb einer Tabelle \botttomrule verwendest. Sinnvoll ist IMHO da nur \midrule.

Hier ein Beispiel, das auch tatsächlich unterschiedliche Textlängen in der rechten Spalte zeigt. Sind die Texte links von der senkrechten Linie unterschiedliche lang ist dort ggf. eine tabular*, eine tabularx oder die Verwendung von p-Spalten statt der l-Spalten durchaus sinnvoll.
\documentclass[12pt,a4paper]{scrreprt}
\usepackage{booktabs}
\usepackage{longtable}
\usepackage{blindtext}

\begin{document}

\newcommand*{\tab}[1]{\textbf{#1}}

{\scriptsize% Wir machen eine unlesbar kleine Tabelle, weil wir ohnehin nichts sinnvolles zu erzählen haben.
\begin{longtable}{l|p{10cm}}

\caption{Technologische Anforderungen}\label{tab:TA}\\
\toprule
\endfirsthead
\toprule
\endhead
\begin{tabular}[t]{@{}ll@{}}
\tab{Anforderungsschlüssel} & TA 1 \\
\tab{Detaillierungs-ebene} & 1 \\
\tab{Priorisierung} & E \\
\end{tabular} &
\tab{Anforderungssatz} \par 
Bei gutem Wetter muss man in der Sonne liegen und ganz viel Eis essen -- bis der Bauch braun und rund ist. \vskip\normalbaselineskip
\tab{Beschreibung} \par 
\textit{\blindtext} \\ 
 
\midrule 

\begin{tabular}[t]{@{}ll@{}}
\tab{Anforderungsschlüssel} & TA 1 \\
\tab{Detaillierungs-ebene} & 1 \\
\tab{Priorisierung} & E \\ 
\end{tabular} & 
\tab{Anforderungssatz} \par
Bei gutem Wetter muss man in der Sonne liegen und ganz viel Eis essen -- bis der Bauch braun und rund ist. \vskip\normalbaselineskip
\tab{Beschreibung} \par 
\textit{\blindtext[2]} \\ 

\midrule

\begin{tabular}[t]{@{}ll@{}}
\tab{Anforderungsschlüssel} & TA 1 \\
\tab{Detaillierungs-ebene} & 1 \\
\tab{Priorisierung} & E \\ 
\end{tabular} & 
\tab{Anforderungssatz} \par
Bei gutem Wetter muss man in der Sonne liegen und ganz viel Eis essen.
\\ 
 
\bottomrule 

\end{longtable}}


\end{document}
Der Kommentar bei \scriptsize ist durchaus nicht als Witz gemeint, sondern sollte Dir zu denken geben.

kla4dj
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 92
Registriert: Mo 12. Sep 2011, 14:36

Beitrag von kla4dj »

Danke @noch so einer! Prinzipiell ist es genau das, was ich suche.

Jedoch habe ich gerade gemerkt, wenn ich es in mein eigentliches Dokument einbinde, dass das longtable nicht wirklich umbricht (siehe Anhang) und Teile der Trennlinie fehlen. An was kann das liegen? Gibt es alternative Möglichkeiten, das Longtable darzustellen?

kla4dj
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 92
Registriert: Mo 12. Sep 2011, 14:36

Beitrag von kla4dj »

Habs rausgefunden. Das Problem liegt im arydshln Package. Scheinbar ist das nicht kompatibel mit dem longtable Package.

Besserwisser

Beitrag von Besserwisser »

Doch. Aber das Paket muss unbedingt nach `longtable` geladen werden. Siehe dazu auch Abschnitt 2.7 der [d]arydshln[/d]-Anleitung.

kla4dj
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 92
Registriert: Mo 12. Sep 2011, 14:36

Beitrag von kla4dj »

ich hatte das auch gesehen und probiert. ergab bei mir aber nicht den erhofften erfolg. eventuell bestehen weitere wechselwirkungen mit einem anderen package.

Antworten