Seite 1 von 1
Ausrichtung von Tabellenspalten, Definieren von Spaltentypen
Verfasst: Di 24. Jan 2012, 01:10
von Ahnungslos
Hallo,
ich bin noch nicht lang mit LaTex zugange und habe einige Forenthemen, die für mich relevant sein könnten schlicht und einfach nicht verstanden:
Also, ich habe in der Präambel einen newcolumn Typ definiert:
\newcolumntype{C}[1]{>{\centering\arraybackslash}X}
Dann kam noch keine Fehlermeldung, aber sobald ich in der Tabelle von \begin{tabularx}{\textwidth}{lXXXX}
auf \begin{tabularx}{\textwidth}{lCCCC}
ändere, kommt als Fehlermeldung mehrfach
! Package array Error: Illegal pream-token (\TX@col@width): `c' used.
See the array package documentation for explanation.
Type H <return> for immediate help.
...
l.22 \end{tabularx}
Meine Tabelle und Dokument verkürzt sieht so aus:
\documentclass[a4paper,headsepline,12pt,twoside,openright,captions=tableheading]{scrreprt}
\usepackage{tabularx}
\usepackage{array}
\usepackage{dcolumn}
\begin{document}
\begin{table}[htbp]
\caption{Mittelwert $\pm$ S.E.M. aller Parameter}
\renewcommand{\arraystretch}{1,3}
\label{tab:alleparameter}
\begin{tabularx}{\textwidth}{lCCCC}
\toprule
&\multicolumn{2}{c}{\textbf{SR}}&\multicolumn{2}{c}{\textbf{AF}}\\
\cmidrule(rl){2-3}\cmidrule(ll){4-5}
\textbf{Parameter}&\textbf{+CC}&\textbf{-CC}&\textbf{+CC}&\textbf{-CC}\\
\midrule
t,\,ms &260 $\pm$ 4.0 &320 $\pm$ 3.5 &210 $\pm$ 6.9 &220 $\pm$ 4.1 \\
t2,\,ms &110 $\pm$ 4.6 &140 $\pm$ 3.5 &90 $\pm$ 6.4 & 100 $\pm$ 3.2 \\
\midrule
&\textbf{n = 128}&\textbf{n = 116}&\textbf{n = 38}&\textbf{n = 74}\\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
Wie kann ich hierbei alles um das +/- oder = -Zeichen zentrieren (auch die Spaltenüberschriften??
Ich habe es probiert mit dem package dcolumn und D{$\pm$}{$\pm$}{-1}X...Aber hat auch nicht geklappt.
Könnte mir jemand weiterhelfen?
Danke schon einmal...
Verfasst: Di 24. Jan 2012, 01:30
von Ahnungslos
Hab mal versucht das array paket zu löschen...da gab es keine Fehlermeldung, aber sobald ich Spalten definiere mit {lCCCC}, kommt dann als Fehlermeldung:
! Extra alignment tab has been changed to \cr.
<recently read> \endtemplate
l.22 \end{tabularx}
You have given more \span or & marks than there were
in the preamble to the \halign or \valign now in progress.
So I'll assume that you meant to type \cr instead.
! Extra alignment tab has been changed to \cr.
<recently read> \endtemplate

Verfasst: Di 24. Jan 2012, 11:10
von cgnieder
Dein Beispiel ist alles andere als lauffähig: es fehlt die neu definierte Spalte und das booktabs-Paket für die \bottomrule usw.
Damit läuft es bei mir fehlerfrei:
\documentclass[a4paper,headsepline,12pt,twoside,openright,captions=tableheading]{scrreprt}
\usepackage{tabularx,booktabs}
\usepackage{array}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\usepackage{dcolumn}
\begin{document}
\begin{table}[htbp]
\caption{Mittelwert $\pm$ S.E.M. aller Parameter}
\renewcommand{\arraystretch}{1,3}
\label{tab:alleparameter}
\begin{tabularx}{\textwidth}{lCCCC}
\toprule
&\multicolumn{2}{c}{\textbf{SR}}&\multicolumn{2}{c}{\textbf{AF}}\\
\cmidrule(rl){2-3}\cmidrule(ll){4-5}
\textbf{Parameter}&\textbf{+CC}&\textbf{-CC}&\textbf{+CC}&\textbf{-CC}\\
\midrule
t,\,ms &260 $\pm$ 4.0 &320 $\pm$ 3.5 &210 $\pm$ 6.9 &220 $\pm$ 4.1 \\
t2,\,ms &110 $\pm$ 4.6 &140 $\pm$ 3.5 &90 $\pm$ 6.4 & 100 $\pm$ 3.2 \\
\midrule
&\textbf{n = 128}&\textbf{n = 116}&\textbf{n = 38}&\textbf{n = 74}\\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
Um die Zahlen zu zentrieren, würde ich
siunitx verwenden:
\documentclass[a4paper,headsepline,12pt,twoside,openright,captions=tableheading]{scrreprt}
\usepackage{array,booktabs,tabu}
\usepackage{siunitx,mathtools}
\newcommand\tbm[1]{\boldmath$#1$}
\begin{document}
\begin{table}
\centering
\caption{Vorschlag}
\renewcommand{\arraystretch}{1,3}
\sisetup{separate-uncertainty,table-format=3.1(2)}
\label{tab:vorschlag}
\begin{tabular}{lSSSS}
\toprule &
\multicolumn{2}{c}{\textbf{SR}} &
\multicolumn{2}{c}{\textbf{AF}} \\
\cmidrule(rl){2-3}\cmidrule(ll){4-5}
{\textbf{Parameter}} & {\tbm{+CC}} & {\tbm{-CC}} & {\tbm{+CC}} & {\tbm{-CC}} \\
\midrule
$t_1$ in \si{ms} & 260.0(40) & 320.0(35) & 210.0(69) & 220.0(41) \\
$t_2$ in \si{ms} & 110.0(46) & 140.0(35) & 90.0(64) & 100.0(32) \\
\midrule
& {\tbm{n=128}} & {\tbm{n=116}} & {\tbm{n=38}} & {\tbm{n=74}} \\
\bottomrule
\end{tabular}
\end{table}
\newcolumntype{Y}{X[c]{S[separate-uncertainty,table-format=3.1(2)]}}
\begin{table}
\centering
\caption{Vorschlag2}
\tabulinesep 1.5mm
\label{tab:vorschlag2}
\begin{tabu} to \linewidth {XYYYY}
\toprule &
\multicolumn{2}{c}{\textbf{SR}} &
\multicolumn{2}{c}{\textbf{AF}} \\
\cmidrule(rl){2-3}\cmidrule(ll){4-5}
{\textbf{Parameter}} & {\tbm{+CC}} & {\tbm{-CC}} & {\tbm{+CC}} & {\tbm{-CC}} \\
\midrule
$t_1$ in \si{ms} & 260.0(40) & 320.0(35) & 210.0(69) & 220.0(41) \\
$t_2$ in \si{ms} & 110.0(46) & 140.0(35) & 90.0(64) & 100.0(32) \\
\midrule
& {\tbm{n=128}} & {\tbm{n=116}} & {\tbm{n=38}} & {\tbm{n=74}} \\
\bottomrule
\end{tabu}
\end{table}
\end{document}
Re: Ausrichtung von Tabellenspalten, Definieren von Spaltent
Verfasst: Di 24. Jan 2012, 11:23
von rais
Hallo,
Ahnungslos hat geschrieben:
\newcolumntype{C}[1]{>{\centering\arraybackslash}X}
mit der [1] sagst Du \newcolumntype, daß Dein neuer Spaltentyp C einen Parameter erwartet, d. h. bei
Ahnungslos hat geschrieben:
\begin{tabularx}{\textwidth}{lCCCC}
greift sich das erste C das zweite C als Parameter und schmeißt es weg (beim dritten und vierten C analog), das entspräche etwa
\begin{tabularx}{\textwidth}{lC{}C{}}
Mit anderen Worten: Du definierst bloß drei Spalten ... versuch es so
\newcolumntype{C}{>{\centering\arraybackslash}X}
[edit] zu spät...[/edit]
MfG
Rainer
Verfasst: Di 24. Jan 2012, 13:14
von Ahnungslos
Zunächst erst einmal danke für eure großartige Hilfe!
Das mit dem Zentrieren klappt jetzt super, hatte bei meinem Beispiel aus Versehen die newcolumn Definition und booktabs vergessen, waren aber natürlich vorhanden;-)
Jedoch kann ich mir die Beispieltabellen nicht anschauen, die um +/- angeordnet sind...
Der "run" funktioniert nicht einmal...Dann ab und zu kommt als Fehlermeldung, dass Siunitx nicht gefunden werden kann und keine pdf kreiert werden kann...Im Wizard Package Manager habe ich siunitx gefunden, und es steht da, dass es heute installiert wurde...Ein Update von Miktex ist mir nicht gelungen, da hieß es "Permission denied" und am Anfang, dass MikTex fehlerhaft konfiguriert sei...
Es tut mir leid, so viele Fragen zu haben, bin wirklich (noch) ziemliche ahnungslos...Aber vielen Dank für eure Hilfe!!
Verfasst: Di 24. Jan 2012, 13:23
von cgnieder
Ich habe von MiKTeX keine Ahnung, da ich es noch nie verwendet habe. Ich würde vorschlagen, das als neue Frage im
MiKTeX Unterforum zu posten. Oder noch besser: dort erst mal suchen, ob nicht jemand anderes schon das Problem hatte und eine Antwort bekommen hat, und wenn nicht, eine neue Frage posten.
Gruß
Verfasst: Di 24. Jan 2012, 13:58
von Ahnungslos
Jetzt hat es geklappt, die Installation brauchte vielleicht noch ein paar Minuten um aktiv zu sein, wer weiß...
Der 2. Tabellenvorschlag gefällt mir sehr gut. Jedoch habe ich hierzu noch 2 Fragen:
die letzte Zeile soll auf gleicher Höhe wie +/- um das = geordnet sein...
Und wie kann ich in den restlichen Tabellenzeilen das Format so ändern, dass es beide Angaben akzeptiert: z.B. 210, dann wieder 5.4 mit gleichem Abstand zum +/- ohne dass ich immer 210.0 schreiben muss...
Weiß gar nicht wie ich mich bedanken soll...!
Jana
Verfasst: Di 24. Jan 2012, 14:10
von cgnieder
Ich bin nicht sicher, ob eine Ausrichtung einmal ohne und einmal mit Komma möglich ist, tippe aber dagegen. Allerdings fand ich es sowieso unlogisch, den Wert auf ganze Zahlen genau anzugeben, den Fehler aber auf Zehntel?
Was das Istgleich angeht: in der S- (oder genauer Y-) -Spalte lässt sich das nicht ohne weiteres (wenn überhaupt) erreichen.
Folgender (etwas unbefriedigender) Vorschlag: ersetze
& {\tbm{n=128}} & {\tbm{n=116}} & {\tbm{n=38}} & {\tbm{n=74}}
durch
& {~~~~~~\tbm{n=128}} & {~~~~~~\tbm{n=116}} & {~~~~\,\tbm{n=38}} & {~~~~\,\tbm{n=74}}
Gruß
Verfasst: Di 24. Jan 2012, 14:48
von Ahnungslos
Clemens, vielen Dank und einen schönen Tag!
Sieht jetzt wirklich schön aus...