Tabellen farbig hinterlegen

Die einfachste Methode ist die Verwendung des Packetes \colortbl. Dieses stellt einem zwei Befehle zur Verfügung, mit denen man Zeilen und Spalten farbig hinterlegen kann. Es handelt sich hierbei um
\columncolor[Farbmodell]{Farbe}[Linker Overhang][Rechter Overhang]
\rowcolor[Farbmodell]{Farbe}[Linker Overhang][Rechter Overhang]

Wie immer, die Optionen in den eckigen Klammern sind optional ;). Man kann mit der ersten Option Farben direkt definieren, dort also, wie schon in Farbe in LaTeX, das Farbmodell (RGB, gray oder CMYK) angeben und in der geschweiften Klammer die Farbwerte. Alternativ verwendet man zuvor definierte Farben und kann die erste Optionen-Klammer weglassen.

Wie erhält man nun farbig hinterlegte Tabellen? Eigentlich ist dies relativ einfach. Zeilen hinterlegt man mit einer Farbe, in dem man am Anfang der zu färbenden Tabelle den Befehl \rowcolor{Farbe} angibt. Dies sieht dann wie folgt aus:
\begin{tabular}{|c|c|c|}
Zelle 11 & Zelle 12 & Zelle 13 \\
\rowcolor{hellgrau} $\ldots$ & $\ldots$ & $\ldots$ \\
$\ldots$ & $\ldots$ & $\ldots$ \\
\rowcolor{hellgrau} Zelle n1 & Zelle n2 & Zelle n3 \\
\end{tabular}

Man stellt nun allerdings fest, dass die Gitterlinien teilweise verdeckt sind. Um dies zu verhindern, muss man die Option "Overhang" verwenden. Um die Gitterlinien sichtbar zu machen hilft es bei mir, den linken "Overhang" auf 5.5pt oder 0.9\tabcolsep einzustellen, der Quellcode sieht dann wie folgt aus:
\begin{tabular}{|c|c|c|}
Zelle 11 & Zelle 12 & Zelle 13 \\
\rowcolor{hellgrau}[5.5pt] $\ldots$ & $\ldots$ & $\ldots$ \\
$\ldots$ & $\ldots$ & $\ldots$ \\
\rowcolor{hellgrau}[5.5pt] Zelle n1 & Zelle n2 & Zelle n3 \\
\end{tabular}

Einfärben von einzelnen Spalten funktioniert ähnlich. Hier wird die Definition in die Spaltendefinition hinter \begin{tabular} eingefügt. Auch hier musste ich den linken Overhang anpassen, damit die Gitterlinien sichtbar waren. Der \columncolor{Farbe}[Linker Overhang]-Befehl wird in geschweifte Klammern gesetzt und mit einem größer-Zeichen '>' eingeleitet. Es steht vor der Definition der Ausrichtung einer Tabellenspalte:
\begin{tabular}{| >{\columncolor{hellgrau}[5.5pt]}c|c| >{\columncolor{hellgrau}[5.5pt]}c|}
Zelle 11 & Zelle 12 & Zelle 13 \\
$\ldots$ & $\ldots$ & $\ldots$ \\
Zelle n1 & Zelle n2 & Zelle n3 \\
\end{tabular}

Einzelne Zellen muss man mit Hilfe von \multicolumn einfärben. Eine einzelne Tabellenzeile mit einer umgefärbten Zelle sieht dann wie folgt aus:
$\ldots$ & \multicolumn{1}{>{\columncolor{hellgrau}[5.5pt]}c}{farbige Zelle}& $\ldots$ \\

Mit dem Overhang muss man evtl. etwas herumspielen. Falls jemand eine Lösung für den vertikalen "Overhang" hat (Denn auch nach oben werden Gitterlinien überdeckt), kann er sie vielleicht in den Kommentaren hinterlassen?! ;)

So, und zuguterletzt, eine Beispiel-Tex-Datei und das zugehörige PDF (27kb).

4 comments

  1. Eine mögliche Lösung für den „vertikalen Overhang“:

    begin{table}[ht]
    small
    extrarowheight2pt
    begin{tabular}{|ll|}
    hline
    multicolumn{2}{|>{columncolor{lightergray}}l|}{Title}\ hline
    eins & zwei\ hline
    end{tabular}
    end{table}

  2. Ich glaube beim packagenamen (1.Zeilte, fett) fehlt ein l am Schluss.

  3. Vielen Dank, dass Du mich darauf aufmerksam gemacht hast :) Da fehlt tatsächlich ein ‚l‘. Werde ich gleich mal ändern :).

  4. danke für diesen post. ich hab mein problem gegooglet und find gleich so eine super lösung hier. ganz toll! :)