@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: e3c6bd65c8db492728d2f1f3a791bcf6bde056e4
+ Translation of GIT committish: 8e2eaf4959bec63a1128a444591a540f4f1e2937
- When revising a translation, copy the HEAD committish of the
- version that you are working on. For details, see the Contributors'
- Guide, node Updating translation committishes..
+ When revising a translation, copy the HEAD committish of the
+ version that you are working on. For details, see the Contributors'
+ Guide, node Updating translation committishes..
@end ignore
-@c \version "2.19.12"
+@c \version "2.19.22"
@c Translators: Frédéric Chiasson, Jean-Charles Malahieude
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},
+de ligne, chacune se voyant attribuer un « 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.
particulière selon leur langue d'origine. Ainsi le vocable anglais
@emph{Ragged} signifie en lambeau, en loques ; 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
+« au fer à gauche » -- alors que son homologue anglophone constate un
@emph{ragged-right} -- donc du vide à droite.}
d'un bloc @code{\score}.
Les valeurs des différents champs seront filtrées en respectant cette
-hiérarchie ; les valeuers définies le plus haut persisteront à moins
+hiérarchie ; les valeurs définies le plus haut persisteront à moins
d'être remplacées à un niveau hiérarchique inférieur.
Plusieurs blocs @code{\paper} peuvent cohabiter à un même niveau,
@seealso
Manuel de notation :
@ref{Format du papier et adaptation automatique},
+@ref{Le bloc layout},
@ref{Titrages personnalisés}.
-@ref{Le bloc layout}.
Fichiers d'initialisation :
@file{ly/paper-defaults-init.ly}.
@seealso
Manuel de notation :
-@ref{Variables d'espacement vertical fixe},
-@ref{Variables d'espacement horizontal}.
+@ref{Variables d'espacement horizontal},
+@ref{Variables d'espacement vertical fixe}.
Fichiers d'initialisation :
@file{ly/paper-defaults-init.ly},
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 le
centre vertical du @code{StaffSymbol} le plus proche -- même lorsqu'une
-ligne de @qq{non-portée} viendrait à s'intercaler. Une
+ligne de « non-portée » viendrait à s'intercaler. Une
@code{basic-distance} inférieure à @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
@c TODO: explain skylines somewhere and xref to it from here.
@item
-@code{padding} @emph{(décalage)} -- la grandeur minimale de @qq{blanc}
+@code{padding} @emph{(décalage)} -- la grandeur minimale de « 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 largeur des deux éléments.
@item line-width
@funindex line-width
-la longueur d'un système musical sans indentation et justifié sur toute
-la largeur de la page. La valeur par défaut est égale à
+La longueur d'une ligne. Lorsque spécifié dans un bloc @code{\paper},
+ceci définit l'étendue horizontale dont disposeront les lignes de portée
+d'un système non indenté. La valeur par défaut est égale à
@code{paper-width}, auquel sont retranchés @code{left-margin} et
@code{right-margin}. Lorsque vous définissez @code{line-width} sans
modifier les valeurs de @code{left-margin} et @code{right-margin}, les
marges seront alors recalculées de telle sorte que les systèmes soient
-centrés. Voir aussi @code{check-consistency}. La variable
-@code{line-width} peut se définir aussi dans un bloc @code{\layout}.
+centrés. Voir aussi @code{check-consistency}.
+
+La valeur de @code{line-width} peut aussi se spécifier individuellement
+au niveau de la partition, au sein d'un bloc @code{\layout}. Ceci
+permet de contrôler la longueur des lignes partition par partition. Si
+la longueur de ligne n'est pas spécifié dans une partition particulière,
+elle sera valorisée à celle du @code{line-width} mentionné dans le bloc
+@code{\paper}. La détermination de @code{line-width} pour un
+@code{\score} particulier n'a aucun effet sur les marges. Les lignes
+d'une portée dont la longueur est déterminée par le @code{line-width}
+d'une partition seront alignées par la gauche sur la surface de papier
+telle que définie par le @code{line-width} du bloc @code{\paper}. Dès
+lors que les valeurs de @code{line-width} de la partition et du papier
+sont égales, les lignes s'étendront de la marge gauche à la marge
+droite. En cas de @code{line-width} de la partition supérieur au
+@code{line-width} du papier, les lignes de portée déborderont dans la
+marge de droite.
+
@item left-margin
@funindex left-margin
-la marge entre le bord gauche de la feuille et le début de chaque
+La marge entre le bord gauche de la feuille et le début de chaque
système. La valeur par défaut est de @code{10\mm} ; elle sera
ajustée selon le format du papier. Lorsque vous définissez
@code{line-width} et @code{right-margin} sans modifier la valeur de
(@code{paper-width}). La valeur par défaut est @code{#t}. Dans
le cas d'une incohérence, un message d'avertissement est émis et les
trois variables -- marges et longueur de ligne -- rétablies à leur
-valeur par défaut (ajustées selon le format du papier).
+valeur par défaut (ajustées selon le format du papier). La
+désactivation de cette variable (valorisation à @code{#f}, toute
+incohérence sera ignorée, et les systèmes pourront déborder de la page.
@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 s'arrêteront à leur longueur normale.
La valeur par défaut est @code{#f} mais, si la partition ne comporte
-qu'un seul système, elle passe à @code{#t}. Cette variable peut aussi
+qu'un seul système, elle passe à @code{#t}. Cette variable peut aussi
se gérer au sein d'un bloc @code{\layout}.
@item ragged-last
@funindex indent
Le niveau d'indentation du premier système d'une partition. La valeur
-par défaut est de @code{15\mm} et s'ajustera selon le format du
-papier. Cette variable peut aussi se gérer au sein d'un bloc
-@code{\layout}.
+par défaut est de @code{15\mm} en A4 et s'ajustera selon le format du
+papier. L'espace correspondant à @code{line-width} est réduit d'autant
+pour le premier système. Cette variable peut aussi se gérer partition
+par partition au sein d'un bloc @code{\layout}.
@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 @code{0}, et s'ajustera selon le format du
-papier dès lors que vous lui aurez affecté une valeur. Cette
-variable peut aussi se gérer au sein d'un bloc @code{\layout}.
+valeur par défaut est de @code{0} pour du A4, et s'ajustera selon le
+format du papier dès lors que vous lui aurez affecté une valeur. Bien
+entendu, l'espace spécifié par @code{line-width} sera réduit d'autant.
+Cette variable peut aussi se gérer partition par partition, au sein d'un
+bloc @code{\layout}.
@end table
L'algorithme de calcul des sauts de page à utiliser. Vous avez le choix
entre @code{ly:minimal-breaking}, @code{ly:page-turn-breaking},
-@code{ly:one-line-breaking} et @code{ly:optimal-breaking} (activé
-par défaut).
+@code{ly:one-page-breaking}, @code{ly:one-line-breaking},
+@code{ly:one-line-auto-height-breaking}, et @code{ly:optimal-breaking}
+(activé par défaut).
@item page-breaking-system-system-spacing
@funindex page-breaking-system-system-spacing
-Cette variable permet de @qq{tromper} l'algorithme de gestion des sauts
+Cette variable permet de « 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},
@seealso
Manuel de notation :
-@ref{Sauts de page},
+@ref{Minimisation des sauts de page},
@ref{Optimisation des sauts de page},
@ref{Optimisation des tournes},
-@ref{Minimisation des sauts de page},
-@ref{Présentation en rouleau}.
+@ref{Présentation en ligne continue},
+@ref{Présentation en page continue},
+@ref{Présentation en rouleau},
+@ref{Sauts de page}.
Fichiers d'initialisation :
@file{ly/paper-defaults-init.ly}.
La désactivation de cette variable permet d'obtenir des pages non
numérotées. La valeur par défaut est @code{#t}.
+@cindex page, numérotation en chiffres romains
+@item page-number-type
+@funindex page-number-type
+
+Le type de chiffres à utiliser pour la numérotation : @code{roman-lower}
+(romains minuscules), @code{roman-upper} (romains majuscules) ou
+@code{arabic} (arabes). La valeur par défaut est @code{'arabic}.
+
@end table
@seealso
tagline = ##f
}
\score {
- \relative c'' { c1 \break c1 \break c1 }
+ \relative { c''1 \break c1 \break c1 }
}
}
@end lilypond
suivante, @ref{Définition de la taille de portée}. La modification des
contextes est abordée dans d'autres chapitres -- voir
@ref{Modification des greffons de contexte} et
-@ref{Modification des réglages par défaut d'un contexte}. Les variables
-du bloc @code{\paper} que l'on peut retrouver dans un bloc
+@ref{Modification des réglages par défaut d'un contexte}.
+
+Les variables du bloc @code{\paper} que l'on peut retrouver dans un bloc
@code{\layout} sont :
@itemize
@subheading Relation automatique entre fonte et taille
@c VO Automatic font weight at different sizes
-La fonte Feta fournit les symboles musicaux dans huit tailles
-différentes. Chaque fonte correspond à une hauteur particulière de
-portée ; les petites tailles comportent des symboles plus épais
-pour être cohérent avec l'épaisseur relativement plus importante des
-lignes de la portée. Le tableau suivant répertorie les différentes
-tailles de police.
+La fonte Ementaler fournit le jeu de symboles musicaux @emph{Feta} dans
+huit tailles différentes. Chaque fonte correspond à une hauteur
+particulière de portée ; les petites tailles comportent des symboles
+plus épais pour être cohérent avec l'épaisseur relativement plus
+importante des lignes de la portée. Le tableau suivant répertorie les
+différentes tailles de police.
@multitable @columnfractions .15 .2 .22 .2
@seealso
Manuel de notation :
-@ref{Indication de la taille de fonte musicale}.
+@ref{Indication de la taille de fonte musicale},
+@ref{La fonte Emmentaler}.
Morceaux choisis :
@rlsrnamed{Spacing,Espacements}.
@menu
* Sauts de ligne::
* Sauts de page::
-* Sauts explicites::
@end menu
@subsection Sauts de ligne
@translationof Line breaking
-@cindex saut de ligne
+@cindex saut de ligne manuel
@cindex ligne, passer à la suivante
+@funindex \break
+@funindex \noBreak
+@funindex \autoBreaksOff
+@funindex \autoBreaksOn
+@funindex \autoLineBreaksOff
+@funindex \autoLineBreaksOn
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
densité.
Vous pouvez cependant insérer l'instruction @code{\break} à l'endroit où
-vous le jugez utile pour @qq{forcer} le passage à la ligne suivante :
+vous le jugez utile pour « forcer » le passage à la ligne suivante :
-@lilypond[quote,ragged-right,relative=2,verbatim]
-c4 c c c | \break
-c4 c c c |
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+ c4 c c c | \break
+ c4 c c c |
+}
@end lilypond
Par défaut, un saut de ligne ne saurait intervenir au beau milieu d'une
-mesure ; LilyPond vous le signalera par un message si tel était le
-cas. 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 ""}.
-
-@lilypond[quote,ragged-right,relative=2,verbatim]
-c4 c c
-\bar "" \break
-c |
-c4 c c c |
+mesure ; LilyPond vous le signalera par un message lors de la
+compilation du fichier. 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 ""}.
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+ c4 c c
+ \bar ""
+ \break
+ c |
+ c4 c c c |
+}
@end lilypond
LilyPond ignorera un @code{\break} placé sur une barre à la fin d'une
mesure dès lors que la précédente avait une note en suspend -- c'est
typiquement le cas lorsqu'un n-olet est à cheval sur deux mesures.
-L'instruction @code{\break} sera alors opérationnelle si vous avez
+L'instruction @code{\break} sera toutefois opérationnelle si vous avez
auparavant désactivé le @code{Forbid_line_break_engraver} du contexte
@code{Voice} concerné. Notez bien qu'en pareil cas, les sauts de ligne
forcés doivent être saisis au sein d'une expression polyphonique :
@lilypond[quote,ragged-right,verbatim]
\new Voice \with {
\remove "Forbid_line_break_engraver"
-} \relative c'' {
+} \relative {
<<
- { c2. \tuplet 3/2 { c4 c c } c2. | }
+ { c''2. \tuplet 3/2 { c4 c c } c2. | }
{ s1 | \break s1 | }
>>
}
ligature s'étend sur deux mesures consécutives. Il faut en ce cas là
introduire la dérogation @w{@code{\override Beam.breakable = ##t}}.
-@lilypond[quote,ragged-right,relative=2,verbatim]
-\override Beam.breakable = ##t
-c2. c8[ c | \break
-c8 c] c2. |
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+ \override Beam.breakable = ##t
+ c2. c8[ c | \break
+ c8 c] c2. |
+}
@end lilypond
L'instruction opposée, @code{\noBreak}, interdira toute tentative de
saut de ligne à la fin de la mesure où elle est explicitée.
+Au sein même d'une pièce, les sauts de lignes automatiques sont inhibés
+dans la musique encadrée par les commandes @code{\autoLineBreaksOff} et
+@code{\autoLineBreaksOn}. Dans le cas où les sauts de pages
+automatiques devraient eux aussi être inhibés, ce sont les commandes
+@code{\autoBreaksOff} et @code{\autoBreaksOn} qu'il faudrait utiliser.
+Les sauts de ligne ou de page manuels ne sont pas affectés par ces
+commandes. Notez bien que la désactivation du positionnement
+automatique des sauts des ligne peut avoir pour effet un débordement de
+la musique dans la marge de droite si tout ne peut être contenu sur une
+ligne.
+
+Des sauts de ligne automatiques peuvent cependant être autorisés en un
+point particulier à l'aide d'un @code{\once \autoLineBreaksOn} sur une
+barre de mesure. Ceci ne concerne pas les sauts de page. Ceci indique
+qu'un saut de ligne peut intervenir à cet endroit précis, mais ne le
+force en aucun cas.
+
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
@end example
@predefined
-@funindex \break
@code{\break},
-@funindex \noBreak
-@code{\noBreak}.
+@code{\noBreak},
+@code{\autoBreaksOff},
+@code{\autoBreaksOn},
+@code{\autoLineBreaksOff},
+@code{\autoLineBreaksOn}.
@endpredefined
+@snippets
+
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
+{using-an-extra-voice-for-breaks.ly}
+
@seealso
Manuel de notation :
@ref{Le bloc layout},
Morceaux choisis :
@rlsrnamed{Spacing,Espacements}.
+@knownissues
+
+Les commandes @code{\autoLineBreaksOff} et @code{\autoBreaksOff} doivent
+impérativement se placer après le début de la musique pour éviter tout
+message d'erreur.
+
@node Sauts de page
@subsection Sauts de page
* Saut de page manuel::
* Optimisation des sauts de page::
* Minimisation des sauts de page::
+* Présentation en page continue::
+* Présentation en ligne continue::
* Présentation en rouleau::
* Optimisation des tournes::
@end menu
@unnumberedsubsubsec Saut de page manuel
@translationof Manual page breaking
+@cindex manuel, saut de page
+@funindex \pageBreak
+@funindex \noPageBreak
+@funindex \autoPageBreaksOn
+@funindex \autoPageBreaksOff
+
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 aussi le
-saut de ligne.
+Elles permettent de forcer, ou d'interdire, un saut de page à la
+prochaine barre de mesure. Comme on peut s'y attendre,
+@code{\pageBreak} force aussi 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.
+Au sein même d'une pièce, les sauts de page automatiques sont inhibés
+dans la musique encadrée par les commandes @code{\autoPageBreaksOff} et
+@code{\autoPageeBreaksOn}. Les sauts de page manuels ne sont pas
+affectés par ces commandes.
+
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é. @code{ragged-bottom}, une fois
@ref{Variables d'espacement vertical fixe}.
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 :
+LilyPond dispose de plusieurs algorithmes en la matière :
@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
@end example
@predefined
-@funindex \pageBreak
@code{\pageBreak},
-@funindex \noPageBreak
-@code{\noPageBreak}.
+@code{\noPageBreak},
+@code{\autoPageBreaksOn},
+@code{\autoPageBreaksOff}.
@endpredefined
@seealso
Morceaux choisis :
@rlsrnamed{Spacing,Espacements}.
+@knownissues
+
+Le préfixe @code{\once} est ineffectif en ce qui concerne les commandes
+@code{\autoPageBreaksOn} et @code{\autoPageBreaksOff}. Si le
+positionnement automatique des sauts de page est désactivé et qu'il est
+réactivé pour permettre un saut de page, il doit le rester pendant
+quelques mesures (le nombre précis de mesures dépendant de la pièce)
+avant d'être à nouveau désactivé, autrement l'opportunité de passer à la
+page suivante ne sera pas saisie.
+
@node Optimisation des sauts de page
@unnumberedsubsubsec Optimisation des sauts de page
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}.
+n'a aucune notion de ce qu'est une « tourne ».
@seealso
Morceaux choisis :
@rlsrnamed{Spacing,Espacements}.
-@node Présentation en rouleau
-@unnumberedsubsubsec Présentation en rouleau
+@node Présentation en page continue
+@unnumberedsubsubsec Présentation en page continue
+@translationof One-page page breaking
+
+@funindex ly:one-page-breaking
+
+La fonction @code{ly:one-page-breaking} constitue un algorithme de
+calcul des sauts de page particulier en ceci que la hauteur de page sera
+automatiquement ajustée à la longueur de la partition, de telle sorte
+que toute la musique tienne sur une seule page. La variable
+@code{paper-height} du bloc @code{\paper} est ignorée, mais les autres
+réglages restent disponibles. En particulier, l'espacement entre le
+dernier système (ou un @emph{markup} de premier niveau) et le pied de
+page est réglable à l'aide de la variable @code{last-bottom-spacing}
+du bloc @code{\paper}. La largeur de page n'est, par défaut, pas
+modifiée ; ceci peut s'ajuster à l'aide de la variable
+@code{paper-width} du bloc @code{\paper}.
+
+@knownissues
+@code{ly:one-page-breaking} est à ce jour incompatible avec
+l'utilisation de @code{\bookpart}.
+
+
+@node Présentation en ligne continue
+@unnumberedsubsubsec Présentation en ligne continue
@translationof One-line page breaking
@funindex ly:one-line-breaking
La fonction @code{ly:one-line-breaking} constitue un algorithme de
-calcul des sauts de pages particulier en ceci que chaque partition fait
+calcul des sauts de page particulier en ceci que chaque partition fait
l'objet d'une page unique, d'une seule ligne. Cette fonctionnalité
s'affranchit de l'impression des titres et marges ; seule la partition
est affichée.
modifiée.
+@node Présentation en rouleau
+@unnumberedsubsubsec Présentation en rouleau
+@translationof One-line-auto-height page breaking
+
+@funindex ly:one-line-auto-height-breaking
+
+La fonction @code{ly:one-line-auto-height-breaking} opère comme
+@code{ly:one-line-breaking}, à ceci près que la hauteur de page s'adapte
+automatiquement à la hauteur de la musique. Dans les faits, la variable
+@code{paper-height} du bloc @code{\paper} s'ajuste de façon à englober
+la hauteur de la partition la plus étendue, plus les @code{top-margin}
+et @code{bottom-margin}.
+
+L'affectation d'une valeur à @code{top-system-spacing} influencera le
+positionnement vertical de la musique. Sa désactivation -- valorisation
+à @code{##f} au sein du bloc @code{\paper} -- aura pour effet de
+simplement placer la musique entre les marges supérieure et inférieure.
+
+
@node Optimisation des tournes
@unnumberedsubsubsec Optimisation des tournes
@translationof Optimal page turning
silences. Lorsqu'il rencontre un fragment suffisamment 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
+« barre spéciale » -- telle une double barre -- auquel cas il y
déposera le @code{\allowPageTurn}.
@funindex minimumPageTurnLength
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
+temps au début et à la fin de la reprise pour que l'exécutant puisse
+aisément 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}.
@code{Page_turn_engraver}, au risque de les voir se contredire.
-@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
-avec ces deux instructions dérogatoires :
-
-@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
-}
-
-music = \relative c'' { c8 c c c }
-
-\score {
- \new Staff {
- \repeat unfold 2 { \music } \break
- \repeat unfold 4 { \music } \break
- \repeat unfold 6 { \music } \break
- \repeat unfold 8 { \music } \pageBreak
- \repeat unfold 8 { \music } \break
- \repeat unfold 6 { \music } \break
- \repeat unfold 4 { \music } \break
- \repeat unfold 2 { \music }
- }
- \layout {
- \context {
- \Score
- \override NonMusicalPaperColumn.line-break-permission = ##f
- \override NonMusicalPaperColumn.page-break-permission = ##f
- }
- }
-}
-@end lilypond
-
-@snippets
-@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
-{using-an-extra-voice-for-breaks.ly}
-
-@seealso
-Morceaux choisis :
-@rlsrnamed{Spacing,Espacements}.
-
-
@node Espacement vertical
@section Espacement vertical
@translationof Vertical spacing
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
+@w{@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 : c'est le
cas pour la propriété @code{nonstaff-relatedstaff-spacing} qui spécifie
}
labelContext =
#(define-music-function
- (parser location context)
+ (context)
(string?)
#{ s1*0^\markup { \upright {\typewriter #context } } #})
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é). Le positionnement
-d'une ligne de non-portée dépend donc à la fois des portées tout
-comme des autres lignes de non-portée adjacentes. L'affectation
-d'une faible valeur à la propriété @code{stretchability} de l'un
-de ces types d'espacement les avantagera ; leur affecter une
-grande valeur aura pour conséquence de diminuer leur influence.
-
-@c FIXME
-@c traduction approximative des dernières phrases, qui manquent de
-@c précision : QUI EST AVANTAGÉ OU NON ?
-@ignore
- This means that the placement of a non-staff line depends
-on both the surrounding staves and the surrounding non-staff lines.
-Setting the @code{stretchability} of one of these types of spacing to
-a small value will make that spacing dominate. Setting the
-@code{stretchability} to a large value will make that spacing have
-little effect.
-@end ignore
+d'une ligne de non-portée dépend donc à la fois des portées qui
+l'entourent tout comme des autres lignes de non-portée adjacentes.
+L'affectation d'une faible valeur à la propriété @code{stretchability}
+de l'un de ces types d'espacement l'avantagera ; lui affecter une
+valeur élevée aura pour conséquence de diminuer l'influence de
+l'espacement considéré.
@item nonstaff-nonstaff-spacing
Il s'agit de la distance entre deux lignes de non-portée selon
@seealso
Manuel de notation :
-@ref{Variables d'espacement vertical fluctuant},
-@ref{Modification de listes associatives}.
+@ref{Modification de listes associatives},
+@ref{Variables d'espacement vertical fluctuant}.
Fichiers d'initialisation :
@file{ly/engraver-init.ly},
@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
+des contextes de « 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
positionnement vertical absolu sur la page.
@code{NonMusicalPaperColumn.line-break-system-details} prend en charge
-une liste associative de trois mises au point :
+une liste associative de quatre mises au point :
@itemize
@item @code{X-offset}
@item @code{Y-offset}
+@item @code{extra-offset}
@item @code{alignment-distances}
@end itemize
une voix spécifique. La mise en forme est ainsi séparée des événements
musicaux ; ceci nous permettra d'y voir plus clair au fur et à
mesure que nous avancerons. Pour plus de précisions, relisez
-@ref{Sauts explicites}.
+@ref{Sauts}.
-Les @code{\break} explicites répartissent la musique en lignes de six
+Les @code{\break} 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} détermine ici le point de départ de chacun des systèmes
de la page.
+Contrairement au positionnement absolu accessible par @code{Y-offset} et
+@code{X-offset}, il est possible d'opter pour un positionnement relatif
+à l'aide de la propriété @code{extra-offset} des
+@code{line-break-system-details}. Le placement sera relatif à la mise en
+forme par défaut ou au positionnement absolu géré par @code{X-offset} et
+@code{Y-offset}. La propriété @code{extra-offset} prend en argument une
+@code{paire} constituée des déplacements sur les axes horizontal et
+vertical.
+
+@lilypond[verbatim,quote,staffsize=16]
+\header { tagline = ##f }
+\paper { left-margin = 0\mm }
+\book {
+ \score {
+ <<
+ \new Staff <<
+ \new Voice {
+ s1*5 \break
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
+ #'((extra-offset . (0 . 10)))
+ s1*5 \break
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
+ #'((extra-offset . (0 . 10)))
+ 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
+
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
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.
+Les nombres fournis à @code{X-offset}, @code{Y-offset},
+@code{extra-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}
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 ; nous les appellerons @qq{objets extérieurs à la portée}.
+nuances ; nous les appellerons « objets extérieurs à la portée ».
La règle adoptée par 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.
@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
+Une liste des @code{outside-staff-priorities} est disponible à la
+rubrique @rlearning{La propriété outside-staff-priority}.
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+ 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 des objets extérieurs à la portée se contrôle
par la propriété @code{outside-staff-padding}.
@c KEEP LY
-@lilypond[quote,ragged-right,relative=2,verbatim,staffsize=18]
-\once \override TextScript.outside-staff-padding = #0
-a'4-"outside-staff-padding = #0"
-\once \override TextScript.outside-staff-padding = #3
-d-"outside-staff-padding = #3"
-c-"outside-staff-padding par défaut"
-b-"outside-staff-padding par défaut"
-R1
+@lilypond[quote,ragged-right,verbatim,staffsize=18]
+\relative {
+ \once \override TextScript.outside-staff-padding = #0
+ a'4-"outside-staff-padding = #0"
+ \once \override TextScript.outside-staff-padding = #3
+ d-"outside-staff-padding = #3"
+ c-"outside-staff-padding par défaut"
+ b-"outside-staff-padding par défaut"
+ R1
+}
@end lilypond
Par défaut, les objets extérieurs à la portée sont positionnés en
objet pour éviter qu'il ne soit trop proche d'ventuelles lignes
supplémentaires.
-@lilypond[quote,ragged-right,relative=2,verbatim]
-c4^"Word" c c''2
-R1
-\once \override TextScript.outside-staff-horizontal-padding = #1
-c,,4^"Word" c c''2
+@lilypond[quote,ragged-right,verbatim]
+\relative {
+ c''4^"Word" c c''2
+ R1
+ \once \override TextScript.outside-staff-horizontal-padding = #1
+ c,,4^"Word" c c''2
+}
@end lilypond
@seealso
de note ; pour la noire , cet espace est de deux têtes ; il
est de trois pour la blanche.
-@lilypond[quote,verbatim,relative=1]
-c2 c4. c8
-c4. c8 c4. c8
-c8 c c4 c c
+@lilypond[quote,verbatim]
+\relative c' {
+ c2 c4. c8
+ c4. c8 c4. c8
+ c8 c c4 c c
+}
@end lilypond
@code{spacing-increment} est normalement défini à 1,2 espace de
La courte durée la plus fréquente est déterminée à partir de la note la
plus courte de chaque mesure. C'est elle qui servira de base pour
l'espacement, à cette nuance près que la plus courte durée ne saurait
-être strictement supérieure à la croche. Cette @qq{durée de référence}
-est d'ailleurs affichée lorsque vous lancez @code{lilypond} avec l'option
-@option{--verbose}.
+être strictement supérieure à la croche.
Ces durées peuvent être adaptées. Vous pouvez définir la durée de base
pour les espacements grâce à la propriété
doubles croches à l'exemple précédent, elles seraient suivies d'une
demie largeur de tête :
-@lilypond[quote,verbatim,relative=2]
-c2 c4. c8 | c4. c16[ c] c4. c8 | c8 c c4 c c
+@lilypond[quote,verbatim]
+\relative { c''2 c4. c8 | c4. c16[ c] c4. c8 | c8 c c4 c c }
@end lilypond
-Dans notre @emph{Essai sur la gravure musicale automatisée}, nous avons
-vu comment la direction des hampes peut influencer l'espacement -- voir
-@ressay{Espacement}. Ceci est contrôlé par la propriété
-@code{stem-spacing-correction} de l'objet @rinternals{NoteSpacing}, créé
-pour chaque contexte @rinternals{Voice}. L'objet
-@code{StaffSpacing}, généré au niveau d'un contexte @rinternals{Staff},
-possède une même propriété qui contrôlera l'espacement hampe-barre de
-mesure. L'exemple suivant montre ces adaptations, tout d'abord selon
-les réglages par défaut, puis avec des corrections forcées.
+Comme le met en évidence notre @emph{Essai sur la gravure musicale
+automatisée}, la direction des hampes peut influencer l'espacement -- voir
+@ressay{Espacement} et s'ajuster à l'aide de la propriété
+@code{stem-spacing-correction} de l'objet @rinternals{NoteSpacing} créé
+pour chaque contexte @rinternals{Voice}.
+
+L'objet @code{StaffSpacing}, généré au niveau d'un contexte
+@rinternals{Staff}, possède une même propriété qui contrôlera
+l'espacement hampe-barre de mesure.
+
+L'exemple suivant montre ces adaptations, tout d'abord selon les
+réglages par défaut, puis avec des corrections forcées.
@lilypond[quote,ragged-right]
-{
- c'4 e''4 e'4 b'4 |
- b'4 e''4 b'4 e''4 |
+\fixed c' {
+ c4 e'4 e4 b4 |
+ b4 e'4 b4 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 |
+ c4 e'4 e4 b4 |
+ b4 e'4 b4 e'4 |
}
@end lilypond
@knownissues
Il n'existe pas de mécanisme simple et efficace qui permette de
forcer manuellement l'espacement. La solution ci-dessous permet
-cependant @qq{d'aérer} artificiellement une partition ; il vous
+cependant « d'aérer » artificiellement une partition ; il vous
suffit d'ajuster la valeur du décalage @emph{(padding)} autant que de
besoin.
@node Changement d'espacement en cours de partition
@subsection Changement d'espacement en cours de partition
-@translationof New spacing area
+@translationof New spacing section
@cindex espacement, modification en cours de partition
@cindex notes, espacement horizontal
@code{\newSpacingSection} ; ils produiront leurs effets jusqu'à ce
qu'ils soient à nouveau modifiés par une nouvelle section, comme ici :
-@lilypond[relative=1,verbatim,quote]
-\time 4/16
-c16[ c c8]
-\newSpacingSection
-\override Score.SpacingSpanner.spacing-increment = #2
-c16[ c c8]
-\newSpacingSection
-\revert Score.SpacingSpanner.spacing-increment
-c16[ c c8]
+@lilypond[verbatim,quote]
+\relative c' {
+ \time 4/16
+ c16[ c c8]
+ \newSpacingSection
+ \override Score.SpacingSpanner.spacing-increment = #2
+ c16[ c c8]
+ \newSpacingSection
+ \revert Score.SpacingSpanner.spacing-increment
+ c16[ c c8]
+}
@end lilypond
@seealso
@lilypond[verbatim,line-width=12\cm]
\score {
- \relative c'' {
- g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
+ \relative {
+ g'4 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 |
@lilypond[verbatim,line-width=12\cm]
\score {
- \relative c'' {
- g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
+ \relative {
+ g'4 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 |
les notes sans tenir compte des clefs, barres de mesure ou notes
d'ornement qui pourraient apparaître :
-@lilypond[quote,ragged-right,relative=2,verbatim]
+@lilypond[quote,ragged-right,fragment,verbatim]
\override Score.SpacingSpanner.strict-note-spacing = ##t
-\new Staff { c8[ c \clef alto c \grace { c16 c } c8 c c] c32[ c] }
+\new Staff \relative {
+ c''8[ c \clef alto c \grace { c16 c } c8 c c] c32[ c] }
@end lilypond
@seealso
Intéressons-nous maintenant au @code{Separating_line_group_engraver},
qui est désactivé pour la plupart des partitions en notation
proportionnelle. Voici ce qui apparaît dans une partition
-traditionnelle : il y a toujours un @qq{espace préservé} juste
+traditionnelle : il y a toujours un « espace préservé » juste
avant la première note de chaque portée.
@lilypond[quote,verbatim,ragged-right]
Les éléments non musicaux tels que métrique, armure, clef et
altérations, posent problème lorsqu'on travaille en notation
proportionnelle. Bien qu'aucune notion de durée ne leur soit
-attachée, ces éléments @qq{consomment} de l'espace. Différentes
+attachée, ces éléments « consomment » de l'espace. Différentes
approches permettent cependant de gérer ce problème.
Éviter les problèmes d'espacement avec l'armure est chose aisée :
@item
Éviter ou réduire les objets qui augmentent la hauteur des systèmes.
-Par exemple, un crochet de reprise ou d'alternative consomme de
-l'espace. Le fait de les reporter sur plusieurs systèmes regroupés
-diminue d'autant l'espace disponible que si seul le premier ne
-comportait l'indication. Autre exemple, les indications de nuance qui
-se @qq{détachent} d'un système peuvent être rapprochées de la portée :
-
-@lilypond[verbatim,quote,relative=1]
-e4 c g\f c
-e4 c g-\tweak X-offset #-2.7 \f c
+Par exemple, un crochet d'alternative en fin de reprise consomme de
+l'espace. Dans le cas où il s'étend sur deux systèmes, il occupera
+plus d'espace que si seul le premier comportait l'indication. Autre
+exemple, les indications de nuance qui se « détachent » d'un système
+peuvent être rapprochées de la portée :
+
+@lilypond[verbatim,quote]
+\relative e' {
+ e4 c g\f c
+ e4 c g-\tweak X-offset #-2.7 \f c
+}
@end lilypond
@item
@lilypond[verbatim,quote]
\score {
- \relative c'' {
- g4 e e2 |
+ \relative {
+ g'4 e e2 |
f4 d d2 |
c4 d e f |
g4 g g2 |
Par contre, le fait de modifier la valeur de la propriété
@code{common-shortest-duration} en passant de @code{1/4} à @code{1/2}
-- bien que la noire soit la durée la plus courante, nous prenons une
-valeur plus longue -- donnera un effet @qq{resserré} à la musique :
+valeur plus longue -- donnera un effet « resserré » à la musique :
@lilypond[verbatim,quote]
\score {
- \relative c'' {
- g4 e e2 |
+ \relative {
+ g'4 e e2 |
f4 d d2 |
c4 d e f |
g4 g g2 |