PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Multicolumn und darin Zeilenumbruch



Darkwing
05-01-2007, 17:20
Hi, habe schon die FS bemüht, aber leider dieses Problem so nicht gefunden und daher auch keine Lösung.

Ich habe eine 5-spaltige Tabelle, die zusammen ungefähr eine DINA4-Seite breit ist. Die Einträge in den Zellen sind alle nicht sehr lang, einen Zeilenumbruch provoziere ich nicht.
Allerdings möchte ich in der letzten Zeile eine Legende einfügen, in der die eingetragenen Werte der Tabelle erklärt werden (Werte von 1-3 für verschiedene Spalten und deren Bedeutung).
Das Problem ist, dass der Inhalt der letzten Zeile sehr lang ist und deshalb über den Seitenrand hinaus geht. Wie bekommt man innerhalb eines \multicolumn{TEXT} einen Zeilenumbruch hin? Ich weiß, ich könnte einfach eine neue Zeile einfügen, aber das sieht etwas blöd aus, weil ich die Zeilenhöhe vergrößert habe...



\usepackage{array}
\begin{document}
\renewcommand\arraystretch{2.25}
\begin{table}[htb!]\centering
\begin{tabular}{|c|c|c|c|c|}
\hline
bla&bla&bla&bla&bla\\
bla&bla&bla&bla&bla\\
bla&bla&bla&bla&bla\\\hline
\multicolumn{5}{|c|}{Ultralanger Text, der nicht so einfach in eine Zeile passt und der eigentlich über mehrere Zeilen gebrochen werden müsste und so weiter und so fort sabbel bla}
\end{tabular}
\end{table}
\end{document}


Ich hoffe, mein Problem ist einigermaßen verständlich geworden. Bin etwas gestresst, versuche schon seit Stunden dieses Problem zu lösen, der Latex-Begleiter schlüsselt dies auch nicht wirklich auf.

sofa-surfer
05-01-2007, 17:53
Hallo,

sowas in diese Richtung vielleicht?


\documentclass{scrartcl}
\usepackage{tabularx,calc}

\begin{document}
\renewcommand\arraystretch{2.25}
\begin{table}[htb!]\centering
\begin{tabularx}{\textwidth}{|*{5}{>{\centering\arraybackslash}X|}}
\hline
bla&bla&bla&bla&bla\\
bla&bla&bla&bla&bla\\
bla&bla&bla&bla&bla\\\hline
\multicolumn{5}{|p{\textwidth-2\tabcolsep}|}{Ultralanger Text, der nicht so einfach in eine Zeile passt und der eigentlich über mehrere Zeilen gebrochen werden müsste und so weiter und so fort sabbel bla}
\end{tabularx}
\end{table}
\end{document}

Matthias

Darkwing
05-01-2007, 19:04
Wow, vielen Dank, Matthias!! Genau das habe ich gesucht. Endlich kanns weitergehen mit der DA... ;)

metman
20-03-2007, 13:28
Hallo Leute,

wie mach ich das wenn ich an einer bestimmten stelle des textes im multicolumn oder multirow nen zeilenumbruch möchte?
Ich verzweifel gerade. Habe den Code von oben benutzt.

gruß

edit : achja, der text sollte immer zentriert sein

countbela666
20-03-2007, 14:23
\newline?

Grüße
Marcel

metman
20-03-2007, 14:33
Hallo Marcel,

lol. Nun hats funktioniert...aber mein Problem ist, es ist linksbündig. Ich brauchs aber leider zentriert :(

gruß

countbela666
21-03-2007, 06:46
mehrere Möglichkeiten:

[1] ein \centering in jede Zelle
[2] >{\centering}p{...} als Spaltendefinition
[3] eigener Spaltentyp (z. B. \newcolumntype{C}[1]{>\centering}p{#1})

(2 und 3 benötigen Paket array)

Grüße
Marcel

Rotebeetesalat
17-07-2009, 10:53
Also ich habe das selbe Problem aber bei mir funktioniert der oben genannte Code nicht. Irgendwo habe ich scheinbar einen Fehler




\begin{table}[htp]
\tiny
\centering
\caption{Leiterplattenmatierialien (auch Flex)}
\label{tab:leiterp}
\begin{tabularx}{\textwidth}{|*{9}{>{\centering\arraybackslash}X|}}
Materialtyp & Polymer & Epoxid & Hoch $T_g$ Epoxid & Polyimid&Bismaleimid Triazin & Keramik gefülltes Polymer & Polyimidfolie & LCP\\
\multicolumn{2}{|p{\textwidth-2\tabcolsep}|}{Ausdehnungskoeffizient in x/y-Richtung [$\frac{ppm}{K}$]} & 17/12 & 17/11 & 17/14 & 30-40 & 11/14&16 - 24 & 17\\
\end{tabularx}
\end{table}


Aber irgendwie bekomme ich dann die Fehlermeldungen:

Missing number, treated as zero.

und

Illegal unit of measure (pt inserted)

mechanicus
17-07-2009, 11:08
Hallo,

Ein Minimalbeispiel enthält auch die relevanten Pakete. Zudem ist deine p-Spalte etwas breit:

\documentclass{scrartcl}
\usepackage{array,ragged2e}
\usepackage{tabularx,calc}
\begin{document}
\begin{table}[htp]
\tiny
\centering
\caption{Leiterplattenmatierialien (auch Flex)}
\label{tab:leiterp}
\begin{tabularx}{\textwidth}{|*{9}{>{\Centering}X|}}
Materialtyp & Polymer & Epoxid & Hoch $T_g$ Epoxid & Polyimid & Bismaleimid Triazin & Keramik gefülltes Polymer & Polyimidfolie & LCP\\
\multicolumn{2}{|p{2\columnwidth/9-2\tabcolsep}|}{Ausdehnungskoeffizient in x/y-Richtung [$\frac{ppm}{K}$]} & 17/12 & 17/11 & 17/14 & 30-40 & 11/14&16 - 24 & 17\\
\end{tabularx}
\end{table}

\end{document}

Gruß
Marco

Rotebeetesalat
17-07-2009, 11:22
Hallo,

danke für die schnelle Hilfe, funktioniert super.

Sorry war mir nicht sicher welche Pakete überhaupt relevant sind.