Ausrichtung von Tabellenspalten, Definieren von Spaltentypen

Tabellen und Grafiken erstellen und anordnen


Ahnungslos
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Di 24. Jan 2012, 00:09

Ausrichtung von Tabellenspalten, Definieren von Spaltentypen

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

Ahnungslos
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Di 24. Jan 2012, 00:09

Beitrag 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

:?

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag 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}
Clemens
Paketauthor

rais
Forum-Guru
Forum-Guru
Beiträge: 413
Registriert: Di 21. Sep 2010, 00:37

Re: Ausrichtung von Tabellenspalten, Definieren von Spaltent

Beitrag 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
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)

Ahnungslos
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Di 24. Jan 2012, 00:09

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

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag 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ß
Clemens
Paketauthor

Ahnungslos
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Di 24. Jan 2012, 00:09

Beitrag 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

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag 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ß
Clemens
Paketauthor

Ahnungslos
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Di 24. Jan 2012, 00:09

Beitrag von Ahnungslos »

Clemens, vielen Dank und einen schönen Tag!
Sieht jetzt wirklich schön aus...

Antworten