Tabelle: manueller Zeilenumbruch UND zentrierte Ausrichtung

Tabellen und Grafiken erstellen und anordnen


mamboam
Forum-Anfänger
Forum-Anfänger
Beiträge: 17
Registriert: Sa 27. Sep 2014, 12:54

Tabelle: manueller Zeilenumbruch UND zentrierte Ausrichtung

Beitrag 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

Noch so einer

Beitrag 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.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag 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

mamboam
Forum-Anfänger
Forum-Anfänger
Beiträge: 17
Registriert: Sa 27. Sep 2014, 12:54

Beitrag von mamboam »

Danke für deine Hilfe, esdd!
Es hat geklappt :)

Antworten