Package array Error: Illegal pream-token (d): `c' used

Tabellen und Grafiken erstellen und anordnen


w4zema
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Di 24. Jul 2012, 18:10

Package array Error: Illegal pream-token (d): `c' used

Beitrag von w4zema »

Hallo alle zusammen,

ich versuche gerade ein erfolgreich bestehendes Papier (documentclass scrartcl) in eine Vorlage von Elsevier (documentclass elsarticle, zu finden auf http://www.elsevier.com/wps/find/author ... cle#bibtex mit dem Namen elsarticle-template-harv.tex) zu kopieren. Elsevier veröffentlich Fachartikel von verschiedenen Fachzeitschriften.
Nun ist es so, dass beim Einfügen von Tabellen Fehlermeldung auftauchen bzw. wenn ich die größte Tabelle ins das Template kopieren, das überhaupt kein PDF mehr erzeugt werden kann. Da ich völlig ratlos bin, wo der Fehler liegt bzw. wie ich ihn beheben könnte, wollte ich um eure Hilfe bitten.
Ich kopiere mal die verwendeten Pakete, ein Teil der Tabelle und die Fehlermeldung hinein. Ich hoffe, dass man sich hiermit ein Bild machen kann.

1. Packages:
\documentclass[preprint,authoryear,12pt]{elsarticle}
\usepackage{graphicx}
\usepackage{float}
\usepackage{amsthm, amssymb,amsfonts}
\usepackage[para]{threeparttable}
\usepackage{tabularx}
\usepackage{setspace}
\usepackage{booktabs}
\usepackage[metapost]{mfpic}
\usepackage{url}
\urlstyle{tt}
\usepackage{subfigure}
\usepackage{rccol}
\usepackage{fltpoint}
\usepackage{dcolumn}
\usepackage{siunitx}
\usepackage{epstopdf}
\usepackage{here}
\usepackage[flushmargin,hang]{footmisc}
\usepackage{wallpaper}
\usepackage{scrpage2}
\usepackage{lineno}
\usepackage{color}
2. Tabellenauszug
\begin{threeparttable}[ht]
\footnotesize
\caption{Descriptive Statistics}
\label{tab:Descriptive Statistics}
\singlespacing
% Table generated by Excel2LaTeX from sheet 'Prediagnostic Tests'
% Table generated by Excel2LaTeX from sheet 'Prediagnostic Tests'
% Table generated by Excel2LaTeX from sheet 'Pre-Diag.1'
% Table generated by Excel2LaTeX from sheet 'Pre-Diag.1'
% Table generated by Excel2LaTeX from sheet 'Pre-Diag.1'
\setlength{\tabcolsep}{0.15cm}
\begin{tabular}{ldddddd}
\toprule
\textbf{} & \multicolumn{1}{c}{\textbf{France}} & \multicolumn{1}{c}{\textbf{Italy}} & \multicolumn{1}{c}{\textbf{Spain}} & \multicolumn{1}{c}{\textbf{Greece}} & \multicolumn{1}{c}{\textbf{USA}} & \multicolumn{1}{c}{\textbf{UK}} \\
\midrule
Mean & \multicolumn{1}{d}{-0.010} & \multicolumn{1}{d}{-0.032} & \multicolumn{1}{d}{-0.025} & \multicolumn{1}{d}{-0.037} & \multicolumn{1}{d}{0.067} & \multicolumn{1}{d}{0.099} \\
& \multicolumn{1}{d}{} & \multicolumn{1}{d}{} & \multicolumn{1}{d}{} & \multicolumn{1}{d}{} & \multicolumn{1}{d}{} & \multicolumn{1}{d}{} \\
Standard Deviation & \multicolumn{1}{d}{1.793} & \multicolumn{1}{d}{1.631} & \multicolumn{1}{d}{1.635} & \multicolumn{1}{d}{1.659} & \multicolumn{1}{d}{5.321} & \multicolumn{1}{d}{2.690} \\
& \multicolumn{1}{d}{} & \multicolumn{1}{d}{} & \multicolumn{1}{d}{} & \multicolumn{1}{d}{} & \multicolumn{1}{d}{} & \multicolumn{1}{d}{} \\
….
….
\bottomrule
\end{tabular}%
%\bigskip
\begin{tablenotes}
%\small
{\small The values of the dependent variable yield spread are first-differenced and multiplied by 100 (in basis points).}
\end{tablenotes}
\end{threeparttable}
3. Fehlermeldung
! Package array Error: Illegal pream-token (d): `c' used.
See the array package documentation for explanation.
Type H <return> for immediate help.
...
l.393 \begin{tabular}{ldddddd}
Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.

! Package array Error: Illegal pream-token (d): `c' used.
See the array package documentation for explanation.
Type H <return> for immediate help.
...
l.399 Mean & \multicolumn{1}{d}{-0.010}
& \multicolumn{1}{d}{-0.032} & \mult...
Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.
Ich würde mich sehr freuen, wenn mir hier jemand helfen könnte. Bin wirklich ratlos.

Viele Grüße

Gast

Beitrag von Gast »

Auf der Seite steht doch klar und deutlich:
Bugs and problems with elsarticle.cls may be reported to the developers of the class via elsarticle@river-valley.com. For all other enquiries please contact Elsevier author support at support@elsevier.com.

Benutzeravatar
localghost
Forum-Meister
Forum-Meister
Beiträge: 826
Registriert: Di 8. Jul 2008, 15:40
Wohnort: Braunschweig

Mögliche Lösung

Beitrag von localghost »

[…] Nun ist es so, dass beim Einfügen von Tabellen Fehlermeldung auftauchen bzw. wenn ich die größte Tabelle ins das Template kopieren, das überhaupt kein PDF mehr erzeugt werden kann. […]
Der Code ist in mehrerlei Hinsicht vollkommener Murks.
  • Das Paket dcolumn wird zwar geladen, aber die notwendige Definition es Spaltentyps »d« wird nicht vorgenommen (oder fehlt in deinen Code-Schnipseln)
  • Abgesehen vom vorherigen Punkt ist es vollkommen daneben, in jeder einzelnen Zelle ein \multicolumn anzuwenden, um die Zuordnung zu einem (hier nicht definierten) Spaltentyp vorzunehmen.
Dann noch zur Präsentation eines Problems.
  • Es ist deine Aufgabe herauszufinden, welche Pakete für die Reproduktion des Problems nötig sind und welche nicht. Eine weitere Aufgabe ist es dann, das Beispiel entsprechend einzustampfen. Die große Mehrheit der geladenen Pakete ist hier sicherlich überflüssig.
  • Zu einer ordentlichen Beschreibung des Problems gehört ein zusammenhängendes Stück Quellcode, das ein für jedermann ohne Änderungen kompilierbares Dokument darstellt.
  • Was letztendlich bei Berücksichtigung der vorhergehenden Punkte herauskommt, nennen wir ein Minimalbeispiel.
Lösungsansatz
  • Paket dcolumn durch (das bereits geladene) siunitx ersetzen und dessen Mittel zur Darstellung und Ausrichtung von Zahlen in Tabellen nutzen.
  • Eine Ergänzung aus den UK TeX FAQ einarbeiten, die die Formatierung ganzer Reihen in Tabellen ermöglicht.
\documentclass[preprint,authoryear,12pt]{elsarticle}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage[para]{threeparttable}
\usepackage{siunitx}

%% Aus den UK TeX FAQ
%% http://www.tex.ac.uk/cgi-bin/texfaq2html?label=wholerow
\newcolumntype{_}{>{\global\let\currentrowstyle\relax}}
\newcolumntype{^}{>{\currentrowstyle}}
\newcommand{\rowstyle}[1]{%
  \gdef\currentrowstyle{#1}%
  #1\ignorespaces
}

\begin{document}
  \begin{table}[!ht]
    \centering
    \begin{threeparttable}[b]
      \caption{Descriptive Statistics}
      \label{tab:Descriptive Statistics}
      \begin{tabular}{
        _l
        ^S[table-format=1.4]
        ^S[table-format=1.4]
        ^S[table-format=1.4]
        ^S[table-format=1.4]
        ^S[table-format=1.4]
        ^S[table-format=1.4]
      }\toprule
        \rowstyle{\bfseries}  
        & {France} & {Italy} & {Spain} & {Greece} & {USA} & {UK} \\ \midrule
        Mean & -0.010 & -0.032 & -0.025 & -0.037 & 0.067 & 0.099 \\ \bottomrule
      \end{tabular}%
      \begin{tablenotes}
        \footnotesize
        The values of the dependent variable yield spread are first-differenced and multiplied by 100 (in basis points).
      \end{tablenotes}
    \end{threeparttable}
  \end{table}
\end{document}

Thorsten
TeX und LaTeX, Fragen und Antworten – TeXwelt

¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
² System: TeX Live 2024, TeXworks

Antworten