Aller au contenu

ConTeXt/En-têtes et pieds de page

Un livre de Wikilivres.

ConTeXt

 Page précédente : règles horizontales et verticales

Part. I, ch. 5  •  En-têtes et pieds de page  •  Sommaire

Page suivante : encadrés, cadres et notes en marge 


En-têtes et pieds de page : principes, filets et styles

[modifier | modifier le wikicode]
ObjectifsObjectifs de cette page
  • 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 :

  1. \setuplayout — définit les dimensions des zones : hauteur, distance au texte, existence ou non de l’en-tête/pied.
  2. \setupheader / \setupfooter — stylisent la zone : filet simple ou double, épaisseur, style du texte.
  3. \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.
  • headerdistance contrôle l’espace (« air ») entre l’en-tête et le corps du texte.
  • Les paramètres footer et footerdistance fonctionnent 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.

  • 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 zones margin/edge via \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
  • Le couple width=\textwidth + align=inner place le numéro exactement au départ de la ligne (à l’aplomb de la première lettre).
  • align=middle centre verticalement dans la hauteur du header (ici : 1.2cm). Pour un rendu plus haut ou plus bas, remplacer middle par high ou low.
  • \showframe sert à 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 :

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
]
  • footer contrôle la hauteur de la zone de pied.
  • footerdistance rè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 :

  1. Désactiver ou redéfinir la numérotation automatique.
  2. 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.


 Page précédente : règles horizontales et verticales

Part. I, ch. 5  •  En-têtes et pieds de page  •  Sommaire

Page suivante : encadrés, cadres et notes en marge 

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.

Objectifs

  • 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.


Avertissement Il existe d’autres méthodes possibles pour produire un bandeau vertical (backgrounds simples, overlays MetaPost, dessins MetaFun). Dans certains contextes, elles peuvent ne rien afficher selon la zone ciblée ou le moment d’exécution.

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 \blackrule par un dessin MetaPost pour des effets graphiques avancés.

Quelques conseils typographiques

  • Éviter les filets trop épais : 0.3pt à 0.5pt donne souvent un effet plus élégant que 1pt.
  • Utiliser les petites capitales (\sc) pour les titres et noms d’auteur dans les en-têtes.
  • Ajuster headerdistance et footerdistance pour 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.