version that you are working on. See TRANSLATION for details.
@end ignore
+@c \version "2.11.38"
+
+@c Translators: Valentin Villenave
+@c Translation checkers: Gilles Thibault
+
@node Changing defaults
@chapter Changing defaults
-
LilyPond est conçu pour engendrer, par défaut, des partitions de la
plus haute qualité. Cependant, on peut parfois avoir à modifier cette
mise en page par défaut. Celle-ci est réglée par tout un ensemble de
les entrailles du programme, et de ce fait requiert l'emploi du Scheme.
Les fragments de Scheme, dans un fichier @code{.ly}, sont introduits par le
caractère @q{hash}, (@code{#}, improprement surnommé @q{dièse}).@footnote{Le
-@ref{Scheme tutorial} fournit quelques notions de base pour saisir des nombres,
+@rlearning{Scheme tutorial} fournit quelques notions de base pour saisir des nombres,
des listes, des chaînes de caractères ou des symboles, en Scheme.}
Cette règle est équivalente à @code{modern}, mais les bécarres de précaution sont
imprimés de façon particulière : soit plus petits, soit (par défaut) entre parenthèses.
Il est possible de le définir au moyen de la propriété @code{cautionary-style}
-pour l'objet @internalsref{AccidentalSuggestion}.
+pour l'objet @rinternals{AccidentalSuggestion}.
@lilypond[quote,ragged-right]
musicA = { << \relative { cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
Cette règle sert aux altérations dans de la musique polyphonique destinée
autant à des musiciens différents qu'à quelqu'un qui lirait l'ensemble des voix.
Les altérations sont imprimées voix par voix, mais les autres voix, dans le même
-contexte @internalsref{Staff}, en @emph{tiennent compte} cette fois.
+contexte @rinternals{Staff}, en @emph{tiennent compte} cette fois.
@lilypond[quote,ragged-right]
musicA = { << \relative { cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
Cette règle est communément employée pour les partitions de piano au XXème siècle.
Très similaire à @code{modern} de par son comportement, elle s'en distingue en ce que
-les altérations tiennent compte des autre portées du contexte @internalsref{GrandStaff} ou
-@internalsref{PianoStaff}.
+les altérations tiennent compte des autre portées du contexte @rinternals{GrandStaff} ou
+@rinternals{PianoStaff}.
@lilypond[quote,ragged-right]
musicA = { << \relative { cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
@seealso
-Référence du programme : @internalsref{Accidental_engraver},
-@internalsref{Accidental}, @internalsref{AccidentalSuggestion} et @internalsref{AccidentalPlacement}.
+Référence du programme : @rinternals{Accidental_engraver},
+@rinternals{Accidental}, @rinternals{AccidentalSuggestion} et @rinternals{AccidentalPlacement}.
-@refbugs
+@knownissues
Les notes simultanées sont considérées comme des évènements séquentiels.
Ce qui implique que, dans un accord, les altérations accidentelles seront
les ligatures automatiques doivent être désactivées, avec @code{\autoBeamOff}.
-@refcommands
+@predefined
@funindex \autoBeamOff
@code{\autoBeamOff},
@end lilypond
-@refbugs
+@knownissues
Si une partition se termine alors qu'une ligature automatique est restée inachevée,
cette dernière ligature ne sera pas imprimée du tout. C'est également valable dans
@node Interpretation contexts
@section Interpretation contexts
-Cette section traite des contextes : que sont-ils ? Comment les modifier ?
+Cette section traite des contextes.
@menu
-* Contexts explained::
-* Creating contexts::
* Changing context properties on the fly::
* Modifying context plug-ins::
* Layout tunings within contexts::
@end menu
-@node Contexts explained
-@subsection Contexts explained
-
-Imprimer de la musique impose d'ajouter un certain nombre d'éléments de notation.
-Par exemple, voici un fragment de partition, précédé du code qui l'engendre :
-
-@lilypond[quote,verbatim,relative=2,fragment]
-cis4 cis2. g4
-@end lilypond
-
-Si le code est assez austère, dans la parition ont été ajoutés un chiffre de mesure,
-des barres de mesure, des altérations et une clé. Pour une bonne raison : LilyPond
-@emph{interprète} le code. Il le compulse dans l'ordre chronologique, de même qu'on
-lit une partition de gauche à droite ; et pendant ce traitement, le logiciel garde en
-mémoire les limites des mesures, ou encore quelles hauteurs de notes demandent des
-altérations accidentelles. Ces informations se présentent à plusieurs niveaux : ainsi,
-une altération n'a d'effet que sur une seule portée, tandis qu'une barre de mesure doit
-être synchronisée sur toute l'étendue verticale de la partition.
-
-LilyPond regroupe ces règles et ces fragments d'information dans des
-@emph{Contextes}. Certains contextes sont les voix (contexte @context{Voice}),
-les portées (contexte @context{Staff}), ou la partition dans son ensemble
-(contexte @context{Score}). Ils sont ordonnés hiérarchiquement : ainsi un
-contexte @context{Staff} peut contenir plusieurs contextes @context{Voice}, et un
-contexte @context{Score} peut contenir plusieurs contextes @context{Staff}.
-
-@quotation
-@image{context-example,5cm,,}
-@end quotation
-
-Chaque contexte est chargé de faire appliquer certaines règles de gravure,
-de créer certains objets, et de prendre en compte les propriétés qui leur
-sont associées. Ainsi, le contexte @context{Voice} peut faire intervenir une
-altération accidentelle, puis le contexte @context{Staff} devra déterminer si
-cette dernière devra être imprimée ou non dans la suite de la mesure. Les barres
-de mesure, enfin, sont alignées verticalement grâce au contexte @context{Score}.
-
-En revanche, dans une musique polymétrique, par exemple mélant une portée à 3/4
-et une autre à 4/4, les barres de mesures n'ont plus à être alignées : il faut alors
-modifier les comportement par défaut des contextes @context{Score} et @context{Staff}.
-
-Dans une partition très simple, les contextes sont créés implicitement, et peuvent
-être ignorés. Mais lorsqu'il s'agit de morceaux plus amples -- entendons par là tout
-ce qui s'écrit sur plus d'une portée -- il faut les créer explicitement pour être sûr
-d'obtenir toutes les portées nécessaires, et dans le bon ordre. Enfin pour des
-morceaux impliquant une notation spéciale, modifier les contextes ou en créer de nouveaux
-devient extrêment utile.
-
-Une description exhaustive de tous les contextes disponibles peut être trouvée dans la
-référence du programme : voir
-@ifhtml
-@internalsref{Contexts}.
-@end ifhtml
-@ifnothtml
-Translation @expansion{} Context.
-@end ifnothtml
-
-@c [TODO: describe propagation]
-
-
-@node Creating contexts
-@subsection Creating contexts
-
-Dans une partition contenant une seule voix sur une seule portée,
-les contextes sont automatiquement créés. Dans une partition plus complexe,
-il faut les crééer à la main. Trois commandes le permettent :
-
-@itemize @bullet
-
-@item
-La plus facile, et la plus rapide à saisir, est @code{\new} -- @qq{nouveau} en français.
-Elle introduit une expression musicale, comme suit :
-
-@funindex \new
-@cindex nouveaux contextes
-@cindex Contextes, création de
-
-@example
-\new @var{Contexte} @var{expression musicale}
-@end example
-
-@noindent
-le choix du @var{Contexte} pouvant être, par exemple, @code{Staff} ou
-@code{Voice}. Cette commande crée un contexte, puis interprète
-l'@var{expression musicale} dans ledit contexte.
-
-En pratique, la commande @code{\new} peut servir dans une partition
-comprenant plusieurs portées. Comme chaque partie doit se trouver sur sa propre
-portée, il faut la faire précéder de @code{\new Staff}.
-
-@lilypond[quote,verbatim,relative=2,ragged-right,fragment]
-<<
- \new Staff { c4 c }
- \new Staff { d4 d }
->>
-@end lilypond
-
-La commande @code{\new} peut aussi permettre de nommer le contexte créé :
-
-@example
-\new @var{Contexte} = @var{"inventezUnNom"} @var{musique}
-@end example
-Le nom que vous choisirez ne pourra être attribué que si aucun autre contexte
-n'a été créé précédemment avec le même nom.
-
-
-@funindex \context
-
-@item
-Tout comme @code{\new}, la commande @code{\context} envoie une expression musicale
-vers un contexte donné, mais attribue nécessairement un nom à ce contexte. La
-syntaxe est la suivante :
-
-@example
-\context @var{Contexte} = @var{unNom} @var{musique}
-@end example
-
-Cette commande va partir à la recherche d'un contexte déjà existant, de type
-@var{Contexte}, et portant le nom @var{unNom}. Ce qui peut être fort utile
-pour se référer à un contexte existant. S'il s'avère que le contexte en question
-n'existe pas encore, il est créé. Dans le cas de musique vocale avec des paroles,
-cela donne :
-
-@example
-\context Voice = "@b{tenor}" @var{musique}
-@end example
-
-@noindent
-et (pour que le texte soit aligné correctement avec les notes) :
-
-@example
-\new Lyrics \lyricsto "@b{tenor}" @var{paroles}
-@end example
-
-@noindent
-
-Une autre utilité de dénommer les contextes est de superposer en un même
-contexte différentes expressions musicales. Dans l'exemple suivant, les
-notes et les ponctuations ont été saisies séparément :
-
-@example
-musique = @{ c4 c4 @}
-ponctuation = @{ s4-. s4-> @}
-@end example
-
-En les envoyant toutes deux dans le même contexte @context{Voice}, on les combine :
-
-@example
-<<
- \new Staff \context Voice = "A" \musique
- \context Voice = "A" \ponctuation
->>
-@end example
-@lilypond[quote,ragged-right]
-music = { c4 c4 }
-arts = { s4-. s4-> }
-\relative c'' <<
- \new Staff \context Voice = "A" \music
- \context Voice = "A" \arts
->>
-@end lilypond
-
-De cette façon, il est possible d'élaborer une édition Urtext (c'est-à-dire originale,
-la plupart du temps sans ponctuations), en laissant la possibilité d'ajouter différentes
-ponctuations sur les mêmes notes.
-
-@cindex crééer des contextes
-
-@item
-La dernière commande pour créer des contextes est
-@example
-\context @var{Contexte} @var{musique}
-@end example
-
-
-@noindent
-Elle ressemble à l'emploi de @code{\context} avec @code{= @var{unNom}}, mais
-cette fois elle se considèrera chez elle partout où elle trouvera un contexte
-de type @var{Contexte}, quel que puisse être son nom.
-
-@c Au secours ! --vv
-
-Cette variante sert à des expressions musicales qui peuvent être interprétées à
-plusieurs niveaux. Par exemple, une commande telle que @code{\applyOutput} (voir
-@ref{Running a function on all layout objects}) : si elle n'est pas associée avec
-@code{\context}, elle s'applique par défaut dans le contexte @context{Voice}.
-
-@example
-\applyOutput #'@var{Contexte} #@var{fonction} % s'applique dans le contexte Voice
-@end example
-
-Pour l'appliquer au contexte @context{Score} ou @context{Staff}, il faut utiliser :
-
-@example
-\applyOutput #'Score #@var{fonction}
-\applyOutput #'Staff #@var{fonction}
-@end example
-
-@end itemize
-
-
@node Changing context properties on the fly
@subsection Changing context properties on the fly
@noindent
aucun argument @var{contexte} n'a été donné à la commande @code{\set}.
De ce fait, les ligatures automatiques sont désactivées dans le
-contexte actuel, c'est-à-dire @internalsref{Voice}. Notez que le
+contexte actuel, c'est-à-dire @rinternals{Voice}. Notez que le
contexte le plus restreint n'est pas toujours le bon,
et peut ne pas contenir la propriété qui vous intéresse : ainsi, la propriété
@code{skipBars}, évoquée plus haut, ne relève pas du contexte @code{Voice},
La référence du programme contient une description exhaustive de toutes les
propriétés contexte par contexte : voir
@ifhtml
-@internalsref{Tunable context properties}.
+@rinternals{Tunable context properties}.
@end ifhtml
@ifnothtml
Translation @expansion{} Tunable context properties.
Vous trouverez une description exhaustive de chaque graveur dans
@ifhtml
-@internalsref{Engravers}.
+@rinternals{Engravers}.
@end ifhtml
@ifnothtml
Program reference @expansion Translation @expansion{} Engravers.
@end ifnothtml
Chaque contexte mentionné dans
@ifhtml
-@internalsref{Contexts}
+@rinternals{Contexts}
@end ifhtml
@ifnothtml
Program reference @expansion Translation @expansion{} Context.
@seealso
-Référence du programme : @internalsref{OverrideProperty}, @internalsref{RevertProperty},
-@internalsref{PropertySet}, @internalsref{Backend}, et
-@internalsref{All layout objects}.
+Référence du programme : @rinternals{OverrideProperty}, @rinternals{RevertProperty},
+@rinternals{PropertySet}, @rinternals{Backend}, et
+@rinternals{All layout objects}.
-@refbugs
+@knownissues
La sous-couche Scheme ne vérifie pas la saisie des propriétés de façon
très stricte. Des références cycliques dans des valeurs Scheme peuvent
@end example
-@refbugs
+@knownissues
Il est impossible de stocker des modifications de contexte dans un identificateur.
@end example
@noindent
-Le graveur @internalsref{Pitch_squash_engraver} intercepte les notes créées par
-@internalsref{Note_heads_engraver}, et les @q{écrase} pour qu'elles aient toutes la
+Le graveur @rinternals{Pitch_squash_engraver} intercepte les notes créées par
+@rinternals{Note_heads_engraver}, et les @q{écrase} pour qu'elles aient toutes la
même position verticale, définie par @code{squashedPosition} : ici il s'agit de la
valeur@tie{}@code{0}, c'est-à-dire la ligne du milieu.
@item Afin que tous ces graveurs puissent travailler de concert, on leur adjoint un
sous-programme spécial, introduit par la commande @code{\type} : il s'agit de
-@internalsref{Engraver_group},
+@rinternals{Engraver_group},
@example
\type "Engraver_group"
Il est possible d'aligner verticalement chaque nouveau contexte,
en-dessous ou au-dessus, par exemple dans le cas de musique vocale
-(@ref{Vocal ensembles}) ou d'@qq{ossias}.
+(@rlearning{Vocal ensembles}) ou d'@qq{ossias}.
@cindex ossia
@findex alignAboveContext
@quotation
@seealso
-Référence du programme : @internalsref{Fingering}.
+Référence du programme : @rinternals{Fingering}.
@end quotation
forward. For example, it says
@quotation
-Accepted by: @internalsref{Fingering_engraver},
+Accepted by: @rinternals{Fingering_engraver},
@end quotation
@noindent
plug-in, which says
@quotation
-This engraver creates the following layout objects: @internalsref{Fingering}.
+This engraver creates the following layout objects: @rinternals{Fingering}.
@end quotation
In other words, once the @code{FingerEvent}s are interpreted, the
@c I can't figure out what this is supposed to mean. -gp
The @code{Fingering_engraver} is also listed to create
-@internalsref{Fingering} objects,
+@rinternals{Fingering} objects,
@c old info? it doesn't make any sense to me with our current docs.
This is also the
dans un document au format PDF.
@end ifnothtml
-Suivons le lien @internalsref{Fingering}. En haut de la nouvelle page,
+Suivons le lien @rinternals{Fingering}. En haut de la nouvelle page,
on peut lire
@quotation
-Fingering objects are created by: @internalsref{Fingering_engraver} and
-@internalsref{New_fingering_engraver}.
+Fingering objects are created by: @rinternals{Fingering_engraver} and
+@rinternals{New_fingering_engraver}.
@end quotation
En d'autres termes, @emph{Les indications de doigtés}
(@code{Fingering} en anglais) @emph{sont créées par les graveurs
-@internalsref{Fingering_engraver} et @internalsref{New_fingering_engraver}.}
+@rinternals{Fingering_engraver} et @rinternals{New_fingering_engraver}.}
En suivant derechef les liens propres à la référence du programme, on suit en fait
le cheminement qui aboutit à la création de la partition :
@itemize @bullet
-@item @internalsref{Fingering}:
-@internalsref{Fingering} objects are created by:
-@internalsref{Fingering_engraver}
+@item @rinternals{Fingering}:
+@rinternals{Fingering} objects are created by:
+@rinternals{Fingering_engraver}
-@item @internalsref{Fingering_engraver}:
-Music types accepted: @internalsref{fingering-event}
+@item @rinternals{Fingering_engraver}:
+Music types accepted: @rinternals{fingering-event}
-@item @internalsref{fingering-event}:
+@item @rinternals{fingering-event}:
Music event type @code{fingering-event} is in Music expressions named
-@internalsref{FingerEvent}
+@rinternals{FingerEvent}
@end itemize
Ce cheminement se produit, bien sûr, en sens inverse : nous sommes ici partis
La référence du programme peut également se parcourir comme un document normal.
On y trouve des chapitres tels que
@ifhtml
-@internalsref{Music definitions},
+@rinternals{Music definitions},
@end ifhtml
@ifnothtml
@code{Music definitions}
@end ifnothtml
-@internalsref{Translation}, ou encore @internalsref{Backend}. Chaque chapitre
+@rinternals{Translation}, ou encore @rinternals{Backend}. Chaque chapitre
recense toutes les définitions employées, et les propriétés sujettes à
ajustements.
(en anglais @q{Graphical Object}, d'où le diminutif @emph{Grob}).
Chaque objet est doté d'un certain nombre de propriétés (l'épaisseur du trait,
l'orientation, etc.), et lié à d'autres objets.
-Le fonctionnement de ces objets est décrit en détail dans @internalsref{grob-interface}.
+Le fonctionnement de ces objets est décrit en détail dans @rinternals{grob-interface}.
Prenons l'exemple des doigtés (en anglais @q{Fingering}).
La page @code{Fingering} de la Référence du programme établit une liste de définitions
@end itemize
Faire appliquer ces différents attributs est le rôle des @emph{interfaces},
-que l'on trouve en bas de la page @internalsref{Fingering}.
+que l'on trouve en bas de la page @rinternals{Fingering}.
@quotation
This object supports the following interfaces:
-@internalsref{item-interface},
-@internalsref{self-alignment-interface},
-@internalsref{side-position-interface}, @internalsref{text-interface},
-@internalsref{text-script-interface}, @internalsref{font-interface},
-@internalsref{finger-interface}, and @internalsref{grob-interface}.
+@rinternals{item-interface},
+@rinternals{self-alignment-interface},
+@rinternals{side-position-interface}, @rinternals{text-interface},
+@rinternals{text-script-interface}, @rinternals{font-interface},
+@rinternals{finger-interface}, and @rinternals{grob-interface}.
@end quotation
@noindent
Dans le cas présent, le réglage intervient dans le contexte @context{Voice},
ce qui pouvait également se déduire de la Référence du programme, où la page
-du graveur @internalsref{Fingering_engraver} indique :
+du graveur @rinternals{Fingering_engraver} indique :
@quotation
-Fingering_engraver is part of contexts: @dots{} @internalsref{Voice}
+Fingering_engraver is part of contexts: @dots{} @rinternals{Voice}
@end quotation
@noindent
Ce qui signifie
@quotation
-Le graveur Fingering_engraver fait partie des contextes : @dots{} @internalsref{Voice}
+Le graveur Fingering_engraver fait partie des contextes : @dots{} @rinternals{Voice}
@end quotation
le nom de l'objet (@emph{grob}), ni le contexte dans lequel cela doit s'appliquer.
Ce procédé ne marche que pour des objets directement liés aux évènements
-(@internalsref{Event}) du fichier source. Par exemple :
+(@rinternals{Event}) du fichier source. Par exemple :
@itemize @bullet
@item Les têtes de notes au sein d'un accord, qui sont directement engendrées par
si oui, applique un espacement supplémentaire (@code{extra-offset}).
@end itemize
-On ajoute cette procédure à l'objet @internalsref{Tie} (liaison de tenue),
+On ajoute cette procédure à l'objet @rinternals{Tie} (liaison de tenue),
de façon à ce que le deuxième morceau d'une liaison divisée soit rehaussé.
@c KEEP LY