From Le wiki des fiches à Bébert

Context: LaCouleur

La couleur sous ConTeXt

Avant toute chose, pour utiliser la couleur sous ConTeXt tu dois mettre dans le préambule de ton document :

 \setupcolors[state=start]

N'oublie pas le s à setupcolors

Tu as quelques couleurs prédéfinies :


Tu les utilises de cette façon :

 \color[nom-de-la-couleur]{texte à mettre en couleur}

Ou bien

 {\nom-de-la-couleur texte à mettre en couleur}

Par exemple

 \color[green]{texte à mettre en vert}

  {\green texte à mettre en vert}

texte à mettre en vert

Tu peux également utiliser un environnement :

 \starttext
 \startcolor[green]
 Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus
 et netus et malesuada fames ac turpis egestas.

 Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna
 fringilla ultrices. {\red Phasellus eu tellus} sit amet tortor gravida placerat.
 Integer sapien est, iaculis in, pretium quis, viverra ac, nunc.
 \stopcolor
 \stoptext

Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat. Integer sapien est, iaculis in, pretium quis, viverra ac, nunc.

Définir des couleurs

Les couleurs par défaut sont limitées. Tu dois donc définir tes couleurs. Pour ce faire tu utilises :

 \definecolor[nom-de-la-couleur][code couleur]

Le code couleur peut être exprimé en rgb, en cmyk ou en échelle de gris

 \definecolor[merdusud][r=0,g=0.45,b=1]

 \definecolor[abricot][c=0,m=.38,y=.78,k=0]

 \definecolor[grissouris][s=0.5]

Les proportions des différentes couleurs fondamentales sont exprimées en valeurs décimales comprises entre 0 et 1.

Si tu utilises dans plusieurs documents les mêmes couleurs, tu peux regrouper les définitions de tes couleur dans un fichier .tex que tu appelles colo-xxxxxx est le nom d'appel de ton fichier de couleur. Par exemple j'ai créé le fichier colo-bebert qui contient :

 \definecolor[merdusud][r=0,g=0.45,b=1]

 \definecolor[abricot][c=0,m=.38,y=.78,k=0]

 \definecolor[grissouris][s=0.5]

Je fait appel à ce fichier par

 \setupcolor[bebert]

Attention ici pas de s à setupcolor

Tu peux visualiser toutes les couleurs d'un fichier de couleur colo-xxx.tex par

 \showcolor[xxx]

Tu obtient les couleurs leur code et leur nom et leur valeur en niveau de gris :

 \showcolor[bebert]

Maintenant dans mon document je peux faire appel à mes nouvelles couleurs :

  \color[abricot]{texte à mettre en abricot}

ou

 {\abricot texte à mettre en abricot}

Le mécanisme d'héritage

Tu peux définir une couleur par rapport à une autre :

 \definecolor[important][red]

 \definecolor[remarque][green]

De cette manière il est plus facile de modifier, si nécessaire, la couleur des remarques ou des choses importantes de notre texte.

Les groupes de couleur

Les six couleurs prédéfinie dans ConTeXt possède un groupe de couleur défini comme ci-dessous :


Tu utilises les couleurs comme çà, avec par exemple le groupe de couleur blue:

  \color[blue:1]{texte à mettre en couleur}

  . . .

  \color[blue:8]{texte à mettre en couleur}

Tu ne peux pas utiliser la commande {\blue:4 le texte à mettre en couleur}, le : ne pouvant être dans un nom de commande.

Le nombre maxi de graduation dans les groupes prédéfinis est de 8, mais tu peux dépasser ce chiffre dans les groupes que tu construis.

Tu fabriques tes groupes de couleur avec :

 \definecolorgroup[identifiant][codage][valeurs]

[codage] prend les valeurs suivantes : rgb cmyk gray s. Il est optionel dans ce cas c'est rgb, valeur par defaut, qui est apliqué.

On va créer un groupe violet

 \definecolorgroup[violet][rgb]
 [0.88:0.63:1.00,
 0.84:0.50:1.00,
 0.8:0.38:1.00,
 0.77:0.25:1.00,
 0.73:0.13:1.00,
 0.7:0:1.00]

Pour l'exemple je me suis limité à 6 divisions. Tu peux afficher ton échelle de couleur avec :

 \showcolorgroup[violet]

Tu utilises tes couleurs comme ça :

  \color[violet:2]{texte à mettre en couleur}

  \color[violet:6]{texte à mettre en couleur}

Les palettes de couleurs

Il existe un petit nombre de palette prédéfinie. Elles portent le nom des lettres de l'alphabet grec.

Tu peux visualiser une palette avec la commande :

 \showpalet[identifiant]

Par exemple

 \showpalet[alpha]

Comme tu peux le voir il y a dans les palettes pré-définies, six nuances de couleurs. Les auteurs de ConTeXt ont choisi comme identifiant (le même pour toutes les palettes pré-définies) le nom des quarks (particules élémentaires de la matière), à savoir dans l'ordre top bottom up down strange charm.

Pour utiliser une palette il faut au préalable la charger ;

 \setupalet[identifiant]

Puis tu utilises les couleurs par leur nom :

 \setupalet[delta]

 \color[charm]{un texte de charme}

Tu ne peux utiliser la méthode {\charm un texte de charme}, la commande n'est pas reconnue.

L'intérêt est de pouvoir changer de couleur sans changer le nom de toutes les couleurs de ton document et surtout de pouvoir passer d'un document en couleur à un document en noir et blanc avec des nuances toujours visibles en ayant au préalable défini une palette de nuance de gris ayant les mêmes noms de couleur.

Comme exemple je vais me servir d'une palette que j'ai copiée sur le site d'adobe http://kuler.adobe.com. Ce site propose de nombreuses palettes constituées de cinq couleurs.

Comme le dit Hans Hagen, dans le manuel de ConTeXt, il n'y a pas de bon choix de nom pour les couleurs de la palette. En effet tu ne peux pas utiliser de nom de couleur car le but de la palette est de pouvoir changer facilement les couleurs. Le choix des nom des quarks n'est pas pire qu'un autre moi j'ai pris le nom des hobbits du Seigneurs des anneaux : bilbo frodon sam merry pippin, j'ajoute gollum si ma palette contient 6 couleurs. Je les retiens facilement.

Dans un premier temps il faut définir les différentes couleurs. Tu peux le faire dans ton fichier de couleur colo-xxx.tex.

 \definecolor[mapalettea][r=0.2,g=0.75,b=0.75]
 \definecolor[mapaletteb][r=0.79,g=0.98,b=0.85]
 \definecolor[mapalettec][r=0.97,g=0.91,b=0.4]
 \definecolor[mapaletted][r=66,g=0.81,b=0.33]
 \definecolor[mapalettee][r=0.34,g=0.56,b=0.15]

Puis on défini la palette

Récupéré sur http://bebertlafiche.free.fr/index.php5/Context/LaCouleur
Page mise à jour le 17/03/2014 16:37