# ConTeXt/Comment créer un document simple ?

* Qu'est-ce que ConTeXt ?
* Installation
* Comment créer un document simple ?
* Comment créer un document complexe ?
* Références bibliographiques
* Comment organiser les références, citations et autres index
* Quelques exemples d'organisation de la page : marges, cadres, etc.
* ConTeXt/Utiliser Metapost (MPgraphic)
* Qu'est-ce que ConTeXt ?
* Installation
* Comment créer un document simple ?
* Comment créer un document complexe ?
* Références bibliographiques
* Comment organiser les références, citations et autres index
* Quelques exemples d'organisation de la page : marges, cadres, etc.
* ConTeXt/Utiliser Metapost (MPgraphic)
[ Modifier le sommaire ]

### Remarque générale

Il s'agit ici de présenter les particularités du code de ConTeXt. Les utilisateurs de LATEX ne seront pas dépaysés, quoique (puisque ConTeXt est plus monolithique que LATEX) les commandes ne soient pas toujours identiques et que les possibilités de réglage personnalisées soient accessibles à beaucoup plus de paramètres. Pour débuter, nous allons donc présenter un exemple de commandes en ConTeXt, puis commenter un certain nombre de points cruciaux. Pour l'instant, nous ne nous occupons pas des questions importantes en imprimerie relatives à la mise en page, ni des questions de typographie. Ces questions feront l'objet de chapitres ultérieurs.

### Structure d'un document simple

Puisqu'il s'agit d'un document simple (et non d'un ouvrage savant), par exemple une brochure de quelques chapitres, notre document contient un titre, quelques chapitres, et des sections et sous-sections à l'intérieur de ces chapitres. Notons que chaque page contient des paragraphes. Bien sûr, notre document peut posséder un index rerum et pourquoi pas un index nominum. Nous désirons aussi une table des matières.
ConTeXt vous permet de produire cela automatiquement à partir de ce qu'on appelle un fichier source. Il s'agit donc de créer d'abord ce fichier source, en lui donnant un nom et une extension. Ce fichier s'appellera par exemple : monfichier-test.tex et son extension sera en *.tex. Il sera structuré de la manière suivante, comme nous l'avons vu rapidement ci-dessus dans l'exemple donné au chapitre de présentation.
* Premier exemple de texte simple :
Vous pouvez rédiger plusieurs pages comme ceci. Bien entendu, les réglages de mise en page, la police, etc. sont fixés automatiquement par défaut. Si vous voulez personnaliser la mise en page, vous devrez entrer dans un codage plus substantiel.
* En général, même pour un document simple, le texte comprend une série de commandes appelées Préambule dans lequel on doit nécessairement trouver un certain nombre d'indications qui précisent la mise en page, la langue ou les langues utilisées, les effets de police et beaucoup d'autres choses que nous allons voir par la suite. Ce préambule se trouve rédigé et placé avant la commande :
\starttext.
On peut aussi ajouter des commandes dans le texte (comme les italiques, les numérations, les citations, les notes de bas de page, etc.). L'ensemble du texte à compiler avec ses commandes se termine nécessairement par :
\stoptext.
Nous verrons par la suite et successivement comment définir les commandes plus ou moins nombreuses à insérer dans le préambule.
* Deuxième exemple de texte simple
Nous désirons produire un texte portant sur la première page le titre du document et le nom de l'auteur ; nous désirons aussi des chapitres, un index et une table des matières. Il s'agit d'un texte simple, mais complet, pour peu que ce texte soit long (il y a des chapitres ou des sections ...). Détaillons ici les diverses commandes :
* Placer le titre et l'auteur au milieu de la page :
* Ventiler les chapitres, les sections et les sous-sections du document.
* Utiliser un index
* Définir une table des matières
* Remarques : Pour produire une table des matières, ou un index, il suffit du code :
et
Les règles typographiques françaises demandent à ce que la table des matières se trouve à la fin du document, après l'index ou les indices. Mais certains documents (comme les thèses universitaires) présentent la table des matières juste avant l'introduction. Bien entendu, il s'agit ici du code d'un document simple, mais complet, puisque nous avons ici la page de titre, le texte en chapitres et sous-chapitres, les notes en bas de page appelées par la commande
De même l'index et la table des matières. Bien entendu, la qualité obtenue, tant en ce qui concerne les polices, tout aussi bien que la position des titres, les marges, les en-têtes, etc. peut être améliorée par des réglages fins. Par défaut la police est de corps 12, mais elle peut être réduite ou augmentée à la demande; de même on peut contrôler plus finement la pagination (avoir une page impaire différente de la page paire) et ainsi de suite. Les commandes :
\input knuth et
\input ward
permettent d'insérer du texte automatique en anglais. Voici le code complet que vous pouvez tester :
* Code Complet de l'exemple :
Il faut savoir que si ConTeXt ne supportait par le passé que le format de texte ASCII, aujourd'hui il est possible d'utiliser n'importe quel éditeur de texte simple, pourvu qu'il produise du texte au format UTF-8.

#### Les commandes essentielles dans ConTeXt

Nous voyons ici que toute commande commence par un anti-slash "\" (en anglais : backslash). Avec la commande \starttext on indique le début du texte et par voie de conséquence les commandes à prendre en compte à l'intérieur de ce texte. Ici, les commandes qui nous intéressent sont des commandes de structure. Nous verrons plus tard que nous pouvons compléter la forme et le détail de cette structuration par de nombreuses instructions de mise en page avant la commande du début du traitement de notre texte, donc avant \starttext, à l'intérieur de ce qu'on appelle le Préambule. Notons tout de suite que la fin du traitement du texte est indiquée dans le fichier source par l'instruction \stoptext. La zone antérieure à la commande \starttext est appelée zone de configuration, mais dans le jargon le plus usuel, cette zone est appelée préambule. Comme nous venons de le dire, cette zone est très utile (comme dans LATEX), pour donner des instructions qui concernent la mise en page générale du document (taille des marges, reliure, en-têtes, pied de page, etc.) et pour définir des commandes particulières, qui touchent, par exemple, aux diverses langues et aux familles de polices que l'on désire utiliser. Cette zone de configuration permet de créer littéralement une maquette — ou si vous préférez : une feuille de style — et de préciser ses exigences en matière typographique. Il est possible de changer de feuille de style d'une page à l'autre (ou d'un chapitre à l'autre).
Une commande est habituellement suivie par une paire de crochets ouvrant ("[") et fermant ("]") et/ou par une paire d'accolades "" ouvrantes et fermantes. Il est nécessaire de rappeler ici — pour le lecteur qui n'aurait pas eu le bonheur de suivre un cursus universitaire dans lequel un cours de logique formelle était un passage obligé, ou pour celui qui n'a aucune expérience en la matière — que les instructions par commandes dans les langages de balisage (et dans les langages informatiques en général), lorsqu'elles sont déclarées, doivent impérativement être suivies d'une instruction qui clôt la déclaration. Par exemple, le petit script ci-dessous, rédigé en VisualBasic, permet d'afficher la formule "Hello World !". Il est écrit ainsi (remarquez le End Sub, qui clôture la déclaration Sub Main) :
Par conséquent, l'oubli d'un crochet ouvrant ou fermant, par exemple ici autour de "Hello World") dans le code MsgBox("Hello World") ou de la déclaration de clôture d'une commande, produira inévitablement une erreur en sortie du traitement du fichier source. En général, pour ce type d'oubli dans ConTeXt, soit le fichier source ne produit pas l'affichage en PDF, soit le résultat à l'affichage sur l'écran n'est pas conforme à ce qui était souhaité. Par bonheur ConTeXt produit un journal (un log) en même temps qu'il compile le fichier. Ce log est lisible dans TeXwork en dessous de la fenêtre où vous avez composé votre code. La recherche est donc assez aisée, pour identifier la ligne où vous avez commis une erreur d'écriture. Ces journaux sont enregistrés au même endroit que le fichier de travail. Il est donc conseillé d'aller lire les fichiers de type monfichier-tex.log qui indiquent les erreurs d'écriture du fichier source (y compris la ligne où se trouve l'erreur).
Si nous revenons maintenant à notre exemple, la commande
\chapter dans
\chapter[firstchapter]{Le Premier Chapitre}
indique à ConTeXt comment produire quelques actions concernant la structure, la forme et la typographie du chapitre. Ces actions peuvent être :
* commencer une nouvelle page ;
* donner un numéro au chapitre ;
* placer le numéro du chapitre devant le titre du chapitre ;
* indiquer que le titre sera de telle taille ;
* mettre le titre du chapitre et le numéro de la page dans la table des matières.
La commande entre crochets [firstchapter] est un intitulé dont le rôle est logique : ce label permet d'attribuer à ce chapitre (mais pas aux autres) d'autres commandes ConTeXt. Par exemple \in{chapter}[firstchapter] affiche le numéro du chapitre, tandis que \about[firstchapter] renvoie le titre. Nous verrons plus loin le détail de ces commandes et de beaucoup d'autres. Pour l'instant, disons qu'un novice pourrait n'avoir besoin de connaître que les 10 séries de commandes suivantes :

#### Afficher la liste de toutes les commandes ConTeXt avec mtxrun

* Il existe un fichier au format i-context.xml enfoui dans les profondeurs de ConTeXt, qui permet d'afficher au format PDF toutes les commandes que ConTeXt propose. Pour l'obtenir, il faut et il suffit de saisir la commande suivante dans un terminal : context --extra=setups --overview i-context.xml. Le fichier xml est transformé en PDF. Vous pouvez passer cette commande de n'importe où sans aller chercher spécialement où il se trouve, c'est-à-dire ici C:\Users\MonRepertoire\context\tex\texmf-context\tex\context\interface\mkiv. Ensuite, vous pouvez choisir d'enregistrer ce document PDF où bon vous semble.

### Empagement et structure de la page
#### Les textes dans la page

Les textes dans une page sont les textes qui sont placés dans l'en-tête, le pied de page et les bords du corps de page et la zone principale du texte. On peut dire qu'une phrase d'explication comme celle que vous lisez est composée dans le corps du texte que vous souhaitez voir s'afficher à l'écran entre \starttext et \stoptext. La ou les polices (les fonts en anglais) sont réglées au moyen de commandes différentes. Les valeurs des paramètres peuvent être quelque chose comme style=bold, mais style=\ss\bf est aussi autorisé. Passer d'une police à l'autre, ou d'une graisse à l'autre (\ss = Sans Serif) peut prendre du temps. En principe, ce n'est pas un problème pour les documents simples, pour lesquels il n'y a pas mieux que d'utiliser le minimum de commandes. Mais lorsqu'il s'agit de composer des documents complexes, avec des menus et des commandes interactifs, où il s'agit de passer d'une police à une autre et d'un effet à un autre, les conséquences peuvent être considérables. Dans ce dernier cas, il vaut mieux passer par des commandes du genre :
\setuplayout[style=\ss]
Les textes situés dans les bords ou en pied de page sont réglés par des commandes relatives aux bords et aux pieds de page, qui possèdent également leurs propres clés. Par exemple, le pied de page peut être réglé au moyen d'une clé qui concerne la graisse des lettres :
\setupfooter[style=bold]

#### La composition d'une page

Dans la composition d'une page, on distingue la zone principale du texte, les en-tête, les pieds de page et les marges (haut, bas, droite et gauche [top, bottom, right, left]). Le texte principal se situe dans la zone principale (main text area). Lorsqu'on définit une mise en page, il faut comprendre que l'en-tête, le texte principal et le pied de page sont traités comme un tout. Leur position sur la page est déterminée par les dimensions du haut-de-page et par celles du fond de page (grand fond, petit fond, blanc de tête, blanc de pied). L'en-tête est situé dans le haut-de-page et le pied-de-page en dessous de la zone principale de texte. Normalement, c'est dans les en-têtes ou les pieds de page que sont situés les numéro de page. Les marges de droite et de gauche sont souvent utilisées soit pour des notes marginales, soit pour placer les numéros de chapitre ou de section. Les marges sont situés dans le fond de page, le long de la reliure et dans l'espace blanc laissé à droite et à gauche du texte principal. Leur largeur n'a aucune influence sur le positionnement de la zone de composition de la page. Des éléments de détail à propos de la mise en page et des explications sur le vocabulaire sont donnés sur la page des fiches à Bébért.
En principe, comme dans LATEX, la plupart des documents sont composés à partir des règles simples. Il faut néanmoins avoir une connaissance de la mise en page et des règles de l'imprimerie; de même qu'il faut prendre connaissance de quelques éléments de typographie.
Même si le débutant n'a pas besoin de toutes ces commandes, il faut savoir qu'elles peuvent être très précises, comme la liste ci-dessous l'indique (à l'intérieur des crochets, on peut placer les clés listées en dessous) :
Les valeurs par défaut de ConTeXt sont :
* paper : A4 portrait
* margins : 30 mm
* backspace : 25 mm
* topspace : 25 mm
* header : 20 mm
* footer : 20 mm
La commande \showframe permet de visualiser les marges, en-tête et pied de page et \showsetups affiche toutes les dimensions de la page. La commande \showlayout affiche à la fois les marges et les dimensions de la page. Le fichier suivant affiche les valeurs par défaut d'une page ConTeXt :

#### Un exemple de mise en page

Pour l'exemple suivant, on créé une page particulière avec très peu de corps de texte (10cm), car ce qui nous intéresse ici ce sont l'entête et le pied de page. Le document produit sera recto-verso, avec une petite marge interne (2cm) et une marge externe de 3cm :

##### Commentaire

* On voit que dans la zone antérieure à la commande \starttext on a défini la taille du papier et la mise en page. On ne s'intéresse pas ici à la police utilisée. La pagination recto-verso est définie par la commande \setuppagenumbering. On indique aussi à ConTeXt que l'on veut voir la mise en page affichée, et on lui donne un texte factice (ici produit par la commande \input tufte).
* Le cadre, obtenu par la commande \setuplayout, encadre la page.
* La commande \showframe affiche les cadres des zones de texte.
* La première chose que l'on remarque est la présence du numéro de page au centre de l'en-tête. Si on veut contrôler la position du numéro de page par l'intermédiaire de la gestion des en-têtes et des pieds de page, il faudra supprimer la gestion par défaut par le code suivant : \setuppagenumbering[location=], où la clé (left, middle, right) après le signe "=" n'est pas indiquée.
* La commande pour configurer l'en-tête est : \setupheadertexts
* La commande pour le pied de page est : \setupfootertexts
Ces deux commandes produisent le même effet. Elles acceptent, en fonction du type de document et de ce que l'on cherche à obtenir, de 1 à 5 options. 4 options permettent de placer du texte, la date, le numéro de page, le titre de section. La dernière option permet de positionner le texte à insérer. Il y a différentes combinaisons possibles : la première, avec une seule option, permet de placer le texte au centre de l'en-tête : \setupheadertexts[Texte au centre de l'entête]
Voici le code complet :

#### Conclusion sur les commandes \setuplayout et \defineNomCommande

* Toutes les commandes qui présentent des possibilités de réglage possèdent une commande du type : \setupNomCommande[variable1=valeur1, variable2=valeur2, option1, option2,. . .] .
* Ces commandes permettent de régler les options dans le préambule du fichier source (préambule ou zone de configuration), pour affecter toutes les commandes du document.
* Presque toutes les commandes ConTeXt autorisent en supplément la définition d'une commande de type \defineNomCommande qui (comme son nom l'indique) permet de définir des comportements propres au document. On peut écrire dans le préambule du fichier source les commandes suivantes :
Ainsi, dans le texte on fera appel à la commande définie au préalable \cadreVert{texte} pour obtenir un texte entouré de vert et \boiteBleue{texte} pour du texte dans une boite bleue. IMPORTANT : Il est indispensable d'utiliser des majuscules dans les définitions de commandes personnalisées. Ce qui donne :
Ajoutons la facilité avec laquelle on peut modifier le comportement des en-têtes (headers) et des pieds-de-page (footers). Comme nous l'avons déjà dit, la force de ConTeXt consiste à configurer les commandes avec des clés dont les valeurs sont paramétrables. Quelques cas sont donnés ici à titre d'exemples : nous voulons faire en sorte qu'une partie du texte soit imprimé en italiques et en gras.
* Pour faire en sorte que l'en-tête soit en italiques gras:
\setuphead[section][style=bolditalic]
* La même chose, mais pour le pied de page :
\setupfooter[style=bolditalic]
* Mettre en gras et en italiques le contenu d'une énumération :
\setupenumerations[style=bolditalic]
* Mettre en gras et en italiques le contenu du second niveau d'une énumération :
\setupitemize[2][style=bolditalic]
* Mettre en gras et en italiques la première cellule et la première colonne d'un tableau :
\setupTABLE[row] [1][style=bolditalic] \setupTABLE[column][1][style=bolditalic]

#### Résumé

* Pour un document simple, il suffit avec ConTeXt de placer du texte entre les commandes \starttext et \stoptext.
* Cependant, il est possible de chercher à maîtriser un certain nombre de choses, dont la mise en page, qui peut varier, tant en ce qui concerne la dimension des en-têtes, des pieds-de-page et des marges, que de la position des numéros de page, la position des titres de chapitres et de section.
* Il est donc possible d'avoir recours à des réglages personnalisés (en faisant varier la dimension de ces zones de la page). Faire varier l'empagement est donc possible, comme il est possible d'affiner et de personnaliser les événements à l'intérieur du texte, comme par exemple les sauts de pages, les tracés de lignes, le texte encadré, ou encore la couleur du fond sur lequel viendra s'afficher le texte. Le jeu de commandes \setup (comme la commande \setuplayout qui nous intéresse dans ce chapitre) s'applique à tout \setupQuelqueChose; de même, on peut définir le comportement à l'intérieur des zones de texte par des commandes personnalisées qui s'appuient toutes sur \defineQuelqueChose.
* Pour composer un texte dans les règles de l'art, s'il s'agit d'un texte simple doté d'un titre, d'un résumé, de sections et d'une bibliographie légère, on ne gagnera rien à vouloir toucher à tout. En revanche, dès qu'il s'agira d'un travail professionnel, il pourra apparaître nécessaire de se documenter sur les règles de la mise en page, en vigueur dans les métiers de l'imprimerie, afin de tirer partie de ConTeXt en vue de réaliser des documents imprimés dans les règles de l'art. Les pages Wikipedia sur les divers formats de papier peuvent être d'une grande aide, ainsi que la page sur le standard ISO-216.

### Typographie d'un document simple
#### Quelques notions de typographie

Comme il est indispensable de comprendre le vocabulaire employé par les typographes pour décrire une feuille de papier prête à l'impression, nous allons commencer notre chapitre par ces notions :
* Le petit fond : zone blanche entre la zone de texte et le bord du papier, côté reliure. Appelé aussi blanc de couture ou marge intérieure.
* Le blanc de tête : zone blanche entre le bord supérieur de la page et la zone de texte. Appelé aussi marge de tête.
* Le grand fond : espace blanc entre la zone de texte et le bord externe de la feuille de papier. Appelé aussi marge extérieure.
* Le blanc de pied : zone blanche entre la zone de texte et le bas de la feuille. Appelé aussi marge de pied.
* Le rectangle d'empagement : zone dans laquelle le texte est imprimé, sa hauteur s’appelle "hauteur d'empagement" et sa largeur la "justification".
En typographie française, on exclut le folio, le titre courant et les notes marginales de l'empagement. Ce qui signifie que le numéro de page, le rappel du titre de l'ouvrage et du chapitre et les notes, sont bien situés sur la page de papier, mais non sur le rectangle d'empagement. Autrement dit, chacun le comprend, folio, titre courant, ainsi que les notes marginales sont imprimés ailleurs !
En ce qui concerne le folio (le numéro de page), sa place se trouve classiquement en bas de page dans le blanc de pied. Ainsi, il est bien visible du lecteur.
Le titre courant est le rappel du titre de l'ouvrage sur toutes les pages. Pour ne pas déranger l'harmonie de la page, il est rédigé dans une police plus petite et est situé en haut, hors de l'empagement, dans le blanc de tête.
Quant aux notes marginales, qui sont courtes, ou limitées à des symboles, on les imprime dans le grand fond, c'est-à-dire dans la marge extérieure (droite au recto, gauche au verso).
Au contraire, et contrairement à ce que de mauvaises habitudes peuvent laisser croire, les notes de bas de page, qui peuvent être d'une longueur considérable, font partie de l'empagement.
Cependant, il y a des exceptions. Si le titre courant est accompagné du titre de la section ou du folio, tout est intégré dans l'empagement. Si le folio est précédé du nom de l'éditeur, de l'année ou d'un numéro de volume, il en va de même. Certaines revues savantes font apparaître dans le haut de la page le titre de l'article côté interne et le folio côté externe et dans le bas de la page le nom de la revue en italiques à l'extérieur. À l'intérieur, en bas de page, on trouve l'année, le tome, le numéro de la première et de la dernière page de l'article (ex: 2010, tome 107, n°2, p.331-358). Dans ce cas, l'en-tête et le pied de page appartiennent à l'empagement.

#### Le vocabulaire de ConTeXt

ConTeXt, ne l'oublions pas, a d'abord été codé en néerlandais, puis traduit en anglais. Les notions de typographie sont transcrites dans un vocabulaire qu'il faut maîtriser. Ainsi, le petit fond devient dans ConTeXt backspace; pour le blanc de tête, on aura topspace, la hauteur de l'empagement devient height et la justification s'appelle désormais width. Il nous faut aussi être attentif à deux choses :
* Au calcul de la marge extérieure (grand fond) et du pied de page (blanc de pied);
* Au rapport entre la dimension des marges et la dimension du texte principal.
* Reprenons :
Dimensions du 'Grand Fond' et du 'Blanc de Pied'
* Remarquons qu'il n'y a pas de valeur pour le grand fond (la marge extérieure), ni pour le blanc de pied (le bas de la feuille) qui est en réalité déduite des précédentes :
* grand fond = width - backspace => ce qui donne (justification - petit fond) = grand fond
* blanc de pied = height - topspace => ce qui donne (empagement - blanc de tête) = blanc de pied
Dimensions des Marges
* Pour ConTeXt , les marges servent à placer le numéros des chapitres et des sections, les notes (marginales), voire les symboles qui alertent le lecteur. Il est important de noter que la taille des marges n'a aucune incidence sur la justification du texte (sa dimension = width), ni même sur sa position sur la feuille de papier. Dès lors, si le calcul des marges donne à celles-ci une taille importante, on risque de voir le texte à imprimer se trouver en dehors de la feuille (et par conséquent, ne pas être imprimé). Il est donc important de calculer correctement les dimensions de la marge de gauche (leftmargin) et de la marge de droite (rightmargin).
Position des éléments de navigation
* ConTeXt propose aussi des outils avec lesquels on peut procéder à de la composition de textes électroniques, dotés d'un certain nombre de moyens de navigation intertextuelle (à l'intérieur du texte) ou extra-textuelle (à l'extérieur du texte). Nous en verrons un exemple ci-dessous avec le premier fichier concernant la structuration d'un document complexe. Aussi, le codage des balises de navigation se place-t-il non pas dans les marges, les en-têtes et les pied-de-page, mais dans quatre autres espaces appelés leftedge, rightedge, top et bottom. Ces espaces se situent à l'extérieur des marges, des en-têtes et des pieds de page dans une partie réservée du grand fond et du petit fond, dans le blanc de tête et dans le blanc de pied.
La figure ci-dessous (Fig. 2) reprend le vocabulaire précédent pour le distribuer sur l'ensemble d'une feuille théorique. Les dimensions sont exagérées (la justification du texte width et sa hauteur height semblent bien réduites comparativement aux marges et aux bords). Mais on visualise parfaitement la topographie de la feuille.

#### Commandes ConTeXt pour structurer une page

Maintenant que nous comprenons mieux la topographie de la typographie, c'est-à-dire comment on peut (et comment on doit) organiser les différents textes sur une page, il est temps de reprendre l'ensemble des valeurs de la commande \setuplayout dont nous avons vu la liste ci-dessus (cf. Figure 1), commande qui sert justement à procéder aux différents réglages dont nous avons besoin et qui sont affichés dans la figure 2. Cette commande peut être utilisée autant de fois qu'il y a d'options, mais on peut aussi synthétiser les options en une seule commande, en procédant, par exemple, de la manière suivante :
Voici pour rappel la commande et ses clés, qui répondent à de très nombreux besoins (il peut paraître utile de souligner que nous n'avons pas besoin d'utiliser toutes les clés simultanément !) :

##### Retour sur la commande \setuplayout: analyse des clés

Ce que nous appelons ici les clés, ce sont les options indiquées entre crochets [options]. Rappelons que toutes les dimensions de la page imprimée peuvent être affichées au moyen des macro \showframe et \showlayout. Ces macros peuvent être appelées avant la commande \starttext. Examinons ces clés (ou options) une par une, en gardant un œil sur la figure 2 :
* width : valeurs = dimension fit middle
Comme on l'a vu, width s'appelle chez les typographes de langue française la justification. On peut aussi l'appeler la zone de texte principale. En tout cas, cette commande agit sur la dimension du texte. Cette dimension peut être déclarée explicitement (y compris en cm); on peut aussi demander à ConTeXt de placer le texte au milieu (middle), avec des valeurs de grand fond et de petit fond égales à backspace. Comme son nom l'indique, la valeur fit positionne le texte finement et exactement au moyen du calcul de la largeur de la zone de texte, des valeurs des marges, des bords (edge) et de l'espace entre la marge et le texte (rightmargindistance, leftmargindistance) et celui entre le bord et la marge (rightedgedistance, leftedge).
* height : valeurs = dimension fit middle
Cette options intéresse la hauteur de l'empagement de la zone de texte, y compris l'en-tête et le pied de page. height est donc la somme de la hauteur du texte + header + footer + headerdistance + footerdistance. L'option middle place la zone de texte au centre avec des valeurs de blanc de tête et de blanc de pied égal à topspace. Avec l'option fit, ConTeXt prend également en compte pour le calcul de la hauteur de la zone de texte les autres valeurs verticales (de manière analogue à la valeur fit pour l'option width).
* backspace : il s'agit du petit fond. Sa valeur est une dimension, ajustée en mm.
* topspace : idem pour le blanc de tête. Sa valeur est une dimension exprimée en mm.
* margin : idem pour la marge, dont la dimension est exprimée en mm. Au risque de se répéter, on attire l'attention sur le fait que cette valeur n'a aucune influence sur la taille de la zone de texte. Cette valeur n'a d'influence que sur l'espace réservé au texte mis en marge. Si cette valeur est plus grande que le petit et le grand fond, le texte débordera de la page. margin attribue la même largeur aux marges de droite et de gauche.
* leftmargin et rightmargin : Sa valeur est une dimension exprimée en mm. Si on veut régler les marges de droite et de gauche avec une dimension différente. Même remarque que celle faite pour margin.
* leftedge et rightedge : Sa valeur est une dimension exprimée en mm. Crée une zone entre la marge et le bord de la feuille, respectivement à gauche et à droite. Utilisé pour baliser des documents électroniques ou l'affichage de texte électronique sur écran.
* leftmargindistance et rightmargindistance : Sa valeur est une dimension exprimée en mm. Distance entre le corps de texte et les marges gauche et droite.
* leftedgedistance et rightedgedistance : Sa valeur est une dimension exprimée en mm. Distance entre la marge et le bord de page (intérieur et extérieur).
* header : La hauteur de l'en-tête; header est une partie de height. Sa valeur est une dimension exprimée en mm.
* footer : La hauteur du pied de page. Sa valeur est une dimension exprimée en mm. footer est une partie de height.
* top : Crée une marge dans le blanc de tête, dans lequel on peut placer des annotations. top ne fait pas partie de l'en-tête et est utilisé pour les documents électroniques ou lus sur écran. Sa valeur est une dimension exprimée en mm.
* bottom : Équivalent à top, mais pour le blanc de pied. Sa valeur est une dimension exprimée en mm.
* headerdistance et footerdistance : Distance entre le corps du texte et respectivement l'en-tête et le pied de page. Sa valeur est une dimension exprimée en mm.
* topdistance et bottomdistance : Distance respectivement entre la marge haute et l'en-tête et entre la marge basse et le pied de page. Sa valeur est une dimension exprimée en mm.
* lines : La hauteur du texte, dans le corps du texte, est calculée en nombre de lignes. La valeur est donc ici un nombre (par exemple, pour un livre lines = 65.
* grid : Le fait que certaines longueurs soient élastiques avec TeX (par exemple les lignes entre les paragraphes entraînent un décalage des lignes imprimées qui se font face entre deux pages ou deux colonnes et ne seront donc plus alignées). On peut remédier à ce problème en utilisant une grille que l'on active avec l'option grid=yes. La valeur est grid= yes no.
* textwidth : largeur du corps de texte. Si cette valeur est employée, c'est la largeur réelle de la zone de texte. La dimension est exprimée en mm.
* textdistance : décale le corps du texte vers le bas si le nombre est positif et vers le haut si négatif. La valeur est une dimension exprimée en mm.
* textmargin : valeur exprimée en mm. Si la valeur est négative, décale le texte dans les marges de gauche et de droite (la largeur du corps de texte augmente). Si la valeur est positive l'effet induit est une réduction de la largeur du corps du texte.
Options pour l'imprimerie
Les options suivantes sont utilisées pour l'impression; en particulier lorsqu'on utilise les services d'un imprimeur. Certaines options permettent d'imprimer plusieurs pages sur une feuille.
* location : valeurs = left middle right bottom top singlesided doublesided . Cette option permet de déterminer l'emplacement de la page sur la feuille de papier. Utile quand le format de papier et le format d'impression sont différents. Par défaut, sans autre indication, c'est le coin en haut à gauche qui est utilisé. Attention ! L'option doublesided ne crée pas un document recto-verso; elle sert pour un positionnement différent de la page sur la feuille de papier selon les faces. La valeur middle place le texte au centre de la feuille; on peut coupler les clés (e.g; : left,bottom, right,top, right,bottom), de manière à placer le texte en haut à gauche, à droite en haut, en bas à droite, en bas à gauche de la feuille, comme sur la figure 3 et la figure 4 ci-dessous.
* nx, ny, dx, dy : valeurs = nombre. La page 1 du document est dupliquée nx fois sur l'axe des x, sur la première page imprimée, la page 2 nx fois sur la deuxième feuille imprimée. ny idem à nx, mais pour l'axe des y. dx et dy correspondent à l'espace séparant les pages sur l'axe des x et l'axe des y (nul par défaut).
* scale : valeurs = nombre. Met à l'échelle la page avant de la placer sur la feuille de papier. Une valeur de 0.5 divise par deux la taille du document. L'emplacement sur la feuille de papier dépend de location.
* marking : valeurs = on color screen. Pour obtenir des traits de coupe (chez l'imprimeur, ou chez soi), avant passage au massicot. La valeur on marque des croix simples; la valeur color apporte des échelles de couleur ajustables aux marques; screen apporte un peu plus de complexité aux marques avec une échelle de gris.

##### Note sur l'empagement dans ConTeXt

Attention ! ConTeXt intègre par défaut l'en-tête et le pied de page dans l'empagement. Par défaut, le folio (le numéro de page) est automatiquement intégré au pied de page. Si l'on veut modifier la place du "folio" dans le pied de page et le placer ailleurs, il faudra le déclarer explicitement.

### Mise en page locale

Dans ConTeXt, la mise en page est automatique. Mais il peut arriver des cas où il est souhaitable d'intervenir. Afin d'insérer un titre ou une ou deux lignes sur une autre page, par exemple. ConTeXt permet d'ajuster localement la mise en page par la macro suivante :
\adaptlayout[option 1][option 2], où option 1 correspond aux numéros de page du document final et option 2 prend les valeurs height=dimension, ou bien lines=nombre de lignes.
Il faut prendre garde à la chose suivante : les valeurs de height et de lines sont des valeurs que l'on retranche à \textheight si elles sont négatives ou que l'on ajoute, si elles sont positives. En cas d'ajout, la valeur se fait aux dépens du pied de page et ne peut jamais dépasser celui-ci. Il apparaît ainsi inutile de d'opter pour des valeurs trop grandes. Si l'on prend :
Ces commandes seront à placer dans le préambule de la source. La hauteur du corps de texte sera augmentée d'un demi-centimètre pour les pages 15, 26 et 36 et sera diminuée d'une ligne pour la page 12.

### Le module fullpage

Comme son nom l'indique ce module permet de créer des pages avec des marges minimales. Il est chargé au début du document par la commande :
\usemodule[fullpage]
Ce module accepte deux options style et margin qu'on écrit soit lors du chargement du module soit dans une commande \setupfullpage[option=valeur]
Par exemple :
* \usemodule[fullpage][style={cm,empty}], ou bien :
* \usemodule[fullpage]
\setupfullpage[style={cm,empty}]
L'option style prend les valeurs suivantes :
* in : affiche la page avec des marges de 1in (1 inch) ;
* cm : affiche la page avec des marges de 1,5cm ;
* margin : bascule en mode marge libre dont on donnera la valeur par l'option margin ;
* plain aucun entête et un pied de page étroit de 0,5cm ;
* headings : entête et pied de page étroits de 0,5cm ;
* empty : ni entête ni pied de page.
L'option margin indique la dimension attribuée aux marges en ayant spécifié style=margin. Exemple : \usemodule[fullpage][style={margin,empty},margin=10mm]

### Mise en page d'une lettre avec le module letter

Puisque nous sommes dans la partie qui concerne la structuration d'un document simple, il est indiqué de terminer cette partie par la rédaction d'une lettre. Les familiers de LATEX connaissent la déclaration de la classe letter dans le préambule. Il en va presque de même avec ConTeXt, sauf qu'il s'agit ici d'un module (et non d'une classe). Vous pouvez tester ce module en copiant/collant le fichier source ci-dessous dans votre éditeur de texte. Vous remarquerez que le préambule se borne à mentionner l'appel au module "letter", et que le contenu situé entre les commandes \starttext et \stoptext est presque totalement un ensemble de commandes \setupQuelqueChose et de \defineQuelqueChose. Pour toute information concernant les différents styles de lettres (en Allemagne, en France, etc.) on se reportera aux explications données sur le module letter à la page du Wiki de ConTeXt Garden.

### Typographie d'un document simple : les polices

La police de caractère ou police d'écriture (typeface ou font family en anglais) désigne un assortiment de caractères typographiques (lettres, chiffres, ponctuations), ayant un dessin particulier. Times New Roman, Arial, Helvetica, Lucida, Verdana sont des polices de caractères.
Une police possède 5 caractéristiques que l’on peut faire varier individuellement :
* la famille ;
* la graisse ;
* la forme ou le style ;
* la taille (le corps) ;
* la casse (majuscule, minuscule).
La fonte : c'est un ensemble de caractères d’une même police ayant la même famille, la même graisse, la même taille et la même forme. Par exemple : Arial sans serif 12pt est une fonte, tandis que Arial sans serif 12pt italiques est une autre fonte.
Famille. Il y a 5 familles typographiques :
* avec empattement; on emploie les termes de roman, serif, regular.
Il y a trois types d'empattements :
* triangulaire (ou Élsevir): comme la police Time;
* rectangulaire (ou Égyptienne) : comme par exemple la police Clarendon très utilisée en Amérique pour écrire le fameux Wanted
* filiforme (ou Didot) : par exemple la police créée par Firmin Didot.
* sans empattement; on emploie les termes de sans serif, linéale, antique ou bâton.
* monotype : on emploie les termes de : à chasse fixe, monospace, teletype, tous les caractères on la même largeur, comme sur des machines à écrire, ou sur les consoles des terminaux d’ordinateur.
* 'cursive ou calligraphique : il s'agit des familles de polices simulant l’écriture à la main.
* fantasy : familles de polices dont les glyphes sont exotiques et plus décoratives qu’utilisables pour du long texte. Peuvent convenir pour des titres ou dans l'utilisation de caractères symboliques, en cartographie par exemple.
* maths : ConTeXt ajoute une sixième famille mathématique pour écrire les formules mathématiques, utilisables lorsqu'on passe en mode mathématique.
Graisse La graisse est l’épaisseur d’un trait ou d’un caractère : gras, demi-gras, léger (bold, semi bold, light).
Forme ou style Les caractères peuvent être en italiques, penchés, italiques et gras, penchés et en capitale.
La casse : La casse est le passage entre caractères majuscules et minuscules. Il existe aussi des petites capitales utilisées en français pour écrire les noms propres.

#### Réglage des polices

Dans ConTeXt, si rien n'est précisé, la police par défaut est à empattement. Pour vérifier la présence (et l'absence) des polices prises en charge par votre système, veuillez vous référer au paragraphe 2.2.3 (sur mtxrun) ci-dessus. La commande ConTeXt pour écrire en roman est \rm. On peut aussi bien utiliser \serif, \regular et \roman. La commande pour écrire avec une fonte sans serif est \ss, ou bien \sans et \sansserif. Exemple :
Dans les options de certaines commandes (par exemple [style=. . .]) il est possible d'employer le vocabulaire suivant :
* pour les sérif : serif, regular, roman, rm ;
* pour les sans serif : sans, support, sansserif, ss.
Monotype La commande ConTeXt pour écrire en monotype est \tt, ainsi que \mono et \type et dans certaines options : mono, type, teletype, tt. Exemple :
Cursif et calligraphique ConTeXt utilise la police Lucida, si elle est installée sur le système. Lucida permet d'utiliser les styles cursifs et calligraphiques avec les commandes \hwou \handwritten pour l'écriture cursive et \calligraphic et \cg pour l'écriture calligraphique. On peut installer d'autre polices que Lucida, en veillant notamment au respect des licences. C'est une chose d'utiliser une police pour un travail personnel, c'en est une autre de mettre en vente un ouvrage imprimé avec une police dont on ne s'est pas acquitté de la licence. À noter aussi que certaines polices ne sont pas toutes disponibles sur un système donné. C'est le cas en particulier pour une très belle police de calligraphie, la police Zapfino, uniquement disponible sur le système Mac OS X.
Graisse On peut modifier la graisse dans les textes composés avec ConTeXt que d'une seule façon, au moyen des commandes \bf ou \bold. Exemple :
À noter que la mise en gras d'un texte s'obtient de deux manières :
Style Italique et penché (slanted) L'écriture en italiques s'obtient par \it ou \italic; l'écriture penchée par \sl ou \slanted. Exemple :
La commande \tf permet de revenir au style normal:

#### Résumé

La typographie prend en charge les deux aspects de la page imprimée : les choses qui doivent être vues et celles qui doivent être lues. Ce qui relève de l'information et du repérage (numéro du chapitre, en-tête, numéro de page), ce qui relève du sens porté par le corps de texte. L'ensemble d'une page fait l'objet d'une longue réflexion historique, depuis les débuts de l'imprimerie. La mise en page des zones de texte, comme le nombre de lignes, l'espacement entre les lignes, la forme des lettres, et ainsi de suite, réclament une attention rigoureuse, afin non seulement de plaire à l’œil, mais surtout de rendre la lecture aisée et de ne pas fatiguer le lecteur.
Il est important, s'agissant des documents de qualité, voire même pour des documents simples mais dont la communication doit être visuellement irréprochable, de vous intéresser non seulement à la mise en page, mais aussi à la qualité visuelle de la lecture, et donc au confort de lecture. À cet effet, il faudra s'intéresser au crénage (kerning en anglais), c'est-à-dire au réglage de l'espace entre deux glyphes (entre deux lettres) et aux problématiques adjacentes. Un coup d'œil à la page Wikipédia qui traite de ce thème vous donnera une idée des problèmes relatifs à la typographie; la page en anglais sur le [kerning https://en.wikipedia.org/wiki/Kerning] est plus fournie. En principe le réglage des espaces entre les glyphes est automatique, mais on peut agir manuellement et modifier ces espaces. Ci-dessous, veuillez trouver un exemple de code avec ConTeXt pour afficher ces espaces :

### Tester les polices dans un document type

Vous pouvez tester les ressources de la police que vous avez choisie pour votre document type, en rédigeant un fichier de test qui liste tous les apects de cette police (gras, italiques, capitales, etc.). Pour les besoins de ce test, j'ai choisi les polices Linux Libertine 0 et TeX Gyre Pagella. Quelques lignes de code sont commentées, mais vous pouvez commenter et décommenter pour tester le script. Ce script se fonde sur un texte de Platon extrait de l'Apologie de Socrate, mis en mémoire tampon (en buffer). On souhaite que la sortie PDF donne à voir 2 colonnes. La colonne de gauche indique le rendu de la colonne de droite (roman, italiques, italiques gras, gras, etc.). Vous remarquerez que la dernière ligne échoue à montrer les caractères en position supérieure. Il faudrait choisir d'autres polices pour atteindre ce but.
* Le script du préambule :
* Le texte mis en mémoire tampon et l'organisation des colonnes (que vous copiez/collez à la suite):
Et voici la sortie PDF que vous devez obtenir :

### Du simple au complexe : colonnes et tableaux

En général le corps du texte que l'on souhaite imprimer est placé sur une seule colonne, la zone de texte principale. Il peut arriver que l'on souhaite placer ce texte sur 2 colonnes, voire 3. Il peut même aussi se faire que l'on veuille comparer deux versions d'un même texte, ou bien encore que l'on cherche à identifier des éléments communs à deux textes distincts. Mieux encore, on peut vouloir placer des textes en colonne lorsqu'on fait de la traduction. On peut par exemple donner un texte en grec à gauche, en latin au centre, en français à droite.
Dans le cas le plus simple, le texte en colonne est disposé de manière à remplir la première, puis la seconde colonne, voire la troisième si elle existe. On peut vouloir être exigeant et demander à ce que telle partie d'un texte soit à telle place sur telle colonne. On peut désirer encore faire en sorte que les lignes des textes (notamment pour la versification et la traduction) soient disposées fac à face.

#### Colonnes simples

* Premier exemple : un texte sur une page A5, disposé sur 3 colonnes. Le texte ici est un texte factice, injecté par la commande \input knuth
* deuxième exemple : la même chose que précédemment, mais sur 2 colonnes, avec un trait vertical entre les colonnes, appelé par la valeur rule=on
* En usage normal, le contenu des colonnes est réparti de manière équilibrée sur chaque colonne. On peut vouloir cependant qu'une partie du texte soit imprimée sur une colonne, tandis que l'autre partie est placée ailleurs sur une autre colonne. Les deux textes ici sont également des textes factices.

#### Paragraphes parallèles

* On peut aussi désirer qu'un texte soit doté d'informations placées sur le côté droit. On peut chercher à utiliser les marges (pour les notes marginales), mais aussi bien il est possible de traiter le texte et son information en deux paragraphes parallèles, comme dans l'exemple ci-dessous :

#### Colonnes inscrites dans un cadre

* Dans l'exemple ci-dessous, le texte est sur deux colonnes et inséré dans un cadre ajusté. Le texte est factice, donné par la commande \input tufte. Il se peut que dans votre test, le PDF résultant de la compilation montre un texte qui déborde du cadre. Pensez à vérifier la police par défaut et, au besoin, à mentionner explicitement la taille de la police (qui est par défaut en 12pt).

#### Texte en parallèle sur deux pages (paire/impaire)

* On a parfois besoin (c'est le cas lors de travaux de traduction), d'avoir le texte en langue originale sur la page de gauche (paire/verso) et la traduction sur la page de droite (impaire/recto).
Voici une manière de faire, proposée par Hans Hagen. Attention ! Le script proposé ci-dessous ne fonctionne que si vous placez le texte à synchroniser entre les commande \StartCouple et \StopCouple.

#### Texte sur 2 colonnes, avec des graisses différentes et du grec ancien

* Ici, nous sommes à la limite de l'exercice de mise en forme de texte simple, puisqu'il s'agit d'imprimer sur la colonne de gauche un certain nombre d'informations (ici sur la police : roman, italique, gras, etc.) et d'obtenir le rendu sur la colonne de droite. Le même texte s'affiche à droite, en normal, italiques, gras, petites majuscules, etc.). On ajoute le texte grec à la fin, texte en version originale (ici en grec ancien, tiré de l'Apologie de Socrate de Platon). Notez que nous n'avons pas besoin de réécrire le texte, du fait que nous définissons la commande buffer avec la clé Plato (buffer est un tampon de mémoire : la commande permet de garder automatiquement du texte en mémoire et de le réutiliser. On a rajouté une commande qui permet un rendu de la police à l'ancienne (en bas du fichier). À noter aussi l'appel du module simplefonts et l'utilisation de la police TeX Gyre Pagella, ce qui permet d'avoir un rendu correct, y compris les esprits et les accents en grec. On aurait pu aussi bien faire appel à une commande de type typescript, en la définissant ainsi \usetypescript[pagella] (pagella étant le nom dans ConTeXt de TeX Gyre Pagella (police disponible sous Linux) et en la couplant avec \setupbodyfont[pagella], mais ces dernières commandes ne permettent pas d'obtenir un texte grec convenable. Les modules et les polices doivent avoir été installées au préalable. Depuis 2013 le module simplefonts fait partie du cœur de ConTeXt et n'a donc plus à être téléchargé au préalable par la commande usemodule, même si nous le faisons ici.
* Remarque : J'ai utilisé ce script sous une forme un peu différente dans la rubrique Tester les polices.
Ce qui donne le texte de la Figure 10 ci-dessous (le rendu du fichier *.svg mange un des f de affectés).

#### Texte de présentation (flyer) sur deux colonnes avec logo

On peut avoir besoin (particulier ou entreprise) d'un document sur une ou plusieurs pages dont la vocation est de présenter une activité. Ici on a choisi de présenter une maison d'édition fictive (Éditions Anciens & Modernes). Le document possède un titre en gras en haut de la page. Sur la droite, figure le logo de l'entreprise. Le titre est suivi d'un trait gras qui précède une colonne à gauche contenant les informations de contact et autres. La colonne de droite est réservée à la présentation proprement dite des activités de l'entreprise. Dans cette colonne, on peut vouloir ajuster l'espacement entre les paragraphes et aussi entre les lignes. De manière générale, maintenant que le processus est bien compris, il va nous falloir définir la langue (ici le français), la police dont nous voulons faire usage et sa taille, le titre, supprimer l'affichage de la pagination, définir la colonne de droite et la colonne de gauche. Ce qui donne :
* J'attire votre attention sur deux points :
* Le premier point : D'abord, en ce qui concerne l'interligne du second paragraphe, soit vous le définissez comme un espace standard et vous choisisse la solution 1 (commentée ci-dessous)
Soit vous avez besoin d'interlignes plus conséquents et vous choisissez le réglage ci-après, sachant que vous pouvez jouer avec la commande \setupinterlinespace[line=5ex], typiquement avec [line=5ex] :
* Le second point : toutes les figures que vous allez utiliser dans vos documents doivent impérativement être appelées par, au choix :
Important : Toutes les figures que vous souhaitez utiliser doivent impérativement être dans les formats suivants : PDF, PNG, JPG, JP2 or JBIG2. Si le logiciel Inkscape est installé sur votre système ConTeXt peut transformer à la volée les images SVG en PNG.

#### Tables et Tableaux

* Il existe une diversité quasi infinie de situations dans lesquelles on peut avoir besoin d'un ou plusieurs tableaux. Nous allons répertorier ici quelques exemples qui peuvent donner une idée de la puissance de ConTeXt.

##### Premier tableau simple : texte encadré

Nous avons rédigé un document et nous voulons souligner, par un résumé terminal adéquat, l'essentiel de notre propos, afin de le donner à mémoriser à nos lecteurs. Le code à tester est donné ci-dessous étape par étape :
Le code ci-dessus a défini la langue, le respect de la ponctuation française (afin de ne pas avoir à corriger d'éventuels points ou double points orphelins en début de ligne), neutralisé la numérotation des pages. Maintenant, établissons la manière dont l'alignement va être respecté à l'intérieur du tableau. Notez que 3 possibilités sont offertes : texte justifié, aligné à gauche ou laissé à lui-même. Ici, nous avons choisi de justifier le texte avec la commande :
\setupTABLE[start][align=normal]. Ce qui donne ceci :
* Et voici le texte (sur l'image SVG, le texte est de Charles Péguy).

##### Texte encadré avec couleurs

* Il se peut que vous souhaitiez rédiger un document, dans lequel les textes encadrés soient mis en valeur par de la couleur. La mise en œuvre de l'exemple suivant nécessite la connaissance de METAPOST, un outil graphique de LaTeX inclus dans ConTeXt. Nous n'entrons pas ici dans l'analyse du code MPgraphic qui permet précisément de tracer des traits et des figures géométriques. Nous présentons seulement ici un exemple de ce que ConTeXt permet de faire en donnant des indications sur le code.
Il s'agit ici de présenter un résumé et une conclusion dans un cadre rouge sur fond gris. Le texte doit être en italique (les textes choisis ici sont de Charles Péguy). Voici le code :
Ce préambule ne pose pas de problème, puisqu'il s'agit d'éditer un texte en français (uniquement). Rappelons que si ce texte encadré devait se trouver à la suite d'un texte recourant à diverses langues non-romanes, la commande \mainlanguage[fr] devrait être revue, afin d'inclure les autres langues, au moyen de \setuplanguage[fr][patterns={fr,agr}] (français et grec ancien), par exemple, et de la commande \definefallbackfamily [mainface] [rm] [ipaexmincho][range=cjkunifiedideographs], dans le cas où vous souhaiteriez insérer du texte chinois dans votre document en français.
* Maintenant il s'agit de définir le cadre, sa couleur et divers détails. Puisqu'on passe d'un simple cadre avec ou sans ligne à un cadre couleur, on va faire appel à MétaPost, le module de dessin propre à ConTeXt. Auparavant, on va définir "MyFrame" (mon cadre) et cette définition du cadre se fait pas la commande suivante :
\defineframedtext [MyFrame]. On indique à ConTeXt que dans ce cadre le style sera en italiques.
* On définit ensuite avec MPgraphic (Métapost Graphic) l'étiquette de notre cadre et le comportement des titres et du fond du cadre, qui est ici en gris clair.
* Une fois les cadres et leur comportement définis, il ne reste plus qu'à entrer nos textes :
* L'image ci-dessous donne une idée de ce que produit le code complet.

##### Texte encadré avec notes et légendes

* Nous savons maintenant encadrer un texte et même jouer avec la forme et la couleur du texte et du fond. Cependant, parmi la multiplicité des cas que nous pourrions éventuellement rencontrer (comme disposer de multiples cadres sur une page, afficher un logo dans un cadre, etc.), il se peut que nous désirions aligner des cadres contenant du texte, avec des titres pour ces cadres et des notes pour le texte, le tout correctement présenté si possible (ce qui signifie respectant un certain alignement). Nous prenons toujours comme exemples nos deux textes issus de l’œuvre en prose de Charles Péguy (Charles Péguy. Ed. Gallimard, coll. La Pléiade, Œuvres en prose complètes, tome I, pp. 1390).
* Il s'agit de définir une paire de boîte dans chacune desquelles on insère un texte (différent), chacun des cadre disposant d'une légende et de la possibilité d'introduire des notes en dehors du cadre. Une des difficultés particulière consiste à imprimer un texte avec les césures (hyphenation) de la langue française, le respect des règles de ponctuation et l'alignement des notes par rapport au cadre. Le respect de la langue française par la justification du contenu des cadres s'obtient grâce aux deux premières commandes :
et aux commandes suivantes :
* Ainsi, la première étape est simple, puisqu'il s'agit de configurer la langue et de définir la paire de boîtes avec des notes :
La deuxième étape consiste à définir le comportement du tableau/cadre, après la commande \starttext; on remarque que la commande \setupTABLE[start][align=] offre 3 possibilités :
permet d'imprimer des notes simples, puis des notes de plus en plus complexes.