PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Inhalte von Spalten mit p{} zentrieren



vmaexchen
17-04-2005, 15:41
Hallo,

ich habe in einer Tabelle die Spalten mit p{Länge} definiert, damit der Text darin umbricht. Leider ist der Text linksbündig. Ich benötige in zentriert.

Nun habe ich nachgeforscht und herausgefunden, dass man das mittels
\centering}p{2.2cm} macht. Leider bekomme ich immer wieder Fehler, sobald ich diesen Befehl beim Definieren der letzten Spalte anwende. So funktioniert es:


\begin{table}[hbtp]
\centering
\begin{tabular}{|>{\centering}p{2.2cm}|p{2.2cm}|}
Test1 & Test2 \\
\hline
1 & 2 \\
\end{tabular}
\caption[Test]{Test}
\label{tab:Test}
\end{table}

Wenn ich nun die zweite Spalte auch mittels >{\centering}p{2.2cm} zentrieren möchte erhalte ich immer wieder Fehler.

Wisst ihr Rat?

Gruß
vmaexchen

vmaexchen
17-04-2005, 17:05
Hallo,

ich habe des Rätsels Lösung nun nach laaaangem Forschen herausgefunden. Man muss anstatt des \\ zwingend ein \tabularnewline am Zeilenende verwenden. Also so:


\begin{table}[hbtp]
\centering
\begin{tabular}{|>{\centering}p{2.2cm}|>{\centering}p{2.2cm}|}
\hline
Test1 & Test2 \tabularnewline
\hline
1 & 2 \tabularnewline
\hline
\end{tabular}
\caption[Test]{Test}
\label{tab:Test}
\end{table}

pospiech
17-04-2005, 18:21
Zur Erklärung: \\ ist kein eigentlicher Befehl, sondern nur ein Wrapper auf das was er im aktuellen Kontext bedeutet.

Also in normalem Text \\ -> \newline
in Tabellen \\ -> \tabularnewline usw.

Wenn \\ durch z.B. \centering umdefiniert wird dann funktioniert \\ natürlich nicht mehr wie es soll.Will man Probleme vermeiden, ist die beste Lösung also statt \\ grundsätzlich \newline usw zu verwenden.
Oder man nutzt die Befehle die \\ wieder ins richtige umdefinieren (steht z.B im LateX Companion 2).

Matthias