Seite 1 von 1

Tabelle: manueller Zeilenumbruch UND zentrierte Ausrichtung

Verfasst: Di 4. Nov 2014, 12:20
von mamboam
Hallo,

ich benutze das package
\usepackage{tabularx}

Und möchte in meiner Tabelle eine zentrierte Ausrichtung und gleichzeitig einen manuellen Zeilenumbruch innerhalb einer Zelle.

Wenn ich "c" statt "p" benutze hab ich eine zentrierte Ausrichtung, doch leider kann ich dann keinen manuellen Zeilenumbruch einfügen.
Wenn ich "p" benutze, hab ich meinen manuellen Zeilenumbruch, doch leider keine zentrierte Ausrichtung.

Wie kann ich gleichzeitig einen manuellen Zeilenumbruch einfügen und den Text in allen Zellen zentriert ausrichten?

\begin{table}
	\centering
\begin{tabular}{|p{2 cm}|p{4 cm}|p{4 cm}|}
	\hline \textbf{Überschrift 1} & \textbf{Überschrift 2} & \textbf{Überschrift 3} \\ 
	\hline 1 & Erste Zeile \newline Zweite Zeile & Letzte Spalte \\ 
	\hline 2 & Erste Zeile \newline Zweite Zeile & Letzte Spalte \\ 
	\hline 3 & Erste Zeile \newline Zweite Zeile & Letzte Spalte \\ 
	\hline 
\end{tabular} 
\caption{Neue Tabelle}
\label{tbl:tab_1}  
\end{table}
Danke

Verfasst: Di 4. Nov 2014, 14:14
von Noch so einer
Man kann natürlich \centering etc. auch in p-Spalten verwenden. Am besten nimmt man dafür das array-Paket. Beachte in dessen Anleitung auch unbedingt den Hinweis auf \tabularnewline und \arraybackslash.

Verfasst: Di 4. Nov 2014, 17:03
von esdd
Da das Paket tabularx sowieso auch array lädt, kannst Du Dir einfach eine Spaltenform definieren.

Mit \arraybackslash und \linebreak für den manuellen Umbruch in einer Zelle:
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}% lädt auch array

\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\begin{document}
\begin{table} 
    \centering 
\begin{tabular}{|p{3cm}|C{4 cm}|p{4 cm}|} 
    \hline \textbf{Überschrift 1} & \textbf{Überschrift 2} & \textbf{Überschrift 3} \\ 
    \hline 1 & Erste Zeile \linebreak Zweite Zeile & Letzte Spalte \\ 
    \hline 2 & Erste Zeile \linebreak Zweite Zeile & Letzte Spalte \\ 
    \hline 3 & Erste Zeile \linebreak Zweite Zeile & Letzte Spalte \\ 
    \hline 
\end{tabular} 
\caption{Neue Tabelle} 
\label{tbl:tab_1}   
\end{table}
\end{document}
Alternativ ohne \arraybackslash, dann muss allerdings \tabularnewline am Ende einer Tabellenzeile verwendet werden.
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}% lädt auch array

\newcolumntype{C}[1]{>{\centering}p{#1}}
\begin{document}
\begin{table} 
    \centering 
\begin{tabular}{|p{3 cm}|C{4 cm}|p{4 cm}|} 
    \hline \textbf{Überschrift 1} & \textbf{Überschrift 2} & \textbf{Überschrift 3} \tabularnewline 
    \hline 1 & Erste Zeile \\ Zweite Zeile & Letzte Spalte \tabularnewline
    \hline 2 & Erste Zeile \\Zweite Zeile & Letzte Spalte \tabularnewline 
    \hline 3 & Erste Zeile \\ Zweite Zeile & Letzte Spalte \tabularnewline 
    \hline 
\end{tabular} 
\caption{Neue Tabelle} 
\label{tbl:tab_1}   
\end{table}
\end{document}
Siehe auch Was ist der Unterschied zwischen \\, \newline und \linebreak?.

Gruß
Elke

Verfasst: Mi 5. Nov 2014, 21:55
von mamboam
Danke für deine Hilfe, esdd!
Es hat geklappt :)