PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : tabular: in einer Zelle zwei Zeilen



Tobe
25-07-2007, 15:17
Hallo,
ich habe eine tabular und möchte innerhalb einer zelle 2 Wörter untereinanderschreiben. Wie mache ich innerhalb einer Zelle einen Zeilenumbruch?

Gnihilo
25-07-2007, 16:36
Moin,

am einfachsten so:



\documentclass{scrreprt}

\usepackage{booktabs}

\begin{document}

\begin{tabular}{lll} \toprule
Spalte 1&Spalte 2&Spalte 3\\ \midrule
einzeiliger Text&zweizeiliger&einzeiliger Text\\
anderer Text&Text&anderer Text\\ \bottomrule
\end{tabular}

\end{document}


Gruß Jonas.

Tobe
25-07-2007, 17:12
Vom Prinzip sind das doch einfach nur 2 zeilen?! So hab ichs jetzt auch gemacht.
Dachte nur da gibts nen neue-Zeile-Befehl für ne Zelle.

Gnihilo
25-07-2007, 17:33
Dachte nur da gibts nen neue-Zeile-Befehl für ne Zelle.

Dafür gibt es den Parameter "p{breite}". Dann wird Text im Blocksatz mit einer bestimmten Breite gesetzt und ein automatischer (oder mit \newline ein manueller) Zeilenumbruch durchgeführt.



\documentclass{scrreprt}

\usepackage{booktabs}

\begin{document}

\begin{tabular}{lp{3cm}l} \toprule
Spalte 1&Spalte 2&Spalte 3\\ \midrule
einzeiliger Text&zweizeiliger \newline Text&einzeiliger Text\\
anderer Text&anderer Text&anderer Text\\ \bottomrule
\end{tabular}

\end{document}


Gruß J.

Gögi
18-01-2008, 09:43
Ich greife hier ein ziemlich alter Thema wieder auf aber ich habe dazu noch eine kleine Frage:
Die Lösung von Gnihilo gefällt mir eigetnlich nicht schlecht. Wenn ich aber die Spalten breite mit p{3.5cm} definiere, wird der Text in den Spalten dann automatisch Blocksatz. Gibt es auch eine Möglichkeit, dass die Spalte dann links- oder rechtsbündig oder sogar zentriert dargestellt wird? Konkret sollte eben eine Tabelle rauskommen, die in der ersten Zeile etwas mehr Text hat und dann jeweils untendrann nur noch Zahlen (die sollten dann eben zentriert sein) stehen. Hier ein Minimalbeispiel
\documentclass [ a4paper] {scrartcl}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{graphicx}
\usepackage{pslatex}
\usepackage{times}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{array}
\usepackage{hhline}
\usepackage{eurosym}
\usepackage[T1]{fontenc}
\usepackage{amsmath}

\begin{document}

\begin{table}
\caption{\bf Vergleich von Frauen}
\vspace{2mm}
\begin{tabular}{|l |p{3.5cm} |p{3.5cm}| p{3.5cm}| }\hline
& arbeitstätige Frauen & Frauen von Männern die AVAB geltend machen & Differenz signifikant von Null veschieden \\ \hline
Alter & 39.31749 & 38.86694 &Ja \\
Lohn & 12060.97 & 6098.538 & Ja\\
Erfahrung &4423.342 & 3448.927 &Ja \\
Anzahl Kinder & 1.518221 & 1.706457 & Ja\\ \hline\hline

\end{tabular} \\[0.5ex]
\emph{Quelle:} Eigene Berechnungen
\end{table}

\end{document}

bin um Tipps dankbar

rais
18-01-2008, 17:42
Moin moin,

Gibt es auch eine Möglichkeit, dass die Spalte dann links- oder rechtsbündig oder sogar zentriert dargestellt wird?
da Du das array-Paket bereits lädst:


\usepackage{ragged2e}%rechts- und linksbündig auch mit Umbruch
\newcolumntype{R}[1]{>{\RaggedLeft\arraybackslash}p{#1}}%rechtsbündig
\newcolumntype{L}[1]{>{\RaggedRight\arraybackslash}p{#1}}%linksbündig

und dann entsprechend L{..} bzw. R{..} statt p{..} in der Spaltendeklaration verwenden.
MfG,

Gögi
21-01-2008, 10:56
wow, vielen Dank, das ist schon mal top!
Aber gibt es auch eine Möglichkeit um zentrierte Spalten zu erstellen?

Gruss
Sven

sofa-surfer
21-01-2008, 11:57
wow, vielen Dank, das ist schon mal top!
Aber gibt es auch eine Möglichkeit um zentrierte Spalten zu erstellen?

Gruss
Sven

Naja, man ersetze einfach \RaggedRight bzw. \RaggedLeft mit \Centering ;)

Matthias

Gögi
21-01-2008, 13:44
ok, ich gebs ja zu, darauf hätte man(n) selbst kommen können...;) bin halt noch ein wirkliches Greenhorn mit LaTex und daher noch nicht so selbstständig...

Jedenfalls vielen Dank für die Hilfe, klappt hervorragend :)