<ul style="display: grid;grid-template-columns: 1fr 3fr 2fr ; grid-gap:1rem; justify-content: space-between;list-style: none;padding: 0rem;margin: 0;">
<li>General
<ul style="display: grid;grid-template-columns: 1fr; grid-gap:0.5rem; justify-content: space-between;list-style: none;padding: 0rem;margin: 0;background-color: #f6f6f6;">
<li>'''Overview'''
<ul>
<li>[[Color]]</li>
<li>[[Color in MetaPost]]</li>
</ul>
</ul>
<li>Commands
<ul style="display: grid;grid-template-columns: 1fr 1fr 1fr; grid-gap:0.5rem; justify-content: space-between;list-style: none;padding: 0rem;margin: 0;background-color: #f6f6f6;">
<li>'''General'''
<ul>
<li>{{cmd|color}}</li>
<li>{{cmd|MPcolor}}</li>
<li>{{cmd|definecolor}}</li>
<li>{{cmd|setupcolors}}</li>
<li>{{cmd|showcolor}}</li>
<li>{{cmd|usecolor}}</li>
</ul>
</li>
<li>'''Logical palettes'''
<ul>
<li>{{cmd|definepalet}}</li>
<li>{{cmd|setuppalet}}</li>
<li>{{cmd|showpalet}}</li>
<li>{{cmd|comparepalet}}</li>
</ul>
</li>
<li>'''Groups of similar colors'''
<ul>
<li>{{cmd|definecolorgroup}}</li>
<li>{{cmd|showcolorgroup}}</li>
</ul>
</li>
</ul>
<li>Source files
<ul style="display: grid;grid-template-columns: 1fr 1fr; grid-gap:0.5rem; justify-content: space-between;list-style: none;padding: 0rem;margin: 0;background-color: #f6f6f6;">
<li>'''MkIV'''
<ul>
<li>{{src|colo-ini.mkiv}}</li>
<li>{{src|colo-ini.lua}}</li>
<li>{{src|attr-col.lua}}</li>
<li>{{src|colo-ext.mkiv}}</li>
<li>{{src|colo-grp.mkiv}}</li>
<li>{{src|colo-run.mkiv}}</li>
</ul>
<li>'''MkIV color definitions'''
<ul>
<li>{{src|colo-imp-dem.mkiv}}</li>
<li>{{src|colo-imp-rgb.mkiv}}</li>
<li>{{src|colo-imp-xwi.mkiv}}</li>
<li>{{src|colo-imp-ema.mkiv}}</li>
<li>{{src|colo-imp-x11.mkiv}}</li>
</ul>
</ul>
</ul>
ConTeXt supports several color models: [https://en.wikipedia.org/wiki/RGB_color_model RGB] (typically used for screen display),[https://en.wikipedia.org/wiki/CMYK_color_model CMYK] (typically used for printing) as well as [https://en.wikipedia.org/wiki/HSL_and_HSV HSV/HSL] and [https://en.wikipedia.org/wiki/HWB_color_model HWB]. There is also support for [https://en.wikipedia.org/wiki/Spot_color spot colors] (typically used for offset printing) and transparencies.
= 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 <code>\color[red]{important text}</code>, define
<texcode>
\definehighlight[important][color=red]
</texcode>
and then use <code>\important{important text}</code> in the text.
2. Colors are not enabled by default in MkII. To enable colors in MkII, use
<texcode>\setupcolors[state=start]</texcode>
3. To disable colors in a document, use
<texcode>\setupcolors[state=stop]</texcode>
= Basic Usage =
To color text, use
<texcode>\color[defined-color]{ ... text ... }</texcode>
or
<texcode>\startcolor[defined-color]
... text ...
\stopcolor</texcode>
where <code>defined-color</code> is a color defined using {{cmd|definecolor}}. For example, <code>red</code> is one of the predefined colors. So, we can use:
{|
! width="45%"|
! width="10%"|
! width="45%"|
|-
| <texcode>
Three \color[red]{cool} cats
</texcode>
|
|<context mode=mkiv>
\starttext
Three \color[red]{cool} cats
\stoptext
</context>
|}
or
{|
! width="45%"|
! width="10%"|
! width="45%"|
|-
| <texcode>
\starttext
\startcolor[red]
\input tufte
\stopcolor
\stoptext
</texcode>
|
|<context mode=mkiv>
\setuppapersize[A5]
\starttext
\startcolor[red]
\input tufte
\stopcolor
\stoptext
</context>
|}
It is also possible to use RGB or CMYK or hex values to color text. The syntax for these is
<texcode>\colored[settings]{... text ...}</texcode>
where <code>settings</code> are the same settings as used by {{cmd|definecolor}}. For example:
{|
! width="45%"|
! width="10%"|
! width="45%"|
|-
| <texcode>
Three \colored[r=0.1, g=0.8, b=0.8]{colorful} cats
</texcode>
|
|<context mode=mkiv>
\starttext
Three \colored[r=0.1, g=0.8, b=0.8]{colorful} cats
\stoptext
</context>
|}
'''Note'''. There is no need to use the color commands directly. Almost all ConTeXt commands accept a <code>color</code> key, and you can use <code>color=defined-color</code>. For example,
* To color the section titles red, use
<texcode>\setuphead[color=red]</texcode>
* To color the footnotes red, use
<texcode>\setupfootnotes[color=red]</texcode>
etc.
= Pre-defined colors =
== Default pre-defined colors ==
The following colors are pre-defined in ConTeXt (see {{src|colo-imp-rgb.mkiv}}).
{| style="text-align: right; padding-right: 20px;"
!| Name !! Color
!style="width: 80px;"| Name !! Color
!style="width: 100px;"| Name !! Color
!style="width: 100px;"| Name !! Color
|-
|black||bgcolor="#000"|
|white||bgcolor="#FFF"|
|-
|gray||bgcolor="#E6E6E6"|
|lightgray||bgcolor="#D6D6D6"|
|middlegray||bgcolor="#B9B9B9"|
|darkgray||bgcolor="#999999"|
|-
|red||bgcolor="#FF0000"|
|lightred||bgcolor="#FF0000"|
|middlered||bgcolor="#CC0000"|
|darkred||bgcolor="#990000"|
|-
|green||bgcolor="#00FF00"|
|lightgreen||bgcolor="#00FF00"|
|middlegreen||bgcolor="#00CC00"|
|darkgreen||bgcolor="#009900"|
|-
|blue||bgcolor="#0000FF"|
|lightblue||bgcolor="#0000FF"|
|middleblue||bgcolor="#0000CC"|
|darkblue||bgcolor="#000099"|
|-
|cyan||bgcolor="#00FFFF" |
| ||bgcolor=|
|middlecyan||bgcolor="#00CCCC" |
|darkcyan||bgcolor="#006666" |
|-
|magenta||bgcolor="#FF00FF" |
| ||bgcolor=|
|middlemagenta||bgcolor="CC00CC" |
|darkmagenta||bgcolor="660066" |
|-
|yellow||bgcolor="#FFFF00" |
| ||bgcolor=|
|middleyellow||bgcolor="CCCC00" |
|darkyellow||bgcolor="666600" |
|}
== X11 Colors ==
In addition to the above basic color, ConTeXt also includes a definition of the [http://www.w3.org/TR/2002/WD-css3-color-20020219/#x11-color X11 colors]. To load this list ({{src|colo-imp-xwi.mkiv}}), use
<texcode>\usecolors[xwi]</texcode>
This loads the following additional colors:
{| style="text-align: right; padding-right: 20px;"
!| Name !! Color
!style="width: 80px;"| Name !! Color
!style="width: 100px;"| Name !! Color
!style="width: 100px;"| Name !! Color
|-
|-
|aliceblue||bgcolor="#EFF7FF"|
|antiquewhite||bgcolor="#F9EAD6"|
|aquamarine||bgcolor="#7FFFD3"|
|azure||bgcolor="#EFFFFF"|
|-
|beige||bgcolor="#F4F4DB"|
|bisque||bgcolor="#FFE2C4"|
|black||bgcolor="#000000"|
|blanchedalmond||bgcolor="#FFEACC"|
|-
|blue||bgcolor="#0000FF"|
|blueviolet||bgcolor="#892BE2"|
|brown||bgcolor="#A52828"|
|burlywood||bgcolor="#DDB787"|
|-
|cadetblue||bgcolor="#5E9EA0"|
|chartreuse||bgcolor="#7FFF00"|
|chocolate||bgcolor="#D1681E"|
|coral||bgcolor="#FF7F4F"|
|-
|cornflowerblue||bgcolor="#6393ED"|
|cornsilk||bgcolor="#FFF7DB"|
|cyan||bgcolor="#00FFFF"|
|darkgoldenrod||bgcolor="#B7870A"|
|-
|darkgreen||bgcolor="#006300"|
|darkkhaki||bgcolor="#BCB76B"|
|darkolivegreen||bgcolor="#546B2D"|
|darkorange||bgcolor="#FF8C00"|
|-
|darkorchid||bgcolor="#9933CC"|
|darksalmon||bgcolor="#E8967A"|
|darkseagreen||bgcolor="#8EBC8E"|
|darkslateblue||bgcolor="#473D8C"|
|-
|darkturquoise||bgcolor="#00CED1"|
|darkviolet||bgcolor="#9300D3"|
|deeppink||bgcolor="#FF1493"|
|deepskyblue||bgcolor="#00BFFF"|
|-
|dodgerblue||bgcolor="#1E8EFF"|
|firebrick||bgcolor="#B22121"|
|floralwhite||bgcolor="#FFF9EF"|
|forestgreen||bgcolor="#218C21"|
|-
|gainsboro||bgcolor="#DBDBDB"|
|ghostwhite||bgcolor="#F7F7FF"|
|gold||bgcolor="#FFD600"|
|goldenrod||bgcolor="#D8A521"|
|-
|green||bgcolor="#00FF00"|
|greenyellow||bgcolor="#ADFF2D"|
|honeydew||bgcolor="#EFFFEF"|
|hotpink||bgcolor="#FF68B5"|
|-
|indianred||bgcolor="#CC5B5B"|
|ivory||bgcolor="#FFFFEF"|
|khaki||bgcolor="#EFE58C"|
|lavender||bgcolor="#E5E5F9"|
|-
|lavenderblush||bgcolor="#FFEFF4"|
|lawngreen||bgcolor="#7CFC00"|
|lemonchiffon||bgcolor="#FFF9CC"|
|lightblue||bgcolor="#ADD8E5"|
|-
|lightcoral||bgcolor="#EF7F7F"|
|lightcyan||bgcolor="#E0FFFF"|
|lightgoldenrod||bgcolor="#EDDD82"|
|lightgoldenrodyellow||bgcolor="#F9F9D1"|
|-
|lightpink||bgcolor="#FFB5C1"|
|lightsalmon||bgcolor="#FFA07A"|
|lightseagreen||bgcolor="#21B2AA"|
|lightskyblue||bgcolor="#87CEF9"|
|-
|lightslateblue||bgcolor="#8470FF"|
|lightsteelblue||bgcolor="#AFC4DD"|
|lightyellow||bgcolor="#FFFFE0"|
|limegreen||bgcolor="#33CC33"|
|-
|linen||bgcolor="#F9EFE5"|
|magenta||bgcolor="#FF00FF"|
|maroon||bgcolor="#AF3060"|
|mediumaquamarine||bgcolor="#66CCAA"|
|-
|mediumblue||bgcolor="#0000CC"|
|mediumorchid||bgcolor="#BA54D3"|
|mediumpurple||bgcolor="#9370DB"|
|mediumseagreen||bgcolor="#3DB270"|
|-
|mediumslateblue||bgcolor="#7A68ED"|
|mediumspringgreen||bgcolor="#00F999"|
|mediumturquoise||bgcolor="#47D1CC"|
|mediumvioletred||bgcolor="#C61484"|
|-
|midnightblue||bgcolor="#191970"|
|mintcream||bgcolor="#F4FFF9"|
|mistyrose||bgcolor="#FFE2E0"|
|moccasin||bgcolor="#FFE2B5"|
|-
|navajowhite||bgcolor="#FFDDAD"|
|navy||bgcolor="#00007F"|
|navyblue||bgcolor="#00007F"|
|oldlace||bgcolor="#FCF4E5"|
|-
|olivedrab||bgcolor="#6B8E23"|
|orange||bgcolor="#FFA500"|
|orangered||bgcolor="#FF4400"|
|orchid||bgcolor="#D870D6"|
|-
|palegoldenrod||bgcolor="#EDE8AA"|
|palegreen||bgcolor="#99F999"|
|paleturquoise||bgcolor="#AFEDED"|
|palevioletred||bgcolor="#DB7093"|
|-
|papayawhip||bgcolor="#FFEFD6"|
|peachpuff||bgcolor="#FFD8BA"|
|peru||bgcolor="#CC843F"|
|pink||bgcolor="#FFBFCC"|
|-
|plum||bgcolor="#DDA0DD"|
|powderblue||bgcolor="#AFE0E5"|
|purple||bgcolor="#A021EF"|
|red ||bgcolor="#FF0000"|
|-
|rosybrown||bgcolor="#BC8E8E"|
|royalblue||bgcolor="#3F68E0"|
|saddlebrown||bgcolor="#8C4411"|
|salmon||bgcolor="#F97F72"|
|-
|sandybrown||bgcolor="#F4A360"|
|seagreen||bgcolor="#2D8C56"|
|seashell||bgcolor="#FFF4ED"|
|sienna||bgcolor="#A0512D"|
|-
|skyblue||bgcolor="#87CEEA"|
|slateblue||bgcolor="#6B59CC"|
|snow||bgcolor="#FFF9F9"|
|springgreen||bgcolor="#00FF7F"|
|-
|steelblue||bgcolor="#4482B5"|
|tan ||bgcolor="#D1B58C"|
|thistle||bgcolor="#D8BFD8"|
|tomato||bgcolor="#FF6347"|
|-
|turquoise||bgcolor="#3FE0D1"|
|violet||bgcolor="#ED82ED"|
|violetred||bgcolor="#D1218E"|
|wheat||bgcolor="#F4DDB2"|
|-
|white||bgcolor="#FFFFFF"|
|whitesmoke||bgcolor="#F4F4F4"|
|yellow||bgcolor="#FFFF00"|
|yellowgreen||bgcolor="#99CC33"|
|}
== Additional pre-defined colors ==
In addition to the above, there are two other sets of pre-defined colors.
{| class="wikitable"
| x11 || <code>\usecolors[x11]</code>
| {{src|colo-imp-x11.mkiv}}
| 658 extended Xorg color keywords (WWW), defined in hex RGB
|-
| crayola || <code>\usecolors[crayola] </code>
| {{src|colo-imp-crayola.mkiv}} || 235 Crayola (Binney & Smith) colors
|-
| ema || <code>\usecolors[ema]</code>
| {{src|colo-imp-ema.mkiv}} || 549 Emacs colors
|-
| RAL || <code>\usecolors[ral]</code>
| {{src|colo-imp-ral.mkiv}} || 213 RAL color system (Deutsches Institut für Gütesicherung und Kennzeichnung)
|-
| Solarized || <code>\usecolors[solarized]</code>
| {{src|colo-imp-solarized.mkiv}} || 16 solarized colors
|}
= Defining New Colors =
New colors may be defined in the following ways
{| class="wikitable"
! Name !! Syntax (and Example) !! Explanation
|-
| style="width:20%;" | RGB color model
| style="width:40%;" | <texcode>\definecolor[...][r=..., g=..., b=...]</texcode>
For example,
<texcode>\definecolor[lime][r=0.75, g=1, b=0]
This is \color[lime]{a new color}
that we defined</texcode>
| The values for <code>r</code>, <code>g</code>, and <code>b</code> are floating point number between <code>0</code> and <code>1</code>.
|-
| CMYK color model
| <texcode>\definecolor[...][c=.., m=.., y=.., k=..]</texcode>
For example,
<texcode>\definecolor[lime][c=0.25, m=0, y=1, k=0]
This is \color[lime]{a new color}
that we defined</texcode>
| The values for <code>c</code>, <code>m</code>, <code>y</code> and <code>k</code> are floating point number between <code>0</code> and <code>1</code>.
|-
| HSV/HSL color model
|<texcode>\definecolor[...][h=.., s=.., v=..]</texcode>
For example,
<texcode>\definecolor[lime][h=75, s=1, v=1]
This is \color[lime]{a new color}
that we defined</texcode>
| The value for <code>h</code> (hue) is between <code>0</code> and <code>360</code>; the values for <code>s</code> (saturation), <code>v</code> (value/brightness) are floating point numbers between <code>0</code> and <code>1</code>.
|-
| HWB color model
|<texcode>\definecolor[...][h=.., w=.., b=..]</texcode>
For example,
<texcode>\definecolor[something][h=75, w=0.5, b=.1]
This is \color[something]{a new color}
that we defined</texcode>
| The value for <code>h</code> (hue) is between <code>0</code> and <code>360</code>; the values for <code>w</code> (whiteness), <code>b</code> (blackness) are floating point numbers between <code>0</code> and <code>1</code>. This mostly unknown color model is also used in CSS3/SVG.
|-
| Hex
| <texcode>\definecolor[...][x=...]</texcode>
For example,
<texcode>\definecolor[lime][x=BFFF00]
This is \color[lime]{a new color}
that we defined</texcode>
| The value for <code>x</code> 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
|<texcode>\definecolor[...][s=...]</texcode>
For example,
<texcode>\definecolor[screen][s=0.5]
This is \color[screen]{a new color}
that we defined</texcode>
| The value for <code>s</code> is a floating point number between <code>0</code> and <code>1</code>, representing the grayness value (1 represents white, 0 represents black).
|}
== Cloning existing colors ==
You can ''clone'' an existing color using
<texcode>\definecolor[new-color][old-color]</texcode>
For example
{|
| width="45%"| <texcode>\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.
</texcode>
| width="10%"|
| width="45%"| <context mode=mkiv>\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.
</context>
|}
== Adapting existing colors ==
{{todo | add details about this}}
= Advanced Usage =
== Changing color of entire document ==
To change the main text color of the document use
<texcode>\setupcolors[textcolor=defined-color]</texcode>
For example,
{|
! width="45%"|
! width="10%"|
! width="45%"|
|-
|<texcode>\setupcolors[textcolor=blue]
\starttext
text
\stoptext
</texcode>
|
|<context mode=mkiv>
\setupcolors[textcolor=blue]
\starttext
text
\stoptext
</context>
|}
== Changing background color of page ==
The background color of the page can be changed using
<texcode>\setupbackgrounds[page][background=color,backgroundcolor=defined-color]</texcode>
For example,
{|
! width="45%"|
! width="10%"|
! width="45%"|
|-
| <texcode>
\setuppapersize[A10]
\setupbackgrounds[page][background=color,backgroundcolor=blue]
\starttext
text
\stoptext
</texcode>
|
|<context>
\setuppapersize[A10]
\setupcolors[state=start]
\setupbackgrounds[page][background=color,backgroundcolor=blue]
\starttext
text
\stoptext
</context>
|}
== Using colors in MetaPost ==
A color defined in TeX is available in MetaPost using `\MPcolor{...}`. For example:
{|
|-
|<texcode>
\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
</texcode>
|<context mode=mkiv>
\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
</context>
|}
Note that `\MPcolor{...}` behaves similar to a `color` primitive in MetaPost. For example, the following is valid MetaPost code.
<texcode>color myColor; myColor = 0.5[\MPcolor{highlight}, white];</texcode>
== Using colors in TikZ ==
= Viewing pre-defined color =
== View all defined colors ==
To view pre-defined colors, you can use {{cmd|showcolor}}. For example, to see all the colors defined in {{src|colo-imp-x11.mkiv}}, use (output truncated for display here ...)
{|
|-
|<texcode>\showcolor[x11]</texcode>
|<context mode=mkiv>\startTEXpage[height=5cm]\showcolor[x11]\stopTEXpage</context>
|}
If you use {{cmd|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:
* {{cmd|showcolorcomponents}}
<texcode>\showcolorcomponents[color-1, color-2]</texcode>
For example,
{|
|-
|<texcode>\showcolorcomponents[red,middlered,darkred]</texcode>
|<context mode=mkiv>\showcolorcomponents[red,middlered,darkred]</context>
|}
* {{cmd|colorcomponents}}
* {{cmd|transparencycomponents}}
* {{cmd|processcolorcomponents}}
<texcode>\colorcompoents{defined-color}
\tranparencycomponents{defined-color}
\processcolorcomponents{defined-color}
</texcode>
For example,
{|
|-
|<texcode>
\startlines
\colorcomponents{red}
\transparencycomponents{red}
\processcolorcomponents{red}
\stoplines
</texcode>
|
<context mode=mkiv>
\startlines
\colorcomponents{red}
\transparencycomponents{red}
\processcolorcomponents{red}
\stoplines
</context>
|}
= Testing if color is defined =
To test if a color is defined, use
* {{cmd|doifcolor}}
* {{cmd|doifcolorelse}}
Usage:
<texcode>
\doifcolor{color-name}{... if branch ... }
\doifcolorelse{color-name}{... if branch ...}{... else branch ...}
</texcode>
= Specialized topics =
* [[Color/Palet|Color Palettes]]
* [[Color/Transparency|Transparency]]
* [[Color/Spot_Colors|Spot Colors]]
= References =
* [http://paletton.com Paletton] - Website to choose color palettes
* [http://colorbrewer2.org/ 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)
{{Color navbox}}
{{navbox
| name = Color navbox