Farben

Das Standardwerkzeug für Farben in LaTeX ist das xcolor-Paket. Es ist ein Obermengen-Ersatz für das ältere color-Paket: Es färbt nicht nur Text und Hintergründe, sondern mischt Farben selbst über Farbausdrücke wie red!50!blue – das ist seine wichtigste Stärke. Diese Seite führt durch Laden, Farbmodelle, Namenspaletten und Mischen.

Das Paket laden

Um Farben zu verwenden, schreiben Sie einfach \usepackage{xcolor} in die Präambel. Geschrieben wurde es von Uwe Kern (2003–2021; heute vom LaTeX Project gepflegt) und es ist treiberunabhängig angelegt, sodass Farben bei PDF- und DVI-Ausgabe gleich erscheinen. In älteren Dokumenten sieht man \usepackage{color}; für neue Arbeiten sollten Sie aber xcolor wählen: Farbmischungen (Ausdrücke) und zusätzliche Namenssätze sind Funktionen von xcolor, die color nicht bietet.

Ohne Optionen stehen bereits 19 Grundfarbnamen bereit; Optionen laden zusätzliche vordefinierte Namenssätze. dvipsnames ergänzt die 68 PostScript- bzw. dvips-Farben, svgnames die rund 151 Farben aus SVG 1.1 / CSS, und x11names die rund 317 X11-Farben. Die Option table lädt außerdem colortbl, sodass Sie Tabellenzellen und Zeilen einfärben können (siehe die Seite „Farbige Tabellen“).

latex
\usepackage{xcolor}                 % 基本(19 色)/ basics (19 colours)
\usepackage[dvipsnames]{xcolor}     % + 68 色 / + 68 PostScript names
\usepackage[svgnames]{xcolor}       % + 約151色 / + ~151 SVG names
\usepackage[x11names]{xcolor}       % + 約317色 / + ~317 X11 names
\usepackage[dvipsnames,table]{xcolor} % 色名 + 表の着色 / names + colortbl

Optionen lassen sich kombinieren: Mit [dvipsnames,svgnames] laden Sie mehrere Sätze auf einmal. Die Namen sind so angelegt, dass sie intern nicht kollidieren, doch übersichtlicher ist es, nur die tatsächlich benötigten Sätze zu laden.

Farbe anwenden

Der wichtigste Befehl ist \textcolor{Farbe}{Text}; er färbt genau den übergebenen Text. Wenn stattdessen alles Folgende die Farbe wechseln soll, ohne einen Textbereich in Klammern zu packen, verwenden Sie die deklarative Form {\color{Farbe} … } innerhalb einer Gruppe { }. Betrachten Sie \color als Schalter, der bis zum Ende seiner Gruppe gilt.

document.tex
これは \textcolor{red}{赤い} 文字です。
{\color{blue} ここから先は青。} ここは元の色に戻ります。

Für einen Hintergrund setzt \colorbox{Farbe}{Text} den Text auf eine voll gefüllte Box dieser Farbe. Wenn Rahmen und Füllung verschiedene Farben haben sollen, verwenden Sie \fcolorbox{Rahmenfarbe}{Füllfarbe}{Text}: Das erste Argument ist der Rahmen, das zweite die Füllung. Den Hintergrund der ganzen Seite ändern Sie mit \pagecolor{Farbe} (zurück mit \nopagecolor). Das wirkt ab dieser Stelle auf alle folgenden Seiten, also setzen Sie den Befehl vorsichtig, wenn nur etwa ein schwarzes Titelblatt gewünscht ist.

document.tex
\colorbox{yellow}{ハイライト}
\fcolorbox{red}{yellow}{赤枠・黄背景}
\pagecolor{black}   % これ以降、ページ全体が黒地に

Alle diese Befehle akzeptieren statt eines bloßen Namens auch einen Farbausdruck oder ein explizites Modell. Beispiele sind \textcolor{red!50!blue}{…} oder, mit Modell in eckigen Klammern, \textcolor[rgb]{1,0,0}{…} (Modelle folgen im nächsten Abschnitt).

Eigene Farben definieren

Um einer eigenen Farbe einen Namen zu geben, verwenden Sie \definecolor{Name}{Modell}{Werte}. Einmal in der Präambel definiert, verhält sie sich danach wie jeder andere Farbname und kann an \textcolor und ähnliche Befehle übergeben werden. Ein gedämpftes Blau als myblue registrieren Sie zum Beispiel so:

latex
\definecolor{myblue}{rgb}{0.2,0.4,0.8}
% 使う / use it:
\textcolor{myblue}{この文字は myblue}

Ein zweites Werkzeug, \colorlet{Name}{Farbe}, erzeugt einen neuen Farbnamen aus einer vorhandenen Farbe oder einem Ausdruck. Während \definecolor eine Farbe aus Modell und Zahlen baut, benennt \colorlet das Ergebnis einer Mischung bereits vorhandener Farben. Um Rot halb in Richtung Weiß aufgehellt als half zu benennen, schreiben Sie \colorlet{half}{red!50}. Die Mischschreibweise mit ! wird im nächsten Abschnitt genauer erklärt.

Farbmodelle

Das zweite Argument von \definecolor ist das Farbmodell, also das Schema, in dem eine Farbe als Zahlen ausgedrückt wird. xcolor unterstützt mehrere Modelle, vom druckorientierten cmyk bis zur aus dem Web bekannten HTML-Hexschreibweise, sodass Sie passend zur Aufgabe wählen können. Häufig sind:

ModellWerteBeispiel
rgbRot, Grün, Blau, jeweils 0–1{0.2,0.4,0.8}
RGBRot, Grün, Blau, jeweils ganzzahlig 0–255{51,102,204}
HTMLSechs Hex-Ziffern, RRGGBB{FF8800}
cmykCyan, Magenta, Gelb, Schwarz, jeweils 0–1{0,0.5,1,0}
grayEin Wert (0 = Schwarz, 1 = Weiß){0.5}
namedVerweist auf einen vorhandenen Farbnamen (z. B. dvips){Periwinkle}

Dasselbe Orange kann auf mehrere Arten geschrieben werden; nur die Notation ändert sich, nicht das Ergebnis. Die vier folgenden Zeilen definieren im Wesentlichen dieselbe Farbe. HTML nimmt sechs Hex-Ziffern, sodass Sie einen Web-Farbcode direkt einfügen können; cmyk ist für den Druck gedacht (Vierfarbseparation).

latex
\definecolor{o1}{rgb}{1,0.5,0}
\definecolor{o2}{RGB}{255,128,0}
\definecolor{o3}{HTML}{FF8000}
\definecolor{o4}{cmyk}{0,0.5,1,0}

Auch an der Verwendungsstelle können Sie ein Modell inline in eckigen Klammern angeben. Für eine einmalige Farbe ohne eigenen Namen sind \textcolor[HTML]{FF8800}{…} oder \color[gray]{0.5} der schnelle Weg. Das Modell named ist ein Sonderfall, der vorhandene Namen referenziert, etwa aus dvipsnames; im Alltag genügt es meist, den Farbnamen direkt zu schreiben.

Farbausdrücke — mischen

Hier zeigt xcolor seine Stärke. Überall, wo eine Farbe erwartet wird, können Sie statt eines Namens einen Farbausdruck mit Ausrufezeichen ! schreiben. Die Grundform ist FarbeA!Prozent!FarbeB: Prozent Prozent von A werden mit dem Rest von B gemischt. red!50!blue ist also 50 % Rot und 50 % Blau; red!75!blue ist 75 % Rot und 25 % Blau.

Lassen Sie Farbe B weg, wird der Rest als Weiß genommen. red!20 bedeutet also „20 % Rot + 80 % Weiß“ – ein blasses Rot, also eine Tönung. Mit Schwarz gemischt wird es dunkler: blue!30!black ist „30 % Blau + 70 % Schwarz“, ein tiefes Marineblau. Ein vorangestelltes Minuszeichen, wie in -red, ergibt die Komplementärfarbe bzw. Invertierung von Rot.

  • red!50!blue — Violett, Rot und Blau zu gleichen Teilen
  • red!20 — 20 % Rot, 80 % Weiß: ein blasses Rot (Tönung)
  • blue!30!black — 30 % Blau, 70 % Schwarz: ein dunkles Blau (Schattierung)
  • -red — die Komplementärfarbe von Rot (Richtung Cyan)
  • green!40!yellow!60 — Ausdrücke lassen sich verketten; gemischt wird von links nach rechts

Da Ausdrücke überall funktionieren, können Sie \textcolor{blue!30!black}{…} oder \colorbox{yellow!40}{…} schreiben und sie frei in \definecolor oder \colorlet verwenden. Benennen Sie eine Mischung einmal, lässt sich die gesamte Palette des Dokuments über eine einzige Definition neu abstimmen – genau darauf ist es ausgelegt.

document.tex
\textcolor{red!50!blue}{半分ずつの紫}
\colorbox{yellow!40}{薄い黄色の背景}
\colorlet{accent}{blue!30!black}   % アクセント色を一括管理
\textcolor{accent}{見出しの色}

Verfügbare Farbnamen

Auch ohne Optionen sind diese 19 Grundfarben immer verfügbar.

  • black, blue, brown, cyan, darkgray, gray, green, lightgray, lime, magenta, olive, orange, pink, purple, red, teal, violet, white, yellow

Für eine reichere Palette ergänzen Sie mit den obigen Optionen einen Namenssatz. dvipsnames bringt 68 Farben wie RoyalBlue, Periwinkle und BurntOrange; svgnames bringt die rund 151 aus CSS vertrauten Namen wie DarkSlateGray und Tomato. Farbnamen unterscheiden Groß- und Kleinschreibung, daher führt royalblue statt RoyalBlue zu einem Fehler „undefined colour“. Wie die Farben aussehen, zeigen die Farbkarten im xcolor-Handbuch am zuverlässigsten; öffnen Sie es mit texdoc xcolor.