1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
4 Translation of GIT committish: 39912f861693f1c24b8833e6e9e6ba82eb3e6746
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..
13 @c Translators: Jean-Charles Malahieude
15 @node Annotations éditoriales
16 @section Annotations éditoriales
17 @translationof Editorial annotations
19 @lilypondfile[quote]{editorial-headword.ly}
21 Ce chapitre traite de la manière de modifier l'apparence des notes dans
22 un but pédagogique ou d'analyse.
31 @subsection Dans la portée
32 @translationof Inside the staff
34 Nous allons voir ici comment mettre en exergue certains éléments à
35 l'intérieur même de la portée.
38 * Indication de la taille de fonte musicale::
41 * Coloration d'objets::
47 @node Indication de la taille de fonte musicale
48 @unnumberedsubsubsec Indication de la taille de fonte musicale
49 @translationof Selecting notation font size
51 @cindex sélection de la taille (notation)
53 @cindex taille des notes
58 @funindex magnification->font-size
60 @funindex magnifyMusic
75 Pour les tailles de police textuelle, voir
76 @ref{Sélection de la fonte et de la taille}.@*
77 Pour la taille des portées, voir
78 @ref{Définition de la taille de portée}.@*
79 Pour les petites notes, voir
80 @ref{Mise en forme d'une citation}.@*
81 Pour les variantes, voir @ref{Portées d'ossia}.}
83 Le plus sûr moyen de régler la taille des éléments de notation sans
84 modifier la taille de la portée consiste à utiliser la commande
85 @code{\magnifyMusic} :
87 @c Grieg Piano Concerto (mvt.1 cadenza)
88 @lilypond[verbatim,quote]
90 \new Voice \relative {
92 <e' e'>4 <f f'>8. <g g'>16 <f f'>8 <e e'>4 r8
94 \new Voice \relative {
97 \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63)
98 r32 c'' a c a c a c r c a c a c a c
99 r c a c a c a c a c a c a c a c
105 La présence d'un @code{\override} dans cet exemple permet de
106 contourner une bogue -- voir « Problèmes connus et avertissements » en
109 Dans le cas de fusion d'une tête de note normale avec une autre de
110 taille inférieure, la taille de la petite note peut nécessiter une
111 réinitialisation -- à l'aide d'un @w{@samp{\once@tie{}\normalsize}} --
112 de telle sorte que les hampes et altérations s'alignent correctement :
114 @c Chopin Prelude op.28 no.8
115 @lilypond[verbatim,quote]
118 \mergeDifferentlyDottedOn
119 \new Voice \relative {
122 \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63)
123 \once \normalsize cis'32( cis' gis b a fis \once \normalsize d d'
124 \once \normalsize cis, cis' gis b a gis \once \normalsize fis fis'
125 \once \normalsize fis, fis' ais, cis b gis \once \normalsize eis eis'
126 \once \normalsize a, a' bis, d cis b \once \normalsize gis gis')
129 \new Voice \relative {
131 cis'8. d16 cis8. fis16 fis8. eis16 a8. gis16
136 La commande @code{\magnifyMusic} n'est pas conçue pour gérer les
137 citations, notes d'ornement ou portées d'ossia -- des moyens
138 spécifiques sont déjà disponibles en la matière. Elle est par contre
139 tout à fait adaptée dans le cas d'un instrument particulier disposant de
140 sa propre portée là où des notes d'ornement seraient inappropriées,
141 comme pour une pseudo-cadence ou les exemples ci-dessus. L'attribution
142 d'une valeur de 0,63 à @code{\magnifyMusic} duplique les dimensions d'un
143 contexte @code{CueVoice}.
145 @warning{La commande @code{@bs{}magnifyMusic} n'est pas censée
146 intervenir en complément d'une modification de la taille de portée --
147 voir @ref{Définition de la taille de portée}.}
150 @subsubsubheading Redimmensionnement individuel d'objets de rendu
151 @c VO Resizing individual layout objects
153 L'ajustement de la propriété @code{font-size} à l'aide des commandes
154 @code{\tweak} ou @code{\override} permet de retailler un objet de rendu
157 @lilypond[quote,verbatim]
160 <f' \tweak font-size -4 b e>-5
162 bes-\tweak font-size 0 -3
163 % resize an accidental
164 \once \override Accidental.font-size = -4 bes!-^
165 % resize an articulation
166 \once \override Script.font-size = 4 bes!-^
170 La valeur par défaut de @code{font-size} est mentionnée, pour chaque
171 objet de rendu, dans la référence des propriétés internes. La propriété
172 @code{font-size} ne peut intervenir que pour les objets qui utilisent
173 des polices, autrement dit ceux qui disposent de l'interface de rendu
174 @code{font-interface}. L'abence de @code{font-size} dans la liste des
175 « réglages par défaut » d'un objet signifie qu'elle est de 0 -- voir
176 @rinternals{All layout objects} @emph{(Tous les objets de rendu)}.
179 @subsubsubheading La propriété @code{fontSize}
180 @c VO Understanding the @code{fontSize} property
182 La propriété @code{fontSize} d'un contexte a pour effet de définir la
183 taille proportionnelle de tout élément de notation basé sur un
184 glyphe dans ce contexte :
186 @lilypond[verbatim,quote]
189 d''4---5 c8( b a g) |
191 e'4-- c!8-4( b a g) |
193 fis4---3 e8( d) fis4 |
198 La valeur de @code{fontSize} est un nombre indiquant la taille
199 relative par rapport à la hauteur standard de la portée en cours.
200 La valeur par défaut de @code{fontSize} est de 0. Un pas de six
201 aboutit exactement au doublement de la taille ; un pas de moins
202 six la réduit de moitié. Chaque incrément correspond à une
203 augmentation d'environ 12 % de la taille de la police.
205 La fonction Scheme @code{magnification->font-size} permet de
206 s'affranchir de l'échelle logarithmique peu intuitive des unités
207 de la propriété @code{font-size}. Ainsi, l'ajustement à 75 % de
208 la notation musicale par rapport à la taille de la portée peut se
212 \set fontSize = #(magnification->font-size 0.75)
215 La fonction Scheme @code{magstep} quant à elle effectue
216 l'inverse : elle convertit le nombre affecté à @code{font-size} en
219 La propriété @code{fontSize} affecte uniquement les éléments de
220 notation reposant sur des glyphes, tels les têtes de note,
221 altérations, scripts, etc. Elle n'aura aucun effet sur la taille
222 de la portée, la hauteur des hampes ou la longueur des ligatures
223 ni sur l'espacement horizontal. L'échelonnement des hampes,
224 ligature et espacement horizontal, couplé à la taille de la
225 notation (sans modification de la taille de la portée), s'obtient
226 à l'aide de la commande @code{\magnifyMusic} comme nous venons de
227 le voir. La modification de l'ensemble, y compris la taille de
228 portée, est abordé dans @ref{Définition de la taille de portée}.
230 Dès lors que la @strong{propriété de contexte} @code{fontSize} est
231 définie, sa valeur est ajoutée individuellement à la valeur de la
232 @strong{propriété de @emph{grob}} @code{font-size} des objets de
233 rendu. Ceci peut être source de confusion lorsque des propriétés
234 @code{font-size} individuelles sont réglées alors que
235 @code{fontSize} est déjà fixé :
237 @lilypond[verbatim,quote,fragment]
238 % the default font-size for NoteHead is 0
239 % the default font-size for Fingering is -5
243 % the effective font size for NoteHead is now -3
244 % the effective font size for Fingering is now -8
247 \override Fingering.font-size = 0
248 % the effective font size for Fingering is now -3
252 LilyPond dispose d'un certain nombre de raccourcis :
254 @multitable @columnfractions .2 .4 .4
255 @item @b{Commande} @tab @b{Équivalent} @tab @b{Taille relative}
256 @item @code{\teeny} @tab @code{\set fontSize = -3} @tab 71 %
257 @item @code{\tiny} @tab @code{\set fontSize = -2} @tab 79 %
258 @item @code{\small} @tab @code{\set fontSize = -1} @tab 89 %
259 @item @code{\normalsize} @tab @code{\set fontSize = 0} @tab 100 %
260 @item @code{\large} @tab @code{\set fontSize = 1} @tab 112 %
261 @item @code{\huge} @tab @code{\set fontSize = 2} @tab 126 %
264 @lilypond[verbatim,quote]
281 @cindex standard, taille des notes
282 @cindex notes, taille standard
284 @funindex font-interface
287 Pour changer la taille des caractères, LilyPond met à l'échelle la fonte
288 dont la taille est la plus proche de la taille voulue. La taille
289 standard (pour laquelle @code{font-size = 0}) dépend de la hauteur
290 de la portée. À une portée de 20 points correspond une police de
295 @code{\magnifyMusic},
306 @ref{Définition de la taille de portée},
307 @ref{Mise en forme d'une citation},
308 @ref{Portées d'ossia},
309 @ref{Sélection de la fonte et de la taille}.
311 Fichiers d'initialisation :
312 @file{ly/music-functions-init.ly},
313 @file{ly/property-init.ly}.
316 @rlsrnamed{Editorial annotations,Annotations éditoriales}.
318 Référence des propriétés internes :
319 @rinternals{font-interface}.
321 @c The two issues mentioned below:
322 @c http://code.google.com/p/lilypond/issues/detail?id=3987
323 @c http://code.google.com/p/lilypond/issues/detail?id=3990
325 Deux bogues actuellement répertoriés font obstacle à un espacement
326 horizontal correct avec @code{\magnifyMusic}. La seule façon de les
327 contourner n'est cependant pas garantie dans toutes les situations.
328 Dans l'exemple suivant, il vous faudra adapter la valeur de la variable
329 @var{mag}. Vous pourriez aussi tenter de supprimer une ou les deux
330 commandes @code{\newSpacingSection}, ou les commandes @code{\override}
334 \magnifyMusic @var{mag} @{
336 \override Score.SpacingSpanner.spacing-increment = #(* 1.2 @var{mag})
339 \revert Score.SpacingSpanner.spacing-increment
345 @unnumberedsubsubsec Doigtés
346 @translationof Fingering instructions
349 @cindex substitution de doigt
353 Les doigtés peuvent être indiqués comme suit :
354 @var{note}-@var{chiffre_du_doigt}
356 @lilypond[verbatim,quote]
357 \relative { c''4-1 d-2 f-4 e-3 }
360 Pour les substitutions de doigts, on a recours à une indication
361 textuelle (commande @code{\markup}) de doigté (commande @code{\finger}).
363 @lilypond[verbatim,quote]
365 c''4-1 d-2 f\finger \markup \tied-lyric #"4~3" c\finger "2 - 3"
369 @cindex pouce, doigté
373 La commande @code{\thumb} peut être utilisée pour indiquer, par exemple
374 dans une partition de violoncelle, si une note doit être jouée avec le
375 pouce (@emph{thumb} en anglais).
377 @lilypond[verbatim,quote]
378 \relative { <a'_\thumb a'-3>2 <b_\thumb b'-3> }
381 @cindex doigtés des accords
382 @cindex accords, doigtés
384 Les doigtés des accords peuvent être saisis note par note,
385 en les indiquant après chaque hauteur de note.
387 @lilypond[verbatim,quote]
389 <c''-1 e-2 g-3 b-5>2 <d-1 f-2 a-3 c-5>
393 Les indications de doigtés peuvent se placer au-dessus ou en dessous de
394 la portée -- voir @ref{Direction et positionnement} à ce sujet.
398 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
399 {controlling-the-placement-of-chord-fingerings.ly}
401 @lilypondfile[verbatim,quote,texidoc,doctitle]
402 {allowing-fingerings-to-be-printed-inside-the-staff.ly}
404 @lilypondfile[verbatim,quote,texidoc,doctitle]
405 {avoiding-collisions-with-chord-fingerings.ly}
409 @ref{Direction et positionnement}.
412 @rlsrnamed{Editorial annotations, Annotations éditoriales}.
414 Référence des propriétés internes :
415 @rinternals{FingeringEvent},
416 @rinternals{fingering-event},
417 @rinternals{Fingering_engraver},
418 @rinternals{New_fingering_engraver},
419 @rinternals{Fingering}.
423 @unnumberedsubsubsec Dictée à trous
424 @translationof Hidden notes
426 @cindex masquées, notes
427 @cindex invisibles, notes
428 @cindex transparentes, notes
429 @cindex note invisible
433 @funindex \unHideNotes
435 Les notes masquées -- ou invisibles ou encore transparentes -- sont
436 utiles dans le cadre d'exercices de théorie ou de composition.
438 @lilypond[verbatim,quote]
452 Têtes de note, hampes, crochets et silences sont invisibles. Une
453 ligature sera invisible si elle démarre sur une note invisible.
454 Les objets de notation attachés à une note invisible ne seront pas
457 @lilypond[verbatim,quote]
471 Manuel d'initiation :
472 @rlearning{Visibilité et couleur des objets}.
475 @ref{Masquage de portées},
476 @ref{Silences invisibles},
477 @ref{Visibilité des objets}.
480 @rlsrnamed{Editorial annotations,Annotations éditoriales}.
482 Référence des propriétés internes :
483 @rinternals{Note_spacing_engraver},
484 @rinternals{NoteSpacing}.
487 @node Coloration d'objets
488 @unnumberedsubsubsec Coloration d'objets
489 @translationof Coloring objects
491 @cindex objets en couleur
493 @cindex colorisation d'objets
494 @cindex coloration d'objets
495 @cindex coloration de notes
496 @cindex colorisation de notes
497 @cindex notes en couleur
498 @cindex x11, couleurs
502 @funindex \with-color
505 Des objets peuvent être colorisés individuellement. Une listes des
506 noms des couleurs disponibles se trouvent à l'annexe
507 @ref{Liste des couleurs}.
509 @lilypond[verbatim,quote,fragment]
510 \override NoteHead.color = #red
512 \override NoteHead.color = #(x11-color 'LimeGreen)
514 \override Stem.color = #blue
518 L'intégralité de la palette des couleurs définies pour X11 est
519 accessible par la fonction Scheme @code{x11-color}. Cette fonction
520 prend en argument une expression symbolique de la forme
521 @code{@var{'TaraTata}} ou bien une chaîne de caractères comme
522 @code{@var{"TaraTata"}}. La première formulation est à la fois plus
523 rapide à écrire et aussi plus efficace. Néanmoins, la deuxième forme
524 permet d'accéder aux noms composés des couleurs de X11.
526 Lorsque la fonction @code{x11-color} ne trouve pas le paramètre fourni,
527 elle revient à la couleur par défaut, le noir. Le problème ressort de
528 façon évidente au vu de la partition finale.
530 @lilypond[verbatim,quote]
532 \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
533 \set Staff.instrumentName = \markup {
534 \with-color #(x11-color 'navy) "Clarinet"
538 \override Beam.color = #(x11-color "medium turquoise")
540 \override Accidental.color = #(x11-color 'DarkRed)
542 \override NoteHead.color = #(x11-color "LimeGreen")
544 % this is deliberate nonsense; note that the stems remain black
545 \override Stem.color = #(x11-color 'Boggle)
558 Un autre moyen consiste à fournir à la fonction Scheme @code{rgb-color}
559 les composantes de la couleur exacte au format rouge-vert-bleu
560 (@emph{RGB}) -- chacune étant exprimée en en fraction de 256 (le 0.5 de
561 l'exemple suivant correspond à 128).
563 @lilypond[verbatim,quote]
565 \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
566 \set Staff.instrumentName = \markup {
567 \with-color #(x11-color 'navy) "Clarinet"
570 \override Stem.color = #(rgb-color 0 0 0)
572 \override Stem.color = #(rgb-color 1 1 1)
574 \override Stem.color = #(rgb-color 0 0 0.5)
581 @ref{La commande d'affinage (tweak)},
582 @ref{Liste des couleurs}.
585 @rlsrnamed{Editorial annotations,Annotations éditoriales}.
588 @cindex couleur, notes d'un accord
589 @cindex notes colorisées dans un accord
590 @cindex accords et couleur
595 Une couleur x11 n'aura pas forcément le même rendu qu'une couleur
596 normale ayant un nom similaire.
598 Les couleurs de X11 ne sont pas toutes perceptibles dans un navigateur
599 internet. Aussi nous vous recommandons, dans le cadre d'une
600 présentation multimédia, d'utiliser des couleurs de base @code{blue},
601 @code{green}, @code{red} -- bleu, vert, rouge.
603 Vous ne pouvez pas coloriser individuellement des notes à l'intérieur
604 d'un accord avec @code{\override}. Si besoin est, utilisez
605 @code{\tweak} ou @code{\single\override} devant la note en question.
606 Pour plus de détails, consultez @ref{La commande d'affinage (tweak)}.
610 @unnumberedsubsubsec Parenthèses
611 @translationof Parentheses
613 @cindex fantômes, notes
614 @cindex notes fantômes
615 @cindex parenthèses, notes entre
616 @cindex crochets, notes entre
618 @funindex \parenthesize
620 Des objets peuvent être mis entre parenthèses en saisissant
621 @code{\parenthesize} juste avant l'événement musical. Si l'instruction
622 préfixe un accord, chaque note le composant se présentera entre
623 parenthèses. Vous pouvez aussi mettre individuellement entre
624 parenthèses les notes d'un accord.
626 @lilypond[verbatim,quote]
629 c2 \parenthesize <c e g>
630 c2 <c \parenthesize e g>
634 Les objets autres que des notes peuvent aussi être entre parenthèses.
635 En ce qui concerne les articulations, l'instruction @code{\parenthesize}
636 doit cependant être précédée d'un tiret.
638 @lilypond[verbatim,quote]
640 c''2-\parenthesize -. d
647 @rlsrnamed{Editorial annotations,Annotations éditoriales}.
649 Référence des propriétés internes :
650 @rinternals{Parenthesis_engraver},
651 @rinternals{ParenthesesItem},
652 @rinternals{parentheses-interface}.
655 Lorsqu'un accord est mis entre parenthèses, celles-ci s'appliquent
656 individuellement à chacune des notes le composant, alors qu'on
657 attendrait une seule paire de parenthèses encadrant tout l'accord.
661 @unnumberedsubsubsec Hampes
665 @cindex hampes invisibles
666 @cindex visibilité des hampes
667 @cindex masquage des hampes
668 @cindex hampe, orientation
669 @cindex hampe montante
670 @cindex hampe descendante
675 @funindex \stemNeutral
677 Dès qu'une note est rencontrée, un objet @code{Stem} se crée
678 automatiquement. Pour les rondes et les silences, ils sont aussi
679 créés, mais en mode invisible.
681 L'orientation des hampes peut être définie manuellement -- voir
682 @ref{Direction et positionnement} à ce sujet.
692 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
693 {default-direction-of-stems-on-the-center-line-of-the-staff.ly}
695 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
696 {automatically-changing-the-stem-direction-of-the-middle-note-based-on-the-melody.ly}
700 @ref{Direction et positionnement}.
703 @rlsrnamed{Editorial annotations,Annotations éditoriales}.
705 Référence des propriétés internes :
706 @rinternals{Stem_engraver},
708 @rinternals{stem-interface}.
711 @node Hors de la portée
712 @subsection Hors de la portée
713 @translationof Outside the staff
715 Nous allons nous intéresser ici à souligner des éléments inscrits dans
716 la portée par des éléments qui lui seront externes.
720 * Quadrillage temporel::
721 * Crochets d'analyse::
726 @unnumberedsubsubsec Info-bulle
727 @translationof Balloon help
730 @cindex notation, explication
733 @funindex \balloonGrobText
734 @funindex \balloonText
735 @funindex Balloon_engraver
736 @funindex balloonGrobText
737 @funindex balloonText
738 @funindex \balloonLengthOn
739 @funindex \balloonLengthOff
741 Vous pouvez marquer et nommer des éléments de notation à l'aide de
742 bulles. L'objectif premier de cette fonctionnalité est d'expliquer la
745 En voici un exemple :
747 @lilypond[verbatim,quote]
748 \new Voice \with { \consists "Balloon_engraver" }
750 \balloonGrobText #'Stem #'(3 . 4) \markup { "Je suis une hampe" }
752 \balloonGrobText #'Rest #'(-4 . -4) \markup { "Je suis un silence" }
754 <c, g'-\balloonText #'(-2 . -2) \markup { "Je suis une tête de note" } c>2.
758 Vous disposez de deux fonctions musicales, @code{balloonGrobText} et
759 @code{balloonText}. @code{balloonGrobText} prend en argument l'objet
760 graphique à agrémenter et s'utilise comme @code{\once \override}.
761 @code{balloonText}, quant à lui, s'utilise comme une simple articulation
762 et fonctionne comme @code{\tweak} pour attacher du texte à l'une des
763 notes d'un accord. Les autres arguments sont le décalage et le texte de
766 Les info-bulles n'ont aucune influence sur l'espacement des notes ; on
767 peut toutefois le gérer ainsi :
770 @lilypond[verbatim,quote]
771 \new Voice \with { \consists "Balloon_engraver" }
773 \balloonGrobText #'Stem #'(3 . 4) \markup { "Je suis une hampe" }
775 \balloonGrobText #'Rest #'(-4 . -4) \markup { "Je suis un silence" }
778 <c, g'-\balloonText #'(-2 . -2) \markup { "Je suis une tête de note" } c>2.
783 @code{\balloonLengthOn},
784 @code{\balloonLengthOff}.
789 @rlsrnamed{Editorial annotations,Annotations éditoriales}.
791 Référence des propriétés internes :
792 @rinternals{Balloon_engraver},
793 @rinternals{BalloonTextItem},
794 @rinternals{balloon-interface}.
797 @node Quadrillage temporel
798 @unnumberedsubsubsec Quadrillage temporel
799 @translationof Grid lines
801 @cindex quadrillage temporel
802 @cindex temporel, quadrillage
804 @funindex Grid_point_engraver
805 @funindex Grid_line_span_engraver
806 @funindex gridInterval
808 Vous pouvez tracer des lignes entre les portées, synchronisées avec
811 LilyPond a recours à deux graveurs distincts afin d'afficher le
812 quadrillage : le @code{Grid_point_engraver} se charge de déterminer
813 l'envergure du crochet, alors que le @code{Grid_line_span_engraver} se
814 consacrera au tracé des lignes. Les lignes sont par défaut centrées
815 horizontalement sous les notes et alignées sur la gauche des têtes. La
816 propriété @code{gridInterval} spécifie quant à elle l'espace de temps
820 @lilypond[verbatim,quote]
824 \consists "Grid_point_engraver" %% active les guides
825 gridInterval = #(ly:make-moment 1/4)
829 \consists "Grid_line_span_engraver"
830 %% centre les lignes guides horizontalement sous les notes
836 \new Staff \relative {
840 \new Staff \relative {
841 %% centre les lignes guides verticalement
852 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
853 {grid-lines--changing-their-appearance.ly}
857 @rlsrnamed{Editorial annotations,Annotations éditoriales}.
859 Référence des propriétés internes :
860 @rinternals{Grid_line_span_engraver},
861 @rinternals{Grid_point_engraver},
862 @rinternals{GridLine},
863 @rinternals{GridPoint},
864 @rinternals{grid-line-interface},
865 @rinternals{grid-point-interface}.
868 @node Crochets d'analyse
869 @unnumberedsubsubsec Crochets d'analyse
870 @translationof Analysis brackets
873 @cindex crochets de phrasé
874 @cindex analyse musicologique
875 @cindex crochet de regroupement de notes
876 @cindex musicologie, crochets d'analyse
878 @funindex Horizontal_bracket_engraver
879 @funindex \startGroup
882 On utilise des crochets en analyse musicale, pour indiquer la
883 structure d'une pièce.
885 @lilypond[verbatim,quote]
889 \consists "Horizontal_bracket_engraver"
898 Les crochets d'analyses sont susceptibles d'être imbriqués :
900 @lilypond[verbatim,quote]
904 \consists "Horizontal_bracket_engraver"
908 c''4\startGroup\startGroup
911 d4\stopGroup\stopGroup
917 @rlsrnamed{Editorial annotations,Annotations éditoriales}.
919 Référence des propriétés internes :
920 @rinternals{Horizontal_bracket_engraver},
921 @rinternals{HorizontalBracket},
922 @rinternals{horizontal-bracket-interface},