]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/fr/notation/spacing.itely
Merge branch 'lilypond/translation' of /home/jcharles/GIT/Lily/.
[lilypond.git] / Documentation / fr / notation / spacing.itely
index b6734daa1a868165f5dbad624b4be1842e9cf0d7..10362b7bac2d677753ad8ad0fc7b278158d7746f 100644 (file)
@@ -1,20 +1,88 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 
 @ignore
-    Translation of GIT committish: 964d024dd4f022ba7cd66adc13c0169035d4c4e5
+    Translation of GIT committish: b446ebc24f8d43acb323818988fe8b1d8072afc8
 
     When revising a translation, copy the HEAD committish of the
-    version that you are working on.  See TRANSLATION for details.
+    version that you are working on.  For details, see the Contributors'
+    Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.12.0"
+@c \version "2.13.36"
 
 @c Translators: Frédéric Chiasson, Jean-Charles Malahieude
 
+@ignore
+GDP TODO list
+
+Negative numbers are allowed:
+> Are you sure? The following works well
+> \paper{
+>   first-page-number = -2
+> }
+> and prints page number -1 on the second page, for example.
+
+
+In 5.2.1 the @refbugs (line 495 in spacing.itely on master) it
+states:
+
+"@code{layout-set-staff-size} does not change the distance between
+the
+staff lines."
+
+Could we add a sentence:
+"Use instead the pair               fontSize = #@var{N}
+            \override StaffSymbol #'staff-space = #(magstep
+@var{N})
+inside the Staff context to change the size of the font and the
+distance between
+staff lines accordingly."
+
+Actually I found, that the @internalsref{StaffSymbol} at line 481
+sends to an incomplete
+documentation.  The property staff-space is not explained here.  I
+thought Y-extent might be of
+help, but it is in turn explained by x-space which again is
+missing from the list.  Who has the
+knowledge to fix this?
+
+
+Clarify
+http://code.google.com/p/lilypond/issues/detail?id=68
+
+@end ignore
+
+
 @node Gestion de l'espace
 @chapter Gestion de l'espace
 @translationof Spacing issues
 
+L'agencement général d'une partition dépend de trois facteurs
+interdépendants@tie{}: la mise en page, les sauts de ligne et
+l'espacement.  Les choix faits en matière d'espacement détermineront la
+densité de chacun des systèmes, ce qui influera sur le positionnement
+des sauts de lignes et, par voie de conséquence, sur le nombre de page
+de la partition.
+
+En pratique, cette procédure comporte quatre étapes.  Dans un premier
+temps, des distances élastiques (@emph{springs}) sont déterminées sur la
+base des durées.  Sont alors calculées différentes possibilités de saut
+de ligne, chacune se voyant attribuer un @qq{coefficient de laideur},
+puis est estimée la hauteur de chaque système.  LilyPond opte enfin pour
+la combinaison entre sauts de page et de ligne qui offre la meilleure
+occupation de l'espace, tant horizontalement que verticalement.
+
+Les réglages qui influencent la mise en forme peuvent se placer dans
+deux blocs différents.  Le bloc @w{@code{\paper @{@dots{}@}}} intervient
+en dehors de tout bloc @w{@code{\score @{@dots{}@}}}@tie{}; il contient
+les réglages applicables à l'intégralité du document.  Quant au bloc
+@w{@code{\layout @{@dots{}@}}}, il se place à l'intérieur d'un bloc
+@w{@code{\score @{@dots{}@}}} pour déterminer ce qui le concerne tout
+particulièrement.  Dans le cas où il n'y a qu'un seul bloc
+@w{@code{\score @{@dots{}@}}}, les deux emplacements donneront le même
+effet.  Les commandes indiquées dans ce chapitre sont valables dans tous
+les cas.
+
 
 @menu
 * Du papier et des pages::
 * Réduction du nombre de pages de la partition::
 @end menu
 
+@cindex ragged, aligné
+@cindex aligné, ragged
+
+@warning{Vous verrez au fil de ce chapitre apparaître certains termes
+dont la traduction vous semblera assurément erronée.  Il n'en est
+cependant rien@tie{}: certains termes techniques ont une histoire
+particulière selon leur langue d'origine.  Ainsi, le vocable anglais
+@emph{Ragged} signifie en lambeau, en loques@tie{}; dans l'univers
+typographique, un maître français voit un alignement à gauche -- il dira
+@qq{au fer à gauche} -- alors que son homologue anglophone constate un
+@emph{ragged-right} -- donc du vide à droite.}
+
+
 @node Du papier et des pages
 @section Du papier et des pages
-@translationof Paper and pages @c external
-
-@untranslated
+@translationof Paper and pages
 
+Nous allons examiner ici le bornage -- ce qui détermine l'espace que
+pourra occuper la musique sur une feuille.
 
 @menu
 * Format du papier::
 
 @node Format du papier
 @subsection Format du papier
-@translationof Paper size @c external
+@translationof Paper size
 
-@untranslated
+@cindex papier, taille
+@cindex page, format
 
+Le format du papier est déterminé par deux fonctions différentes@tie{}:
+@code{set-default-paper-size} et @code{set-paper-size}.
+@code{set-default-paper-size} se place en tête de fichier, alors que
+@code{set-paper-size} se place à l'intérieur d'un bloc
+@code{\paper}@tie{}:
 
-@node Mise en forme de la page
-@subsection Mise en forme de la page
-@translationof Page formatting @c external
+@example
+#(set-default-paper-size "a4")
+@end example
 
-@untranslated
+@example
+\paper @{
+  #(set-paper-size "a4")
+@}
+@end example
 
+@noindent
+@code{set-default-paper-size} fixe le format pour toutes les pages,
+alors que @code{set-paper-size} détermine le format des feuilles
+rattachées à un bloc @code{\paper} particulier.  Ainsi, lorsque le bloc
+@code{\paper} se trouve en tête de fichier, le format du papier
+s'appliquera à toutes les pages@tie{}; si @code{\paper} apparaît dans un
+bloc @code{\book}, la taille ne s'appliquera qu'au @emph{book} en
+question.
 
-@node Mise en forme de la musique
-@section Mise en forme de la musique
-@translationof Music layout @c external
+Les formats @code{a4}, @code{letter}, @code{legal} et @code{11x17} (ou
+tabloïde) sont couramment utilisés pour les éditions musicales.  Bien
+d'autres formats sont disponibles et sont répertoriés à la rubrique
+@code{paper-alist} du fichier d'initialisation @file{scm/@/paper@/.scm}.
 
-@untranslated
+@c TODO add a new appendix for paper sizes (auto-generated) -pm
 
+@warning{Par défaut, le papier est au format A4 (codé @code{a4}).}
 
-@menu
-* Définition de la taille de portée::
-* Mise en forme de la partition::
-@end menu
+Rien ne vous empèche d'ajouter un format de papier inhabituel à la
+rubrique @code{paper-alist} du fichier @file{scm/@/paper@/.scm}.  Sachez
+cependant que celui-ci est écrasé à chaque mise à jour de LilyPond.
 
-@node Définition de la taille de portée
-@subsection Définition de la taille de portée
-@translationof Setting the staff size @c external
+@cindex orientation
+@cindex landscape
+@cindex paysage, papier
+@cindex à l'italienne, papier
 
-@untranslated
+Le fait d'ajouter l'argument @code{'landscape} à l'instruction
+@code{set-default-paper-size} permet d'obtenir une présentation à
+l'italienne -- ou paysage si vous préférez -- et donc des lignes plus
+longues.
 
+@example
+#(set-default-paper-size "a6" 'landscape)
+@end example
 
-@node Mise en forme de la partition
-@subsection Mise en forme de la partition
-@translationof Score layout @c external
+La définition du format de papier influe sur un certain nombre de
+variables comme entre autres les marges.  Nous vous invitons à toujours
+spécifier, dans le bloc @code{\paper}, le format de page avant toute
+autre variable.
 
-@untranslated
 
+@seealso
+Fichiers d'initialisation :
+@file{scm/@/paper@/.scm}.
 
-@node Sauts
-@section Sauts
-@translationof Breaks @c external
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@node Mise en forme de la page
+@subsection Mise en forme de la page
+@translationof Page formatting
+
+@funindex \paper
 
-@untranslated
+Les marges, entê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
-* Sauts de ligne::
-* Sauts de page::
-* Optimisation des sauts de page::
-* Optimisation des tournes::
-* Minimisation des sauts de page::
-* Sauts explicites::
-* Recours à une voix supplémentaire pour gérer les sauts::
+* Dimensionnement vertical fixe::
+* Dimensionnement vertical fluctuant::
+* Dimensionnement horizontal::
+* Autres variables de mise en page::
 @end menu
 
-@node Sauts de ligne
-@subsection Sauts de ligne
-@translationof Line breaking @c external
 
-@untranslated
+@node Dimensionnement vertical fixe
+@unnumberedsubsubsec Dimensionnement vertical fixe
+@translationof Fixed vertical dimensions
 
+@table @code
+@item paper-height
+@funindex paper-height
 
-@node Sauts de page
-@subsection Sauts de page
-@translationof Page breaking @c external
+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.
 
-@untranslated
+@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}.
 
-@node Optimisation des sauts de page
-@subsection Optimisation des sauts de page
-@translationof Optimal page breaking @c external
+@item bottom-margin
+@funindex bottom-margin
 
-@untranslated
+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
 
-@node Optimisation des tournes
-@subsection Optimisation des tournes
-@translationof Optimal page turning @c external
 
-@untranslated
+@node Dimensionnement vertical fluctuant
+@unnumberedsubsubsec Dimensionnement vertical fluctuant
+@translationof Flexible vertical dimensions
 
+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.
 
-@node Minimisation des sauts de page
-@subsection Minimisation des sauts de page
-@translationof Minimal page breaking @c external
+Gardez à l'esprit que les variables du bloc @code{\paper} dont nous
+parlons ici n'influencent en rien l'espacement des portées d'un même
+système.  L'espacement au sein des systèmes est géré par des propriétés
+attachées à des objets graphiques (@emph{grobs}) qui, elles, se
+définissent au niveau du bloc @code{\score} -- voir à ce sujet
+@ref{Espacement vertical au sein d'un système}.
 
-@untranslated
 
+@subsubheading Structure des variables d'espacement du bloc @code{\paper}
+@translationof Structure of spacing alists for @code{\paper} variables
 
-@node Sauts explicites
-@subsection Sauts explicites
-@translationof Explicit breaks @c external
+Chacune de ces variables est constituée d'une liste associative à quatre
+@i{clés}@tie{}:
 
-@untranslated
+@itemize
+@item @code{padding} (@emph{décalage}) -- la grandeur minimale de
+@qq{blanc} qui sépare deux éléments, exprimée en hauteur de portée.  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{space} (@emph{espace}) -- la grandeur d'espace par défaut,
+exprimée en hauteur de portée, 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 du
+@code{StaffSymbol} le plus proche -- même lorsqu'une ligne de
+@qq{non-portée} se trouverait au milieu.  Un @code{space} inférieur à
+@code{padding} ou @code{minimum-distance} sera sans effet, dans la
+mesure où l'espacement résultant ne saurait être inférieur à
+@code{padding} ou @code{minimum-distance}.
+
+@item @code{minimum-distance} (@emph{distance-minimale}) -- l'espacement
+minimal, exprimé en hauteur de portée, entre les points de référence des
+deux éléments alors qu'il y a déjà un effet de compression.  Une
+@code{minimum-distance} inférieure à la valeur du @code{padding} sera
+sans effet, dans la mesure où l'espacement résultant ne saurait être
+inférieur au @code{padding}.
+
+@item @code{stretchability} (@emph{dilatation}) -- 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.  Il ne saurait être négatif.  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
 
-@node Recours à une voix supplémentaire pour gérer les sauts
-@subsection Recours à une voix supplémentaire pour gérer les sauts
-@translationof Using an extra voice for breaks @c external
+Lorsque l'impression n'est pas en pleine page -- elle est donc
+@emph{ragged bottom} pour les anglophones -- l'élément @code{space}
+n'est pas étiré. Les hauteurs sur une telle page correspondront donc au
+maximum de
 
-@untranslated
+@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
 
+Les manières de modifier des listes associatives font l'objet d'un
+@rusernamed{Modification de listes associatives,chapitre spécifique}.
+Les variables d'espacement associées au papier ne peuvent se gérer que
+dans un bloc @code{\paper}.
 
-@node Espacement vertical
-@section Espacement vertical
-@translationof Vertical spacing @c external
+L'exemple suivant indique deux façons de modifier une liste associative.
+La première déclaration intervient sur une seule clé, alors que la
+deuxième redéfinit complètement la variable.
 
-@untranslated
+@example
+\paper @{
+  system-system-spacing #'space = #8
 
+  score-system-spacing =
+    #'((padding . 1)
+       (space . 12)
+       (minimum-distance . 6)
+       (stretchability . 12))
+@}
+@end example
 
-@menu
-* Espacement vertical au sein d'un système::
-* Espacement vertical entre les systèmes::
-* Positionnement explicite des portées et systèmes::
-* Optimisation du remplissage avec un deuxième passage::
-* Résolution des collisions verticales::
-@end menu
+Les valeurs par défaut de ces variables sont répertoriés dans le
+fichier @file{ly/paper-defaults-init.ly}.
 
-@node Espacement vertical au sein d'un système
-@subsection Espacement vertical au sein d'un système
-@translationof Vertical spacing inside a system @c external
 
-@untranslated
+@subsubheading Variables de dimensionnement fluctuant du bloc @code{\paper}
+@translationof Flexible vertical dimension @code{\paper} variables
 
+Le nom des dimensionnements à hauteur variable sont de la forme
+@code{@var{upper}-@var{lower}-spacing}, où @code{@var{upper}} et
+@code{@var{lower}} représentent les éléments qui doivent être espacés.
+La distance s'établit entre les points de référence des deux éléments
+concernés@tie{}: le sommet pour un titre ou un @emph{markup}, la ligne
+médiane de la portée la plus proche pour un système.  Notez bien que,
+dans les règles de nommage des variables qui suivent, le terme
+@code{markup} fait référence aussi bien à un @i{markup de titrage}
+(@code{bookTitleMarkup} ou @code{scoreTitleMarkup}) qu'à un
+@i{markup de haut niveau} (voir @ref{Structure de fichier}).
 
-@node Espacement vertical entre les systèmes
-@subsection Espacement vertical entre les systèmes
-@translationof Vertical spacing between systems @c external
+Voici à présent les différentes variables disponibles@tie{}:
 
-@untranslated
+@table @code
+@item markup-system-spacing
+@funindex markup-system-spacing
 
+détermine l'espacement entre un titre ou un @emph{markup} de premier
+niveau, et le système qui le suit.
 
-@node Positionnement explicite des portées et systèmes
-@subsection Positionnement explicite des portées et systèmes
-@translationof Explicit staff and system positioning @c external
+@item score-markup-spacing
+@funindex score-markup-spacing
 
-@untranslated
+détermine l'espacement entre le dernier système et le titre ou
+@emph{markup} de haut niveau qui le suit.
 
+@item score-system-spacing
+@funindex score-system-spacing
 
-@node Optimisation du remplissage avec un deuxième passage
-@subsection Optimisation du remplissage avec un deuxième passage
-@translationof Two-pass vertical spacing @c external
+détermine l'espacement entre le dernier système d'une partition et le
+premier système de la partition suivante, en l'absence de titrage ou
+@emph{markup} qui les sépare.
 
-@untranslated
+@item system-system-spacing
+@funindex system-system-spacing
 
+détermine l'espacement entre deux systèmes d'un même mouvement.
 
-@node Résolution des collisions verticales
-@subsection Résolution des collisions verticales
-@translationof Vertical collision avoidance @c external
+@item markup-markup-spacing
+@funindex markup-markup-spacing
 
-@untranslated
+détermine l'espacement entre deux titres ou @emph{markups} de premier
+niveau.
 
+@item last-bottom-spacing
+@funindex last-bottom-spacing
 
-@node Espacement horizontal
-@section Espacement horizontal
-@translationof Horizontal spacing @c external
+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.
 
-@untranslated
+@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 ou @emph{markup} de premier niveau
+en haut de page.
 
-@menu
-* Généralités sur l'espacement horizontal::
-* Changement d'espacement au cours de la partition::
-* Modification de l'espacement horizontal::
-* Longueur de ligne::
-* Notation proportionnelle::
-@end menu
+@item top-markup-spacing
+@funindex top-markup-spacing
 
-@node Généralités sur l'espacement horizontal
-@subsection Généralités sur l'espacement horizontal
-@translationof Horizontal spacing overview @c external
+détermine l'espace entre le haut de la surface imprimable (le bas de la
+marge haute) et le premier titre ou @emph{markup} de premier niveau.
+Cette variable n'est effective qu'en l'absence de système en haut de
+page.
 
-@untranslated
+@end table
 
 
-@node Changement d'espacement au cours de la partition
-@subsection Changement d'espacement au cours de la partition
-@translationof New spacing area @c external
+@snippets
 
-@untranslated
+L'entê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.
 
-@node Modification de l'espacement horizontal
-@subsection Modification de l'espacement horizontal
-@translationof Changing horizontal spacing @c external
+Vous pouvez définir toutes ces valeurs -- en @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 @code{2@tie{}cm} de ce qui suit doit être
+précédée du signe multiplier.
 
-@untranslated
+@example
+\paper @{
+ #(define bottom-margin (* 2 cm))
+@}
+@end example
 
 
-@node Longueur de ligne
-@subsection Longueur de ligne
-@translationof Line length @c external
+Exemple :
 
-@untranslated
+@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{}:
 
-@node Notation proportionnelle
-@subsection Notation proportionnelle
-@translationof Proportional notation
+@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
 
-Les notes peuvent s'espacer proportionnellement en assignant une durée
-à @code{proportionalNotationDuration}
 
-@lilypond[quote,ragged-right,verbatim,relative=2,fragment]
-<<
-  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
-  \new Staff { c8[ c c c c c]  c4 c2 r2 }
-  \new Staff { c2  \times 2/3 { c8 c c } c4 c1 }
->>
-@end lilypond
+@seealso
+Manuel de notation :
+@ref{Espacement vertical entre les systèmes}.
 
-Manipuler cette propriété affectera l'espacement idéal uniquement pour
-des notes consécutives.  Pour obtenir une véritable notation
-proportionnelle, vous devrez tenir compte des réglages suivants :
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
 
-@itemize @bullet
 
-@item La véritable notation proportionnelle exige que des symboles
-puissent en écraser d'autres.  Pour y parvenir, il faut retirer le
-@rinternals{Separating_line_group_engraver} du contexte
-@rinternals{Staff}. 
+@node Dimensionnement horizontal
+@unnumberedsubsubsec Dimensionnement horizontal
+@translationof Horizontal dimensions
 
-@item L'influence en matière d'espacement induite par le formatage
-(clés, barres de mesure, etc) s'annule en assignant
-@emph{vrai}@tie{}(#t) à la propriété @code{strict-note-spacing} de
-l'objet @rinternals{SpacingSpanner}.
+Certaines variables permettent de gérer les dimensionnements
+horizontaux de la page@tie{}:
 
-@item Les affinages optiques se règlent en assignant @emph{vrai} à la
-propriété @code{uniform-stretching} du @rinternals{SpacingSpanner}. 
+@table @code
 
-@end itemize
+@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
+effective 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}.
 
-@seealso
-Exemples : @rlsr{Spacing}.
+@item horizontal-shift
+@funindex horizontal-shift
 
-Le fichier @file{input/proportional.ly} illustre la notation
-proportionnelle stricte.
+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
 
-@node Réduction du nombre de pages de la partition
-@section Réduction du nombre de pages de la partition
-@translationof Fitting music onto fewer pages
+Le niveau d'indentation du premier système d'une partition.  La valeur
+par défaut est de@tie{}@code{15\mm}.
 
-@menu
-* Mise en évidence de l'espacement::
-* Modification de l'espacement::
-@end menu
+@item inner-margin
+@funindex inner-margin
 
-@node Mise en évidence de l'espacement
-@subsection Mise en évidence de l'espacement
-@translationof Displaying spacing @c external
+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
+effective 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}.
 
-@untranslated
+@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}.
 
-@node Modification de l'espacement
-@subsection Modification de l'espacement
-@translationof Changing spacing
+@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 effective 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
 
-Parfois, une partition peut se terminer avec seulement 
-un ou deux systèmes sur la dernière page. Ceci peut être ennuyeux
-surtout si vous constatez, en regardant les pages précédentes, qu'il
-reste encore beaucoup de place sur celles-ci.
+La largeur de la page.  Elle correspond par défaut à la largeur du
+format de papier utilisé -- voir à ce sujet la rubrique
+@ref{Format du papier}.
 
-Si vous vous intéressez aux problèmes de mise en page,
-@code{annotate-spacing} peut alors être un outil d'une valeur
-inestimable.  Cette commande imprime les valeurs 
-de nombreuses commandes d'espacement concernant la mise en page.  
-Consultez @ref{Mise en évidence de l'espacement} pour de plus amples informations.  À l'aide 
-des informations données par @code{annotate-spacing}, on peut 
-voir quelles marges il est souhaitable de modifier afin de résoudre le
-problème.
+@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}.
 
-En plus d'agir sur les marges, il existe d'autres possibilités
-qui permettent de gagner de la place.
+@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
-Demander à LilyPond de placer les systèmes aussi 
-près que possible les uns des autres (pour en disposer autant
-que possible sur une page), tout en répartissant les systèmes afin
-de ne pas laisser de blanc en bas de la dernière page.
+@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 @{
-  between-system-padding = #0.1
-  between-system-space = #0.1
-  ragged-last-bottom = ##f
-  ragged-bottom = ##f
+  left-margin = 30\mm
 @}
 @end example
 
-@item
-Obliger LilyPond à mettre un certain nombre de systèmes
-par page.  Par exemple, si LilyPond veut placer onze systèmes dans une page,
-vous pouvez l'obliger à n'en mettre que dix.
+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 @{
-  system-count = #10
+  line-width = 150\mm
 @}
 @end example
 
-@item
-Supprimer (ou réduire) les objets qui augmentent la hauteur du
-système.  C'est le cas en particulier de certaines reprises (avec des 
-alternatives) qui placent des crochets au dessus des portées. Si ces crochets 
-de reprise se poursuivent sur deux systèmes, ils prendront plus de
-place que s'ils sont regroupés sur un même système.
+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.
 
-Un autre exemple : déplacer les nuances qui @qq{débordent} d'un système.
+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.
 
-@lilypond[verbatim,quote,fragment]
-\relative c' {
-  e4 c g\f c
-  \override DynamicLineSpanner #'padding = #-1.8
-  \override DynamicText #'extra-offset = #'( -2.1 . 0)
-  e4 c g\f c
-}
-@end lilypond
+@example
+\paper @{
+  paper-width = 210\mm
+  left-margin = 20\mm
+  right-margin = 30\mm
+  line-width = 100\mm
+@}
+@end example
 
-@item
-Modifier l'espacement vertical avec @code{SpacingSpanner}.  Reportez-vous à
-@ref{Modification de l'espacement horizontal} pour plus de détails.
+Ces contrôles peuvent se désactiver en définissant la propriété
+@code{check-consistency} à faux@tie{}:
 
-@lilypond[verbatim,quote]
-\score {
-  \relative c'' {
-    g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
-    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
-    d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
-    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
+@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 de
+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
+@funindex 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
+@funindex min-systems-per-page
+
+Le nombre minimal de systèmes qu'une page pourra comporter.  Attention
+cependant aux risques de débordement 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-system-system-spacing
+@funindex page-breaking-system-system-spacing
+
+Cette variable permet de @qq{tromper} l'algorithme de gestion des sauts
+de page quant à la valeur de @code{system-system-spacing}.  Ainsi,
+lorsque @code{page-breaking-system-system-spacing #'padding} a une
+valeur nettement supérieure à @code{system-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-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 activé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 hormis 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 à 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 }
   }
-  \layout {
-    \context {
-      \Score
-      \override SpacingSpanner
-                #'base-shortest-duration = #(ly:make-moment 1 4)
-    }
+  \paper {
+    system-separator-markup = \slashSeparator
   }
 }
 @end lilypond
 
-@end itemize
+@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 gouttière
+@cindex reliure
+
+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 à part entière@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.
+
+
+@node Mise en forme de la musique
+@section Mise en forme de la musique
+@translationof Music layout
+
+@menu
+* Définition de la taille de portée::
+* Mise en forme de la partition::
+@end menu
+
+
+@node Définition de la taille de portée
+@subsection Définition de la taille de portée
+@translationof Setting the staff size
+
+@cindex fonte, définition de la taille
+@cindex portée, définition de la taille
+@funindex layout file
+
+La @strong{taille de portée} (@emph{staff size}) est fixée par défaut à
+20@tie{}points.  Il existe deux manières de la modifier@tie{}:
+
+La taille des portées peut se définir globalement pour toutes les
+partitions d'un même fichier, ou plus précisément d'un bloc
+@code{\book}, à l'aide de @code{set-global-staff-size}.
+
+@example
+#(set-global-staff-size 14)
+@end example
+
+@noindent
+Ceci définit donc la hauteur des portées à 14@tie{}points par
+défaut@tie{}; toutes les fontes seront ajustées en conséquence.
+
+
+Vous pouvez aussi spécifier une taille à une partition en particulier en
+procédant comme ci-dessous@tie{}:
+
+@example
+\score@{
+  ...
+  \layout@{
+  #(layout-set-staff-size 15)
+  @}
+@}
+@end example
+
+La fonte Feta fournit les symboles musicaux dans huit tailles
+différentes.  Chaque fonte correspond à une hauteur particulière de
+portée@tie{}; les petites tailles comportent des symboles plus épais
+pour correspondre à l'épaisseur relativement plus importante des lignes
+de la portée.  Le tableau suivant répertorie les différentes tailles de
+police.
+
+@quotation
+@multitable @columnfractions .15 .2 .22 .2
+
+@item @b{nom de la fonte}
+@tab @b{hauteur de portée (pt)}
+@tab @b{hauteur de portée (mm)}
+@tab @b{utilisation}
+
+@item feta11
+@tab 11,22
+@tab 3,9
+@tab format de poche
+
+@item feta13
+@tab 12,60
+@tab 4,4
+@tab
+
+@item feta14
+@tab 14,14
+@tab 5,0
+@tab
+
+@item feta16
+@tab 15,87
+@tab 5,6
+@tab
+
+@item feta18
+@tab 17,82
+@tab 6,3
+@tab carnet de chant
+
+@item feta20
+@tab 20
+@tab 7,0
+@tab partition standard
+
+@item feta23
+@tab 22,45
+@tab 7,9
+@tab
+
+@item feta26
+@tab 25,2
+@tab 8,9
+@tab
+@c modern rental material?
+
+@end multitable
+@end quotation
+
+Ces fontes sont disponibles à toutes les tailles.  La propriété de
+contexte @code{fontSize} ainsi que la propriété de mise en forme
+@code{staff-space} (voir @rinternals{StaffSymbol}) permettent d'ajuster
+individuellement la taille de chaque portée.  La taille de chacune des
+portées est relative à la taille globale.
+
+
+@seealso
+Manuel de notation :
+@ref{Indication de la taille de fonte musicale}.
+
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@knownissues
+
+@code{layout-set-staff-size} ne modifie en rien l'espacement entre les
+lignes d'une portée.
+
+
+@node Mise en forme de la partition
+@subsection Mise en forme de la partition
+@translationof Score layout
+
+@funindex \layout
+
+Alors que @code{\paper} définit le formatage des pages pour
+l'intégralité du document, @code{\layout} s'occupe de la mise en forme
+spécifique à la partition.
+
+@example
+\layout @{
+  indent = 2.0\cm
+  \context @{ \Staff
+    \override VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 6)
+  @}
+  \context @{ \Voice
+    \override TextScript #'padding = #1.0
+    \override Glissando #'thickness = #3
+  @}
+@}
+@end example
+
+
+@seealso
+Manuel de notation :
+@ref{Modification des réglages par défaut d'un contexte}.
+
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@node Sauts
+@section Sauts
+@translationof Breaks
+
+@menu
+* Sauts de ligne::
+* Sauts de page::
+* Optimisation des sauts de page::
+* Optimisation des tournes::
+* Minimisation des sauts de page::
+* Sauts explicites::
+* Recours à une voix supplémentaire pour gérer les sauts::
+@end menu
+
+@node Sauts de ligne
+@subsection Sauts de ligne
+@translationof Line breaking
+
+@cindex saut de ligne
+@cindex ligne, passer à la suivante
+
+Les sauts de ligne sont normalement gérés de façon automatique.  Ils
+interviennent de telle sorte qu'une ligne ne soit ni trop resserrée, ni
+trop aérée, et que des lignes consécutives aient à peu près la même
+densité.  Il arrive parfois que LilyPond n'ait pas judicieusement placé
+un saut de ligne@tie{}; il suffit alors d'insérer l'instruction
+@code{\break} à l'endroit où vous le jugez utile pour @qq{forcer} le
+passage à la ligne suivante, en gardant à l'esprit qu'il ne saurait
+intervenir au beau milieu d'une mesure.  Autrement dit, un saut de ligne
+ne peut se placer que sur une barre, à la fin d'une mesure complète.  Si
+d'aventure vous voulez forcer un saut de ligne en l'absence de barre de
+mesure, vous devrez auparavant insérer une barre invisible -- à l'aide
+de @code{\bar@tie{}""} -- et vous assurer qu'aucune portée n'a de note
+en cours à ce moment précis, auquel cas le saut en question sera tout
+simplement ignoré.
+
+L'instruction opposée, @code{\noBreak}, interdira toute tentative de
+saut de ligne à la fin de la mesure où elle est explicitée.
+
+LilyPond dispose de deux variables de base pour influencer l'espacement
+au niveau des lignes.  Toutes deux se définissent dans un bloc
+@code{\layout}, @code{indent} réglant l'indentation de la première
+ligne, et @code{line-width} la longueur des lignes.
+
+L'activation du commutateur @code{ragged-right} au sein du bloc
+@code{\layout} aura pour effet de terminer les système là où il le
+feraient normalement plutôt que de les étirer sur toute la longueur de
+la ligne.  Ceci est particulièrement utile pour de petits fragments ou
+pour vérifier la densité induite par l'espacement naturel.
+
+@c TODO Check and add para on default for ragged-right
+
+Le commutateur @code{ragged-last} est équivalent à @code{ragged-right},
+à ceci près qu'il n'affecte que la dernière ligne de la pièce.
+
+@example
+\layout @{
+indent = #0
+line-width = #150
+ragged-last = ##t
+@}
+@end example
+
+
+
+@cindex sauts de ligne régliers
+@cindex portée à quatre mesures
+
+L'utilisation conjointe de @code{\break} et de blancs dans une section
+@code{\repeat} vous permettra de positionner des sauts de ligne à
+intervalle régulier.  Par exemple, les 28 mesures de ce qui suit seront
+coupées toutes les quatre mesures, pas ailleurs@tie{}:
+
+@example
+<< \repeat unfold 7 @{
+         s1 \noBreak s1 \noBreak
+         s1 \noBreak s1 \break @}
+   @emph{en avant la musique !}
+>>
+@end example
+
+@ignore
+Apparemment, je ne vois pas de "snippet" qui corresponde,
+à moins que ce ne soit pour allécher vers la section
+"4.6 Fitting music onto fewer pages" -JCM
+@c TODO Check this
+A linebreaking configuration can be saved as a @code{.ly} file
+automatically.  This allows vertical alignments to be stretched to
+fit pages in a second formatting run.  This is fairly new and
+complicated.  More details are available in
+@rlsr{Spacing}.
+@end ignore
+
+@predefined
+@funindex \break
+@code{\break},
+@funindex \noBreak
+@code{\noBreak}.
+@endpredefined
+
+
+@seealso
+Référence des propriétés internes :
+@rinternals{LineBreakEvent}.
+
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@knownissues
+
+Un saut de ligne ne peut intervenir qu'au moment d'une barre de mesure.
+Une note qui resterait en suspend faussera la mesure comme vous pouvez
+le constater ci-dessous.
+
+@lilypond[quote,ragged-right,relative=2,verbatim]
+c4 c2 << c2 {s4 \break } >>  % this does nothing
+c2 c4 |           % a break here would work
+c4 c2 c4 ~ \break % as does this break
+c4 c2 c4
+@end lilypond
+
+Le seul moyen d'obtenir ce que vous voulez en pareil cas consiste à
+désactiver le @code{Forbid_line_break_engraver}.  Notez bien que les
+sauts de ligne forcés doivent être saisis au sein d'une expression
+polyphonique@tie{}:
+
+@lilypond[quote,ragged-right,relative=2,verbatim]
+\new Voice \with {
+  \remove Forbid_line_break_engraver
+} {
+  c4 c2 << c2 {s4 \break } >>  % now the break is allowed
+  c2 c4
+}
+@end lilypond
+
+Selon le même principe, un saut de ligne ne peut intervenir alors qu'une
+ligature s'étend sur deux mesures consécutives.  Il faut en ce cas là
+introduire la dérogation @code{\override Beam #'breakable = ##t}.
+
+
+@node Sauts de page
+@subsection Sauts de page
+@translationof Page breaking
+
+La gestion automatique des sauts de page se contrôle à l'aide des
+commandes @code{\pageBreak} et @code{\noPageBreak}. Ces commandes
+fonctionnent de manière analogue à @code{\break} et @code{\noBreak} pour
+les sauts de ligne et se placent donc au moment d'une barre de mesure.
+Elles permettent de forcer, ou d'interdire, un saut de page à l'endroit
+indiqué.  Comme on peut s'y attendre, @code{\pageBreak} force le saut de
+ligne.
+
+Les commandes @code{\pageBreak} et @code{\noPageBreak} peuvent se
+trouver à des niveaux supérieurs, entre deux partitions ou
+@emph{markups} de premier rang.
+
+Tout comme @code{ragged-right} et @code{ragged-last} qui permettent de
+gérer la répartition horizontale, LilyPond dispose de commutateurs
+équivalents au niveau de la verticalité@tie{}: @code{ragged-bottom} et
+@code{ragged-last-bottom}.  Lorsqu'ils sont tous deux activés --
+affectés de @code{##t} -- les systèmes ne seront pas répartis sur les
+pages y compris la dernière.
+
+Pour de plus amples détails, reportez-vous à @ref{Espacement vertical}.
+
+Les sauts de page sont générés par la fonction @code{page-breaking}.
+LilyPond dispose de trois différents algorithmes en la matière@tie{}:
+@code{ly:optimal-breaking}, @code{ly:page-turn-breaking} et
+@code{ly:minimal-breaking}.  C'est @code{ly:optimal-breaking} qui est
+activé par défaut, mais rien ne vous empèche d'en changer, par
+l'intermédiaire du bloc @code{\paper}@tie{}:
+
+@example
+\paper@{
+  #(define page-breaking ly:page-turn-breaking)
+@}
+@end example
+
+@funindex \bookpart
+
+Losqu'un ouvrage contient plusieurs partitions et un certain nombre de
+pages, la gestion des sauts de page finit par devenir très gourmande,
+tant au niveau du processeur que de la mémoire.  Vous pouvez cependant
+alléger la charge en recourant à des blocs @code{\bookpart} afin de
+sectionner l'ouvrage que vous traitez@tie{}; les sauts de pages seront
+alors gérés individuellement au niveau de chacune des parties.  Par
+ailleurs, cela vous autorisera une gestion différente selon les
+sections.
+
+@example
+\bookpart @{
+  \header @{
+    subtitle = "Préface"
+  @}
+  \paper @{
+     %% Pour une partie constituée principalement de texte
+     %% ly:minimal-breaking est plus judicieux.
+     #(define page-breaking ly:minimal-breaking)
+  @}
+  \markup @{ @dots{} @}
+  @dots{}
+@}
+\bookpart @{
+  %% Cette partie étant purment musicale,
+  %% retour au style par défaut (optimal-breaking).
+  \header @{
+    subtitle = "Premier mouvement"
+  @}
+  \score @{ @dots{} @}
+  @dots{}
+@}
+@end example
+
+
+@predefined
+@funindex \pageBreak
+@code{\pageBreak},
+@funindex \noPageBreak
+@code{\noPageBreak}.
+@endpredefined
+
+
+@seealso
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@node Optimisation des sauts de page
+@subsection Optimisation des sauts de page
+@translationof Optimal page breaking
+
+@funindex ly:optimal-breaking
+
+LilyPond, pour déterminer où placer un saut de page, utilise par défaut
+la fonction @code{ly:optimal-breaking}.  Celle-ci tend à trouver une
+rupture qui évite d'obtenir à la fois une page trop dense ou exagérément
+aérée.  Contrairement à la fonction @code{ly:page-turn-breaking}, elle
+n'a aucune notion de ce qu'est une @qq{tourne}.
+
+
+@seealso
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@node Optimisation des tournes
+@subsection Optimisation des tournes
+@translationof Optimal page turning
+
+@funindex ly:page-turn-breaking
+
+Aboutir à une configuration des sauts de page de telle sorte que les
+pages de droite se terminent toujours par un silence devient souvent une
+nécessité.  En effet, l'exécutant pourra alors tourner la page sans
+risquer de manquer des notes.  La fonction @code{ly:page-turn-breaking}
+tend à trouver une rupture qui évite d'obtenir à la fois une page trop
+dense ou exagérément aérée, tout en tenant compte du fait qu'une tourne
+ne saurait intervenir qu'à certains endroits.
+
+L'utilisation de cette fonction se fait en deux étapes.  Il vous faut
+tout d'abord l'activer au sein du bloc @code{\paper} comme indiqué à la
+rubrique @ref{Sauts de page}.  Vous devrez, dans un deuxième temps,
+informer la fonction des endroits où les sauts de page sont permis.
+
+Cette deuxième étape se réalise de deux manières différentes.  Vous
+pouvez spécifier manuellement chaque tourne potentielle en insérant un
+@code{\allowPageTurn} à l'endroit approprié de votre fichier source.
+
+Toutefois, cette option peut vite se révéler fastidieuse selon l'ampleur
+de l'œuvre.  Vous pouvez alors recourir au @code{Page_turn_engraver} que
+vous mentionnerez dans un contexte de voix ou de portée.  Ce graveur de
+tournes recherchera dans le contexte en question les passages sans note.
+Notez bien qu'il ne recherche pas des silences, mais l'absence de
+notes@tie{}; autrement dit, il ne restera pas inactif dans la cadre
+d'une portée polyphonique dont l'une des parties contiendrait des
+silences.  Lorsqu'il rencontre un fragement suffisament long ne
+contenant aucune note, il insère un @code{\allowPageTurn} à la barre
+terminant ce fragment, à moins qu'il ne rencontre en chemin une
+@qq{barre spéciale} -- telle une double barre -- auquel cas il y
+déposera le @code{\allowPageTurn}.
+
+@funindex minimumPageTurnLength
+
+Le @code{Page_turn_engraver} examine la propriété de contexte
+@code{minimumPageTurnLength} pour déterminer quelle doit être la
+longueur d'un fragement sans note avant une tourne.  La valeur par
+défaut de @code{minimumPageTurnLength} est
+@code{#(ly:make-moment@tie{}1@tie{}1)}, soit une ronde, et s'ajuste de
+la manière suivante@tie{}:
+
+@example
+\new Staff \with @{ \consists "Page_turn_engraver" @}
+@{
+  a4 b c d |
+  R1 | % une tourne peut se placer ici
+  a4 b c d |
+  \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
+  R1 | % il ne peut pas y avoir de tourne ici
+  a4 b r2 |
+  R1*2 | % une tourne peut se placer ici
+  a1
+@}
+@end example
+
+@funindex minimumRepeatLengthForPageTurn
+
+Le @code{Page_turn_engraver} tient compte des reprises.  C'est pourquoi
+il ne permettra une tourne que dans le cas où il y aura suffisamment de
+temps au début et à la fin de la reprise pour que l'exécutant ait le
+temps de revenir à la page précédente.  Le @code{Page_turn_engraver} est
+même capable d'interdire un tourne dans le cas d'une reprise de courte
+durée, ajustable au travers de la propriété de contexte
+@code{minimumRepeatLengthForPageTurn}.
+
+Les commandes de tourne -- @code{\pageTurn}, @code{\noPageTurn} et
+@code{\allowPageTurn} -- peuvent s'utiliser à des niveaux supérieurs,
+entre des blocs @code{\score} ou des @emph{markups} de haut niveau.
+
+
+@predefined
+@funindex \pageTurn
+@code{\pageTurn},
+@funindex \noPageTurn
+@code{\noPageTurn},
+@funindex \allowPageTurn
+@code{\allowPageTurn}.
+@endpredefined
+
+
+@seealso
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@knownissues
+
+Une partition ne devrait contenir qu'une seule instance du
+@code{Page_turn_engraver}, au risque de se contredire les uns les autres.
+
+
+@node Minimisation des sauts de page
+@subsection Minimisation des sauts de page
+@translationof Minimal page breaking
+
+@funindex ly:minimal-breaking
+
+La fonction @code{ly:minimal-breaking} est celle qui réalise le moins de
+calculs pour positionner les sauts de page.  Elle mettra le plus de
+systèmes possible sur une page avant de passer à la suivante.  On peut
+donc la préférer lorsque la partition s'étend sur beaucoup de pages ou
+lorsque les autres fonctions de gestion des sauts de page ralentissent
+nettement le traitement, sont trop gourmandes en mémoire ou qu'il y a
+beaucoup de texte.  Il suffit de la mentionner au sein du bloc
+@code{\paper}@tie{}:
+
+@example
+\paper @{
+  #(define page-breaking ly:minimal-breaking)
+@}
+@end example
+
+
+@seealso
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@node Sauts explicites
+@subsection Sauts explicites
+@translationof Explicit breaks
+
+Il arrive parfois que LilyPond rejette des @code{\break} ou des
+@code{\pageBreak} explicites.  Vous pouvez alors prendre le contrôle
+avex ces deux instructions dérogatoires@tie{}:
+
+@example
+\override NonMusicalPaperColumn #'line-break-permission = ##f
+\override NonMusicalPaperColumn #'page-break-permission = ##f
+@end example
+
+Lorsque vous désactivez @code{line-break-permission}, LilyPond
+ne passera à la ligne suivante qu'en présence d'un @code{\break}
+explicite, et nulle part ailleurs.  De la même façon, la désactivation
+de @code{page-break-permission} aura pour conséquence que LilyPond ne
+changera de page que lorsqu'il rencontrera un @code{\pageBreak}, et
+nulle part ailleurs.
+
+@lilypond[quote,verbatim]
+\paper {
+  indent = #0
+  ragged-right = ##t
+  ragged-bottom = ##t
+}
+
+\score {
+  \new Staff {
+    \repeat unfold 2 { c'8 c'8 c'8 c'8 } \break
+    \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
+    \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
+    \repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
+    \repeat unfold 8 { c'8 c'8 c'8 c'8 } \break
+    \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
+    \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
+    \repeat unfold 2 { c'8 c'8 c'8 c'8 }
+    }
+  \layout {
+    \context {
+      \Score
+      \override NonMusicalPaperColumn #'line-break-permission = ##f
+      \override NonMusicalPaperColumn #'page-break-permission = ##f
+    }
+  }
+}
+@end lilypond
+
+
+@seealso
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@node Recours à une voix supplémentaire pour gérer les sauts
+@subsection Recours à une voix supplémentaire pour gérer les sauts
+@translationof Using an extra voice for breaks
+
+La plupart du temps, les informations concernant les sauts de ligne ou
+de page se retrouvent directement au milieu des notes.
+
+@example
+\score @{
+  \new Staff @{
+    \repeat unfold 2 @{ c'4 c'4 c'4 c'4 @}
+    \break
+    \repeat unfold 3 @{ c'4 c'4 c'4 c'4 @}
+  @}
+@}
+@end example
+
+Bien que cela constitue un moyen aisé de saisir les commandes
+@code{\break} et @code{\pageBreak}, les données musicales se retrouvent
+mélangées à des informations qui concernent plutôt l'agencement de la
+musique sur le papier.  Vous pouvez tout à fait séparer ce qui est
+purement musical et les informations concernant les sauts de ligne ou de
+page en créant une voix supplémentaire dédiée.  Cette voix supécifique
+ne contiendra que des blancs -- des silences invisibles @code{\skip} --,
+des @code{\break}, des @code{\pageBreak} et autres informations
+concernant les ruptures.
+
+@lilypond[quote,verbatim]
+\score {
+  \new Staff <<
+    \new Voice {
+      s1 * 2 \break
+      s1 * 3 \break
+      s1 * 6 \break
+      s1 * 5 \break
+    }
+    \new Voice {
+      \repeat unfold 2 { c'4 c'4 c'4 c'4 }
+      \repeat unfold 3 { c'4 c'4 c'4 c'4 }
+      \repeat unfold 6 { c'4 c'4 c'4 c'4 }
+      \repeat unfold 5 { c'4 c'4 c'4 c'4 }
+    }
+  >>
+}
+@end lilypond
+
+Cette manière de procéder est tout à fait indiquée lorsque vous ajustez
+les @code{line-break-system-details} et autres propriétés fort
+intéressantes de @code{NonMusicalPaperColumnGrob}, comme vous pouvez
+le voir au chapitre @ref{Espacement vertical}.
+
+@lilypond[quote,verbatim]
+\score {
+  \new Staff <<
+    \new Voice {
+      \overrideProperty "Score.NonMusicalPaperColumn"
+        #'line-break-system-details #'((Y-offset . 0))
+      s1 * 2 \break
+
+      \overrideProperty "Score.NonMusicalPaperColumn"
+        #'line-break-system-details #'((Y-offset . 35))
+      s1 * 3 \break
+
+      \overrideProperty "Score.NonMusicalPaperColumn"
+        #'line-break-system-details #'((Y-offset . 70))
+      s1 * 6 \break
+
+      \overrideProperty "Score.NonMusicalPaperColumn"
+        #'line-break-system-details #'((Y-offset . 105))
+      s1 * 5 \break
+    }
+    \new Voice {
+      \repeat unfold 2 { c'4 c'4 c'4 c'4 }
+      \repeat unfold 3 { c'4 c'4 c'4 c'4 }
+      \repeat unfold 6 { c'4 c'4 c'4 c'4 }
+      \repeat unfold 5 { c'4 c'4 c'4 c'4 }
+    }
+  >>
+}
+@end lilypond
+
+
+@seealso
+Manuel de notation :
+@ref{Espacement vertical}.
+
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@node Espacement vertical
+@section Espacement vertical
+@translationof Vertical spacing
+
+@cindex vertical, espacement
+@cindex espacement vertical
+
+L'espacement vertical dépend de trois éléments@tie{}: la surface
+disponible -- par exemple format de papier et marges --, l'espace qui
+doit séparer les systèmes, et l'espace qui sépare les portées d'un même
+système.
+
+@menu
+* Espacement vertical au sein d'un système::
+* Positionnement explicite des portées et systèmes::
+* Résolution des collisions verticales::
+@end menu
+
+@node Espacement vertical au sein d'un système
+@subsection Espacement vertical au sein d'un système
+@translationof Flexible vertical spacing within systems
+
+@cindex distance entre les portées
+@cindex portées, espacement
+@cindex espacement entre les portées
+@cindex espacement au sein d'un système
+
+LilyPond dispose de trois différents mécanismes permettant de contrôler
+l'espacement au sein d'un système selon trois catégories@tie{}:
+
+@itemize
+@item @emph{portées isolées},
+@item @emph{portées regroupées} (portées d'un même groupe, telles celles
+d'un @code{ChoirStaff}, etc.), et
+@item @emph{lignes de non-portée} (@code{Lyrics}, @code{ChordNames},
+etc.).
+@end itemize
+
+@c TODO: Clarify this.  This almost implies that non-staff lines
+@c       have NO effect on the spacing between staves.  -mp
+
+La hauteur de chaque système se détermine en deux phases.  Les portées
+sont tout d'abord espacées selon la surface disponible.  Puis les lignes
+autres que des portées, comme les paroles ou les accords, sont réparties
+entre les portées.
+
+Les paragraphes qui suivent traitent exclusivement de la manière de
+gérer l'espacement entre les lignes d'un système -- portée musicale ou
+non.  Pour ce qui a trait aux espacements entre les systèmes,
+mouvements, annotations et marge, ils sont contrôlés par des variables
+attachées au bloc @code{\paper} et font l'objet du chapitre
+@ref{Dimensionnement vertical fluctuant}.
+
+@menu
+* Propriétés d'espacement au sein d'un système::
+* Espacement de portées isolées::
+* Espacement de portées regroupées::
+* Espacement des lignes rattachées à des portées::
+@end menu
+
+
+@node Propriétés d'espacement au sein d'un système
+@unnumberedsubsubsec Propriétés d'espacement au sein d'un système
+@translationof Within-system spacing properties
+
+L'espacement entre les portées est géré par deux jeux de propriétés
+d'objet graphique (@emph{grob}).  Le premier, associé à l'objet
+graphique @code{VerticalAxisGroup}, est créé pour toute ligne de portée
+ou de non-portée.  Le second, associé à l'objet graphique
+@code{StaffGrouper}, doit être explicitement créé pour un regroupement
+de portées particulier.  Les propriétés qui leur sont attachées sont
+abordées en fin de section.
+
+Le nom de ces propriétés, sauf @code{staff-affinity}, suit le schéma
+@code{@var{item1}-@var{item2}-spacing} -- @code{@var{item1}} et
+@code{@var{item2}} étant les éléments à espacer.  Notez bien que
+@code{@var{item2}} n'est pas forcément placé au-dessous@tie{}: c'est le
+cas pour la propriété @code{nonstaff-relatedstaff-spacing} qui spécifie
+la distance entre une ligne de non-portée alors que sa
+@code{staff-affinity} a été déterminée à @code{#UP}.
+
+Toutes ces distances sont mesurées entre les points de référence
+respectifs de éléments considérés.
+Le @i{point de référence} d'une portée est le centre vertical du
+@code{StaffSymbol} -- la ligne médiane si @code{line-count} est impair,
+l'interligne médian si @code{line-count} est pair.
+Quant aux lignes rattachées à des portées -- lignes de non-portée -- le
+tableau suivant présente le @i{point de référence} pour chacun d'entre
+eux@tie{}:
+
+@multitable {Non-staff line} {Reference point}
+@headitem Non-portée line @tab Point de référence
+@item @code{ChordNames}  @tab ligne de base
+@item @code{NoteNames}   @tab ligne de base
+@item @code{Lyrics}      @tab ligne de base
+@item @code{Dynamics}    @tab centre vertical
+@item @code{FiguredBass} @tab point le plus haut
+@item @code{FretBoards}  @tab ligne supérieure
+@end multitable
+
+En voici une représentation graphique@tie{}:
+
+@c KEEP LY
+@lilypond[quote,noragged-right,line-width=110\mm]
+#(define zero-space '((padding . -inf.0) (space . 0)))
+
+alignToZero = \with {
+  \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = #zero-space
+  \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = #zero-space
+}
+lowerCaseChords = \with {
+  chordNameLowercaseMinor = ##t
+}
+staffAffinityDown = \with {
+  \override VerticalAxisGroup #'staff-affinity = #DOWN
+}
+labelContext =
+#(define-music-function
+     (parser location context)
+     (string?)
+   #{ s1*0^\markup { \typewriter $context } #})
+
+\layout {
+  \context { \Dynamics    \alignToZero }
+  \context { \FiguredBass \alignToZero }
+  \context { \Lyrics      \alignToZero }
+  \context { \NoteNames   \alignToZero }
+  \context { \ChordNames  \alignToZero \lowerCaseChords }
+  \context { \FretBoards  \alignToZero \staffAffinityDown }
+  \context { \Score
+    \override BarLine #'stencil = ##f
+    \override DynamicText #'self-alignment-X = #-1
+    \override FretBoard #'X-offset = #1.75
+    \override InstrumentName #'minimum-Y-extent = #'(-2 . 2)
+    \override InstrumentName #'extra-offset = #'(0 . -0.5)
+    \override TextScript #'minimum-Y-extent = #'(-2 . 3)
+    \override TimeSignature #'stencil = ##f
+  }
+}
+
+%% Contextes dont le point de référence est la ligne de base :
+%%   ChordNames, NoteNames, et Lyrics
+<<
+  \new ChordNames { \chords { g1:m } }
+  \new NoteNames { s1 | g1 | }
+  \new RhythmicStaff {
+    \set RhythmicStaff.instrumentName = #"ligne de base (baseline) "
+    \textLengthOn
+    \labelContext "ChordNames" s1 |
+    \labelContext "NoteNames"  s1 |
+    \labelContext "Lyrics"     s1 |
+  }
+  \new Lyrics { \lyrics { \skip 1*2 | ghijk1 | } }
+>>
+
+%% Le point de référence de Dynamics est le milieu de la ligne
+<<
+  \new RhythmicStaff {
+    \set RhythmicStaff.instrumentName = #"centre vertical "
+    \labelContext "Dynamics" s1*3
+  }
+  \new Dynamics { s2\mp s\fp }
+>>
+
+%% Le point de référence de FiguredBass est son point le plus haut
+<<
+  \new RhythmicStaff {
+    \set RhythmicStaff.instrumentName = #"point le plus haut "
+    \labelContext "FiguredBass" s1
+  }
+  \new FiguredBass { \figuremode { <6 5>1 } }
+>>
+
+%% Le point de référence de FretBoards est la ligne du haut
+\include "predefined-guitar-fretboards.ly"
+<<
+  \new FretBoards { \chordmode { e1 } }
+  \new RhythmicStaff {
+    \set RhythmicStaff.instrumentName = #"ligne du haut "
+    \labelContext "FretBoards " s1
+  }
+>>
+@end lilypond
+
+Hormis @code{staff-affinity} -- propriété attachée au @emph{grob}
+@code{VerticalAxisGroup} --, chacune de ces propriétés est enregistrée
+sous la forme d'une liste associative dont les composantes sont
+identiques à celle des variables du bloc @code{\paper} que nous avons
+examinées au chapitre @ref{Dimensionnement vertical fluctuant}.
+
+Les particularités en matière de modification d'une liste associative
+font l'objet d'un
+@rusernamed{Modification de listes associatives,chapitre particulier}.
+Les propriétés des objets graphiques se règlent avec un @code{\override}
+mentionné dans un bloc @code{\score} ou @code{\layout}, pas dans le bloc
+@code{\paper}.
+
+L'exemple suivant illustre deux façons de modifier une liste
+associative.  La première déclaration n'agit que sur une seule clé,
+alors que la seconde redéfinit la propriété dans son intégralité.
+
+@example
+\new Staff \with @{
+  \override VerticalAxisGroup #'next-staff-spacing #'space = #10
+@} @{ @dots{} @}
+
+\new Staff \with @{
+  \override VerticalAxisGroup #'next-staff-spacing =
+    #'((padding . 1)
+       (space . 10)
+       (minimum-distance . 9)
+       (stretchability . 10))
+@} @{ @dots{} @}
+@end example
+
+La modification d'un espacement au niveau global se mentionne au sein du
+bloc @code{\layout}@tie{}:
+
+@example
+\layout @{
+  \context @{
+    \Staff
+    \override VerticalAxisGroup #'next-staff-spacing #'space = #10
+  @}
+@}
+@end example
+
+Les réglages concernant les propriétés d'espacement vertical des objets
+graphiques sont répertoriées aux chapitres
+@rinternals{VerticalAxisGroup} et @rinternals{StaffGrouper}.
+Les propriétés relatives aux lignes de non-portée sont répertoriées
+selon la définition de leur contexte dans la
+@rinternalsnamed{Contexts,Référence des propriétés internes}.
+
+
+@subsubheading Propriétés de l'objet @code{VerticalAxisGroup}
+@translationof Properties of the @code{VerticalAxisGroup} grob
+
+Les propriétés de l'objet @code{VerticalAxisGroup} s'ajustent à l'aide
+d'un @code{\override} au niveau d'un contexte @code{Staff} (ou son
+équivalent).
+
+@table @code
+@item staff-staff-spacing
+Il s'agit de la distance entre la portée en cours et la portée qui suit
+au sein du même regroupement, qu'il y ait ou non une ligne de non-portée
+(@code{Lyrics} ou autre) entre les deux.  Cette propriété ne s'applique
+pas à la dernière portée d'un système.  
+Cette propriété écrase les réglages hérités du @emph{grob}
+@code{StaffGrouper} d'un éventuel regroupement.  
+Lorsque @code{staff-staff-spacing} n'est pas défini et qu'il n'y a pas
+de @code{StaffGrouper} dont on pourrait hériter des propriétés, c'est la
+propriété @code{default-staff-staff-spacing} qui s'applique.
+
+@item default-staff-staff-spacing
+Il s'agit de la distance qui s'appliquera, dans le cas où
+@code{staff-staff-spacing} n'aura pas été défini, aussi bien pour les
+portées isolées que dans le cas où les portées d'un regroupement
+n'hériteraient pas des ajustements du @code{StaffGrouper} concerné.
+
+@item staff-affinity
+Il s'agit de la direction -- @code{UP}, @code{DOWN} ou @code{CENTER} --
+que prendra une ligne de non-portée pour aller s'accoler aux portées
+adjacentes .  Si vous lui attribuez @code{CENTER}, cette ligne de
+non-portée ira se placer à équidistance entre les portées qui
+l'encadrent, tout en tenant compte des éventuels risques de collision et
+des autres contraintes d'espacement.  Des lignes de non-portée
+adjacentes devraient avoir une @code{staff-affinity} allant de haut en
+bas -- autrement dit, pas de @code{UP} après un @code{DOWN}.
+Une ligne de non-portée en dessous d'un système devrait avoir sa
+@code{staff-affinity} définie à @code{UP}.  De la même manière, lorsque
+cette ligne surplombe un système, sa @code{staff-affinity} devrait être
+définie à @code{DOWN}.  Prenez garde à la valeur que vous affectez à
+@code{staff-affinity}@tie{}: si vous lui affectez la valeur @code{#f} à
+une ligne de non-portée, cette ligne sera considérée comme étant une
+portée@tie{}; à l'inverse, utiliser la propriété @code{staff-affinity}
+pour une portée lui fera perdre cette qualité.
+
+@c TODO: verify last clause below ("even if other...")
+
+@item nonstaff-relatedstaff-spacing
+Il s'agit de la distance entre la ligne de non-portée en cours et la
+portée la plus proche selon la @code{staff-affinity}, à la double
+condition qu'il n'y a pas déjà une autre ligne de non-portée et que la
+valeur de @code{staff-affinity} soit @code{UP} ou @code{DOWN}.  Lorsque
+la valeur de @code{staff-affinity} est égale à @code{CENTER}, la valeur
+de @code{nonstaff-relatedstaff-spacing} servira à centrer la ligne de
+non-portée entre les deux portées adjacentes même si une autre
+non-portée est présente (quelque soit le côté).
+
+@item nonstaff-nonstaff-spacing
+Il s'agit de la distance entre deux lignes de non-portée selon
+l'orientation définie par @code{staff-affinity} et qu'elles ont la même
+orientation.  Bien entendu, ceci ne peut concerner que les valeurs
+@code{UP} et @code{DOWN} de @code{staff-affinity}.
+
+@item nonstaff-unrelatedstaff-spacing
+Il s'agit de la distance entre une ligne de non-portée et la portée à
+l'opposé de l'orientation adoptée, à la double condition qu'il n'y a pas
+déjà une autre ligne de non-portée et que la valeur de
+@code{staff-affinity} soit @code{UP} ou @code{DOWN}.  Cette propriété
+trouve toute sa légitimité pour décaler une ligne de @code{Lyrics} de la
+portée à laquelle elle ne correspond pas.
+@end table
+
+
+@subsubheading Propriétés de l'objet @code{StaffGrouper}
+@translationof Properties of the @code{StaffGrouper} grob
+
+Les propriétés de l'objet @code{StaffGrouper} s'ajustent à l'aide
+d'un @code{\override} au niveau d'un contexte @code{StaffGroup} (ou son
+équivalent).
+
+@table @code
+@item staff-staff-spacing
+Il s'agit de la distance entre deux portées consécutives d'un même
+système.  Cependant, lorsque l'une des portées d'un regroupement s'est
+vue définir la propriété @code{staff-staff-spacing} de son
+@code{VerticalAxisGroup}, le @code{VerticalAxisGroup} aura préséance.
+Voir aussi la propriété @code{default-staff-staff-spacing}.
+
+@item staffgroup-staff-spacing
+Il s'agit de la distance entre la dernière portée d'un regroupement et
+la portée suivante, au sein d'un même système, y compris lorsqu'une ou
+plusieurs lignes de non-portée (tel @code{Lyrics}) s'insèrent entre les
+deux.  Cette propriété ne concerne pas la dernière portée d'un système.
+Dans le cas où la propriété @code{staff-staff-spacing} d'une portée du
+regroupement a été ajustée au niveau de son @code{VerticalAxisGroup},
+cette dernière aura préséance.  Voir aussi la propriété
+@code{default-staff-staff-spacing}.
+@end table
+
+
+@seealso
+Fichiers d'initialisation :
+@file{ly/engraver-init.ly},
+@file{scm/define-grobs.scm}.
+
+Référence des propriétés internes :
+@rinternals{Contexts},
+@rinternals{VerticalAxisGroup},
+@rinternals{StaffGrouper}.
+
+
+@node Espacement de portées isolées
+@unnumberedsubsubsec Espacement de portées isolées
+@translationof Spacing of ungrouped staves
+
+Les @code{Staff}, @code{DrumStaff}, @code{TabStaff} entre autres sont
+des contextes de @qq{portée} pouvant contenir plusieurs voix, mais pas
+une portée.
+
+L'espacement de ces @i{portées isolées} est géré par les propriétés
+suivantes@tie{}:
+
+@itemize
+@item Propriétés du @code{VerticalAxisGroup} :
+@itemize
+@item @code{staff-staff-spacing}
+@end itemize
+@end itemize
+
+Ces propriétés d'objet graphique sont expliquées une à une au chapitre
+@ref{Propriétés d'espacement au sein d'un système}.
+
+Certaines propriétés supplémentaires s'appliqueront dès lors que
+ces portées sont regroupées -- voir
+@ref{Espacement de portées regroupées}.
+
+L'exemple suivant illustre la manière de gérer l'espacement de portées
+isolées à l'aide de la propriété @code{staff-staff-spacing}@tie{}:
+
+@lilypond[verbatim,quote,staffsize=16]
+\layout {
+  \context {
+    \Staff
+    \override VerticalAxisGroup #'staff-staff-spacing =
+      #'((padding . 1)
+         (space . 8)
+         (minimum-distance . 7))
+  }
+}
+
+\new StaffGroup <<
+  % The very low note here needs more room than 'space can
+  % provide, so the distance between this staff and the next is
+  % determined by 'padding.
+  \new Staff { b,2 r | }
+
+  % Here, 'space provides enough room, and there is no need to
+  % compress the space (towards 'minimum-distance) to make room
+  % for anything else on the page, so the distance between this
+  % staff and the next is determined by 'space.
+  \new Staff { \clef bass g2 r | }
+
+  % By setting 'padding to a negative value, staves can be made to
+  % collide.  The lowest acceptable value for 'space is 0.
+  \new Staff \with {
+    \override VerticalAxisGroup #'staff-staff-spacing =
+      #'((padding . -10)
+         (space . 3.5))
+  } { \clef bass g2 r | }
+  \new Staff { \clef bass g2 r | }
+>>
+@end lilypond
+
+
+@seealso
+Fichiers d'initialisation :
+@file{scm/define-grobs.scm}.
+
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+Référence des propriétés internes :
+@rinternals{VerticalAxisGroup}.
+
+
+@node Espacement de portées regroupées
+@unnumberedsubsubsec Espacement de portées regroupées
+@translationof Spacing of grouped staves
+
+Dans les partitions orchestrales ou de grande ampleur, il arrive
+souvent que des portées soient regroupées.  L'espacement est alors plus
+important entre deux regroupements qu'entre les portées d'un même
+groupe.  
+
+Les @i{regroupement de portées} tels le @code{StaffGroup} ou le
+@code{ChoirStaff} sont des contextes qui peuvent contenir simultanément
+une ou plusieurs portées.
+
+L'espacement entre les portées d'un même regroupement est géré par les
+propriétés suivantes@tie{}: 
+
+@itemize
+@item Propriétés du @code{VerticalAxisGroup} :
+@itemize
+@item @code{staff-staff-spacing}
+@item @code{default-staff-staff-spacing}
+@end itemize
+@item Propriétés du @code{StaffGrouper} :
+@itemize
+@item @code{staff-staff-spacing}
+@item @code{staffgroup-staff-spacing}
+@end itemize
+@end itemize
+
+Ces propriétés d'objet graphique sont expliquées une à une au chapitre
+@ref{Propriétés d'espacement au sein d'un système}.
+
+L'exemple suivant illustre la manière de gérer l'espacement de portées
+regroupes, à l'aide des propriétés de l'objet graphique
+@code{StaffGrouper}@tie{}:
+
+@lilypond[verbatim,quote,staffsize=16]
+\layout {
+  \context {
+    \Score
+    \override StaffGrouper #'staff-staff-spacing #'padding = #0
+    \override StaffGrouper #'staff-staff-spacing #'space = #1
+  }
+}
+
+<<
+  \new PianoStaff \with {
+    \override StaffGrouper #'staffgroup-staff-spacing #'space = #20
+  } <<
+    \new Staff { c'1 }
+    \new Staff { c'1 }
+  >>
+
+  \new StaffGroup <<
+    \new Staff { c'1 }
+    \new Staff { c'1 }
+  >>
+>>
+@end lilypond
+
+
+@seealso
+Fichiers d'initialisation :
+@file{scm/define-grobs.scm}.
+
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+Référence des propriétés internes:
+@rinternals{VerticalAxisGroup},
+@rinternals{StaffGrouper}.
+
+@node Espacement des lignes rattachées à des portées
+@unnumberedsubsubsec Espacement des lignes rattachées à des portées
+@translationof Spacing of non-staff lines
+
+Les @i{lignes de non-portée}, comme les @code{Lyrics} ou les
+@code{ChordNames} sont des contextes dont les objets de rendu sont
+gravés à l'instar des portées -- une ligne horizontale dans un système.
+En fait, les lignes de non-portée sont des contextes qui vont créer un
+objet de rendu @code{VerticalAxisGroup}.
+
+L'espacement des lignes de non-portée est géré par les propriétés
+suivantes@tie{}:
+
+@itemize
+@item Propriétés du @code{VerticalAxisGroup} :
+@itemize
+@item @code{staff-affinity}
+@item @code{nonstaff-relatedstaff-spacing}
+@item @code{nonstaff-nonstaff-spacing}
+@item @code{nonstaff-unrelatedstaff-spacing}
+@end itemize
+@end itemize
+
+Ces propriétés d'objet graphique sont expliquées une à une au chapitre
+@ref{Propriétés d'espacement au sein d'un système}.
+
+L'exemple suivant utilise la propriété @code{nonstaff-nonstaff-spacing}
+pour gérer l'espacement entre des lignes consécutives de non-portée.
+Vous noterez que la valeur élevée attribuée à la clé
+@code{stretchability} permet aux paroles de s'étirer plus que de raison.
+
+@lilypond[verbatim,quote,staffsize=16]
+\layout {
+  \context {
+    \Lyrics
+    \override VerticalAxisGroup
+      #'nonstaff-nonstaff-spacing #'stretchability = #1000
+  }
+}
+
+\new StaffGroup
+<<
+  \new Staff \with {
+    \override VerticalAxisGroup #'staff-staff-spacing = #'((space . 30))
+  } { c'1 }
+  \new Lyrics \with {
+    \override VerticalAxisGroup #'staff-affinity = #UP
+  } \lyricmode { up }
+  \new Lyrics \with {
+    \override VerticalAxisGroup #'staff-affinity = #CENTER
+  } \lyricmode { center }
+  \new Lyrics \with {
+    \override VerticalAxisGroup #'staff-affinity = #DOWN
+  } \lyricmode { down }
+  \new Staff { c'1 }
+>>
+@end lilypond
+
+
+@seealso
+Fichiers d'initialisation :
+@file{ly/engraver-init.ly},
+@file{scm/define-grobs.scm}.
+
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+@c @lsr{spacing,page-spacing.ly},
+@c @lsr{spacing,alignment-vertical-spacing.ly}.
+
+Référence des propriétés internes :
+@rinternals{Contexts},
+@rinternals{VerticalAxisGroup}.
+
+
+@node Positionnement explicite des portées et systèmes
+@subsection Positionnement explicite des portées et systèmes
+@translationof Explicit staff and system positioning
+
+Pour bien comprendre comment fonctionnent les réglages de
+@code{VerticalAxisGroup} et de @code{\paper} abordés dans les deux
+rubriques précédentes, rien ne vaut une collection d'exemples illustrant
+les différentes mises au point du décalage vertical appliqué aux portées
+et systèmes distribués sur une page.
+
+Une autre approche de l'espacement vertical est le recours à
+@code{NonMusicalPaperColumn #'line-break-system-details}.  Alors que
+@code{VerticalAxisGroup} et @code{\paper} gèrent un décalage vertical,
+@code{NonMusicalPaperColumn #'line-break-system-details} spécifiera le
+positionnement vertical absolu sur la page.
+
+@code{NonMusicalPaperColumn #'line-break-system-details} prend en charge
+une liste associative de trois mises au point@tie{}:
+
+@itemize
+@item @code{X-offset}
+@item @code{Y-offset}
+@item @code{alignment-distances}
+@end itemize
+
+Les dérogations en matière d'objet graphique, y compris celles
+concernant les @code{NonMusicalPaperColumn} ci-dessus, peuvent se placer
+à trois différents endroits de votre fichier source@tie{}:
+
+@itemize
+@item directement au beau milieu des notes
+@item au sein d'un bloc @code{\context}
+@item dans un bloc @code{\with}
+@end itemize
+
+Le réglage de @code{NonMusicalPaperColumn} s'effectue à l'aide d'une
+simple commande @code{\override} au sein d'un bloc @code{\context} ou
+@code{\with}.  Dans le cas ou il est stipulé au fil des notes, c'est la
+commande spécifique @code{\overrideProperty} qui doit intervenir.  Voici
+quelques exemples de réglages de @code{NonMusicalPaperColumn} à l'aide
+de la commande @code{\overrideProperty}@tie{}:
+
+@example
+\overrideProperty NonMusicalPaperColumn
+  #'line-break-system-details #'((X-offset . 20))
+
+\overrideProperty NonMusicalPaperColumn
+  #'line-break-system-details #'((Y-offset . 40))
+
+\overrideProperty NonMusicalPaperColumn
+  #'line-break-system-details #'((X-offset . 20) (Y-offset . 40))
+
+\overrideProperty NonMusicalPaperColumn
+  #'line-break-system-details #'((alignment-distances . (15)))
+
+\overrideProperty NonMusicalPaperColumn
+  #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
+                                 (alignment-distances . (15)))
+@end example
+
+Nous allons maintenant voir ces différents réglages en action.
+Commençons par examiner un exemple dépourvu de toute mise au point.
+
+@c \book { } is required in these examples to ensure the spacing
+@c overrides can be seen between systems. -np
+
+@lilypond[quote]
+\header { tagline = ##f }
+\paper { left-margin = 0\mm }
+\book {
+  \score {
+    <<
+      \new Staff <<
+        \new Voice {
+          s1*5 \break
+          s1*5 \break
+          s1*5 \break
+        }
+        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
+      >>
+      \new Staff {
+        \repeat unfold 15 { d'4 d' d' d' }
+      }
+    >>
+  }
+}
+@end lilypond
+
+Cette partition isole les informations de saut de ligne ou de page dans
+une voix spécifique.  La mise en forme est ainsi séparée des événements
+musicaux@tie{}; ceci nous permettra d'y voir plus clair au fur et à
+mesure que nous avancerons.  Pour plus de précisions, relisez
+@ref{Recours à une voix supplémentaire pour gérer les sauts}.
+
+Les @code{\breaks} explicites répartissent la musique en lignes de cinq
+mesures chacune.  L'espacement vertical est celui que LilyPond attribue
+par défaut.  Nous pouvons, afin de fixer explicitement le point
+d'attache vertical de chacun des systèmes, définir un doublet
+@code{Y-offset} en tant qu'attribut du @code{line-break-system-details}
+de l'objet @code{NonMusicalPaperColumn}@tie{}:
+
+@lilypond[quote]
+\header { tagline = ##f }
+\paper { left-margin = 0\mm }
+\book {
+  \score {
+    <<
+      \new Staff <<
+        \new Voice {
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 0))
+          s1*5 \break
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 40))
+          s1*5 \break
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 80))
+          s1*5 \break
+        }
+        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
+      >>
+      \new Staff {
+        \repeat unfold 15 { d'4 d' d' d' }
+      }
+    >>
+  }
+}
+@end lilypond
+
+Vous aurez remarqué que nous n'avons déterminé qu'une seule valeur, même
+si la liste associative de @code{line-break-system-details} peut en
+comporter un certain nombre.  Vous aurez aussi noté que la propriété
+@code{Y-offset} détermine ici le point de départ de chacun des systèmes
+de la page.
+
+Maintenant que chaque système est explicitement positionné, nous pouvons
+jouer sur la distance séparant les portées de chacun des systèmes, grâce
+à la sous-propriété @code{alignment-distances} de
+@code{line-break-system-details}.
+
+@lilypond[quote]
+\header { tagline = ##f }
+\paper { left-margin = 0\mm }
+\book {
+  \score {
+    <<
+      \new Staff <<
+        \new Voice {
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 20)
+                                           (alignment-distances . (15)))
+          s1*5 \break
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 60)
+                                           (alignment-distances . (15)))
+          s1*5 \break
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 100)
+                                           (alignment-distances . (15)))
+          s1*5 \break
+        }
+        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
+      >>
+      \new Staff {
+        \repeat unfold 15 { d'4 d' d' d' }
+      }
+    >>
+  }
+}
+@end lilypond
+
+Nous avons maintenant assigné deux valeurs différentes à l'attribut
+@code{line-break-system-details} de l'objet
+@code{NonMusicalPaperColumn}.  @code{line-break-system-details} pourrait
+prende bien d'autres paramètres d'espacement, y compris un doublet
+@code{X-offset}, mais nous n'avons utilisé que @code{Y-offset} et
+@code{alignment-distances} pour contrôler le positionnement de chaque
+système et de chaque portée.  Vous noterez enfin que
+@code{alignment-distances} traite le positionnement des portées, non
+d'un regroupement de portées.
+
+@lilypond[quote]
+\header { tagline = ##f }
+\paper { left-margin = 0\mm }
+\book {
+  \score {
+    <<
+      \new Staff <<
+        \new Voice {
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 0)
+                                           (alignment-distances . (30 10)))
+          s1*5 \break
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 60)
+                                           (alignment-distances . (10 10)))
+          s1*5 \break
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 100)
+                                           (alignment-distances . (10 30)))
+          s1*5 \break
+        }
+        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
+      >>
+      \new StaffGroup <<
+        \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
+        \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
+      >>
+    >>
+  }
+}
+@end lilypond
+
+Quelques points à prendre en considération@tie{}:
+
+@itemize
+@item Lorsque vous utilisez @code{alignment-distances}, les paroles et
+autres lignes de non-portée ne comptent pas pour une portée.
+
+@item Les nombres fournis à @code{X-offset}, @code{Y-offset} et
+@code{alignment-distances} sont considérés comme des multiples de la
+distance entre des portées adjacentes.  Des valeurs positives remontent
+les portées et paroles, des valeurs négatives les descendent.
+
+@item Dans la mesure où @code{NonMusicalPaperColumn
+#'line-break-system-details} permet de positionner systèmes et portées
+n'importe où sur une page, vous pourriez être en contradiction avec les
+dimensionnements de la feuille ou bien aboutir à des surimpressions.
+Soyez donc raisonnables quant aux différentes valeurs que vous affectez
+à ces réglages.
+@end itemize
+
+
+@seealso
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@node Résolution des collisions verticales
+@subsection Résolution des collisions verticales
+@translationof Vertical collision avoidance
+
+@funindex outside-staff-priority
+@funindex outside-staff-padding
+@funindex outside-staff-horizontal-padding
+
+Vous savez de manière intuitive qu'un certain nombre d'objets en
+matière de notation musicale appartiennent à la portée, et que
+d'autres se placent en dehors de la portée.  Entre autres objets
+externes, nous avons les marques repères, les textes et les
+nuances@tie{}; nous les appellerons @qq{objets extérieurs à la portée}.
+La règle qu'applique LilyPond pour positionner verticalement ces
+objets extérieurs consiste à les placer au plus près de la portée
+tout en prenant garde d'éviter qu'il y ait chevauchement.
+
+LilyPond utilise la propriété @code{outside-staff-priority} afin de
+déterminer si un objet est ou non un objet extérieur à la portée@tie{}:
+lorsque la valeur de @code{outside-staff-priority} est numérique, il
+s'agit d'un objet extérieur à la portée.  De plus, la propriété
+@code{outside-staff-priority} indique à LilyPond l'ordre dans lequel ces
+objets doivent être disposés.
+
+Tout d'abord, LilyPond dispose tous les objets qui ne sont pas externes.
+Les objets extérieurs à la portée sont alors triés selon l'ordre
+croissant de leur @code{outside-staff-priority}.  Enfin, LilyPond prend
+chacun des ces objets et les positionne de telle sorte qu'il n'entrent
+pas en collision avec ceux qui on déjà été placés.  Autremnt dit,
+lorsque deux objets devraient se placer au même endroit, celui dont la
+@code{outside-staff-priority} est la plus faible sera disposé au plus
+près de la portée.
+
+@lilypond[quote,ragged-right,relative=2,verbatim]
+c4_"Text"\pp
+r2.
+\once \override TextScript #'outside-staff-priority = #1
+c4_"Text"\pp % this time the text will be closer to the staff
+r2.
+% by setting outside-staff-priority to a non-number,
+% we disable the automatic collision avoidance
+\once \override TextScript #'outside-staff-priority = ##f
+\once \override DynamicLineSpanner #'outside-staff-priority = ##f
+c4_"Text"\pp % now they will collide
+@end lilypond
+
+Le décalage vertical entre un objet extérieur à la portée et celui qui
+le précède se contrôle par la propriété @code{outside-staff-padding}.
+
+@c KEEP LY
+@lilypond[quote,ragged-right,relative=2,verbatim]
+\once \override TextScript #'outside-staff-padding = #0
+a'^"Ce texte est placé au plus près de la note"
+\once \override TextScript #'outside-staff-padding = #3
+c^"Ce texte est décalé par rapport au texte précédent"
+c^"Ce texte est accolé au texte précédent"
+@end lilypond
+
+Par défaut, les objets extérieurs à la portée sont positionnés en
+évitant les collisions horizontales avec des objets précédemment
+positionnés.  Ceci peut cependant générer des situations où des objets
+se trouvent horizontalement trop proches.  L'espacement vertical entre
+les portées peut dans une certaine mesure permettre de mieux intercaler
+les objets extérieurs à la portée.  La propriété
+@code{outside-staff-horizontal-padding} repoussera verticalement un
+objet pour éviter ce genre de situation.
+
+@lilypond[quote,ragged-right,relative=2,verbatim]
+% the markup is too close to the following note
+c4^"Text"
+c4
+c''2
+% setting outside-staff-horizontal-padding fixes this
+R1
+\once \override TextScript #'outside-staff-horizontal-padding = #1
+c,,4^"Text"
+c4
+c''2
+@end lilypond
+
+
+@seealso
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@node Espacement horizontal
+@section Espacement horizontal
+@translationof Horizontal spacing
+
+@cindex horizontal, espacement
+@cindex espacement horizontal
+
+@menu
+* Généralités sur l'espacement horizontal::
+* Changement d'espacement au cours de la partition::
+* Modification de l'espacement horizontal::
+* Longueur de ligne::
+* Notation proportionnelle::
+@end menu
+
+@node Généralités sur l'espacement horizontal
+@subsection Généralités sur l'espacement horizontal
+@translationof Horizontal spacing overview
+
+Le moteur d'espacement traduit les différences de durée en 
+The spacing engine translates differences in durations into stretchable
+distances (@q{springs}) of differing lengths.  Longer durations get
+more space, shorter durations get less.  The shortest durations get a
+fixed amount of space (which is controlled by
+@code{shortest-duration-space} in the @rinternals{SpacingSpanner}
+object).  The longer the duration, the more space it gets: doubling a
+duration adds a fixed amount (this amount is controlled by
+@code{spacing-increment}) of space to the note.
+
+For example, the following piece contains lots of half, quarter, and
+8th notes; the eighth note is followed by 1 note head width (NHW).
+The quarter note is followed by 2 NHW, the half by 3 NHW, etc.
+
+@lilypond[quote,verbatim,relative=1]
+c2 c4. c8 c4. c8 c4. c8 c8
+c8 c4 c4 c4
+@end lilypond
+
+Normally, @code{spacing-increment} is set to 1.2 staff space, which is
+approximately the width of a note head, and
+@code{shortest-duration-space} is set to 2.0, meaning that the
+shortest note gets 2.4 staff space (2.0 times the
+@code{spacing-increment}) of horizontal space.  This space is counted
+from the left edge of the symbol, so the shortest notes are generally
+followed by one NHW of space.
+
+If one would follow the above procedure exactly, then adding a single
+32nd note to a score that uses 8th and 16th notes, would widen up the
+entire score a lot.  The shortest note is no longer a 16th, but a 32nd,
+thus adding 1 NHW to every note.  To prevent this, the shortest
+duration for spacing is not the shortest note in the score, but rather
+the one which occurs most frequently.
+
+
+The most common shortest duration is determined as follows: in every
+measure, the shortest duration is determined.  The most common shortest
+duration is taken as the basis for the spacing, with the stipulation
+that this shortest duration should always be equal to or shorter than
+an 8th note.  The shortest duration is printed when you run
+@code{lilypond} with the @code{--verbose} option.
+
+These durations may also be customized.  If you set the
+@code{common-shortest-duration} in @rinternals{SpacingSpanner}, then
+this sets the base duration for spacing.  The maximum duration for this
+base (normally an 8th), is set through @code{base-shortest-duration}.
+
+@funindex common-shortest-duration
+@funindex base-shortest-duration
+@funindex stem-spacing-correction
+@funindex spacing
+
+Notes that are even shorter than the common shortest note are
+followed by a space that is proportional to their duration relative to
+the common shortest note.  So if we were to add only a few 16th notes
+to the example above, they would be followed by half a NHW:
+
+@lilypond[quote,verbatim,relative=2]
+c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
+@end lilypond
+
+
+In the @emph{Essay on automated music engraving}, it was explained
+that stem directions influence spacing (see @ressay{Optical
+spacing}).  This is controlled with the
+@code{stem-spacing-correction} property in the
+@rinternals{NoteSpacing}, object.  These are generated for every
+@rinternals{Voice} context.  The @code{StaffSpacing} object
+(generated in @rinternals{Staff} context) contains the same
+property for controlling the stem/bar line spacing.  The following
+example shows these corrections, once with default settings, and
+once with exaggerated corrections:
+
+@lilypond[quote,ragged-right]
+{
+  c'4 e''4 e'4 b'4 |
+  b'4 e''4 b'4 e''4 |
+  \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
+  \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
+  c'4 e''4 e'4 b'4 |
+  b'4 e''4 b'4 e''4 |
+}
+@end lilypond
+
+Proportional notation is supported; see @ref{Proportional notation}.
+
+
+@seealso
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+Référence des propriétés internes :
+@rinternals{SpacingSpanner},
+@rinternals{NoteSpacing},
+@rinternals{StaffSpacing},
+@rinternals{NonMusicalPaperColumn}.
+
+
+@knownissues
+
+There is no convenient mechanism to manually override spacing.  The
+following work-around may be used to insert extra space into a score,
+adjusting the padding value as necessary.
+@example
+ \override Score.NonMusicalPaperColumn #'padding = #10
+@end example
+
+No work-around exists for decreasing the amount of space.
+
+
+@node Changement d'espacement au cours de la partition
+@subsection Changement d'espacement au cours de la partition
+@translationof New spacing area
+
+New sections with different spacing parameters can be started with
+@code{newSpacingSection}.  This is useful when there are
+sections with a different notions of long and short notes.
+
+In the following example, the time signature change introduces a new
+section, and hence the 16ths notes are spaced wider.
+
+@lilypond[relative,verbatim,quote]
+\time 2/4
+c4 c8 c
+c8 c c4 c16[ c c8] c4
+\newSpacingSection
+\time 4/16
+c16[ c c8]
+@end lilypond
+
+The @code{\newSpacingSection} command creates a new
+@code{SpacingSpanner} object, and hence new @code{\override}s
+may be used in that location.
+
+
+@seealso
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+Référence des propriétés internes :
+@rinternals{SpacingSpanner}.
+
+
+@node Modification de l'espacement horizontal
+@subsection Modification de l'espacement horizontal
+@translationof Changing horizontal spacing
+
+Horizontal spacing may be altered with the
+@code{base-shortest-duration} property.  Here
+we compare the same music; once without altering
+the property, and then altered.  Larger values
+of @code{ly:make-moment} will produce smaller
+music.  Note that @code{ly:make-moment} constructs
+a duration, so @code{1 4} is a longer duration
+than @code{1 16}.
+
+@lilypond[verbatim,line-width=12\cm]
+\score {
+  \relative c'' {
+    g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
+    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
+    d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
+    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
+  }
+}
+@end lilypond
+
+@lilypond[verbatim,line-width=12\cm]
+\score {
+  \relative c'' {
+    g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
+    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
+    d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
+    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
+  }
+  \layout {
+    \context {
+      \Score
+      \override SpacingSpanner
+        #'base-shortest-duration = #(ly:make-moment 1 16)
+    }
+  }
+}
+@end lilypond
+
+
+@snippets
+
+By default, spacing in tuplets depends on various non-duration
+factors (such as accidentals, clef changes, etc).  To disregard
+such symbols and force uniform equal-duration spacing, use
+@code{Score.SpacingSpanner #'uniform-stretching}.  This
+property can only be changed at the beginning of a score,
+
+@lilypond[quote,ragged-right,verbatim]
+\score {
+  <<
+    \new Staff {
+      \times 4/5 {
+        c8 c8 c8 c8 c8
+      }
+      c8 c8 c8 c8
+    }
+    \new Staff {
+      c8 c8 c8 c8
+      \times 4/5 {
+        c8 c8 c8 c8 c8
+      }
+    }
+  >>
+  \layout {
+    \context {
+      \Score
+      \override SpacingSpanner #'uniform-stretching = ##t
+    }
+  }
+}
+@end lilypond
+
+When @code{strict-note-spacing} is set, notes are spaced without
+regard for clefs, bar lines, and grace notes,
+
+@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+\override Score.SpacingSpanner #'strict-note-spacing = ##t
+\new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c]  c32[ c32] }
+@end lilypond
+
+
+@seealso
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@node Longueur de ligne
+@subsection Longueur de ligne
+@translationof Line length
+
+@cindex page breaks
+@cindex breaking pages
+
+@funindex indent
+@funindex line-width
+@funindex ragged-right
+@funindex ragged-last
+
+@c Although line-width can be set in \layout, it should be set in paper
+@c block, to get page layout right.
+@c Setting indent in \paper block makes not much sense, but it works.
+
+@c Bit verbose and vague, use examples?
+The most basic settings influencing the spacing are @code{indent} and
+@code{line-width}.  They are set in the @code{\layout} block.  They
+control the indentation of the first line of music, and the lengths of
+the lines.
+
+If @code{ragged-right} is set to true in the @code{\layout} block, then
+systems ends at their natural horizontal length, instead of being spread
+horizontally to fill the whole line.  This is useful for
+short fragments, and for checking how tight the natural spacing is.
+The normal default setting is false, but if the score has only one
+system the default value is true.
+
+@cindex page layout
+@cindex vertical spacing
+
+The option @code{ragged-last} is similar to @code{ragged-right}, but
+only affects the last line of the piece.  No restrictions are put on
+that line.  The result is similar to formatting text paragraphs.  In a
+paragraph, the last line simply takes its natural horizontal length.
+@c Note that for text there are several options for the last line.
+@c While Knuth TeX uses natural length, lead typesetters use the same
+@c stretch as the previous line.  eTeX uses \lastlinefit to
+@c interpolate between both these solutions.
+
+@example
+\layout @{
+  indent = #0
+  line-width = #150
+  ragged-last = ##t
+@}
+@end example
+
+
+@seealso
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@node Notation proportionnelle
+@subsection Notation proportionnelle
+@translationof Proportional notation
+
+LilyPond supports proportional notation, a type of horizontal spacing
+in which each note consumes an amount of horizontal space exactly
+equivalent to its rhythmic duration.  This type of proportional spacing
+is comparable to horizontal spacing on top of graph paper.  Some late
+20th- and early 21st-century scores use proportional notation to
+clarify complex rhythmic relationships or to facilitate the placement
+of timelines or other graphics directly in the score.
+
+LilyPond supports five different settings for proportional notation,
+which may be used together or alone:
+
+@itemize
+@item @code{proportionalNotationDuration}
+@item @code{uniform-stretching}
+@item @code{strict-note-spacing}
+@item @code{\remove Separating_line_group_engraver}
+@item @code{\override PaperColumn #'used = ##t}
+@end itemize
+
+In the examples that follow, we explore these five different
+proportional notation settings and examine how these settings interact.
+
+We start with the following one-measure example, which uses classical
+spacing with ragged-right turned on.
+
+@lilypond[quote,verbatim,ragged-right]
+\score {
+  <<
+    \new RhythmicStaff {
+      c'2
+      c'16 c'16 c'16 c'16
+      \times 4/5 {
+        c'16 c'16 c'16 c'16 c'16
+      }
+    }
+  >>
+}
+@end lilypond
+
+Notice that the half note which begins the measure takes up far less
+than half of the horizontal space of the measure.  Likewise, the
+sixteenth notes and sixteenth-note quintuplets (or twentieth notes)
+which end the measure together take up far more than half the
+horizontal space of the measure.
+
+In classical engraving, this spacing may be exactly what we want
+because we can borrow horizontal space from the half note and conserve
+horizontal space across the measure as a whole.
+
+On the other hand, if we want to insert a measured timeline or other
+graphic above or below our score, we need proportional notation.  We
+turn proportional notation on with the proportionalNotationDuration
+setting.
+
+@lilypond[quote,verbatim,ragged-right]
+\score {
+  <<
+    \new RhythmicStaff {
+      c'2
+      c'16 c'16 c'16 c'16
+      \times 4/5 {
+        c'16 c'16 c'16 c'16 c'16
+      }
+    }
+  >>
+ \layout {
+    \context {
+      \Score
+      proportionalNotationDuration = #(ly:make-moment 1 20)
+    }
+  }
+}
+@end lilypond
+
+The half note at the beginning of the measure and the faster notes in
+the second half of the measure now occupy equal amounts of horizontal
+space.  We could place a measured timeline or graphic above or below
+this example.
+
+The @code{proportionalNotationDuration} setting is a context setting
+that lives in @code{Score}.  Remember that context settings can appear
+in one of three locations within our input file -- in a @code{\with}
+block, in a @code{\context} block, or directly in music entry preceded
+by the @code{\set} command.  As with all context settings, users can
+pick which of the three different locations they would like to
+set @code{proportionalNotationDuration} in to.
+
+The @code{proportionalNotationDuration} setting takes a single argument,
+which is the reference duration against that all music will be spaced.
+The LilyPond Scheme function @code{make-moment} takes two arguments
+-- a numerator and denominator which together express some fraction of
+a whole note.  The call @code{#(ly:make-moment 1 20)} therefore produces
+a reference duration of a twentieth note.  Values such as
+@code{#(ly:make-moment 1 16)}, @code{#(ly:make-moment 1 8)}, and
+@code{#(ly:make-moment 3 97)} are all possible as well.
+
+How do we select the right reference duration to pass to
+@code{proportionalNotationDuration}?  Usually by a process of trial
+and error, beginning with a duration close to the fastest (or smallest)
+duration in the piece.  Smaller reference durations space music loosely;
+larger reference durations space music tightly.
+
+@lilypond[quote,verbatim,ragged-right]
+\score {
+  <<
+    \new RhythmicStaff {
+      c'2
+      c'16 c'16 c'16 c'16
+      \times 4/5 {
+        c'16 c'16 c'16 c'16 c'16
+      }
+    }
+  >>
+  \layout {
+    \context {
+      \Score
+      proportionalNotationDuration = #(ly:make-moment 1 8)
+    }
+  }
+}
+
+\score {
+  <<
+    \new RhythmicStaff {
+      c'2
+      c'16 c'16 c'16 c'16
+      \times 4/5 {
+        c'16 c'16 c'16 c'16 c'16
+      }
+    }
+  >>
+  \layout {
+    \context {
+      \Score
+      proportionalNotationDuration = #(ly:make-moment 1 16)
+    }
+  }
+}
+
+\score {
+  <<
+    \new RhythmicStaff {
+      c'2
+      c'16 c'16 c'16 c'16
+      \times 4/5 {
+        c'16 c'16 c'16 c'16 c'16
+      }
+    }
+  >>
+  \layout {
+    \context {
+      \Score
+      proportionalNotationDuration = #(ly:make-moment 1 32)
+    }
+  }
+}
+@end lilypond
+
+Note that too large a reference duration -- such as the eighth note,
+above -- spaces music too tightly and can cause note head collisions.
+Also that proportional notation in general takes up more horizontal
+space than classical spacing.  Proportional spacing provides rhythmic
+clarity at the expense of horizontal space.
+
+Next we examine how to optimally space overlapping tuplets.
+
+We start by examining what happens to our original example, with
+classical spacing, when we add a second staff with a different type of
+tuplet.
+
+@lilypond[quote,verbatim,ragged-right]
+\score {
+  <<
+    \new RhythmicStaff {
+      c'2
+      c'16 c'16 c'16 c'16
+      \times 4/5 {
+        c'16 c'16 c'16 c'16 c'16
+      }
+    }
+    \new RhythmicStaff {
+      \times 8/9 {
+        c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
+      }
+    }
+  >>
+}
+@end lilypond
+
+The spacing is bad because the evenly spaced notes of the bottom staff
+do not stretch uniformly.  Classical engravings include very few complex
+triplets and so classical engraving rules can generate this type of
+result.  Setting @code{proportionalNotationDuration} fixes this.
+
+@lilypond[quote,verbatim,ragged-right]
+\score {
+  <<
+    \new RhythmicStaff {
+      c'2
+      c'16 c'16 c'16 c'16
+      \times 4/5 {
+        c'16 c'16 c'16 c'16 c'16
+      }
+    }
+    \new RhythmicStaff {
+      \times 8/9 {
+        c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
+      }
+    }
+  >>
+  \layout {
+    \context {
+      \Score
+      proportionalNotationDuration = #(ly:make-moment 1 20)
+    }
+  }
+}
+@end lilypond
+
+But if we look very carefully we can see that notes of the second half
+of the 9-tuplet space ever so slightly more widely than the notes
+of the first half of the 9-tuplet.  To ensure uniform stretching, we
+turn on @code{uniform-stretching}, which is a property of
+@code{SpacingSpanner}.
+
+@lilypond[quote,verbatim,ragged-right]
+\score {
+  <<
+    \new RhythmicStaff {
+      c'2
+      c'16 c'16 c'16 c'16
+      \times 4/5 {
+        c'16 c'16 c'16 c'16 c'16
+      }
+    }
+    \new RhythmicStaff {
+      \times 8/9 {
+        c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
+      }
+    }
+  >>
+  \layout {
+    \context {
+      \Score
+      proportionalNotationDuration = #(ly:make-moment 1 20)
+      \override SpacingSpanner #'uniform-stretching = ##t
+    }
+  }
+}
+@end lilypond
+
+Our two-staff example now spaces exactly, our rhythmic
+relationships are visually clear, and we can include a measured
+timeline or graphic if we want.
+
+Note that the LilyPond's proportional notation package expects
+that all proportional scores set the SpacingSpanner's
+'uniform-stretching attribute to ##t.  Setting
+proportionalNotationDuration without also setting the
+SpacingSpanner's 'uniform-stretching attribute to ##t will, for
+example, cause Skips to consume an incorrect amount of horizontal
+space.
+
+The SpacingSpanner is an abstract grob that lives in the Score
+context.  As with our settings of proportionalNotationDuration,
+overrides to the SpacingSpanner can occur in any of three
+different places in our input file – in the Score \with block, in
+a Score \context block, or in note entry directly.
+
+There is by default only one @code{SpacingSpanner} per @code{Score}.  This
+means that, by default, @code{uniform-stretching} is either turned on for the
+entire score or turned off for the entire score.  We can, however,
+override this behavior and turn on different spacing features at
+different places in the score.  We do this with the command
+@code{\newSpacingSection}.  See @ref{New spacing area}, for more info.
+
+Next we examine the effects of the @code{Separating_line_group_engraver} and
+see why proportional scores frequently remove this engraver.  The following
+example shows that there is a small amount of @qq{preferatory} space
+just before the first note in each system.
+
+@lilypond[quote,verbatim,ragged-right]
+\paper {
+  indent = #0
+}
+
+\new Staff {
+  c'1
+  \break
+  c'1
+}
+@end lilypond
+
+
+The amount of this preferatory space is the same whether after a time
+signature, a key signature or a clef.  @code{Separating_line_group_engraver}
+is responsible for this space.  Removing @code{Separating_line_group_engraver}
+reduces this space to zero.
+
+@lilypond[quote,verbatim,ragged-right]
+\paper {
+  indent = #0
+}
+
+\new Staff \with {
+  \remove Separating_line_group_engraver
+} {
+  c'1
+  \break
+  c'1
+}
+@end lilypond
+
+Nonmusical elements like time signatures, key signatures, clefs and
+accidentals are problematic in proportional notation.  None of these
+elements has rhythmic duration.  But all of these elements consume
+horizontal space.  Different proportional scores approach these
+problems differently.
+
+It may be possible to avoid spacing problems with key signatures
+simply by not having any.  This is a valid option since most
+proportional scores are contemporary music.  The same may be true
+of time signatures, especially for those scores
+that include a measured timeline or other graphic.  But these scores
+are exceptional and most proportional scores include at least some
+time signatures.  Clefs and accidentals are even more essential.
+
+So what strategies exist for spacing nonmusical elements in a
+proportional context?  One good option is the @code{strict-note-spacing}
+property of @code{SpacingSpanner}.  Compare the two scores below:
+
+@lilypond[quote,verbatim,ragged-right]
+\new Staff {
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  c''8
+  c''8
+  c''8
+  \clef alto
+  d'8
+  d'2
+}
+
+\new Staff {
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  \override Score.SpacingSpanner #'strict-note-spacing = ##t
+  c''8
+  c''8
+  c''8
+  \clef alto
+  d'8
+  d'2
+}
+@end lilypond
+
+Both scores are proportional, but the spacing in the first score
+is too loose because of the clef change.  The spacing of the second
+score remains strict, however, because strict-note-spacing is
+turned on.  Turning on strict-note-spacing causes the width of
+time signatures, key signatures, clefs and accidentals to play no
+part in the spacing algorithm.
+
+In addition to the settings given here, there are other settings
+that frequently appear in proportional scores.  These include:
+
+@itemize
+@item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
+@item @code{tupletFullLength = ##t}
+@item @code{\override Beam #'breakable = ##t}
+@item @code{\override Glissando #'breakable = ##t}
+@item @code{\override TextSpanner #'breakable = ##t}
+@item @code{\remove Forbid_line_break_engraver in the Voice context}
+@end itemize
+
+These settings space grace notes strictly, extend tuplet brackets to
+mark both rhythmic start- and stop-points, and allow spanning elements
+to break across systems and pages.  See the respective parts of the manual
+for these related settings.
+
+
+@seealso
+Manuel de notation :
+@ref{Changement d'espacement au cours de la partition}.
+
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@node Réduction du nombre de pages de la partition
+@section Réduction du nombre de pages de la partition
+@translationof Fitting music onto fewer pages
+
+Sometimes you can end up with one or two staves on a second
+(or third, or fourth...) page.  This is annoying, especially
+if you look at previous pages and it looks like there is plenty
+of room left on those.
+
+When investigating layout issues, @code{annotate-spacing} is an
+invaluable tool.  This command prints the values of various layout
+spacing variables; for more details see the following section,
+@ref{Displaying spacing}.
+
+@menu
+* Mise en évidence de l'espacement::
+* Modification de l'espacement::
+@end menu
+
+@node Mise en évidence de l'espacement
+@subsection Mise en évidence de l'espacement
+@translationof Displaying spacing
+
+@funindex annotate-spacing
+@cindex spacing, display of layout
+
+To graphically display the dimensions of vertical layout variables
+that may be altered for page formatting, set
+@code{annotate-spacing} in the @code{\paper} block:
+
+@c need to have \book{} otherwise we get the separate systems. -hwn
+@lilypond[verbatim,quote]
+#(set-default-paper-size "a6" 'landscape)
+\book {
+  \score { { c4 } }
+  \paper { annotate-spacing = ##t }
+}
+@end lilypond
+
+
+@noindent
+All layout dimensions are displayed in staff-spaces, regardless
+of the units specified in the @code{\paper} or @code{\layout} block.
+In the above example, @code{paper-height} has a value of 59.75
+@code{staff-spaces}, and the @code{staff-size} is 20 points (the
+default value).  Note that:
+
+@multitable {1 staff-space} {staff-size)/4 * (25.4/72.27) mm}
+
+@item 1 point
+@tab = (25.4/72.27) mm
+
+@item 1 staff-space
+@tab = (@code{staff-size})/4 pts
+@item
+@tab = (@code{staff-size})/4 * (25.4/72.27) mm
+
+@end multitable
+
+@noindent
+In this case, one @code{staff-space} is approximately equal to
+1.757mm.  Thus the @code{paper-height} measurement of 59.75
+@code{staff-spaces} is equivalent to 105 millimeters, the height
+of @code{a6} paper in landscape orientation.  The pairs
+(@var{a},@var{b}) are intervals, where @var{a} is the lower
+edge and @var{b} the upper edge of the interval.
+
+
+@seealso
+Manuel de notation :
+@ref{Définition de la taille de portée}.
+
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@node Modification de l'espacement
+@subsection Modification de l'espacement
+@translationof Changing spacing
+
+The output of @code{annotate-spacing} reveals vertical dimensions
+in great detail.  For details about modifying margins and other
+layout variables, see @ref{Page formatting}.
+
+Other than margins, there are a few other options to save space:
+
+@itemize
+@item
+Force systems to move as close together as possible (to fit as
+many systems as possible onto a page) while being spaced so that
+there is no blank space at the bottom of the page.
+
+@example
+\paper @{
+  system-system-spacing = #'((padding . 0) (space . 0.1))
+  ragged-last-bottom = ##f
+  ragged-bottom = ##f
+@}
+@end example
+
+@item
+Force the number of systems.  This can help in two ways.  Just
+setting a value, even the same value as the number of systems
+being typeset by default, will sometimes cause more systems to
+be fitted onto each page, as an estimation step is then bypassed,
+giving a more accurate fit to each page.  Also, forcing an actual
+reduction in the number of systems may save a further page.  For
+example, if the default layout has 11 systems, the following
+assignment will force a layout with 10 systems.
+
+@example
+\paper @{
+  system-count = #10
+@}
+@end example
+
+@item
+Avoid (or reduce) objects that increase the vertical size of a
+system.  For example, volta repeats (or alternate repeats) require
+extra space.  If these repeats are spread over two systems, they
+will take up more space than one system with the volta repeats and
+another system without.  For example, dynamics that @q{stick out} of
+a system can be moved closer to the staff:
+
+@lilypond[verbatim,quote,relative=1]
+e4 c g\f c
+e4 c g-\tweak #'X-offset #-2.7 -\tweak #'Y-offset #2.5 \f c
+@end lilypond
+
+@item
+Alter the horizontal spacing via @code{SpacingSpanner}.  For more
+details, see @ref{Changing horizontal spacing}.  The following
+example illustrates the default spacing:
+
+@lilypond[verbatim,quote]
+\score {
+  \relative c'' {
+    g4 e e2 |
+    f4 d d2 |
+    c4 d e f |
+    g4 g g2 |
+    g4 e e2 |
+  }
+}
+@end lilypond
+
+@noindent
+The next example modifies @code{common-shortest-duration} from a
+value of @code{1/4} to @code{1/2}.  The quarter note is the most
+common and shortest duration in this example, so by making this
+duration longer, a @q{squeezing} effect occurs:
+
+@lilypond[verbatim,quote]
+\score {
+  \relative c'' {
+    g4 e e2 |
+    f4 d d2 |
+    c4 d e f |
+    g4 g g2 |
+    g4 e e2 |
+  }
+  \layout {
+    \context {
+      \Score
+      \override SpacingSpanner
+        #'common-shortest-duration = #(ly:make-moment 1 2)
+    }
+  }
+}
+@end lilypond
+
+@noindent
+The @code{common-shortest-duration} property cannot be modified
+dynamically, so it must always be placed in a @code{\context}
+block so that it applies to the whole score.
+
+@end itemize
+
+
+@seealso
+Manuel de notation :
+@ref{Page formatting},
+@ref{Changing horizontal spacing}.
+
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+