Mit dem Paket Xcolor treiben Sie es in LaTeX bunt: Die umfangreichen Möglichkeiten erlauben einen kreativen Umgang mit Farben.
Seitenweise Fußnoten, endlose Literaturlisten, Lauftext, so weit das Auge schaut – LaTeX-Dokumente gelten als der Heilige Gral des Textsatzes. Der immer gleiche Aufbau sorgt aber auch leicht für gepflegte Langeweile. Doch mit dem Paket Xcolor sagen Sie der grauen Bleiwüste den Kampf an und sorgen durch dezente Farbtupfer nicht nur für mehr Abwechslung, sondern bei Bedarf auch für mehr Übersicht.
Auch beim Thema Farbe gibt sich LaTeX gewohnt professionell: Sie haben die Möglichkeit, eine Vielzahl vordefinierter Farben zu nutzen, Farben in verschiedenen Modellen selbst zu definieren, diese in andere Modelle zu konvertieren, Komplementärfarben zu erzeugen, Farben zu mischen, verschiedene Helligkeitsstufen einer Farbe zu bilden und Tabellenzeilen alternierend einzufärben. Sie laden das Paket Xcolor in der Präambel mit dem folgenden Befehl:
\usepackage[Optionen]{xcolor}
In der Tabelle “Paketoptionen” finden Sie eine Übersicht der Optionen, die Xcolor mitbringt, und deren jeweilige Funktionen.
Paketoptionen
| Option | Funktion |
|---|---|
rgb |
Farben ins RGB-Modell konvertieren |
cmyk |
Farben ins CMYK-Modell konvertieren |
hsb |
Farben ins HSB-Modell konvertieren |
HTML |
Farben in webtaugliche Werte konvertieren |
gray |
Farben in Graustufen umwandeln |
hideerrors |
Warnmeldung ausgeben, wenn eine undefinierte Farbe zum Einsatz kommt und diese durch Schwarz ersetzen |
dvipsnames |
Definiert die Farbnamen des Treibers dvips |
svgnames |
Definiert die Farbnamen der SVG-1.1-Spezifikation |
x11names |
Definiert die X11-Farbnamen |
table |
Lädt Colortbl, um farbige Tabellenzeilen zu erzeugen |
Farben definieren
Um eine Farbe zu verwenden, definieren Sie diese zunächst. Die Tabelle “Vordefinierte Farben” zeigt, welche Farbwerte das Paket direkt mitbringt. Diese Farben sprechen Sie direkt über ihren Namen an. Mit der entsprechenden Option haben Sie die Möglichkeit, die Farbnamen des Treibers dvips, die Farbnamen der SVG-1.1-Spezifikation [2] oder die X11-Farbnamen [3] zu verwenden.
Vordefinierte Farben
| Farbe | Name | Farbmodell |
|---|---|---|
| Schwarz | black |
gray |
| Weiß | white |
gray |
| Dunkelgrau | darkgray |
gray |
| Grau | gray |
gray |
| Hellgrau | lightgray |
gray |
| Rot | red |
rgb |
| Grün | green |
rgb |
| Blau | blue |
rgb |
| Cyan | cyan |
cmyk |
| Magenta | magenta |
cmyk |
| Gelb | yellow |
cmyk |
| Braun | brown |
rgb |
| Hellgrün | lime |
rgb |
| Olivgrün | olive |
cmyk |
| Orange | orange |
rgb |
| Rosa | pink |
rgb |
| Lila | purple |
rgb |
| Türkis | teal |
rgb |
| Violett | violet |
rgb |
Um eine zusätzliche Farbe zu definieren, wählen Sie zunächst einen Namen dafür. Gibt es bereits eine Farbdefinition unter diesem Namen, überschreiben Sie diese damit. Anschließend legen Sie das Farbmodell fest, in dem Sie die Farbe definieren möchten, und geben abhängig vom ausgewählten Farbmodell den Wert oder die Werte der Farbe an.
Dazu nutzen Sie einen Befehl, der der Schreibweise aus Listing 1 folgt. Die Tabelle “Farbmodelle” bietet eine Übersicht über die verfügbaren Modelle samt der möglichen Werte.
Listing 1
\definecolor{Name}{Farbmodell}{Wert(e)}
Farbmodelle
| Modell | Wertebereich |
|---|---|
rgb |
Rot, Grün und Blau als drei Werte zwischen 0 und 1 |
RGB |
Rot, Grün und Blau als drei Werte zwischen 0 und 255 |
cmyk |
Cyan, Magenta, Gelb und Schwarz als vier Werte zwischen 0 und 1 |
hsb |
Farbton, Sättigung und Helligkeit als drei Werte zwischen 0 und 1 |
HSB |
Farbton, Sättigung und Helligkeit als drei Werte zwischen 0 und 240 |
HTML |
Rot, Grün und Blau als drei zweistellige Hexadezimalzahlen zwischen 00 und FF als ein sechsstelliger Wert |
gray |
Graustufe als ein Wert zwischen 0 und 1 |
Gray |
Graustufe als ein Wert zwischen 0 und 15 |
named |
Name einer bereits definierten Farbe |
Der Befehl \colorlet kopiert die ursprüngliche Farbe in die neu definierte Farbe. Als Ursprungsfarbe tragen Sie den Namen einer bereits definierten Farbe oder einen Mischausdruck ein. Als Platzhalter für die aktuelle Farbe dient ein Punkt (.). So speichert der Befehl \colorlet{NeueFarbe}{.} die aktuelle Farbe unter dem Namen NeueFarbe.
Mit der Umgebung testcolors stellt LaTeX eine gute Möglichkeit bereit, Farben und deren Werte in verschiedenen Farbmodellen in einer tabellarischen Übersicht zusammenzustellen (Abbildung 1). Dabei kennzeichnet jeweils eine Unterstreichung den Wert, der zu dem Farbmodell gehört, in dem die Farbe definiert ist.

testcolors erstellen Sie schnell eine Übersicht über Farben und deren Farbwerte in verschiedenen Farbmodellen.” width=”300″ height=”127″ />
Abbildung 1: Mit der Umgebungtestcolors erstellen Sie schnell eine Übersicht über Farben und deren Farbwerte in verschiedenen Farbmodellen. In Listing 2 findet sich in der ersten Zeile die Definition der Farbe Mauve im RGB-Modell. Zeile 2 öffnet die Umgebung testcolors. In den eckigen Klammern stehen die Farbmodelle, die in der Übersicht erscheinen sollen. Mit den testcolor-Befehlen geben Sie die Farben an, die Sie in die Übersicht aufnehmen möchten.
Listing 2
\definecolor{mauve}{RGB}{224 176 255}
\begin{testcolors}[rgb,RGB,cmyk,hsb,HSB,HTML,gray,Gray]
\testcolor{black}
\testcolor{white}
\testcolor{darkgray}
\testcolor{gray}
\testcolor{lightgray}
\testcolor{red}
\testcolor{green}
\testcolor{blue}
\testcolor{cyan}
\testcolor{magenta}
\testcolor{yellow}
\testcolor{brown}
\testcolor{lime}
\testcolor{olive}
\testcolor{orange}
\testcolor{pink}
\testcolor{purple}
\testcolor{teal}
\testcolor{violet}
\testcolor{mauve}
\testcolor[cmyk]{0 0.5 1 0.42}
\end{testcolors}
Dabei dürfen Sie den Namen einer vorher definierten Farbe in geschweiften Klammern verwenden (Zeilen 3 bis 22). Alternativ tragen Sie einen Farbwert in Form von Zahlen ein. Dann steht in eckigen Klammern das Farbmodell und in den geschweiften Klammern der Wert oder die Werte (Zeile 23). Zu guter Letzt schließen Sie die testcolors-Umgebung wieder (Zeile 24). Die Tabelle “Farben verwenden” zeigt, welche Befehle für die tägliche Arbeit bereitstehen, um Farbe ins Dokument zu bringen.
Farben verwenden
\color{Farbe} |
Verwenden Sie diesen Befehl in der Präambel, so wirkt er sich auf das gesamte Dokument aus. Verwenden Sie ihn im Hauptteil, passt LaTeX ab der Stelle, an der der Befehl steht, den Fließtext an; Überschriften, Seitenzahlen und andere Elemente behalten in diesem Fall ihre alte Farbe. |
\textcolor{Farbe}{Text} |
Ändert nur die Farbe des Textes in der zweiten geschweiften Klammer. |
\pagecolor{Farbe} |
Ändert die Hintergrundfarbe. Steht der Befehl in der Präambel, gilt er für das gesamte Dokument. Steht er im Hauptteil, ändert er die Farbe von dieser Stelle an. |
\colorbox{Hintergrundfarbe}{Text} |
Legt einen Kasten mit einer Hintergrundfarbe um einen Text. |
\fcolorbox{Rahmenfarbe}{Hintergrundfarbe}{Text} |
Legt statt einer ausgefüllten Fläche nur einen Rahmen um einen Text. Die Dicke des Rahmens bestimmen Sie mit dem Befehl \fboxrule=<§§I>Dicke<§§I>, den Abstand des Rahmens vom Text mit dem Befehl \fboxsep=<§§I>Abstand<§§I>. |
Farbmodelle konvertieren
Standardmäßig belässt LaTeX alle Farben in dem Farbmodell, in dem Sie sie definiert haben. Über eine Paketoption veranlassen Sie die Software dazu, alle Farben in ein bestimmtes Modell zu konvertieren. Das ist beispielsweise dann sinnvoll, wenn Sie eine Druckvorlage erstellen und die Druckerei ein bestimmtes Farbmodell verlangt. Alternativ zur Paketoption geben Sie das Farbmodell über den folgenden Befehl an:
\selectcolormodel{Farbmodell}
Mit dem Befehl aus der ersten Zeile von Listing 3 konvertieren Sie eine bestimmte Farbe in ein anderes Farbmodell. In den ersten beiden geschweiften Klammern stehen das Farbmodell und der Wert (oder die Werte) der Ausgangsfarbe. Haben Sie die Farbe bereits definiert, tragen Sie als Ausgangsmodell named und als Wert den Farbnamen ein.
Listing 3
\convertcolorspec{named}{red}{cmyk}\cmykRot
Die Farbe Rot hat im cmyk-Modell die Werte: \cmykRot .
\definecolor{cmykRot}{cmyk}\cmykRot
Zwischen \colorbox{red}{Rot im rgb-Modell} und \colorbox{cmykRot}{Rot im cmyk-Modell} ist ein Unterschied zu erkennen.
\convertcolorspec{named}{green}{cmyk}\cmykGruen
Die Farbe Grün hat im cmyk-Modell die Werte: \cmykGruen .
\definecolor{cmykGruen}{cmyk}\cmykGruen
Zwischen \colorbox{green}{Grün im rgb-Modell} und \colorbox{cmykGruen}{Grün im cmyk-Modell} ist ein Unterschied zu erkennen.
\convertcolorspec{named}{blue}{cmyk}\cmykBlau
Die Farbe Blau hat im cmyk-Modell die Werte: \cmykBlau .
\definecolor{cmykBlau}{cmyk}\cmykBlau
Zwischen \colorbox{blue}{Blau im rgb-Modell} und \colorbox{cmykBlau}{Blau im cmyk-Modell} ist ein Unterschied zu erkennen.
In die dritte geschweifte Klammer gehört das als Umwandlungsziel vorgesehene Farbmodell. Als Letztes vergeben Sie noch einen Namen für das Makro, in dem Sie den Wert (oder die Werte) der Farbe im Zielfarbmodell speichern möchten.
Nach dem Speichern der Werte für die Zielfarbe im Makro vergeben Sie mit dem Befehl \definecolor einen Namen für die neue Farbe, wobei statt der dritten geschweiften Klammer des Befehls das Makro steht. Abbildung 2 zeigt das Ergebnis aus Listing 3, in dem der Unterschied zwischen den Farben in den beiden Modellen deutlich hervortritt.

Abbildung 2: Die im RGB-Modell vordefinierten Farben Rot, Grün und Blau erscheinen im CMYK-Modell deutlich unterschiedlich.
Komplementärfarbe
Die Komplementärfarbe erzeugen Sie, indem Sie dem Namen der Farbe ein Minuszeichen voranstellen. Listing 4 enthält dazu ein Beispiel: Im ersten Befehl kommt die vordefinierte Farbe Braun zum Einsatz, im zweiten Colorbox-Befehl durch Voranstellen eines Minuszeichens die Komplementärfarbe zu Braun, und im dritten Befehl erzeugt ein Mischausdruck Braun und dessen Komplementärfarbe zu gleichen Teilen. Abbildung 3 zeigt das Ergebnis.
Listing 4
Wird eine \colorbox{brown}{Farbe} zu gleichen Teilen mit ihrer \colorbox{-brown}{Komplementärfarbe} gemischt, entsteht \colorbox{brown!50!-brown}{Grau}.

Abbildung 3: Die Komplementärfarbe erzeugen Sie, indem Sie der Farbe ein Minuszeichen voranstellen. Eine Farbe zu gleichen Teilen mit ihrer Komplementärfarbe gemischt ergibt Grau.
Farben mischen
Bisher haben Sie die Grundlagen zur Definition und den Einsatz von Farben kennengelernt. Aber LaTeX vermag noch mehr: Geben Sie statt eines Farbnamens einen Mischausdruck an, dann erzeugen Sie neue Farbtöne. Ein solcher Ausdruck baut sich nach folgendem Schema auf:
Farbe1!Mischanteil!Farbe2
Beim Mischanteil handelt es sich um einen Wert zwischen 0 und 100. Er gibt an, wie viel Prozent die Software von der ersten Farbe nimmt. Diesen Anteil mischt sie mit dem an 100 Prozent fehlenden Anteil der zweiten Farbe. Listing 5 zeigt ein Beispiel, Abbildung 4 das Ergebnis.
Listing 5
Was ergibt \colorbox{teal!50!orange}{eine Mischung aus 50\%\ Türkis und 50\%\ Orange}?
Und was ergibt \colorbox{teal!50!orange!33!pink}{eine Mischung aus 33\%\ von dieser Farbe und 67\%\ Rosa}?
Und eine Mischung von \colorbox{cmyk:teal!50!orange!33!pink,4;cyan,3;magenta,2;yellow,1}{4 Teilen dieser Farbe, 3 Teilen Cyan, 2 Teilen Magenta und 1 Teil Gelb im cmyk-Modell}?
Sie dürfen Mischausdrücke verketten und anstelle von Farbnamen verwenden. Alternativ weisen Sie einem gemischten Farbton mit dem folgenden Befehl einen Namen zu:
\colorlet{Farbname}{Mischausdruck}
Haben Sie die beiden Farben in verschiedenen Farbmodellen definiert, konvertiert LaTeX die zweite Farbe ins Modell der ersten und nimmt die Mischung in diesem vor. Wurde jedoch die erste Farbe im Gray-Modell definiert, kehrt sich diese Regel um.
Helligkeitsstufen
Um die Helligkeit einer Farbe abzustufen, gilt es, diese Farbe mit Weiß zu mischen. Sie verwenden dazu den oben beschriebenen Ausdruck zum Mischen, wobei Sie als Mischanteil die Helligkeitsstufe als Zahl zwischen 0 und 100 angeben. Eine Wert von 100 Prozent entspricht der Farbe selbst, ein Wert von 0 Prozent ergibt Weiß. Als zweite Farbe tragen Sie entweder white ein oder verzichten auf die Angabe.
Listing 6 zeigt eine Tabelle mit Rot, Grün und Blau in Helligkeitsstufen von 100 bis 0 Prozent. Die Zeile 1 öffnet eine Tabelle mit zehn linksbündigen Spalten. In den Zeilen 2 bis 4 stehen die Mischbefehle für die einzelnen Helligkeiten in textcolor-Befehlen. Zeile 5 schließt die Tabelle wieder. Abbildung 5 zeigt das Ergebnis.
Listing 6
\begin{tabular}{l l l l l l l l l l}
\textcolor{red}{100\%\ Rot} & \textcolor{red!90}{90\%\ Rot} & \textcolor{red!80}{80\%\ Rot} & \textcolor{red!70}{70\%\ Rot} & \textcolor{red!60}{60\%\ Rot} & \textcolor{red!50}{50\%\ Rot} & \textcolor{red!40}{40\%\ Rot} & \textcolor{red!30}{30\%\ Rot} & \textcolor{red!20}{20\%\ Rot} & \textcolor{red!10}{10\%\ Rot}
\textcolor{green}{100\%\ Grün} & \textcolor{green!90}{90\%\ Grün} & \textcolor{green!80}{80\%\ Grün} & \textcolor{green!70}{70\%\ Grün} & \textcolor{green!60}{60\%\ Grün} & \textcolor{green!50}{50\%\ Grün} & \textcolor{green!40}{40\%\ Grün} & \textcolor{green!30}{30\%\ Grün} & \textcolor{green!20}{20\%\ Grün} & \textcolor{green!10}{10\%\ Grün}
\textcolor{blue}{100\%\ Blau} & \textcolor{blue!90}{90\%\ Blau} & \textcolor{blue!80}{80\%\ Blau} & \textcolor{blue!70}{70\%\ Blau} & \textcolor{blue!60}{60\%\ Blau} & \textcolor{blue!50}{50\%\ Blau} & \textcolor{blue!40}{40\%\ Blau} & \textcolor{blue!30}{30\%\ Blau} & \textcolor{blue!20}{20\%\ Blau} & \textcolor{blue!10}{10\%\ Blau}
\end{tabular}
Abbildung 5: Rot, Grün und Blau in verschiedenen Helligkeitsstufen. Eine Helligkeitsstufe von 100 Prozent entspricht der Farbe selbst, eine Helligkeitsstufe von 0 Prozent ergibt Weiß.
Farbige Tabellen
Das Paket xcolor bietet eine einfache Möglichkeit, die Zeilen einer Tabelle alternierend einzufärben. Als Paketoption geben Sie dazu table an. Das sorgt dafür, dass LaTeX das Paket Colortbl [4] lädt. Wie Sie die Tabelle färben wollen, bestimmen Sie mit dem Befehl aus Listing 7.
Listing 7
\rowcolors[\hline]{Beginn in Zeile}{Farbe ungerade Zeilen}{Farbe gerade Zeilen}
Steht in der eckigen Klammer der Befehl \hline, gibt LaTeX horizontale Linien zwischen den Zeilen aus, wobei der Befehl \rowcolors (ohne Stern) diese zwischen allen Zeilen einfügt und der Befehl \rowcolors* (mit Stern) nur bei eingefärbten Zeilen. Sollen keine horizontalen Linien erscheinen, verzichten Sie auf die eckigen Klammern. Die Farbe der horizontalen Linien legen Sie mit dem folgenden Befehl fest:
\arrayrulecolor{Farbe}
In der ersten geschweiften Klammer der Anweisung \rowcolors steht die Nummer der ersten einzufärbenden Zeile. Es folgen die Farbe für ungerade Zeilen und schließlich die Farbe für gerade Zeilen. Hier dürfen Sie den Namen einer vorher definierten Farbe oder eines Mischausdrucks einsetzen.
Innerhalb der Tabelle schalten Sie mit dem Befehl \hiderowcolors das Einfärben der Zeilen aus. Danach gibt LaTeX so lange Zeilen ohne Hintergrundfarbe aus, bis Sie das Einfärben mit \showrowcolors wieder aktivieren.
Mit dem Befehl \rowcolor{Farbe} legen Sie die Farbe für eine einzige Zeile fest. Mit dem Befehl \number\rownum gibt LaTeX die Nummer einer Zeile aus. Listing 8 enthält ein Beispiel, Abbildung 6 zeigt das Ergebnis.
Listing 8
\rowcolors[\hline]{2}{blue!50}{lightgray}
\arrayrulecolor{red!75}
\begin{tabular}{ll}
Zeile \number\rownum & Test\\
Zeile \number\rownum & Test\\
Zeile \number\rownum & Test\\
\rowcolor{yellow!50} Zeile \number\rownum & Test\\
Zeile \number\rownum & Test\\
Zeile \number\rownum & Test\\
\hiderowcolors Zeile \number\rownum & Test\\
Zeile \number\rownum & Test\\
\showrowcolors Zeile \number\rownum & Test\\
Zeile \number\rownum & Test\\
\end{tabular}

\rowcolors benutzt, rechts der Befehl \rowcolors*.” width=”300″ height=”274″ />
\rowcolors benutzt, rechts der Befehl \rowcolors*.Fazit
Das Paket Xcolor ist ein leistungsfähiges Werkzeug, um in LaTeX gezielt und einfach mit Farben zu arbeiten. Unterschiedliche Farbmodelle und diverse Methoden zum Einsatz eröffnen die Möglichkeit, eine graue Bleiwüste in ein attraktives Dokument mit modernem Design zu verwandeln. Dabei erweisen sich die Techniken des Pakets Xcolor als optimal auf die Ansprüche professioneller LaTeX-Anwender zugeschnitten.
Infos
[1] LaTeX-Paket Xcolor: http://www.ctan.org/pkg/xcolor
[2] Farbnamen der SVG-1.1-Spezifikation: http://www.w3.org/TR/SVG11/types.html#ColorKeywords
[3] X11-Farbnamen: http://en.wikipedia.org/wiki/X11_color_names
[4] LaTeX-Paket Colortbl: http://www.ctan.org/pkg/colortbl






guter Artikel!