< [[Visuals]] | [[Graphics]] >{{Color navbox}}
= Enabling colors =
In current versions ConTeXt supports two color models: [http://en.wikipedia.org/wiki/RGB_color_model RGB] (newer than 11typically used for screen display) and [http://en.05wikipedia.2009org/wiki/CMYK_color_model CMYK] (typically used for printing) of ConTeXt mkiv, . There is also support for [http://en.wikipedia.org/wiki/Spot_color spot colors are enabled by default] (typically used for offset printing) and transparencies.
In older versions, colors must be enabled using {{cmd|setupcolors}}<tt>[state=Before you start]</tt>... =
1. It is usually a bad style to use explicit color switches in the text. It is 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= Defining Colors =red]</texcode>and then use <code>\important{important text}</code> in the text.
2. Colors are not enabled by default in MkII. To enabled colors in MkII, use<texcode>\setupcolors[state== Choosing a color model ==start]</texcode>
* RGB and CMYK are enabled by default3. If you want only RGB or only CMYK colorTo disable colors in a document, use <tt>cmyk=no</tt> or <tttexcode>rgb\setupcolors[state=nostop]</tttexcode>. Multitone colors see below. * For spot colors, say spot=yes. To eliminate everything except spot colours, leaving a clean file for professional printing, accompany this with rgb=no,cmyk=no. See spot colours below for more details.* Normally all colors are defined in RGB ''and'' CMYK and get converted if needed.
=== Alternatives ==Basic Usage =
You can generate an alternative definition set based on the results of
the [http://blog.xkcd.com/2010/05/03/color-survey-results/ xkcd color survey]
with the
[https://bitbucket.org/phg/xcs-colors <code>xcs-colors.lua</code> script].
== Defining colors: {{cmd|definecolor}} ==To color text, use
{{cmd|definecolor}}<tttexcode>\color[blabluedefined-color][r={ ...1, g=text .1, b=1, c=1, m=.1, y=0, k=0, s=.2]}</tttexcode> (definition for RGB, CMYK and Grey!).See also [[Command/definecolor]].
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:
{|
|-
| <texcode>
\definecolor[blablue][r=.25, g=.1, b=1, c=1, m=.1, y=0, k=0, s=.2] Here's some Three \color[blabluered]{blue textcool} inbetween!cats
</texcode>
|
| <contextmode=mkiv>\setupcolors[state=start]starttext\definecolor[blablue][r=.1, g=.1, b=1, c=1, m=.1, y=0, k=0, s=.2] Here's some Three \color[blabluered]{blue textcool} inbetween!cats\stoptext
</context>
|}
=== Colors with Hexadecimal Numbers ===or
You can also use hexadecimal numers to specify colors. You need to load the '''hex''' color module first:
{|
! width="45%"|
|-
| <texcode>
\setupcolorstarttext\startcolor[hexred]\definecolor[salmon][h=AB5757]input tufte\stopcolorHey, \color[salmon]{look at that!}stoptext
</texcode>
|
|<contextmode=mkiv>\setupcolorssetuppapersize[state=startA5]\setupcolorstarttext\startcolor[hexred]\definecolor[salmon][h=AB5757]input tufte\stopcolorHey, \color[salmon]{look at that!}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:
=Choosing a color scheme=
There are three basic strategies to select color combinations for a particular design
# Create a color scheme by picking several colors found within the objects to be used (photographs, pictures, etc)
# Create colors derived from those found in the objects to be used
# Create a color scheme based on the message to convey / the psychological effects of color
See for additional help & reference:
* [http://colorschemedesigner.com/ colorschemedesigner.com] - Useful site to help choose a color scheme in rgb color space
* Tina Sutton, Bride M Whelan: The Complete Color Harmony. Rockport Publishers (2004). ISBN 978-1592530311 (recommanded in the mailing list)
=Using Colors=
* Use the color name like <tt>[color=blablue]</tt> in some <tt>\setup...</tt> command.
== With text ==
Typeset single text elements with {{cmd|color}}<tt>[colorname]{nice blue text}</tt>:
{|
|-
| <texcode>
Three \colorcolored[redr=0.1, g=0.8, b=0.8]{coolcolorful} cats
</texcode>
|
|<contextmode=mkiv>\setupcolors[state=start]
\starttext
Three \colorcolored[redr=0.1, g=0.8, b=0.8]{coolcolorful} cats
\stoptext
</context>
|}
Alternatively, typeset text elements with {{cmd|colored}}<tt>[rgb values]{colored text}</tt> (suggested on NTG-ConTeXt: [http://www.ntg.nl/pipermail/ntg-context/2010/046563.html]):
'''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 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> is between <code>0</code> and <code>360</code>; the values for <code>s</code>, <code>v</code> are floating point numbers between <code>0</code> and <code>1</code>.
|-
| Hex
| <texcode>\definecolor[...][h=...]</texcode>
For example,
<texcode>\definecolor[lime][h=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][g=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).
|}
'''Note''': The key-values are overloaded. For example, <code>h</code> is used for both HSV model and Hex model; <code>s</code> is used for both HSV model and grayscale model. The distinction is made based on the presence or absence of the <code>v</code> key.
== Cloning existing colors ==
You can ''clone'' an existing color using
<texcode>\definecolor[new-color][old-color]</texcode>
For example
{|
! width="45%"| ! width="10%"| ! width="45%"| |- | <texcode>\usecolors[xwi]\definecolor[highlight][yellow]Three \coloreddefineframed [rimportant] [location=.4low, frame=off, g background=.4color, bbackgroundcolor=highlight] This is a \important{important}word.9 \definecolor[highlight][lavenderblush]This is a \important{colorfulimportant} kittensword.
</texcode>
| width="10%"|| width="45%"|<contextmode=mkiv>\setupcolorsusecolors[state=startxwi]\starttextdefinecolor[highlight][yellow]Three \coloreddefineframed[important][rlocation=low, frame=.4off, g background=.4color, bbackgroundcolor=.9highlight] This is a \important{colorfulimportant} kittensword. \definecolor[highlight][lavenderblush]This is a \stoptextimportant{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>
Typeset longer sections with {{cmd|startcolor}}<tt>[colorname] ...</tt> {{cmd|stopcolor}}:For example,
{|
! width="10%"|
! width="45%"|
|- | <texcode>\setuppapersizesetupcolors[A6textcolor=blue]
\starttext
\startcolor[orange]\input tufte\stopcolortext
\stoptext
</texcode>
|
|<contextmode=mkiv>\setuppapersize[A6]\setupcolors[statetextcolor=startblue]
\starttext
\startcolor[orange]\input tufte\stopcolortext
\stoptext
</context>
|}
== In titles == See [[Titles#Using_colors_in_chapters_and_sections]] == With frames == {| ! width="45%"| ! width="10%"| ! width="45%"| |- | <texcode>\framed[Changing background=color, backgroundcolor=green]{bla}\framed[background=color, backgroundcolor=yellow, cornerof page =00]{bla}</texcode>||<context>\setupcolors[state=start]
\starttextThe background color of the page can be changed using<texcode>\framedsetupbackgrounds[background=color, backgroundcolor=greenpage]{bla}\framed[background=color, backgroundcolor=yellow, corner=00defined-color]{bla}</contexttexcode>|}
== Background of the page ==
For example,
{|
! width="45%"|
|}
== Background of cells in tables ==
See
* [[Table#Background Colors]]
* [[TABLE#Round_corners]]
== In Metapost ==
Metapost == Using colors in MkIV is different from MkII and all labels are typesetand colored in TeX, if you want a label use label(textext("\blue RED"),origin) ;MetaPost ==
== In TikZ ==A color defined in TeX is available in MetaPost using `\MPcolor{...}`. For example:
{|
! width="45%"|- ! width="10%"|<texcode> ! width\definecolor[highlight][r=0.8,g=0.8,b=0]\starttext\color[highlight]{Highlighted text in TeX} \startMPcodelabel("45%Highlighted text in MetaPost"|, origin) withcolor \MPcolor{highlight};\stopMPcode |-</texcode> | <texcodecontext mode=mkiv>\usemoduledefinecolor[tikzhighlight][r=0.8,g=0.8,b=0]
\starttext
\tikzcolor[highlight]{Highlighted text in TeX} \shadestartMPcodelabel("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[ball \MPcolor{highlight}, white];</texcode> == Using colors in TikZ == = Viewing pre-defined color=red!40!yellow] (0 == 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}},0) circle use (output truncated for display here ...15cm); {| |-|<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}\stoptextstoplines
</texcode>
|
|<contextmode=mkiv>\setupcolors[state=start]startlines\usemodule[tikz]colorcomponents{red}\starttexttransparencycomponents{red}\tikz\shade[ball color=processcolorcomponents{red!40!yellow] (0,0) circle (.15cm);}\stoptextstoplines
</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 navbox}}Harmony. Rockport Publishers (2004). ISBN 978-1592530311 (recommanded in the mailing list)
{{Getting started navbox}}
[[Category:Graphics]]