@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: bdff8baf5bce0c4c456ebbf292ba8fc771e4bd31
+ Translation of GIT committish: d46572826e777ed3e9fa4656535a6e9000f2ed9e
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.6"
+@c \version "2.17.30"
@c Translators: Frédéric Chiasson, Jean-Charles Malahieude
Les réglages qui influencent la mise en forme se placent dans deux blocs
différents. Le bloc @w{@code{\paper @{@dots{}@}}} étudié à la rubrique
@ref{Mise en forme de la page} contient les réglages applicables à
-l'intégralité du document -- à toutes les partitions d'un ouvrage --
+toutes les partitions d'une partie ou de l'intégralité d'un ouvrage --
tels que format du papier, impression ou non des numéros de page, etc.
Quant au bloc @w{@code{\layout @{@dots{}@}}}, qui fait l'objet de la
rubrique @ref{Mise en forme de la partition}, il détermine la mise en
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 @code{\paper} block
+@node Le bloc paper
+@subsection Le bloc @code{@bs{}paper}
+@translationof The paper block
-Un bloc @code{\paper} peut apparaître au sein d'un bloc @code{\book}.
-Les réglages effectués à l'aide du bloc @code{\paper} s'appliqueront à
-l'intégralité d'un ouvrage, qui peut comporter plusieurs partitions (des
-blocs @emph{score}) ; il ne doit donc en aucun cas se trouver dans un
-bloc @code{\score}. Peuvent apparaître dans un bloc @code{\paper} :
+Des blocs @code{\paper} peuvent apparaître à trois différents endroits
+et former ainsi une hiérarchie :
+
+@itemize
+
+@item
+En début de fichier source, avant même tout bloc @code{\book},
+@code{\bookpart} ou @code{\score}.
+
+@item
+Au sein d'un bloc @code{\book} et indépendamment de tout bloc
+@code{\bookpart} ou @code{\score} qu'il pourrait contenir.
+
+@item
+Au sein d'un bloc @code{\bookpart}, mais en dehors de tout bloc
+@code{\score}.
+
+@end itemize
+
+Un bloc @code{\paper} ne doit donc en aucun cas prendre place au sein
+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
+d'être remplacées à un niveau hiérarchique inférieur.
+
+Plusieurs blocs @code{\paper} peuvent cohabiter à un même niveau,
+notamment en raison de la présence d'inclusion de fichiers. Dans une
+telle éventualité, les champs sont regroupés par niveau, la dernière
+valeur rencontrée ayant préséance en cas de doublon.
+
+Peuvent apparaître dans un bloc @code{\paper} :
@itemize
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}.
@translationof Setting the paper size
LilyPond génère par défaut, et en l'absence de mention explicite d'un
-format de papier, 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} :
+format de papier particulier, un fichier imprimable au format A4.
+Vous pouvez cependant utiliser un autre format à l'aide des deux
+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
Différents formats de papier sont définis dans le fichier
@file{scm/paper.scm}. Bien que vous puissiez y ajouter votre propre
format, sachez cependant que celui-ci est écrasé à chaque mise à jour de
-LilyPond.
+LilyPond. Les différents formats disponibles sont répertoriés à
+l'annexe @ref{Formats de papier prédéfinis}.
@c An appendix entry exists for paper sizes but is not auto-generated
@cindex à l'italienne, papier
Le fait d'ajouter l'argument @code{'landscape} à l'instruction
-stipulant le format du papier, permet d'obtenir une présentation à
+stipulant le format du papier permet d'obtenir une présentation à
l'italienne -- ou paysage si vous préférez -- et donc des lignes plus
longues.
#(set-default-paper-size "a6" 'landscape)
@end example
-C'est bien la feuille qui sera basculée, et non la musique.
+L'inversion des dimensions du papier sans pour autant basculer la
+présentation -- comme pour imprimer sur une carte postale ou créer un
+graphique destiné à inclusion -- s'obtient en ajoutant @samp{landscape}
+au nom du format de papier :
+
+@example
+#(set-default-paper-size "a6landscape")
+@end example
+
+Lorsque la taille du papier comporte explicitement @samp{landscape} ou
+@samp{portrait}, la présence d'un argument @code{'landscape} aura pour
+seul effet de modifier l'orientation de l'image et non les dimensions de
+la feuille.
@seealso
Manuel de notation :
@node Variables d'espacement vertical fixe
@subsection Variables d'espacement vertical fixe
-@translationof Fixed vertical spacing @code{\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 @code{\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
@node Liste des variables d'espacement vertical fluctuant
@unnumberedsubsubsec Liste des variables d'espacement fluctuant
-@translationof List of flexible vertical spacing @code{\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
@menu
* Variables de marge et de largeur::
-* Variables spécifiques pour l'impression recto-verso::
+* Variables spécifiques à l'impression recto-verso::
* Variables d'indentation et de décalage::
@end menu
@node Variables de marge et de largeur
@unnumberedsubsubsec Variables de marge et de largeur
-@translationof @code{\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}.
Lorsqu'elle est activée, cette variable permet de ne pas étendre le
dernier système de façon à occuper toute la longueur de la ligne. La
-valeur par défaut est @code{#f}. Cette variable peut aussi
-se gérer au sein d'un bloc @code{\layout}.
+valeur par défaut est @code{#f}. Cette variable peut aussi se
+gérer au sein d'un bloc @code{\layout}.
@end table
marges gauche et droite.
-@node Variables spécifiques pour l'impression recto-verso
-@unnumberedsubsubsec Variables spécifiques pour l'impression recto-verso
-@translationof @code{\paper} variables for two-sided mode
+@node Variables spécifiques à l'impression recto-verso
+@unnumberedsubsubsec Variables spécifiques à l'impression recto-verso
+@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 @code{\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}.
Tous les systèmes, ainsi que les titres et séparateurs de systèmes,
seront poussés d'autant vers la droite. La valeur par défaut est
-de @code{0.0}.
+de @code{0.0\mm}.
@item indent
@funindex 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 affecterez une valeur. Cette variable peut
-aussi se gérer au sein d'un bloc @code{\layout}.
+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}.
@end table
@rlsrnamed{Spacing, Espacements}.
-@node Autres variables du bloc \paper
-@subsection Autres variables du bloc @code{\paper}
-@translationof Other @code{\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 @code{\paper} variables for line breaking
-
-@c TODO: Mention that ly:optimal-breaking is on by default? -mp
+@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 @code{\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}.
@table @code
-@item blank-after-score-page-penalty
-@funindex blank-after-score-page-penalty
-
-Pénalité pour apparition d'une page blanche entre deux partitions. Sa
-valeur est par défaut inférieure à celle de
-@code{blank-page-penalty} ; nous préférons qu'une page blanche
-s'insère après la fin de la partition plutôt qu'au milieu.
-
-@item blank-last-page-penalty
-@funindex blank-last-page-penalty
-
-Pénalité pour fin de partition intervenant sur une page impaire. La
-valeur par défaut est de @code{0}.
-
-@item blank-page-penalty
-@funindex blank-page-penalty
-
-Pénalité pour apparition d'une page blanche en cours de partition.
-L'algorithme @code{ly:optimal-breaking} n'en tiendra pas compte
-puisqu'il ne conçoit pas la présence d'une page blanche au milieu d'une
-partition. La valeur par défaut est de @code{5}.
-
@item page-breaking
@funindex page-breaking
L'algorithme de calcul des sauts de page à utiliser. Vous avez le choix
-entre @code{ly:minimal-breaking}, @code{ly:page-turn-breaking} et
-@code{ly:optimal-breaking}.
+entre @code{ly:minimal-breaking}, @code{ly:page-turn-breaking},
+@code{ly:one-line-breaking} et @code{ly:optimal-breaking} (activé
+par défaut).
@item page-breaking-system-system-spacing
@funindex page-breaking-system-system-spacing
@end table
+Les variables qui suivent ne sont effectives que lorsque
+l'algorithme @code{page-breaking} adopte la fonction
+@code{ly:page-turn-breaking}. Les sauts de page sont alors
+positionnés de sorte à minimiser le nombre de tournes. Dans la
+mesure où il faut tourner la feuille pour passer d'une page
+impaire à une page paire, sera privilégiée une répartition qui
+présente une dernière page impaire. Les endroits où une tourne
+serait appropriée peuvent s'indiquer à l'aide d'un
+@code{\allowPageTurn} ou laissés à l'appréciation du
+@code{Page_turn_engraver} -- voir @ref{Optimisation des tournes}.
+
+Lorsqu'aucune option n'est satisfaisante pour placer
+judicieusement les tournes, LilyPond peut décider d'insérer une
+page blanche au milieu d'une partition ou entre deux partitions
+successives, voire même finir par une page paire. La valeur des
+trois variables qui suivent peut se voir augmentée de façon à
+diminuer ces risques.
+
+Il s'agit ici de pénalité ; autrement dit, au plus la valeur est
+élevée, au moins l'action associée sera favorisée en regard des
+autres choix.
+
+@table @code
+
+@item blank-page-penalty
+@funindex blank-page-penalty
+
+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
+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}.
+
+@item blank-last-page-penalty
+@funindex blank-last-page-penalty
+
+Pénalité pour fin de partition intervenant sur une page paire.
+L'attribution d'une valeur élevée à @code{blank-last-page-penalty}
+alors qu'a été activé @code{ly:page-turn-breaking} forcera
+LilyPond à éviter de terminer la partition sur une page paire,
+quitte à ajuster les espacements jusqu'à obtenir une page de plus
+ou une de moins. La valeur par défaut est de @code{0}.
+
+@item blank-after-score-page-penalty
+@funindex blank-after-score-page-penalty
+
+Pénalité pour apparition d'une page blanche entre deux partitions. Sa
+valeur est par défaut inférieure à celle de
+@code{blank-page-penalty} ; nous préférons qu'une page blanche
+s'insère après la fin de la partition plutôt qu'au milieu. La
+valeur par défaut est de @code{2}.
+
+@end table
+
@seealso
Manuel de notation :
@ref{Sauts de page},
@node Variables de gestion des numéros de page
@unnumberedsubsubsec Variables de gestion des numéros de page
-@translationof @code{\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}.
+Les valeurs par défaut sont définies dans le
+fichier @file{ly/paper-defaults-init.ly}.
@table @code
+@cindex pages, numérotation automatique
@item auto-first-page-number
@funindex auto-first-page-number
par un éventuel incrément de un. La valeur par défaut
est @code{#f}.
+@cindex pages, numéro de la première
@item first-page-number
@funindex first-page-number
@node Variables supplémentaires
@unnumberedsubsubsec Variables supplémentaires
-@translationof Miscellaneous @code{\paper} variables
+@translationof Miscellaneous paper variables
@table @code
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 @code{\layout} block
+@node Le bloc layout
+@subsection Le bloc @code{@bs{}layout}
+@translationof The layout block
@funindex \layout
Alors que le bloc @code{\paper} définit le formatage des pages pour
-l'intégralité du document, le bloc @code{\layout} s'occupe de la mise en
+l'intégralité du document, le bloc @code{\layout} gère la mise en
forme spécifique à la partition. La mise en forme de la musique peut
concerner toutes les partitions d'un même ouvrage, auquel cas un bloc
@code{\layout} indépendant se placera en tête de fichier. Dans le cas
@end example
qui contient une configuration de @code{\layout} avec
-l'adaptation @code{NoteHead #'font-size}, cette combinaison n'est pas
+l'adaptation @code{NoteHead.font-size}, cette combinaison n'est pas
enregistrée en tant que configuration courante. Notez bien que la
« configuration courante » est lue lorsque la variable est définie, non
lorsqu'elle est utilisée ; par voie de conséquence, le contenu de la
@}
@end example
-Un bloc @code{\layout} qui contient une variable comme ci-dessus, ne
+Un bloc @code{\layout} qui contient une variable comme ci-dessus ne
recopie pas la configuration actuelle ; il utilise en fait le contenu de
@code{layoutVariable} en tant que configuration de base pour les
adaptations ultérieures, en conséquence de quoi toute modification
ci-dessus, le bloc @code{\layout} final contiendra donc :
@example
- TextScript #'padding = #1
- TextScript #'color = #magenta
- Glissando #'thickness = #1.5
- NoteHead #'font-size = #4
- NoteHead #'color = #red
+ TextScript.padding = #1
+ TextScript.color = #magenta
+ Glissando.thickness = #1.5
+ NoteHead.font-size = #4
+ NoteHead.color = #red
@end example
ainsi que les adaptations de @code{indent} et @code{StaffGrouper}.
@code{\layout}, la configuration actuelle ne contiendrait que
@example
- NoteHead #' font-size= #4 % (écrit dans la définition de la variable)
- NoteHead #' color = #red % (ajouté après l'utilisation de la variable)
+ NoteHead.font-size= #4 % (écrit dans la définition de la variable)
+ NoteHead.color = #red % (ajouté après l'utilisation de la variable)
@end example
Une gestion attentive des variables de @code{\layout} se révèle être un
\remove "Forbid_line_break_engraver"
} \relative c'' {
<<
- { c2. \times 2/3 { c4 c c } c2. | }
+ { c2. \tuplet 3/2 { c4 c c } c2. | }
{ s1 | \break s1 | }
>>
}
>>
@end example
-@ignore
-Apparemment, je ne vois pas de "snippet" qui corresponde,
-à moins que ce ne soit pour allécher vers la section
-"4.6 Fitting music onto fewer pages" -JCM
-introduit par 2.7.29 et supprimé par 2.13.30
-@c TODO Check this
-A linebreaking configuration can be saved as a @code{.ly} file
-automatically. This allows vertical alignments to be stretched to
-fit pages in a second formatting run. This is fairly new and
-complicated. More details are available in
-@rlsr{Spacing}.
-@end ignore
-
@predefined
@funindex \break
@code{\break},
a4 b c d |
R1 | % une tourne peut se placer ici
a4 b c d |
- \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
+ \set Staff.minimumPageTurnLength = #(ly:make-moment 5/2)
R1 | % il ne peut pas y avoir de tourne ici
a4 b r2 |
R1*2 | % une tourne peut se placer ici
@endpredefined
@seealso
+Manuel de notation :
+@ref{Variables de gestion des sauts de ligne}.
+
Morceaux choisis :
@rlsrnamed{Spacing,Espacements}.
ragged-bottom = ##t
}
-musique = \relative c'' { c8 c c c }
+music = \relative c'' { c8 c c c }
\score {
\new Staff {
- \repeat unfold 2 { \musique } \break
- \repeat unfold 4 { \musique } \break
- \repeat unfold 6 { \musique } \break
- \repeat unfold 8 { \musique } \pageBreak
- \repeat unfold 8 { \musique } \break
- \repeat unfold 6 { \musique } \break
- \repeat unfold 4 { \musique } \break
- \repeat unfold 2 { \musique }
+ \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 {
@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 }
- }
- >>
+\header { tagline = ##f }
+\paper { left-margin = 0\mm }
+\book {
+ \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
@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 }
- }
- >>
+\header { tagline = ##f }
+\paper { left-margin = 0\mm }
+\book {
+ \score {
+ \new Staff <<
+ \new Voice {
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
+ #'((Y-offset . 0))
+ s1 * 2 \break
+
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
+ #'((Y-offset . 5))
+ s1 * 3 \break
+
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
+ #'((Y-offset . 15))
+ s1 * 6 \break
+
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
+ #'((Y-offset . 30))
+ s1 * 5 \break
+ }
+ \new Voice {
+ \repeat unfold 2 { \music }
+ \repeat unfold 3 { \music }
+ \repeat unfold 6 { \music }
+ \repeat unfold 5 { \music }
+ }
+ >>
+ }
}
@end lilypond
@cindex espacement vertical
L'espacement vertical dépend de trois éléments : la surface
-disponible -- par exemple format de papier et marges --, l'espace qui
-doit séparer les systèmes, et l'espace qui sépare les portées d'un même
+disponible -- format de papier et marges --, l'espace qui doit
+séparer les systèmes, et l'espace qui sépare les portées d'un même
système.
@menu
@unnumberedsubsubsec Propriétés d'espacement au sein d'un système
@translationof Within-system spacing properties
+@funindex staff-affinity
+@funindex staffgroup-staff-spacing
+@funindex staff-staff-spacing
+@funindex nonstaff-unrelatedstaff-spacing
+@funindex nonstaff-relatedstaff-spacing
+@funindex nonstaff-nonstaff-spacing
+@funindex default-staff-staff-spacing
+@funindex minimum-Y-extent
+@funindex extra-offset
+@funindex self-alignment-X
+@funindex X-offset
+@funindex VerticalAxisGroup
+
L'espacement entre les portées est géré par deux jeux de propriétés
d'objet graphique (@emph{grob}). Le premier, associé à l'objet
graphique @code{VerticalAxisGroup}, est créé pour toute ligne de portée
@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
+%% 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
@example
\new Staff \with @{
- \override VerticalAxisGroup.staff-staff-spacing.basic-distance = #10
+ \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10
@} @{ @dots{} @}
\new Staff \with @{
- \override VerticalAxisGroup.staff-staff-spacing =
+ \override VerticalAxisGroup.default-staff-staff-spacing =
#'(('basic-distance . 10)
(minimum-distance . 9)
(padding . 1)
\layout @{
\context @{
\Staff
- \override VerticalAxisGroup.staff-staff-spacing.basic-distance = #10
+ \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10
@}
@}
@end example
@table @code
@item staff-staff-spacing
Il s'agit de la distance entre la portée en cours et la portée qui suit
-au sein du même regroupement, qu'il y ait ou non une ligne de non-portée
+au sein du même regroupement, qu'il y ait ou des lignes de non-portée
(@code{Lyrics} ou autre) entre les deux. Cette propriété ne s'applique
pas à la dernière portée d'un système.
adjacentes . Si vous lui attribuez @code{CENTER}, cette ligne de
non-portée ira se placer à équidistance entre les portées qui
l'encadrent, tout en tenant compte des éventuels risques de collision et
-des autres contraintes d'espacement. Des lignes de non-portée
+autres contraintes d'espacement. Des lignes de non-portée
adjacentes devraient avoir une @code{staff-affinity} allant de haut en
bas -- autrement dit, pas de @code{UP} après un @code{DOWN}.
Une ligne de non-portée en dessous d'un système devrait avoir sa
portée ; à l'inverse, utiliser la propriété @code{staff-affinity}
pour une portée lui fera perdre cette qualité.
-@c TODO: verify last clause below ("even if other...")
-
@item nonstaff-relatedstaff-spacing
Il s'agit de la distance entre la ligne de non-portée en cours et la
portée la plus proche selon la @code{staff-affinity}, à la double
la valeur de @code{staff-affinity} est égale à @code{CENTER}, la valeur
de @code{nonstaff-relatedstaff-spacing} servira à centrer la ligne de
non-portée entre les deux portées adjacentes même si une autre
-non-portée est présente (quelque soit le côté).
+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
@item nonstaff-nonstaff-spacing
Il s'agit de la distance entre deux lignes de non-portée selon
@end table
@seealso
+Manuel de notation :
+@ref{Variables d'espacement vertical fluctuant},
+@ref{Modification de listes associatives}.
+
Fichiers d'initialisation :
@file{ly/engraver-init.ly},
@file{scm/define-grobs.scm}.
et systèmes distribués sur une page.
Une autre approche de l'espacement vertical est le recours à
-@code{NonMusicalPaperColumn #'line-break-system-details}. Alors que
+@code{NonMusicalPaperColumn.line-break-system-details}. Alors que
@code{VerticalAxisGroup} et @code{\paper} gèrent un décalage vertical,
-@code{NonMusicalPaperColumn #'line-break-system-details} spécifiera le
+@code{NonMusicalPaperColumn.line-break-system-details} spécifiera le
positionnement vertical absolu sur la page.
-@code{NonMusicalPaperColumn #'line-break-system-details} prend en charge
+@code{NonMusicalPaperColumn.line-break-system-details} prend en charge
une liste associative de trois mises au point :
@itemize
Le réglage de @code{NonMusicalPaperColumn} s'effectue à l'aide d'une
simple commande @code{\override} au sein d'un bloc @code{\context} ou
-@code{\with}. Dans le cas ou il est stipulé au fil des notes, c'est la
+@code{\with}. Dans le cas où il est stipulé au fil des notes, c'est la
commande spécifique @code{\overrideProperty} qui doit intervenir. Voici
quelques exemples de réglages de @code{NonMusicalPaperColumn} à l'aide
de la commande @code{\overrideProperty} :
@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.
mesure que nous avancerons. Pour plus de précisions, relisez
@ref{Recours à une voix supplémentaire pour gérer les sauts}.
-Les @code{\break} explicites répartissent la musique en lignes de cinq
+Les @code{\break} explicites répartissent la musique en lignes de six
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
<<
\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' } }
les portées et paroles, des valeurs négatives les descendent.
@item
-Dans la mesure où @code{NonMusicalPaperColumn #'line-break-system-details}
+Dans la mesure où @code{NonMusicalPaperColumn.line-break-system-details}
permet de positionner systèmes et portées n'importe où sur une page,
vous pourriez être en contradiction avec les dimensionnements de la
feuille ou bien aboutir à des surimpressions. Soyez donc raisonnable
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
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
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
@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
-@rinternals{StaffSpacing}, généré au niveau d'un contexte @code{Staff},
+@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.
@rusernamed{Notation proportionnelle,rubrique dédiée}.
@seealso
-Morceaux choisis :
-@rlsrnamed{Spacing,Espacements}.
-
Essai sur la gravure musicale automatisée :
@ressay{Espacement}.
+Morceaux choisis :
+@rlsrnamed{Spacing,Espacements}.
+
Référence des propriétés internes :
@rinternals{SpacingSpanner},
@rinternals{NoteSpacing},
cependant @qq{d'aérer} artificiellement une partition ; il vous
suffit d'ajuster la valeur du décalage @emph{(padding)} autant que de
besoin.
+
@example
\override Score.NonMusicalPaperColumn.padding = #10
@end example
@subsection Changement d'espacement en cours de partition
@translationof New spacing area
+@cindex espacement, modification en cours de partition
+@cindex notes, espacement horizontal
+@funindex \newSpacingSection
+
Il arrive, au cours d'un même mouvement, qu'une nouvelle partie modifie
substantiellement la notion de valeur brève et valeur longue. La
commande @code{newSpacingSection} permet alors de réinitialiser les
Dans l'exemple qui suit, le changement de métrique marque le début
d'une nouvelle partie ; remarquez comme les doubles-croches sont
-alors plus espacées :
+alors automatiquent un peu plus espacées :
@lilypond[relative,verbatim,quote]
\time 2/4
@end lilypond
La commande @code{\newSpacingSection} crée un nouvel objet
-@code{SpacingSpanner}, ce qui permet d'appliquer de nouveaux
-@code{\override}s à partir de ce point.
+@code{SpacingSpanner} à cet instant musical. Si toutefois les
+ajustements apportés à l'espacement automatique ne se révélent pas
+satisfaisants, ils peuvent s'adapter à l'aide d'@code{\override}s. Ces
+amendements doivent intervenir au même moment que la commande
+@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]
+@end lilypond
@seealso
Morceaux choisis :
\layout {
\context {
\Score
- \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 16)
+ \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
}
}
}
@snippets
L'espacement au sein d'un nolet 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.). @w{@code{Score.SpacingSpanner #'uniform-stretching}}
-permet d'ignorer ces symboles et, par voie de conséquence, forcer
+clef, etc.). @code{Score.SpacingSpanner.uniform-stretching}
+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 {
- \times 4/5 {
- 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
- \times 4/5 {
- 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
@c Setting indent in \paper block makes not much sense, but it works.
@c Bit verbose and vague, use examples?
-Deux réglages de bases ont une influence considérable sur
+Deux réglages de base ont une influence considérable sur
l'espacement : @code{line-width} et @code{indent}. Tous deux se
placent dans le bloc @code{\layout}. Ils contrôleront la longueur des
lignes et l'indentation de la première.
\score {
<<
\new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
- }
+ c'2 c'16 c' c' c' \tuplet 5/4 { c'16 c' c' c' c' }
}
>>
}
n'en occupent pas la moitié de l'espace horizontal.
En matière de gravure traditionnelle, cet espacement correspond tout à
-fait à nos attentes, puisque nous pouvons rogner l'espace sur la
+fait à nos attentes, puisque nous pouvons rogner de l'espace sur la
blanche et ainsi gagner en largeur sur toute la mesure qui fait une
ronde.
\score {
<<
\new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
- }
+ c'2 c'16 c' c' c' \tuplet 5/4 { c' c' c' c' c' }
}
>>
\layout {
\context {
\Score
- proportionalNotationDuration = #(ly:make-moment 1 20)
+ proportionalNotationDuration = #(ly:make-moment 1/20)
}
}
}
représentent une fraction de ronde. L'appel de
@w{@code{(ly:make-moment 1 20)}} produit donc une durée de référence
égale à un vingtième de ronde. Vous pourriez tout aussi bien utiliser
-@code{(ly:make-moment 1 16)}, @code{(ly:make-moment 1 8)} ou
-@code{(ly:make-moment 3 97)}.
+@code{(ly:make-moment 1/16)}, @code{(ly:make-moment 1/8)} ou
+@code{(ly:make-moment 3/97)}.
Se pose alors le problème de fournir la juste durée de référence à
@code{proportionalNotationDuration}. Il faut en l'occurrence procéder par
\score {
<<
\new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
- }
+ c'2 c'16 c' c' c' \tuplet 5/4 { c'16 c' c' c' c' }
}
>>
\layout {
\context {
\Score
- proportionalNotationDuration = #(ly:make-moment 1 8)
+ proportionalNotationDuration = #(ly:make-moment 1/8)
}
}
}
\score {
<<
\new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
- }
+ c'2 c'16 c' c' c' \tuplet 5/4 { c'16 c' c' c' c' }
}
>>
\layout {
\context {
\Score
- proportionalNotationDuration = #(ly:make-moment 1 16)
+ proportionalNotationDuration = #(ly:make-moment 1/16)
}
}
}
\score {
<<
\new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
- }
+ c'2 c'16 c' c' c' \tuplet 5/4 { c'16 c' c' c' c' }
}
>>
\layout {
\context {
\Score
- proportionalNotationDuration = #(ly:make-moment 1 32)
+ proportionalNotationDuration = #(ly:make-moment 1/32)
}
}
}
\score {
<<
\new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
- }
+ c'2 c'16 c' c' c' \tuplet 5/4 { c'16 c' c' c' c' }
}
\new RhythmicStaff {
- \times 8/9 {
- c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
- }
+ \tuplet 9/8 { c'8 c' c' c' c' c' c' c' c' }
}
>>
}
\score {
<<
\new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
- }
+ c'2 c'16 c' c' c' \tuplet 5/4 { c'16 c' c' c' c' }
}
\new RhythmicStaff {
- \times 8/9 {
- c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
- }
+ \tuplet 9/8 { c'8 c' c' c' c' c' c' c' c' }
}
>>
\layout {
\context {
\Score
- proportionalNotationDuration = #(ly:make-moment 1 20)
+ proportionalNotationDuration = #(ly:make-moment 1/20)
}
}
}
\score {
<<
\new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
- }
+ c'2 c'16 c' c' c' \tuplet 5/4 { c'16 c' c' c' c' }
}
\new RhythmicStaff {
- \times 8/9 {
- c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
- }
+ \tuplet 9/8 { c'8 c' c' c' c' c' c' c' c' }
}
>>
\layout {
\context {
\Score
- proportionalNotationDuration = #(ly:make-moment 1 20)
+ proportionalNotationDuration = #(ly:make-moment 1/20)
\override SpacingSpanner.uniform-stretching = ##t
}
}
}
@end lilypond
-Les éléments non musicaux tels que métrique, armure et clef, 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 approches permettent
-cependant de gérer ce problème.
+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
+approches permettent cependant de gérer ce problème.
Éviter les problèmes d'espacement avec l'armure est chose aisée :
il suffit qu'il n'y en ait pas ! C'est bien souvent le cas en
@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
+ \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
+ c''8 c'' c'' \clef alto d' d'2
}
\new Staff {
- \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+ \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 c'' c'' \clef alto d' 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}
-@item @code{\remove "Forbid_line_break_engraver" (dans un contexte de voix}
+@item @code{\remove "Forbid_line_break_engraver"} (dans un contexte de voix)
@end itemize
Ces différents réglages permettent un espacement strict des notes
@translationof Fitting music onto fewer pages
Vous pourriez un jour être confronté au problème suivant : l'une
-des pages de votre partition ne comporte que deux portées alors que --
-ce qui est d'autant plus frustrant -- l'espace libre sur les autres
+des pages de votre partition ne comporte que deux portées alors que,
+ce qui est d'autant plus frustrant, l'espace libre sur les autres
pages aurait permis une distribution différente.
L'instruction @code{annotate-spacing} se révèle être un outil
@subsection Mise en évidence de l'espacement
@translationof Displaying spacing
-@funindex annotate-spacing
@cindex espacement, affichage des valeurs
+@funindex annotate-spacing
Le meilleur moyen d'appréhender les différentes variables de
dimensionnement vertical sur lesquelles vous pouvez jouer au niveau de
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 }
(@code{staff-spaces}) et la taille de portée (@code{staff-size}) de
20 points -- sa valeur par défaut. Notez que :
-@multitable {1 staff-space} {staff-size)/4 * (25,4/72,27) mm}
+@multitable {1 staff-space} {(staff-size)/4 * (25,4/72,27) mm}
@item 1 point
@tab = (25,4/72,27) mm
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és de la portée :
+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 -\tweak Y-offset #2.5 \f c
+e4 c g-\tweak X-offset #-2.7 \f c
@end lilypond
@item
\layout {
\context {
\Score
- \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1 2)
+ \override SpacingSpanner.common-shortest-duration =
+ #(ly:make-moment 1/2)
}
}
}