2
1

Beim kompilieren von

Open in writeLaTeX
\documentclass{minimal}
\usepackage{colortbl}
\begin{document}
\setlength\arrayrulewidth{2pt}
\begin{tabular}{!{\color[gray]{0.9}\vline}|
!{\color{cyan}\vline}c
!{\color{red}\vline}}
eins&zwei\\ \arrayrulecolor{red}\hline
drei&vier \\ \arrayrulecolor{green}\cline{1-1}
f"unf&sechs
\end{tabular}
\end{document}

erhielt ich die Fehlermeldung: ! Extra alignment tab has been changed to cr.

Was ist da denn falsch ?

gefragt 26 Jun '14, 07:16

butts's gravatar image

butts
674143440
Akzeptiert-Rate: 40%

1

Du gibst in deinem Beispiel nur genau eine Spalte an. Hinweis: Verwende für Minimalbeispiele bitte nicht die minimal-Klasse. Klingt zwar verlockend, aber die hatte andere Daseinsgründe.

(26 Jun '14, 08:34) Johannes

Vertikale Linien sind in Tabellen eher störend, auch horizontale Linien sollten nur sparsam eingesetzt werden. Bunt finde ich völlig fehl am Platz. Schau doch auch mal in die Dokumentation zu booktabs.

(26 Jun '14, 08:37) Johannes

Der Strich | soll wahrscheinlich der Buchstabe l sein.

(26 Jun '14, 08:39) Ulrike Fischer

@johannes also ich verstehe den code so, daß im tabellenkopf DREI SPALTEN definiert werden eine mit der farbe grau, eine mit der farbe cyan und eine in rot. Im Tabellenkörper sind zwei Spalten benutzt. Wie müsste denn der code für zwei oder drei Spalten im Tabellenkopf lauten ??

(26 Jun '14, 08:41) butts

Die farbigen Linien sind nur Linien. Deine Spalten definierst du weiterhin mit c(enter), l(eft) oder r(ight). Es gibt allerdings noch weitere.

Wie bereits von @Ulrike hingewiesen ist | ein senkrechter Strich und l ein ell (Latin small letter L).

(26 Jun '14, 08:56) Johannes

Open in writeLaTeX
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{colortbl}
\begin{document}
\setlength\arrayrulewidth{2pt}
\begin{tabular}
{c!{\color[gray]{0.9}\vline}|c!{\color{cyan}\vline}c!{\color{red}\vline}}
eins&zwei\\ 
\arrayrulecolor{red}\hline
drei&vier \\ 
\arrayrulecolor{green}\cline{1-1}
fünf&sechs\\
\end{tabular}
\end{document}
Permanenter link

beantwortet 26 Jun '14, 09:07

ctansearch's gravatar image

ctansearch
(ausgesetzt)
Akzeptiert-Rate: 18%

bearbeitet 26 Jun '14, 09:08

Du definierst drei Spalten.

(26 Jun '14, 09:14) Johannes

@johannes Genau das war ja auch gefordert und gefragt.

(26 Jun '14, 21:55) ctansearch

Du solltest einfach immer genau so viele Spalten definieren, wie Du auch verwendest, bzw. genau so viele Spalten verwenden, wie Du auch definierst. Das ist bei Dir nicht der Fall. Und daraus resultiert dann die Fehlermeldung. Nehmen wir Deine Spaltendefinition einmal unter die Lupe:

  • !{\color[gray]{0.9}\vline}| – Durch !{…} wird eine Spaltentrennung definiert, die statt des von | gesetzten vertikalen Strichs verwendet werden soll. Hier wird die Farbe auf 90% Grau eingestellt und dann ein vertikaler Strich gezeichnet. Es wird also ein vertikaler grauer Strich gezeichnet. Danach wird durch das | noch eine normale Spaltentrennlinie erzeugt. Eine Spalte haben wir noch nicht. Beide Linien stehen also vor der ersten Spalte
  • !{\color{cyan}\vline}c – Es wird über !{…} für ein Spaltentrennung eine vertikale Linie der Farbe cyan verwendet. Damit haben wir eine dritte vertikale Linie vor der ersten Spalte. Dann wird über c eine horizontal zentrierte Spalte eingefügt.
  • !{\color{red}\vline} – Es wird über !{…} für eine Spaltentrennung eine vertikale Lnie der Farbe red verwendet. Eine Spalte wird nicht definiert und wir sind am Ende der Spaltendefinition, die Linie schließt die Tabelle also ab.

Damit haben wir also eine Tabelle mit einer zentrierten Spalte vor der eine vertikale graue Linie, eine vertikale Linie ohne genaue Farbangabe (übernimmt die Standardlinienfarbe, die in der Voreinstellung Schwarz ist) und eine vertikale cyan-farbene Linie sind und nach der eine vertikale, rote Linie folgt. Dazu kommt allerdings noch, dass Du die Linienfarben mit \arrayrulecolor mehrfach änderst, was nicht nur die horizontalen Linien ändert, sondern auch die der Linien, die mit | gesetzt wurden. Da nur eine Spalte definiert würde, darf man natürlich auch nur eine verwenden. Eine solche Tabelle könnte im Endergebnis also so aussehen (Anmerkung: Ich habe für die erste Linie hier zu Demonstrationszwecken Blau verwendet, da 90% Grau von Schwarz zu schwer zu unterscheiden war):

falsche Tabelle

In einem Kommentar schreibst Du, dass Du erwartest, dass die Tabelle drei Spalten hat, wovon die erste grau, die zweite cyan und die dritte rot sein soll. Das geht aber ganz anders. Am besten verwendet man dazu gleich das Paket xcolor mit Option table. Die vertikalen Linien sind eher störend, weshalb ich sie weglasse:

Open in writeLaTeX
\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{booktabs}
\begin{document}

\begin{tabular}{>{\columncolor{gray!90}}l% linksbündige Spalte mit grauem Hintergrund
>{\columncolor{cyan}}c% zentrierte Spalte mit cyan-farbendem Hintergrund
>{\columncolor{red}}r% rechtbündige Spalte mit rotem Hintergrund
}
\toprule
eins & zwei & drei \\
vier & f\"unf & sechs \\
sieben & acht & neun \\
zehn & elf & zw\"olf \\
\bottomrule
\end{tabular}
\end{document}

Das Ergebnis wäre dann:

farbige Tabelle mit drei Spalten

Näheres zu den verwendeten Paketen xcolor (indirekt auch colortbl) und booktabs ist den Anleitungen der Pakete zu entnehmen. Darüber hinaus empfehle ich Dokumente wie tabsatz.pdf und die Anleitung zu booktabs, wenn es um die Typografie von Tabellen geht. Herbert Voß bietet in der Edition Dante auch ein komplettes Buch über den Satz von Tabellen an. Darin werden diverse Feinheiten behandelt.

Permanenter link

beantwortet 26 Jun '14, 10:12

gast3's gravatar image

gast3
(ausgesetzt)
Akzeptiert-Rate: 53%

bearbeitet 19 Jul '14, 16:13

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×7

gestellte Frage: 26 Jun '14, 07:16

Frage wurde gesehen: 9,616 Mal

zuletzt geändert: 19 Jul '14, 16:13