Difference between revisions of "Color"

From Wiki
Jump to navigation Jump to search
m (→‎Defining New Colors: bit of visual cleanup)
(19 intermediate revisions by 8 users not shown)
Line 1: Line 1:
< [[Visuals]] | [[Graphics]] >
+
{{Color navbox}}
  
= Enabling colors =
 
  
In current versions (newer than 11.05.2009) of ConTeXt mkiv, colors are enabled by default.
+
ConTeXt supports two color models: [http://en.wikipedia.org/wiki/RGB_color_model RGB] (typically used for screen display) and [http://en.wikipedia.org/wiki/CMYK_color_model CMYK] (typically used for printing). There is also support for [http://en.wikipedia.org/wiki/Spot_color spot colors] (typically used for offset printing) and transparencies.  
  
In older versions, colors must be enabled using
+
= Before you start ... =
<cmd>setupcolors</cmd><tt>[state=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=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=start]</texcode>
 +
 
 +
3. To disable colors in a document, use
 +
<texcode>\setupcolors[state=stop]</texcode>
 +
 
 +
= Basic Usage =
  
=Defining Colors=
 
  
== Choosing a color model ==
+
To color text, use
  
* RGB and CMYK are enabled by default. If you want only RGB or only CMYK color, use <tt>cmyk=no</tt> or <tt>rgb=no</tt>. Multitone colors see below.  
+
<texcode>\color[defined-color]{ ... text ... }</texcode>
* 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.
 
  
== Using predefined colors: <cmd>setupcolor</cmd> ==
+
or
  
You find lists of predefined colors in the files <tt>colo-xxx.tex</tt>, load them with <cmd>setupcolor</cmd><tt>[xxx]</tt>:
+
<texcode>\startcolor[defined-color]
* rgb: some simple colors, loaded by default (with translations for the different interface languages!)
+
  ... text ...  
* xwi: X-Windows-colors
+
\stopcolor</texcode>
* pra: PRAGMA ADE company colors
 
* ema: Emacs colors
 
  
* Try the magic <cmd>showcolor</cmd><tt>[xxx]</tt>!
+
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="25%"|
+
  ! width="45%"|
 
  ! width="10%"|
 
  ! width="10%"|
  ! width="65%"|
+
  ! width="45%"|
 
  |-
 
  |-
 
  | <texcode>
 
  | <texcode>
\showcolor[rgb]
+
Three \color[red]{cool} cats
 
</texcode>
 
</texcode>
 
|
 
|
| <context>
+
|<context mode=mkiv>
\setupcolors[state=start]
+
\starttext
\showcolor[rgb]
+
Three \color[red]{cool} cats
 +
\stoptext
 
</context>
 
</context>
 
|}
 
|}
  
== Defining colors: <cmd>definecolor</cmd> ==
+
or
 
 
<cmd>definecolor</cmd><tt>[blablue][r=.1, g=.1, b=1, c=1, m=.1, y=0, k=0, s=.2]</tt> (definition for RGB, CMYK and Grey!).
 
See also [[Reference/en/definecolor]].
 
 
 
  
 
{|
 
{|
Line 53: Line 57:
 
  |-
 
  |-
 
  | <texcode>
 
  | <texcode>
\definecolor[blablue][r=.25, g=.1, b=1, c=1, m=.1, y=0, k=0, s=.2]
+
\starttext
 
+
\startcolor[red]
Here's some \color[blablue]{blue text} inbetween!
+
\input tufte
 +
\stopcolor
 +
\stoptext
 
</texcode>
 
</texcode>
 
|
 
|
| <context>
+
|<context mode=mkiv>
\setupcolors[state=start]
+
\setuppapersize[A5]
\definecolor[blablue][r=.1, g=.1, b=1, c=1, m=.1, y=0, k=0, s=.2]
+
\starttext
 
+
\startcolor[red]
Here's some \color[blablue]{blue text} inbetween!
+
\input tufte
 +
\stopcolor
 +
\stoptext
 
</context>
 
</context>
 
|}
 
|}
  
=== Colors with Hexadecimal Numbers ===
+
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:
 +
 
  
You can also use hexadecimal numers to specify colors. You need to load the '''hex''' color module first:
 
 
{|
 
{|
 
  ! width="45%"|
 
  ! width="45%"|
Line 75: Line 85:
 
  |-
 
  |-
 
  | <texcode>
 
  | <texcode>
\setupcolor[hex]
+
Three \colored[r=0.1, g=0.8, b=0.8]{colorful} cats
\definecolor[salmon][h=AB5757]
 
 
 
Hey, \color[salmon]{look at that!}
 
 
</texcode>
 
</texcode>
 
|
 
|
|<context>
+
|<context mode=mkiv>
\setupcolors[state=start]
+
\starttext
\setupcolor[hex]
+
Three \colored[r=0.1, g=0.8, b=0.8]{colorful} cats
\definecolor[salmon][h=AB5757]
+
\stoptext
 
 
Hey, \color[salmon]{look at that!}
 
 
</context>
 
</context>
 
|}
 
|}
  
===Transparent Colors===
 
  
You can define '''transparent''' colors through setting t, e.g. <tt>t=0.5</tt>. Beware, some PDF viewers and printshops can't handle PDF transparences!
+
'''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>
  
Hans Hagen posted the following sample code for transparent colors on the mailing list on 2005-07-13; the yellow blocks have been added to demonstrate the order in which the blocks are drawn on the page; the first yellow block is behind the transparent red and blue blocks, while the second is in front of them.
+
* To color the footnotes red, use
 +
<texcode>\setupfootnotes[color=red]</texcode>
  
{|
+
etc.
! width="45%"|
+
 
! width="10%"|
+
 
! width="45%"|
+
= Pre-defined colors =
|-
 
| <texcode>
 
\definecolor [transparentred]  [r=1,t=.5,a=1]
 
\definecolor [transparentblue] [b=1,t=.5,a=1]
 
\definecolor [solidyellow]  [y=1,t=1,a=1]
 
  
\starttext
 
  
\startTEXpage
+
== Default pre-defined colors ==
This is some sample text that goes behind the rectangles\hskip-8cm
 
\blackrule[width=2cm,height=1cm,depth=1cm,color=solidyellow]\hskip-0.67cm
 
\blackrule[width=2cm,height=2cm,color=transparentred]\hskip-0.67cm
 
\blackrule[width=2cm,height=1cm,depth=1cm,color=transparentblue]\hskip-0.67cm
 
\blackrule[width=2cm,height=2cm,color=solidyellow]\hskip2cm.
 
\stopTEXpage
 
  
\stoptext
+
The following colors are pre-defined in ConTeXt (see {{src|colo-imp-rgb.mkiv}}).
</texcode>
 
|
 
|<context>
 
\setupcolors[state=start]
 
\definecolor [transparentred]  [r=1,t=.5,a=1]
 
\definecolor [transparentblue] [b=1,t=.5,a=1]
 
\definecolor [solidyellow]  [y=1,t=1,a=1]
 
  
\starttext
 
  
\startTEXpage
+
{| style="text-align: right; padding-right: 20px;"
This is some sample text that goes behind the rectangles\hskip-8cm
+
!| Name !! Color
\blackrule[width=2cm,height=1cm,depth=1cm,color=solidyellow]\hskip-0.67cm
+
!style="width: 80px;"| Name !! Color
\blackrule[width=2cm,height=2cm,color=transparentred]\hskip-0.67cm
+
!style="width: 100px;"| Name !! Color
\blackrule[width=2cm,height=1cm,depth=1cm,color=transparentblue]\hskip-0.67cm
+
!style="width: 100px;"| Name !! Color
\blackrule[width=2cm,height=2cm,color=solidyellow]\hskip2cm.
+
|-
\stopTEXpage
+
|black||bgcolor="#000"| &nbsp;
 +
|white||bgcolor="#FFF"| &nbsp;
 +
|-
 +
|gray||bgcolor="#E6E6E6"| &nbsp;
 +
|lightgray||bgcolor="#D6D6D6"| &nbsp;
 +
|middlegray||bgcolor="#B9B9B9"| &nbsp;
 +
|darkgray||bgcolor="#999999"| &nbsp;
 +
|-
 +
|red||bgcolor="#FF0000"| &nbsp;
 +
|lightred||bgcolor="#FF0000"| &nbsp;
 +
|middlered||bgcolor="#CC0000"| &nbsp;
 +
|darkred||bgcolor="#990000"| &nbsp;
 +
|-
 +
|green||bgcolor="#00FF00"| &nbsp;
 +
|lightgreen||bgcolor="#00FF00"| &nbsp;
 +
|middlegreen||bgcolor="#00CC00"| &nbsp;
 +
|darkgreen||bgcolor="#009900"| &nbsp;
 +
|-
 +
|blue||bgcolor="#0000FF"| &nbsp;
 +
|lightblue||bgcolor="#0000FF"| &nbsp;
 +
|middleblue||bgcolor="#0000CC"| &nbsp;
 +
|darkblue||bgcolor="#000099"| &nbsp;
 +
|-
 +
|cyan||bgcolor="#00FFFF" | &nbsp;
 +
| &nbsp; ||bgcolor=| &nbsp;
 +
|middlecyan||bgcolor="#00CCCC" | &nbsp;
 +
|darkcyan||bgcolor="#006666" | &nbsp;
 +
|-
 +
|magenta||bgcolor="#FF00FF" | &nbsp;
 +
| &nbsp; ||bgcolor=| &nbsp;
 +
|middlemagenta||bgcolor="CC00CC" | &nbsp;
 +
|darkmagenta||bgcolor="660066" | &nbsp;
 +
|-
 +
|yellow||bgcolor="#FFFF00" | &nbsp;
 +
| &nbsp; ||bgcolor=| &nbsp;
 +
|middleyellow||bgcolor="CCCC00" | &nbsp;
 +
|darkyellow||bgcolor="666600" | &nbsp;
  
\stoptext
 
</context>
 
 
|}
 
|}
  
== Defining color schemes: <cmd>definecolorgroup</cmd> and <cmd>definepalet</cmd>==
+
== X11 Colors ==
<cmd>definecolorgroup</cmd><tt>[name][system][values]</tt>
+
 
 +
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>
  
<cmd>definepalet</cmd><tt>[palettename][colorname1=groupcolor:1, colorname2=groupcolor:2, ...]</tt>
+
This loads the following additional colors:
  
Very interesting feature, see also the manual and here on the wiki [[Reference/en/definecolor]]
+
{| 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"|&nbsp;
 +
|antiquewhite||bgcolor="#F9EAD6"|&nbsp;
 +
|aquamarine||bgcolor="#7FFFD3"|&nbsp;
 +
|azure||bgcolor="#EFFFFF"|&nbsp;
 +
|-
 +
|beige||bgcolor="#F4F4DB"|&nbsp;
 +
|bisque||bgcolor="#FFE2C4"|&nbsp;
 +
|black||bgcolor="#000000"|&nbsp;
 +
|blanchedalmond||bgcolor="#FFEACC"|&nbsp;
 +
|-
 +
|blue||bgcolor="#0000FF"|&nbsp;
 +
|blueviolet||bgcolor="#892BE2"|&nbsp;
 +
|brown||bgcolor="#A52828"|&nbsp;
 +
|burlywood||bgcolor="#DDB787"|&nbsp;
 +
|-
 +
|cadetblue||bgcolor="#5E9EA0"|&nbsp;
 +
|chartreuse||bgcolor="#7FFF00"|&nbsp;
 +
|chocolate||bgcolor="#D1681E"|&nbsp;
 +
|coral||bgcolor="#FF7F4F"|&nbsp;
 +
|-
 +
|cornflowerblue||bgcolor="#6393ED"|&nbsp;
 +
|cornsilk||bgcolor="#FFF7DB"|&nbsp;
 +
|cyan||bgcolor="#00FFFF"|&nbsp;
 +
|darkgoldenrod||bgcolor="#B7870A"|&nbsp;
 +
|-
 +
|darkgreen||bgcolor="#006300"|&nbsp;
 +
|darkkhaki||bgcolor="#BCB76B"|&nbsp;
 +
|darkolivegreen||bgcolor="#546B2D"|&nbsp;
 +
|darkorange||bgcolor="#FF8C00"|&nbsp;
 +
|-
 +
|darkorchid||bgcolor="#9933CC"|&nbsp;
 +
|darksalmon||bgcolor="#E8967A"|&nbsp;
 +
|darkseagreen||bgcolor="#8EBC8E"|&nbsp;
 +
|darkslateblue||bgcolor="#473D8C"|&nbsp;
 +
|-
 +
|darkturquoise||bgcolor="#00CED1"|&nbsp;
 +
|darkviolet||bgcolor="#9300D3"|&nbsp;
 +
|deeppink||bgcolor="#FF1493"|&nbsp;
 +
|deepskyblue||bgcolor="#00BFFF"|&nbsp;
 +
|-
 +
|dodgerblue||bgcolor="#1E8EFF"|&nbsp;
 +
|firebrick||bgcolor="#B22121"|&nbsp;
 +
|floralwhite||bgcolor="#FFF9EF"|&nbsp;
 +
|forestgreen||bgcolor="#218C21"|&nbsp;
 +
|-
 +
|gainsboro||bgcolor="#DBDBDB"|&nbsp;
 +
|ghostwhite||bgcolor="#F7F7FF"|&nbsp;
 +
|gold||bgcolor="#FFD600"|&nbsp;
 +
|goldenrod||bgcolor="#D8A521"|&nbsp;
 +
|-
 +
|green||bgcolor="#00FF00"|&nbsp;
 +
|greenyellow||bgcolor="#ADFF2D"|&nbsp;
 +
|honeydew||bgcolor="#EFFFEF"|&nbsp;
 +
|hotpink||bgcolor="#FF68B5"|&nbsp;
 +
|-
 +
|indianred||bgcolor="#CC5B5B"|&nbsp;
 +
|ivory||bgcolor="#FFFFEF"|&nbsp;
 +
|khaki||bgcolor="#EFE58C"|&nbsp;
 +
|lavender||bgcolor="#E5E5F9"|&nbsp;
 +
|-
 +
|lavenderblush||bgcolor="#FFEFF4"|&nbsp;
 +
|lawngreen||bgcolor="#7CFC00"|&nbsp;
 +
|lemonchiffon||bgcolor="#FFF9CC"|&nbsp;
 +
|lightblue||bgcolor="#ADD8E5"|&nbsp;
 +
|-
 +
|lightcoral||bgcolor="#EF7F7F"|&nbsp;
 +
|lightcyan||bgcolor="#E0FFFF"|&nbsp;
 +
|lightgoldenrod||bgcolor="#EDDD82"|&nbsp;
 +
|lightgoldenrodyellow||bgcolor="#F9F9D1"|&nbsp;
 +
|-
 +
|lightpink||bgcolor="#FFB5C1"|&nbsp;
 +
|lightsalmon||bgcolor="#FFA07A"|&nbsp;
 +
|lightseagreen||bgcolor="#21B2AA"|&nbsp;
 +
|lightskyblue||bgcolor="#87CEF9"|&nbsp;
 +
|-
 +
|lightslateblue||bgcolor="#8470FF"|&nbsp;
 +
|lightsteelblue||bgcolor="#AFC4DD"|&nbsp;
 +
|lightyellow||bgcolor="#FFFFE0"|&nbsp;
 +
|limegreen||bgcolor="#33CC33"|&nbsp;
 +
|-
 +
|linen||bgcolor="#F9EFE5"|&nbsp;
 +
|magenta||bgcolor="#FF00FF"|&nbsp;
 +
|maroon||bgcolor="#AF3060"|&nbsp;
 +
|mediumaquamarine||bgcolor="#66CCAA"|&nbsp;
 +
|-
 +
|mediumblue||bgcolor="#0000CC"|&nbsp;
 +
|mediumorchid||bgcolor="#BA54D3"|&nbsp;
 +
|mediumpurple||bgcolor="#9370DB"|&nbsp;
 +
|mediumseagreen||bgcolor="#3DB270"|&nbsp;
 +
|-
 +
|mediumslateblue||bgcolor="#7A68ED"|&nbsp;
 +
|mediumspringgreen||bgcolor="#00F999"|&nbsp;
 +
|mediumturquoise||bgcolor="#47D1CC"|&nbsp;
 +
|mediumvioletred||bgcolor="#C61484"|&nbsp;
 +
|-
 +
|midnightblue||bgcolor="#191970"|&nbsp;
 +
|mintcream||bgcolor="#F4FFF9"|&nbsp;
 +
|mistyrose||bgcolor="#FFE2E0"|&nbsp;
 +
|moccasin||bgcolor="#FFE2B5"|&nbsp;
 +
|-
 +
|navajowhite||bgcolor="#FFDDAD"|&nbsp;
 +
|navy||bgcolor="#00007F"|&nbsp;
 +
|navyblue||bgcolor="#00007F"|&nbsp;
 +
|oldlace||bgcolor="#FCF4E5"|&nbsp;
 +
|-
 +
|olivedrab||bgcolor="#6B8E23"|&nbsp;
 +
|orange||bgcolor="#FFA500"|&nbsp;
 +
|orangered||bgcolor="#FF4400"|&nbsp;
 +
|orchid||bgcolor="#D870D6"|&nbsp;
 +
|-
 +
|palegoldenrod||bgcolor="#EDE8AA"|&nbsp;
 +
|palegreen||bgcolor="#99F999"|&nbsp;
 +
|paleturquoise||bgcolor="#AFEDED"|&nbsp;
 +
|palevioletred||bgcolor="#DB7093"|&nbsp;
 +
|-
 +
|papayawhip||bgcolor="#FFEFD6"|&nbsp;
 +
|peachpuff||bgcolor="#FFD8BA"|&nbsp;
 +
|peru||bgcolor="#CC843F"|&nbsp;
 +
|pink||bgcolor="#FFBFCC"|&nbsp;
 +
|-
 +
|plum||bgcolor="#DDA0DD"|&nbsp;
 +
|powderblue||bgcolor="#AFE0E5"|&nbsp;
 +
|purple||bgcolor="#A021EF"|&nbsp;
 +
|red ||bgcolor="#FF0000"|&nbsp;
 +
|-
 +
|rosybrown||bgcolor="#BC8E8E"|&nbsp;
 +
|royalblue||bgcolor="#3F68E0"|&nbsp;
 +
|saddlebrown||bgcolor="#8C4411"|&nbsp;
 +
|salmon||bgcolor="#F97F72"|&nbsp;
 +
|-
 +
|sandybrown||bgcolor="#F4A360"|&nbsp;
 +
|seagreen||bgcolor="#2D8C56"|&nbsp;
 +
|seashell||bgcolor="#FFF4ED"|&nbsp;
 +
|sienna||bgcolor="#A0512D"|&nbsp;
 +
|-
 +
|skyblue||bgcolor="#87CEEA"|&nbsp;
 +
|slateblue||bgcolor="#6B59CC"|&nbsp;
 +
|snow||bgcolor="#FFF9F9"|&nbsp;
 +
|springgreen||bgcolor="#00FF7F"|&nbsp;
 +
|-
 +
|steelblue||bgcolor="#4482B5"|&nbsp;
 +
|tan ||bgcolor="#D1B58C"|&nbsp;
 +
|thistle||bgcolor="#D8BFD8"|&nbsp;
 +
|tomato||bgcolor="#FF6347"|&nbsp;
 +
|-
 +
|turquoise||bgcolor="#3FE0D1"|&nbsp;
 +
|violet||bgcolor="#ED82ED"|&nbsp;
 +
|violetred||bgcolor="#D1218E"|&nbsp;
 +
|wheat||bgcolor="#F4DDB2"|&nbsp;
 +
|-
 +
|white||bgcolor="#FFFFFF"|&nbsp;
 +
|whitesmoke||bgcolor="#F4F4F4"|&nbsp;
 +
|yellow||bgcolor="#FFFF00"|&nbsp;
 +
|yellowgreen||bgcolor="#99CC33"|&nbsp;
 +
|}
  
=Choosing a color scheme=
+
== Additional pre-defined colors ==
  
There are three basic strategies to select color combinations for a particular design
+
In addition to the above, there are two other sets of pre-defined colors.
  
# Create a color scheme by picking several colors found within the objects to be used (photographs, pictures, etc)
+
{| class="wikitable"
# Create colors derived from those found in the objects to be used
+
| x11 || <code>\usecolors[x11]</code>
# Create a color scheme based on the message to convey / the psychological effects of color
+
| {{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
 +
|}
  
See for additional help & reference:
+
= Defining New Colors =
* [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)
 
  
 +
New colors may be defined in the following ways
  
=Using Colors=
+
{| 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).
 +
|}
  
* Use the color name like <tt>[color=blablue]</tt> in some <tt>\setup...</tt> command.
+
'''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.
  
== With text ==
+
== Cloning existing colors ==
  
Typeset single text elements with <cmd>color</cmd><tt>[colorname]{nice blue text}</tt>:
+
You can ''clone'' an existing color using
 +
<texcode>\definecolor[new-color][old-color]</texcode>
  
 +
For example
 
{|
 
{|
! width="45%"|
+
| width="45%"| <texcode>\usecolors[xwi]
! width="10%"|
+
\definecolor[highlight][yellow]
! width="45%"|
+
\defineframed
|-
+
    [important]
| <texcode>
+
    [location=low, frame=off,
Three \color[red]{cool} cats
+
    background=color, backgroundcolor=highlight]
 +
 
 +
This is a \important{important}word.
 +
 
 +
\definecolor[highlight][lavenderblush]
 +
This is a \important{important}word.
 
</texcode>
 
</texcode>
|
+
| width="10%"|
|<context>
+
| width="45%"| <context mode=mkiv>\usecolors[xwi]
\setupcolors[state=start]
+
\definecolor[highlight][yellow]
\starttext
+
\defineframed[important][location=low, frame=off,
Three \color[red]{cool} cats
+
                        background=color, backgroundcolor=highlight]
\stoptext
+
 
 +
This is a \important{important}word.
 +
 
 +
\definecolor[highlight][lavenderblush]
 +
This is a \important{important}word.
 
</context>
 
</context>
 
|}
 
|}
  
Alternatively, typeset text elements with <cmd>colored</cmd><tt>[rgb values]{colored text}</tt> (suggested on NTG-ConTeXt: [http://www.ntg.nl/pipermail/ntg-context/2010/046563.html]):
+
== 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
! width="45%"|
 
! width="10%"|
 
! width="45%"|
 
|-
 
| <texcode>
 
Three \colored[r=.4, g=.4, b=.9]{colorful} kittens.
 
</texcode>
 
|
 
|<context>
 
\setupcolors[state=start]
 
\starttext
 
Three \colored[r=.4, g=.4, b=.9]{colorful} kittens.
 
\stoptext
 
</context>
 
|}
 
  
 +
<texcode>\setupcolors[textcolor=defined-color]</texcode>
  
Typeset longer sections with <cmd>startcolor</cmd><tt>[colorname] ...</tt> <cmd>stopcolor</cmd>:
+
For example,
  
 
{|
 
{|
Line 210: Line 454:
 
  ! width="10%"|
 
  ! width="10%"|
 
  ! width="45%"|
 
  ! width="45%"|
|-
+
|-
| <texcode>
+
|<texcode>\setupcolors[textcolor=blue]
 
\starttext
 
\starttext
\startcolor[orange]
+
text
\input tufte
 
\stopcolor
 
 
\stoptext
 
\stoptext
 
</texcode>
 
</texcode>
 
|
 
|
|<context>
+
|<context mode=mkiv>
\setupcolors[state=start]
+
\setupcolors[textcolor=blue]
 
\starttext
 
\starttext
\startcolor[orange]
+
text
\input tufte
 
\stopcolor
 
 
\stoptext
 
\stoptext
 
</context>
 
</context>
 
|}
 
|}
  
== In titles ==
+
== Changing background color of page ==
 
 
See [[Titles#Using_colors_in_chapters_and_sections]]
 
 
 
== With frames ==
 
  
{|
+
The background color of the page can be changed using
! width="45%"|
+
<texcode>\setupbackgrounds[page][background=color,backgroundcolor=defined-color]</texcode>
! width="10%"|
 
! width="45%"|
 
|-
 
| <texcode>
 
\framed[background=color, backgroundcolor=green]{bla}
 
\framed[background=color, backgroundcolor=yellow, corner=00]{bla}
 
</texcode>
 
|
 
|<context>
 
\setupcolors[state=start]
 
 
 
\starttext
 
\framed[background=color, backgroundcolor=green]{bla}
 
\framed[background=color, backgroundcolor=yellow, corner=00]{bla}
 
</context>
 
|}
 
  
== Background of the page ==
 
  
 +
For example,
 
{|
 
{|
 
  ! width="45%"|
 
  ! width="45%"|
Line 262: Line 482:
 
  |-
 
  |-
 
  | <texcode>
 
  | <texcode>
 +
\setuppapersize[A10]
 
\setupbackgrounds[page][background=color,backgroundcolor=blue]
 
\setupbackgrounds[page][background=color,backgroundcolor=blue]
  
Line 270: Line 491:
 
|
 
|
 
|<context>
 
|<context>
 +
\setuppapersize[A10]
 
\setupcolors[state=start]
 
\setupcolors[state=start]
  
Line 280: Line 502:
 
|}
 
|}
  
== Background of cells in tables ==
 
  
See
 
* [[Table#Background Colors]]
 
* [[TABLE#Round_corners]]
 
  
== In Metapost ==
 
  
Metapost in MkIV is different from MkII and all labels are typeset
+
== Using colors in MetaPost ==
and colored in TeX, if you want a label use
 
  label(textext("\blue RED"),origin) ;
 
  
== In TikZ ==
+
A color defined in TeX is available in MetaPost using `\MPcolor{...}`. For example:
  
 
{|
 
{|
! width="45%"|
+
|-
! width="10%"|
+
|<texcode>
! width="45%"|
+
\definecolor[highlight][r=0.8,g=0.8,b=0]
|-
 
| <texcode>
 
\usemodule[tikz]
 
 
\starttext
 
\starttext
\tikz\shade[ball color=red!40!yellow] (0,0) circle (.15cm);
+
\color[highlight]{Highlighted text in TeX}
\stoptext
+
 
 +
\startMPcode
 +
label("Highlighted text in MetaPost", origin)
 +
    withcolor \MPcolor{highlight};
 +
\stopMPcode
 
</texcode>
 
</texcode>
|
+
|<context mode=mkiv>
|<context>
+
\definecolor[highlight][r=0.8,g=0.8,b=0]
\setupcolors[state=start]
 
\usemodule[tikz]
 
 
\starttext
 
\starttext
\tikz\shade[ball color=red!40!yellow] (0,0) circle (.15cm);
+
\color[highlight]{Highlighted text in TeX}
\stoptext
+
 
 +
\startMPcode
 +
label("Highlighted text in MetaPost", origin)
 +
    withcolor \MPcolor{highlight};
 +
\stopMPcode
 
</context>
 
</context>
 
|}
 
|}
  
=Spot colours=
+
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>
  
To produce a file ready for a clean PDF separation process at your print house, start with:
 
  
<cmd>setupcolors</cmd><tt>[rgb=no,cmyk=yes,spot=yes,state=start,overprint=yes]</tt>
+
== Using colors in TikZ ==
  
which will set things up for spot colors with CMYK allowed. The last setting ensures that black overprinting your spot colour tints will not knock out the colour - this is important for some types of commercial printing.
+
= Viewing pre-defined color =
  
Then define your basic spot colour. Note that the name cannot contain spaces or numbers (but we come to that later):
+
== View all defined colors ==
  
<cmd>definecolor</cmd><tt>[PantoneTwoNineFour][c=1,m=.56,y=0,k=.18]</tt>
+
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 ...)
  
Now you can define the tints of this ink that you are actually going to use in your document. Let's say you'll have a 100% for headings:
+
{|
 +
|-
 +
|<texcode>\showcolor[x11]</texcode>
 +
|<context mode=mkiv>\startTEXpage[height=5cm]\showcolor[x11]\stopTEXpage</context>
 +
|}
  
<cmd>definespotcolor</cmd><tt>[MyBlue][PantoneTwoNineFour][p=1]</tt>
+
If you use {{cmd|showcolor}} without any argument, all currently defined colors are shown.
  
And then a 20% tint for nice display boxes:
+
== View specific defined colors ==
  
<cmd>definespotcolor</cmd><tt>[MyBlueTint][PantoneTwoNineFour][p=.2]</tt>
+
To view the components of a defined color, you can use:
  
And now you can happily use these named colours:
+
* {{cmd|showcolorcomponents}}
 +
<texcode>\showcolorcomponents[color-1, color-2]</texcode>
  
<texcode>
+
For example,
\starttext
 
  \color[MyBlue]{Interesting}
 
\stoptext
 
</texcode>
 
  
If you are including graphics made by an external program, you might want to match the colour name used in the graphic with the colour name in your '''ConTeXt''' set-up so that only one colour space is used in the final file. Unfortunately Pantone names and others tend to have spaces and numbers in them, so you need to do some extra work.
+
{|
 +
|-
 +
|<texcode>\showcolorcomponents[red,middlered,darkred]</texcode>
 +
|<context mode=mkiv>\showcolorcomponents[red,middlered,darkred]</context>
 +
|}
  
==Using the 'e' key to \definespotcolor to specify a spot colour name with spaces==
+
* {{cmd|colorcomponents}}
 +
* {{cmd|transparencycomponents}}
 +
* {{cmd|processcolorcomponents}}
 +
<texcode>\colorcompoents{defined-color}
 +
\tranparencycomponents{defined-color}
 +
\processcolorcomponents{defined-color}
 +
</texcode>
  
You can use the 'e' key when defining your spot colours in order to specify the precise colour names to be used by your ConTeXt set-up in the output file. For example:
+
For example,
 
+
{|
<texcode>
+
|-
% set up the cmyk fallbacks
+
|<texcode>
\definecolor
+
\startlines
  [PantoneThreeZeroEight]
+
\colorcomponents{red}
  [c=1,m=.05,y=0,k=.47]
+
\transparencycomponents{red}
 
+
\processcolorcomponents{red}
\definecolor
+
\stoplines
  [PantoneTwoNineEight]
 
  [c=.69,m=.07,y=0,k=0]
 
 
 
% Define tints of spot colours to be used in document for colouring text
 
\definespotcolor
 
  [DarkBlue]
 
  [PantoneThreeZeroEight]
 
  [p=1,e=PANTONE 308 CV]
 
 
 
\definespotcolor
 
  [LightBlue]
 
  [PantoneTwoNineEight]
 
  [p=1,e=PANTONE 298 CV]
 
 
</texcode>
 
</texcode>
 +
|
 +
<context mode=mkiv>
 +
\startlines
 +
\colorcomponents{red}
 +
\transparencycomponents{red}
 +
\processcolorcomponents{red}
 +
\stoplines
 +
</context>
 +
|}
  
(Tested only on minimal Linux distribution dated 8 May 2010 - can others confirm this
+
= Testing if color is defined =
to be true across the board now?)
 
 
 
Any text between a <cmd>startcolor[DarkBlue]</cmd> and <cmd>stopcolor</cmd> should now be assigned to the correct spot colour channel - Pantone 308 CV - on output.  More importantly if you include an external figure containing areas of this colour then your text and those parts of the graphic which have the same colour should now appear together in the 'Pantone 308 CV' colour channel on colour separation.
 
 
 
For example, if your original graphic is an EPS file containing the following lines:
 
 
 
%%DocumentCustomColors: (PANTONE 298 CV)
 
%%+ (PANTONE 308 CV)
 
%%CMYKCustomColor: 0.69 0.07 0 0 (PANTONE 298 CV)
 
%%+ 1 0.05 0 0.47 (PANTONE 308 CV)
 
 
 
and you convert this to a PDF using <tt>ps2pdf</tt> for inclusion in your '''ConTeXt''' document your PDF graphic will then contain something like:
 
 
 
<code>
 
8 0 obj
 
[/Separation
 
/PANTONE#20308#20CV
 
/DeviceCMYK
 
9 0 R]endobj
 
10 0 obj
 
[/Separation
 
/PANTONE#20298#20CV
 
/DeviceCMYK
 
11 0 R]endobj
 
</code>
 
  
Note how the space characters in the colour name are now encoded as '#20', but the colour names are essentially identical between the original EPS graphic, the new PDF graphic and your text.
+
To test if a color is defined, use
  
A good way of testing colour separation if you don't have access to expensive pre-flight PDF validation tools is to use the following GhostScript command:
+
* {{cmd|doifcolor}}
 +
* {{cmd|doifcolorelse}}
  
gs \
+
Usage:
  -dBATCH \
 
  -dNOPAUSE \
 
  -sDEVICE=tiffsep \
 
  -dDOINTERPOLATE \
 
  -dTextAlphaBits=4 \
 
  -dGraphicsAlphaBits=4 \
 
  -sOutputFile=output.tif \
 
  -r120 \
 
  -MaxSeparations=8 \
 
  input.pdf
 
  
This renders a PDF file <tt>input.pdf</tt> as a set of TIFF files:
 
 
  output.tif              - Composite including CMYK approximations to spot colours
 
  output.tif.Black.tif    - K channel
 
  output.tif.Cyan.tif    - C channel
 
  output.tif.Magenta.tif  - M channel
 
  output.tif.Yellow.tif  - Y channel
 
  output.tif.s0.tif      - Pantone 308 CV
 
  output.tif.s1.tif      - Pantone 298 CV
 
 
=Multitones=
 
 
Hans wrote on the mailinglist on 2004-12-27 about handling of multitone colors:
 
 
Currently it's done by pdftools.rb
 
 
Once pdfxTeX becomes pdfeTeX out of a sudden your beta can do it as well.
 
 
I still need to figure out a way to automatically reverse the graphic, but one of these days you can start using it.
 
 
Actually, multitones for text already work out of the box:
 
 
<texcode>
 
<texcode>
\setupcolors[state=start]
+
\doifcolor{color-name}{... if branch ... }
 
+
\doifcolorelse{color-name}{... if branch ...}{... else branch ...}
\definecolor [blue]  [c=1,m=.38,y=0,k=.64]
 
\definecolor [yellow] [c=0,m=.28,y=1,k=.06]
 
 
 
\definespotcolor [blue-100]  [blue]  [p=1]
 
\definespotcolor [yellow-100] [yellow] [p=1]
 
 
 
\definemultitonecolor [combicolor]  [blue=.12,yellow=.28] [c=.1,m=.1,y=.3,k=.1]
 
 
 
\starttext
 
 
 
\startcolor[blue]\blackrule[width=3cm,height=3cm]\stopcolor
 
 
 
\startcolor[yellow]\blackrule[width=3cm,height=3cm]\stopcolor
 
 
 
\startcolor[combicolor]\blackrule[width=3cm,height=3cm]\stopcolor
 
 
 
\stoptext
 
 
</texcode>
 
</texcode>
(The CMYK color spec is the fall back color used on screen; one can preview separations in full Acrobat 7.)
 
  
 +
= Specialized topics =
  
 +
* [[Color/Palet|Color Palettes]]
 +
* [[Color/Transparency|Transparency]]
 +
* [[Color/Spot_Colors|Spot Colors]]
  
=Colorizing Grayscale Pictures=
+
= References =
  
Another sample by Hans (mailing list 2005-11-16) demonstrates a lot of different possibilities:
+
* [http://paletton.com Paletton] - Website to choose color palettes
 +
* [http://colorbrewer2.org/ ColorBrewer] - website to choose colors for maps and graphics.
  
<texcode>
+
* Tina Sutton, Bride M Whelan: The Complete Color Harmony. Rockport Publishers (2004). ISBN 978-1592530311 (recommanded in the mailing list)
\setuplayout[header=0pt,footer=0pt,width=middle,height=middle,backspace=1cm,topspace=1cm]
 
\setupcolors[state=start]
 
 
 
\startbuffer
 
\definecolor [blue]  [c=1, m=.38, y=0, k=.64]
 
\definecolor [yellow] [c=0, m=.28, y=1, k=.06]
 
  
\definespotcolor [blue-100]  [blue]  [p=1]
 
\definespotcolor [yellow-100] [yellow] [p=1]
 
 
\definemultitonecolor [combicolor]  [blue=.12, yellow=.28] [c=.1, m=.1, y=.3, k=.1]
 
 
\definemultitonecolor [combicolor-b] [blue=1]  [c=1, m=.38, y=0, k=.64] % force multitone
 
\definemultitonecolor [combicolor-y] [yellow=1] [c=0, m=.28, y=1, k=.06] % force multitone
 
 
\useexternalfigure[demo-a][mill.png]    [object=no, width=.2\textwidth]
 
\useexternalfigure[demo-b][hacker-bw.jpg][object=no, width=.2\textwidth]
 
 
\startbaselinecorrection
 
\startcombination[4*1]
 
{\externalfigure[demo-a]}                                {no color}
 
{\externalfigure[demo-a][color=combicolor]}  {indexed duotone}
 
{\externalfigure[demo-a][color=combicolor-b]} {spot color}
 
{\externalfigure[demo-a][color=combicolor-y]} {spot color}
 
\stopcombination
 
\stopbaselinecorrection
 
 
\startbaselinecorrection
 
\startcombination[4*1]
 
{\externalfigure[demo-b]}                    {no color}
 
{\externalfigure[demo-b][color=combicolor]}  {indexed duotone}
 
{\externalfigure[demo-b][color=combicolor-b]} {spot color}
 
{\externalfigure[demo-b][color=combicolor-y]} {spot color}
 
\stopcombination
 
\stopbaselinecorrection
 
 
\startbaselinecorrection
 
\startcombination[4*1]
 
{\externalfigure[demo-a]}                    {no color}
 
{\externalfigure[demo-a][color=combicolor]}  {indexed duotone}
 
{\externalfigure[demo-a][color=blue-100]}    {spot color}
 
{\externalfigure[demo-a][color=yellow-100]}  {spot color}
 
\stopcombination
 
\stopbaselinecorrection
 
 
\startbaselinecorrection
 
\startcombination[4*1]
 
{\externalfigure[demo-b]}                    {no color}
 
{\externalfigure[demo-b][color=combicolor]}  {indexed duotone}
 
{\externalfigure[demo-b][color=blue-100]}    {spot color}
 
{\externalfigure[demo-b][color=yellow-100]}  {spot color}
 
\stopcombination
 
\stopbaselinecorrection
 
\stopbuffer
 
 
\getbuffer \typebuffer
 
 
\stoptext
 
</texcode>
 
 
= References =
 
  
See "Color and Background" in the manual
 
  
[[Category:Graphics]]
+
{{Getting started navbox}}

Revision as of 15:04, 7 October 2019


ConTeXt supports two color models: RGB (typically used for screen display) and CMYK (typically used for printing). There is also support for spot colors (typically used for offset printing) and transparencies.

Before you start ...

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 \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 enabled 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 a color key, and you can use color=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, and b are floating point number between 0 and 1.
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 and k are floating point number between 0 and 1.
HSV 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 is between 0 and 360; the values for s, v are floating point numbers between 0 and 1.
Hex
\definecolor[...][h=...]

For example,

\definecolor[lime][h=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][g=0.5] 
This is \color[screen]{a new color}
that we defined
The value for s is a floating point number between 0 and 1, representing the grayness value (1 represents white, 0 represents black).

Note: The key-values are overloaded. For example, h is used for both HSV model and Hex model; s is used for both HSV model and grayscale model. The distinction is made based on the presence or absence of the v key.

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 a color 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)


Template:Getting started navbox