+Les marges, en-tête et pied de page, ainsi que les autres variables de
+mise en page sont automatiquement définis par rapport au format du
+papier.
+
+Les valeurs par défaut des marges, inscrites dans le fichier
+d'initialisation @file{ly/@/paper@/-defaults@/-init@/.ly}, s'appliquent
+au format par défaut (A4 sauf mention spécifique) et sont étalonnées
+pour les autres formats.
+
+Nous allons examiner, dans les paragraphes qui suivent, les différentes
+variables sur lesquelles vous pouvez intervenir.
+
+@menu
+* Dimensionnement vertical::
+* Dimensionnement horizontal::
+* Autres variables de mise en page::
+@end menu
+
+
+@node Dimensionnement vertical
+@unnumberedsubsubsec Dimensionnement vertical
+@translationof Vertical dimensions
+
+@subsubheading Hauteurs fixes
+@translationof Fixed vertical dimensions
+
+@table @code
+@item paper-height
+@funindex paper-height
+
+La hauteur de la feuille. Il s'agit par défaut de la dimension du
+papier utilisé -- voir @ref{Format du papier} pour plus de détails.
+
+@item top-margin
+@funindex top-margin
+
+La marge entre le bord supérieur de la feuille et la surface imprimable.
+Elle est fixée par défaut à@tie{}@code{5\mm}.
+
+@item bottom-margin
+@funindex bottom-margin
+
+La marge entre la surface imprimable et le bord inférieur de la feuille.
+Elle est fixée par défaut à@tie{}@code{6\mm}.
+
+@end table
+
+
+@subsubheading Hauteurs variables
+
+Il est souvent judicieux d'apporter un peu de flexibilité à l'espacement
+entre différents éléments (marges, titres, systèmes ou mouvements), en
+dilatation ou compression selon le cas. Un certain nombre de variables
+de type @code{\paper} répertoriées ci-dessous vous permettront d'affiner
+ces dimensionnements.
+
+Chacune de ces variables est constituée d'une liste associative à quatre
+@i{clés}@tie{}:
+
+@itemize
+@item @code{décalage} (@emph{padding}) -- la grandeur minimale de
+@qq{blanc} qui sépare deux éléments. On peut le voir comme la hauteur
+minimale d'un rectangle vide qui devrait s'étendre sur toute la
+largueur des deux éléments.
+
+@item @code{espace} (@emph{space}) -- la grandeur d'espace par défaut séparant
+les @i{points de référence} de deux éléments qui évite tout risque de
+collision en l'absence de dilatation ou compression. Le point de
+référence d'un titre ou d'un @emph{markup} est son sommet, celui d'un
+système est la ligne médiane de la portée la plus proche. Un
+@code{espace} inférieur à @code{décalage} ou @code{distance-minimale}
+sera sans effet, dans la mesure où l'espacement résultant ne saurait
+être inférieur à @code{décalage} ou @code{distance-minimale}.
+
+@item @code{distance-minimale} (@emph{minimum-distance}) -- l'espacement
+minimal entre les points de référence des deux éléments alors qu'il y a
+déjà un effet de compression. Une @code{distance-minimale} inférieure à
+la valeur du @code{décalage} sera sans effet, dans la mesure où
+l'espacement résultant ne saurait être inférieur au @code{décalage}.
+
+@item @code{dilatation} (@emph{stretchability}) -- le coefficient
+d'étirement de cet espace. Un coefficient nul permet de figer
+l'espacement, à moins qu'il n'en résulte des collisions. Un coefficient
+positif déterminera la propension d'un espacement à s'étirer, tout
+en tenant compte du coefficient affecté aux autres espacements.
+Par exemple, lorsque le coefficient de dilatation d'une dimension est
+double de celui d'une autre, elle pourra s'étirer deux fois plus que
+cette dernière. La valeur @code{+inf.0} provoque une
+@code{programming_error} (erreur de programmation) et est ignorée@tie{};
+vous pouvez toutefois utiliser @code{1.0e7} pour obtenir une valeur
+proche de l'infini. Lorsque cette @i{clé} n'est pas définie, sa valeur
+est par défaut égale à @code{space}. Notez bien que l'utilisateur ne
+peut définir une propension à la compression@tie{}; elle est en fait
+égale à (@code{space}@tie{}@minus{}@tie{}@code{minimum-distance}).
+
+@end itemize
+
+Lorsque l'impression n'est pas en pleine page -- elle est donc
+@emph{ragged bottom} pour les anglophones -- l'élément @code{espace}
+n'est pas étiré. Les hauteurs sur une telle page correspondront donc au
+maximum de
+
+@itemize
+@item @code{space}, plus
+@item @code{minimum-distance} et
+@item @code{padding}, augmenté de ce qu'il faut pour éviter les
+chevauchements.
+@end itemize
+
+Vous pouvez ne jouer que sur une clé d'une variable particulière@tie{}:
+
+@example
+\paper @{
+ after-title-spacing #'space = #5
+@}
+@end example
+
+@noindent
+ou bien déterminer simultatnément plusieurs clés d'une même
+variable@tie{}:
+
+@example
+\paper @{
+ bottom-system-spacing =
+ #'((padding . 1)
+ (space . 1)
+ (minimum-distance . 0)
+ (stretchability . 5))
+@}
+@end example
+
+Voici à présent les différentes variables disponibles@tie{}:
+
+@table @code
+
+@item after-title-spacing
+@funindex after-title-spacing
+
+détermine l'espacement entre un titre, ou un @emph{markup} de premier
+niveau, et le système qui le suit.
+
+@item before-title-spacing
+@funindex before-title-spacing
+
+détermine l'espacement entre un système et le titre ou @emph{markup} de
+haut niveau qui le suit.
+
+@item between-scores-system-spacing
+@funindex between-scores-system-spacing
+
+détermine l'espacement entre deux systèmes appartenant à deux partitions
+consécutives en l'absence de titrage.
+
+@item between-system-spacing
+@funindex between-system-spacing
+
+détermine l'espacement entre deux systèmes d'un même mouvement.
+
+@item between-title-spacing
+@funindex between-title-spacing
+
+détermine l'espacement entre deux titres ou @emph{markups} de premier
+niveau.
+
+@item bottom-system-spacing
+@funindex bottom-system-spacing
+
+détermine la distance entre le dernier système ou le dernier
+@emph{markup} de haut niveau, et le bas de la surface imprimable --
+autrement dit le haut de la marge basse.
+
+@item top-system-spacing
+@funindex top-system-spacing
+
+détermine l'espace entre le haut de la surface imprimable (le bas de la
+marge haute) et le milieu du premier système. Cette variable n'est
+effective qu'en l'absence de titre en haut de page -- c'est alors
+@var{top-title-spacing} qui doit intervenir.
+
+@item top-title-spacing
+@funindex top-title-spacing
+
+détermine l'espace entre le haut de la surface imprimable (le bas de la
+marge haute) et le titre.
+
+@end table
+
+
+@snippets
+
+L'en-tête et le pied de page sont créés respectivement par les fonctions
+@code{make-header} et @code{make-footer}, toutes deux définies dans le
+bloc @code{\paper}. Leur implémentation par défaut se trouve dans les
+fichiers d'initialisation @file{ly/@/paper@/-defaults@/-init@/.ly} et
+@file{ly/@/titling@/-init@/.ly}.
+
+La mise en forme de la page est réalisée par les fonctions
+@code{page-music-height} et @code{page-make-stencil}, toutes deux
+membres du bloc @code{\paper}. La première informe l'algoritme des
+sauts de ligne de combien d'espace il dispose sur la page@tie{}; la
+seconde génère la page selon le nombre de système qu'elle contiendra.
+
+Vous pouvez définir toutes ces valeurs -- @code{mm}, @code{in},
+@code{pt} ou @code{cm} -- en langage Scheme au sein du bloc
+@code{\paper}. Celles contenues dans le fichier
+@file{paper-defaults.ly} sont en millimètres, c'est la raison pour
+laquelle la valeur de@tie{}@w{@code{2 cm}} de ce qui suit doit être
+précédée du signe multiplier.
+
+@example
+\paper @{
+ #(define bottom-margin (* 2 cm))
+@}
+@end example
+
+
+Exemple :
+
+@example
+\paper @{
+ paper-width = 2\cm
+ top-margin = 3\cm
+ bottom-margin = 3\cm
+ ragged-last-bottom = ##t
+@}
+@end example
+
+Voici par exemple comment centrer le numéro des pages au bas de chacune
+d'elles@tie{}:
+
+@example
+\paper @{
+ print-page-number = ##t
+ print-first-page-number = ##t
+ oddHeaderMarkup = \markup \fill-line @{ " " @}
+ evenHeaderMarkup = \markup \fill-line @{ " " @}
+ oddFooterMarkup = \markup @{ \fill-line @{
+ \bold \fontsize #3 \on-the-fly #print-page-number-check-first
+ \fromproperty #'page:page-number-string @} @}
+ evenFooterMarkup = \markup @{ \fill-line @{
+ \bold \fontsize #3 \on-the-fly #print-page-number-check-first
+ \fromproperty #'page:page-number-string @} @}
+@}
+@end example
+
+
+@seealso
+Manuel de notation :
+@ref{Espacement vertical entre les systèmes}.
+
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@node Dimensionnement horizontal
+@unnumberedsubsubsec Dimensionnement horizontal
+@translationof Horizontal dimensions
+
+Certaines variables permettent de gérer les dimensionnements
+horizontaux de la page@tie{}:
+
+@table @code
+
+@item binding-offset
+@funindex binding-offset
+
+la gouttière, ou marge de reliure, permet d'augmenter en conséquence la
+valeur de la marge intérieure @code{inner-margin} de telle sorte que
+rien ne soit masqué par la reliure. Bien entendu, cette variable n'est
+active que lorsque vous comptez générer un fichier imprimable en
+recto-verso -- propriété @code{two-sided} définie à vrai. La valeur par
+défaut est de@tie{}@code{0}.
+
+@item horizontal-shift
+@funindex horizontal-shift
+
+tous les systèmes, ainsi que les titres et séparateurs de systèmes,
+seront poussés d'autant vers la droite. la valeur par défaut est
+de@tie{}@code{0.0}.
+
+@item indent
+@funindex indent
+
+définit le niveau d'indentation du premier sysème d'une partition. La
+valeur par défaut est de@tie{}@code{15\mm}.
+
+@item inner-margin
+@funindex inner-margin
+
+la marge que toutes les pages d'une partie ou de tout un ouvrage devront
+avoir du côté intérieur. Bien entendu, cette variable n'est
+active que lorsque vous comptez générer un fichier imprimable en
+recto-verso -- propriété @code{two-sided} définie à vrai. La valeur par
+défaut est de@tie{}@code{10\mm}.
+
+@item left-margin
+@funindex left-margin
+
+la marge entre le bord gauche de la feuille et le début de chaque
+système. La valeur par défaut est de@tie{}@code{10\mm}.
+
+@item line-width
+@funindex line-width
+
+la longueur d'un système musical. La valeur par défaut est égale à
+@code{paper-width}, auquel sont retranchés @code{left-margin} et
+@code{right-margin}.
+
+@item outer-margin
+@funindex outer-margin
+
+la marge que toutes les pages d'une partie ou de tout un ouvrage devront
+avoir du côté extérieur -- opposé à la reliure. Bien entendu, cette
+variable n'est active que lorsque vous comptez générer un fichier
+imprimable en recto-verso -- propriété @code{two-sided} définie à vrai.
+La valeur par défaut est de@tie{}@code{20\mm}.
+
+@item paper-width
+@funindex paper-width
+
+la largeur de la page. Elle correspond par défaut à la largeur du
+format de papier utilisé -- voir à ce suje la rubrique
+@ref{Format du papier}.
+
+@item right-margin
+@funindex right-margin
+
+la marge entre le bord droit de la page et la fin des systèmes. La
+valeur par défaut est de@tie{}@code{10\mm}.
+
+@item short-indent
+@funindex short-indent
+
+le niveau d'indentation de tous les systèmes hormis le premier. La
+valeur par défaut est de@tie{}@code{0}.
+
+@end table
+
+LilyPond appliquera les valeurs par défaut pour les variables non
+définies, en les ajustant toutefois selon la taille de papier que vous
+aurez spécifiée. Cet adaptation automatique concerne@tie{}:
+
+@itemize
+@item @var{left-margin}
+@item @var{right-margin}
+@item @var{top-margin}
+@item @var{bottom-margin}
+@item @var{head-separation}
+@item @var{foot-separation}
+@item @var{indent}
+@item @var{short-indent}
+@end itemize
+
+Les réglages de @code{line-width}, @code{left-margin},
+@code{right-margin} et @code{paper-width} dépendent les uns des autres,
+mais ne sont pas tous obligatoires@tie{}:
+
+@example
+\paper @{
+ left-margin = 30\mm
+@}
+@end example
+
+Ceci ne définit que la marge gauche (@code{lef-margin}). Cependant, et
+dans la mesure ou @code{right-margin} -- la marge de droite -- garde sa
+valeur par défaut, la longueur de ligne -- @code{line-width} -- sera
+automatiquement calculée.
+
+@example
+\paper @{
+ line-width = 150\mm
+@}
+@end example
+
+Ici, @code{left-margin} et @code{right-margin} prendront la même valeur.
+Par conséquent, @code{line-width} est retranché de @code{paper-width} et
+divisé par deux. Autrement dit, le fait de ne spécifier que la valeur
+de @code{line-width} permet d'obtenir des systèmes centrés sur la
+largeur de la page.
+
+LilyPond effectue toutefois des contrôles de cohérence au niveau de ces
+valeurs et émet un avertissement si l'addition n'est pas bonne ou si les
+systèmes risquent de déborder.
+
+@example
+\paper @{
+ paper-width = 210\mm
+ left-margin = 20\mm
+ right-margin = 30\mm
+ line-width = 100\mm
+@}
+@end example
+
+Ces contrôles peuvent se désactiver en définissant la propriété
+@code{check-consistency} à faux@tie{}:
+
+@example
+\paper @{
+ paper-width = 210\mm
+ left-margin = 20\mm
+ line-width = 200\mm
+ check-consistency = ##f
+@}
+@end example
+
+@warning{Lorsque vous définissez manuellement la largeur de page
+(@code{paper-width}), ajustez si besoin les valeurs de
+@code{line-width}, @code{left-margin}, @code{indent} et
+@code{short-indent}.}
+
+
+@seealso
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@node Autres variables de mise en page
+@unnumberedsubsubsec Autres variables de mise en page
+@translationof Other layout variables
+
+Les variables regroupées ici par ordre alphabétique vous permettront
+d'agencer la page en général.
+
+@table @code
+
+@item auto-first-page-number
+@funindex auto-first-page-number
+
+L'algorithme qui gère les sauts de page prend en compte le fait que le
+premier numéro de page soit pair ou impair. Lorsque cette
+fonctionnalité est activée, l'algorithme des sauts de page décidera par
+lui-même si le premier numéro sera pair ou impair, ce qui se traduira
+par un éventuel incrément de un. La valeur par défaut est@tie{}@code{##f}.
+
+@ignore
+
+TODO: this variable is used, but I don't know what it does. -pm
+@item blank-after-score-page-force
+@funindex blank-after-score-page-force
+
+Default: @code{2}.
+
+@end ignore
+
+@item blank-last-page-force
+@funindex blank-last-page-force
+
+Pénalité pour fin de partition intervenant sur une page impaire. La
+valeur par défaut est de@tie{}@code{0}.
+
+@item blank-page-force
+@funindex blank-page-force
+
+Pénalité pour apparition d'une page blanche en cours de partition.
+L'option @code{ly:optimal-breaking} n'en tiendra pas compte puisqu'elle
+ne conçoit pas la présence d'une page blanche au milieu d'une partition.
+La valeur par défaut est de@tie{}@code{5}.
+
+@item check-consistency
+@funindex check-consistency
+
+Lorsqu'elle est activée, cette variable vérifie que @code{left-margin},
+@code{right-margin} et @code{line-width} sont en cohérence, et que
+l'addition de ces trois éléments ne dépassera pas la largeur du papier
+(@code{paper-width}). La valeur par défaut est@tie{}@code{##t}.
+
+@item first-page-number
+@funindex first-page-number
+
+Le numéro de la première page. La valeur par défaut est
+de@tie{}@code{#1}.
+
+@item max-systems-per-page
+Le nombre maximal de systèmes qu'une page pourra comporter. Cette
+variable n'est prise en compte, à ce jour, que par l'option
+@code{ly:optimal-breaking}, et n'est pas définie.
+
+@item min-systems-per-page
+Le nombre minimal de systèmes qu'une page pourra comporter. Attention
+cependant aux risques de débordements s'il est trop important. Cette
+variable n'est prise en compte, à ce jour, que par l'option
+@code{ly:optimal-breaking}, et n'est pas définie.
+
+@item page-breaking-between-system-spacing
+@funindex page-breaking-between-system-spacing
+
+Cette variable permet de @qq{tromper} l'algorithme de gestion des sauts
+de page quant à la valeur de @code{between-system-spacing}. Ainsi,
+lorsque @code{page-breaking-between-system-spacing #'padding} a une
+valeur nettement supérieure à @code{between-system-spacing #'padding},
+l'algorithme en question aura tendance à disposer moins de systèmes sur
+une même page. Cette variable est par défaut non définie.
+
+@item page-count
+@funindex page-count
+
+Le nombre de pages que devra comporter la partition. Cette variable est
+par défaut non définie.
+
+@item page-limit-inter-system-space
+@funindex page-limit-inter-system-space
+
+Lorsqu'elle est activée, cette variable permet de limiter l'espacement
+entre les systèmes d'une page comportant beaucoup de blanc. La valeur
+par défaut est@tie{}@code{##f}. Pour de plus amples détails,
+reportez-vous à la rubrique @ref{Espacement vertical entre les systèmes}.
+
+@item page-limit-inter-system-space-factor
+@funindex page-limit-inter-system-space-factor
+
+Le coefficient utilisé par @code{page-limit-inter-system-space}. La
+valeur par défaut est de@tie{}@code{1.4}. Pour de plus amples détails,
+reportez-vous à la rubrique @ref{Espacement vertical entre les systèmes}.
+
+@item page-spacing-weight
+@funindex page-spacing-weight
+
+Cette variable définit l'importance relative des espacements entre la
+page (verticalité) et la ligne (horizontalité). Une valeur élevée
+privilégiera l'espacement au niveau de la page. La valeur par défaut
+est de@tie{}@code{#10}.
+
+@item print-all-headers
+@funindex print-all-headers
+
+Lorsque cette variable est activiée, l'intégralité des champs d'entête
+sera imprimée pour chaque bloc @code{\score}, plutôt que les seuls
+champs @code{piece} et @code{opus}. La valeur par défaut
+est@tie{}@code{##f}.
+
+@item print-first-page-number
+@funindex print-first-page-number
+
+Cette variable permet d'imprimer le numéro de page y compris sur la
+première. La valeur par défaut est@tie{}@code{##f}.
+
+@item print-page-number
+@funindex print-page-number
+
+La désactivation de cette variable permet d'obtenir des pages non
+numérotées. La valeur par défaut est@tie{}@code{##t}.
+
+@item ragged-bottom
+@funindex ragged-bottom
+
+L'activation de cette variable permet de ne pas répartir verticalement
+les systèmes sur les pages homrmis la dernière. La valeur par défaut
+est@tie{}@code{##f}.
+
+Lorsque la partition ne comporte que deux ou trois systèmes par page,
+comme pour un conducteur d'orchestre, nous vous conseillons d'activer
+cette variable.
+
+@item ragged-last
+@funindex ragged-last
+
+Lorsqu'elle est activée, cette variable permet de ne pas étendre le
+dernier système de façon à occuper toute la longueur de la ligne. La
+valeur par défaut est@tie{}@code{##f}.
+
+@item ragged-last-bottom
+@funindex ragged-last-bottom
+
+La désactivation de cette variable permet de répartir verticalement les
+systèmes de la dernière pages d'une partition. La valeur par défaut
+est@tie{}@code{##t}.
+
+Nous vous conseillons, lorsque des pièces couvrent deux pages ou plus,
+d'activer cette variable.
+
+Notez bien que la variable @code{ragged-last-bottom} affecte aussi la
+dernière page de chacune des parties -- créées à l'aide d'un bloc
+@code{\bookpart} -- d'un même ouvrage.
+
+@item ragged-right
+@funindex ragged-right
+
+Lorsque cette variable est activée, les systèmes ne s'étendront pas sur
+la longueur de la ligne, mais sarrêteront sur à leur longueur normale.
+La valeur par défaut est @code{##f}.
+
+Si la partition ne comporte qu'un seul système, la valeur par défaut
+devient @code{##t}.
+
+@item system-separator-markup
+@funindex system-separator-markup
+
+Il s'agit en l'occurence d'insérer un objet de type @emph{markup} entre
+chaque système, comme on le voit dans nombre de partitions orchestrales.
+Cette variable n'est pas définie par défaut.
+
+La commande @code{\slashSeparator} fournit un @emph{markup} relativement
+courant@tie{}:
+
+@lilypond[quote,ragged-right]
+#(set-default-paper-size "a6" 'landscape)
+\book {
+ \score {
+ \relative c' { c1 \break c1 }
+ }
+ \paper {
+ system-separator-markup = \slashSeparator
+ }
+}
+@end lilypond
+
+@item system-count
+@funindex system-count
+
+Le nombre de systèmes requis par la partition. Cette variable n'est pas
+définie par défaut.
+
+@item systems-per-page
+@funindex systems-per-page
+
+Le nombre de systèmes que devrait comporter chaque page. Cette variable
+n'est à ce jour prise en charge que par l'algorithme
+@code{ly:optimal-breaking} et n'est pas définie par défaut.
+
+@item two-sided
+@funindex two-sided
+
+@cindex gutter
+@cindex binding gutter
+
+Cette variable permet de gérer efficacement les impressions recto-verso.
+Lorsqu'elle est activée, les réglages affectés à @code{inner-margin},
+@code{outer-margin} ainsi que @code{binding-offset} détermineront les
+différentes marges selon qu'il s'agit d'une page paire ou impaire.
+Cette variable s'applique en lieu et place de @code{left-margin} et
+@code{right-margin}. La valeur par défaut est@tie{}@code{##f}.
+
+@end table
+
+
+@seealso
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@knownissues
+
+L'entête par défaut, formé d'une seule ligne, est constitué du numéro de
+page et du champ @code{instrument} contenu dans le bloc @code{\header}.
+
+Les titrages (contenus dans le bloc @code{\header@{@}}) sont considérés
+comme des systèmes@tie{}; ils seront donc affectés par
+@code{ragged-bottom} et @code{ragged-last-bottom}, qui éventuellement
+ajouteront de l'espace avant le premier système de la partition.