Problem mit dcolumn

Tabellen und Grafiken erstellen und anordnen


Gewitterbukk
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 55
Registriert: Mi 11. Mär 2009, 17:19

Problem mit dcolumn

Beitrag von Gewitterbukk »

Hallo zusammen!

Ich möchte gerne mithilfe des Pakets "dcolumn" folgende Tabelle setzen.

Code: Alles auswählen

...
\usepackage{booktabs}
\usepackage{dcolumn}

\begin{tabular}{*{8}{D{,}{,}{2}}} \toprule
	Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4 & Spalte 5 & Spalte 6 & Spalte 7 & Spalte 8 \\ \midrule
	2,4 & 2,8 & 5,90 & 56,8 & 5,98 & 3,7 & 7,89 & 8,1 \\
	24,4 & 2,8 & 5,90 & 56,8 & 5,98 & 3,7 & 7,89 & 8,1 \\
	2,4 & 2,48 & 5,90 & 56,8 & 5,98 & 3,07 & 7,89 & 8,1 \\
	23,4 & 2,8 & 5,90 & 56,8 & 5,98 & 3,7 & 7,89 & 8,1 \\
	2,4 & 2,88 & 5,90 & 56,8 & 5,98 & 3,7 & 7,89 & 8,1 \\
	23,4 & 2,8 & 5,90 & 56,88 & 5,98 & 355,7 & 7,89 & 8,1 \\ \bottomrule
\end{tabular}
Ich bekomme allerdings immer die Fehlermeldung

"Latex Error: ./master.tex:218 Missing } inserted." .

Kann sich das jemand erklären? Ich weiß nicht, wo ich etwas vergessen haben könnte.

Danke!

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2010
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Missing } inserted

Beitrag von Stefan Kottwitz »

Hallo,

der Code ist in Ordnung. Dieses Minimalbeispiel lässt sich fehlerfrei übersetzen:

Code: Alles auswählen

\documentclass[a4paper,10pt]{article}
\usepackage{booktabs}
\usepackage{dcolumn}
\begin{document}
\begin{tabular}{*{8}{D{,}{,}{2}}} \toprule
   Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4 & Spalte 5
       & Spalte 6 & Spalte 7 & Spalte 8 \\ \midrule
   2,4 & 2,8 & 5,90 & 56,8 & 5,98 & 3,7 & 7,89 & 8,1 \\
   24,4 & 2,8 & 5,90 & 56,8 & 5,98 & 3,7 & 7,89 & 8,1 \\
   2,4 & 2,48 & 5,90 & 56,8 & 5,98 & 3,07 & 7,89 & 8,1 \\
   23,4 & 2,8 & 5,90 & 56,8 & 5,98 & 3,7 & 7,89 & 8,1 \\
   2,4 & 2,88 & 5,90 & 56,8 & 5,98 & 3,7 & 7,89 & 8,1 \\
   23,4 & 2,8 & 5,90 & 56,88 & 5,98 & 355,7 & 7,89 & 8,1 \\
  \bottomrule
\end{tabular}
\end{document}
Die Ursache des Fehlers liegt daher woanders. Versuche, das Problem einzugrenzen. Was steht in Zeile 218 und vorher?

Stefan

Gewitterbukk
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 55
Registriert: Mi 11. Mär 2009, 17:19

Beitrag von Gewitterbukk »

Es muss irgendetwas mit der Tabelle zu tun haben. Wenn ich sie rausnehme, läuft alles tadellos durch.

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2010
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Missing } inserted

Beitrag von Stefan Kottwitz »

Dieser Tabellencode läuft in einem eigenen Dokument fehlerfrei durch, wie Du selbst testen kannst. Ich habe Dir compilierbaren Code oben angegeben.
Vorangehender Code, den Du nicht zitiertest, könnte das Problem verursachen, auch wenn es erst auftreten sollte, wenn diese Tabelle folgt. Oder von Dir verwendete Pakete, die Du nicht nanntest, können ein anderes Verhalten desselben Codes bedingen.

Du könntest eine Kopie Deines Dokuments auf ein Minimalbeispiel reduzieren und hier posten. Sonst kann ich Dir nur sagen, dass eine schließende Klammer fehlt. Ich glaube kaum, dass jemand sonst anhand obigen compilierbaren Codeteilen die Ursache für den angegebenen Compiler-Fehler findet.

Stefan

skater
Forum-Guru
Forum-Guru
Beiträge: 356
Registriert: Do 12. Mär 2009, 14:34
Wohnort: Berlin

Re: Problem mit dcolumn

Beitrag von skater »

Gewitterbukk hat geschrieben:Ich bekomme allerdings immer die Fehlermeldung

"Latex Error: ./master.tex:218 Missing } inserted." .
Stefan hat geschrieben:Was steht in Zeile 218 und vorher?
Mein Gutschter,

wenn denn schon man dir antwortet, dann möchtest du doch bitte die Antwort auch lesen!

Was also steht (oder stand) in der Zeile 218?

Gewitterbukk
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 55
Registriert: Mi 11. Mär 2009, 17:19

Beitrag von Gewitterbukk »

Hallo!

Hab den Fehler gefunden. Ich hatte das Paket "icomma" eingebunden. Das verträgt sich nicht mit "dcolumn". Eine Alternative ist das Paket "ncccomma", das etwas anders arbeitet, aber den gleichen Effekt hat und zudem noch problemlos mit "dcolumn" zusammenarbeitet sofern man den Befehl \mathcomma verwendet.

Mein Code lautet jetzt

Code: Alles auswählen

\begin{tabular}{*{8}{D{,}{\mathcomma}{2}}} \toprule
	\multicolumn{1}{r}{Spalte 1} &
	\multicolumn{1}{r}{Spalte 2} &
	\multicolumn{1}{r}{Spalte 3} &
	\multicolumn{1}{r}{Spalte 4} &
	\multicolumn{1}{r}{Spalte 5} &
	\multicolumn{1}{r}{Spalte 6} &
	\multicolumn{1}{r}{Spalte 7} &
	\multicolumn{1}{r}{Spalte 8} \\ \midrule
	2,4 & 2,8 & 5,90 & 56,8 & 5,98 & 3,7 & 7,89 & 8,1 \\
	24,4 & 2,8 & 5,90 & 56,8 & 5,98 & 3,7 & 7,89 & 8,1 \\
	2,4 & 2,48 & 5,90 & 56,8 & 5,98 & 3,07 & 7,89 & 8,1 \\
	23,4 & 2,8 & 5,90 & 56,8 & 5,98 & 3,7 & 7,89 & 8,1 \\
	2,4 & 2,88 & 5,90 & 56,8 & 5,98 & 3,7 & 7,89 & 8,1 \\
	23,4 & 2,8 & 5,90 & 56,88 & 5,98 & 355,7 & 7,89 & 8,1 \\ \bottomrule
\end{tabular}
Danke an alle für ihre Mühe!

skater
Forum-Guru
Forum-Guru
Beiträge: 356
Registriert: Do 12. Mär 2009, 14:34
Wohnort: Berlin

rccol + icomma

Beitrag von skater »

Ein kleiner Tip bzw. eine andere Variante:

Code: Alles auswählen

\documentclass{scrartcl}

\usepackage{booktabs}
\usepackage{icomma}
\usepackage[norounding]{rccol}

\newcommand{\mc}[1]{\multicolumn{1}{c}{#1}}

\begin{document}

\begin{tabular}{*{8}{R{2}{1}}}
	\toprule
	\mc{Spalte 1} & \mc{Spalte 2} & \mc{Spalte 3} & \mc{Spalte 4} \\
	\midrule
	2,4 & 2,8 & 5,90 & 56,8 \\
	24,4 & 2,8 & 5,90 & 56,8 \\
	2,4 & 2,48 & 5,9 & 56,8 \\
	23,4 & 2,8 & 5,90 & 56,8 \\
	\bottomrule
\end{tabular}

\end{document}

Gewitterbukk
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 55
Registriert: Mi 11. Mär 2009, 17:19

Beitrag von Gewitterbukk »

Auch ne Variante. Ist es mit dem Paket rccol auch möglich, das Komma durch einen Punkt zu ersetzen und anders herum?

skater
Forum-Guru
Forum-Guru
Beiträge: 356
Registriert: Do 12. Mär 2009, 14:34
Wohnort: Berlin

Beitrag von skater »

Gewitterbukk hat geschrieben:Ist es mit dem Paket rccol auch möglich, das Komma durch einen Punkt zu ersetzen und anders herum?
http://www.tug.org/texlive/Contents/liv ... /rccol.pdf

Noch Fragen, Hauser? ;-)

Antworten