ConTeXt & le numéro de page

Démarrer et arrêter la numérotation des pages

Ceci se fait avec l'option state de la commande \setuppagenumber:

\setuppagenumber[state=start]

Démarre la numérotation des pages (valeur par défaut).

\setuppagenumber[state=stop]

Arrête la numérotation des pages, la dernière valeur attribué est conservée en mémoire. Tu places cette commande dans le corps de ton texte à l'endroit où tu veux que la numérotation cesse.

Lors d'un prochain \setuppagenumber[state=start] la numérotation redémarre à partir du dernier numéro attribué.

Attribuer une valeur de numérotation des pages

Ceci se fait en modifiant le compteur :

\setcounter[userpage][10]

le numéro de la page encourt sera 10.

Le numéros de page en chiffres romains, en lettres. . .

Ceci se fait avec l'option numberconversion de la commande \setuppagenumber:

Chiffres romains majuscules

\setuppagenumber[numberconversion = Romannumerals]
\setuppagenumber[numberconversion = R]
\setuppagenumber[numberconversion = I]

Ces trois commandes on le même effet et la page 19 devient XIX.

Chiffres romains minuscules

\setuppagenumber[numberconversion = romannumerals]
\setuppagenumber[numberconversion = r]
\setuppagenumber[numberconversion = i]

Ces trois commandes on le même effet et la page 19 devient xix.

Numérotation en lettres majuscules

\setuppagenumber[numberconversion = Characters]
\setuppagenumber[numberconversion = C]

Ces deux commandes on le même effet et la page 19 devient S et 28 AB.

Numérotation en lettres minuscules

\setuppagenumber[numberconversion = characters]
\setuppagenumber[numberconversion = c]

Ces deux commandes on le même effet et la page 19 devient s et 28 ab

Numérotation en petites capitales

\setuppagenumber[numberconversion = AK]
\setuppagenumber[numberconversion = KA]

Ces deux commandes on le même effet.

Numérotation en chiffres romains et petites capitales

\setuppagenumber[numberconversion = RK]
\setuppagenumber[numberconversion = KR]

Ces deux commandes on le même effet.

Numérotation en chiffres elzéviriens (old style)

\setuppagenumber[numberconversion = oldstylenumerals]
\setuppagenumber[numberconversion = mediaeval]
\setuppagenumber[numberconversion = o]
\setuppagenumber[numberconversion = O]
\setuppagenumber[numberconversion = m]

Ces cinq commandes on le même effet.

Chiffres romains old style

\setuppagenumber[numberconversion = oldstyleromannumerals]
\setuppagenumber[numberconversion = or]

Ces deux commandes on le même effet.

La commande \defineconversion

Pour modifier l'aspect de la numérotation des pages tu peux utliser la commande \defineconversion.

\defineconversion[monStyle][\red\Romannumerals]

Tu obtiens une numérotation en chiffres romains rouges. Tu peux utiliser toutes les conversions vues ci-dessus mais n'oublie pas de les précéder de \

\defineconversion[monStyle][\it\Romannumerals]

Tu obtiens une numérotation en chiffres romains et en italique.

Pour appliquer cette transformation à tes numéros de pages tu utilises :

\setuppagenumber[numberconversion = monStyle]

Lier la numérotation des pages au sectionnement

Il faut utiliser l'option way de la commande \setuppagenumber :

\setuppagenumber[way=bytext]

La numérotation des pages est continue pour l'ensemble du document (valeur par défaut).

\setuppagenumber[way=bychapter]

La numérotation des pages est réinitialisée à chaque nouveau chapitre.

\setuppagenumber[way=bysection]

La numérotation des pages est réinitialisée à chaque nouvelle section. De la même manière tu peux utiliser bypart, bysubsection,. . .

Ajouter un préfixe au numéro de page

Si par exemple tu veux faire précéder ton numéro de page du numéro de chapitre (indépendament que tu sois en mode bytext ou bychapter), il te faut utiliser les options prefix et prefixset.

\setuppagenumber[prefix=yes,prefixset=chapter]

Tu obtiens pour le premier chapitre une numérotation du type : 1-5, 1-6,. . ., 1-22. Pour le deuxième chapitre : 2-23, 2-24,. . . et ainsi de suite.

Si tu as utilisé une mise en forme de tes numéros de page avec numberconversion tu peux utiliser prefixconversion pour attribuer au préfixe la même mise en forme ou une différente.

\setuppagenumber[prefix=yes,prefixset=chapter,prefixconversion=R]

Tu obtiens si tu as gardé la valeur par défaut à numberconversion et pour l'exemple ci-dessus : I-5, I-6,. . ., I-22 et II-23, II-24,. . .

En utilisant \defineconversion tu peux faire des trucs plus sophistiqués :

\defineconversion[monStyle][Chap. \Romannumerals] \setuppagenumber[prefix=yes,prefixset=chapter,prefixconversion=monStyle]

Tu obtiens : Chap. I-5, Chap. I-6,. . ., Chap. I-22 et Chap. II-23, Chap. II-24,. . .

Obtenir la valeur du compteur de page

Plusieurs macro permettent d'obtenir les valeurs du compteur de page.

\pagenumber retourne le numéro de page courant sans mise en forme et \userpagenumber retourne le numéro de page courant avec mise en forme.

Si tu as décidé que tes numéros de page sont en rouge et en chiffres romains :

\defineconversion[monStyle][\red\Romannumerals]
\setuppagenumber[numberconversion = monStyle]

À la page 22 \pagenumber retourne 22 et \userpagenumber XXII.

De la même manière tu as :

\lastpagenumber et \lastuserpagenumber le dernier numéro de page

Tu as également (mais uniquement en version user)

\firstuserpagenumber le premier numéro de page

\prevuserpagenumber le numéro de page précédent

\nextuserpagenumber le numéro de page suivant

Document en recto-verso

\setuppagenumbering[alternative=doublesided]

permet d'indiquer une numérotation en recto-verso.

Attention cette commande est la seule a indiquer que l'on veut un document en recto-verso.

alternative=simplesided permet d'obtenir un document en recto simple.

Position du numéro de page sur la feuille

L'option location précise la position du numéro de page sur la feuille :location=header positionne le numéro de page dans l'entête, location=footer dans le pied de page, location=right à droite, location=left à gauche location={header,right} dans l'entête à droite (attention n'oublie pas les {}).Les options inmargin ou margin placent le numéro de page dans la marge, inleft dans la marge de gauche (ou marge interne si le document est en recto-verso), et inright dans la marge de droite ou externe.

Avec une absence de valeur, aucun numéro de page n’apparaît.

\setuppagenumbering[location=]

Ajouter des fioritures

Les options left et right permettent d'ajouter des éléments respectivement à gauche et à droite du numéro de page, par exemple :

\setuppagenumbering[left={--~},right{~--}]

donne : — 1 —

\setuppagenumbering[left={page }]

donne : page 1

L'option command qui applique une commande au numéro de page permet d'aller plus loin. Voici comment obtenir un numéro de page encadré :

\setuppagenumbering[commande=\inframed]

Tu peux définir tes propres commandes pour les appliquer ensuite au numéro de page, par exemple pour avoir un encadrement partiel du numéro de page (à gauche et en haut) :

\def\moncadrenumpage#1{\inframed[frame=off,leftframe=on,topframe=on]{#1}}
\setuppagenumbering[commande=\moncadrenumpage]

Tu obtiens des numéros de page comme ci-dessous :

Un autre exemple un petit peu plus compliqué :

\def\moncadrenumpage#1{\inframed[corner=00,frame=on,frameoffset=3pt, framecolor=green,radius=8pt,rulethickness=2pt]{#1}}
\setuppagenumbering[commande=\moncadrenumpage]

Tu obtiens des numéros de page comme ci-dessous :

Enfin en utilisant metafun. La partie du code metafun n'est pas expliqué dans cette fiche. Le code est directement pompé du manuel de Hans Hagen. Grace à l'option randomized de metafun, aucun des cadres n'aura la même forme.

\setupcolors[states=start]
\startuseMPgraphic{cadreMP} path p ;
p := fullsquare xyscaled (\overlaywidth,\overlayheight) randomized 5pt ;
pickup pencircle scaled 1.5pt ;
fill p withcolor .850white ; draw p withcolor .625yellow ;
\stopuseMPgraphic
\defineoverlay[cadre][\uniqueMPgraphic{cadreMP}]
\defineframed [cadrechangeant] [ background=cadre,
frame=off,
width=15cm,
framecolor=darkyellow,
rulethickness=2pt,
backgroundcolor=darkgray]
\def\moncadrenumpage#1{\cadrechangeant{#1}}
\setuppagenumbering[commande=\moncadrenumpage]

Tu obtiens des numéros de page comme ci-dessous :