ConTeXt/Environnements : encadrés, cadres, notes en marge
|
Part. I, ch. 1 • Environnements : cadres, encadrés et notes en marge • Sommaire |
Environnements : encadrés, cadres, notes en marge
[modifier | modifier le wikicode]Cette page présente différentes manières de mettre en valeur des passages dans un document ConTeXt. On aura par suite :
- encadrés simples (avec ou sans titre) ;
- encadrés plus élaborés utilisant MetaPost pour dessiner le fond et la bordure ;
- notes en marge pour signaler une remarque courte ou une référence.
Toutes les commandes (commandes ConTeXt) sont indiquées dans un format lisible : \commande.
- Savoir créer un encadré simple avec
\framedet\framedtext. - Savoir définir un environnement réutilisable pour les encadrés (par exemple
\defineframedtext). - Comprendre comment utiliser MetaPost pour dessiner le fond et la bordure d’un encadré.
- Savoir ajouter et régler des notes en marge avec
\inmarginet\setupinmargin.
Encadrés simples avec \framed et \framedtext
[modifier | modifier le wikicode]Les commandes de base pour créer un encadré sont \framed (pour un petit bloc)
et \framedtext / \defineframedtext pour définir un environnement réutilisable.
Dans ce qui suit, on crée un environnement EncadreSimple utilisable comme ceci :
\startEncadreSimple
... contenu ...
\stopEncadreSimple
Encadré avec titre et légende (sans MetaPost)
[modifier | modifier le wikicode]Exemple d’encadré simple : fond gris, cadre rouge, titre et légende.
% Encadré simple avec titre et légende, sans MetaPost
\defineframedtext
[EncadreSimple] % 1. nom de l'environnement
[frame=on, % 2. dessiner un cadre
framecolor=darkred, % 3. couleur du cadre
rulethickness=1pt, % 4. épaisseur du trait
background=color, % 5. activer un fond coloré
backgroundcolor=lightgray, % 6. couleur du fond
width=broad, % 7. largeur adaptée au texte
offset=0.8em, % 8. marge interne
before={\blank[medium]}, % 9. blanc avant
after={\blank[medium]}, % 10. blanc après
strut=yes] % 11. stabilité de la hauteur de ligne
\startEncadreSimple
{\bf Synthèse du chapitre}\par % 12. titre en gras
\blank[small] % 13. espace entre titre et texte
Voici un exemple d’encadré simple sans MetaPost.
On peut y mettre une synthèse, une remarque importante
ou un rappel de définition.
\blank[small] % 14. espace avant la légende
{\itshape Légende :} notions-clés à retenir.
\stopEncadreSimple
Explications détaillées
[modifier | modifier le wikicode]\defineframedtext [EncadreSimple] [...]
- crée un environnement réutilisable
EncadreSimple.
frame=on
- dessine un cadre autour du texte.
framecolor=darkred
- couleur du cadre.
rulethickness=1pt
- épaisseur du trait du cadre.
background=color
- active le fond coloré.
backgroundcolor=lightgray
- gris clair pour le fond.
width=broad
- l’encadré occupe la largeur de la colonne.
offset=0.8em
- marge interne confortable.
before/after
- blancs verticaux autour de l’encadré.
strut=yes
- assure une hauteur de ligne stable.
- Titre + légende
- structure pédagogique classique (titre – contenu – commentaire).
Encadrés en couleur avec MetaPost
[modifier | modifier le wikicode]Ici, on utilise MetaPost pour dessiner le fond et la bordure. ConTeXt se charge ensuite de poser le texte par-dessus.
Étapes :
1. Dessiner un rectangle avec MetaPost ;
2. L’enregistrer comme overlay;
3. L’utiliser comme fond d’un encadré.
Encadré en couleur (MetaPost + titre + légende)
[modifier | modifier le wikicode]% Encadré en couleur avec MetaPost (fond + bordure dessinés)
\startuseMPgraphic{EncadreMP}
% graphique MetaPost nommé "EncadreMP"
path p ;
p := unitsquare
xscaled OverlayWidth
yscaled OverlayHeight ;
fill p withcolor (0.95,0.95,0.95) ; % fond gris très clair
draw p withpen pencircle scaled 1.2 % bordure plus visible
withcolor (0.8,0,0) ; % rouge foncé
\stopuseMPgraphic
\defineoverlay
[EncadreMP]
[\useMPgraphic{EncadreMP}]
\defineframed
[EncadreMPFrame]
[background={EncadreMP},
frame=off,
offset=1em,
width=broad,
before={\blank[medium]},
after={\blank[medium]}]
\EncadreMPFrame{
{\bf Synthèse du chapitre}\par
\blank[small]
Cet encadré utilise un fond généré par MetaPost.
Le dessin définit la couleur et la bordure, et
<code>\EncadreMPFrame</code> gère le texte.
\blank[small]
{\itshape Légende :} encadré adapté pour une synthèse ou un avertissement.
}
Explications détaillées
[modifier | modifier le wikicode]\startuseMPgraphic …
- ouvre du code MetaPost.
unitsquare+xscaled+yscaled
- rectangle adapté automatiquement à la taille du texte.
fill p withcolor (...)
- couleur de fond (ici gris 95 %).
draw p withpen ... withcolor
- bordure rouge foncé.
\defineoverlay
- transforme le MetaPost en overlay utilisable comme fond.
\defineframed
- cadre ConTeXt utilisant l’overlay.
offset,width,before,after
- comme dans l’exemple précédent.
Notes en marge
[modifier | modifier le wikicode]- Les notes en marge permettent d’afficher une remarque dans la marge du texte.
Commande simple : \inmargin.
Exemple minimal
[modifier | modifier le wikicode]Ce paragraphe contient une note en marge telle que :
\inmargin{Note en marge : commentaire bref.}
que ConTeXt placera dans la marge (de droite ou de gauche).
Réglages de base
[modifier | modifier le wikicode]\setupinmargin
[location=right, % dans la marge droite
style=\itshape, % italique
width=3cm] % largeur de la marge
Ce texte contient une note en marge :
\inmargin{Note en marge formatée selon les réglages.}
pour illustrer l'utilisation de la commande \inmargin.
Commentaires
[modifier | modifier le wikicode]location=right
force l’affichage dans la marge droite.
style=\itshape
italique pour distinguer la remarque.
width=3cm
réserve une largeur raisonnable dans la marge.
Conseils typographiques
[modifier | modifier le wikicode]
À retenir
- Limiter le nombre d’encadrés colorés pour ne pas surcharger la page.
- Garder la même palette de couleurs tout au long du document.
- Tester la lisibilité en noir et blanc (selon les contextes d’impression).
- Utiliser les notes en marge pour des commentaires courts, jamais pour du texte dense.
Cette page fournit une base solide pour comprendre et personnaliser les encadrés dans ConTeXt.
Comment fonctionne MetaPost dans ConTeXt ?
[modifier | modifier le wikicode]MetaPost (MP) est un petit langage de dessin vectoriel intégré à ConTeXt. Il est conçu pour dessiner des formes géométriques : rectangles, cercles, flèches, cadres, arrière-plans, etc.
Voici les idées essentielles pour comprendre les exemples d’encadrés ci-dessus.
1. Un “graphique MP” est un dessin indépendant
[modifier | modifier le wikicode]Un bloc \startuseMPgraphic ... \stopuseMPgraphic contient uniquement du code MetaPost.
Dans cet espace :
- les commandes TeX ne fonctionnent pas ;
- on manipule des points, des chemins et des couleurs ;
- ConTeXt récupère le dessin pour l’utiliser ailleurs (fond de page, encadré, etc.).
2. Le rectangle de base vient d’un carré unité
[modifier | modifier le wikicode]MetaPost part souvent d’un carré appelé unitsquare, qui va de (0,0) à (1,1).
On l’étire ensuite :
p := unitsquare
xscaled OverlayWidth
yscaled OverlayHeight ;
Cela signifie :
- « prends un carré unité »
- « élargis-le à la largeur de la zone à recouvrir »
- « étire-le à la hauteur nécessaire »
Ainsi : le rectangle s’adapte automatiquement au contenu.
3. Dessiner et remplir une forme
[modifier | modifier le wikicode]Deux opérations simples :
fill p withcolor (r,g,b)→ remplir la forme p avec une couleur.draw p withpen pencircle scaled n withcolor (r,g,b)→ tracer la bordure.
Exemple :
fill p withcolor (0.95,0.95,0.95) = gris très clair
draw p ... withcolor (0.8,0,0) = bordure rouge foncé
4. Faire de ce dessin un “overlay”
[modifier | modifier le wikicode]ConTeXt doit pouvoir mettre ce dessin comme fond. On convertit donc le graphique MP en overlay :
\defineoverlay
[NomOverlay]
[\useMPgraphic{NomGraphique}]
Un « overlay » est un dessin qui peut se répéter, s’étendre, servir d’arrière-plan ...
Dans notre cas : c’est un fond d’encadré.
5. Utiliser l’overlay dans un cadre
[modifier | modifier le wikicode]Ensuite on demande à ConTeXt :
\defineframed[MonCadre][background={NomOverlay}, offset=1em, ...]
Tout ce qui est dans le cadre MonCadre aura :
- le dessin MetaPost comme fond,
- du texte par-dessus,
- des marges internes,
- et pas de bordure supplémentaire (puisqu’elle est déjà dessinée dans MP).
6. Avantages de MetaPost pour les encadrés
[modifier | modifier le wikicode]- formes totalement personnalisables ;
- angles arrondis, ombres, dégradés possibles ;
- couleurs très précises ;
- bordures non uniformes ;
- adaptation automatique à la taille du texte.
C’est idéal pour des encadrés “pédagogiques” élégants, homogènes, et utilisables partout dans un document.
Avec ces quelques notions, la lecture de blocs MetaPost devient beaucoup plus simple. Ce n’est pas de la “programmation”, c’est vraiment de la géométrie minimale + couleurs.
Navigation
[modifier | modifier le wikicode]|
Part. I, ch. 1 • Environnements : cadres, encadrés et notes en marge • Sommaire |