10-01-2006, 11:50 #1
Registrierter Benutzer
Tabelle: feste Spaltenbreite und zentrierter Text
Hi allerseits,
ich m�chte bei einer Tabelle sowohl eine feste Spaltenbreite angeben, als auch den Text in allen Spalten zentriert ausrichten. Bislang ist mir immer nur eins von beiden gelungen. Wenn ich mit mit p{2cm} die Spaltenbreite angebe, wird der Text linksb�ndig ausgerichtet. Wenn ich das mit \multicolumn{1}{c}{Text} umgehen m�chte, dann geht das nur dann, wenn mindestens ein Element einer Spalte linksb�ndig bleibt
tabularx habe ich mir auch schon angesehen. Ich verstehe aber die Anwendung nicht bzw. ob mir das hier etwas n�tzt.
Kurzes Beispiel. Wird die letzte Tabellenzeile auskommentiert, wird alles wieder schmal
Code:
\documentclass[a4paper,12pt]{scrartcl} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage{ngerman} \begin{document} \begin{tabular}{p{3cm}p{3cm}p{3cm}} \multicolumn{1}{c}{Hier} & \multicolumn{1}{c}{steht} & \multicolumn{1}{c}{Text} \\ \multicolumn{1}{c}{noch} & \multicolumn{1}{c}{mehr} & \multicolumn{1}{c}{Text} \\ hier & noch & mehr \\ \end{tabular} \end{document}10-01-2006, 15:39 #2
Registrierter Benutzer
Moin moin,
ist das nix f�r Dich?
MfG,Rainer
There's nothing a good whack with a hammer won't fix!10-01-2006, 17:17 #3
Registrierter Benutzer
Ja, das sieht gut aus. Zum zweiten mal heute Danke an dich
Gru�
Hobbes11-01-2006, 07:41 #4
Registrierter Benutzer
Habe es eben ausprobiert. Habe aber leider das gleiche Problem wie mit meinem ersten Ansatz. Beim rumprobieren habe ich festgestellt, dass es entweder dann geht, wenn ich genau eine Spalte (siehe obere Tabelle im Beispiel) mache, oder mindestens eine ohne das neu definierte Spaltenformat
Oder hat jemand eine andere Erkl�rung, warum die untere Tabelle im Beispiel nicht funktioniert?Code:
\documentclass{article} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage[german]{babel} \usepackage{array} \begin{document} \newcolumntype{C}[1]{>{\centering}m{#1}} \begin{tabular}{C{2cm}} safd\\ asdfd\\ saf \end{tabular} %\begin{tabular}{C{2cm}r} %<--- damit geht es \begin{tabular}{C{2cm}C{2cm}} %<--- damit geht es nicht \hline Ein etwas langer Text, der sicherlich umbrochen wird & a\\ \hline oder kurz & b\\ \hline \end{tabular} \end{document}11-01-2006, 13:46 #5
Registrierter Benutzer
Hmm,
also warum das so war, wei� ich jetzt auch nicht mehr, aber ersetze mal die \\ innerhalb der Tabelle durch \tabularnewline, dann sollte es auch mit {C{..}C{..}} funzen.
MfG,Rainer
There's nothing a good whack with a hammer won't fix!11-01-2006, 19:09 #6
Registrierter Benutzer
Hall�chen,
das Problem ist die Umdefinierung des \\ durch das array- oder auch tabularx-Paket. Folgendes sollte bei der Nutzung eigener Spaltendefinitionen f�r die letzte Spalte Abhilfe schaffen:
Code:
\documentclass{article} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage[german]{babel} \usepackage{array} \begin{document} \newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}} \begin{tabular}{C{2cm}} safd\\ asdfd\\ saf \end{tabular} %\begin{tabular}{C{2cm}r} %<--- damit geht es \begin{tabular}{C{2cm}C{2cm}} %<--- damit geht es jetzt auch ;) \hline Ein etwas langer Text, der sicherlich umbrochen wird & a\\ \hline oder kurz & b\\ \hline \end{tabular} \end{document}Gr��e,
Marcel
Listen to me children of the night, beyond the doors of darkness you will find
a thousand worlds for you to see here, take my hand and follow me...12-01-2006, 08:53 #7
Registrierter Benutzer
Klappt alles prima *freu*. Danke f�r die Hilfe
07-01-2007, 14:29 #8
Registrierter Benutzer
Hallo, ich w�rde gerne meine Tabelle genauso gestalten, aber wenn ich das alles eingebe, dann bekomme ich die Fehlermeldung
Package array error: Illegal pream-token (0.025\textwidth): 'c' used
Hei�t das, dass ich auch ein zu altes array-package habe wie Rais in dem anderen Thread schon geschrieben hat und ich deshalb Probleme mit dem \arraybackslash bekomme?
Wenn ja, ich hab keinen Plan wie ich ein neues array-package bekommen kann, ich benutze MikTex aber ich finde keine array-packages in der Liste und der Update-Manager hat auch nicht geholfen.....
Oder gibts noch eine andere Fehlerquelle?
Code:
\documentclass[12pt, a4paper, twocolumn]{article} \usepackage{array} \newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} \begin{document} \begin{table}[h]\caption{Eine Caption} \begin{tabular}{|C{.05\textwidth}||*{8}C{.025\textwidth}|}} \hline Erste Zeile &&&&&&&&\\ \hline Noch ne Zeile &&&&&&&& \end{tabular}\label{Nachbarschaft} \end{table} \end{document}Und ja, das [h] ist b�se ;-)W�re cool, wenn mir einer helfen k�nnte! Gru� Alex
Ge�ndert von vizechecker (07-01-2007 um 14:33 Uhr)
07-01-2007, 14:37 #9
Registrierter Benutzer
Zitat von vizecheckerHallo, ich w�rde gerne meine Tabelle genauso gestalten, aber wenn ich das alles eingebe, dann bekomme ich die Fehlermeldung
Package array error: Illegal pream-token (0.025\textwidth): 'c' used
Hei�t das, dass ich auch ein zu altes array-package habe wie Rais in dem anderen Thread schon geschrieben hat und ich deshalb Probleme mit dem \arraybackslash bekomme?
Wenn ja, ich hab keinen Plan wie ich ein neues array-package bekommen kann, ich benutze MikTex aber ich finde keine array-packages in der Liste und der Update-Manager hat auch nicht geholfen.....
Oder gibts noch eine andere Fehlerquelle?
Code:
\documentclass[12pt, a4paper, twocolumn]{article} \usepackage{array} \newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} \begin{document} \begin{table}[h]\caption{Eine Caption} \begin{tabular}{|C{.05\textwidth}||*{8}C{.025\textwidth}|}} \hline Erste Zeile &&&&&&&&\\ \hline Noch ne Zeile &&&&&&&& \end{tabular}\label{Nachbarschaft} \end{table} \end{document}Und ja, das [h] ist b�se ;-)
W�re cool, wenn mir einer helfen k�nnte! Gru� Alex
Hallo,ich glaub du hast da nen kleinen Fehler drin:
Mach mal ausCode:
\begin{tabular}{|C{.05\textwidth}||*{8}C{.025\textwidth}|}}Code:
\begin{tabular}{|C{.05\textwidth}||*{8}{C{.025\textwidth}|}}Aber sind diese Breitenangaben nicht generell etwas _sehr_ klein?Matthias
07-01-2007, 14:57 #10
Registrierter Benutzer
Heilige Sch***, ich sch�me mich in Grund und Boden, du hast Recht...
Ich werd nie wieder Fragen stellen :-(
Vielen Dank, jetzt gehts super. Die Spaltenbreiten sind meinerMeinung nach auch zu klein, da ich zweispaltig schreibe, sollte die Summe ja eine halbe Textbreite ergeben, aber es klappt nur, wenn sie eine Viertelbreite einnehmen. Versteh ich auch nicht, aber is so
07-01-2007, 15:47 #11
Registrierter Benutzer
Zitat von vizecheckerVielen Dank, jetzt gehts super. Die Spaltenbreiten sind meinerMeinung nach auch zu klein, da ich zweispaltig schreibe, sollte die Summe ja eine halbe Textbreite ergeben, aber es klappt nur, wenn sie eine Viertelbreite einnehmen. Versteh ich auch nicht, aber is so
Zwischen den Spalten ist noch ein zus�tzlicher Abstand freigelassen. Schau mal in eine allgemeine Latex-Einf�hrung deiner Wahl. Eine Forensuche nach \tabcolsep sollte auch einige Infos liefern.Matthias