Mise En Page
ConTeXt & la mise en page
Sommaire
Réglage de la structure de page
Quelques exemples d'empagement
Les dimensions du papier
Les dimensions du papier se règlent avec la commande :
\setuppapersize[liste options format papier][liste options format impression]
La seconde séries d'options peut être omise, dans ce cas le format d'impression est le même que le format de papier.
Par exemple pour un document en A4 imprimé en A4 :
\setuppapersize[A4]
Pour un A5 imprimé sur un A4 :
\setuppapersize[A5][A4]
Voici la liste des options :
Valeur | Effet |
---|---|
A3, A4, letter, . . . | format du papier voir la remarque ci-dessous |
landscape | à l'italienne ou paysage (plus large que haut) |
mirrored | écriture spéculaire (comme vue dans un mirroir) pour travailler comme Léonard de Vinci |
rotated | page tournée de 90° |
90 | page tournée de 90° même effet que rotated |
180 | page tournée de 180° |
270 | page tournée de 270° |
oversized | ajoute 1,5 cm à la largeur et 1,5 cm à la hauteur |
undersized | enlève 1,5 cm à la largeur et 1,5 cm à la hauteur |
doublesized | double la surface de la feuille en modifiant la hauteur et la largeur : un A4,doublesized est équivalent à un A3 |
doubleoversized | double la surface de la feuille et ajoute 1,5 cm à la largeur et 1,5 cm à la hauteur |
Ces options sont valables aussi bien pour le format du papier que pour le format d'impression. Voici par exemple la commande pour un document en A5 imprimé sur du papier en A4 en mode paysage :
\setuppapersize[A5][A4,landscape]
Tous les formats définit par la norme iso-216 sont reconnus : A0
à A9
, B0
à B9
et C0
à C9
. Les formats américains également letter
, executive
, legal
et tabloid
, . . . Tu peux également utiliser les formats RA
et SRA
(format de papier pour les imprimeurs). Je te renvoie à ces pages de Wikipédia pour plus de détail sur les formats de papiers : Wikipédia : norme iso-216 et Wikipédia : format de papier
ConTeXt reconnait également les formats d'enveloppe : enveloppe
, 9-14
, monarch
, check
, DL
, E3
, E4
et E5
.
Tu peux utilser CD
pour les pochette de Cd (12 x 12 cm).
Enfin ConTeXt permet de définir des formats de documents adaptés aux écrans d'ordinateurs, en 4:3 avec S3
à S6
pour des formats allant de 300x250 à 800x600 et en 1:1 avec S33
à S66
et deux formats particuliers SW
(800x450) et SM
(720x450).
On peut définir son propre format de page par
\definepapersize[identifiant][options]
Voici la liste des options :
Paramètre | Valeur | Remarque |
---|---|---|
width = | dimension | largeur de la page |
height = | dimension | hauteur de la page |
offset = | dimension | je n'ai pas compris son utilité |
scale = | nombre | je n'ai pas compris son utilité |
Si je veux réaliser une plaquette de 18 cm de hauteur sur 15 cm de large, voici sa définition :
\definepapersize[maPlaquette][width=15cm,height=18cm]
Je l'utilise de cette manière si je veux l'imprimer sur un A4:
\setuppapersize[maPlaquette][A4]
Je peux toujours lui ajouter des options, si par exemple je veux utiliser mon nouveau format de papier en mode paysage :
\setuppapersize[maPlaquette,lanscape][A4]
Un peu de typographie
Avant de continuer il est indispensable de comprendre le vocabulaire employé par les typographes, pour décrire une feuille.
Le petit fond correspond à la zone blanche entre la zone de texte et bord du papier, côté reliure. ConTeXt appelle cette dimension backspace
. Il ne faut pas la confondre avec la marge interne (ou gauche dans les cas d'un document en recto seul). Ce que ConTeXt appelle leftmargin
est la largeur d'une zone dans laquelle sera écrit les textes placés dans la marge. Cette largeur est indépendante de backspace
.
Le blanc de tête est la zone blanche entre le bord supérieur de la page et la zone de texte. ConTeXt la nomme topspace
.
La hauteur d' empagement correspond à la hauteur du texte imprimé (height
pour ConTeXt) et la justification, à sa largeur (width
pour ConTeXt).
Attention la hauteur d'empagement comprend le pied de page (footer
, dans lequel en général on place le numéro de page) et l'entête (header
qui contient le titre de l'ouvrage ou le nom de la section en cours).
ConTeXt suit cette règle et height
= footer
+ hauteur du texte + header
.
Le grand fond , l'espace blanc entre la zone de texte et le bord externe de la feuille de papier, le blanc de pied, la zone blanche entre la zone de texte et le bas de la feuille et le corps du texte ne sont pas définis en ConTeXt car leur dimension est déduite des autres mesures.
Grand fond = largeur du papier – petit fond – largeur zone de texte.

Fig. 1 : Schéma typographique d'une page en recto verso. En rouge l'empagement qui contient tout ce qui est imprimé sur la page y compris l'entête et le pied de page.
La structure de la page
Avant toute chose il faut définir ce que ConTeXt appelle les marges. Pour ConTeXt les marges sont un endroit où l'on peut placer des objets tels que les numéros de chapitre, des notes marginale, ou des icônes pour souligner des points importants, . . ..

Fig. 2 : Voici un exemple de marges utilisées.
La taille des marges n'a aucune incidence sur la largeur du texte (width
) ni sa position sur la page
Si tu attribues une taille trop grande à une marge, les textes placés dans celle-ci déborderont de la feuille.

Fig. 3 : Une valeur trop grande de la marge de droite (
rightmargin
), le texte déborde de la page et n'est pas imprimé.Le partitionnement de la page ne s'arrête pas là. ConTeXt est prévu également pour écrire des documents électronique ou pour écran. Dans ce cas il n'est pas rare d'employer des outils de navigation qui ne se placent ni dans les marges ni dans l'entête ou le pied de page. Pour eux ConTeXt définit quatre autres espaces appelés leftedge
, rightedge
top
et bottom
:

Fig. 4 : Définition de top, bottom, leftedge et rightedge.
Réglage de la structure de page
La structure de la page est réglée par \setuplayout[options] qui peut prendre les options suivantes :
width, height, backspace, margin, leftmargin, rightmargin, header, footer, topdistance, headerdistance, footerdistance, bottomdistance, leftmargindistance, leftedgedistance, rightedgedistance, marking, location, scale, nx, ny, dx, dy, lines, columns, columndistance, grid, bottomspace, cutspace, textdistance, textwidth, textmargin, clipoffset, page, paper
.

Fig. 5 : Schéma typographique d'une page. En magenta les noms donnés par ConTeXt pour configurer la page.
width
valeurs = dimension fit middle
Pour les typographes c'est la justification c'est à dire la largeur de la zone de texte ou du corps du texte. L'option middle
place la zone de texte au centre avec des valeurs de grand fond et de petit fond égale à bakcspace
. Avec l'option fit
ConTeXt prend en compte pour le calcul de la largeur de la zone de texte, les 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
), voir la figure 6.
height
valeurs = dimension fit middle
Hauteur de la zone de texte. Cette zone comprend l'entête et le pied de page. C'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 égale à topspace
. Avec l'option fit
ConTeXt prend en compte pour le calcule de la hauteur de la zone de texte également les autres valeurs verticales (figure 7).
backspace
valeurs = dimension
La dimension du petit fond.
topspace
valeurs = dimension

Fig. 6 : Les paramètres réglant la largeur de la page.
La dimension du blanc de tête.
margin
valeurs = dimension
La dimension des marges. Attention 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
valeurs = dimension
Pour des documents avec des marges droites et gauches différentes, leftmargin
règle la marge de gauche et rightmargin
la marge de droite. Même remarque que pour margin
.
leftedge et rightedge
valeurs = dimension
Crée une zone entre la marge et le bord de la feuille, respectivement à gauche et à droite. Utilisé pour les documents électroniques ou lus sur écran.
leftmargindistance et rightmargindistance
valeurs = dimension
Distance entre le corps du texte et respectivement la marge gauche et la marge droite.
leftedgedistance et rightedgedistance
valeurs = dimension
Distance entre la marge et la zone en bord de page ( corps du texte et respectivement la marge gauche et la marge droite.

Fig. 7 : Les paramètres réglant l'entête.
header
valeurs = dimension
La hauteur de l'entête. header
est une partie de height
footer
valeurs = dimension
La hauteur du pied de page. footer
est une partie de height
top
valeurs = dimension
Crée une marge dans le blanc de tête, dans lequel tu peux placer des annotations. Il ne fait pas parti de l'entête. Utilisé pour les documents électroniques ou lus sur écran.
bottom
valeurs = dimension
Équivalent à top
mais pour le blanc de pied.
headerdistance et footerdistance
valeurs = dimension
Distance entre le corps du texte et respectivement l'entête et le pied de page.
topdistance et bottomdistance
valeurs = dimension
Distance respectivement entre la marge haute et l'entête et entre la marge basse et le pied de page.

Fig. 8 : Les paramètres réglant le pied de page page.
lines
valeurs = nombre
La hauteur du texte, dans le corps du texte, est calculée en nombre de lignes.
grid
valeurs = yes no
Le fait que certaines longueurs soit élastique avec TeX comme par exemple les lignes entre les paragraphes entraîne un décalages des lignes (elles ne seront plus alignées) entre deux pages ou deux colonnes. On peut remédier à ce problème en utilisant une grille que l'on active avec l'option grid=yes
textwidth
valeurs = dimension
largeur du corps de texte. Si cette valeur est employée c'est la lageur réelle de la zone de texte
textdistance
valeurs = dimension
décale le corps du texte vers le bas si le nombre est positif et vers le haut si négatif
textmargin
valeurs = dimension
si négatif décale le texte dans les marges de gauche et de droite (la largeur du corps de texte augmente). S'il est positif réduit la largeur du corps du texte
Les options suivantes sont utilisées pour l'impression (notamment quand on utilise les services d'un imprimeur). Certaines permettent d'imprimer plusieurs pages sur une feuille.
location
valeurs = left middle right bottom top singlesided doublesided
Détermine l'emplacement de la page sur la feuille de papier. Utile quand le format de papier et d'impression sont différent. Par défaut c'est le coin en haut à gauche. Attention l'option doubleslided
ne crée pas un document recto-verso, elle sert pour un positionnement différent selon les faces, de la page sur la feuille de papier.

Fig. 9 : Position de la page (en gris) sur la feuille (en blanc) en fonction des valeurs de
location
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)

Fig. 10 : Position de la page (en gris) sur la feuille (en blanc) en fonction des valeurs de
nx
et ny
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.
on | pour créer de simple croix |
color | pour quelque chose de plus sophistiqué, avec une échelle des couleurs |
screen | pour quelque chose de plus sophistiqué, avec une échelle des gris |

Fig. 11 : Position de la page (en gris) sur la feuille (en blanc) en fonction des valeur de
marking
et scale
Options non comprises
Je n'ai pas compris le rôle des option suivante :
columns, columndistance, bottomspace, cutspace, clipoffset, page, paper, horoffset, veroffset, leftedgedistance, rightedgedistance
Valeurs par défaut
Les valeurs par défaut de ConTeXt sont :
paper
: A4 portraitmargins
: 30 mmbackspace
: 25 mmtopspace
: 25 mmheader
: 20 mmfooter
: 20 mm
Les commandes \showframe permet de visualiser les marges, entête et pied de page et \showsetups affiche toutes les dimensions de la page et 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
\starttext \showlayout \stoptext

Fig. 12 : Le résultat de la commande \showlayout.
Quelques exemples d'empagement
Voici les commandes nécessaires pour obtenir un empagement correspondant à plusieurs mise en page classiques, pour une feuille de papier en A4.
Pour plus d'explication je te renvoie au site http://www.alain.les-hurtig.org/varia/empagement.html et à l'article (fichier pdf) de Markus Kohm paru dans les Cahiers de GUTenberg : Étude comparative de différents modèles d'empagement de Markus Kohm
Canon des ateliers
\setuplayout[backspace=28mm,topspace=35mm,width=140mm,height=213mm]
pour la version luxe
et
\setuplayout[backspace=21mm,topspace=26.25mm,width=157.5mm,height=234mm]
pour un imprimé courant.
Au neuvième
\setuplayout[backspace=23.3mm,topspace=33mm,width=153.8mm,height=217.5mm]
Au douzième
\setuplayout[backspace=17.5mm,topspace=24.75mm,width=167.8mm,height=237.35mm]
Canon du chevalier Villard de Honnecourt (architecte français du XIIIe siècle)
\setuplayout[backspace=2.78cm,topspace=3.98cm,width=14cm,height=19.74cm]
La méthode d'Olivier Randier
Il est couramment admis que le rapport hauteur/largeur d'une feuille pour un document imprimé doit être de 3/4 ou 2/3. Les empagements ci-dessus sont calculé pour ces ratios. Le format A4 à un ratio de 1/√2. La méthode d'Olivier Randier permet d'obtenir de bon résultat, avec un format de page A4.
\setuplayout[backspace=2.33cm,topspace=3.3cm,width=14cm,height=21.74cm]
Les mesures de distances
À toutes les options de distance vues précédemment correspond une distance qui s'écrit
\option
Par exemple la distance correspondant au petit fond s'écrit
\backspace
La commande suivante
\the\backspace
retourne la valeur du petit fond.
Les dimensions les plus utiles sont celles concernant la taille du texte, elles sont résumées dans le tableau ci-dessous
distance | valeur |
\makeupheight | hauteur du texte (height) |
\makeupwidth | largeur du texte |
\textwidth | largeur d'une colonne |
\textheight | height - (header+footer) |
Dans le cas d'un document sur une seule colonne \makeupwidth = \textwidth.
Mise en page locale
En théorie la mise en page est automatique. Mais il peut arriver des cas, ou il serait souhaitable d'intervenir pour passer une ou deux lignes sur une autre page, par exemple. Tu peux donc ajuster localement la mise en page par :
\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 lines = nombre de lignes
.
Attention les valeurs de height
et de lines
sont des valeurs que l'on retranche si négatives ou que l'on ajoute si positive à \textheight. En cas d'ajout elle se fait au dépend du pied de page et ne peut jamais dépasser celui-ci. Donc c'est inutile de mettre des valeurs trop grandes. Par exemple
\adaptlayout[15,26,36][height=+0.5cm] \adaptlayout[12][lines=-1]
Ces commandes sont à placer dans le préambule de ton source. La hauteur du corps de texte sera augmenté d'un demi centimètre pour les pages 15, 26 et 36 et sera diminué d'une ligne pour la page 12.