\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}

\setlength{\parindent}{0pt}
\setlength{\parskip}{1ex plus 0.2ex minus 0.1ex}


\usepackage{dcolumn,longtable,hhline,colortbl}
\usepackage[table]{xcolor}
\setlongtables% 
\begin{document}

\def\slash#1{\textbackslash#1}

 \title{The \textsf{colortbl} package\footnote{1.\,"Ubersetzungsversion,
 letzte "Anderung 30.\,7. 2022}}

 \author{{\huge David Carlisle}\\ (\"Ubersetzung: Anne-Katrin Leich \& Christine
 R"omer)}

\date{\today}

\maketitle

\begin{abstract}
Durch das flexible Setzen farbiger `Felder' erm"oglicht dieses Paket die 
Hintergrundgestaltung definierter Spalten in Tabellen. Dazu werden das \textsf{array}- und 
das \textsf{color}-Paket ben"otigt.
\end{abstract}

\section{Einleitung}

Das Paket \textsf{colortbl} dient dem Einf"arben von Tabellen (d.\,h. der farbigen 
Gestaltung von 
Fl"achen hinter Tabelleneintr"agen). Es "ahnelt Timothy Van Zandts \textsf{colortab}-Paket. 
Die innere Anwendungsstruktur ist zwar anders, \textsf{colortab} benutzt aber wie 
\textsf{colortbl} nicht nur Tabellen-Konstruktionen von \LaTeX, sondern auch die anderer 
Formate. \textsf{colortbl} basiert also auf \LaTeX (und dessen \textsf{color}- und 
\textsf{array}- Pakete).

	Zum Vergleich zun"achst eine einfache Tabelle:

\begin{center}
\begin{minipage}{.75\textwidth}
\begin{verbatim}
\begin{tabular}{|l|c|}
  eins & zwei\\
  drei & vier
\end{tabular}
\end{verbatim}
\end{minipage}
{\bfseries
  \begin{tabular}{|l|c|}
  eins&zwei\\
  drei&vier
  \end{tabular}}
 \end{center}

\section{ Der \slash \textsf{columncolor}-Befehl}

Die folgenden Beispiele demonstrieren verschiedene Anwendungsm"oglichkeiten des durch 
\textsf{colortbl} eingef"uhrten \slash \textsf{columncolor}-Befehls. Die vertikalen Linien,
durch | 
definiert, werden bewusst in allen Beispielen verwendet, um die Positionierung der Spalten 
zu verdeutlichen. Auch wenn Sie vielleicht  letztendlich nicht farbige
Felder \emph{und} vertikale Linien verwenden m"ochten.

Der hier genannte \slash \textsf{columncolor}-Befehl sollte (nur) als Argument im Sinne 
der > 
column-Definition gebraucht werden, um ein farbiges Feld hinter die definierte Spalte zu 
legen. Er kann in der einleitenden Pr"aambel als Argument von \textsf{array}-, 
\textsf{tabular}- und auch in \slash{multicolumn}-Definitionen eingesetzt werden.

Der elementare Quelltext lautet:\\
\slash \textsf{columncolor}[<\emph{color model}>]\{<\emph{colour}>\}
                          [<\emph{left overhang}>][<\emph{right overhang}>]

Das erste Argument (oder die ersten beiden, falls das optionale Argument in Anspruch 
genommen wird) ist das "ubliche Argument des \textsf{color}-Pakets wie es
auch bei \slash \textsf{color} auftritt. 

Die letzten beiden Argumente geben an, nach welchem Abstand das Feld hinter dem breitesten
Tabelleneintrag endet.
Wenn das Argument \emph{rechter "Uberhang} nicht in Anspruch genommen wird, entspricht es 
dem Argument \emph{linker "Uberhang}. Bleiben beide undefiniert, entsprechen sie dem vorgegebenen 
Wert von \slash \textsf{tabcolsep} (im \textsf{tabular}-Paket) oder
\slash \textsf{arraycolsep} (im \textsf{array}-Paket).

Setzt man die "Uberhang-Argumente auf $0 \textrm{pt}$, tritt folgender Effekt ein:
\begin{center}
\begin{minipage}{.75\textwidth}
\begin{verbatim}
|>{\columncolor[gray]{.8}[0pt]}l|
>{\color{white}%
  \columncolor[gray]{.2}[0pt]}l|
\end{verbatim}
\end{minipage}
{\bfseries
\begin{tabular}{%
|>{\columncolor[gray]{.8}[0pt]}l|
 >{\color{white}%
    \columncolor[gray]{.2}[0pt]}l|
  }
  eins & zwei\\
  drei & vier
 \end{tabular}}
 \end{center}
Der voreingestellte "Uberhang von \slash \textsf{tabcolsep} produziert folgendes Layout:
\begin{center}
\begin{minipage}{.75\textwidth}
\begin{verbatim}
|>{\columncolor[gray]{.8}}l|
>{\color{white}%
  \columncolor[gray]{.2}}l|
\end{verbatim}
\end{minipage}
 {\bfseries
 \begin{tabular}{%
   |>{\columncolor[gray]{.8}}l|
   >{\color{white}%
     \columncolor[gray]{.2}}l|
   }
  eins & zwei\\
  drei & vier
  \end{tabular}}
\end{center}
M"oglicherweise bedarf man einer Definition, die zwischen diesen Extrembeispielen liegt. 
Ein Betrag von .5\slash \textsf{tabcolsep} sieht dann so aus:

 \begin{center}
\begin{minipage}{.75\textwidth}
\begin{verbatim}
|>{\columncolor[gray]{.8}[.5\tabcolsep]}l|
 >{\color{white}%
\columncolor[gray]{.2}[.5\tabcolsep]}l|
\end{verbatim}
\end{minipage}
{\bfseries
\begin{tabular}{%
   |>{\columncolor[gray]{.8}[.5\tabcolsep]}l|
  >{\color{white}\columncolor[gray]{.2}[.5\tabcolsep]}l|
   }
  eins & zwei\\
  drei & vier
 \end{tabular}}
\end{center}

\textsf{colortbl} sollte mit den meisten anderen Paketen kompatibel sein, die mit der 
Syntax des \textsf{array}-Pakets vereinbar sind. Im Einzelfall arbeitet es mit 
\textsf{longtable} und \textsf{dcolumn}, wie es das folgende Beispiel zeigt:
\errorcontextlines10
 \newcolumntype{A}{%
    >{\color{white}\columncolor{red}[.5\tabcolsep]%
       \raggedright}%
   p{2cm}}
 \newcolumntype{B}{%
    >{\columncolor{blue}[.5\tabcolsep]%
      \color{yellow}\raggedright}
   p{3cm}}
 \newcolumntype{E}{%
    >{\large\bfseries
      \columncolor{cyan}[.5\tabcolsep]}c}
 \newcolumntype{F}{%
    >{\color{white}
      \columncolor{magenta}[.5\tabcolsep]}c}
 \newcolumntype{G}{%
   >{\columncolor[gray]{0.8}[.5\tabcolsep][\tabcolsep]}l}
\newcolumntype{H}{>{\columncolor[gray]{0.8}}l}


3.3 so wie im folgenden verbatim-Text zu verwenden ist am besten, aber
dann besteht die Notwendigkeit die Version vom Juni 1996 von
\textsf{dcolumn} zu benutzen, dann nehme man hier -1.
\newcolumntype{C}{%
     >{\columncolor{yellow}[.5\tabcolsep]}%
       D{.}{\cdot}{-1}}    
 \newcolumntype{I}{%
    >{\columncolor[gray]{0.8}[\tabcolsep][.5\tabcolsep]}%
                  D{.}{\cdot}{-1}}    

\setlength\minrowclearance{2pt}
Ehe die Tabelle beginnt, sollte ein kleiner Leerraum eingef"ugt werden: 

\slash \textsf{setlength}\slash \textsf{minrowclearance}\{$2\textrm{pt}$\}

\begin{longtable}{ABC}
\multicolumn{3}{E}{Bsp. f"ur eine lange Tabelle}\\
\multicolumn{2}{F}{die ersten beiden Spalten}&
\multicolumn{1}{F}{die dritte Spalte}\\
\multicolumn{2}{F}{p-type} &
\multicolumn{1}{F}{D-type (\textsf{dcolumn})}\endfirsthead
\multicolumn{3}{E}{Bsp. f"ur eine lange Tabelle (Fortsetzung)}\\
\multicolumn{2}{F}{die ersten beiden Spalten} &
\multicolumn{1}{F}{die dritte Spalte}\\
\multicolumn{2}{F}{p-type} &
\multicolumn{1}{F}{D-type (\textsf{dcolumn})}\endhead
\multicolumn{3}{E}{Fortsetzung folgt\ldots}\endfoot
\multicolumn{3}{E}{Ende}\endlastfoot
P-column & und eine &12.34\\
\multicolumn{1}{G}{Total}&
\multicolumn{1}{H}{(falsch)}&
\multicolumn{1}{I}{100.6}\\
Ein etwas l"angerer Text in der ersten Spalte & bbb & 1.2\\
  aaa & und etwas mehr Text in der zweiten Spalte & 1.345\\
\multicolumn{1}{G}{Total} &
\multicolumn{1}{H}{(falsch)} &
\multicolumn{1}{I}{100.6}\\
aaa & bbb & 1.345\\
Beachten Sie, dass sich die farbigen Linien der Breite der l"angsten  
Tabelleneintr"age anpassen. & bbb &1.345\\
aaa & bbb &100\\
aaa & Abh"angig vom Treiber enstehen dort, wo sich Felder beeinflussen, unansehnliche 
L"ucken oder Linien. Sie k"onnen dann durch die Definition von "Uberhang-Komponenten
angrenzende Fl"achen derselben Farbe erzeugen oder durch \textsf{noalign} `negative 
Felder'zwischen Zeilen einf"ugen. & 12.4\\
aaa & bbb & 45.3\\
\end{longtable}

Dieses Beispiel zeigt ein wenig ansprechendes Layout, ist jedoch farbenfroh gestaltet. 
F"ur den vollst"andigen Quelltext "offnen sie die Quelldatei
\textsf{colortbl.dtx}. Die 
verwendeten Spalten-Typen finden Sie aber auch hier:

\begin{verbatim}
\newcolumntype{A}{%
   >{\color{white}\columncolor{red}[.5\tabcolsep]%
     \raggedright}%
      p{2cm}}
\newcolumntype{B}{%
   >{\columncolor{blue}[.5\tabcolsep]%
     \color{yellow}\raggedright}
     p{3cm}}
\newcolumntype{C}{%
   >{\columncolor{yellow}[.5\tabcolsep]}%
     D{.}{\cdot}{3.3}}    
\newcolumntype{E}{%
   >{\large\bfseries
    \columncolor{cyan}[.5\tabcolsep]}c}
\newcolumntype{F}{%
   >{\color{white}
     \columncolor{magenta}[.5\tabcolsep]}c}
\newcolumntype{G}{%
   >{\columncolor[gray]{0.8}[.5\tabcolsep][\tabcolsep]}l}
\newcolumntype{H}{>{\columncolor[gray]{0.8}}l}
\newcolumntype{I}{%
   >{\columncolor[gray]{0.8}[\tabcolsep][.5\tabcolsep]}%
      D{.}{\cdot}{3.3}}    
\end{verbatim}

\section{Benutzung der `"Uberhang'-Argumente f"ur \textsf{tabular*}}

Die bisher aufgef"uhrten Optionen eignen sich f"ur tabular, aber wie sieht es mit 
\textsf{tabular*} aus?

In diesem Fall ist die Gestaltung farbiger Felder schwieriger. Die
Anwendung des
\TeX Befehls \slash \textsf{leader}, der zum Einf"ugen breiterer farbiger Felder dient, 
"ahnelt \emph{glue}. \slash \textsf{tabskip} glue, das bei \textsf{tabular*} 
(und in diesem Fall auch bei \textsf{longtable}) zwischen den Spalten eingef"ugt wird, 
muss ein `wirklicher glue-Befehl' sein, keine `leader-Anweisung'.

Mit einigen Einschr"ankungen kann aber auch hier die "Uberhang-Funktion genutzt werden. 
Beachten Sie nachfolgend die erste Beispieltabelle. Mit \textsf{tabular*} kann in der Pr"aambel 
eine Breite von 3\,cm festgelegt werden:
\begin{center}
\begin{minipage}{.6\textwidth}
\begin{verbatim}
\begin{tabular*}{3cm}{%
@{\extracolsep{\fill}}
>{\columncolor[gray]{.8}[0pt][20mm]}l
>{\columncolor[gray]{.8}[5mm][0pt]}l
@{}}
\end{verbatim}
\end{minipage}
 {\bfseries
 \begin{tabular*}{3cm}{%
 @{\extracolsep{\fill}}
 >{\columncolor[gray]{.8}[0pt][20mm]}l
 >{\columncolor[gray]{.8}[5mm][0pt]}l
 @{}%
   }
  eins & zwei\\
 drei & vier
\end{tabular*}}
\end{center}

 Das Feld kann auf 4\,cm  verbreitert werden, aber fordern Sie Ihr Gl"uck nicht mit einer
 weiteren Verbreiterung auf 5\,cm heraus \ldots
 \begin{center}
 \bfseries
 \begin{tabular*}{4cm}{%
 @{\extracolsep{\fill}}
>{\columncolor[gray]{.8}[0pt][20mm]}l
 >{\columncolor[gray]{.8}[5mm][0pt]}l
 @{}%
  }
  eins & zwei\\
drei & vier
  \end{tabular*}\hfill
 \begin{tabular*}{5cm}{%
 @{\extracolsep{\fill}}
 >{\columncolor[gray]{.8}[0pt][20mm]}l
 >{\columncolor[gray]{.8}[5mm][0pt]}l
 @{}%
   }
  eins & zwei\\
  drei & vier
 \end{tabular*}
 \end{center}

\section{Der \slash \textsf{rowcolor}-Befehl}

Wie demonstriert, kann die Farbe von definierten Zeilen einer Tabelle mit Hilfe des 
\slash \textsf{multicolumn}-Befehls ver"andert werden. Besteht Ihre Tabelle hingegen 
prinzipiell aus \emph{rows}, k"onnten Sie dies als unvorteilhaft empfinden. Aus diesem 
Grund wurde der Befehl \slash \textsf{rowcolor} eingef"uhrt\footnote{Zum Teil auf Kosten 
der Komplexit"at von colortbl.}.

\slash \textsf{rowcolor} arbeitet mit den gleichen Argument-Strukturen wie 
\slash \textsf{columncolor}. Der Befehl muss zu \emph{Beginn} der Zeile eingef"ugt werden. 
Spart man die optionalen "Uberhang-Argumente wieder aus, entsprechen diese den Defintionen 
der \slash \textsf{columncolor}-Befehle der entsprechenden Spalte, bzw. der Defintiion 
von\\
\slash \textsf{tabcolsep} (oder \slash \textsf{arraycolsep} im \textsf{array}-Paket).

Konkurrieren bei einem Tabelleneintrag eine \slash \textsf{columncolor}-Definition aus der
Tabellen-Pr"aambel und eine \slash \textsf{rowcolor}-Festlegung vom Beginn der jeweiligen 
Zeile miteinander, setzt sich der \slash \textsf{rowcolor}-Befehl durch. Der 
\slash \textsf{multicolumn}-Befehl darf >\{\slash \textsf{rowcolor}\ldots\ enthalten, 
sodass die voreingestellten Farben der betreffenden Zeile und Spalte aufgehoben werden.
\begin{center}
\begin{minipage}{.75\textwidth}
\begin{verbatim}
\begin{tabular}{|l|c|}
  \rowcolor[gray]{.9}
   eins & zwei\\
  \rowcolor[gray]{.5}
   drei & vier
\end{tabular}
\end{verbatim}
\end{minipage}
 {\bfseries
  \begin{tabular}{|l|c|}
  \rowcolor[gray]{.9}
  eins & zwei\\
  \rowcolor[gray]{.5}
  drei & vier
  \end{tabular}}
 \end{center}


\section{Der \slash \textsf{rowcolors} Befehl}
Der \slash \textsf{rowcolors}-Befehl und seine Dokumentation stammen aus dem \textsf{xcolor}-Paket
von Dr. Uwe Kern.

\textbf{\slash rowcolors}\\\relax
  [commands]\{row\}\{odd-row color\}\{even-row color\}

\textbf{\slash rowcolors*}\\\relax
  [commands]\{row\}\{odd-row color\}\{even-row color\}

Einer dieser Befehle muss ausgeführt werden, \emph{bevor} eine Tabelle gestartet wird.

\emph{row} gibt die Nummer der ersten Zeile an, die nach dem Schema \emph{odd-row color} und \emph{even-row color} gefärbt werden soll.
Jedes der Farbargumente kann auch leer gelassen werden (= keine Farbe).
In der Version mit Stern werden Befehle \emph{commands} in Zeilen mit inaktivem \emph{rowcolors status} (siehe unten) ignoriert, während in der Version ohne Stern \emph{Befehle} auf jede Zeile der Tabelle angewendet werden.
Solche optionalen Befehle können \verb"\hline" oder \verb"\noalign"\{\emph{stuff}\} sein.

\textbf{\slash showrowcolors, \slash hiderowcolors}


Der \emph{rowcolors status} ist standardmäßig aktiviert (d.h. das Farbschema wird verwendet),
er wird durch den Befehl \verb"\hiderowcolors" deaktiviert (d.h. das Farbschema wird ignoriert) und kann
mit \verb"\showrowcolors" wieder aktiviert werden.

\textbf{\slash rownum}

Der Zähler \verb"\rownum" (oder \LaTeX\ Zähler \verb"rownum"
kann innerhalb einer solchen Tabelle verwendet werden, um auf die aktuelle Zeilennummer zuzugreifen.

Derzeit wird der \verb"rownum"-Zähler nur in Tabellen mit \verb"\rowcolors" inkrementiert.

\begin{center}
\begin{minipage}{\textwidth}
\begin{verbatim}
\rowcolors[\hline]{3}{green}{yellow} \arrayrulecolor{red}
\begin{tabular}{ll}
test & row \therownum\\
test & row \therownum\\
test & row \therownum\\
test & row \therownum\\
\arrayrulecolor{black}
test & row \therownum\\
test & row \therownum\\
\rowcolor{blue}
test & row \therownum\\
test & row \therownum\\
\hiderowcolors
test & row \therownum\\
test & row \therownum\\
\showrowcolors
test & row \therownum\\
test & row \therownum\\
\multicolumn{1}%
 {>{\columncolor{red}}l}{test} & row \therownum\\
\end{tabular}
\end{verbatim}
\end{minipage}
\hskip-.5\textwidth
\rowcolors[\hline]{3}{green}{yellow} \arrayrulecolor{red}
\begin{tabular}{ll}
test & row \therownum\\
test & row \therownum\\
test & row \therownum\\
test & row \therownum\\
\arrayrulecolor{black}
test & row \therownum\\
test & row \therownum\\
\rowcolor{cyan}
test & row \therownum\\
test & row \therownum\\
\hiderowcolors
test & row \therownum\\
test & row \therownum\\
\showrowcolors
test & row \therownum\\
test & row \therownum\\
\multicolumn{1}%
 {>{\columncolor{magenta}}l}{test} & row \therownum\\
\end{tabular}
\qquad
\rowcolors*[\hline]{3}{green}{yellow}\arrayrulecolor{red}
\begin{tabular}{ll}
test & row \therownum\\
test & row \therownum\\
test & row \therownum\\
test & row \therownum\\
\arrayrulecolor{black}
test & row \therownum\\
test & row \therownum\\
\rowcolor{blue}
test & row \therownum\\
test & row \therownum\\
\hiderowcolors
test & row \therownum\\
test & row \therownum\\
\showrowcolors
test & row \therownum\\
test & row \therownum\\
\multicolumn{1}%
 {>{\columncolor{red}}l}{test} & row \therownum\\
\end{tabular}
\arrayrulecolor{black}
\end{center}

 \section{Der \slash \textsf{cellcolor} Befehl}

Die Einstellung der Hintergrundfarbe kann auch auf eine einzelne Zelle beschr"ankt werden, 
indem zu Beginn der Befehl \slash \textsf{multicolumn}\{1\}\{>\slash
\textsf{rowcolor}\ldots, (oder
\slash \textsf{columncolor}, wenn keine Zeilenfarbe eingestellt ist) eingegeben wird. Hier treten 
jedoch Defizite auf: 1)~Es hindert die Daten in der Zelle, die F"arbung
auszul"osen; 2)~die Defintionen f"ur die Ausrichtung der Tabelle m"ussen aus dem Tabellenkopf 
kopiert werden und sind anf"allig f"ur Fehlermeldungen, insbesondere bei
p\{\} Spalten; 3)~die Anweisung \slash \textsf{multicolumn}\{1\} ist unsinnig. Ersatzweise gibt es 
den \slash \textsf{cellcolor}-Befehl, der wie \slash \textsf{columncolor}
und \slash \textsf{rowcolor} funktioniert, aber beide aufhebt. \slash
\textsf{cellcolor} kann auf jede einzuf"arbende Tabellenzelle angewendet werden.

\section{Linien einf"arben}

Sie ben"otigen auch farbige Linien?

Das Einf"arben von Linien bedarf keiner speziellen Befehle. Verwenden Sie
einfach !\{\slash \textsf{color}\{green\}\slash \textsf{vline}\} an Stelle von |. Die Leerstelle 
zwischen || ist im Normalfall wei"s. Um diese farbig zu gestalten, erweitern Sie die 
"Uberhangeinstellung der vorangehenden Spalte (zu \slash \textsf{tabcolsep}
+ \slash \textsf{arrayrulewidth} + \slash \textsf{doublerulesep}). Oder entfernen Sie die glue-Regel 
bzw. ersetzen Sie diese durch eine farbige Linie der erforderten St"arke,
wie nachfolgend: 

\begin{verbatim}
{\color{green}\vline}
@{\color{yellow}\vrule width \doublerulesep}
!{\color{green}\vline}
\end{verbatim}

Es sollte sich der gleiche Abstand wie bei || ergeben, nur mit entsprechender Farbigkeit.

Allerdings stellt sich das Einf"arben von \slash \textsf{hline} und \slash
\textsf{cline} als etwas kniffliger heraus. Deshalb wurden extra Befehle eingef"uhrt (die dann auch 
auf vertikale Linien angewendet werden k"onnen).

\section{\slash \textsf{arrayrulecolor}}

\slash \textsf{arrayrulecolor} ben"otigt die gleichen Argumentfestlegungen
wie \slash \textsf{color}. Es handelt sich um eine globale Deklaration, die alle folgenden 
horizontalen und vertikalen Linien in Tabellen betrifft. Sie kann
folgenderma"sen definiert werden: Wird au"serhalb einer jeden Tabelle, zu Beginn einer Zeile oder 
als > Definition innerhalb einer Tabellenpr"aambel in der Tabellenmitte eine Regel eingef"ugt, gilt 
diese nur f"ur alle folgenden Linien. Alle vertikalen Linien vor der Regel erhalten diejenige Farbe, 
welche in der Tabellenpr"aambel festgelegt wurde.

\section{\slash \textsf{doublerulesepcolor}}
Wenn die Linien bunt sind, m"ochten Sie m"oglicherweise die wei"sen L"ucken, die durch || und 
\slash \textsf{hline}\slash \textsf{hline} entstanden sind, auch farbig gestalten. 
\slash \textsf{doublerulesepcolor} funktioniert wie \slash
\textsf{arrayrulecolor}. Zu beachten ist, dass \textsf{longtable} den Leerraum, der zwischen 
\slash \textsf{hline}\slash \textsf{hline} entsteht, bei einem
Seitenumbruch beibeh"alt. (\TeX\ 
l"oscht diesen Leeraum automatisch, jedoch  die gef"arbte Fl"ache, welche
vorher von \slash \textsf{doublerulesep} genutzt wurde, 
ist im Prinzip eine dritte Linie in einer anderen Farbe als die beiden 
anderen Linien. Linien sind aber hingegen nicht so einfach zu l"oschen.)

\begin{center}
\setlength\arrayrulewidth{2pt}\arrayrulecolor{blue}
\setlength\doublerulesep{2pt}\doublerulesepcolor{yellow}

\begin{minipage}{.75\textwidth}
\begin{verbatim}
\setlength\arrayrulewidth{2pt}\arrayrulecolor{blue}
\setlength\doublerulesep{2pt}\doublerulesepcolor{yellow}
\begin{tabular}{||l||c||}
 \hline\hline
  eins & zwei\\
  drei & vier\\
 \hline\hline
\end{tabular}
\end{verbatim}
\end{minipage}
 {\bfseries
  \begin{tabular}{|l||c||}
  \hline\hline
  eins&zwei\\
  drei&vier\\
  \hline\hline
  \end{tabular}}
 \end{center}

 \section{Mehr Spa"s mit \slash \textsf{hhline}}

Die obigen Befehle arbeiten mit \slash \textsf{hhline} des \textsf{hhline}-Pakets. Wie auch 
immer\\
\textsf{hhline} geladen wird, es gibt neben diesem Paket noch eine andere M"oglichkeit. Es 
kann >\{\slash \textsf{ldots}\} genutzt werden, um Defintionen hinzuzuf"ugen, welche zu den
- oder = \textsf{column}-Regel passen. Insbesondere k"onnen \slash
  \textsf{arrayrulecolor}- oder  \slash \textsf{doublerulesepcolor}-Festlegungen erg"anzt werden. 
Viele Stilhandb"ucher warnen davor, innerhalb von Tabellen Regeln
einzuf"ugen. Ich vermag es nicht, mir 
vorzustellen, was jene Kritiker aus dem folgenden Regenbogen-Beispiel gemacht h"atten:

\begin{center}
\setlength\arrayrulewidth{5pt}
\setlength\doublerulesep{5pt}
 \renewcommand{\arraystretch}{2}
 \definecolor{orange}{cmyk}{0,0.61,0.87,0}
 \definecolor{indigo}{cmyk}{0.8,0.9,0,0}
 \definecolor{violet}{cmyk}{0.6,0.9,0,0}
 \newcommand\rainbowline[1]{%
 \hhline{%
   >{\arrayrulecolor   {red}\doublerulesepcolor[rgb]{.3,.3,1}}%
   |#1:=%
   >{\arrayrulecolor{orange}\doublerulesepcolor[rgb]{.4,.4,1}}%
   =%
   >{\arrayrulecolor{yellow}\doublerulesepcolor[rgb]{.5,.5,1}}%
   =%
   >{\arrayrulecolor {green}\doublerulesepcolor[rgb]{.6,.6,1}}%
   =%
   >{\arrayrulecolor  {blue}\doublerulesepcolor[rgb]{.7,.7,1}}%
  =%
   >{\arrayrulecolor{indigo}\doublerulesepcolor[rgb]{.8,.8,1}}%
   =%
   >{\arrayrulecolor{violet}\doublerulesepcolor[rgb]{.9,.9,1}}%
   =:#1|%
   }}
 \arrayrulecolor{red}
 \doublerulesepcolor[rgb]{.3,.3,1}
 \begin{tabular}{||*7{>{\columncolor[gray]{.9}}c}||}
 \rainbowline{t}%
 \arrayrulecolor{violet}\doublerulesepcolor[rgb]{.9,.9,1}
 Richard&of&York&gave&battle&in&
 \multicolumn{1}{>{\columncolor[gray]{.9}}c||}{vain}\\
 \rainbowline{}%
 1&2&3&4&5&6&
 \multicolumn{1}{>{\columncolor[gray]{.9}}c||}{7}\\
 \rainbowline{b}%
 \end{tabular}
 \end{center}
\begin{verbatim}
 \newcommand\rainbowline[1]{%
 \hhline{%
   >{\arrayrulecolor   {red}\doublerulesepcolor[rgb]{.3,.3,1}}%
   |#1:=%
   >{\arrayrulecolor{orange}\doublerulesepcolor[rgb]{.4,.4,1}}%
   =%
   >{\arrayrulecolor{yellow}\doublerulesepcolor[rgb]{.5,.5,1}}%
   =%
   >{\arrayrulecolor {green}\doublerulesepcolor[rgb]{.6,.6,1}}%
   =%
   >{\arrayrulecolor  {blue}\doublerulesepcolor[rgb]{.7,.7,1}}%
   =%
   >{\arrayrulecolor{indigo}\doublerulesepcolor[rgb]{.8,.8,1}}%
   =%
   >{\arrayrulecolor{violet}\doublerulesepcolor[rgb]{.9,.9,1}}%
   =:#1|%
   }}
 \arrayrulecolor{red}
 \doublerulesepcolor[rgb]{.3,.3,1}%
 \begin{tabular}{||*7{>{\columncolor[gray]{.9}}c}||}
  \rainbowline{t}%
  \arrayrulecolor{violet}\doublerulesepcolor[rgb]{.9,.9,1}
  Richard & of & York & gave &battle & in &
  \multicolumn{1}{>{\columncolor[gray]{.9}}c||}{vain}\\
  \rainbowline{}%
  1 & 2 & 3 & 4 & 5 & 6 &
  \multicolumn{1}{>{\columncolor[gray]{.9}}c||}{7}\\
  \rainbowline{b}%
\end{tabular}
\end{verbatim}

\section{Weniger Spa"s mit \slash \textsf{cline}}

Mit  \slash \textsf{cline} erzeugte Linien k"onnen durch  \slash
\textsf{arrayrulecolor} eingef"arbt werden. Tritt jedoch in der folgenden Zeile ein Befehl zur 
Erzeugung eines Farbfelds auf, "uberdeckt dieser die Linienf"arbung. Das
ist ein kleines `Feature' von  \slash \textsf{cline}. Wenn Sie colortbl verwenden, sollten Sie 
innerhalb des  \slash \textsf{hhline}-Arguments anstelle von  \slash
\textsf{cline} besser den - Linientyp verwenden

\section{Der \slash \textsf{minrowclearance} Befehl}

Weil colortbl jeden Tabelleneintrag verpacken und berechnen muss, um zu ermitteln wie lang die 
Linien gezogen werden m"ussen, dachte ich daran, das  \slash
\textsf{minrowclearance}-Feature zu erg"anzen. Denn manchmal ber"uhren Eintr"age eine 
vorhergehende  \slash \textsf{hline} oder den Anfang eines Farbfeldes, das durch dieses Layout 
definiert wurde. Um sicher zu gehen, dass das nicht passiert, sollten
\slash \textsf{extrarowsep} und  \slash \textsf{arraystretch} erg"anzt werden. Dies reguliert den 
Abstand der Linien angemessen.  Manchmal m"ochte man aber trotzdem "uber einem gro"sen Eintrag einen
extra Platzhalter einf"ugen.  F"ur einen kleinen Leerraum k"onnen sie den
Befehl  \slash \textsf{minrowclearance} einf"ugen. (Die H"ohe einer Tabellenzeile sollte die H"ohe 
eines Gro"sbuchstabens plus dieses Leerraums aber nicht "uberschreiten, sonst wirkt die 
Tabellenaufteilung unvorteilhaft.)

Donald Arseneaus Paket \textsf{tabls} verwendet einen "ahnlichen  \slash
\textsf{tablinesep}-Befehl. Ich gab meinem Befehl den gleichen Namen, um eine Kompatibilit"at mit 
\textsf{tabls} zu erm"oglichen. Aber \textsf{tabls} ist, wenn man es einbindet, recht schwierig und 
verh"alt sich vermutlich anders. Deshalb verwende ich jetzt einen anderen Namen.

\end{document}

