Color
- General
- Overview
- Commands
- General
- Logical palettes
- Groups of similar colors
- Source files
- MkIV
- MkIV color definitions
ConTeXt supports several color models: RGB (typically used for screen display),CMYK (typically used for printing) as well as HSV/HSL and HWB. There is also support for spot colors (typically used for offset printing) and transparencies.Contents
Before you start ...
1. It’s usually bad style to use explicit color switches in the text. It’s better to define a semantic command that takes care of the color switching. For example, instead of using
\color[red]{important text}
, define\definehighlight[important][color=red]
and then use
\important{important text}
in the text.2. Colors are not enabled by default in MkII. To enable colors in MkII, use
\setupcolors[state=start]
3. To disable colors in a document, use
\setupcolors[state=stop]
Basic Usage
To color text, use
\color[defined-color]{ ... text ... }
or
\startcolor[defined-color] ... text ... \stopcolor
where
defined-color
is a color defined using \definecolor. For example,red
is one of the predefined colors. So, we can use:Three \color[red]{cool} cats
or
\starttext \startcolor[red] \input tufte \stopcolor \stoptext
It is also possible to use RGB or CMYK or hex values to color text. The syntax for these is
\colored[settings]{... text ...}
where
settings
are the same settings as used by \definecolor. For example:
Three \colored[r=0.1, g=0.8, b=0.8]{colorful} cats
Note. There is no need to use the color commands directly. Almost all ConTeXt commands accept acolor
key, and you can usecolor=defined-color
. For example,- To color the section titles red, use
\setuphead[color=red]
- To color the footnotes red, use
\setupfootnotes[color=red]
etc.
Pre-defined colors
Default pre-defined colors
The following colors are pre-defined in ConTeXt (see colo-imp-rgb.mkiv).
Name Color Name Color Name Color Name Color black white gray lightgray middlegray darkgray red lightred middlered darkred green lightgreen middlegreen darkgreen blue lightblue middleblue darkblue cyan middlecyan darkcyan magenta middlemagenta darkmagenta yellow middleyellow darkyellow X11 Colors
In addition to the above basic color, ConTeXt also includes a definition of the X11 colors. To load this list (colo-imp-xwi.mkiv), use
\usecolors[xwi]
This loads the following additional colors:
Name Color Name Color Name Color Name Color aliceblue antiquewhite aquamarine azure beige bisque black blanchedalmond blue blueviolet brown burlywood cadetblue chartreuse chocolate coral cornflowerblue cornsilk cyan darkgoldenrod darkgreen darkkhaki darkolivegreen darkorange darkorchid darksalmon darkseagreen darkslateblue darkturquoise darkviolet deeppink deepskyblue dodgerblue firebrick floralwhite forestgreen gainsboro ghostwhite gold goldenrod green greenyellow honeydew hotpink indianred ivory khaki lavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyan lightgoldenrod lightgoldenrodyellow lightpink lightsalmon lightseagreen lightskyblue lightslateblue lightsteelblue lightyellow limegreen linen magenta maroon mediumaquamarine mediumblue mediumorchid mediumpurple mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred midnightblue mintcream mistyrose moccasin navajowhite navy navyblue oldlace olivedrab orange orangered orchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuff peru pink plum powderblue purple red rosybrown royalblue saddlebrown salmon sandybrown seagreen seashell sienna skyblue slateblue snow springgreen steelblue tan thistle tomato turquoise violet violetred wheat white whitesmoke yellow yellowgreen Additional pre-defined colors
In addition to the above, there are two other sets of pre-defined colors.
x11 \usecolors[x11]
colo-imp-x11.mkiv 658 extended Xorg color keywords (WWW), defined in hex RGB crayola \usecolors[crayola]
colo-imp-crayola.mkiv 235 Crayola (Binney & Smith) colors ema \usecolors[ema]
colo-imp-ema.mkiv 549 Emacs colors RAL \usecolors[ral]
colo-imp-ral.mkiv 213 RAL color system (Deutsches Institut für Gütesicherung und Kennzeichnung) Solarized \usecolors[solarized]
colo-imp-solarized.mkiv 16 solarized colors Defining New Colors
New colors may be defined in the following ways
Name Syntax (and Example) Explanation RGB color model \definecolor[...][r=..., g=..., b=...]
For example,
\definecolor[lime][r=0.75, g=1, b=0] This is \color[lime]{a new color} that we defined
The values for r
,g
, andb
are floating point number between0
and1
.CMYK color model \definecolor[...][c=.., m=.., y=.., k=..]
For example,
\definecolor[lime][c=0.25, m=0, y=1, k=0] This is \color[lime]{a new color} that we defined
The values for c
,m
,y
andk
are floating point number between0
and1
.HSV/HSL color model \definecolor[...][h=.., s=.., v=..]
For example,
\definecolor[lime][h=75, s=1, v=1] This is \color[lime]{a new color} that we defined
The value for h
(hue) is between0
and360
; the values fors
(saturation),v
(value/brightness) are floating point numbers between0
and1
.HWB color model \definecolor[...][h=.., w=.., b=..]
For example,
\definecolor[something][h=75, w=0.5, b=.1] This is \color[something]{a new color} that we defined
The value for h
(hue) is between0
and360
; the values forw
(whiteness),b
(blackness) are floating point numbers between0
and1
. This mostly unknown color model is also used in CSS3/SVG.Hex \definecolor[...][x=...]
For example,
\definecolor[lime][x=BFFF00] This is \color[lime]{a new color} that we defined
The value for x
is a three-byte hexadecimal number where the bytes represent the red, green, and blue values. This follows the HTML and CSS style of defining colors.Gray scale \definecolor[...][s=...]
For example,
\definecolor[screen][s=0.5] This is \color[screen]{a new color} that we defined
The value for s
is a floating point number between0
and1
, representing the grayness value (1 represents white, 0 represents black).Cloning existing colors
You can clone an existing color using
\definecolor[new-color][old-color]
For example
\usecolors[xwi] \definecolor[highlight][yellow] \defineframed [important] [location=low, frame=off, background=color, backgroundcolor=highlight] This is a \important{important}word. \definecolor[highlight][lavenderblush] This is a \important{important}word.
Adapting existing colors
TODO: add details about this (See: To-Do List)
Advanced Usage
Changing color of entire document
To change the main text color of the document use
\setupcolors[textcolor=defined-color]
For example,
\setupcolors[textcolor=blue] \starttext text \stoptext
Changing background color of page
The background color of the page can be changed using
\setupbackgrounds[page][background=color,backgroundcolor=defined-color]
For example,\setuppapersize[A10] \setupbackgrounds[page][background=color,backgroundcolor=blue] \starttext text \stoptext
Using colors in MetaPost
A color defined in TeX is available in MetaPost using
\MPcolor{...}
. For example:\definecolor[highlight][r=0.8,g=0.8,b=0] \starttext \color[highlight]{Highlighted text in TeX} \startMPcode label("Highlighted text in MetaPost", origin) withcolor \MPcolor{highlight}; \stopMPcode
Note that
\MPcolor{...}
behaves similar to acolor
primitive in MetaPost. For example, the following is valid MetaPost code.color myColor; myColor = 0.5[\MPcolor{highlight}, white];
Using colors in TikZ
Viewing pre-defined color
View all defined colors
To view pre-defined colors, you can use \showcolor. For example, to see all the colors defined in colo-imp-x11.mkiv, use (output truncated for display here ...)
\showcolor[x11]
If you use \showcolor without any argument, all currently defined colors are shown.
View specific defined colors
To view the components of a defined color, you can use:
\showcolorcomponents[color-1, color-2]
For example,
\showcolorcomponents[red,middlered,darkred]
\colorcompoents{defined-color} \tranparencycomponents{defined-color} \processcolorcomponents{defined-color}
For example,
\startlines \colorcomponents{red} \transparencycomponents{red} \processcolorcomponents{red} \stoplines
Testing if color is defined
To test if a color is defined, use
Usage:
\doifcolor{color-name}{... if branch ... } \doifcolorelse{color-name}{... if branch ...}{... else branch ...}
Specialized topics
References
- Paletton - Website to choose color palettes
- ColorBrewer - website to choose colors for maps and graphics.
- Tina Sutton, Bride M Whelan: The Complete Color Harmony. Rockport Publishers (2004). ISBN 978-1592530311 (recommanded in the mailing list)
General overview Commands GeneralLogical palettesGroups of similar colorsManuals Source files MkII (inc. color definitions)MkIVMkIV color definitions