Die Farbe einer Spalte kann man mit Hilfe von [`colortbl`](http://www.ctan.org/pkg/colortbl) setzen. Da man dafür auch noch ein Farbpaket benötigt, lädt man am besten gleich [`xcolor`](http://www.ctan.org/pkg/xcolor) mit Option `table`.
Für Unterscheidungen in Abhängigkeit des Inhalts einer Spalte sind in `datatool` diverse Befehle definiert. Hier bietet sich beispielsweise an mit `\DTLifeq` oder `\DTLifstringeq` am Anfang der ersten Spalte zu testen, ob `\tagKurz` beispielsweise `So` ist. Für ein `\cellcolor` würde das bereits genügen. Allerdings verwendet `colortbl` für `\rowcolor` ein `\noalign`, damit die Zeilenfarbe noch vor der Verarbeitung der ersten Zelle gesetzt wird und nicht lokal zu dieser ist. Ein `\noalign` im Argument von `\DTLifstringeq` funktioniert nicht mehr, da dann bereits das `\DTLifstringeq` als Teil der Tabellenzelle verarbeitet wird. Es gibt jedoch einen Trick:
%\RequirePackage{filecontents}
\begin{filecontents*}{timesheet.csv}
tag, tagKurz, datum, art, arbeitVon, arbeitBis, pauseVon, pauseBis, std, tage, projekt
Sonntag, So, 31.12.2014, , , , , , , ,
Donnerstag, Do, 04.01.2015, , 09:00, 19:00, 13:00, 14:00, 9.00, 1.00, BMW Halle 2.B Nord
Freitag, Fr, 05.01.2015, UH, 13:00, 18:30, , , 5.5, 0.5, Audi
Samstag, Sa, 06.01.2015, , , , , , , ,
Sonntag, So, 07.01.2015, , 15:00, 17:00, , , 2.00, 0.25,
Montag, Mo, 08.01.2015, , , , , , , ,
\end{filecontents*}
\documentclass[10pt,a4paper]{article}
\usepackage[ngerman]{babel} %nachinstalliert!
\usepackage[paper=a4paper,left=20mm,right=20mm,top=15mm,bottom=15mm]{geometry}
\usepackage{longtable}
\usepackage{datatool}
%\setlength{\parindent}{0pt}% Das ist nicht gut!
\usepackage{parskip}% Das ist besser. Bei KOMA-Script stattdessen \documentclass[parskip]{…}
\usepackage[table]{xcolor}
\DTLloaddb{times}{timesheet.csv}
\newenvironment{timesheet}
{ \setlength{\tabcolsep}{0pt}%
\begin{longtable}
{@{}p{0.075\textwidth}p{0.125\textwidth}p{0.075\textwidth}p{0.1\textwidth}p{0.1\textwidth}p{0.1\textwidth}p{0.1\textwidth}p{0.075\textwidth}p{0.075\textwidth}p{0.145\textwidth}}
\multicolumn{3}{c}{} & \multicolumn{2}{c}{Arbeitszeit} & \multicolumn{2}{c}{Pausenzeit}& & & \\
Tag & Datum & Art & Kommen & Gehen & Kommen & Gehen & Std & Tage & Projekt \\
\endhead
}
{ \end{longtable} }
\begin{document}
\begin{timesheet}
\DTLforeach{times}{
\tag=tag, \tagKurz=tagKurz, \datum=datum, \art=art,
\arbeitVon=arbeitVon, \arbeitBis=arbeitBis, \pauseVon=pauseVon, \pauseBis=pauseBis,
\std=std, \tage=tage, \projekt=projekt}{%
\DTLifstringeq{\tagKurz}{So}{\\\kill\rowcolor{red}}{}%
\tagKurz & \datum & \art & \arbeitVon & \arbeitBis & \pauseVon & \pauseBis & \std & \tage & \projekt\\
}
\end{timesheet}
\end{document}
`longtable` bietet die Möglichkeit, Zeilen erst zu definieren und dann mit `\kill` doch nicht auszugeben. Das wird hier verwendet. Wird mit `\DTLifstringeq` festgestellt, dass es sich um einen Sonntag handelt, dann wird die aktuelle Zeile, die von `\DTLifstringeq` bereits begonnen wurde, gleich wieder mit `\\` beendet und diese (nun ja eigentlich noch immer leere) Zeile mit `\kill` gelöscht. Damit befinden wir uns wieder am Anfang einer Tabellenzeile und können sie mit `\rowcolor` einfärben:
![Tabelle mit roten Zeilen für So][1]
Will man weitere Zeilen abhängig vom Inhalt färben, kann man das ganz genauso machen oder auch einfach die vorhandene Fallunterscheidung erweitern. Es würde also sowohl
\DTLifstringeq{\tagKurz}{Sa}{\\\kill\rowcolor{red}}{}%
\DTLifstringeq{\tagKurz}{Sa}{\\\kill\rowcolor{red}}{}%
als auch
\DTLifstringeq{\tagKurz}{Sa}{\\\kill\rowcolor{red}}{%
\DTLifstringeq{\tagKurz}{So}{\\\kill\rowcolor{red}}{}%
}%
funktionieren, um sowohl Sonntage als auch Samstage einzufärben.
Näheres zu den Fallunterscheidungen, die [`datatool`](http://ctan.org/pkg/datatool) bietet, ist dessen Anleitung zu entnehmen. Dort findet man auch diverse Beispiele zur Verwendung dieser Befehle.
Näheres zu Farben und deren Verwendung in Tabellen ist den Anleitungen zu den Paketen [`xcolor`](http://ctan.org/pkg/xcolor) und [`colortbl`](http://ctan.org/pkg/colortbl) zu entnehmen.
Näheres zu `\kill`, dessen eigentlicher Funktion und Auswirkungen ist der Anleitung zum Paket [`longtable`](http://ctan.org/pkg/longtable) zu entnehmen.
[1]: http://texwelt.de/wissen/upfiles/test8_3.png