Kein Zeilenumbruch in Tablelle mit tabularx

Tabellen und Grafiken erstellen und anordnen


sandman85
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mo 17. Jan 2011, 09:21

Kein Zeilenumbruch in Tablelle mit tabularx

Beitrag von sandman85 »

Hallo zusammen.
Ich bin ein ziemlicher Latex-Neuling und versuche gerade, meine Diplomarbeit damit zu schreiben. Als Umgebung verwende ich Miktex 2.9 und als Editor Texniccenter. Soweit komm ich auch ganz gut klar (dank google :)), nur hab ich gerade ein Problem mit einer Tabelle. Der Code sieht so aus:
\documentclass[a4paper,pdftex,oneside]{scrbook}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tabularx}
\begin{document}
\chapter{Grundlagen der numerischen Strömungssimulation}
\begin{table}
\centering
\begin{tabularx}{\textwidth}{|X|X|X|X|X|}
\hline
\multicolumn{2}{|X|}{\textbf{Körperkräfte}}&\multicolumn{3}{X|}{\textbf{Oberflächenkräfte}}\\
\hline
Schwerkraft&elektromag. Kräfte&Druckkraft&\multicolumn{2}{X|}{Reibungskräfte}\\
\hline
\multicolumn{2}{|X}{}&&Normalspannungskraft&Schubspannungskraft\\
\hline
\end{tabularx}
\label{tab:momforces}
\caption{Komponenten des Kraftvektors $\vec{F}$}
\end{table}
\end{document}
Ich hoff, ich hab das mit dem Minimalbeispiel richtig gemacht :)

Naja, auf jeden Fall is das, was dabei rauskommt (siehe Bild im Anhang) Nicht so ganz das, was ich mir vorstelle. Und zwar wird ich der dritten Zeile in den letzten beiden Spalten der Text nicht mehr umbrochen, weshalb er über die Zellen raussteht. Ich dachte eigentlich, dass der Sinn der tabularx Umgebung ist, dass in der "X" Zelle Text automatisch umbrochen wird. Ich hätte gerne eine Tabelle, wie in meinem Beispiel, nur eben, dass in den letzten beiden Zellen der Text auch automatisch umbrochen wird.
Könnt ihr mir da weiterhelfen?

Viele Grüße
Sandman
Dateianhänge
fehler.PNG
fehler.PNG (21.43 KiB) 3449 mal betrachtet

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

Du hast in der letzten Zeile ein "&" zuviel, durch den \multicolumn{2}-Befehl
\documentclass[a4paper,pdftex,oneside]{scrbook}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tabularx}
\begin{document}
\chapter{Grundlagen der numerischen Strömungssimulation}
\begin{table}
\centering
\begin{tabularx}{\textwidth}{|X|X|X|X|X|}
\hline
\multicolumn{2}{|X|}{\textbf{Körperkräfte}}&\multicolumn{3}{X|}{\textbf{Oberflächenkräfte}}\\
\hline
Schwerkraft&elektromag. Kräfte&Druckkraft&\multicolumn{2}{X|}{Reibungskräfte}\\
\hline
\multicolumn{2}{|X}{}&Normalspannungskraft&Schubspannungskraft\\
\hline
\end{tabularx}
\label{tab:momforces}
\caption{Komponenten des Kraftvektors $\vec{F}$}
\end{table}
\end{document} 
Gruß, Sepp

sandman85
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mo 17. Jan 2011, 09:21

Beitrag von sandman85 »

Hallo,
vielen Dank für die schnelle Antwort, doch leider wars das nicht.
Die zwei & in der letzten Zeile sollten eigentlich eine leere Zelle machen. Hab das jetzt mal ausgebessert und in die \multicolumn mit reingenommen. Doch leider ist das Ergebnis immer noch dasselbe :(

Aktualisierter Code:
\documentclass[a4paper,pdftex,oneside]{scrbook} 
\usepackage{ngerman} 
\usepackage[latin1]{inputenc} 
\usepackage[ngerman]{babel} 
\usepackage[T1]{fontenc} 
\usepackage{times} 
\usepackage{graphicx} 
\usepackage{amsmath} 
\usepackage{amssymb} 
\usepackage{tabularx} 
\begin{document} 
\chapter{Grundlagen der numerischen Strömungssimulation} 
\begin{table} 
\centering 
\begin{tabularx}{\textwidth}{|X|X|X|X|X|} 
\hline 
\multicolumn{2}{|X|}{\textbf{Körperkräfte}}&\multicolumn{3}{X|}{\textbf{Oberflächenkräfte}}\\ 
\hline 
Schwerkraft&elektromag. Kräfte&Druckkraft&\multicolumn{2}{X|}{Reibungskräfte}\\ 
\hline 
\multicolumn{3}{|X|}{}&Normalspannungskraft&Schubspannungskraft\\ 
\hline 
\end{tabularx} 
\label{tab:momforces} 
\caption{Komponenten des Kraftvektors $\vec{F}$} 
\end{table} 
\end{document} 

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

Bei mir siehts so aus (Anhang). Oder meinst Du etwas Anderes?

Gruß, Sepp.-[/img]
Dateianhänge
Bild 1.png
Bild 1.png (10.51 KiB) 3451 mal betrachtet

sandman85
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mo 17. Jan 2011, 09:21

Beitrag von sandman85 »

Ne, net ganz.
Die Zellen "Normalspannungskraft" und "Schubspannungskraft" sollten zusammen unter der Zelle "Reibungskräfte" stehen. Deswegen is "Reibungskräfte" auch als Multicolumn angelegt:
\multicolumn{2}{X|}{Reibungskräfte}
Nur leider macht er eben in den beiden o.g. Zellen keinen Zeilenumbruch, sondern schreibt über die Zelle hinaus...

Grüße
Sandman

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

Warum machst Du dann 5 Spalten, wenn Du nur 4 benötigst? Im übrigen wäre das mit einer "einfachen" Tabellenumgebung auch zu machen. Ich habe dein Beispiel noch einmal adaptiert:
\listfiles
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tabularx}
\begin{document}
\chapter{Grundlagen der numerischen Strömungssimulation}
\begin{table}
\centering
\begin{tabularx}{\textwidth}{|X|X|X|X|}
\hline
\multicolumn{2}{|X|}{\textbf{Körperkräfte}}&\multicolumn{2}{X|}{\textbf{Oberflächenkräfte}}\\
\hline
Schwerkraft&elektromag. Kräfte&Druckkraft&Reibungskräfte\\
\hline
\multicolumn{3}{|X|}{}&Normalspannungskraft Schubspannungskraft\\
\hline
\end{tabularx}
\label{tab:momforces}
\caption{Komponenten des Kraftvektors $\vec{F}$}
\end{table}
\end{document} 
Vertikale Linien in Tabellen sind nicht unbedingt schön.

Gruß, Sepp.-

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

Nachtrag:
Ich würde die Tabelle normalerweise so anlegen
\listfiles
\documentclass[a4paper,oneside]{scrbook}
%\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{booktabs}
\usepackage{blindtext}

\begin{document}
\chapter{Grundlagen der numerischen Strömungssimulation}
\blindtext

\begin{table}[htb]
\captionabove{Komponenten des Kraftvektors $\vec{F}$}
\centering
\begin{tabular}{llll} \toprule		%p{3cm}p{3cm}p{3cm}p{3cm}
	\multicolumn{2}{l}{\textbf{Körperkräfte}} & \multicolumn{2}{l}{\textbf{Oberflächenkräfte}} \\	\midrule
	Schwerkraft & elektromag. Kräfte & Druckkraft & Reibungskräfte \\ \cmidrule(r){4-4}
	& & & Normalspannungskraft \\
	& & & Schubspannungskraft \\
	\bottomrule
\end{tabular}
\label{tab:momforces}

\end{table}

\blindtext

\end{document} 
Gruß, Sepp.-

sandman85
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mo 17. Jan 2011, 09:21

Beitrag von sandman85 »

Hmm... Also, so wirklich passt das immer noch net...
Zum einen wird in der letzten Zelle immer noch nicht passend umbrochen (Siehe Bild Fehler2.png im Anhang) und zum Anderen brauch ich schon die 5 Spalten, damit das Ganze so sortiert ist, wie ich mir das eingebildet hab :)
Ich habs mal schnell die Tabelle im Schreibprogramm eines bekannten, kommerziellen Office-Paketes (:)) erstellt, so wie ich mir das in etwa vorstell Siehe Bild Tabelle_Soll.png im Anhang. Nur, dass hier halt die Silbentrennung überhaupt nicht passt, aber das ist ja erstmal wurst... Das muss doch so (nur in besser :)) in Latex auch irgendwie gehn, oder?

Desweiteren hab ich mir mal deine Anmerkung mit den vertikalen Linien zu Gemüte geführt, und ich glaub du hast recht... Sieht wirklich besser aus. Aber ich würd gern erstmal die Tabelle selbst so hinbekommen...

Sorry, dass ich so lang nerv, aber ich kann mir einfach nicht vorstellen, dass das nicht funktioniert...
Dateianhänge
fehler2.PNG
fehler2.PNG (20.59 KiB) 3406 mal betrachtet
Tabelle_Soll.PNG
Tabelle_Soll.PNG (5.92 KiB) 3458 mal betrachtet

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

OK - neuer Versuch: LaTeX kann die beiden Worte scheinbar nicht trennen, deshalb mußt Du es unterstützen mit "Sollbruchstellen".
\listfiles
\documentclass[a4paper,pdftex,oneside]{scrbook}
%\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tabularx}
\begin{document}
\chapter{Grundlagen der numerischen Strömungssimulation}
\begin{table}
\centering
\begin{tabularx}{\textwidth}{|X|X|X|X|X|}
\hline
\multicolumn{2}{|X|}{\textbf{Körperkräfte}}&\multicolumn{3}{X|}{\textbf{Oberflächenkräfte}}\\
\hline
Schwerkraft&elektromag. Kräfte & Druckkraft & \multicolumn{2}{|c|}{Reibungskräfte}\\
\hline
\multicolumn{3}{|X|}{}&Normal\-spannungs\-kraft & Schub\-spannungs\-kraft\\
\hline
\end{tabularx}
\label{tab:momforces}
\caption{Komponenten des Kraftvektors $\vec{F}$}
\end{table}
\end{document} 
Gruß, Sepp.-

sandman85
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mo 17. Jan 2011, 09:21

Beitrag von sandman85 »

Suuuuuper... Vielen Dank!
Jetz schauts so aus, wie ich mir das vorgestellt hab :)

Nur einen kleinen Schönheitsfehler gibts noch. Hier ein kurzer Auszug aus der Logdatei:
Overfull \hbox (15.20139pt too wide) in paragraph at lines 24--24
[]|\T1/ptm/b/n/10.95 Oberflächenkräfte|
[]


Underfull \hbox (badness 10000) in paragraph at lines 24--24
[]|\T1/ptm/m/n/10.95 elektromag.
[]


Underfull \hbox (badness 10000) in paragraph at lines 24--24
[]|\T1/ptm/m/n/10.95 Normal-
[]


Underfull \hbox (badness 10000) in paragraph at lines 24--24
[]|\T1/ptm/m/n/10.95 Schub-
[]
Kann man da noch was gegen machen?

Grüße
Sandman

Antworten