ConTeXt/En-têtes et pieds de page
|
Part. I, ch. 5 • En-têtes et pieds de page • Sommaire |
En-têtes et pieds de page : principes, filets et styles
[modifier | modifier le wikicode]- Comprendre les mécanismes des en-têtes (
header) et pieds de page (footer) dans ConTeXt. - Apprendre à définir la hauteur, le style et les filets (simples ou doubles).
- Insérer automatiquement le numéro de page, le chapitre ou la section courante.
- Différencier les pages paires et impaires.
- Construire des en-têtes élégants adaptés à divers genres : manuel, essai, littérature, ouvrage académique.
Dans tout document un peu soigné — manuel, ouvrage littéraire, essai philosophique ou édition savante — la présentation des en-têtes et pieds de page joue un rôle décisif. ConTeXt propose une architecture très flexible pour remplir ces zones (numéro de page, titre de section, auteur…), les styliser et leur ajouter un filet simple ou double.
1. Architecture générale : trois niveaux de contrôle
[modifier | modifier le wikicode]ConTeXt sépare clairement les éléments suivants :
\setuplayout— définit les dimensions des zones : hauteur, distance au texte, existence ou non de l’en-tête/pied.\setupheader/\setupfooter— stylisent la zone : filet simple ou double, épaisseur, style du texte.\setupheadertexts/\setupfootertexts— remplissent la zone : numéro de page, titre, chapitre, auteur…
Cette séparation permet une mise en page fine et réutilisable.
2. Définir la hauteur et l’existence des zones
[modifier | modifier le wikicode]La première étape consiste à réserver un espace aux en-têtes et aux pieds dans la mise en page globale :
\setuppapersize[A5]
\setupbodyfont[modern,10pt]
\setuplayout[
header=1cm,
headerdistance=0.5cm,
footer=1cm,
footerdistance=0.5cm,
]
Remarques :
- Si
header=0pt, l’en-tête disparaît. headerdistancecontrôle l’espace (« air ») entre l’en-tête et le corps du texte.- Les paramètres
footeretfooterdistancefonctionnent de manière analogue.
2.1 Comprendre la numérotation automatique de ConTeXt
[modifier | modifier le wikicode]Un point fondamental doit être connu avant d'insérer soi-même du texte dans les en-têtes ou les pieds de page : ConTeXt numérote automatiquement les pages.
Si l’on ne définit rien, la commande suivante est implicite :
\setuppagenumbering[location=header]
Cela signifie que ConTeXt :
- active la numérotation de pages,
- et imprime le numéro dans l'en-tête, centré, par défaut.
Conséquence importante
[modifier | modifier le wikicode]Si vous ajoutez ensuite un numéro de page manuellement, par exemple :
\setupheadertexts[][\pagenumber]
le résultat sera :
- un numéro automatique au centre (imposé par ConTeXt),
- un second numéro dans la marge extérieure (celui que vous avez ajouté).
C’est un comportement normal : ConTeXt ne désactive jamais la numérotation automatique tant qu’on ne lui dit rien.
Comment reprendre le contrôle ?
[modifier | modifier le wikicode]Pour éviter tout doublon, il faut d’abord désactiver l’impression automatique :
\setuppagenumbering[location=]
Ensuite seulement, vous pouvez placer le numéro de page où vous le souhaitez :
\setupheadertexts[][\pagenumber] % numéro dans l’en-tête, côté extérieur
ou encore :
\setuppagenumbering[location={footer,right}] % numéro auto dans le pied, à droite
Retenir : ConTeXt numérote toujours les pages. Pour placer un numéro exactement où vous le voulez, commencez par neutraliser la numérotation automatique ou redéfinissez sa position.
3. Ajouter un filet simple ou double
[modifier | modifier le wikicode]Les filets contribuent fortement à l’esthétique générale du document. ConTeXt propose plusieurs alternatives.
3.1. Filet simple
[modifier | modifier le wikicode]\setupheader[rule=on]
\setupfooter[rule=on]
On peut régler l’épaisseur du filet :
\setupheader[rule=on, rulethickness=0.6pt]
\setupfooter[rule=on, rulethickness=0.4pt]
3.2. Filet double
[modifier | modifier le wikicode]Pour un en-tête visuellement plus marqué :
\setupheader[rule=on, alternative=double, rulethickness=0.4pt]
L’option alternative=double demande à ConTeXt d’utiliser une présentation à deux filets. Selon la police et le format, une épaisseur autour de 0.3pt–0.5pt donne un résultat élégant.
4. Insérer des contenus automatiques
[modifier | modifier le wikicode]Les en-têtes sont souvent composés d’informations « vivantes » dépendant de la structure du document : titre de chapitre, section courante, numéro de page, auteur, etc.
ConTeXt met à jour automatiquement des marqueurs de structure (marks). On peut les interroger avec \getmarking.
Quelques éléments utiles :
| Élément | Commande |
|---|---|
| Numéro de page | \pagenumber
|
| Titre du chapitre | \getmarking[chapter]
|
| Numéro du chapitre | \getmarking[chapternumber]
|
| Titre de la section | \getmarking[section]
|
4.1. Numéro de page en en-tête
[modifier | modifier le wikicode]\setupheadertexts[][\pagenumber]
Les crochets gauche/droite correspondent respectivement aux colonnes de la page. ConTeXt se charge d’inverser automatiquement ces informations entre les pages paires et impaires.
4.2. Titre de chapitre à gauche, numéro de page à droite
[modifier | modifier le wikicode]\setupheadertexts
[\getmarking[chapter]]
[\pagenumber]
Sur une page impaire, le texte de droite s’affiche dans la marge extérieure. Sur une page paire, les contenus gauche/droite sont inversés pour conserver une mise en page symétrique.
5. Masquer l’en-tête sur les pages d’ouverture de chapitre
[modifier | modifier le wikicode]Dans de nombreux livres, la première page d’un chapitre est plus ouverte visuellement et ne porte ni en-tête ni filet au sommet.
On peut obtenir ce comportement avec :
\setuphead[chapter][page=right, header=empty]
Cela demande à ConTeXt de commencer chaque chapitre sur une page de droite (page=right) et de laisser l’en-tête vide sur cette page.
6. Exemples complets (MWE) : une progression par étapes
[modifier | modifier le wikicode]Les exemples qui suivent forment une petite progression pédagogique. Chaque fichier illustre une seule idée à la fois, que l’on peut visualiser dans le PDF et convertir ensuite en image (PNG) pour la galerie.
6.1. Étape 1 — Laisser ConTeXt numéroter automatiquement
[modifier | modifier le wikicode]Cet exemple montre le comportement par défaut : ConTeXt numérote les pages et place lui-même le numéro dans l’en-tête.
% fichier : mwe-header-etape1-automatique.tex
% Objectif : observer la numérotation automatique de ConTeXt.
% On ne touche pas à \setuppagenumbering.
% On ajoute seulement un filet pour bien situer l’en-tête.
\setuppapersize[A5] % Format de papier : A5
\setupbodyfont[modern,10pt] % Police de base
% --- Mise en page générale : on réserve de la place à l’en-tête
\setuplayout[
header=1cm, % hauteur de la zone d’en-tête
headerdistance=0.4cm, % espace entre l’en-tête et le texte
]
% --- On active un filet simple pour visualiser clairement la zone d’en-tête.
\setupheader[rule=on]
% --- AUCUNE définition de \setuppagenumbering ni de \setupheadertexts.
% ConTeXt numérote les pages et place le numéro au centre de l’en-tête.
\starttext
\chapter{Introduction}
\input knuth
\par
\input knuth
\stoptext
Dans le PDF, on voit le numéro de page au centre de l’en-tête, au-dessus du filet : il s’agit de la numérotation automatique expliquée en section 2.1.
6.2. Étape 2 — Reprendre le contrôle : numéro dans l’en-tête extérieur
[modifier | modifier le wikicode]- Ici, on désactive l’impression automatique du numéro, puis on le place manuellement dans la marge extérieure de l’en-tête.
% fichier : mwe-header-etape2-numero-exterieur.tex
% Objectif : désactiver la numérotation automatique « au centre »
% et placer le numéro de page uniquement en bord extérieur.
\setuppapersize[A5]
\setupbodyfont[modern,10pt]
\setuplayout[
header=1cm,
headerdistance=0.4cm,
]
% --- On coupe l’impression automatique du numéro de page.
% Sans cela, on aurait deux numéros : un au centre, un en bord extérieur.
\setuppagenumbering[location=]
% --- Filet simple pour l’en-tête
\setupheader[rule=on, rulethickness=0.5pt]
% --- Contenu de l’en-tête :
% [] = rien côté intérieur
% [\pagenumber] = numéro côté extérieur
% ConTeXt inversera intérieur/extérieur entre pages paires et impaires.
\setupheadertexts[][\pagenumber]
\starttext
\chapter{Introduction}
\input knuth
\par
\input knuth
\stoptext
- Dans le PDF, le numéro ne doit plus apparaître au centre de l’en-tête, mais seulement en bord extérieur, à côté du filet.
6.3 Sortir du placement automatique du numéro de page
[modifier | modifier le wikicode]Objectifs
Comprendre comment placer le numéro de page hors des emplacements standards (centre du header ou du footer),
en neutralisant le placement automatique et en injectant soi-même le numéro dans une zone contrôlée.
Par défaut, ConTeXt place le numéro de page via \setuppagenumbering[location=...].
C’est pratique tant qu’on reste dans des dispositions classiques.
Mais dès qu’on veut un placement précis — par exemple aligner le numéro dans le header à l’aplomb de la première
lettre de la ligne de texte, ou le pousser dans la marge / au bord extérieur — il est souvent préférable d’adopter
une méthode plus robuste : désactiver le placement automatique, puis injecter le numéro dans l’en-tête (ou le pied)
comme un contenu ordinaire.
Principe
[modifier | modifier le wikicode]- On garde la numérotation active, mais on neutralise son placement automatique :
\setuppagenumbering[location=none,...]. - On choisit la zone où placer le numéro : header (
\setupheadertexts), footer (\setupfootertexts), ou zonesmargin/edgevia\setuptexttexts. - On place le numéro dans une boîte (
\framed) de largeur contrôlée, puis on règle l’alignement horizontal (inner|outer|middle) et vertical (high|middle|low).
Exemple complet (MWE, 4 pages)
[modifier | modifier le wikicode]Numéro dans le header, aligné sur le départ de ligne (inner), et centré verticalement dans le header (middle).
% MWE — Header: page number aligned with first letter of text,
% centered vertically in header (4 pages)
\usemodule[visual]
\showframe
\setuppapersize[letter][letter]
\setuplayout
[topspace=0.5cm, bottomspace=0.5cm,
backspace=2cm, leftmargin=1cm,
rightmargin=3cm, width=middle,
header=1.2cm, headerdistance=0.2cm,
footer=0.8cm, footerdistance=0.2cm,
height=middle,
margindistance=0.2cm]
% Numérotation active, mais placement automatique neutralisé
\setuppagenumbering[alternative=doublesided,location=none,state=start]
\setupheader[state=start]
% Boîte "pleine largeur" sur la largeur du texte :
% inner = départ de ligne ; middle = centré verticalement dans le header
\def\HeaderPN{%
\framed
[frame=off,
width=\textwidth,
height=1.2cm, % même valeur que header=..., stable et lisible
align={inner,middle}]
{\pagenumber}%
}
% Page paire (gauche) / page impaire (droite)
\setupheadertexts
[][\HeaderPN]
[\HeaderPN][]
\starttext
\dorecurse{4}{\input knuth \par \page}
\stoptext
Remarques
[modifier | modifier le wikicode]- Le couple
width=\textwidth+align=innerplace le numéro exactement au départ de la ligne (à l’aplomb de la première lettre). align=middlecentre verticalement dans la hauteur du header (ici :1.2cm). Pour un rendu plus haut ou plus bas, remplacermiddleparhighoulow.\showframesert à comprendre les zones de la page : on l’enlève ensuite.
6.4 Étape 3 — Style littéraire : auteur / chapitre
[modifier | modifier le wikicode]On réutilise la même logique, mais cette fois l’en-tête porte des informations textuelles : pages paires → nom de l’auteur ; pages impaires → titre du chapitre.
% fichier : mwe-header-etape3-litteraire.tex
% Objectif : style « livre littéraire » ou essai :
% - pages paires : auteur en petites capitales
% - pages impaires : titre de chapitre
% Le numéro de page reste en bord extérieur.
\setuppapersize[A5]
\setupbodyfont[modern,10pt]
\setuplayout[
header=1cm,
headerdistance=0.4cm,
]
% --- On coupe encore l’emplacement automatique du numéro.
\setuppagenumbering[location=]
% --- Filet fin, adapté à une maquette sobre
\setupheader[rule=on, rulethickness=0.4pt]
% --- En-têtes :
% 1ère paire de crochets : pages paires (intérieur / extérieur)
% 2e paire de crochets : pages impaires (intérieur / extérieur)
\setupheadertexts
[\sc Nom de l’Auteur][\pagenumber] % pages paires
[\getmarking[chapter]][\pagenumber] % pages impaires
\starttext
\chapter{Le commencement}
\input ward
\page % forcer une nouvelle page pour voir l’en-tête paire
\input ward
\stoptext
Dans le PDF, on doit voir :
- sur la page impaire ouvrant le chapitre : en-tête avec le titre du chapitre ;
- sur la page paire suivante : en-tête avec le nom de l’auteur en petites capitales.
6.4. Étape 4 — Manuel technique : double filet + section courante
[modifier | modifier le wikicode]- Dernière étape : on utilise un double filet et on affiche le titre de la section courante, ce qui est typique des manuels ou documentations.
% fichier : mwe-header-etape4-technique.tex
% Objectif : style « manuel technique » :
% - double filet
% - titre de section courant en en-tête
% - numéro de page en bord extérieur.
\setuppapersize[A4]
\setupbodyfont[modern,10pt]
\setuplayout[
header=1.2cm, % un peu plus de place pour l’en-tête
headerdistance=0.3cm,
]
% --- On neutralise encore la numérotation automatique.
\setuppagenumbering[location=]
% --- Double filet pour un aspect « manuel » plus marqué
\setupheader[rule=on, alternative=double, rulethickness=0.5pt]
% --- En-tête :
% - côté intérieur : titre de la section courante
% - côté extérieur : numéro de page
\setupheadertexts
[\getmarking[section]]
[\pagenumber]
\starttext
\chapter{Installation}
\section{Matériel requis}
\input knuth
\page
\section{Procédure d’installation}
\input ward
\stoptext
- Dans le PDF, l’en-tête doit afficher :
- le titre de la section courante côté intérieur,
- le numéro de page côté extérieur,
- un double filet bien visible séparant l’en-tête du texte.
6.5. Étape 5 — En-tête graphique : double filet et numéro encadré
[modifier | modifier le wikicode]Cet exemple montre comment aller plus loin dans la direction d’une maquette très graphique :
- deux filets en haut de page :
- filet supérieur très épais ;
- filet inférieur plus fin ;
- et un pavé noir contenant le numéro de page en blanc, exactement au milieu de l’espace vertical entre les deux filets, aligné à droite.
% fichier : mwe-header-double-whitenumber.tex
% Objectif :
% - Deux filets horizontaux en haut de page :
% * filet supérieur : très épais
% * filet inférieur : plus fin
% - Numéro de page dans un pavé noir, en blanc,
% exactement au milieu de l’espace vertical entre les deux filets,
% aligné à droite.
\setuppapersize[A5]
\setupbodyfont[modern,10pt]
% --- Mise en page : on réserve une hauteur suffisante pour l’en-tête
\setuplayout[
header=2cm,
headerdistance=0.4cm,
]
% --- On coupe la numérotation automatique dans header/footer
\setuppagenumbering[location=]
% --- On ne veut pas du filet intégré de ConTeXt : on dessine les nôtres
\setupheader[rule=off]
% --- Boîte noire pour le numéro de page : large, haute, très lisible
\definecolor[PageBoxColor][s=0] % noir
\def\PageNumberBox{%
\framed
[frame=off,
background=color,
backgroundcolor=PageBoxColor,
foregroundcolor=white,
width=3.6em, % largeur du pavé
height=4ex, % hauteur du pavé
offset=1ex, % marge intérieure autour du chiffre
align=middle]
{\bf\tfa\pagenumber}% numéro en blanc, en gras, bien visible
}
% --- En-tête complet : double filet + boîte au milieu
\def\FancyHeader{%
\hbox to \makeupwidth{%
\vbox{%
% 1) Filet supérieur épais
\blackrule[width=\makeupwidth,height=1.8pt]%
%
% 2) Espace supérieur
\vskip4mm
%
% 3) Boîte du numéro de page, alignée à droite
\hbox to \makeupwidth{\hfill \PageNumberBox}%
%
% 4) Même espace qu’au-dessus : la boîte se trouve
% exactement au milieu entre les deux filets.
\vskip4mm
%
% 5) Filet inférieur plus fin
\blackrule[width=\makeupwidth,height=0.4pt]%
}%
}%
}
% --- Utilisation de notre en-tête personnalisé
\setupheadertexts[\FancyHeader][]
\starttext
\chapter{Introduction}
\input knuth
\par
\input ward
\stoptext
Dans le PDF, on doit voir en haut de chaque page :
- un filet très épais au sommet ;
- un filet plus fin en bas de la zone d’en-tête ;
- un pavé noir contenant le numéro de page en blanc,
exactement au milieu de l’espace entre les deux filets, calé à droite.
- Ces 6 MWE se trouvent affichés dans la galerie d'illustrations ici :
-
Illustration 1 : en-tête avec numérotation de page ajoutée
-
Illustration 2 : en-tête avec numérotation de page automatique avec filet
-
Illustration 3 : En -tête avec numérotation de page centrée avec filet
-
Illustration 4 : En-tête avec double-filet et numéro encadré
-
Illustration 5 : En-tête avec filet simple court et titre du chapitre
-
Illustration 6 : En-tête avec filet ondulant en MetaPost
7. Pieds de page : mêmes principes, autres usages
[modifier | modifier le wikicode]Les pieds de page obéissent à la même logique générale que les en-têtes :
- une zone réservée dans la mise en page (
\setuplayout[footer=..., footerdistance=...]) ; - un style (
\setupfooter) ; - un contenu (
\setupfootertexts).
La différence principale est d’ordre typographique : le pied de page est souvent plus discret, ou bien il joue un rôle utilitaire (numéro de page, titre du livre, nom de la collection, etc.).
7.1. Réserver de la place pour le pied de page
[modifier | modifier le wikicode]Comme pour l’en-tête, la zone de pied doit d’abord être définie dans la mise en page globale :
\setuplayout[
footer=1cm, % hauteur de la zone de pied
footerdistance=0.4cm, % espace entre le pied et le corps du texte
]
footercontrôle la hauteur de la zone de pied.footerdistancerègle la distance verticale entre le texte et cette zone.
Si footer=0pt, il n’y a pratiquement plus de pied de page exploitable.
7.2. Numérotation automatique et contrôle de la position
[modifier | modifier le wikicode]Par défaut, ConTeXt imprime le numéro de page dans l’en-tête (voir la section sur la numérotation automatique). Le pied de page, lui, reste vide tant qu’on ne le remplit pas.
Pour placer un numéro de page en pied et non en tête, il est recommandé de :
- Désactiver ou redéfinir la numérotation automatique.
- Placer explicitement le numéro dans le pied.
Exemple minimal :
\setuppagenumbering[location=] % on coupe la numérotation automatique
\setupfootertexts
[] % rien côté intérieur
[\pagenumber] % numéro de page côté extérieur
Le numéro apparaît alors dans le pied de page, en bord extérieur (ConTeXt gérant automatiquement les pages paires/impaires).
On peut aussi choisir de laisser ConTeXt gérer la position automatiquement en lui indiquant que le numéro doit aller en pied :
\setuppagenumbering[location={footer,right}]
Dans ce cas, il n’est plus nécessaire d’ajouter \pagenumber à la main via \setupfootertexts.
7.3. Remplir le pied de page : titre, auteur, numéro
[modifier | modifier le wikicode]Comme pour les en-têtes, le contenu du pied se règle par :
\setupfootertexts[<intérieur>][<extérieur>]
Par exemple :
\setupfootertexts
[\sc Titre du livre]
[\pagenumber]
Dans un livre littéraire ou un essai, un schéma fréquent est :
- page paire : nom de l’auteur + numéro ;
- page impaire : titre de l’œuvre ou du chapitre + numéro.
Ce schéma est gérable avec la version à quatre crochets (pages paires / pages impaires) :
\setupfootertexts
[\sc Nom de l’Auteur][\pagenumber] % pages paires
[Titre du livre][\pagenumber] % pages impaires
7.4. Filets en pied de page
[modifier | modifier le wikicode]Comme pour les en-têtes, on peut ajouter des filets pour structurer visuellement la page ou donner une identité graphique au document :
\setupfooter[rule=on, rulethickness=0.3pt]
Ce filet sépare discrètement le corps du texte du pied. Dans des maquettes plus élaborées, on préfère souvent dessiner soi-même les filets (simples, doubles, colorés, ondulés, etc.) à l’aide de petites macros et/ou de MetaPost.
Les exemples détaillés de styles de pieds de page (simples, littéraires, techniques, graphiques) sont présentés dans la section consacrée aux MWE.
Navigation
[modifier | modifier le wikicode]|
Part. I, ch. 5 • En-têtes et pieds de page • Sommaire |
8. Bandeau vertical coloré en bord de page
[modifier | modifier le wikicode]Principe général
[modifier | modifier le wikicode]Un bandeau vertical est une surface colorée, étroite et continue, placée le long d’un bord de la page. Il est utilisé pour marquer une charte éditoriale, distinguer des parties d’un document, renforcer la lisibilité ou créer une identité graphique discrète mais constante.
ConTeXt ne fournit pas de commande unique dédiée à ce type d’élément. En revanche, il met à disposition plusieurs mécanismes de base permettant de produire ce résultat de manière fiable.
- Mettre en place un bandeau vertical coloré :
- sur toute la hauteur de la page
- positionné sur le bord extérieur (droite pour les pages impaires, gauche pour les pages paires
- répété automatiquement sur toutes les pages
- Sans perturber la composition du texte
Méthode recommandée : layer + setups
[modifier | modifier le wikicode]La méthode présentée ici repose sur trois mécanismes standards de ConTeXt :
- les layers (calques de page) ;
- les setups, exécutés à chaque page ;
- les backgrounds, qui accrochent le calque au moment de l’expédition de la page.
Cette approche est particulièrement robuste avec ConTeXt LMTX (mkxl), car elle garantit que le bandeau est posé au bon moment, indépendamment des subtilités internes liées aux zones de page ou au moteur.
Exemple minimal complet (MWE)
[modifier | modifier le wikicode] \setuppapersize[A4] \setupcolors[state=start]
\setuplayout[
backspace=22mm,
topspace=18mm,
width=middle,
height=middle,
header=10mm,
footer=12mm,
]
\setupfootertexts[Document composé avec ConTeXt][\pagenumber]
\setuppagenumbering[state=start]
\definecolor[BandeauCouleur][r=1,g=.72,b=.72]
\def\BandeauLargeur{4mm}
\definelayer[BandeauLayer][
width=\paperwidth,
height=\paperheight,
doublesided=yes,
]
\startsetups[bandeau:setup]
\setlayer[BandeauLayer][x=0mm,y=0mm]{%
\ifodd\realpageno
\hbox to \paperwidth{%
\hss
\blackrule[
width=\BandeauLargeur,
height=\paperheight,
depth=0pt,
color=BandeauCouleur
]%
}%
\else
\blackrule[
width=\BandeauLargeur,
height=\paperheight,
depth=0pt,
color=BandeauCouleur
]%
\fi
}%
\stopsetups
\setupbackgrounds[page][
state=repeat,
setups=bandeau:setup,
background={BandeauLayer,foreground},
]
\starttext
\startsection[title={Exemple}]
\dorecurse{5}{\input knuth\par}
\page
\dorecurse{5}{\input ward\par}
\stopsection
\stoptext
Régler la largeur du bandeau
[modifier | modifier le wikicode]La largeur du bandeau est contrôlée par une seule variable :
\def\BandeauLargeur{4mm}
Valeurs courantes :
- 2mm pour un filet discret ;
- 4mm pour un bandeau éditorial standard ;
- 6mm pour un accent graphique visible ;
- 1cm pour une identité graphique forte.
Colorer le bandeau vertical
[modifier | modifier le wikicode]Niveaux de gris
[modifier | modifier le wikicode] \definecolor[BandeauCouleur][s=.90] \definecolor[BandeauCouleur][s=.75] \definecolor[BandeauCouleur][s=.50] \definecolor[BandeauCouleur][s=.25] \definecolor[BandeauCouleur][s=.00]
Couleurs RGB usuelles
[modifier | modifier le wikicode] \definecolor[BandeauCouleur][r=1,g=.4,b=.4] % rouge \definecolor[BandeauCouleur][r=.2,g=.5,b=.85] % bleu \definecolor[BandeauCouleur][r=.3,g=.7,b=.45] % vert \definecolor[BandeauCouleur][r=1,g=.85,b=.4] % jaune doux \definecolor[BandeauCouleur][r=.55,g=.35,b=.8] % violet
- Toutes les couleurs définies dans ConTeXt (gris, RGB, CMYK) peuvent être utilisées via l’option
color=de la commande\blackrule.
La méthode layer + setups est actuellement la plus fiable pour obtenir un bandeau vertical répété sur toutes les pages.
Pièges & Astuces
[modifier | modifier le wikicode]
Pour aller plus loin
- Limiter l’affichage des en-têtes et pieds de page à certaines parties du document (préface, annexes).
- Adapter la disposition des en-têtes en fonction des pages paires et impaires en recto-verso.
- Placer des éléments graphiques (filets, bandeaux, encadrés) dans les zones d’en-tête ou de pied.
- Coordonner les réglages des en-têtes avec la géométrie globale définie par
\setuplayout.
Cette section n’introduit pas de nouvelles commandes, mais attire l’attention sur des comportements fréquents de ConTeXt qui peuvent surprendre lors de la mise en place des en-têtes et des pieds de page.
Numérotation automatique implicite
[modifier | modifier le wikicode]- À savoir : Par défaut, ConTeXt insère un numéro de page, même si aucun texte explicite n’a été défini dans les en-têtes ou les pieds de page.
Cela peut conduire à :
- des numéros de page en double ;
- des numéros mal positionnés ;
- l’impression que \setupheadertexts ou \setupfootertexts ne fonctionnent pas.
Dans ce cas, il est recommandé de neutraliser explicitement la numérotation automatique avant de définir ses propres contenus.
\setuppagenumbering[state=stop]
Confusion entre hauteur et distance
[modifier | modifier le wikicode]Deux paramètres distincts sont souvent confondus :
- header / footer définissent la hauteur réservée ;
- headerdistance / footerdistance définissent l’écart avec le corps du texte.
Un filet ou un encadré mal placé provient souvent d’un oubli de cette distinction.
Pages paires / pages impaires en recto-verso
[modifier | modifier le wikicode]- En mode recto-verso, ConTeXt inverse automatiquement la disposition des contenus entre pages paires et impaires.
Ainsi :
- un texte placé à gauche en page impaire se retrouve à droite en page paire ;
- un en-tête centré peut sembler incohérent s’il n’est pas pensé pour cette alternance.
Il est donc important de raisonner en termes de marge intérieure et marge extérieure, et non simplement gauche / droite.
Interaction avec la géométrie de page
[modifier | modifier le wikicode]- Les en-têtes et pieds de page font partie intégrante de la géométrie du document.
Modifier leurs dimensions sans revoir le \setuplayout peut entraîner :
- un texte trop haut ou trop bas ;
- des chevauchements avec les filets ;
- un déséquilibre visuel global.
Correspondance visuelle des zones de page
[modifier | modifier le wikicode]- Les schémas suivants montrent la relation entre les zones logiques (en-tête, corps, pied) et leur position réelle sur la page.
Schéma simplifié d’une page
[modifier | modifier le wikicode]┌──────────────────────────────────────┐
│ EN-TÊTE │
│ (header + headerdistance) │
├──────────────────────────────────────┤
│ │
│ │
│ CORPS DU TEXTE │
│ │
│ │
├──────────────────────────────────────┤
│ PIED │
│ (footerdistance + footer) │
└──────────────────────────────────────┘
Détail des paramètres de mise en page
[modifier | modifier le wikicode] ↑
│ header
│
┌─────┼───────────────────────────────┐
│ │ zone d’en-tête │
│ │ │
├─────┼───────────────────────────────┤ ← headerdistance
│ │
│ texte principal │
│ │
├─────┼───────────────────────────────┤ ← footerdistance
│ │ │
│ │ zone de pied │
│ │ │
└─────┼───────────────────────────────┘
│
│ footer
↓
Lecture correcte des paramètres
[modifier | modifier le wikicode]On peut résumer ainsi :
- header = hauteur de la zone d’en-tête ;
- headerdistance = distance entre l’en-tête et le texte ;
- footer = hauteur de la zone de pied ;
- footerdistance = distance entre le texte et le pied.

Conseils pratiques
- Toujours tester la mise en page sur plusieurs pages.
- Vérifier le comportement en recto-verso, même pour un document court.
- Ajuster la géométrie globale avant de raffiner les filets et encadrements.
- Introduire progressivement les éléments graphiques (filets, cadres, boîtes).
Pour aller plus loin
- limiter le bandeau à certaines parties du document
- placer le bandeau dans la marge du layout plutôt qu’au bord du papier
- utiliser plusieurs bandeaux verticaux ;
- remplacer
\blackrulepar un dessin MetaPost pour des effets graphiques avancés.
Quelques conseils typographiques
- Éviter les filets trop épais :
0.3ptà0.5ptdonne souvent un effet plus élégant que1pt. - Utiliser les petites capitales (
\sc) pour les titres et noms d’auteur dans les en-têtes. - Ajuster
headerdistanceetfooterdistancepour ne pas « coller » le texte au filet. - Supprimer l’en-tête sur les pages de début de chapitre (
header=empty) pour aérer l’ouverture. - Limiter la quantité d’information dans les en-têtes afin de ne pas distraire la lecture.