@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 0cde75024b6f1210b059c48b624e1026836c96aa
+ Translation of GIT committish: 58aaa226bb22be92f59fec8da680d135666222cc
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@node Blocs de code LilyPond
@section Blocs de code LilyPond
-@translationof Lilypond code blocks
+@translationof LilyPond code blocks
+
+@cindex code, blocs LilyPond
+@cindex LilyPond, bloc de code
+
+@funindex #@{ @dots{} #@}
+@funindex $
+@funindex #
+
+L'utilisation de Scheme pour créer des expressions musicales peut
+s'avérer ardue, principalement à cause des imbrications et de la
+longueur du code Scheme qui en résulte. Dans le cas de tâches
+simples, on peut toutefois contourner une partie du problème en
+utilisant des blocs de code LilyPond, ce qui autorise la syntaxe
+habituelle de LilyPond au sein même de Scheme.
Les blocs de code LilyPond ressemblent à
+
@example
#@{ @var{du code LilyPond} #@}
@end example
-Ils peuvent s'utiliser partout où vous pouvez écrire du code Scheme.
-Le lecteur Scheme est en fait quelque peu adapté pour accepter des blocs
-de code LilyPond ; il est capable de traiter des expressions Scheme
-intégrées débutant par @code{$} ou @code{#}.
+
+En voici un exemple basique :
+
+@lilypond[verbatim,quote]
+ritpp = #(define-event-function (parser location) ()
+ #{ ^"rit." \pp #}
+)
+
+{ c'4 e'4\ritpp g'2 }
+@end lilypond
+
+Les blocs de code LilyPond peuvent s'utiliser partout où vous pouvez
+écrire du code Scheme. Le lecteur Scheme est en fait quelque peu adapté
+pour accepter des blocs de code LilyPond ; il est capable de traiter des
+expressions Scheme intégrées débutant par @code{$} ou @code{#}.
+
+@cindex parser (fonction argument)
+@cindex location
Le lecteur Scheme extrait le bloc de code LilyPond et déclenche un appel
à l'analyseur grammatical de LilyPond (le @code{parser}) qui réalise en
expression Scheme imbriquée est exécutée dans l'environnement lexical du
bloc de code LilyPond, de telle sorte que vous avez accès aux variables
locales et aux paramètres de la fonction au moment même où le bloc de
-code LilyPond est écrit. Lorsque l'@code{emplacement} fait référence à
-un endroit valide dans la source -- ce qui est en général le cas au sein
-de fonctions musicales ou Scheme --, toute la musique générée au sein de
-ce bloc de code voit son @code{origine} établie à cet
-@code{emplacement}.
+code LilyPond est écrit. Les variables définies dans d'autres modules
+Scheme, tels ceux contenant les blocs @code{\header} ou @code{\layout},
+ne sont pas accessibles en tant que variables Scheme (préfixées par
+un @code{#}) mais en tant que variables LilyPond (préfixées par
+un @code{\}).
+
+Lorsque l'emplacement (@code{location} -- voir @ref{Fonctions Scheme})
+fait référence à un endroit valide dans la source -- ce qui est en
+général le cas au sein de fonctions musicales ou Scheme --, toute la
+musique générée au sein de ce bloc de code voit son @code{origine}
+établie à cet @emph{emplacement}.
Un bloc de code LilyPond peut contenir tout ce que vous pourriez mettre
à droite de l'assignation. Par ailleurs, un bloc LilyPond vide
l'analyseur grammatical puisse accéder aux blocs de code LilyPond
(@code{#@{}@dots{}@code{#@}}).
+@item @code{location}
+@tab doit être littéralement @code{location}, de telle sorte que soit
+accessible l'emplacement de l'objet dans la source, aux fins de
+transmettre aux messages d'erreur les fichier et numéro de ligne.
+
@item @code{@var{argN}}
@tab @var{n}ième argument
@tab une séquence de formules Scheme évaluées dans l'ordre, la dernière
servant de valeur de retour de la fonction. Il peut contenir des blocs
de code LilyPond, enchâssés dans des accolades et @emph{hashes} --
-@w{@code{#@{@dots{}#@}}} -- comme indiqué à la rubrique
+@w{@code{#@{@dots{}#@}}} -- comme indiqué à la rubrique
@ref{Blocs de code LilyPond}. Au sein d'un bloc de code LilyPond, un
@code{#} permet de référencer des arguments de la fonction -- tel
@samp{#arg1} -- ou d'ouvrir une expression Scheme contenant les
arguments de la fonction -- par exemple @w{@samp{#(cons arg1 arg2)}}.
Dans le cas où une expression Scheme introduite par @code{#} ne vous
permet pas de parvenir à vos fins, vous pourriez devoir revenir à une
-expression Scheme @qq{immédiate} à l'aide d'un @code{$}, comme
+expression Scheme « immédiate » à l'aide d'un @code{$}, comme
@samp{$music}.
Lorsque votre fonction retourne une expression musicale, lui est
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 785441aeb8cc557217d1b0658ef88d058f58eeb4
+ Translation of GIT committish: 58aaa226bb22be92f59fec8da680d135666222cc
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 785441aeb8cc557217d1b0658ef88d058f58eeb4
+ Translation of GIT committish: 58aaa226bb22be92f59fec8da680d135666222cc
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
La commande qui permet de revenir au comportement par défaut est
@code{\textLengthOff}. Alternativement, lorsque l'instruction
@code{\textLengthOn} se limite à un seul instant musical, vous
-pouvez la préfixer d'un @code{\once}.
+pouvez la préfixer d'un @code{\once}.@*
+LilyPond dispose de commandes équivalentes et dévolues au
+traitement des repères et indications de tempo :
+@code{\markLengthOn} et @code{\markLengthOff}.
@cindex étiquette de texte et collision
@node Utilisation de variables dans les retouches
@subsection Utilisation de variables dans les retouches
-@translationof Using variables for tweaks
+@translationof Using variables for layout adjustments
@cindex variables, utilisation dans les retouches
@cindex utilisation de variables dans les retouches
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 785441aeb8cc557217d1b0658ef88d058f58eeb4
+ Translation of GIT committish: 58aaa226bb22be92f59fec8da680d135666222cc
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
\name ImproVoice
@end example
-Comme il est très semblable à @code{Voice}, nous souhaitons que
-toutes les commandes associées au @code{Voice} déjà existant restent
-valables. D'où nécessité de la commande @code{\alias}, qui va
-l'associer au contexte @code{Voice} :
+Comme il est très semblable à un contexte @code{Voice}, nous
+souhaitons que toutes les commandes associées au @code{Voice} déjà
+existant restent valables. D'où nécessité de la commande
+@code{\alias}, qui va l'associer au contexte @code{Voice} :
@example
\alias Voice
@end example
Ce contexte doit pouvoir imprimer des notes et des indications
-textuelles ; on ajoute donc les graveurs appropriés :
+textuelles ; on ajoute donc les graveurs appropriés ainsi que celui
+dévolu au regroupement sous forme de colonne des notes, hampes et
+silences qui interviennent au même moment musical :
@example
\consists "Note_heads_engraver"
\consists "Text_engraver"
+\consists "Rhythmic_column_engraver"
@end example
-Cependant, on veut que les notes s'affichent toutes au centre de
-la portée :
+Toutes les notes devraient s'afficher au centre de la portée :
@example
\consists "Pitch_squash_engraver"
squashedPosition = #0
@end example
-Le graveur @rinternals{Pitch_squash_engraver} intercepte les notes
-créées par le @rinternals{Note_heads_engraver}, et les « écrase » pour
-qu'elles aient toutes la même position verticale, définie par
-@code{squashedPosition} : ici il s'agit de la valeur @code{0},
-c'est-à-dire la ligne du milieu.
+Le graveur @code{Pitch_squash_engraver} intercepte les notes créées par
+le @code{Note_heads_engraver}, et les « écrase » pour qu'elles aient
+toutes la même position verticale, définie par @code{squashedPosition} :
+ici il s'agit de la valeur @code{0}, c'est-à-dire la ligne du milieu.
On veut que les notes aient la forme d'une barre oblique, sans
aucune hampe :
\type "Engraver_group"
\consists "Note_heads_engraver"
\consists "Text_engraver"
+ \consists "Rhythmic_column_engraver"
\consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead.style = #'slash
Ce n'est pas tout. En effet, on veut intégrer le nouveau contexte
@code{ImproVoice} dans la hiérarchie des contextes. Tout comme le
contexte @code{Voice}, sa place est au sein du contexte @code{Staff}.
-Nous allons donc modifier le contexte @code{Staff},
+Nous allons donc modifier la définition du contexte @code{Staff},
au moyen de la commande @code{\accepts} :
@example
@}
@end example
+@seealso
+
+Référence des propriétés internes :
+@rinternals{Engraver_group},
+@rinternals{Note_heads_engraver},
+@rinternals{Text_engraver},
+@rinternals{Rhythmic_column_engraver},
+@rinternals{Pitch_squash_engraver}.
+
@node Ordonnancement des contextes
@subsection Ordonnancement des contextes
@code{custos}, @code{staff-bar}, @code{left-edge},
@code{key-cancellation}, @code{key-signature}, et @code{time-signature}.
-Ces indications et numéros de mesure sont par défaut centrés
-horizontalement au-dessus de l'objet :
+Chaque objet possède son propre point de référence par défaut, sur
+lequel viendra s'aligner les indications de repère :
@lilypond[verbatim,quote,relative=1]
-% The rehearsal mark will be centered above the Clef
+% The rehearsal mark will be aligned to right edge of the Clef
\override Score.RehearsalMark.break-align-symbols = #'(clef)
\key a \major
\clef treble
de mesure est invisible, à l'endroit même où la barre prendrait place.
@lilypond[verbatim,quote,relative=1]
-% The rehearsal mark will be centered above the Key Signature
+% The rehearsal mark will be aligned to the right edge of the Key Signature
\override Score.RehearsalMark.break-align-symbols = #'(key-signature clef)
\key a \major
\clef treble
\mark "↓"
e1
-% The rehearsal mark will be centered above the Clef
+% The rehearsal mark will be aligned to the right edge of the Clef
\set Staff.explicitKeySignatureVisibility = #all-invisible
\override Score.RehearsalMark.break-align-symbols = #'(key-signature clef)
\key a \major
plusieurs portées, ce réglage devra apparaître dans chacune des portées.
@lilypond[verbatim,quote,relative=1]
-% The RehearsalMark will be centered above the Key Signature
+% The RehearsalMark will be aligned with the right edge of the Key Signature
\override Score.RehearsalMark.break-align-symbols = #'(key-signature)
\key a \major
\clef treble
\time 4/4
\mark "↓"
e1
-% The RehearsalMark will be aligned with the left edge of the Key Signature
-\once \override Score.KeySignature.break-align-anchor-alignment = #LEFT
+% The RehearsalMark will be centered above the Key Signature
+\once \override Score.KeySignature.break-align-anchor-alignment = #CENTER
\mark "↓"
\key a \major
e1
-% The RehearsalMark will be aligned with the right edge of the Key Signature
-\once \override Score.KeySignature.break-align-anchor-alignment = #RIGHT
+% The RehearsalMark will be aligned with the left edge of the Key Signature
+\once \override Score.KeySignature.break-align-anchor-alignment = #LEFT
\key a \major
\mark "↓"
e1
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 785441aeb8cc557217d1b0658ef88d058f58eeb4
+ Translation of GIT committish: 58aaa226bb22be92f59fec8da680d135666222cc
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Chaque bloc @code{\book} apparaissant dans un même fichier source
résultera en un fichier indépendant, comme indiqué à la rubrique
-@ref{Structure de fichier}. Chacun de ces fichiers résultants
-comporte deux endroits où placer des titrages : les @strong{titrages
-de partie} au début de chaque partie (@emph{bookpart}) et les
-@strong{titrages de morceau} avant chaque pièce (@emph{score}). Tous
-deux peuvent comporter les mêmes champs bien que, par défaut, le titrage
+@ref{Structure de fichier}. Chacun de ces fichiers résultants comporte
+trois endroits où placer des titrages : le @strong{titrage de l'ouvrage}
+au début de chaque recueil (@emph{book}), les @strong{titrages de
+partie} au début de chaque partie (@emph{bookpart}) et les
+@strong{titrages de morceau} avant chaque pièce (@emph{score}).
+
+La valeur des champs de titrage @code{title} (le titre) et
+@code{composer} (le compositeur) se définissent dans des blocs
+@code{\header} -- la syntaxe appropriée et la liste des différents
+champs disponibles par défaut sont à la section
+@ref{Mise en forme par défaut des titrages subalternes}.
+Les titrages d'un ouvrage, de ses parties ou des morceaux qu'il contient
+peuvent tous comporter les même champs bien que, par défaut, le titrage
d'un morceau se limite à @code{piece} et @code{opus}.
Les blocs @code{\header} peuvent se placer à quatre endroits différents
autre valeur à un niveau inférieur. Ainsi :
@itemize
+@item
+Le titre d'un ouvrage découle des champs définis en tête de fichier
+source, modifiés par les champs définis au sein du bloc @code{\book}.
+Les champs résultants serviront à affecter un titre de recueil à
+l'ouvrage, si tant est que quoi que ce soit génère une page au début de
+cet ouvrage, avant la première partie -- un simple saut de page forcé
+(@code{\pageBreak}) suffit.
+
@item
Le titre d'une partie découle des champs définis en tête du fichier
source, modifiés par les champs définis au sein du bloc @code{\book}
@cindex breakbefore
+Un bloc @code{\book} qui commencerait directement par un bloc
+@code{\bookpart} ne verra pas ses titrages apparaître puisqu'il n'y a
+aucune page où imprimer le titre. Si toutefois le titre de l'ouvrage
+est requis, le bloc @code{\book} devra commencer par un @emph{markup} ou
+une commande @code{\pageBreak}.
+
La variable @code{breakbefore} activée dans un bloc @code{\header} situé
dans un bloc @code{\score} force le saut de page avant le morceau
contenu dans ce @code{\score}. Vous pourrez ainsi séparer le titre
@example
scoreTitleMarkup = \markup @{ \column @{
- \on-the-fly #print-all-headers @{ \bookTitleMarkup \hspace #1 @}
+ \on-the-fly \print-all-headers @{ \bookTitleMarkup \hspace #1 @}
\fill-line @{
\fromproperty #'header:piece
\fromproperty #'header:opus
@example
@code{variable} = @code{\markup} @{
...
- @code{\on-the-fly} #@var{procédure} @var{markup}
+ @code{\on-the-fly} \@var{procédure} @var{markup}
...
@}
@end example
evenHeaderMarkup = \markup \null
oddFooterMarkup = \markup {
\fill-line {
- \on-the-fly #print-page-number-check-first
+ \on-the-fly \print-page-number-check-first
\fromproperty #'page:page-number-string
}
}
l'autre se cumulent. Ainsi, par exemple,
@example
- @code{\on-the-fly #first-page}
- @code{\on-the-fly #last-page}
+ @code{\on-the-fly \first-page}
+ @code{\on-the-fly \last-page}
@code{@{ \markup ... \fromproperty #'header: ... @}}
@end example
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 785441aeb8cc557217d1b0658ef88d058f58eeb4
+ Translation of GIT committish: 58aaa226bb22be92f59fec8da680d135666222cc
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
clarinettiste peut être amené à jongler avec une clarinette en la et
une autre en si bémol.
-@lilypond[verbatim,quote,relative=2]
-\set Staff.instrumentName = #"Cl (A)"
-\key a \major
-\transposition a
-c d e f
-\textLengthOn
-<>^\markup { Switch to B\flat clarinet }
-R1
-
-\key bes \major
-\transposition bes
-c2 g
+@lilypond[verbatim,quote,]
+flute = \relative c'' {
+ \key f\major
+ \cueDuring #"clarinet" #DOWN {
+ R1 _\markup\tiny "clarinet"
+ c4 f e d
+ R1 _\markup\tiny "clarinet"
+ }
+}
+clarinet = \relative c'' {
+ \key aes \major
+ \transposition a
+ aes4 bes c des
+ R1^\markup { muta in B\flat }
+ \key g \major
+ \transposition bes
+ d2 g,
+}
+\addQuote "clarinet" \clarinet
+<<
+ \new Staff \with { instrumentName = #"Flute" }
+ \flute
+ \new Staff \with { instrumentName = #"Cl (A)" }
+ \clarinet
+>>
@end lilypond
@seealso
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 42c7d5e4608340e96f2f1fe8210a47a2927e4cbb
+ Translation of GIT committish: 58aaa226bb22be92f59fec8da680d135666222cc
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
tenue est un moyen parmi d'autres pour prolonger la durée d'une note,
tout comme les points.}
-Une liaison de tenue s'indique au moyen d'un tilde (@code{~}).
+
+Une liaison de tenue s'indique au moyen d'un tilde (@code{~}) qui
+vient s'adjoindre à la première note de chacune des paires de
+notes à lier. Ceci indique que la note en question sera liée à la
+suivante, qui doit être de la même hauteur.
@lilypond[quote,verbatim,relative=2]
-a2 ~ a
+a2~ a4~ a16 r r8
@end lilypond
Les liaisons de tenue sont utilisées soit lorsque la note dépasse de la
@c KEEP LY
@lilypond[verbatim,quote]
\relative c' {
- r8^"oui" c8 ~ c2 r4 |
- r8^"non" c2 ~ c8 r4
+ r8^"oui" c8~ c2 r4 |
+ r8^"non" c2~ c8 r4
}
@end lilypond
accords.
@lilypond[quote,verbatim,relative=1]
-<c e g> ~ <c e g>
+<c e g>~ <c e g>
<c~ e g~ b> <c e g b>
@end lilypond
une note liée, la liaison doit être répétée, comme ici :
@lilypond[quote,relative=2,verbatim]
-\repeat volta 2 { c g <c e>2 ~ }
+\repeat volta 2 { c g <c e>2~ }
\alternative {
% First alternative: following note is tied normally
{ <c e>2. r4 }
@funindex \laissezVibrer
@funindex laissezVibrer
-Les liaisons @qq{Laissez vibrer} (@notation{L.v.}) sont utilisées pour
+Les liaisons « Laissez vibrer » (@notation{L.v.}) sont utilisées pour
le piano, la harpe et certains instruments de percussion. Elles
indiquent à l'instrumentiste de laisser sonner la note ou l'accord au
lieu de l'étouffer. Elles s'indiquent de la manière suivante :
@funindex tieNeutral
Le positionnement vertical des liaisons de prolongation peut être affiné
--- voir à ce sujet les @qq{commandes prédéfinies} et, pour de plus
+-- voir à ce sujet les « commandes prédéfinies » et, pour de plus
amples détails, @ref{Direction et positionnement}.
@cindex liaison de prolongation, apparence
@lilypond[quote, verbatim, relative=1]
\tieDotted
-c2 ~ c
+c2~ c
\tieDashed
-c2 ~ c
+c2~ c
\tieHalfDashed
-c2 ~ c
+c2~ c
\tieHalfSolid
-c2 ~ c
+c2~ c
\tieSolid
-c2 ~ c
+c2~ c
@end lilypond
Il est même possible d'en personnaliser l'allure :
@lilypond[quote, verbatim, relative=1]
\tieDashPattern #0.3 #0.75
-c2 ~ c
+c2~ c
\tieDashPattern #0.7 #1.5
-c2 ~ c
+c2~ c
\tieSolid
-c2 ~ c
+c2~ c
@end lilypond
Que ce soit pour une tenue ou un phrasé, le motif d'une ligne
d4 g e c
@end lilypond
+@funindex \markLengthOn
+@funindex markLengthOn
+@funindex \markLengthOff
+@funindex markLengthOff
+
+Lorsque plusieurs indications de tempo se suivent tout en étant
+rapprochées l'une de l'autre, comme dans le cas d'une partie où
+l'instrumentiste a de longs moments de silence, les mesures
+s'étirent de telle sorte que ces indications ne se chevauchent
+pas. Ce comportement se gère à l'aide des commandes
+@code{\markLengthOn} et @code{\markLengthOff}.
+
+@lilypond[quote,relative=0]
+\compressFullBarRests
+\tempo "Molto vivace"
+R1*12
+\tempo "Meno mosso"
+R1*16
+@end lilypond
+
@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
{printing-metronome-and-rehearsal-marks-below-the-staff.ly}
\set Timing.measurePosition -@var{durée}
@end example
-De fait, @code{\partial 8} équivaut à :
+De fait, le premier exemple pourrait s'écrire :
@lilypond[quote,verbatim,relative=1]
\time 3/4
e8 | a4 c8 b c4 |
@end lilypond
-La propriété @code{measurePosition} contient un nombre rationnel qui
-indique, à ce point précis, où l'on en est de la mesure. Notez qu'il
-s'agit du résultat d'une soustraction ; @code{\partial 4}
-signifie, pour le programme : @qq{Dans cette mesure, il reste juste
-une noire}.
+La propriété @code{measurePosition} contient un nombre rationnel
+généralement positif et qui indique, à ce point précis, où l'on en
+est de la mesure. La commande @code{\partial @var{durée}} le
+transforme en nombre négatif pour lui attribuer un autre sens : la
+mesure courante (la première) est précédée d'une mesure 0
+(l'anacrouse) dont la longueur est donnée par @var{durée}.
@seealso
Glossaire musicologique :
Une cadence représente un fragment détaché de la notion de mesure, en
dépit des différentes commandes @code{\bar} qu'il pourra comporter.
-Ceci a pour conséquence que toute altération supplémentaire par rapport
-à l'armure devra être rappelée manuellement -- voir @ref{Altérations}.
+L'insertion d'une commande @code{\bar} dans une cadence n'entame
+pas de nouvelle mesure, même si une barre est imprimée. Ceci a
+pour conséquence que toute altération supplémentaire par rapport à
+l'armure -- normalement en vigueur jusqu'à la fin de la mesure --
+sera valide même après une barre insérée grâce à une instruction
+@code{\bar}. Toute altération ultérieure devra donc être rappelée
+manuellement -- voir @ref{Altérations}.
@lilypond[verbatim,relative=2,quote]
c4 d e d
\cadenzaOn
cis4 d cis d
\bar "|"
+% First cis is printed without alteration even if it's after a \bar
cis4 d cis! d
\cadenzaOff
\bar "|"
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 42c7d5e4608340e96f2f1fe8210a47a2927e4cbb
+ Translation of GIT committish: 58aaa226bb22be92f59fec8da680d135666222cc
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
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
@subsection Le bloc @code{\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
@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 :
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 8c414087ca083dbc3cf789c2cf6f85c23b2f56cd
+ Translation of GIT committish: 58aaa226bb22be92f59fec8da680d135666222cc
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@end lilypond
Le positionnement de chacune des lignes de la portée est modifiable.
-Les valeurs s'expriment en @emph{demi} espace de portée, et la nouvelle
-position est déterminée par rapport à la ligne médiane. Une ligne sera
-donc imprimée pour chaque valeur exprimée ; le nombre de lignes,
-ainsi que leur position dans la portée, peut donc se modifier à l'aide
-d'une seule commande.
+Une liste de nombres détermine le positionnement de chaque ligne.
+Le @code{0} correspond à la ligne médiane d'une portée habituelle, pour
+laquelle la liste est donc @code{(-4@tie{}-2@tie{}0@tie{}2@tie{}4)}.
+Une ligne sera donc imprimée pour chaque valeur exprimée ; le nombre de
+lignes, ainsi que leur position dans la portée, peut donc se modifier à
+l'aide d'une seule commande.
@lilypond[verbatim,quote,relative=2]
f4 d \stopStaff
\startStaff g, e
@end lilypond
-La position de la clef et celle du do médium demanderont parfois un
-ajustement afin d'être en phase avec cette nouvelle portée. Pour plus
-d'explications, reportez-vous aux exemples du chapitre @ref{Clefs}.
+Afin de préserver l'orientation habituelle des hampes -- ascendantes
+dans la partie inférieure de la portée, descendantes dans la partie
+supérieure -- la ligne (ou l'interligne) centrale de la portée
+personnalisée devra être en phase avec avec la ligne médiane d'une
+portée classique (0). La position de la clef et celle du do médium
+demanderont parfois un ajustement afin d'être en phase avec cette
+nouvelle portée. Pour plus d'explications, reportez-vous aux exemples
+du chapitre @ref{Clefs}.
Lorsque vous modifierez l'épaisseur des lignes, gardez à l'esprit que
les lignes supplémentaires et les hampes seront aussi modifiées.
portée, notamment lorsque vous l'avez personnalisée. L'exemple suivant
illustre deux cas de figure quant au positionnement des lignes
supplémentaires selon que la propriété @code{legder-position} est
-définie explicitement ou non. La présence du @code{stopStaff} est ici
+définie explicitement ou non. La présence du @code{\stopStaff} est ici
rendue nécessaire pour annuler les effets de la commande
@code{\override} qui s'applique à l'intégralité du @code{StaffSymbol}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 42c7d5e4608340e96f2f1fe8210a47a2927e4cbb
+ Translation of GIT committish: 58aaa226bb22be92f59fec8da680d135666222cc
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
c c
@end lilypond
+@funindex \markLengthOn
+@funindex markLengthOn
+@funindex \markLengthOff
+@funindex markLengthOff
+
+@predefined
+@code{\markLengthOn},
+@code{\markLengthOff}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{printing-marks-at-the-end-of-a-line.ly}