LaTeX: longtable und colortab

Ich habe ein Latex-Dokument mit einigen sehr langen longtables und möchte darin einige Einträge grau hinterlegen. Nach etwas Recherche fand ich heraus, dass das mit colortab möglich wäre.

Ich habe in der colortab-Dokumentation gelesen, dass man bei longtables von der ersten Zeile an mit Farbe versehen müsse, aber man könne auch bewusst keine Farbe setzen (\LColors & … & \). Die in der ersten Zeile festgelegten Farben gelten so lange, bis erneut LColors gesetzt wird. In meinem Fall muss ich also für einige Zeilen den grauen Hintergrund „einschalten“ und für die folgenden Zeilen wieder ausschalten. Also hab ich als erstes zwei Befehle geschrieben:

\newcommand{\marker}[0]{
 \LColors \lightgray & \lightgray \\
}

\newcommand{\unmark}[0]{
 \LColors & \\
}

Dann habe ich die ersten zwei Zeilen einer Tabelle testweise variiert, allerdings hatte ich den Tabellenkopf dabei vergessen. Beim Kompilieren kam eine Fehlermeldung und ich dachte an den Tabellenkopf. Nun sieht die Tabelle in etwa so aus:

\begin{longtable}{|!{\LCi}l|!{\LCi}l|}
\caption{Tabellenüberschrift}\\
\hline
\unmark
%\LColors & \\
Spalte A & Spalte B \\
\hline
\endhead
\hline
\endfoot
\marker
Eintrag 1A & Eintrag 1B \\
\unmark
Eintrag 2A & Eintrag 2B \\
% 281 weitere "nicht-markierte" Zeilen
Eintrag 284A & Eintrag 284B %\\
%\hline
\label{tab:A1}
\end{longtable}

Wie man vielleicht sieht, hab ich auch geguckt, ob’s an meinen Befehlen liegen könnte, aber ich erhalte immer die Fehlermeldung:

! Undefined control sequence.
\LCi@ ...mpdima =\doublerulesep \ifnum \CT@LCflag 
 =\z@ \ifnum \CT@LCnum =\CT...
l.599 \begin{longtable}{|!{\LCi}l|!{\LCi}l|}

Dann hab ich überlegt, ob vielleicht Tabellenkopf und -fuß nicht beachtet wurden und habe versuchsweise den gesamten Fuß und Kopf auskommentiert (und natürlich hinter die letzte Zeile den Zeilenumbruch gesetzt). Hat auch nichts geholfen.

Was mach ich falsch? Oder woran liegt das sonst? Colortab selbst sollte doch hinreichend erprobt sein?

Danke!
Schnoof

Hallo,

was spricht dagegen, einzelne Einträge per \colorbox hervorzuheben?

\documentclass[a4paper,12pt]{scrreprt}

\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage[usenames]{color}

\begin{document}
\begin{tabular}{lll}
 \hline 
 \textsl{Head1} & \textsl{Head2} & \textsl{Head3} \\
 \hline
 Eintrag1 & Eintrag2 & Eintrag3 \\ 
 Eintrag4 & \colorbox{Gray}{Eintrag5} & Eintrag6 \\ 
 Eintrag7 & Eintrag8 & Eintrag9 \\
 \hline
\end{tabular}
\end{document}

Gruß

Fritze

was spricht dagegen, einzelne Einträge per \colorbox
hervorzuheben?

  1. Ich wusste nicht von dieser Möglichkeit. Meine LaTeX-Kenntnisse sind mehr als rudimentär, Farben habe ich bisher noch nicht verwendet und ich habe speziell nach Einfärbungen in Tabellen gesucht und dabei nur Verweise auf colortab und colortbl gefunden.
  2. Nun hab ich deinen Vorschlag ausprobiert. Es sieht etwas bescheiden aus, weil ich eigentlich immer gleich eine ganze Zeile einfärben will, aber die colorbox nur den folgenden String hinterlegt. Die Einträge in meiner Tabelle sind unterschiedlich lang. Außerdem liegt der Rand der Box über den hlines, d. h. die werden an diesen Stellen auch vom grau verdeckt. Ich habe auch schon „\colorbox{Gray}{Eintrag 1 & Eintrag 2} \“ versucht, aber das fand er erwartungsgemäß auch nicht toll.

Bis denne
Schnoof

Habe mein Problem inzwischen mit colortbl gelöst, das scheint ja auf spalten- oder zeilenweises Einfärben spezialisiert zu sein.

Aber was nun bei meiner colortab-Variante falsch war, wüsste ich trotzdem gern.

Bis denne
Schnoof

Hallo,

  1. Nun hab ich deinen Vorschlag ausprobiert. Es sieht etwas
    bescheiden aus, weil ich eigentlich immer gleich eine ganze
    Zeile einfärben will, aber die colorbox nur den folgenden
    String hinterlegt.

Nein. Sie hinterlegt eine Box mit einer Farbe. Daher der Name. Die Breite der Box ist zwar automatisch auf den enthaltenen Text beschränkt, Du kannst sie aber auch „verbreitern“.

Ich konnte nicht ahnen, dass Du mit „einigen Einträgen“ stets „einige Zeilen“ meintest. Tipp: Schreibe doch das nächste mal einfach direkt, was Du meinst. Dann muss man nicht raten.

Gruß

Fritze

Ich konnte nicht ahnen, dass Du mit „einigen Einträgen“ stets
„einige Zeilen“ meintest. Tipp: Schreibe doch das nächste mal
einfach direkt, was Du meinst. Dann muss man nicht raten.

Ich war wohl durch meine zuvorigen Versuche zu sehr auf zellenweises Einfärben versiert … ;o)

Aber dennoch würd mich interessieren, woran es nun bei colortab hakte. Es ist ja immer hübsch, was neues zu lernen, kann man ja vielleicht irgendwann noch mal gebrauchen. colorbox ist erst mal im Kopf vermerkt, find ich eigentlich ganz nett.

Bis denne
Schnoof

Hallo,

Aber was nun bei meiner colortab-Variante falsch war, wüsste
ich trotzdem gern.

Ich habe colortab selbst auch noch nie verwendet, aber ein Blick in die Anleitung ergibt folgendes:

„longtable.sty“, by David Carlisle, defines the „longtable“ environment, for making multipage tables. „\LCC“ will not work with „longtable“. However, „colortab“ contains other macros that will work, if you use „longtable.sty“ in conjunction with Frank Mittelbach’s „array.sty“. These macros have been tested only briefly […]

Ich würde bei gleichzeitiger Nutzung von „longtable“ erstmal auf ein anderes Makropaket ausweichen. Du hast ja bereits das passende gefunden.

Gruß

Fritze