PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Tabelle und Matrix



Fischchen
24-02-2006, 16:05
Hallo!

Ich habe bereits das Forum durchsucht und auch das Internet und ich finde einfach keine Lösung.

Ich habe eine Tabelle und eine Matrix mit ziemlich vielen Spalten und ich bekomme für jede Zeile folgende Fehlermeldung:

!Extra alignment tab has been changed to \cr.
<template> \endtemplate

Ich habe es bereits mit longtable, querformat. Am Ende jeder Spalte anstatt "\\" , "\cr" oder auch die Breite der einzelnen Spalten definiert.

Ich wäre sehr froh, wenn mir jemand weiterhelfen könnte.

Danke,

Fischchen

countbela666
24-02-2006, 17:14
Hallo Fischchen,

hast du dir vielleicht mit dem array-Paket eine eigene Spaltendefinition angelegt, in der du >{...} und/oder <{...} verwendest? Wenn dem so ist, muss ans Ende eines solchen Befehls zwingend ein \arraybackslash wenn du diesen Spaltentyp als letzte Tabellenspalte verwendest, da array das \\ umdefiniert. Wenn das nicht die Fehlerursache ist, erstell doch bitte ein Minimalbeispiel, da alles weitere wilde Spekulation wäre.

Grüße,
Marcel

Fischchen
24-02-2006, 17:44
Hallo!

Danke für Deine Hilfe, hier ein Minibeispiel
\documentclass[12pt,oneside,a4paper]{scrbook}
\usepackage[left=2cm,right=35mm,top=3cm,bottom=45mm,includehea dfoot]{geometry}
\usepackage{setspace}
\onehalfspacing
\usepackage{ngerman}
\usepackage{nomencl}
\let\abbrev\nomenclature
\renewcommand{\nomname}{Abkürzungsverzeichnis}
\setlength{\nomlabelwidth}{.25\hsize}
\renewcommand{\nomlabel}[1]{#1 \dotfill}
\setlength{\nomitemsep}{-\parsep}
\makenomenclature

\usepackage{amsmath,amssymb,amstext}
\renewcommand{\theequation}{\thechapter.\arabic{eq uation}}
\numberwithin{equation}{chapter}
\usepackage{array}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage[latin1]{inputenc}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{0.5pt}
\fancyfoot[C]{\thepage}
\renewcommand{\footrulewidth}{0.5pt}
\usepackage{natbib}
\setcounter{secnumdepth}{3}

\begin{document}


\begin{table}[htbp]
\begin{tabular}{\linewidth}{|l||||||||}
\hline
& \textbf{$A_2$} & \textbf{$A_3$} & \textbf{$A_4$} & \textbf{$A_5$} & \textbf{$A_6$} & \textbf{$A_7$} & \textbf{$A_7a$} \\
\hline
\textbf{A} & \ominus & \oplus & \oplus & \oplus & \oplus & \oplus & \oplus \\
\textbf{B} & 4 & 3 & 2 & 1 & 5 & 4 & 4 \\
\textbf{C} & 3 & 3 & 4 & 4 & 4 & 3 & 3 \\
\textbf{D} & 5 & 3 & 3 & 3 & 4 & 3 & 3 \\
\textbf{E} & 5 & 5 & 5 & 5 & 1 & 3 & 3 \\
\textbf{F} & 5 & 4 & 5 & 5 & 1 & 3 & 3 \\
\textbf{G} & 5 & 5 & 3 & 3 & 5 & 4 & 4 \\
\textbf{H} & 5 & 3 & 4 & 3 & 4 & 3 & 3 \\
\textbf{I} & 3 & 3 & 4 & 3 & 5 & 4 & 4 \\
\textbf{J} & 5 & 3 & 5 & 5 & 5 & 5 & 5 \\
\textbf{K} & 4 & 4 & 4 & 3 & 5 & 5 & 5 \\
\textbf{L} & 3 & 3 & 5 & 5 & 5 & 4 & 4 \\
\textbf{N} & \oplus & \oplus & \oplus & \oplus & \ominus \oplus & \oplus \\
\textbf{O} & \oplus & \oplus & \oplus & \oplus & \ominus & \oplus & \ominus \\
\textbf{P} & \oplus & \oplus & \oplus & \oplus & \oplus & \oplus & \oplus \\
\textbf{Q} & 3 & 3 & 3 & 3 & 4 & 3 & 3 \\
\textbf{R} & 4 & 4 & 4 & 3 & 3 & 4 & 4 \\
\textbf{S} & 5 & 5 & 5 & 4 & 3 & 5 & 4 \\
\textbf{T} & 5 & 5 & 5 & 5 & 4 & 5 & 5 \\
\hline

\end{tabular}
\caption{Darstellung der Alternativen mit gewichteten Kriterien}
\label{tab:DarstellungDerAlternativenMitGewichtete nKriterien}

\end{table}

\end{document}

LG, Fischchen

bischi
25-02-2006, 11:04
Ok, die Fehler gefunden:

1) Der zusätzliche Parameter {\linewidth} bei der tabular-Umgebung muss entfernt werden (LaTeX meckert an dem sowieso rum und ersetzt ihn durch etwas anderes)

2) Du kannst nicht einfach Striche machen und nur eine Spalte definieren, in der Text erscheinen soll und danach erwarten, dass Acht spalten erscheinen. Also anstatt: {|l||||||||} muss es heissen (Grosse L durch kleine ersetzen - sieht man hier aber sonst den Unterschied zwischen vertikalem Strich und kleinem L nicht): {|L||L|L|L|L|L|L|L| }

3) Sämtliche \oplus und so weiter müssen in Dollar-Zeichen eingepackt werden: $\oplus$,....

Der obere Teil der Tabelle sieht dann etwa so aus...

\begin{table}[htbp]
\begin{tabular}{|l|l|l|l|l|l|l|l|}
\hline
& \textbf{$A_2$} & \textbf{$A_3$} & \textbf{$A_4$} & \textbf{$A_5$} & \textbf{$A_6$} & \textbf{$A_7$} & \textbf{$A_7a$} \\
\hline
\textbf{A} & $\ominus$ & $\oplus$ & $\oplus$ & $\oplus$ & $\oplus$ & $\oplus$ & $\oplus$ \\

Da das ganze aber sowieso ein Mathe-Teil ist: Warum nimmst du anstatt tabular nicht einfach array? Dürfte weniger mühsam sein...

MfG Bischi

Fischchen
25-02-2006, 16:36
Vielen Dank für die Hilfe!!

Ich hatte zwar alle Deine Punkte schon einmal ausprobiert, aber nie alle gleichzeitig :D beachtet und da mir immer die gleiche Fehlermeldungen kamen, bin ich nicht draufgekommen.

Es klappt jetzt wirklich gut.

LG, Fischchen