@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 47c20999a49c7c77167089761a4dd964884e53fe
+ Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5
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.17.11"
+@c \version "2.19.21"
@c Translators: Frédéric Chiasson, Jean-Charles Malahieude
> 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
pages attachées au bloc @code{\paper}.
@menu
-* Le bloc \paper::
+* Le bloc paper::
* Format du papier et adaptation automatique::
* Variables d'espacement vertical fixe::
* Variables d'espacement vertical fluctuant::
* Variables d'espacement horizontal::
-* Autres variables du bloc \paper::
+* Autres variables du bloc paper::
@end menu
-@node Le bloc \paper
-@subsection Le bloc @code{\paper}
-@translationof The \paper block
+@node Le bloc paper
+@subsection Le bloc @code{@bs{}paper}
+@translationof The paper block
Des blocs @code{\paper} peuvent apparaître à trois différents endroits
et former ainsi une hiérarchie :
La plupart des variables gérant le papier ne sont fonctionnelles que
lorsque mentionnées dans un bloc @code{\paper}. Certaines, qui peuvent
toutefois apparaître dans un bloc @code{\layout}, sont référencées à la
-rubrique @ref{Le bloc \layout}.
+rubrique @ref{Le bloc layout}.
Sauf mention contraire, toutes les variables du bloc @code{\paper} qui
correspondent à des dimensions sont exprimées en millimètre -- vous
Manuel de notation :
@ref{Format du papier et adaptation automatique},
@ref{Titrages personnalisés}.
-@ref{Le bloc \layout}.
+@ref{Le bloc layout}.
Fichiers d'initialisation :
@file{ly/paper-defaults-init.ly}.
LilyPond génère par défaut, et en l'absence de mention explicite d'un
format de papier particulier, un fichier imprimable au format A4.
Vous pouvez cependant utiliser un autre format à l'aide des deux
-fonctions @code{set-default-paper-size} et @code{set-paper-size}
-qui, elle, se place à l'intérieur d'un bloc @code{\paper} :
+fonctions :
+
+@table @code
+@item set-default-paper-size
@example
#(set-default-paper-size "quarto")
@end example
-qui se place en début de fichier, ou @code{set-paper-size},
+qui se place en début de fichier, et
+
+@item set-paper-size
@example
\paper @{
@end example
qui s'inscrit au sein d'un bloc @code{\paper}.
+@end table
-@noindent
La seule restriction à l'utilisation isolée de la fonction
@code{set-default-paper-size} est qu'elle doit intervenir avant le
premier bloc @code{\paper}. @code{set-default-paper-size} fixe le
#(set-paper-size "mon format")
@}
@end example
-
+
Les unités peuvent s'exprimer aussi bien en @code{in} (pouces), qu'en
@code{cm} (centimètres) ou @code{mm} (millimètres).
voir avec la mise à l'échelle.
L'adaptation automatique affecte les dimensionnements verticaux
-@code{top-margin} et @code{bottom-margin} -- voir
+@code{top-margin} et @code{bottom-margin} -- voir
@ref{Variables d'espacement vertical fixe} --, ainsi que les
dimensionnements horizontaux @code{left-margin}, @code{right-margin},
@code{inner-margin}, @code{outer-margin}, @code{binding-offset},
@node Variables d'espacement vertical fixe
@subsection Variables d'espacement vertical fixe
-@translationof Fixed vertical spacing \paper variables
+@translationof Fixed vertical spacing paper variables
@warning{Certains dimensionnements attachés au bloc @code{@bs{}paper}
sont automatiquement ajustés selon le format du papier, ce qui peut
@node Variables d'espacement vertical fluctuant
@subsection Variables d'espacement vertical fluctuant
-@translationof Flexible vertical spacing \paper variables
+@translationof Flexible vertical spacing paper variables
Il est souvent judicieux d'apporter un peu de flexibilité à l'espacement
entre différents éléments (marges, titres, systèmes ou mouvements), en
@example
\paper @{
- system-system-spacing #'basic-distance = #8
+ system-system-spacing.basic-distance = #8
score-system-spacing =
#'((padding . 1)
@node Liste des variables d'espacement vertical fluctuant
@unnumberedsubsubsec Liste des variables d'espacement fluctuant
-@translationof List of flexible vertical spacing \paper variables
+@translationof List of flexible vertical spacing paper variables
Le nom des dimensionnements à hauteur variable sont de la forme
@code{@var{avant}-@var{après}-spacing}, où @code{@var{avant}} et
@node Variables d'espacement horizontal
@subsection Variables d'espacement horizontal
-@translationof Horizontal spacing \paper variables
+@translationof Horizontal spacing paper variables
@warning{Certains dimensionnements attachés au bloc @code{@bs{}paper}
sont automatiquement ajustés selon le format du papier, ce qui peut
@node Variables de marge et de largeur
@unnumberedsubsubsec Variables de marge et de largeur
-@translationof \paper variables for widths and margins
+@translationof paper variables for widths and margins
Les valeurs par défaut (avant étalonnage) sont définies dans le fichier
@file{ly/paper-defaults-init.ly}.
@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
largeur (non @emph{ragged}). La valeur par défaut est de @code{10\mm}
et s'ajustera selon le format du papier. Lorsque vous définissez
@code{line-width} et @code{left-margin}, sans modifier la valeur de
-@code{right-margin}, cette dernière sera alors égale à
+@code{right-margin}, cette dernière sera alors égale à
@code{(paper-width @minus{} line-width @minus{} left-margin)}.
Lorsque seule @code{line-width} est définie, les deux marges
correspondent à
(@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
@node Variables spécifiques à l'impression recto-verso
@unnumberedsubsubsec Variables spécifiques à l'impression recto-verso
-@translationof \paper variables for two-sided mode
+@translationof paper variables for two-sided mode
Les valeurs par défaut (avant étalonnage) sont définies dans le fichier
@file{ly/paper-defaults-init.ly}.
@node Variables d'indentation et de décalage
@unnumberedsubsubsec Variables d'indentation et de décalage
-@translationof \paper variables for shifts and indents
+@translationof paper variables for shifts and indents
Les valeurs par défaut (avant étalonnage) sont définies dans le fichier
@file{ly/paper-defaults-init.ly}.
@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
@rlsrnamed{Spacing, Espacements}.
-@node Autres variables du bloc \paper
-@subsection Autres variables du bloc @code{\paper}
-@translationof Other \paper variables
+@node Autres variables du bloc paper
+@subsection Autres variables du bloc @code{@bs{}paper}
+@translationof Other paper variables
@menu
* Variables de gestion des sauts de ligne::
@node Variables de gestion des sauts de ligne
@unnumberedsubsubsec Variables de gestion des sauts de ligne
-@translationof \paper variables for line breaking
+@translationof paper variables for line breaking
@table @code
@node Variables de gestion des sauts de page
@unnumberedsubsubsec Variables de gestion des sauts de page
-@translationof \paper variables for page breaking
+@translationof paper variables for page breaking
Les valeurs par défaut sont définies dans le fichier
@file{ly/paper-defaults-init.ly}.
Pénalité pour apparition d'une page blanche en cours de partition.
L'attribution d'une valeur élevée à @code{blank-page-penalty}
alors qu'a été activé @code{ly:page-turn-breaking} forcera
-LilyPond à éviter de placer une page blanche au mileu de la
+LilyPond à éviter de placer une page blanche au mileu de la
partition, quitte à espacer d'autant plus la musique pour remplir
cette page blanche et la suivante. La valeur par défaut est
de @code{5}.
@node Variables de gestion des numéros de page
@unnumberedsubsubsec Variables de gestion des numéros de page
-@translationof \paper variables for page numbering
+@translationof paper variables for page numbering
Les valeurs par défaut sont définies dans le
fichier @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
@node Variables supplémentaires
@unnumberedsubsubsec Variables supplémentaires
-@translationof Miscellaneous \paper variables
+@translationof Miscellaneous paper variables
@table @code
tagline = ##f
}
\score {
- \relative c'' { c1 \break c1 \break c1 }
+ \relative { c''1 \break c1 \break c1 }
}
}
@end lilypond
partition.
@menu
-* Le bloc \layout::
+* Le bloc layout::
* Définition de la taille de portée::
@end menu
-@node Le bloc \layout
-@subsection Le bloc @code{\layout}
-@translationof The \layout block
+@node Le bloc layout
+@subsection Le bloc @code{@bs{}layout}
+@translationof The layout block
@funindex \layout
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
@cindex fonte, définition de la taille
@cindex portée, définition de la taille
@funindex layout file
+@funindex magnification->font-size
+@funindex magstep
+@funindex set-global-staff-size
+@funindex layout-set-staff-size
La @strong{taille de portée} @emph{(staff size)} est fixée par défaut à
-20 points. Il existe deux manières de la modifier :
+20 points, ce qui correspond à 7,03 cm -- 1 point équivaut à
+100/7227 pouce, soit 2 540/7 227 mm. Il existe trois manières de la
+modifier :
+
+@enumerate
+@item
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}.
@end example
@noindent
-Ceci définit donc la hauteur des portées à 14 points par
+Ceci définit donc la hauteur des portées à 14 points (4,92 mm) par
défaut ; 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 :
+@item
+La taille d'une partition particulière au sein d'un ouvrage se définit à
+l'aide d'un @code{layout-set-staff-size} placé dans le bloc
+@code{\layout} approprié :
@example
\score@{
@dots{}
\layout@{
- #(layout-set-staff-size 15)
+ #(layout-set-staff-size 14)
@}
@}
@end example
+@item
+L'affectation d'une taille particulière à l'une des portées d'un
+système, LilyPond dispose de la commande @code{\magnifyStaff}. Par
+exemple, les partitions traditionnelles de musique de chambre avec piano
+présentaient souvent des portées de piano de 7 mm alors que les autres
+portées étaient gravées à une hauteur de cinq septièmes (s'il y avait
+assez de place) ou trois cinquièmes (en cas de présentation resserrée)
+de cette hauteur. Une proportion de 5/7 s'obtient se libelle ainsi :
+
+@example
+\score @{
+ <<
+ \new Staff \with @{
+ \magnifyStaff #5/7
+ @} @{ @dots{} @}
+ \new PianoStaff @{ @dots{} @}
+ >>
+@}
+@end example
+
+Si la valeur de @code{fontSize} à utiliser est connue, la forme suivante
+peut s'employer :
+
+@example
+\score @{
+ <<
+ \new Staff \with @{
+ \magnifyStaff #(magstep -3)
+ @} @{ @dots{} @}
+ \new PianoStaff @{ @dots{} @}
+ >>
+@}
+@end example
+
+Mieux vaut éviter de réduire l'épaisseur des lignes si l'on veut que la
+partition s'approche au plus près des canons de la gravure
+traditionnelle.
+
+@end enumerate
+
+
+@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
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 matériel de location moderne ?
+@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 matériel de location moderne ?
@end multitable
-@end quotation
-
-Ces fontes sont disponibles dans 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 :
@menu
* Sauts de ligne::
* Sauts de page::
-* Optimisation des sauts de page::
-* Optimisation des tournes::
-* Minimisation des sauts de page::
-* Présentation en rouleau::
-* Sauts explicites::
-* Recours à une voix supplémentaire pour gérer les sauts::
@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
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 nolet est à cheval sur deux mesures.
+typiquement le cas lorsqu'un n-olet est à cheval sur deux mesures.
L'instruction @code{\break} sera alors 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
@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 | }
>>
}
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},
@ref{Variables de gestion des sauts de ligne}.
Référence des propriétés internes :
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
@translationof Page breaking
+Cette section présente les différentes méthodes de gestion des sauts de
+page, ainsi que les moyens de les modifier.
+
+@menu
+* Saut de page manuel::
+* Optimisation des sauts de page::
+* Minimisation des sauts de page::
+* Présentation en rouleau::
+* Optimisation des tournes::
+@end menu
+
+
+@node Saut de page manuel
+@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 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} 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{Variables d'espacement vertical fixe}.
+équivalents au niveau de la verticalité. @code{ragged-bottom}, une fois
+activé, empèchera les systmèes de se répartir sur la page. Quant à
+@code{ragged-last-bottom} (valorisé à @code{#t} par défaut), il laissera
+un espace vide en dernière page, y compris pour cahque @code{\bookpart}.
+Pour de plus amples détails, reportez-vous à
+@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 :
@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
-@subsection Optimisation des sauts de page
+@unnumberedsubsubsec Optimisation des sauts de page
@translationof Optimal page breaking
@funindex ly:optimal-breaking
@rlsrnamed{Spacing,Espacements}.
+@node Minimisation des sauts de page
+@unnumberedsubsubsec 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} :
+
+@example
+\paper @{
+ page-breaking = #ly:minimal-breaking
+@}
+@end example
+
+@seealso
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
+
+@node Présentation en rouleau
+@unnumberedsubsubsec Présentation en rouleau
+@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
+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.
+
+La largeur de page est ajustée de telle sorte que la pièce la plus
+longue tienne sur une seule ligne. En particulier, les variables
+@code{paper-width}, @code{line-width} et @code{indent} du bloc
+@code{\paper} seront ignorées ; les @code{left-margin} et
+@code{right-margin} seront honorées. La hauteur de page ne sera pas
+modifiée.
+
+
@node Optimisation des tournes
-@subsection Optimisation des tournes
+@unnumberedsubsubsec Optimisation des tournes
@translationof Optimal page turning
@funindex ly:page-turn-breaking
@code{Page_turn_engraver}, au risque de les voir se contredire.
-@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} :
-
-@example
-\paper @{
- page-breaking = #ly:minimal-breaking
-@}
-@end example
-
-@seealso
-Morceaux choisis :
-@rlsrnamed{Spacing,Espacements}.
-
-
-@node Présentation en rouleau
-@subsection Présentation en rouleau
-@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
-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.
-
-La largeur de page est ajustée de telle sorte que la pièce la plus
-longue tienne sur une seule ligne. En particulier, les variables
-@code{paper-width}, @code{line-width} et @code{indent} du bloc
-@code{\paper} seront ignorées ; les @code{left-margin} et
-@code{right-margin} seront honorées. La hauteur de page ne sera pas
-modifiée.
-
-
-@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
-
-@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
-musique = \relative c'' @{ c4 c c c @}
-
-\score @{
- \new Staff @{
- \repeat unfold 2 @{ \musique @} \break
- \repeat unfold 3 @{ \musique @}
- @}
-@}
-@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 spé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]
-music = \relative c'' { c4 c c c }
-
-\score {
- \new Staff <<
- \new Voice {
- s1 * 2 \break
- s1 * 3 \break
- s1 * 6 \break
- s1 * 5 \break
- }
- \new Voice {
- \repeat unfold 2 { \music }
- \repeat unfold 3 { \music }
- \repeat unfold 6 { \music }
- \repeat unfold 5 { \music }
- }
- >>
-}
-@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]
-music = \relative c'' { c4 c c c }
-
-\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 { \music }
- \repeat unfold 3 { \music }
- \repeat unfold 6 { \music }
- \repeat unfold 5 { \music }
- }
- >>
-}
-@end lilypond
-
-@seealso
-Manuel de notation :
-@ref{Espacement vertical}.
-
-Morceaux choisis :
-@rlsrnamed{Spacing,Espacements}.
-
-
@node Espacement vertical
@section Espacement vertical
@translationof Vertical spacing
@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{Dynamics} @tab mi-hauteur du « m »
@item @code{FiguredBass} @tab point le plus haut
@item @code{FretBoards} @tab ligne supérieure
@end multitable
alignToZero = \with {
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #zero-space
\override VerticalAxisGroup.nonstaff-nonstaff-spacing = #zero-space
+ \override VerticalAxisGroup.staff-affinity = #DOWN
+ \remove Text_engraver % avoid having two
+ \consists Text_engraver
}
lowerCaseChords = \with {
chordNameLowercaseMinor = ##t
}
-staffAffinityDown = \with {
- \override VerticalAxisGroup.staff-affinity = #DOWN
-}
labelContext =
#(define-music-function
(parser location context)
(string?)
- #{ s1*0^\markup { \typewriter #context } #})
+ #{ s1*0^\markup { \upright {\typewriter #context } } #})
\layout {
\context { \Dynamics \alignToZero }
\context { \FiguredBass \alignToZero }
\context { \Lyrics \alignToZero }
- \context { \NoteNames \alignToZero \staffAffinityDown }
- \context { \ChordNames \alignToZero
- \staffAffinityDown
- \lowerCaseChords }
- \context { \FretBoards \alignToZero \staffAffinityDown }
+ \context { \NoteNames \alignToZero }
+ \context { \ChordNames \alignToZero \lowerCaseChords }
+ \context { \FretBoards \alignToZero }
\context { \Score
- \override BarLine.stencil = ##f
+ \omit BarLine
\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
+ \override InstrumentName.minimum-Y-extent = #'(-1 . 2)
+ \textLengthOn
+ \omit TimeSignature
}
}
%% 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 | } }
+ \new ChordNames { \chords { \labelContext "ChordNames" g1:m } }
+ \new NoteNames { s1 |\labelContext "NoteNames" g1 | }
+ \new Lyrics { \lyrics { \skip 1*2 | \labelContext "Lyrics" ghijk1 | } }
+ \new RhythmicStaff \with { instrumentName = #"ligne de base (baseline) " } s1*3
>>
-%% Le point de référence de Dynamics est le milieu de la ligne
+%% Le point de référence de Dynamics est le milieu du « m » dans la fonte
<<
- \new RhythmicStaff {
- \set RhythmicStaff.instrumentName = #"centre vertical "
- \labelContext "Dynamics" s1*3
- }
- \new Dynamics { s1\mp s\fp }
+ \new Dynamics { \labelContext "Dynamics" s1\mp s\fp }
+ \new RhythmicStaff \with { instrumentName = #"mid-hauteur " } s1*3
>>
%% 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 } }
+ \new FiguredBass { \labelContext "FiguredBass" \figuremode { <6 5>1 } }
+ \new RhythmicStaff \with { instrumentName = #"point le plus haut " } s1
>>
%% 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
- }
+ \new FretBoards { \labelContext "FretBoards" \chordmode { e1 } }
+ \new RhythmicStaff \with { instrumentName = #"ligne du haut " } s1
>>
@end lilypond
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.
+groupe.
Les @i{regroupements 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 :
+propriétés suivantes :
@itemize
@item Propriétés du @code{VerticalAxisGroup} :
@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}.
+objet de rendu @code{VerticalAxisGroup} auxquel est attaché le
+@rinternals{Axis_group_engraver}.
L'espacement des lignes de non-portée est géré par les propriétés
suivantes :
de la commande @code{\overrideProperty} :
@example
-\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((X-offset . 20))
+\overrideProperty NonMusicalPaperColumn.line-break-system-details
+ #'((X-offset . 20))
-\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 40))
+\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
+ #'((X-offset . 20)
+ (Y-offset . 40))
-\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((alignment-distances . (15)))
+\overrideProperty NonMusicalPaperColumn.line-break-system-details
+ #'((alignment-distances . (15)))
-\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((X-offset . 20)
- (Y-offset . 40)
- (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.
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{Recours à une voix supplémentaire pour gérer les sauts}.
+@ref{Sauts}.
Les @code{\break} explicites répartissent la musique en lignes de six
mesures chacune. L'espacement vertical est celui que LilyPond attribue
<<
\new Staff <<
\new Voice {
- \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 0))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
+ #'((Y-offset . 0))
s1*5 \break
- \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 40))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
+ #'((Y-offset . 40))
s1*5 \break
- \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 80))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
+ #'((Y-offset . 60))
s1*5 \break
}
\new Voice { \repeat unfold 15 { c'4 c' c' c' } }
<<
\new Staff <<
\new Voice {
- \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 20)
- (alignment-distances . (15)))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
+ #'((Y-offset . 20)
+ (alignment-distances . (10)))
s1*5 \break
- \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 60)
- (alignment-distances . (15)))
+ \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)))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
+ #'((Y-offset . 85)
+ (alignment-distances . (20)))
s1*5 \break
}
\new Voice { \repeat unfold 15 { c'4 c' c' c' } }
<<
\new Staff <<
\new Voice {
- \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 0)
- (alignment-distances . (30 10)))
+ \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)))
+ \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)))
+ \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' } }
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}.
+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'^"Ce texte est placé au plus près de la note"
+a'4-"outside-staff-padding = #0"
\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"
+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
é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.
+se trouvent horizontalement trop proches. Comme l'illustre l'exemple
+suivant, la propriété @code{outside-staff-horizontal-padding} permet
+d'accroître l'espace horizontal requis et repoussera verticalement un
+objet pour éviter qu'il ne soit trop proche d'ventuelles lignes
+supplémentaires.
@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
+c4^"Word" c c''2
R1
\once \override TextScript.outside-staff-horizontal-padding = #1
-c,,4^"Text"
-c4
-c''2
+c,,4^"Word" c c''2
@end lilypond
@seealso
* Généralités sur l'espacement horizontal::
* Changement d'espacement en cours de partition::
* Modification de l'espacement horizontal::
-* Longueur de ligne::
+* Largeur de ligne::
* Notation proportionnelle::
@end menu
est de trois pour la blanche.
@lilypond[quote,verbatim,relative=1]
-c2 c4. c8 c4. c8 c4. c8 c8
-c8 c4 c4 c4
+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é
demie largeur de tête :
@lilypond[quote,verbatim,relative=2]
-c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
+c2 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
+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
}
@end lilypond
-L'espacement spécifique à la notation proportionnelle fait l'objet d'une
+L'espacement spécifique à la notation proportionnelle fait l'objet d'une
@rusernamed{Notation proportionnelle,rubrique dédiée}.
@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 |
@end lilypond
@snippets
-L'espacement au sein d'un nolet dépend par défaut d'un certain nombre de
+L'espacement au sein d'un n-olet dépend par défaut d'un certain nombre de
facteurs qui ne sont pas liés à la durée (altération, changement de
clef, etc.). @code{Score.SpacingSpanner.uniform-stretching}
-permet d'ignorer ces symboles et, par voie de conséquence, forcer
+permet d'ignorer ces symboles et, par voie de conséquence, de forcer
l'espacement sur la simple durée. Notez bien que cette propriété
s'appliquera à toute la partition, puisque mentionnée au sein d'un bloc
@code{\layout}.
\score {
<<
\new Staff {
- \tuplet 5/4 {
- c8 c8 c8 c8 c8
- }
- c8 c8 c8 c8
+ \tuplet 5/4 { c8 c8 c8 c8 c8 } c8 c8 c8 c8
}
\new Staff {
- c8 c8 c8 c8
- \tuplet 5/4 {
- c8 c8 c8 c8 c8
- }
+ c8 c8 c8 c8 \tuplet 5/4 { c8 c8 c8 c8 c8 }
}
>>
\layout {
@lilypond[quote,ragged-right,relative=2,verbatim]
\override Score.SpacingSpanner.strict-note-spacing = ##t
-\new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
+\new Staff { c8[ c \clef alto c \grace { c16 c } c8 c c] c32[ c] }
@end lilypond
@seealso
@rlsrnamed{Spacing,Espacements}.
-@node Longueur de ligne
-@subsection Longueur de ligne
-@translationof Line length
+@node Largeur de ligne
+@subsection Largeur de ligne
+@translationof Line width
@cindex saut de page
@cindex pages, saut
Commençons par cette mesure toute simple qui utilise l'espacement
classique et justifiée à gauche.
+@c The initial pitch is not necessary as long as RhythmicStaff is
+@c not preceded by other material in the score, but we don't want
+@c to explain that.
@lilypond[quote,verbatim,ragged-right]
\score {
<<
\new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \tuplet 5/4 {
- c'16 c'16 c'16 c'16 c'16
- }
+ c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
}
>>
}
\score {
<<
\new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \tuplet 5/4 {
- c'16 c'16 c'16 c'16 c'16
- }
+ c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
}
>>
\layout {
\score {
<<
\new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \tuplet 5/4 {
- c'16 c'16 c'16 c'16 c'16
- }
+ c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
}
>>
\layout {
\score {
<<
\new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \tuplet 5/4 {
- c'16 c'16 c'16 c'16 c'16
- }
+ c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
}
>>
\layout {
\score {
<<
\new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \tuplet 5/4 {
- c'16 c'16 c'16 c'16 c'16
- }
+ c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
}
>>
\layout {
notation proportionnelle met en évidence le rythme au détriment de
l'espacement horizontal.
-Examinons à présent le moyen d'optimiser l'espacement de nolets en
+Examinons à présent le moyen d'optimiser l'espacement de n-olets en
tuilage.
Reprenons notre exemple de départ, avec son espacement traditionnel, et
-ajoutons lui une portée incluant un autre type de nolet.
+ajoutons lui une portée incluant un autre type de n-olet.
@lilypond[quote,verbatim,ragged-right]
\score {
<<
\new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \tuplet 5/4 {
- c'16 c'16 c'16 c'16 c'16
- }
+ c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
}
\new RhythmicStaff {
- \tuplet 9/8 {
- c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
- }
+ \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 }
}
>>
}
L'espacement est loin d'être idéal, pour la simple raison que
l'espacement régulier des notes de la portée inférieure ne s'étire pas
uniformément. Il est vrai que de telles constructions complexes en
-nolets sont assez rares en gravure traditionnelle, ce qui explique que
+n-olets sont assez rares en gravure traditionnelle, ce qui explique que
les règles qu'elle applique peuvent amener à ce résultat. Le recours à
@code{proportionalNotationDuration} permet d'arranger les choses.
\score {
<<
\new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \tuplet 5/4 {
- c'16 c'16 c'16 c'16 c'16
- }
+ c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
}
\new RhythmicStaff {
- \tuplet 9/8 {
- c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
- }
+ \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 }
}
>>
\layout {
\score {
<<
\new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \tuplet 5/4 {
- c'16 c'16 c'16 c'16 c'16
- }
+ c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
}
\new RhythmicStaff {
- \tuplet 9/8 {
- c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
- }
+ \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 }
}
>>
\layout {
@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
+ c''8 8 8 \clef alto 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
+ c''8 8 8 \clef alto d' 2
}
@end lilypond
@itemize
@item @code{\override SpacingSpanner.strict-grace-spacing = ##t}
-@item @code{tupletFullLength = ##t}
+@item @code{\set tupletFullLength = ##t}
@item @code{\override Beam.breakable = ##t}
@item @code{\override Glissando.breakable = ##t}
@item @code{\override TextSpanner.breakable = ##t}
@end itemize
Ces différents réglages permettent un espacement strict des notes
-d'ornement, d'étendre les indications de nolet afin d'indiquer de façon
+d'ornement, d'étendre les indications de n-olet afin d'indiquer de façon
évidente leurs bornes et d'autoriser le tronçonnement des extenseurs à
l'occasion d'un saut de ligne ou de page. Nous vous renvoyons aux
différentes rubriques associées du manuel pour chacun de ces réglages.
la mise en page consiste à activer, au sein du bloc @code{\paper}, la
fonction @code{annotate-spacing} :
-@c need to have \book{} otherwise we get the separate systems. -hwn
-@lilypond[verbatim,quote]
-#(set-default-paper-size "a6" 'landscape)
+@lilypond[verbatim,quote,papersize=a6landscape]
\book {
\score { { c4 } }
\paper { annotate-spacing = ##t }
@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
+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 |
@lilypond[verbatim,quote]
\score {
- \relative c'' {
- g4 e e2 |
+ \relative {
+ g'4 e e2 |
f4 d d2 |
c4 d e f |
g4 g g2 |
\layout {
\context {
\Score
- \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/2)
+ \override SpacingSpanner.common-shortest-duration =
+ #(ly:make-moment 1/2)
}
}
}