Context

Mise En Page

ConTeXt & la mise en page


Sommaire

Les dimensions du papier

Un peu de typographie

La structure de la page

Réglage de la structure de page

Quelques exemples d'empagement

Les mesures de distances

Mise en page locale


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 :

ValeurEffet
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
rotatedpage tournée de 90°
90page tournée de 90° même effet que rotated
180page tournée de 180°
270page tournée de 270°
oversizedajoute 1,5 cm à la largeur et 1,5 cm à la hauteur
undersizedenlève 1,5 cm à la largeur et 1,5 cm à la hauteur
doublesizeddouble la surface de la feuille en modifiant la hauteur et la largeur : un A4,doublesized est équivalent à un A3
doubleoversizeddouble 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ètreValeurRemarque
width =dimensionlargeur de la page
height =dimensionhauteur de la page
offset =dimensionje n'ai pas compris son utilité
scale =nombreje 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.

onpour créer de simple croix
colorpour quelque chose de plus sophistiqué, avec une échelle des couleurs
screenpour 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 portrait
  • margins : 30 mm
  • backspace : 25 mm
  • topspace : 25 mm
  • header : 20 mm
  • footer : 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

distancevaleur
\makeupheighthauteur du texte (height)
\makeupwidthlargeur du texte
\textwidthlargeur d'une colonne
\textheightheight - (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]

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.