PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Spaltengröße und Ausrichtung in Tabellen bestimmen



DoubleH
02-09-2007, 17:18
Guten Tag.
Ich konnte, unter anderem mit Hilfe dieses Forums, einige Latex-Fragen klären. Jetzt weiß ich allerdings nicht mehr weiter.
Mein Problem: Ich möchte in einer Tabelle sowohl die Spaltenbreite, als auch die Ausrichtung (links, rechts, zentriert ) bestimmen können. Die folgende Tabelle zeigt das Problem. Sobald ich mit p manuell die Spaltenbreite angebe, wird automatisch links ausgerichtet.

\begin{document}

\newcolumntype{Y}{>{\centering\arraybackslash}X}

\begin{table}[h]
\caption{Chemische Zusammensetzung der verwendeten Stähle ( Angaben in Vol.-\%\ )}
\begin{tabularx}{\textwidth}{ |p{33mm}|Y|Y|Y|Y|Y|Y|Y|Y|Y| }
\hline
\textbf{Werkstoff} & \textbf{C} & \textbf{Cr} & \textbf{V} & \textbf{Mo} & \textbf{W} & \textbf{Si} & \textbf{Mn} & \textbf{Ni} & \textbf{Rest}
\\\hline
X190CrVMo20-4 & 1,90 & 20,00 & 4,00 & 1,00 & 0,60 & 0,70 & 0,30 & - & Fe
\\\hline
X270CrVMoW17-9 & 2,70 & 17,00 & 9,00 & 1,30 & 0,8 & 0,4 & 0,50 & - & Fe
\\\hline
\end{tabularx}
\label{tab:Zusammensetzung}
\end{table}

\end{document}

Das selbe Problem hab ich auch in der tabular-Umgebung. Eine Kombination aus p, c, l und r sowie Klammersetzung brachte nicht den gewünschten Erfolg. Mit der neudefinierten Variable "C" wird allerdings neben der Spaltenbreite, auch die Höhe verändert. Also auch nicht das gewünschte Resultat. Komischerweise kann man "C" auch nicht in die letzte Spalte setzen, dann gibt es folgende Fehlermeldungen:
"Misplaced \noalign" und "Extra alignment tab has been changed to \cr

\begin{document}

\newcolumntype{C}{>{\begin{center}}p{15mm}<{\end{center}}}

\begin{table}[h]
\caption{Chemische Zusammensetzung der verwendeten Stähle ( Angaben in Vol.-\%\ )}
\begin{tabular}{ |p{33mm}|c|c|c|c|C|c| }
\hline
\textbf{Werkstoff} & \textbf{C} & \textbf{Cr} & \textbf{V} & \textbf{Mo} & \textbf{W} & \textbf{Si}
\\\hline
X190CrVMo20-4 & 1,90 & 20,00 & 4,00 & 1,00 & 0,60 & 0,70
\\\hline
X270CrVMoW17-9 & 2,70 & 17,00 & 9,00 & 1,30 & 0,8 & 0,4
\\\hline
\end{tabular}
\label{tab:Zusammensetzung}
\end{table}

\end{document}

Hoffe das jemand eine Lösung weiß. :)

rais
02-09-2007, 20:03
Hallo und Herzlich Willkommen :)

Mit der neudefinierten Variable "C" wird allerdings neben der Spaltenbreite, auch die Höhe verändert. Also auch nicht das gewünschte Resultat.

zusätzliche vertikale Abstände werden von der center-Umgebung eingesetzt

Komischerweise kann man "C" auch nicht in die letzte Spalte setzen, dann gibt es folgende Fehlermeldungen:
"Misplaced \noalign" und "Extra alignment tab has been changed to \cr
wenn Du statt \\ \tabularnewline am Ende der Tabellenzeilen setzt oder \arraybackslash in der Spaltentypdeklaration ergänzt, sollte das klappen, also statt


\newcolumntype{C}{>{\begin{center}}p{15mm}<{\end{center}}}

vielleicht


\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
%und dann entsprechend
\begin{tabular}{...C{15mm}...}

MfG,

DoubleH
02-09-2007, 20:56
Danke, funktioniert bestens.
Dazu noch eine kleine Frage: Wie müsste \newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} umdefiniert werden, wenn man das ganze auch für links- oder rechtsbündig machen möchte?

sofa-surfer
02-09-2007, 21:55
Danke, funktioniert bestens.
Dazu noch eine kleine Frage: Wie müsste \newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} umdefiniert werden, wenn man das ganze auch für links- oder rechtsbündig machen möchte?

... anstelle von \centering einfach \raggedright oder \raggedleft verwenden.

Matthias

DoubleH
03-09-2007, 06:34
Nochmals danke. :)