Longtable: mehrere Zeilen in einer Zelle der Tabelle

Neue Frage »

bloodybeginner Auf diesen Beitrag antworten »
Longtable: mehrere Zeilen in einer Zelle der Tabelle
Meine Frage:
Ich weiss, dass dieses Thema sehr oft angesprochen wurde, jedoch habe ich leider keine Lösung bei Google gefunden.

Ich erstelle ein longtable (da mit normalen Tabellen die Tabelle immer wieder auf die andere Seite verrutscht war) und möchte, dass die Überschriften in der Tabelle über zwei Zeilen gehen, weil ich bei einer Überschrift:

Bezeichnung A /
Bezeichnung B

haben möchte. Mit einem ganz normalen Zeilenumbruch hat es nicht geklappt, und somit wären auch die zweiten Zeilen der anderen Überschriften leer, und somit nicht mittig, was aber bei Überschriften gewünscht ist.

Meine Ideen:
\documentclass[a4paper,12pt]{article}

\usepackage[utf8x]{inputenc}
\usepackage{amsfonts,amsmath,amssymb}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{multirow}
\usepackage{array}

\begin{document}

\begin{longtable}[c]{|m{2mm}*{6}{|c}|}
\caption{Eine Beispieltabelle}\\ \hline
\endhead
\label{bsp:tabelle}\smallskip
Nr. & Bezeichnung A / Bezeichnung B & Überschrift 3 & Überschrift 4 & Überschrift 5 & Überschrift 6 & Überschrift 7\\ \hline
text & text & text & text & text & text & text\\ \hline
text & text & text & text & text & text & text\\ \hline
\end{longtable}


\end{document}
Calvin Auf diesen Beitrag antworten »
RE: Longtable: mehrere Zeilen in einer Zelle der Tabelle
Du brauchst eine p-Spalte. Bei dieser musst du aber leider eine feste Breite angeben. Da musst du ein bisschen mit den Werten spielen.

Den Zeilenumbruch machst du dann mit dem Befehl \newline.

Hier mal ein Beispiel, das die p-Spalte gleichzeitig zentriert wird

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
\documentclass[a4paper,12pt]{article}

 \usepackage[utf8x]{inputenc}
 \usepackage{amsfonts,amsmath,amssymb}
 \usepackage[ngerman]{babel}
 \usepackage[T1]{fontenc}
 \usepackage{graphicx}
 \usepackage{longtable}
 \usepackage{multirow}
 \usepackage{array}

 \begin{document}

 \begin{longtable}[c]{|m{2mm}|>{\centering\arraybackslash}p{3.2cm}*{5}{|c}|}
 \caption{Eine Beispieltabelle}\\ \hline
 \endhead
 \label{bsp:tabelle}\smallskip
 Nr. & Bezeichnung A /\newline Bezeichnung B & Überschrift 3 & Überschrift 4 & Überschrift 5 & Überschrift 6 & Überschrift 7\\ \hline
 text & text & text & text & text & text & text\\ \hline
 text & text & text & text & text & text & text\\ \hline
 \end{longtable}


 \end{document}
 
 
bloodybeginner Auf diesen Beitrag antworten »

Hallo,

vielen Dank für die Rückmeldung. Kannst du mir vielleicht sagen, was in diesem Befehl:
>{\centering\arraybackslash}

das > Zeichen auf sich hat? \arraybackslash?


Ich habe den Lösungsansatz jetzt ausprobiert, sollte es so rauskommen:


Bezeichnung A/ Bezeichnung 2 Bezeichnung 3 ,,,,,
Bezeichnung B

Also die nächsten Bezecihnungen sind dann in der oberen Zeile zentriert, kann das iwie modifiziert werden, dass sie komplett in der Zelle der Tabelle zentriert werden?
Calvin Auf diesen Beitrag antworten »

Ich habe jetzt mehrfach gelesen, dass m-Spalten vertikal zentrierten Inhalt haben. Ich kriege es aber nicht hin. Weitere Möglichkeiten habe ich nicht finden können. Vielleicht hat jemand anderes eine Idee.

Zitat:
Original von bloodybeginner
>{\centering\arraybackslash}

das > Zeichen auf sich hat? \arraybackslash?


Der > fügt dem Spaltentyp zusätzliche Informationen hinzu. In diesem Fall z.B. dass es horizontal zentriert werden soll.

Bezüglich \arraybackslash zitiere ich mal aus dem Buch "Tabellen mit LaTeX" von Herbert Voß
Zitat:
\arraybackslash definiert den standardmäßigen Befehl für einene Tabellenzeilenumbruch, den Doppelbackslash \\, neu. Dieser hätte sonst bei gleichzeitiger Anwendung eines der Formatierungsmakros \raggedright, \raggedleft oder \centering ohne \arraybackslash in sogenannten p-Spalten nicht mehr seine ursprüngliche Bedeutung.
Für eine neue Zeile in einer Spalte benutzt man dann \newline und für eine neue Tabellenzeile dann \\ oder alternativ das Makro \tabularnewline
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »