1@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
2
3@ignore
4   Translation of GIT committish: 8c163f2f197eeb545c19c72505e53aec7c713e09
5
6   When revising a translation, copy the HEAD committish of the
7   version that you are working on.  For details, see the Contributors'
8   Guide, node Updating translation committishes..
9@end ignore
10
11@c \version "2.19.21"
12
13@c Translators: Valentin Villenave, Jean-Charles Malahieude
14@c Translation checkers: John Mandereau
15
16
17@node Notation sur la portée
18@section Notation sur la portée
19@translationof Staff notation
20
21@c The line width is a bit of a hack to allow space for the
22@c  instrument names.
23@lilypondfile[quote,ragged-right,line-width=14.5\cm,staffsize=16]
24{snippets/staff-headword.ly}
25
26Cette section aborde les détails de gravure de la portée, la
27réalisation de partitions comprenant plusieurs portées et l'ajout
28d'indications globales d'exécution, présentes sur certaines portées
29seulement.
30
31@menu
32* Gravure des portées::
33* Modification de portées individuelles::
34* Écriture de parties séparées::
35@end menu
36
37
38@node Gravure des portées
39@subsection Gravure des portées
40@translationof Displaying staves
41
42Nous allons voir ici comment créer des portées et comment les regrouper.
43
44@menu
45* Initialisation de nouvelles portées::
46* Regroupement de portées::
47* Imbrication de regroupements de portées::
48* Séparation des systèmes::
49@end menu
50
51
52@node Initialisation de nouvelles portées
53@unnumberedsubsubsec Initialisation de nouvelles portées
54@translationof Instantiating new staves
55
56@cindex nouvelle portée
57@cindex portée, initialisation
58@cindex portée, instanciation
59@cindex portée, nouvelle
60@cindex portée simple
61@cindex portée de batterie
62@cindex portée de percussion
63@cindex batterie, portée
64@cindex percussion, portée
65@cindex portée, transcription de grégorien
66@cindex portée rythmique
67@cindex tablature
68
69@funindex \drummode
70@funindex DrumStaff
71@funindex RhythmicStaff
72@funindex TabStaff
73@funindex MensuralStaff
74@funindex VaticanaStaff
75@funindex GregorianTranscriptionStaff
76
77Les @notation{portées} -- en anglais @emph{staff} (@emph{staves}
78au pluriel) -- sont créées à l'aide des commandes @code{\new} ou
79@code{\context}.  Pour de plus amples détails, consultez
80@ref{Création et référencement d'un contexte}.
81
82Le contexte de portée standard s'appelle @code{Staff} :
83
84@lilypond[verbatim,quote]
85\new Staff \relative { c''4 d e f }
86@end lilypond
87
88Le contexte @code{DrumStaff} crée une portée à cinq lignes correspondant
89à une batterie traditionnelle et chacun des instruments est représenté
90par un symbole spécifique.  Les éléments sont saisis en mode batterie,
91initialisé par la commande @code{\drummode}, chaque composante étant
92spécifiée par son nom.  Pour de plus amples détails, consultez
93@ref{Portées de percussion}.
94
95@lilypond[verbatim,quote]
96\new DrumStaff {
97  \drummode { cymc hh ss tomh }
98}
99@end lilypond
100
101Un @code{RhythmicStaff} est composé d'une portée à ligne unique chargée
102de présenter les valeurs rythmiques saisies.  Seules sont imprimées les
103durées.  Pour de plus amples détails, consultez
104@ref{Gravure de lignes rythmiques}.
105
106@lilypond[verbatim,quote]
107\new RhythmicStaff { c4 d e f }
108@end lilypond
109
110Un @code{TabStaff} crée une portée de tablature correspondant aux six
111cordes d'une guitare standard.  Pour de plus amples détails, consultez
112@ref{Tablatures par défaut}.
113
114@lilypond[verbatim,quote]
115\new TabStaff \relative { c''4 d e f }
116@end lilypond
117
118LilyPond dispose aussi de deux contextes dédiés à la musique
119ancienne : @code{MensuralStaff} et @code{VaticanaStaff}.  Ils sont
120abordés plus en détails au chapitre @ref{Contextes prédéfinis}.
121
122Le contexte @code{GregorianTranscriptionStaff} permet d'obtenir des
123éditions modernes du grégorien.  Bien entendu, il est dépourvu de barres
124de mesure.
125
126@lilypond[verbatim,quote]
127\new GregorianTranscriptionStaff \relative { c''4 d e f e d }
128@end lilypond
129
130Vous pourrez toujours définir d'autres contextes de portée selon vos
131besoins, en suivant les indications fournies au chapitre
132@ref{Définition de nouveaux contextes}.
133
134@morerefs
135Glossaire musicologique :
136@rglos{staff},
137@rglosnamed{staves,portées}.
138
139Manuel de notation :
140@ref{Contextes de musique mensurale},
141@ref{Contextes du chant grégorien},
142@ref{Contextes prédéfinis},
143@ref{Création et référencement d'un contexte},
144@ref{Définition de nouveaux contextes},
145@ref{Gravure de lignes rythmiques},
146@ref{Portées de percussion},
147@ref{Symbole de la portée},
148@ref{Tablatures par défaut}.
149
150Morceaux choisis :
151@rlsrnamed{Staff notation, Notation sur la portée}.
152
153Référence des propriétés internes :
154@rinternals{Staff},
155@rinternals{DrumStaff},
156@rinternals{GregorianTranscriptionStaff},
157@rinternals{RhythmicStaff},
158@rinternals{TabStaff},
159@rinternals{MensuralStaff},
160@rinternals{VaticanaStaff},
161@rinternals{StaffSymbol}.
162
163
164@node Regroupement de portées
165@unnumberedsubsubsec Regroupement de portées
166@translationof Grouping staves
167
168@cindex système, début de
169@cindex crochet vertical
170@cindex accolade verticale
171@cindex portée multiple
172@cindex portées, groupe de
173@cindex portées, regroupement
174@cindex chœur, système
175@cindex piano, système
176@cindex système choral
177@cindex système pianistique
178@cindex système, grand
179@cindex système
180
181LilyPond dispose de différents contextes permettant de regrouper des
182portées individuelles et d'obtenir ainsi des « systèmes ».  Chacun de
183ces contextes définira le style de regroupement, avec son signe
184particulier en début de portée et ses règles de gestion des barres de
185mesure.
186
187Lorsqu'aucun contexte particulier n'est spécifié, les propriétés
188suivantes s'appliqueront par défaut : les portées du groupe ne sont
189pas reliées, hormis par une simple ligne verticale en début de ligne, et
190les barres de mesure sont indépendantes.
191
192@lilypond[verbatim,quote]
193<<
194  \new Staff \relative { c''1 c }
195  \new Staff \relative { c''1 c }
196>>
197@end lilypond
198
199Dans un @code{StaffGroup}, le groupe de portées est signifié par un
200crochet, et les barres de mesure sont d'un seul tenant.
201
202@lilypond[verbatim,quote]
203\new StaffGroup <<
204  \new Staff \relative { c''1 c }
205  \new Staff \relative { c''1 c }
206>>
207@end lilypond
208
209Dans un @code{ChoirStaff}, le groupe de portées est signifié par un
210crochet sur la gauche, et les barres de mesure sont individuelles.
211
212@lilypond[verbatim,quote]
213\new ChoirStaff <<
214  \new Staff \relative { c''1 c }
215  \new Staff \relative { c''1 c }
216>>
217@end lilypond
218
219Dans un @code{GrandStaff}, le groupe de portées est signifié par une
220accolade sur la gauche, et les barres de mesure sont d'un seul tenant.
221
222@lilypond[verbatim,quote]
223\new GrandStaff <<
224  \new Staff \relative { c''1 c }
225  \new Staff \relative { c''1 c }
226>>
227@end lilypond
228
229Le contexte @code{PianoStaff} est identique au @code{GrandStaff}, sauf
230qu'il gère automatiquement l'affichage du nom d'instrument -- voir
231@ref{Noms d'instrument} pour plus de détails.
232
233@lilypond[verbatim,quote]
234\new PianoStaff \with { instrumentName = "Piano" }
235  <<
236  \new Staff \relative { c''1 c }
237  \new Staff \relative { \clef bass c1 c }
238>>
239@end lilypond
240
241Les barres de mesure au début de chaque système adoptent l'un des styles
242@code{SystemStartBar}, @code{SystemStartBrace} ou
243@code{SystemStartBracket}.  Dans chaque contexte, seul l'un de ces
244styles est utilisé, et c'est la propriété @code{systemStartDelimiter}
245qui détermine lequel.  Un quatrième style, @code{SystemStartSquare},
246doit quant à lui être spécifié de manière explicite.
247
248Vous pouvez aussi créer vos propres contextes de regroupement, comme
249l'explique @ref{Définition de nouveaux contextes}.
250
251@snippets
252
253@cindex rectangle en front de regroupement
254@cindex système, rectangle en front
255@cindex regroupement, rectangle en front
256@lilypondfile[verbatim,quote,texidoc,doctitle]
257{snippets/use-square-bracket-at-the-start-of-a-staff-group.ly}
258
259@cindex crochet de regroupement, portée unique
260@cindex portée unique avec crochet de regroupement
261@lilypondfile[verbatim,quote,texidoc,doctitle]
262{snippets/display-bracket-with-only-one-staff-in-a-system.ly}
263
264@cindex présentation mensurale
265@cindex renaissance, musique
266@cindex transcription de musique ancienne
267@cindex musique ancienne, transcription
268@cindex barre de mesure, entre portées
269@lilypondfile[verbatim,quote,texidoc,doctitle]
270{snippets/mensurstriche-layout-bar-lines-between-the-staves.ly}
271
272@morerefs
273Glossaire musicologique :
274@rglosnamed{brace,accolade},
275@rglosnamed{bracket,crochet},
276@rglosnamed{grand staff,système}.
277
278Manuel de notation :
279@ref{Définition de nouveaux contextes},
280@ref{Noms d'instrument}.
281
282Morceaux choisis :
283@rlsrnamed{Staff notation, Notation sur la portée}.
284
285Référence des propriétés internes :
286@rinternals{Staff},
287@rinternals{StaffGroup},
288@rinternals{ChoirStaff},
289@rinternals{GrandStaff},
290@rinternals{PianoStaff},
291@rinternals{SystemStartBar},
292@rinternals{SystemStartBrace},
293@rinternals{SystemStartBracket},
294@rinternals{SystemStartSquare}.
295
296
297@node Imbrication de regroupements de portées
298@unnumberedsubsubsec Imbrication de regroupements de portées
299@translationof Nested staff groups
300
301@cindex portées, regroupement et imbrication
302@cindex systèmes imbriqués
303@cindex imbrication de systèmes
304@cindex délimitation, systèmes imbriqués
305@cindex crochet de regroupement, imbrication
306
307Les accolades et crochets qui délimitent les systèmes peuvent être
308imbriqués en profondeur.  Chaque niveau inférieur aura son propre
309délimiteur, en plus de celui du niveau supérieur.
310
311@lilypond[verbatim,quote]
312\new StaffGroup <<
313  \new Staff \relative { c''2 c | c2 c }
314  \new StaffGroup <<
315    \new Staff \relative { g'2 g | g2 g }
316    \new StaffGroup \with {
317      systemStartDelimiter = #'SystemStartSquare
318    }
319    <<
320      \new Staff \relative { e'2 e | e2 e }
321      \new Staff \relative { c'2 c | c2 c }
322    >>
323  >>
324>>
325@end lilypond
326
327Vous pouvez aussi créer vos propres contextes d'imbrication, comme
328l'explique @ref{Définition de nouveaux contextes}.
329
330@snippets
331@lilypondfile[verbatim,quote,texidoc,doctitle]
332{snippets/nesting-staves.ly}
333
334@morerefs
335Manuel de notation :
336@ref{Définition de nouveaux contextes},
337@ref{Noms d'instrument},
338@ref{Regroupement de portées}.
339
340Morceaux choisis :
341@rlsrnamed{Staff notation,Notation sur la portée}.
342
343Référence des propriétés internes :
344@rinternals{StaffGroup},
345@rinternals{ChoirStaff},
346@rinternals{SystemStartBar},
347@rinternals{SystemStartBrace},
348@rinternals{SystemStartBracket},
349@rinternals{SystemStartSquare}.
350
351
352@node Séparation des systèmes
353@unnumberedsubsubsec Séparation des systèmes
354@translationof Separating systems
355
356@cindex système, indicateur de séparation
357
358Le nombre de systèmes peut varier d'une page à l'autre ; vous
359pouvez, en pareil cas, rendre plus évidente la séparation entre les
360systèmes en l'indiquant visuellement.  Ce « séparateur » est absent par
361défaut, mais vous pouvez l'activer par une option au sein du bloc
362@code{\paper}.
363
364@c \book is required here to display the system separator
365@c ragged-right is required as there are two systems
366@lilypond[verbatim,quote,ragged-right]
367\book {
368  \score {
369    \new StaffGroup <<
370      \new Staff {
371        \relative {
372          c''4 c c c
373          \break
374          c4 c c c
375        }
376      }
377      \new Staff {
378        \relative {
379          c''4 c c c
380          \break
381          c4 c c c
382        }
383      }
384    >>
385  }
386  \paper {
387    system-separator-markup = \slashSeparator
388    % following commands are needed only to format this documentation
389    paper-width = 100\mm
390    paper-height = 100\mm
391    tagline = ##f
392  }
393}
394@end lilypond
395
396@morerefs
397Manuel de notation :
398@ref{Mise en forme de la page}.
399
400Morceaux choisis :
401@rlsrnamed{Staff notation,Notation sur la portée}.
402
403
404@node Modification de portées individuelles
405@subsection Modification de portées individuelles
406@translationof Modifying single staves
407
408Cette section explique le réglage de la gravure de chaque portée,
409comme la taille de portée ou le nombre de lignes ; sont aussi
410décrits la suspension et la reprise de portées, ainsi que les portées
411d'@emph{ossia}.
412
413@menu
414* Symbole de la portée::
415* Portées d'ossia::
416* Masquage de portées::
417@end menu
418
419
420@node Symbole de la portée
421@unnumberedsubsubsec Symbole de la portée
422@translationof Staff symbol
423
424@cindex symbole de portée
425@cindex portée, lignes de
426@cindex lignes de portée, nombre
427@cindex suspension de portée
428@cindex portée, suspension
429@cindex reprise de portée
430@cindex portée, reprise
431@cindex lignes de portée, épaisseur
432@cindex ligne supplémentaire
433
434@funindex \startStaff
435@funindex \stopStaff
436
437Les commandes @code{\stopStaff} et @code{\startStaff} permettent
438respectivement de clôturer et (re)démarrer une portée n'importe où dans
439une partition.
440
441@lilypond[verbatim,quote]
442\relative {
443  \stopStaff f''4 d \startStaff g, e
444  f'4 d \stopStaff g, e
445  f'4 d \startStaff g, e
446}
447@end lilypond
448
449@predefined
450@code{\startStaff},
451@code{\stopStaff}.
452@endpredefined
453
454Les notes, nuances, etc. sont regroupées dans un assemblage de lignes
455horizontales, que l'on nomme la portée (en anglais @emph{staff}, et
456@emph{staves} au pluriel).  Dans LilyPond, ces lignes sont dessinées au
457moyen d'un objet graphique (@emph{grob}) à part entière, nommé
458@code{StaffSymbol} -- symbole de portée.  Modifier les propriétés d'un
459@code{StaffSymbol} changera l'apparence de la portée, dès lors qu'elles
460auront été définies avant de créer la portée en question.
461
462Vous pouvez modifier le nombre de lignes d'une portée :
463
464@lilypond[verbatim,quote]
465\relative {
466  f''4 d \stopStaff
467  \override Staff.StaffSymbol.line-count = #2
468  \startStaff g, e |
469
470  f'4 d \stopStaff
471  \revert Staff.StaffSymbol.line-count
472  \startStaff g, e |
473}
474@end lilypond
475
476Le positionnement de chacune des lignes de la portée est modifiable.
477Une liste de nombres détermine le positionnement de chaque ligne.
478Le @code{0} correspond à la ligne médiane d'une portée habituelle, pour
479laquelle la liste est donc @code{(-4 -2 0 2 4)}.
480Une ligne sera donc imprimée pour chaque valeur exprimée ; le nombre de
481lignes, ainsi que leur position dans la portée, peut donc se modifier à
482l'aide d'une seule commande.
483
484@lilypond[verbatim,quote]
485\relative {
486  f''4 d \stopStaff
487  \override Staff.StaffSymbol.line-positions = #'(1 3 5 -1 -3)
488  \startStaff g, e |
489  f'4 d \stopStaff
490  \override Staff.StaffSymbol.line-positions = #'(8 6.5 -6 -8 -0.5)
491  \startStaff g, e |
492}
493@end lilypond
494
495Afin de préserver l'orientation habituelle des hampes -- ascendantes
496dans la partie inférieure de la portée, descendantes dans la partie
497supérieure -- la ligne (ou l'interligne) centrale de la portée
498personnalisée devra être en phase avec avec la ligne médiane d'une
499portée classique (0).  La position de la clef et celle du do médium
500demanderont parfois un ajustement afin d'être en phase avec cette
501nouvelle portée.  Pour plus d'explications, reportez-vous aux exemples
502du chapitre @ref{Clefs}.
503
504Lorsque vous modifierez l'épaisseur des lignes, gardez à l'esprit que
505les lignes supplémentaires et les hampes seront aussi modifiées.
506
507@lilypond[verbatim,quote,relative=1]
508\new Staff \with {
509  \override StaffSymbol.thickness = #3
510}
511{ e4 d c b }
512@end lilypond
513
514L'épaisseur des lignes supplémentaires (@emph{ledger lines}) peut être
515déterminée indépendamment des lignes de la portée.
516
517@lilypond[verbatim,quote]
518\new Staff \with {
519  \override StaffSymbol.thickness = #2
520  \override StaffSymbol.ledger-line-thickness = #'(0.5 . 0.4)
521} \relative {
522  f'''4 a, a,, f
523}
524@end lilypond
525
526@noindent
527La première valeur est multipliée par l'épaisseur de ligne de portée, la
528seconde par l'espace d'interligne ; ces deux valeurs sont alors
529combinées pour donner la nouvelle épaisseur des lignes supplémentaires.
530
531L'emplacement des lignes supplémentaires est réglable :
532
533@lilypond[verbatim,quote]
534\new Staff \with {
535  \override StaffSymbol.ledger-positions = #'(-3 -2 -1 2 5 6)
536} \relative {
537  f'''4 a, a,, f
538}
539@end lilypond
540
541Vous pouvez faire apparaître des lignes supplémentaires additionnelles
542au-dessus ou en dessous des têtes de note selon leur positionnement
543relatif aux autres notes, qu'elles aient ou non elles-mêmes des lignes
544supplémentaires.
545
546@lilypond[verbatim,quote]
547\new Staff \with {
548  \override StaffSymbol.ledger-extra = #4
549} \relative {
550  f'''4 a, d, f,
551}
552@end lilypond
553
554Des lignes supplémentaires peuvent apparaître y compris au sein d'une
555portée, notamment lorsque vous l'avez personnalisée.  L'exemple suivant
556illustre deux cas de figure quant au positionnement des lignes
557supplémentaires selon que la propriété @code{legder-position} est
558définie explicitement ou non.  La présence du @code{\stopStaff} est ici
559rendue nécessaire pour annuler les effets de la commande
560@code{\override} qui s'applique à l'intégralité du @code{StaffSymbol}.
561
562@lilypond[verbatim,quote,relative=1]
563\override Staff.StaffSymbol.line-positions =   #'(-8 0 2 4)
564d4 e f g
565\stopStaff
566\startStaff
567\override Staff.StaffSymbol.ledger-positions = #'(-8 -6 (-4 -2) 0)
568d4 e f g
569@end lilypond
570
571Modifier l'équidistance des lignes de la portée affectera aussi les
572lignes supplémentaires.
573
574@lilypond[verbatim,quote]
575\new Staff \with {
576  \override StaffSymbol.staff-space = #1.5
577} \relative {
578  f'''4 d, g, e,
579}
580@end lilypond
581
582@snippets
583@lilypondfile[verbatim,quote,texidoc,doctitle]
584{snippets/making-some-staff-lines-thicker-than-the-others.ly}
585
586@morerefs
587Glossaire musicologique :
588@rglosnamed{line,ligne},
589@rglosnamed{ledger line,ligne supplémentaire},
590@rglosnamed{staff,portée}.
591
592Manuel de notation :
593@ref{Clefs}.
594
595Morceaux choisis :
596@rlsrnamed{Staff notation,Notation sur la portée}.
597
598Référence des propriétés internes :
599@rinternals{StaffSymbol},
600@rinternals{staff-symbol-interface}.
601
602
603@node Portées d'ossia
604@unnumberedsubsubsec Portées d'ossia
605@translationof Ossia staves
606
607@cindex portée à la française
608@cindex ossia
609@cindex variante
610@cindex portées, nombre variable de
611@cindex nombre de portées
612
613@funindex \startStaff
614@funindex \stopStaff
615
616Une portée d'@notation{ossia} -- ou de variante -- s'obtient en créant,
617à l'endroit approprié, une nouvelle portée simultanée :
618
619@lilypond[verbatim,quote]
620\new Staff \relative {
621  c''4 b d c
622  <<
623    { c4 b d c }
624    \new Staff { e4 d f e }
625  >>
626  c4 b c2
627}
628@end lilypond
629
630@noindent
631L'exemple ci-dessus n'est probablement pas ce qui vous conviendra le
632plus.  Afin que cette ossia se place au-dessus de la portée à laquelle
633elle se réfère, étant par ailleurs dépourvue de métrique et de clef, et
634d'une taille légèrement inférieure, vous devrez avoir recours à quelques
635retouches.  Le manuel d'initiation aborde une technique particulière
636pour obtenir ce résultat, au chapitre
637@rlearning{Expressions musicales imbriquées}.
638
639L'exemple qui suit utilise, pour aligner la portée d'ossia, la propriété
640@code{alignAboveContext}.  Cette méthode est tout à fait appropriée
641lorsqu'il y a un nombre restreint d'ossias.
642
643@lilypond[verbatim,quote]
644\new Staff = "main" \relative {
645  c''4 b d c
646  <<
647    { c4 b d c }
648
649    \new Staff \with {
650      \remove "Time_signature_engraver"
651      alignAboveContext = "main"
652      \magnifyStaff #2/3
653      firstClef = ##f
654    }
655    { e4 d f e }
656  >>
657  c4 b c2
658}
659@end lilypond
660
661Dans le cas où de nombreux et courts fragments d'ossia affecteraient
662une même portée, il est judicieux de créer un contexte @code{Staff} vide
663auquel sera attribué un @emph{identifiant}. Il suffira alors, pour
664entamer un fragment d'ossia, de « faire appel » à ce contexte grâce
665aux commandes @code{\startStaff} et @code{\stopStaff}.  Vous vous
666rendrez compte à l'utilisation des avantages que procure cette façon de
667procéder, bien plus que dans l'exemple suivant.
668
669@lilypond[verbatim,quote,ragged-right]
670<<
671  \new Staff = "ossia" \with {
672    \remove "Time_signature_engraver"
673    \hide Clef
674    \magnifyStaff #2/3
675  }
676  { \stopStaff s1*6 }
677
678  \new Staff \relative {
679    c'4 b c2
680    <<
681      { e4 f e2 }
682      \context Staff = "ossia" {
683        \startStaff e4 g8 f e2 \stopStaff
684      }
685    >>
686    g4 a g2 \break
687    c4 b c2
688    <<
689      { g4 a g2 }
690      \context Staff = "ossia" {
691        \startStaff g4 e8 f g2 \stopStaff
692      }
693    >>
694    e4 d c2
695  }
696>>
697@end lilypond
698
699Vous pourriez aussi recourir à la commande @code{\RemoveAllEmptyStaves}
700pour créer votre portée d'ossia.  Cependant, cette méthode reste limitée
701à l'apparition de ces ossias en début de ligne.  Pour plus d'information
702au sujet de la commande @code{\RemoveAllEmptyStaves}, reportez-vous au
703chapitre @ref{Masquage de portées}.
704
705@lilypond[verbatim,quote,ragged-right]
706<<
707  \new Staff = "ossia" \with {
708    \remove "Time_signature_engraver"
709    \hide Clef
710    \magnifyStaff #2/3
711    \RemoveAllEmptyStaves
712  } \relative {
713    R1*3
714    c''4 e8 d c2
715  }
716  \new Staff \relative {
717    c'4 b c2
718    e4 f e2
719    g4 a g2 \break
720    c4 b c2
721    g4 a g2
722    e4 d c2
723  }
724>>
725@end lilypond
726
727@snippets
728
729@cindex ossia, positionnement
730@cindex positionnement, ossia
731@cindex paroles, positionnement
732@cindex positionnement, paroles
733@funindex alignBelowContext
734@funindex alignAboveContext
735@lilypondfile[verbatim,quote,texidoc,doctitle]
736{snippets/vertically-aligning-ossias-and-lyrics.ly}
737
738@morerefs
739Glossaire musicologique :
740@rglos{ossia},
741@rglosnamed{staff,portée},
742@rglos{Frenched staff}.
743
744Manuel d'initiation :
745@rlearning{Expressions musicales imbriquées},
746@rlearning{Longueur et épaisseur des objets},
747@rlearning{Taille des objets}.
748
749Manuel de notation :
750@ref{Masquage de portées}.
751
752Morceaux choisis :
753@rlsrnamed{Staff notation,Notation sur la portée}.
754
755Référence des propriétés internes :
756@rinternals{StaffSymbol}.
757
758
759@node Masquage de portées
760@unnumberedsubsubsec Masquage de portées
761@translationof Hiding staves
762
763@cindex Frenched scores
764@cindex masquage de portée
765@cindex musique ancienne, masquage de portée
766@cindex portéesrythmique, masquage
767@cindex portée vide
768
769@funindex \RemoveEmptyStaves
770@funindex \RemoveAllEmptyStaves
771@funindex Staff_symbol_engraver
772@funindex \stopStaff
773
774Désactiver le graveur @code{Staff_symbol_engraver} dans un contexte
775@code{Staff} permet de masquer des lignes.  La commande
776@code{\stopStaff} aura le même effet.
777
778@lilypond[verbatim,quote]
779\new Staff \with {
780  \remove "Staff_symbol_engraver"
781}
782\relative { a''8 f e16 d c b a2 }
783@end lilypond
784
785L'instruction @code{\RemoveEmptyStaves} placée dans un bloc
786@code{\layout} ou dans une clause @code{\with} affectant une portée
787particulière, aura pour effet de masquer toute portée qui ne contient
788rien. Dans les partitions d'orchestre, les portées qui n'ont que des
789silences sont habituellement masquées afin de gagner de la place. Ce
790style d'édition s'appelle en anglais « Frenched Score ». Cette
791fonctionnalité masque et supprime toutes les portées vides d'une
792partition, hormis celles du premier système.  Le premier système sera
793lui aussi concerné dès lors que sera utilisée l'instruction
794@code{\RemoveAllEmptyStaves}.
795
796@lilypond[verbatim,quote,ragged-right]
797\layout {
798  \context {
799    \Staff
800    \RemoveEmptyStaves
801  }
802}
803
804\relative <<
805  \new Staff {
806    e'4 f g a \break
807    b1 \break
808    a4 b c2
809  }
810  \new Staff {
811    c,4 d e f \break
812    R1 \break
813    f4 g c,2
814  }
815>>
816@end lilypond
817
818@funindex keepAliveInterfaces
819
820Une portée est considérée comme vide dès lors qu'elle ne contient que
821des silences multimesures, des silences visibles ou invisibles (ou
822d'espacement -- les @emph{@bs{}skip}) ou bien une combinaison de ces
823éléments. @b{Tous} les autres objets musicaux, ceux qui font qu'une
824portée ne sera pas considérée vide, sont répertoriés dans la propriété
825de contexte @code{keepAliveInterfaces} telle que définie dans le fichier
826@file{ly/engraver-init.ly}.
827
828@funindex remove-empty
829@funindex remove-first
830
831@code{\RemoveEmptyStaves} et @code{\RemoveAllEmptyStaves} sont tous deux
832des racourcis prédéfinis qui déterminent les propriétés telles que
833@code{remove-empty} et @code{remove-first}, attachées à l'objet
834@code{VerticalAxisGroup}, comme indiqué dans
835@ref{Identificateurs de modification de contexte}.
836
837
838Le @code{Keep_alive_together_engraver} permet de masquer l'intégralité
839d'un regroupement de portées plutôt que des portées individuelles. Il
840est normalement attaché au contexte @code{PianoStaff} : un système
841pianistique sera masqué uniquement dans le cas où les deux portées qui
842le composent sont vides. De la même manière, il est d'usage pour un
843conducteur d'orchestre de masquer les regroupements de portées plutôt
844que de manière individuelle. Ceci s'obtient en ajoutant le
845@code{Keep_alive_together_engraver} au regroupement de portées
846considéré, comme indiqué dans
847@ref{Modification des greffons de contexte} -- voir
848@ref{Regroupement de portées} pour leur dénomination.
849
850@example
851\layout @{
852  \context @{
853    \StaffGroup
854    \RemoveEmptyStaves
855    \consists "Keep_alive_together_engraver"
856  @}
857@}
858@end example
859
860Dans l'exemple suivant, les portées des instruments à vent sont absentes
861du deuxième système, alors que celle de la contrebasse demeure présente
862puisqu'elle est rattachée au regroupement des cordes qui, elles,
863continuent de jouer.
864
865@lilypond
866%{
867  This is taken from Berlioz, Symphonie fantastique.
868  http://imslp.eu/files/imglnks/euimg/5/54/IMSLP522307-PMLP3653-NBE_-_Symphonie_antastique_-_I._Reveries,_Passions_(etc).pdf
869%}
870\layout {
871  \context {
872    \StaffGroup
873    \RemoveEmptyStaves
874    \consists "Keep_alive_together_engraver"
875  }
876}
877
878\paper {
879  indent = 25
880  short-indent = 10
881}
882
883<<
884  \new StaffGroup <<
885    \new Staff \with { instrumentName = "Flute" } \relative c'' {
886      \key c \minor
887      <<
888        { \tuplet 3/2 4 { \repeat unfold 4 { g'8( g g) } } }
889        \\
890        { r2 \tuplet 3/2 4 { \repeat unfold 2 { f8( f f) } } }
891      >>
892      <ees g>1~
893      q16 r16 r8 r4 r2
894      R1\fermata
895      R1*3
896    }
897    \new Staff \with { instrumentName = "Oboe" } \relative c' {
898      \key c \minor
899      r2
900      \tuplet 3/2 4 { g'8( a b) c( cis d) }
901      <g, ees'>1~
902      q16 r16 r8 r4 r2
903      R1\fermata
904      R1*3
905    }
906    \new Staff \with { instrumentName = "Basson" } \relative c {
907      \key c \minor
908      \clef bass
909      r2 r4 \tuplet 3/2 { r8 g'( b,) }
910      c1~
911      c16 r16 r8 r4 r2
912      R1\fermata
913      R1*3
914    }
915  >>
916  \new StaffGroup <<
917    \new Staff \with {
918      instrumentName = "Violin I"
919      shortInstrumentName = "Vl."
920    } \relative c'' {
921      \key c \minor
922      R1*2
923      g'8. g16( aes8. g16) g8( f) f8.( ees16)
924      ees2( d16) r16\fermata d8( ees f)
925      g4( ees8) r16 c aes'4( g8) r16 fis
926      g2( f8) r8 r4\fermata
927    }
928    \new Staff \with {
929      instrumentName = "Violin II"
930      shortInstrumentName = "Vl. II"
931    } \relative c' {
932      \key c \minor
933      R1*2
934      r2 b'4( c)
935      c2~ c16 r16\fermata b8( c d)
936      ees4( c8) r8 ees4~ ees8 r
937      d2~ d8 r8 r4\fermata
938    }
939    \new Staff \with {
940      instrumentName = "Alto"
941      shortInstrumentName = "Al."
942    } \relative c' {
943      \key c \minor
944      \clef alto
945      R1*2
946      r2 d4( c
947      a'2~) a16 r16\fermata aes8( g f)
948      ees4~ ees8 r c'4~ c8 r8
949      b2~ b8 r8 r4\fermata
950    }
951    \new Staff \with {
952      instrumentName = "Cello"
953      shortInstrumentName = "Cl."
954    } \relative c {
955      \key c \minor
956      \clef bass
957      R1*2
958      r2 aes'4( g
959      fis2~) fis16 r16\fermata f8( ees d)
960      c4~ c8 r8 c'4~ c8 r8
961      b2~ b8 r8 r4 \fermata
962    }
963    \new Staff \with {
964      instrumentName = "Double bass"
965      shortInstrumentName = "D.B."
966    } {
967      \key c \minor
968      \clef bass
969      R1*6
970    }
971  >>
972>>
973@end lilypond
974
975@cindex division de portée
976@cindex portée, division
977@cindex @emph{divisi}, portées
978@funindex remove-layer
979
980En interne, le @code{Keep_alive_together_engraver} recourt à la
981propriété @code{remove-layer} du @code{VerticalAxisGroup} d'une portée
982pour décider de son impression lorsqu'elle est considérée vide. Cette
983propriété peut aussi se définir manuellement, auquel cas elle agit sous
984forme d'index de priorité : des valeurs proches de zéro seront
985prioritaires sur celles plus élevées, ce qui aura pour conséquence de
986masquer d'abord les portées dont le @code{remove-layer} est plus grand.
987
988Ceci se révèle tout particulièrement utile pour une « division » de
989portée, lorsque plusieurs parties indépendantes -- voir
990@ref{Écriture de parties séparées} -- doivent momentanément se répartir
991sur plusieurs portées. Dans l'exemple qui suit, deux parties sont
992réparties sur @emph{trois} portées ; ces trois portées n'apparaissent
993toutefois jamais simultanément :
994
995@itemize
996
997@item
998au premier système, une seule d'entre elles est affichée, dans la mesure
999où la propriété @code{keepAliveInterfaces} a été réglée sur une liste
1000vide -- de fait, les deux autres portées sont considérées comme vides et
1001donc masquées, en dépit de ce qu'elles pourraient contenir ;
1002
1003@item
1004lorsque cette propriété est désactivée -- et retrouve donc ses réglages
1005par défaut -- elle n'empêche plus les deux autres portées d'être
1006affichées. Cependant, et parce que le réglage de leur
1007@code{remove-layer} est inférieur à celui de la portée unique, ces deux
1008portées seront alors imprimées à la place.
1009
1010@end itemize
1011
1012@noindent
1013De telles substitutions ne s'appliquent pas seulement aux notes, accords
1014ou autres éléments musicaux intervenant dès après le nouveau réglage,
1015mais à l'intégralité du système où il est mentionné.
1016
1017@lilypond[verbatim,papersize=a6]
1018\layout {
1019  short-indent = 2\cm
1020  indent = 3\cm
1021  \context {
1022    \Staff
1023    keepAliveInterfaces = #'()
1024  }
1025}
1026
1027violI = {
1028  \repeat unfold 24 { d'4 }
1029  \once \unset Staff.keepAliveInterfaces
1030  <d' g''>2
1031  \repeat unfold 14 { d'4 }
1032  \bar "|."
1033}
1034
1035violII = {
1036  \repeat unfold 24 { g4 }
1037  <g d'>2
1038  \repeat unfold 14 { g4 }
1039  \bar "|."
1040}
1041
1042\new StaffGroup \with { \consists "Keep_alive_together_engraver" } <<
1043  \new Staff \with {
1044    instrumentName = "Violins"
1045    shortInstrumentName = "V I & II"
1046    \override VerticalAxisGroup.remove-layer = 2
1047  } <<  \violI \\ \violII  >>
1048  \new Staff \with {
1049    instrumentName = "Violin I"
1050    shortInstrumentName = "V I"
1051    \RemoveAllEmptyStaves
1052    \override VerticalAxisGroup.remove-layer = 1
1053  } \violI
1054  \new Staff \with {
1055    instrumentName = "Violin II"
1056    shortInstrumentName = "V II"
1057    \RemoveAllEmptyStaves
1058    \override VerticalAxisGroup.remove-layer = 1
1059  } \violII
1060>>
1061@end lilypond
1062
1063@cindex ossia
1064
1065@code{\RemoveAllEmptyStaves} permet aussi de gérer des fragments d'ossia
1066attachés à une portée. Pour plus de détails, voir @ref{Portées d'ossia}.
1067
1068@predefined
1069@code{\RemoveEmptyStaves},
1070@code{\RemoveAllEmptyStaves},
1071@endpredefined
1072
1073@morerefs
1074Glossaire musicologique :
1075@rglos{Frenched staff}.
1076
1077Manuel d'initiation :
1078@rlearning{Visibilité et couleur des objets}.
1079
1080Manuel de notation :
1081@ref{Dictée à trous},
1082@ref{Identificateurs de modification de contexte},
1083@ref{Modification des greffons de contexte},
1084@ref{Modification des réglages par défaut d'un contexte},
1085@ref{Portées d'ossia},
1086@ref{Regroupement de portées},
1087@ref{Silences invisibles},
1088@ref{Symbole de la portée},
1089@ref{Visibilité des objets}.
1090
1091Fichiers d'initialisation :
1092@file{ly/engraver-init.ly}.
1093
1094Morceaux choisis :
1095@rlsrnamed{Staff notation,Notation sur la portée}.
1096
1097Référence des propriétés internes :
1098@rinternals{Axis_group_engraver},
1099@rinternals{ChordNames},
1100@rinternals{FiguredBass},
1101@rinternals{Keep_alive_together_engraver}.
1102@rinternals{Lyrics},
1103@rinternals{Staff},
1104@rinternals{Staff_symbol_engraver},
1105@rinternals{VerticalAxisGroup}.
1106
1107@knownissues
1108Supprimer le @code{Staff_symbol_engraver} aura pour effet de masquer les
1109barres de mesure.  Forcer leur visibilité peut entraîner des problèmes
1110de formatage.  En pareil cas il vaut mieux, au lieu de supprimer le
1111graveur, recourir aux dérogations suivantes :
1112
1113@example
1114\omit StaffSymbol
1115\override NoteHead.no-ledgers = ##t
1116@end example
1117
1118En ce qui concerne les désagréments et messages liés à l'utilisation de
1119l'instruction @code{\RemoveEmptyStaves}, consultez
1120@ref{Modification des réglages par défaut d'un contexte}.
1121
1122
1123@node Écriture de parties séparées
1124@subsection Écriture de parties séparées
1125@translationof Writing parts
1126
1127@cindex pupitre, partition de
1128@cindex individuelle, partition
1129@cindex orchestre, matériel d'
1130@cindex matériel d'orchestre
1131
1132Nous allons voir, au fil des lignes qui suivent, comment préparer un
1133« matériel » pour orchestre ou ensemble musical, ce qui requiert souvent
1134d'insérer des noms d'instrument dans une partition.  Nous aborderons
1135aussi la citation d'autres voix, et comment la mettre en forme, ainsi
1136que le moyen de contracter une succession de mesures vides dans une
1137partition de pupitre.
1138
1139Par ailleurs, une méthode pour gérer la division d'un pupitre est
1140abordée à la rubrique @ref{Masquage de portées}.
1141
1142@menu
1143* Noms d'instrument::
1144* Citation d'autres voix::
1145* Mise en forme d'une citation::
1146* Compression de mesures vides::
1147@end menu
1148
1149
1150@node Noms d'instrument
1151@unnumberedsubsubsec Noms d'instrument
1152@translationof Instrument names
1153
1154@cindex instrument, nom
1155@cindex nom d'instrument
1156@cindex instrument, nom abrégé
1157
1158Dans un conducteur, les noms d'instrument sont portés en regard de
1159chacune des portées, qu'il s'agisse d'un contexte @code{Staff},
1160@code{PianoStaff}, @code{StaffGroup}, @code{GrandStaff} ou
1161@code{ChoirStaff} .  La première ligne affichera la valeur de
1162@code{instrumentName}, et les suivantes celle de
1163@code{shortInstrumentName}.
1164
1165@lilypond[verbatim,quote,ragged-right]
1166\new Staff \with {
1167  instrumentName = "Violin "
1168  shortInstrumentName = "Vln. "
1169} \relative {
1170  c'4.. g'16 c4.. g'16 \break | c1 |
1171}
1172@end lilypond
1173
1174@cindex instrument, nom complexe
1175@cindex nom d'instrument, complexe
1176Le recours à la commande @code{\markup} permet de construire des noms
1177d'instrument particuliers, tels que
1178
1179@lilypond[verbatim,quote]
1180\new Staff \with {
1181  instrumentName = \markup {
1182    \column { "Clarinetti"
1183      \line { "in B" \smaller \flat }
1184    }
1185  }
1186} \relative {
1187  c''4 c,16 d e f g2
1188}
1189@end lilypond
1190
1191@cindex noms d'instrument, centrés
1192
1193@cindex instrument, centrage du nom
1194@cindex nom d'instrument, centrage
1195Lorsque plusieurs contextes de portée sont regroupés, les noms
1196d'instrument, que ce soit sous leur forme développée ou abrégée, sont
1197par défaut centrés.  Si l'un d'entre eux est libellé sur plusieurs
1198lignes, il faudra recourir à l'instruction @code{\center-column} :
1199
1200@lilypond[verbatim,quote,indent=1.5\cm,relative=2]
1201<<
1202  \new Staff \with {
1203    instrumentName = "Flute"
1204  }
1205  { f2 g4 f }
1206  \new Staff \with {
1207    instrumentName = \markup {
1208      \center-column { "Clarinet"
1209      \line { "in B" \smaller \flat }
1210      }
1211    }
1212  }
1213  { c4 b c2 }
1214>>
1215@end lilypond
1216
1217@funindex indent
1218@funindex short-indent
1219
1220Lorsque le nom d'un instrument est relativement long, il est judicieux
1221d'augmenter les retraits -- @emph{indent} -- au sein du bloc
1222@code{\layout} à l'aide des commandes @code{indent} et
1223@code{short-indent}.  Pour plus de plus amples détails sur ces réglages,
1224reportez-vous au chapitre @ref{Variables d'indentation et de décalage}.
1225
1226@lilypond[verbatim,quote,ragged-right]
1227<<
1228  \new Staff \with {
1229    instrumentName = "Alto Flute in G"
1230    shortInstrumentName = "Flt."
1231  } \relative {
1232    f''2 g4 f \break
1233    g4 f g2
1234  }
1235  \new Staff \with {
1236    instrumentName = "Clarinet"
1237    shortInstrumentName = "Clar."
1238  } \relative {
1239    c''4 b c2 \break
1240    c2 b4 c
1241  }
1242>>
1243
1244\layout {
1245  indent = 3.0\cm
1246  short-indent = 1.5\cm
1247}
1248@end lilypond
1249
1250@cindex nom d'instrument, autres contextes
1251@cindex instrument, nom, autres contextes
1252Des noms d'instrument peuvent s'utiliser dans d'autres contextes, tels
1253que @code{ChordNames} ou @code{FiguredBass}, dès lors qu'on leur adjoint
1254le graveur @code{Instrument_name_engraver}.  Pour de plus amples
1255informations sur la manière d'activer ou désactiver un graveur, voir
1256@ref{Modification des greffons de contexte}.
1257
1258@cindex instrument, changement de nom
1259@cindex changement de nom d'instrument
1260
1261Le nom abrégé d'un instrument (@code{shortInstrumentName}) peut changer
1262en cours de morceau, en même temps que les autres réglages propres au
1263nouvel instrument.  Notez cependant que la valeur de
1264@code{instrumentName} ne s'affichera que sur la première portée :
1265
1266@lilypond[verbatim,quote,ragged-right]
1267prepPiccolo = <>^\markup \italic { muta in Piccolo }
1268
1269prepFlute = <>^\markup \italic { muta in Flauto }
1270
1271setPiccolo = {
1272  <>^\markup \bold { Piccolo }
1273  \transposition c''
1274}
1275
1276setFlute = {
1277  <>^\markup \bold { Flute }
1278  \transposition c'
1279}
1280
1281\new Staff \with {
1282  instrumentName = "Flute"
1283  shortInstrumentName = "Flt."
1284}
1285\relative {
1286  g'1 g g g \break
1287  g1 g \prepPiccolo R R \break
1288  \set Staff.instrumentName = "Piccolo"
1289  \set Staff.shortInstrumentName = "Picc."
1290  \setPiccolo
1291  g1 g g g \break
1292  g1 g \prepFlute R R \break
1293  \set Staff.instrumentName = "Flute"
1294  \set Staff.shortInstrumentName = "Flt."
1295  \setFlute
1296  g1 g g g
1297}
1298@end lilypond
1299
1300@morerefs
1301Manuel de notation :
1302@ref{Modification des greffons de contexte},
1303@ref{Variables d'indentation et de décalage}.
1304
1305Morceaux choisis :
1306@rlsrnamed{Staff notation,Notation sur la portée}.
1307
1308Référence des propriétés internes :
1309@rinternals{InstrumentName},
1310@rinternals{PianoStaff},
1311@rinternals{Staff}.
1312
1313
1314@node Citation d'autres voix
1315@unnumberedsubsubsec Citation d'autres voix
1316@translationof Quoting other voices
1317
1318@cindex réplique
1319@cindex citation
1320@cindex petites notes
1321
1322@funindex \addQuote
1323@funindex \quoteDuring
1324@funindex \transposition
1325
1326Il est assez courant qu'une voix soit doublée par une autre.  Par
1327exemple, les premiers et seconds violons peuvent jouer les mêmes notes
1328durant un moment.  LilyPond gère parfaitement ces situations où une
1329voix est la @emph{réplique} d'une autre, sans devoir ressaisir la
1330musique en question.
1331
1332L'instruction @code{\addQuote}, placée au niveau le plus haut -- c'est à
1333dire en dehors de tout bloc de musique -- définit la musique dont il
1334sera possible de répliquer des fragments.
1335
1336Au cours d'une partie, des extraits de répliques peuvent être cités en
1337utilisant la commande @code{\quoteDuring}.  Cette commande prend deux
1338arguments : le nom de la voix reproduite, tel que défini par
1339@code{\addQuote}, et une expression musicale qui indique la durée de
1340cette citation.
1341
1342@lilypond[verbatim,quote]
1343fluteNotes = \relative {
1344  a'4 gis g gis | b4^"quoted" r8 ais\p a4( f)
1345}
1346
1347oboeNotes = \relative {
1348  c''4 cis c b \quoteDuring "flute" { s1 }
1349}
1350
1351\addQuote "flute" { \fluteNotes }
1352
1353\score {
1354  <<
1355    \new Staff \with { instrumentName = "Flute" } \fluteNotes
1356    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
1357  >>
1358}
1359@end lilypond
1360
1361Si l'expression musicale utilisée pour @code{\quoteDuring} contenait
1362autre chose que du silence, il en résulterait une situation
1363polyphonique, ce qui n'est pas le but recherché :
1364
1365@lilypond[verbatim,quote]
1366fluteNotes = \relative {
1367  a'4 gis g gis | b4^"quoted" r8 ais\p a4( f)
1368 }
1369
1370oboeNotes = \relative {
1371  c''4 cis c b \quoteDuring "flute" { e4 r8 ais b4 a }
1372}
1373
1374\addQuote "flute" { \fluteNotes }
1375
1376\score {
1377  <<
1378    \new Staff \with { instrumentName = "Flute" } \fluteNotes
1379    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
1380  >>
1381}
1382@end lilypond
1383Lorsqu'une commande @code{\unfoldRepeats} est requise dans une
1384expression musicale de telle sorte que la musique soit réimprimée par
1385@code{\quoteDuring}, l'instruction @code{\addQuote} doit elle-mêeme
1386contenir la commande @code{\unfoldRepeats} :
1387
1388@lilypond[verbatim,quote]
1389fluteNotes = \relative {
1390  \repeat volta 2 { a'4 gis g gis }
1391}
1392
1393oboeNotesDW = \relative {
1394  \repeat volta 2 \quoteDuring "incorrect" { s1 }
1395}
1396
1397oboeNotesW = \relative {
1398  \repeat volta 2 \quoteDuring "correct" { s1 }
1399}
1400
1401
1402\addQuote "incorrect" { \fluteNotes }
1403
1404\addQuote "correct" { \unfoldRepeats \fluteNotes }
1405
1406\score {
1407  \unfoldRepeats
1408  <<
1409    \new Staff \with { instrumentName = "Flute" }
1410    \fluteNotes
1411    \new Staff \with { instrumentName = "Oboe (incorrect)" }
1412    \oboeNotesDW
1413    \new Staff \with { instrumentName = "Oboe (correct)" }
1414    \oboeNotesW
1415  >>
1416}
1417@end lilypond
1418
1419L'instruction @code{\quoteDuring} prendra en compte les réglages d'une
1420commande @code{\transposition}, qu'elle apparaisse au niveau de la voix
1421répliquée ou dans celle qui réplique.
1422
1423@lilypond[verbatim,quote]
1424clarinetNotes = \relative c'' {
1425  \transposition bes
1426  \key d \major
1427  b4 ais a ais | cis4^"quoted" r8 bis\p b4( f)
1428}
1429
1430oboeNotes = \relative {
1431  c''4 cis c b \quoteDuring "clarinet" { s1 }
1432 }
1433\addQuote "clarinet" { \clarinetNotes }
1434
1435\score {
1436  <<
1437    \new Staff \with { instrumentName = "Clarinet" } \clarinetNotes
1438    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
1439  >>
1440}
1441@end lilypond
1442
1443@funindex note-event
1444@funindex articulation-event
1445@funindex dynamic-event
1446@funindex rest-event
1447@funindex slur-event
1448@funindex crescendo-event
1449@funindex quotedEventTypes
1450@funindex quotedCueEventTypes
1451
1452LilyPond répliquera, par défaut, tous les éléments -- articulations,
1453nuances, @emph{markups}, etc. La propriété @code{quotedEventTypes}
1454permet de définir plus précisément quels éléments de la voix originelle
1455seront reproduits.
1456
1457@lilypond[verbatim,quote]
1458fluteNotes = \relative {
1459  a'2 g2 |
1460  b4\<^"quoted" r8 ais a4\f( c->)
1461 }
1462
1463oboeNotes = \relative {
1464  c''2. b4 |
1465  \quoteDuring "flute" { s1 }
1466}
1467
1468\addQuote "flute" { \fluteNotes }
1469
1470\score {
1471  <<
1472    \set Score.quotedEventTypes = #'(note-event articulation-event
1473                                     crescendo-event rest-event
1474                                     slur-event dynamic-event)
1475    \new Staff \with { instrumentName = "Flute" } \fluteNotes
1476    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
1477  >>
1478 }
1479@end lilypond
1480
1481Les citations peuvent être « balisées » par un nom particulier afin de
1482les utiliser de différentes manières.  Pour de plus amples détails à ce
1483propos, consultez le chapitre @ref{Utilisation de balises}.
1484
1485@morerefs
1486Manuel de notation :
1487@ref{Instruments transpositeurs},
1488@ref{Utilisation de balises}.
1489
1490Fichiers d'initialisation :
1491@file{scm/define-event-classes.scm}.
1492
1493Morceaux choisis :
1494@rlsrnamed{Staff notation, Notation sur la portée}.
1495
1496Référence des propriétés internes :
1497@rinternals{Music classes},
1498@rinternals{QuoteMusic},
1499@rinternals{Voice}.
1500
1501@knownissues
1502Seul le contenu de la première @code{Voice} rencontrée dans la
1503partie marquée d'une commande @code{\addQuote} pourra être retenu.  Par
1504voie de conséquence, @code{@var{musique}} ne saurait comprendre de
1505@code{\new} ou une instance @code{\context Voice} qui la ferait
1506passer à une autre voix.
1507
1508Citer des notes d'ornement ne fonctionne pas, et peut même entraîner
1509un blocage de LilyPond.
1510
1511Citer des triolets imbriqués peut entraîner un résultat de piètre
1512qualité.
1513
1514
1515@node Mise en forme d'une citation
1516@unnumberedsubsubsec Mise en forme d'une citation
1517@translationof Formatting cue notes
1518
1519@cindex petites notes, formater des
1520@cindex réplique, formatage
1521@cindex voix, citation
1522@cindex voix, réplication
1523@funindex CueVoice
1524@funindex \cueDuring
1525@funindex \cueClef
1526@funindex \cueClefUnset
1527@funindex \cueDuringWithClef
1528@funindex \quoteDuring
1529
1530Le moyen le plus simple pour mettre en forme des notes provenant d'une
1531autre voix consiste à déclarer explicitement un contexte @code{CueVoice}
1532au sein de la voix où elle apparaît.
1533
1534@lilypond[verbatim]
1535\relative {
1536  R1
1537  <<
1538    { e'2\rest r4. e8 }
1539    \new CueVoice {
1540      \stemUp d'8^"flute" c d e fis2
1541    }
1542  >>
1543  d,4 r a r
1544}
1545@end lilypond
1546
1547L'instruction @code{\cueClef}, utilisée conjointement à un contexte
1548@code{CueVoice} explicite permet d'indiquer la clef, dans une taille
1549réduite, propre à la voix citée.  Le retour à la clef d'origine
1550s'effectue à l'aide de l'instruction @code{\cueClefUnset}.
1551
1552@lilypond[verbatim,noragged-right]
1553\relative {
1554  \clef "bass"
1555  R1
1556  <<
1557    { e'2\rest r4. \cueClefUnset e,8 }
1558    \new CueVoice {
1559      \cueClef "treble" \stemUp d''8^"flute" c d e fis2
1560    }
1561  >>
1562  d,,4 r a r
1563}
1564@end lilypond
1565
1566Notez que les deux instructions @code{\cueClef} et @code{\cueClefUnset}
1567sont disponibles si nécessaire en dehors d'un @code{CueVoice}.
1568
1569@lilypond[verbatim,noragged-right]
1570\relative {
1571  \clef "bass"
1572  R1
1573  \cueClef "treble"
1574  d''8^"flute" c d e fis2
1575  \cueClefUnset
1576  d,,4 r a r
1577}
1578@end lilypond
1579
1580Lorsque la situation est plus complexe, instrument transpositeur ou
1581citations de plusieurs sources, vous disposez des instructions
1582@code{\cueDuring} et @code{\cueDuringWithClef}, versions spécifiques de
1583la commande @code{\quoteDuring} -- voir la rubrique précédente
1584(@ref{Citation d'autres voix}).
1585
1586Leur syntaxe est :
1587
1588@example
1589\cueDuring @var{origine} #@var{position} @var{musique}
1590@end example
1591
1592et
1593
1594@example
1595\cueDuringWithClef @var{origine} #@var{position} #@var{clef} @var{musique}
1596@end example
1597
1598Des mesures issues de la partie d'@code{@var{origine}} seront recopiées
1599dans un contexte de @code{CueVoice} et synchronisées avec
1600@code{@var{musique}} -- habituellement un silence.  L'apparition des
1601petites notes initialise une polyphonie temporaire pour la portée
1602concernée.  L'argument @code{@var{position}} détermine si ces petites
1603notes seront attachées à la première ou à la seconde voix -- @code{UP}
1604pour la première, @code{DOWN} pour la seconde.
1605
1606@lilypond[verbatim,quote]
1607fluteNotes = \relative {
1608  r2. c''4 | d8 c d e fis2 | g2 d |
1609}
1610
1611oboeNotes = \relative c'' {
1612  R1
1613  <>^\markup \tiny { flute }
1614  \cueDuring "flute" #UP { R1 }
1615  g2 c,
1616}
1617
1618\addQuote "flute" { \fluteNotes }
1619
1620\new Staff {
1621  \oboeNotes
1622}
1623@end lilypond
1624
1625@noindent
1626La propriété @code{quotedCueEventTypes} permet de définir précisément
1627quels éléments de la voix originelle seront reproduits.  Sa valeur par
1628défaut est @code{'(note-event rest-event tie-event beam-event
1629tuplet-span-event)}.  LilyPond reproduira donc les notes, silences,
1630liaisons de prolongation, ligatures et n-olets, mais pas les
1631articulations, annotations ni nuances.
1632
1633@warning{Dans l'exemple précédent, il était nécessaire de déclarer
1634explicitement le contexte @code{Voice}, sinon l'intégralité de
1635l'expression musicale se serait retrouvée dans le contexte
1636@code{CueVoice}.}
1637
1638@lilypond[verbatim,quote]
1639oboeNotes = \relative {
1640  r2 r8 d''16(\f f e g f a)
1641  g8 g16 g g2.
1642}
1643\addQuote "oboe" { \oboeNotes }
1644
1645\new Voice \relative c'' {
1646  \set Score.quotedCueEventTypes = #'(note-event rest-event tie-event
1647                                      beam-event tuplet-span-event
1648                                      dynamic-event slur-event)
1649  \cueDuring "oboe" #UP { R1 }
1650  g2 c,
1651}
1652@end lilypond
1653
1654Le nom de l'instrument qui est répliqué peut s'indiquer à l'aide d'un
1655@emph{markup}.  Par ailleurs, si la citation nécessite l'apparition
1656d'une clef différente, celle-ci devra être introduite manuellement, tout
1657comme l'originale qui devra être rappelée en fin de citation.
1658
1659@lilypond[verbatim,quote]
1660fluteNotes = \relative {
1661  r2. c''4 d8 c d e fis2 g2 d2
1662}
1663
1664bassoonNotes = \relative c {
1665  \clef bass
1666  R1
1667  \clef treble
1668  <>^\markup \tiny { flute }
1669  \cueDuring "flute" #UP { R1 }
1670  \clef bass
1671  g4. b8 d2
1672}
1673
1674\addQuote "flute" { \fluteNotes }
1675
1676\new Staff {
1677  \bassoonNotes
1678}
1679@end lilypond
1680
1681L'instruction @code{\cueDuringWithClef} se chargera quant à elle, et
1682grâce à un argument supplémentaire, de gérer le changement de clef
1683nécessaire à la citation et le retour à la clef originelle.
1684
1685@lilypond[verbatim,quote]
1686fluteNotes = \relative {
1687  r2. c''4 d8 c d e fis2 g2 d2
1688}
1689
1690bassoonNotes = \relative c {
1691  \clef bass
1692  R1
1693  <>^\markup { \tiny "flute" }
1694  \cueDuringWithClef "flute" #UP "treble" { R1 }
1695  g4. b8 d2
1696}
1697
1698\addQuote "flute" { \fluteNotes }
1699
1700\new Staff {
1701  \bassoonNotes
1702}
1703@end lilypond
1704
1705@funindex \transposedCueDuring
1706
1707L'instruction @code{\cueDuring}, à l'instar de la commande
1708@code{\quoteDuring}, tient compte des instruments transpositeurs.  La
1709citation s'effectue aux hauteurs correspondant à l'instrument où elles
1710apparaissent.
1711
1712L'instruction @code{\transposedCueDuring} est particulièrement adaptée
1713pour des instrument ayant une tessiture éloignée, comme dans le cas d'un
1714piccolo cité dans une partie de clarinette basse.  Sa syntaxe  est
1715identique à celle de @code{\cueDuring}, à ceci près qu'elle nécessite un
1716argument supplémentaire afin de spécifier la transposition à effectuer
1717en hauteur absolue.
1718
1719@lilypond[verbatim,quote]
1720piccoloNotes = \relative {
1721  \clef "treble^8"
1722  R1
1723  c'''8 c c e g2
1724  c4 g g2
1725}
1726
1727bassClarinetNotes = \relative c' {
1728  \key d \major
1729  \transposition bes,
1730  d4 r a r
1731  \transposedCueDuring "piccolo" #UP d { R1 }
1732  d4 r a r
1733}
1734
1735\addQuote "piccolo" { \piccoloNotes }
1736
1737<<
1738  \new Staff \piccoloNotes
1739  \new Staff \bassClarinetNotes
1740>>
1741@end lilypond
1742
1743@cindex citation, fin
1744@cindex fin de citation
1745@cindex réplique, fin
1746@cindex fin de réplique
1747@funindex \killCues
1748
1749La commande @code{killCues} permet de supprimer les notes d'une
1750citation.  Ceci est utile lorsque cette citation n'est pas imprimée dans
1751le conducteur entre autres.  @code{killCues} supprimera les notes et
1752autres événements pris en charge par @code{\cueDuring}.  Pour les
1753autres annotations telles que changement de clef ou instrument concerné,
1754faites appel à des balises -- voir @ref{Utilisation de balises} à ce
1755sujet.
1756
1757@lilypond[verbatim,quote]
1758fluteNotes = \relative {
1759  r2. c''4 d8 c d e fis2 g2 d2
1760}
1761
1762bassoonNotes = \relative c {
1763  \clef bass
1764  R1
1765  \tag #'part {
1766    \clef treble
1767    <>^\markup \tiny { flute }
1768  }
1769  \cueDuring "flute" #UP { R1 }
1770  \tag #'part \clef bass
1771  g4. b8 d2
1772}
1773
1774\addQuote "flute" { \fluteNotes }
1775
1776\new Staff {
1777  \bassoonNotes
1778}
1779
1780\new StaffGroup <<
1781  \new Staff {
1782    \fluteNotes
1783  }
1784  \new Staff {
1785    \removeWithTag #'part { \killCues { \bassoonNotes } }
1786  }
1787>>
1788@end lilypond
1789
1790@morerefs
1791Manuel de notation :
1792@ref{Citation d'autres voix},
1793@ref{Citation-repère},
1794@ref{Clefs},
1795@ref{Instruments transpositeurs},
1796@ref{Noms d'instrument},
1797@ref{Utilisation de balises}.
1798
1799Morceaux choisis :
1800@rlsrnamed{Staff notation, Notation sur la portée}.
1801
1802Référence des propriétés internes :
1803@rinternals{CueVoice},
1804@rinternals{Voice}.
1805
1806@knownissues
1807La commande @code{\cueDuring} ne sait pas gérer les collisions de
1808silence entre les contextes @code{Voice} et @code{CueVoice}.
1809
1810Dans le cadre d'un @code{\cueDuringWithClef} ou d'un
1811@code{\transposedCueDuring}, l'argument supplémentaire doit intervenir
1812après l'origine et la position.
1813
1814
1815@node Compression de mesures vides
1816@unnumberedsubsubsec Compression de mesures vides
1817@translationof Compressing empty measures
1818
1819@cindex multimesure, note, expansion
1820@cindex multimesure, note, contraction
1821@funindex \compressEmptyMeasures
1822@funindex \expandEmptyMeasures
1823
1824Toutes les mesures sont par défaut imprimées, même si elles sont vides ;
1825ceci peut se produire dans le cas où un événement rythmique (note,
1826silence ou saut) dure au point de s'étaler sur plusieurs mesures. Ce
1827comportement peut se modifier de sorte que les mesures vides sont
1828compressées en une seule mesure comme ici (la deuxième partie de cet
1829exemple, où les mesures sont expansées, retrouve en fait le comportement
1830par défaut) :
1831
1832@lilypond[quote,verbatim,fragment]
1833\override Score.BarNumber.break-visibility = ##(#f #t #t)
1834\time 2/4
1835\compressEmptyMeasures
1836c'1 d'1. e'\breve
1837\bar "||"
1838\expandEmptyMeasures
1839c'1 d'1. e'\breve
1840@end lilypond
1841
1842@noindent
1843Bien que la syntaxe de cette notation soit correcte, elle peut être
1844déroutante d'un point de vue musical, ce qu'illustre l'exemple
1845ci-dessus. C'est pourquoi l'impression des numéros de mesure devient
1846nécessaire, en suivant la syntaxe indiquée dans
1847@ref{Utilisation de break-visibility}.
1848
1849@cindex multimesure, silence, expansion
1850@cindex multimesure, silence, contraction
1851@funindex \compressMMRests
1852
1853Une telle notation peut toutefois s'avérer utile lorsqu'elle
1854s'applique à des @rusernamed{Silences valant une mesure,
1855silences valant une mesure}. Un silence de plusieurs mesures sera alors
1856affiché sous la forme d'une seule mesure contenant un symbole de silence
1857multimesure surplombé du nombre de mesures de silence :
1858
1859@lilypond[quote,verbatim,fragment]
1860% Comportement par défaut
1861\time 3/4 r2. | R2.*2 |
1862\time 2/4 R2 |
1863\time 4/4
1864% Mesures de silence comprimées en une seule mesure
1865\compressEmptyMeasures
1866r1 | R1*17 | R1*4 |
1867\expandEmptyMeasures
1868% Mesures de silence à nouveau expansées
1869\time 3/4
1870R2.*2 |
1871@end lilypond
1872
1873Contrairement à @code{\compressEmptyMeasures}, la fonction musicale
1874@code{\compressMMRests} s'applique exclusivement aux silences tout en
1875laissant les autres événements expansés. En sa qualité de fonction, et
1876non de réglage de propriété, sa syntaxe diffère quelque peu, en ceci
1877qu'elle doit être suivie d'une expression musicale :
1878
1879@lilypond[quote,verbatim,fragment]
1880\compressMMRests {
1881  % Les silences sont comprimés…
1882  R1*7
1883  % … mais les notes peuvent s'étaler sur plusieurs mesures.
1884  g'1 a'1*2 d'1
1885  R1*2
1886}
1887@end lilypond
1888
1889@funindex skipBars
1890Toutes les commandes décrites dans ces paragraphes reposent en fait sur
1891la propriété interne @code{skipBars}, qui se définit au sein du contexte
1892@code{Score} comme indiqué dans @ref{La commande de fixation (set)}.
1893
1894@predefined
1895@code{\compressEmptyMeasures},
1896@code{\expandEmptyMeasures},
1897@code{\compressMMRests}.
1898@endpredefined
1899
1900@snippets
1901
1902@cindex multimesure, silence, nombre
1903@funindex restNumberThreshold
1904@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
1905{snippets/numbering-single-measure-rests.ly}
1906
1907@cindex silence d'église
1908@cindex kirchenpause
1909@cindex multimesure, silence, style
1910@cindex silence multimesure, style
1911@cindex style, silence multimesure
1912@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
1913{snippets/changing-form-of-multi-measure-rests.ly}
1914
1915@morerefs
1916Manuel de notation :
1917@ref{La commande de fixation (set)},
1918@ref{Silences valant une mesure},
1919@ref{Utilisation de break-visibility}.
1920
1921Référence des propriétés internes :
1922@rinternals{MultiMeasureRest},
1923@rinternals{MultiMeasureRestNumber},
1924@rinternals{MultiMeasureRestScript},
1925@rinternals{MultiMeasureRestText}.
1926