@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: db53c05f11bea8831733b1fdf7ebe32cb1f491f4
+ Translation of GIT committish: 95e6825ee09ca7f8eea87580301c8819ff1d571b
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@end example
@noindent
-Dès lors que tout cela est entre accolades : @code{@{ ... @}}, LilyPond
-le considère comme une et une seule expression musicale.
+Dès lors que tout cela est entre accolades : @code{@{ @dots{} @}},
+LilyPond le considère comme une et une seule expression musicale.
Comme nous l'avons vu précédemment, un bloc @code{\score} peut contenir
d'autres informations :
exemple, la commande @code{\header} intervient souvent avant le bloc
@code{\score}, comme le montre l'exemple ci-dessus.
-Les deux autres commandes -- @code{\layout @{ @}} et @code{\midi @{@}}
+Les deux autres commandes -- @code{\layout @{@}} et @code{\midi @{@}}
-- que nous n'avons pas détaillées pour l'instant, auront respectivement
pour effet, lorsqu'elles interviennent, de produire une sortie
imprimable et un fichier MIDI. Nous nous y intéressons plus
En résumé :
Dès que LilyPond rencontre un bloc @code{\book}, il crée un
-fichier distinct (.pdf par exemple). Dans le cas où il n'est pas
+fichier distinct (@code{.pdf} par exemple). Dans le cas où il n'est pas
mentionné explicitement, LilyPond regroupera l'intégralité du code dans
un bloc @code{\book}.
@cindex identificateurs
Un autre raccourci pratique est la possibilité de définir
-des variables --- également appelées @qq{identificateurs}. Dans tous
+des variables -- également appelées @qq{identificateurs}. Dans tous
les modèles, vous trouverez :
@example
chiffre, ni ponctuation, ni caractère accentué, ni espace.} ; ce peut être
@code{melodie}, @code{global}, @code{maindroitepiano}, ou
@code{laTeteAToto}, tant qu'il ne s'agit pas de @qq{mot réservé}. Pour
-plus de détails, voir @ref{Économie de saisie grâce aux identificateurs et fonctions}.
+plus de détails, voir
+@ref{Économie de saisie grâce aux identificateurs et fonctions}.
@seealso
Peut-être serait-il judicieux de relire la section
@ref{Les expressions musicales en clair}, dans laquelle vous avez
appris à construire de grandes expressions musicales petit bout
-par petit bout --- nous avons vu les notes, puis les accords, etc.
+par petit bout -- nous avons vu les notes, puis les accords, etc.
Maintenant, nous allons partir d'une grande expression musicale,
et remonter la pente.
Un opéra de Wagner multiplierait facilement la longueur de ce manuel
par deux ou trois, alors contentons-nous d'une voix et d'un piano. On
-n'a plus besoin d'une partition d'orchestre --- @emph{i.e.} des
-portées regroupées en @code{StaffGroup} --- donc laissons cela de
+n'a plus besoin d'une partition d'orchestre -- c.-à-d. des
+portées regroupées en @code{StaffGroup} -- donc laissons cela de
côté. Par contre, nous voulons bien une voix et un piano.
@example
@end example
Vous vous souvenez que nous avons recours à @code{<<} et @code{>>}
-en lieu et place de @code{@{ ... @}} pour gérer des musiques
+en lieu et place de @code{@{ @dots{} @}} pour gérer des musiques
simultanées. Et, pour le coup, on aimerait @emph{vraiment} que la
-partie vocale et l'accompagnement soient imprimés ensemble... Bien que
+partie vocale et l'accompagnement soient imprimés ensemble@dots{} Bien que
faire appel à @code{<< ... >>} ne soit pas réellement nécessaire pour la
portée du chanteur, dans la mesure où elle ne contient qu'une seule
expression musicale, nous vous recommandons de prendre l'habitude de
-l'encadrer ainsi plutôt que par de simples accolades --- une portée peut
+l'encadrer ainsi plutôt que par de simples accolades -- une portée peut
en effet contenir plusieurs voix.
@lilypond[verbatim,quote,ragged-right]
On y voit nettement plus clair maintenant. Nous voici donc avec la
partie du chanteur, qui contient un ensemble @code{Voice}, ce qui dans
-LilyPond correspond à une voix, au sens de voix d'une polyphonie plutôt que
-de voix chantée --- ce pourrait être une partie de violon par
-exemple ---, et des paroles.
+LilyPond correspond à une voix, au sens de voix d'une polyphonie plutôt
+que de voix chantée -- ce pourrait être une partie de violon par
+exemple --, et des paroles.
Nous avons également une partie de piano, qui contient deux portées :
une pour la main droite, une autre pour la main gauche.
-À ce point, on pourrait commencer à ajouter les notes. Dans les
+À ce point, on pourrait commencer à ajouter les notes. Dans les
accolades qui suivent @code{\new Voice = chant}, on pourrait commencer
à écrire
@noindent
Vous noterez la taille de la clef, identique à celle que l'on trouve
-lors d'un changement en cours de ligne --- légèrement plus petite que
+lors d'un changement en cours de ligne -- légèrement plus petite que
celle imprimée en tête de ligne.
@cindex portée, positionnement
Cet exemple recourt à @code{\with}, que nous verrons en détail plus
avant. C'est un moyen de modifier le comportement par défaut d'une
portée individuelle. Nous indiquons ici que la nouvelle portée doit se
-placer au dessus de la portée @qq{principal} plutôt qu'en dessous, ce
+placer au-dessus de la portée @qq{principal} plutôt qu'en dessous, ce
qui est le comportement par défaut.
Les ossia apparaissent souvent sans clef ni métrique, et dans une police
D'autres constructions permettent d'obtenir des lignes regroupant ou en
travers des notes : les liaisons de prolongation indiquées par un
tilde (@code{~}), les marques de nolet avec
-@code{\times@tie{}x/y@tie{}@{..@}}, ou
+@w{@code{\times x/y @{..@}}}, ou
encore les notes d'ornement avec @code{\grace@{..@}}.
En dehors de LilyPond, l'imbrication correcte de différents types de
@end lilypond
De manière générale, différents types de crochets, notamment s'ils
-indiquent des nolets, liaisons de prolongation ou notes d'ornements,
+indiquent des nolets, liaisons de prolongation ou notes d'ornement,
peuvent se mélanger entre eux. L'exemple suivant montre une ligature
qui se prolonge sur un triolet (ligne 1), puis une liaison qui se
prolonge sur un triolet (ligne 2) et enfin une ligature et une liaison
Les chanteurs utilisent leur voix pour chanter ; il en va de même pour
LilyPond. En fait, la musique de chacun des instruments d'une partition
-est contenue dans des voix (@emph{Voices} en anglais) et qui se trouve
+est contenue dans des voix (@emph{Voices} en anglais) et qui se trouvent
être le concept fondamental de LilyPond.
@menu
@end lilypond
Nous exprimons ici chacun des accords par l'utilisation de
-chevrons gauche et droite simples, @code{< ... >}, puisque nous
+chevrons gauche et droite simples, @w{@code{< ... >}}, puisque nous
n'avons besoin que d'une seule voix. Supposons maintenant que le fa
dièse soit une croche, suivie d'un sol croche -- une note de passage
vers le la ? Nous avons alors deux notes qui débutent au même moment,
@end lilypond
-@cindex voix, nomage
+@cindex voix, nommage
@cindex voix et constructions simultanées
@cindex liaisons et constructions simultanées
}
@end lilypond
-Ces voix sont séparées de la voix principale, laquelle contient les notes en
-dehors de la construction @code{<< .. >>} -- que nous appellerons
-@emph{construction simultanée}. Les liaisons, de prolongation ou non,
-ne peuvent relier des notes que si elles appartiennent à la même voix ;
-elles ne peuvent ni pénétrer une contruction simultanée, ni en sortir.
-Inversement, les voix parallèles issues de constructions
-simultanées apparaissant sur une même portée appartiennent à la même
-voix. Les autres propriétés liées au contexte de voix s'appliquent
-tout au long des constructions simultanées. Reprenons notre exemple, en
-affectant une couleur et une allure différentes aux notes de chacune des
-voix. Vous noterez qu'un changement apporté à une voix ne se propage
-pas aux autres, et qu'il se reporte jusqu'au bout, et que la voix aux
-triangles bleus comporte une liaison de prolongation entre deux
-constructions.
+Ces voix sont séparées de la voix principale, laquelle contient les
+notes en dehors de la construction @code{<<...>>} -- que nous
+appellerons @emph{construction simultanée}. Les liaisons, de
+prolongation ou non, ne peuvent relier des notes que si elles
+appartiennent à la même voix ; elles ne peuvent ni pénétrer une
+contruction simultanée, ni en sortir. Inversement, les voix parallèles
+issues de constructions simultanées apparaissant sur une même portée
+appartiennent à la même voix. Les autres propriétés liées au contexte
+de voix s'appliquent tout au long des constructions simultanées.
+Reprenons notre exemple, en affectant une couleur et une allure
+différentes aux notes de chacune des voix. Vous noterez qu'un
+changement apporté à une voix ne se propage pas aux autres, et qu'il se
+reporte jusqu'au bout, et que la voix aux triangles bleus comporte une
+liaison de prolongation entre deux constructions.
@lilypond[quote,verbatim]
\new Staff \relative c' {
Les commandes @code{\voiceXXXStyle} sont principalement dédiées à une
utilisation pédagogique, comme l'est ce document. Elles modifient la
-couleur des hampes et ligatures et le style de tête des notes, pour
+couleur des hampes et ligatures et le style de tête des note, pour
permettre une meilleure distinction entre les différentes voix. La
première voix comporte des têtes en losange rouge, la deuxième en
triangle bleu, la troisième en cercle barré vert, la quatrième (non
@ref{Utilisation de variables dans les retouches}.
La polyphonie ne modifie en rien la relation entre les notes au sein
-d'un bloc @code{\relative @{ @}}. Chaque note est calculée par rapport
+d'un bloc @w{@code{\relative @{ @}}}. Chaque note est calculée par rapport
à celle qui la précède, ou bien par rapport à la première note de
l'accord qui précède. Ainsi, dans
La direction des hampes sert souvent à indiquer dans la continuité deux
lignes mélodiques simultanées. Ici, les hampes des notes les plus
hautes vont vers le haut, et celles des notes plus basses vers le
-bas. C'est une première indication que nous avons eu recours à plus
+bas. C'est une première indication de ce que nous avons eu recours à plus
d'une voix.
Mais le réel besoin de multiples voix se fait sentir dès lors que
dans le même empilement de notes (@emph{note column} en anglais) si tant
est que ces hampes vont dans des directions opposées ; néanmoins les
notes des troisième et quatrième voix seront décalées si nécessaire pour
-éviter que les têtes ne se chevauchent. Cela marche plutôt bien, mais
+éviter que les têtes ne se chevauchent. Cela marche plutôt bien mais,
dans notre exemple, les notes de la voix la plus basse ne sont vraiment
pas correctement placées. LilyPond met à notre disposition plusieurs
moyens d'ajuster le positionnement horizontal des notes. Nous ne sommes
@cindex collisions de notes
@cindex shift, commandes
@cindex décalage, commandes
+
@funindex \shiftOff
@funindex shiftOff
@funindex \shiftOn
Voici maintenant la première ligne d'une hymne pour chœur à quatre voix
mixtes, comportant quatre couplets. Les paroles sont ici identiques
pour les quatre voix. Vous remarquerez le recours aux variables afin de
-séparer de la structure de portée les notes et les paroles. Vous
-noterez aussi une variable particulière, que nous avons appelée
+séparer de la structure de portée aussi bien les notes que les paroles.
+Vous noterez aussi une variable particulière, que nous avons appelée
@qq{MetriqueArmure}, et qui contient plusieurs commandes que nous
utiliserons dans les deux portées. Dans de nombreux autres exemples,
elle s'appelle @qq{global}.
Voici la ligne du couplet réalisée.
-Nous poursuivons avec refrainA, sur la même portée, alors même qu'une
-deuxième portée s'amorce en parallèle pour contenir refrainB. Cette
-section parallèle doit s'enchaîner directement à la suite du
-@code{\break} de la voix contenant le couplet -- il s'agit bien de la
-@emph{même} voix. Voici cette section parallèle. On pourrait tout à
-fait ajouter encore d'autres portées ici, toujours de la même manière.
+Nous poursuivons avec @code{refrainA}, sur la même portée, alors même
+qu'une deuxième portée s'amorce en parallèle pour contenir
+@code{refrainB}. Cette section parallèle doit s'enchaîner directement à
+la suite du @code{\break} de la voix contenant le couplet -- il s'agit
+bien de la @emph{même} voix. Voici cette section parallèle. On
+pourrait tout à fait ajouter encore d'autres portées ici, toujours de la
+même manière.
@example
<<
une notation spéciale, modifier les contextes ou en créer de nouveaux
devient extrêment utile.
-En plus des contextes @code{Score,} @code{Staff} et @code{Voice} sont
+En plus des contextes @code{Score}, @code{Staff} et @code{Voice} sont
disponibles d'autres contextes intermédiaires entre les niveaux
partition et portée, chargés de gérer certains regroupement, tels que
@code{PianoStaff} ou @code{ChoirStaff}. Vous disposez aussi d'autres
d'instruments frettés, la basse chiffrée, etc.
Le nom de chacun des contextes est formé d'un ou plusieurs mots aux
-initiales en majuscule et directement accolés les uns aux autres sans
+initiales en capitale et directement accolés les uns aux autres sans
ponctuation, comme par exemple @code{GregorianTranscriptionStaff}.
@funindex \new
@funindex new
+
@cindex nouveaux contextes
@cindex Contextes, création de
@end example
Vous noterez la distinction entre le nom du type de contexte,
-@code{Staff}, @code{Voice}, etc, et le nom -- une simple suite de
+@code{Staff}, @code{Voice}, etc. et le nom -- une simple suite de
lettres au bon gré de l'utilisateur -- permettant d'identifier une
instance particulière du type en question. Vous pouvez utiliser des
chiffres et espaces, à la stricte condition d'englober le tout dans des
guillemets ; l'identificateur suivant est tout à fait valide :
-@code{\new Staff = "MaPortee 1" @var{expression-musicale}}.
+@w{@code{\new Staff = "MaPortee 1" @var{expression-musicale}}}.
Comme nous l'avons déjà vu dans le chapitre consacré aux paroles
(@ref{Voix et paroles}), cet identifiant permettra ensuite de se
référer à ce contexte particulier.
@noindent
où un boléen correspond soit à vrai (@code{#t} pour @emph{True} en
anglais) ou faux (@code{#f} pour @emph{False} en anglais), un entier est
-un nombre entier positif, un réel est en nombre décimal positif ou
+un nombre entier positif, un réel est un nombre décimal positif ou
négatif, et texte correspond à une suite de caractères encadrée par des
apostrophes doubles. Attention à la présence des signes dièse
(@code{#}) dans deux cas particuliers : ils sont partie intégrante des
Dans la mesure où le nom de contexte par défaut est @code{Voice}, la
deuxième commande @code{\set} a défini @qq{Alto} comme propriété
@code{instrumentName} du contexte de voix. Puisque LilyPond n'ira pas
-chercher une telle propriété dans la contexte @code{Voice}, celle-ci ne
+chercher une telle propriété dans le contexte @code{Voice}, celle-ci ne
sera pas interprétée. Il ne s'agit pas d'une erreur, aucun message
d'erreur ne sera ni émis ni enregistré.
De la même manière, une faute d'orthographe dans le nom de la propriété
ne génèrera aucun message d'erreur et l'action escomptée ne se produira
pas. Vous pourriez déterminer par la commande @code{\set} n'importe
-quelle @q{propriété}, même fictive, à partir de n'importe quel nom et
+quelle @qq{propriété}, même fictive, à partir de n'importe quel nom et
dans n'importe lequel des contextes disponibles. Mais tant que ce nom
est inconnu de LilyPond, rien ne se passera. Certains éditeurs de texte
disposent d'une prise en charge spécifique aux fichiers source LilyPond,
La propriété @code{instrumentName} ne sera prise en compte que si elle
est définie dans un contexte @code{Staff} ; d'autres propriétés peuvent
par contre être définies dans plusieurs contextes différents. C'est le
-cas de la propriété @code{extraNatural} qui est définie par défaut à ##t
-(vrai) pour toutes les portées. Si vous lui attribuez la valeur ##f
-(faux) dans un contexte @code{Staff} particulier, elle ne s'appliquera
-qu'aux altérations de la portée en question ; si vous lui attribuez la
-valeur @q{faux} au niveau du contexte @code{Score}, cela s'appliquera
-alors à toutes les portées.
+cas de la propriété @code{extraNatural} qui est définie par défaut à
+@code{##t} (vrai) pour toutes les portées. Si vous lui attribuez la
+valeur @code{##f} (faux) dans un contexte @code{Staff} particulier, elle
+ne s'appliquera qu'aux altérations de la portée en question ; si vous
+lui attribuez la valeur @qq{faux} au niveau du contexte @code{Score},
+cela s'appliquera alors à toutes les portées.
Voici comment supprimer les bécarres supplémentaires pour une portée :
allons jouer avec la taille des fontes, ce qui affecte entre
autres la grosseur des têtes de note. Les modifications s'appliquent
toujours par rapport à la valeur par défaut, non par rapport à la
-dernière valeur.
+dernière valeur définie.
@lilypond[quote,verbatim,ragged-right,relative=1,fragment]
c4
Nous venons de voir comment déterminer la valeur de différents types de
propriété. N'oubliez pas que les nombres, entiers ou réels, doivent
être précédés d'un signe dièse (@code{#}) et les valeurs vrai ou faux de
-deux signes dièse -- respectivement ##t et ##f --. Une valeur textuelle
-doit être encadrée de guillemets anglais, @code{``@dots{ }''}, bien que,
-comme nous le constaterons plus tard, la commande @code{\markup} permet
-aussi de spécifier du texte.
+deux signes dièse -- respectivement @code{##t} et @code{##f} --. Une
+valeur textuelle doit être encadrée de guillemets anglais,
+@code{``@dots{ }''}, bien que, comme nous le constaterons plus tard, la
+commande @code{\markup} permet aussi de spécifier du texte.
@unnumberedsubsubsec Définition des propriétés de contexte avec @code{\with}
de spécifier les valeurs d'une propriété pour la durée de vie du
contexte. Lorsque vous créez un contexte à l'aide de la commande
@code{\new}, vous pouvez la faire suivre immédiatement d'un bloc
-@code{\with @{ .. @}} qui contiendra les réglages des différentes
+@w{@code{\with @{ .. @}}} qui contiendra les réglages des différentes
propriétés. Ainsi, si nous voulions par exemple annuler l'impression des
bécarres supplémentaires sur la durée d'une portée, nous écririons :
On n'a pas besoin de deux commandes @code{\version}. Ce dont on a besoin,
c'est de la section @code{melodie}. De même, on n'a pas besoin de deux sections
-@code{\score} --- si nous les gardions toutes les deux, on obtiendrait deux
+@code{\score} -- si nous les gardions toutes les deux, on obtiendrait deux
parties séparées ; mais nous voulons un vrai duo, avec les deux
parties ensemble. Dans la section @code{\score}, on n'a pas besoin
non plus de deux @code{\layout} ni de deux @code{\midi}.
violoncelle @code{violoncelleMusique}. Tant qu'on y est, renommons
@code{texte} en @code{sopranoParoles}. Attention à bien renommer les
deux occurrences de chacune de ces dénominations : c'est-à-dire la
-définition de départ, où l'on trouve @code{melodie = relative c' @{ },
+définition de départ, où l'on trouve @w{@code{melodie = relative c' @{ }},
et l'endroit où cette dénomination est utilisée, dans la section
@code{\score}.
-Et puis, toujours tant qu'on y est, mettons le violoncelle en clé de Fa, comme
+Et puis, toujours tant qu'on y est, mettons le violoncelle en clé de fa, comme
le veut l'usage, et donnons-lui d'autres notes.
@example
@end example
Voilà qui est mieux, mais la partie de violoncelle n'apparaît pas sur
-la partition --- en effet, nous n'y avons pas fait appel dans la section
+la partition -- en effet, nous n'y avons pas fait appel dans la section
@code{\score}. Si l'on veut que la partie de violoncelle s'imprime sous
la partie de soprano, on va devoir ajouter :
@noindent
en dessous de tout ce qui concerne la soprano. Il nous faut également
encadrer la musique par des @code{<<} et @code{>>}, qui feront comprendre
-à LilyPond que plusieurs événements --- ici, des objets @code{Staff} ---
+à LilyPond que plusieurs événements -- ici, des objets @code{Staff} --
se déroulent en même temps. Le bloc @code{\score} ressemble maintenant à
@c Indentation in this example is deliberately poor
Il nous faut maintenant nous occuper de la partie de piano. Nous allons
nous contenter de récupérer la partie de piano du modèle
-@q{Solo piano} :
+@qq{Solo piano} :
@example
\new PianoStaff <<
doubles chevrons gauche/droite puisqu'ils doivent s'empiler :
@example
-<< % combine ChoirStaff and PianoStaff one above the other
+<< % combine ChoirStaff et PianoStaff l'un au-dessus de l'autre
\new ChoirStaff <<
\new Staff = "sopranos" <<
\new Voice = "sopranos" @{ \global \sopranoMusique @}
>>
\new Lyrics \lyricsto "altos" @{ \altoParoles @}
\new Staff = "tenors" <<
- \clef "G_8" % tenor clef
+ \clef "G_8" % clef spécifique
\new Voice = "tenors" @{ \global \tenorMusique @}
>>
\new Lyrics \lyricsto "tenors" @{ \tenorParoles @}
\new Voice = "basses" @{ \global \bassesMusique @}
>>
\new Lyrics \lyricsto "basses" @{ \bassesParoles @}
- >> % end ChoirStaff
+ >> % fin du ChoirStaff
\new PianoStaff <<
\set PianoStaff.instrumentName = #"Piano"
>>
@end example
-La construction en simultané -- @code{<< .. >>} -- n'est pas strictement
+La construction en simultané -- @code{<<...>>} -- n'est pas strictement
obligatoire pour les portées manuel deux et pédalier, qui ne contiennent
chacune qu'une seule expression musicale ; mais cela ne mange pas de
pain, et c'est une bonne habitude que de toujours encadrer par des
doubles chevrons gauche/droite ce qui suit une commande @code{\new
Staff} au cas où il y aurait plusieurs voix. Il en va autrement pour
les contextes @code{Voice} : ils doivent être toujours suivis
-d'accolades -- @code{@{ .. @}} -- au cas où vous auriez employé
+d'accolades -- @code{@{...@}} -- au cas où vous auriez employé
plusieurs variables qui doivent intervenir consécutivement.
Ajoutons donc cette structure au bloc @code{\score}, tout en fignolant
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 7eee2a7382029cc29cc069f93a431758ae8a13b7
+ Translation of GIT committish: 95e6825ee09ca7f8eea87580301c8819ff1d571b
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@c DIV specific
Il est aussi possible d'utiliser les noms de notes français @qq{@w{do
re mi fa sol la si}}, en insérant au début du fichier la ligne
-@code{\include@tie{}"italiano.ly"}.
+@w{@code{\include@tie{}"italiano.ly"}}.
@c END DIV
@warning{Tout extrait de code LilyPond doit être entouré d'une
@subsubheading MacOS X
Si vous double-cliquez sur @code{LilyPond.app}, un fichier d'exemple
-s'ouvrira. Sauvegardez-le, par exemple, sous @file{test.ly} sur votre
+s'ouvrira. Sauvegardez-le, par exemple, sous @code{test.ly} sur votre
bureau, puis traitez-le avec la commande de menu
@w{@code{Compile > Typeset File}}. Le fichier PDF résultant sera alors
affiché à l'écran.
Sous Windows, double-cliquez sur l'icône LilyPond qui se trouve sur le
bureau, un fichier d'exemple s'ouvre dans un simple éditeur de texte.
-Enregistrez-le, par exemple en tant que @file{test.ly} sur le bureau,
+Enregistrez-le, par exemple en tant que @code{test.ly} sur le bureau,
puis double-cliquez sur son icône (qui montre une note de musique)
pour le traiter. Après quelques secondes, vous obtiendrez un fichier
-@file{test.pdf} sur le bureau, fichier que vous pourrez ouvrir pour
+@code{test.pdf} sur le bureau, fichier que vous pourrez ouvrir pour
voir la partition gravée. Une autre méthode pour lancer le traitement
-du fichier @file{test.ly} est de le glisser avec votre souris sur
+du fichier @code{test.ly} est de le glisser avec votre souris sur
l'icône de LilyPond.
-Pour modifier un fichier @file{.ly} existant, faites un clic droit
+Pour modifier un fichier @code{.ly} existant, faites un clic droit
dessus et sélectionnez @qq{Éditer la source}. Pour partir d'un
fichier vide, lancez l'éditeur en ouvrant un fichier existant et
utilisez la commande @qq{New} du menu @qq{File}.
En double-cliquant sur le fichier, vous obtiendrez, en plus du fichier
-PDF, un fichier @file{.log} qui récapitule les opérations que LilyPond
+PDF, un fichier @code{.log} qui récapitule les opérations que LilyPond
a effectuées sur votre fichier. Si une erreur survient, vous en
trouverez les détails dans ce fichier.
@subsubheading UNIX
-Créez un fichier texte @file{test.ly} qui contient
+Créez un fichier texte @code{test.ly} qui contient
@verbatim
{
@end verbatim
@noindent
-Pour traiter @file{test.ly}, entrez la commande suivante dans un
+Pour traiter @code{test.ly}, entrez la commande suivante dans un
terminal :
@example
Le moyen le plus simple d'entrer des notes est d'utiliser le mode
d'octaves relatives, ou mode @code{\relative}. Dans ce mode, l'octave
de chaque note est sélectionnée automatiquement de façon à ce qu'elle
-soit la plus proche possible de la note précédente, c'est-à-dire de
+soit le plus proche possible de la note précédente, c'est-à-dire de
façon à ce que l'intervalle avec la note précédente soit au plus d'une
quarte. Commençons par saisir une partition très simple, à savoir une
gamme.
@end lilypond
La note de départ est le @notation{do central}. Chacune des notes qui
-suivent est placée à l'octave la plus proche de la note précédente ---
+suivent est placée à l'octave la plus proche de la note précédente --
en d'autres termes, le premier @code{c} est le do central, entre la
-clef de sol et la clef de fa, puis est suivi par le ré le plus proche,
-et ainsi de suite. On peut bien sûr créer des mélodies avec de plus
-grands intervalles, toujours avec le mode @code{\relative} :
+clef de sol et la clef de fa, puis est suivi par le @notation{ré} le
+plus proche, et ainsi de suite. On peut bien sûr créer des mélodies
+avec de plus grands intervalles, toujours avec le mode @code{\relative} :
@lilypond[verbatim,quote]
\relative c' {
@end lilypond
@noindent
-Remarquez que cet exemple ne commence plus sur le do central : la
-première note --- le @code{d} --- est le ré qui en est le plus proche.
+Remarquez que cet exemple ne commence plus sur le @notation{do central}
+: la première note -- le @code{d} -- est le ré qui en est le plus proche.
Dans l'exemple suivant, on remplace @code{c'} dans la commande
-@code{@w{\relative c' @{}} par @code{c''}, afin de calculer l'octave de
+@w{@code{\relative c' @{}} par @code{c''}, afin de calculer l'octave de
la première note par rapport au do situé une octave au-dessus du do
central :
@end lilypond
Notez que le calcul des octaves relatives @strong{ne tient pas compte
-des altérations} des notes, dièses bémols ou bécarre.
+des altérations} des notes, dièse bémol ou bécarre.
Pour obtenir des intervalles supérieurs à une quarte, on peut ajouter
-des apostrophes @code{'} --- qui font chacune monter la hauteur d'une
-octave --- ou des virgules @code{,} --- qui font chacune descendre la
-hauteur d'une octave --- au nom de la note.
+des apostrophes @code{'} -- qui font chacune monter la hauteur d'une
+octave -- ou des virgules @code{,} -- qui font chacune descendre la
+hauteur d'une octave -- au nom de la note.
@lilypond[verbatim,quote]
\relative c'' {
@noindent
Pour déplacer une note deux octaves (ou davantage !) plus haut ou plus
-bas, il suffit de mettre deux (ou davantage) @code{'} ou @code{,} ---
+bas, il suffit de mettre deux (ou davantage) @code{'} ou @code{,} --
attention cependant à bien mettre deux apostrophes @code{''}, et non
un guillemet @code{"}@tie{}! C'est de cette même manière que l'on
-peut modifier la valeur de départ de @code{@w{\relative c'}}.
+peut modifier la valeur de départ de @w{@code{\relative c'}}.
@subheading Durées et rythme
code de nombreux langages de programmation. La casse est prise
en compte, et les caractères considérés comme espaces ont généralement
peu d'importance. Les expressions sont délimitées par des accolades @{
-@}, et les commentaires par @code{%} ou @code{%@{ ... %@}}.
+@}, et les commentaires par @code{%} ou @w{@code{%@{ dots{} @}}}.
Si cette phrase vous paraît incompréhensible, ne vous en faites pas !
Expliquons tous ces termes :
-@itemize
-
@cindex casse, prise en compte de
@cindex prise en compte de la casse
@cindex sensibilité à la casse
+@itemize
@item
@strong{La casse} :
LilyPond est sensible à la casse, c'est à dire qu'une lettre capitale
n'a pas la même valeur qu'une lettre minuscule. Les notes, par
-exemple, doivent être entrées en minuscule : @code{@{ c d e @}} est
-un code valide, alors que @code{@{ C D E @}} produira un message
+exemple, doivent être entrées en minuscule : @w{@code{@{ c d e @}}} est
+un code valide, alors que @w{@code{@{ C D E @}}} produira un message
d'erreur.
@cindex espaces multiples, insensibilité
il est préférable d'entourer ces accolades d'espaces ou de retours à
la ligne.
-Un appel de fonction --- @w{@code{\relative @{ @}}} par exemple ---
+Un appel de fonction -- @w{@code{\relative @{ @}}} par exemple --
compte également comme une seule expression musicale.
@cindex commentaire
Comme nous l'avons vu dans @ref{Travail sur les fichiers d'entrée}, un code
LilyPond doit être encadré par des accolades @{ @} ou bien par
-@code{@w{\relative c'' @{ ... @}}}. Cependant, dans la suite de ce
+@code{@w{\relative c'' @{ @dots{} @}}}. Cependant, dans la suite de ce
manuel, la plupart des exemples ne feront pas apparaître ces signes.
Pour reproduire les exemples, vous pouvez copier et coller le code
Pourquoi avoir omis les accolades ? La plupart des exemples de ce
manuel peuvent être insérés au milieu d'un morceau de musique plus
long. Il n'y a donc aucune raison d'ajouter @code{@w{\relative c'' @{
-@}}} à ces exemples --- en effet, il n'est pas possible d'insérer une
-expression @code{\relative} à l'intérieur d'un autre expression
+@}}} à ces exemples -- en effet, il n'est pas possible d'insérer une
+expression @code{\relative} à l'intérieur d'une autre expression
@code{\relative}. Si nous mettions tous nos exemples dans une
expression @code{\relative}, vous ne pourriez plus copier un bref
exemple de la documentation pour le coller dans vos pièces.
@subheading Exemples cliquables
-Beaucoup de gens apprennent à utiliser les programmes en les essayant
+Beaucoup de gens apprennent à utiliser les programmes en les essayant
et en bidouillant avec. C'est également possible avec LilyPond. Si
vous cliquez sur une image dans la version HTML de ce manuel, vous
verrez exactement le code LilyPond utilisé pour générer cette image.
@c DIV specific
Cependant, si vous utilisez la commande
-@code{@w{\include@tie{}"italiano.ly"}} pour entrer les noms de notes
+@w{@code{@w{\include@tie{}"italiano.ly"}}} pour entrer les noms de note
français au lieu des noms hollandais, il faudra ajouter un @code{d} pour
obtenir un dièse, et un @code{b} pour un bémol. Le double dièse et le
double bémol s'obtiennent en ajoutant respectivement @code{dd} et
@rglos{pitch}, @rglos{flat}, @rglos{natural}, @rglos{sharp},
@rglos{transposition}.
-La combinaison de l'@notation{armure} et des hauteurs de note --- y
-compris les altérations --- permet à LilyPond de déterminer dans quel
+La combinaison de l'@notation{armure} et des hauteurs de note -- y
+compris les altérations -- permet à LilyPond de déterminer dans quel
cas imprimer des @notation{altérations accidentelles}. L'armure
n'affecte que les altérations @emph{imprimées}, et non les hauteurs
réelles ! Cette fonctionnalité est souvent source de confusion pour
les nouveaux utilisateurs, aussi expliquons-la en détail.
LilyPond fait une distinction nette entre le contenu musical et la
-mise en forme. L'altération d'une note --- @notation{bémol},
-@notation{bécarre} ou @notation{dièse} --- fait partie de sa hauteur,
+mise en forme. L'altération d'une note -- @notation{bémol},
+@notation{bécarre} ou @notation{dièse} -- fait partie de sa hauteur,
et relève donc du contenu musical. La gravure ou non d'une altération
-accidentelle --- un @emph{signe} bémol, bécarre ou dièse --- devant la
+accidentelle -- un @emph{signe} bémol, bécarre ou dièse -- devant la
note correspondante est une question qui relève de la mise en forme.
La gravure d'une partition suit des règles, en particulier des règles
d'indication des altérations accidentelles. Les hauteurs de note, en
@notation{transposition}. De plus, les altérations accidentelles
peuvent ainsi être imprimées suivant plusieurs conventions. Pour
connaître les différentes manières dont les altérations accidentelles
-peuvent être imprimées, consultez @ruser{Altérations accidentelles automatiques}.
+peuvent être imprimées, consultez
+@ruser{Altérations accidentelles automatiques}.
@seealso
@seealso
-Manuel de notation : @ruser{Liaisons de prolongation}, @ruser{Liaisons d'articulation},
+Manuel de notation : @ruser{Liaisons de prolongation},
+@ruser{Liaisons d'articulation},
@ruser{Liaisons de phrasé}.
c1^"espr" a_"legato"
@end lilypond
-Pour mettre en forme du texte, on utilise la commande @code{markup} :
+Pour mettre en forme du texte, on utilise la commande @code{\markup} :
@lilypond[verbatim,quote,relative=2]
c1^\markup{ \bold espr}
@seealso
-Manuel de notation : @ruser{Barres de ligature automatiques}, @ruser{Barres de ligature manuelles}.
+Manuel de notation : @ruser{Barres de ligature automatiques},
+@ruser{Barres de ligature manuelles}.
@node Commandes rythmiques avancées
{ a4 g4 }
@end lilypond
-La mise entre accolades d'une séquence d'expressions musicales --- des
-notes par exemple --- signifie qu'elles doivent être jouées
+La mise entre accolades d'une séquence d'expressions musicales -- des
+notes par exemple -- signifie qu'elles doivent être jouées
successivement, les unes après les autres. Le résultat est une
expression, qui peut elle-même être regroupée séquentiellement avec
d'autres expressions. Ici, l'expression de l'exemple précédent est
Ceci est une suite d'expressions, où chacune est contenue dans la
suivante. Les expressions les plus simples sont les nombres, et de
plus grandes expressions sont produites en combinant des expressions
-avec des opérateurs --- comme @code{+}, @code{*} et @code{/} --- et
+avec des opérateurs -- comme @code{+}, @code{*} et @code{/} -- et
des parenthèses. Tout comme les expressions mathématiques, les
expressions musicales peuvent être imbriquées avec une profondeur
arbitraire, ce qui est nécessaire pour des partitions complexes comme
@end lilypond
Notez que nous avons ici indenté chaque niveau du fichier d'entrée
-avec un nombre d'espaces différent. LilyPond se moque --- ou presque
---- de l'espace qu'il peut y avoir ou non au début d'une ligne, mais
+avec un nombre d'espaces différent. LilyPond se moque -- ou presque
+-- de l'espace qu'il peut y avoir ou non au début d'une ligne, mais
un code bien indenté est bien plus lisible par des humains.
-@warning{la hauteur de chaque note saisie est relative à la précédente,
+@warning{La hauteur de chaque note saisie est relative à la précédente,
mais pas au @code{c''} de la commande @code{\relative} de départ.}
La commande @code{\new} introduit un @qq{contexte de notation}. Un
contexte de notation est un environnement dans lequel les événements
-musicaux --- comme les notes ou les commandes @code{\clef} --- sont
+musicaux -- comme les notes ou les commandes @code{\clef} -- sont
interprétés. Pour des pièces simples, ces contextes sont créés
automatiquement. Pour des pièces plus complexes, il est préférable de
spécifier explicitement les contextes, afin de s'assurer que chaque
Il existe différents types de contextes. Les contextes @code{Score}
(partition), @code{Staff} (portée) et @code{Voice} (voix) gèrent la
notation de la mélodie, alors que @code{Lyrics} gère les paroles et
-@code{ChordNames} imprime des noms d'accords.
+@code{ChordNames} imprime des noms d'accord.
En terme de syntaxe, ajouter @code{\new} devant une expression
musicale crée une plus grande expression musicale. En reprenant la
}
@end lilypond
-Vous pouvez générer d'autres de regroupement, avec
-@code{\new GrandStaff} pour un e partition d'orchestre, ou
+Vous pouvez générer d'autres formes de regroupement, avec
+@w{@code{\new GrandStaff}} pour une partition d'orchestre, ou
@w{@code{\new ChoirStaff}} qui sied particulièrement aux partitions
-chorales. Chacun de ces regroupements constituent un contexte à part
+chorales. Chacun de ces regroupements constitue un contexte à part
entière, avec ses particularités, tant au niveau du signe qui regroupe
les portées au sein d'un @notation{système} qu'au niveau de l'étendue
des barres de mesure.
l'étude de ces concepts.
@seealso
-Learning Manual: @ref{Les voix contiennent la musique}.
+Manuel d'initiation : @ref{Les voix contiennent la musique}.
Manuel de notation : @ruser{Notes simultanées}.
Les paroles sont maintenant correctement alignées, mais les liens de
croche automatiques ne conviennent pas pour les notes au-dessus de
@emph{shine as}. On peut les corriger en ajoutant des liens de croche
-manuels, pour ceci consultez @ref{Barres de ligature automatiques et manuelles}.
+manuels, pour ceci consultez
+@ref{Barres de ligature automatiques et manuelles}.
@lilypond[verbatim,quote]
<<
Si une syllabe s'étend sur un grand nombre de notes ou une note très
longue, on représente souvent le mélisme par un @notation{trait de
-prolongation}, qu'on entre avec @code{__}. L'exemple suivant montre
-les trois premières mesures de la plainte de Didon, extraite de
-@notation{Didon et Énée} de Purcell.
+prolongation}, qu'on entre avec double caractère souligné @code{__}.
+L'exemple suivant montre les trois premières mesures de la plainte de
+Didon, extraite de @notation{Didon et Énée} de Purcell.
@lilypond[verbatim,quote]
<<
note. On réalise ceci avec LilyPond grâce à un caractère souligné
@code{_} sans espace entre les syllabes, ou alors en groupant les
syllabes avec des guillemets. L'exemple suivant est extrait de l'air
-de Figaro @emph{Largo al factotum}, dans @emph{Figaro} de Rossini, où
+de Figaro @emph{Largo al factotum}, dans @notation{Figaro} de Rossini, où
la syllabe @emph{al} est chantée sur la même note que @emph{go}.
@c no ragged-right here because otherwise the hyphens get lost,
@end example
En fonction de son contenu, un identificateur peut être utilisé à
-différents endroits. L'exemple suivant utilise les variable définies
+différents endroits. L'exemple suivant utilise les variables définies
ci-dessus.
@example
@funindex \header
@funindex header
-On indique les informations bibliographiques --- nom du morceau, du
-compositeur, numéro d'opus@dots{} --- dans un bloc à part, le bloc
+On indique les informations bibliographiques -- nom du morceau, du
+compositeur, numéro d'opus@dots{} -- dans un bloc à part, le bloc
d'en-tête @code{\header}, qui existe indépendamment de l'expression
musicale principale. Le bloc @code{\header} est habituellement placé
en début de fichier, après le numéro de version.
Après avoir parcouru ce tutoriel, vous devriez essayer d'écrire un
morceau ou deux. Commencez par copier l'un des modèles types et
-ajoutez-y des notes --- consultez les @ref{Modèles}. Si vous voulez
+ajoutez-y des notes -- consultez les @ref{Modèles}. Si vous voulez
employer une notation que vous n'avez pas trouvé dans le tutoriel,
-consultez le manuel de notation, en commençant par la @ruser{Notation musicale générale}. Si vous désirez écrire pour un ensemble instrumental non
-couvert par les modèles, lisez la section @ref{Extension des modèles}.
+consultez le manuel de notation, en commençant par la
+@ruser{Notation musicale générale}. Si vous désirez écrire pour un
+ensemble instrumental non couvert par les modèles, lisez la section
+@ref{Extension des modèles}.
Après avoir écrit quelques pièces courtes, lisez les chapitres 3 à 5
du manuel d'initiation. Rien ne s'oppose à ce que vous consultiez dès
d'initiation, vous pourrez en relisant certaines sections suivre ces
références pour approfondir certains aspects.
-Si vous ne l'avez pas encore fait, lisez @ref{À propos de la documentation}. Les sources de documentation et d'information sur
-LilyPond sont vastes, il est normal pour un débutant de ne pas savoir
-où chercher ; si vous passez quelques minutes à lire attentivement
-cette section, vous vous épargnerez certainement la frustration causée
-par des heures de recherches infructueuses.
+Si vous ne l'avez pas encore fait, lisez
+@ref{À propos de la documentation}. Les sources de documentation et
+d'information sur LilyPond sont vastes, il est normal pour un débutant
+de ne pas savoir où chercher ; si vous passez quelques minutes à lire
+attentivement cette section, vous vous épargnerez certainement la
+frustration causée par des heures de recherches infructueuses.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 7eee2a7382029cc29cc069f93a431758ae8a13b7
+ Translation of GIT committish: 95e6825ee09ca7f8eea87580301c8819ff1d571b
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
Certains objets de rendu, comme les liaisons de phrasé, les soufflets
de crescendo, les marques d'octaviation et beaucoup d'autres @emph{grobs},
ont pour particularité de ne pas se situer à un seul et unique endroit
---- ils ont un point de départ, un point d'arrivée, et éventuellement
+-- ils ont un point de départ, un point d'arrivée, et éventuellement
d'autres propriétés relatives à leur forme. Ces objets avec une forme
étendue sont appelés des bandeaux (@emph{Spanners} en anglais).
Nous avons eu un aperçu, dans @ref{Contextes et graveurs}, de
la façon de nommer les objets. Voici maintenant une liste de
référence des types d'objets et de propriétés les plus courants,
-avec leur convention de nommage et quelques exemples
-de cas concrets. La lettre @code{A} représente n'importe quel
-caractère alphabétique majuscule, et les lettres @code{aaa}
+avec leurs conventions de nommage et quelques exemples
+de cas concrets. La lettre @var{A} représente n'importe quel
+caractère alphabétique majuscule, et les lettres @var{aaa}
un nombre indéterminé de caractères alphabétiques minuscules.
-Les autres caractères sont à prendre comme ils se présentent.
+Les autres caractères sont à prendre tels qu'ils se présentent.
@multitable @columnfractions .33 .33 .33
@headitem Type d'objet/propriété
@end multitable
Comme nous le verrons bientôt, les propriétés des différents
-types d'objets sont modifiées par des commandes différentes, si bien
-qu'il est bon de savoir reconnaître le type d'objet en fonction du nom
+types d'objet sont modifiées par des commandes différentes, si bien
+qu'il est bon de savoir reconnaître le type d'un objet en fonction du nom
de ses propriétés.
@node Méthodes de retouche
surviennent simultanément dans la musique, comme par exemple les
notes d'un accord. La commande @code{\override} modifierait toutes
les notes de l'accord, tandis que @code{\tweak} permet de ne modifier
-que l'élément suivant dans la chaîne de saisie.
+que l'élément suivant dans la chaîne de saisie.
Voici un exemple. Supposons que nous voulions changer la taille de
la tête de note du milieu (le mi) dans un accord de do majeur. Voyons
RPI correspondant à votre version du programme. Allez sur la page
Documentation et cliquez sur Référence des propriétés internes.
Pour l'apprentissage, mieux vaut utiliser la version HTML standard,
-et non la @q{page unique en anglais} ou le PDF. Durant la lecture
+et non la @qq{page unique en anglais} ou le PDF. Durant la lecture
des prochains paragraphes, il vous est conseillé de vous y reporter
réellement afin que les explications prennent tout leur sens.
Voilà qui semble approprié pour changer l'épaisseur (@emph{thickness} en
anglais). On apprend que la valeur de @code{thickness}
-est un simple nombre (@emph{number}), qu'elle est par défaut
+est un simple nombre (@emph{number}), qu'elle est par défaut définie
à 1,2 et que l'unité de mesure est fixée par une autre propriété
appelée @code{line-thickness}.
@code{\override}. Comme nous aurons l'occasion de le voir
par la suite, le problème est parfois plus complexe. Dans
l'immédiat, nous en savons assez pour construire nos propres
-commandes --- mais il faut encore s'exercer. Les exemples
+commandes -- mais il faut encore s'exercer. Les exemples
suivants sont là dans cette intention.
@subheading Détermination du contexte adéquat
elles sont étroitement liées à une ligne mélodique, mais
comment en être sûr ? Pour répondre à cette question,
revenons en haut de la page de la RPI consacrée aux liaisons ;
-il est écrit : @q{Les objets Liaison sont créés par le graveur
+il est écrit : @qq{Les objets Liaison sont créés par le graveur
Slur_engraver}. Ainsi les liaisons seront créées dans n'importe
quel contexte où se trouve le @code{Slur_engraver}. Suivons
le lien vers la page @code{Slur_engraver}. Tout en bas, on
recourt alors à la commande @code{\once}. Placée juste avant la commande
@code{\override}, elle lui indique de ne changer que la liaison commençant
avec la note @strong{juste après}. Si la note juste après n'ouvre pas une
-liaison, la commande sera sans aucun effet --- elle ne reste pas en mémoire
+liaison, la commande sera sans aucun effet -- elle ne reste pas en mémoire
jusqu'à la prochaine liaison, elle est purement et simplement ignorée.
Il faut donc que la commande introduite par @code{\once} soit insérée
comme suit :
interface, qui sont en même temps les propriétés de tous les objets qui
s'y rapportent, parmi lesquels LyricText.
-Nous avons alors sous les yeux tous les réglages de propriétés qui
+Nous avons alors sous les yeux tous les réglages des propriétés qui
contrôlent les polices de caractères, et notamment
@code{font-shape(symbole)}, où @code{symbole} peut prendre la valeur
@code{upright}, @code{italics} ou @code{caps}.
@code{LyricText}, la propriété est @code{font-shape} et la valeur est
@code{italic}. Comme auparavant, nous laissons de côté le contexte.
-Signalons rapidement --- même si cette remarque est importante --- que,
+Signalons rapidement -- même si cette remarque est importante -- que,
puisque les valeurs de @code{font-shape} se présentent sous forme de
symboles, elles doivent être précédées d'une simple apostrophe,
@code{'}. C'est pour cette raison qu'il fallait une apostrophe devant
@end example
@noindent
-et elle doit être placée juste devant et tout près des paroles à modifier,
+et doit être placée juste devant et tout près des paroles à modifier,
comme ceci :
@cindex font-shape, exemple d'utilisation de la propriété
@headitem Type de propriété
@tab Règles
@tab Exemples
-@item Booléenne (anglais @emph{Boolean})
+@item Booléenne (@emph{Boolean} en anglais)
@tab Vrai (@emph{true} en anglais) ou Faux (@emph{false} en anglais),
sous la forme #t ou #f
@tab @code{#t}, @code{#f}
@tab Une valeur décimale positive ou négative
@tab @code{3.5}, @code{-2.45}
@item Paire (de nombres)
- @tab Deux nombres séparées par @q{espace . espace}, encadrés
+ @tab Deux nombres séparées par @qq{espace point espace}, encadrés
par des parenthèses et précédés par une apostrophe
@tab @code{'(2 . 3.5)}, @code{'(0.1 . -3.2)}
@item Symbole
partition ?
Avant de nous y attaquer, souvenons-nous que les propriétés d'objets
-sont parfois groupées dans ce qu'on appelle des @emph{interfaces} ---
+sont parfois groupées dans ce qu'on appelle des @emph{interfaces} --
voir @ref{Propriétés listées par interface}. Cela permet de rapprocher
toutes les propriétés susceptibles d'être utilisées ensemble pour
-modifier un objet graphique --- si l'une d'elles est choisie pour un
+modifier un objet graphique -- si l'une d'elles est choisie pour un
objet, elle s'appliquera à tous les autres. Certains objets tirent
alors leurs propriétés de telle ou telle interface, d'autres objets de
telle ou telle autre interface. La liste des interfaces qui contiennent
@code{break-visibility} et @code{stencil}. L'objet @code{BarLine}
est également lié à plusieurs interfaces, dont la @code{grob-interface}
où figurent les propriétés @code{transparent} et @code{color}. Toutes
-peuvent modifier l'aspect visuel des barres de mesure --- et de beaucoup
+peuvent modifier l'aspect visuel des barres de mesure -- et de beaucoup
d'autres objets, bien sûr. Examinons chacune d'elles tour à tour.
@subheading stencil
@code{\override} n'a pas fonctionné comme prévu, c'est parce que
@code{Barline} n'appartient pas au contexte par défaut, @code{Voice}.
Si le contexte spécifié est erroné, la commande ne fonctionne pas. Cela
-n'entraîne pas de message d'erreur, et rien n'apparaît sur le fichier log.
+n'entraîne pas de message d'erreur, et rien n'apparaît dans le fichier log.
Essayons de corriger en mentionnant le bon contexte :
@cindex BarLine, exemple de dérogation
@noindent
La métrique a bien disparu mais la commande a laissé un blanc en lieu et
place du chiffrage. Ce peut être souhaitable dans le cadre d'un
-exercice, afin que les élèves aient la place à compléter, mais dans
+exercice, afin que les élèves aient la place pour compléter, mais dans
d'autres circonstances, ce peut être gênant. Pour y remédier,
attribuons plutôt au stencil des métriques la valeur @code{#f} :
@funindex rgb-color
-Il existe une troisième fonction, écrite pour convertir les valeurs RGB
-en couleurs internes --- la fonction @code{rgb-color}. Elle comporte
+Il existe une troisième fonction, écrite pour convertir les valeurs RVB
+en couleurs internes -- la fonction @code{rgb-color}. Elle comporte
trois arguments, donnant respectivement l'intensité du rouge, du vert et
du bleu. Ces arguments prennent des valeurs comprises entre 0 et 1.
Ainsi, pour choisir la couleur rouge, la valeur serait
@cindex objets, modification de taille
Pour commencer, reprenons l'exemple qui se trouvait dans
-@ref{Expressions musicales imbriquées}, qui montrait comment créer une nouvelle
-portée temporaire, du type @rglos{ossia}.
+@ref{Expressions musicales imbriquées}, qui montrait comment créer une
+nouvelle portée temporaire, du type @rglos{ossia}.
@cindex alignAboveContext, exemple d'utilisation de la propriété
@cindex @code{\with}, exemple
}
@end lilypond
-Normalement, les ossia ne comportent ni clef ni indication de mesure, et
+Normalement, les ossias ne comportent ni clef ni indication de mesure, et
elles sont imprimées légèrement plus petit que la portée principale.
-Nous avons déjà appris à enlever la clef et la métrique --- il suffit de
+Nous avons déjà appris à enlever la clef et la métrique -- il suffit de
régler le stencil de chacun sur @code{#f}, comme ceci :
@cindex alignAboveContext, exemple d'utilisation de la propriété
-- elles provoquent des changements synchronisés avec un point
particulier de la musique. Si les changements sont annulés ou
désactivés par @code{\unset} ou @code{\revert}, les réglages reprennent
-les valeurs par défaut, c'est-à-dire celles qui ont été fixées dans la
+leurs valeurs par défaut, c'est-à-dire celles qui ont été fixées dans la
clause @code{\with}, ou, en l'absence de celle-ci, les valeurs par
défaut normales.
@emph{markup}, des clefs, des métriques, des nuances et des paroles.
Pour changer leur taille, on modifie la propriété @code{font-size},
comme nous le verrons rapidement. D'autres objets, comme les liaisons
-de phrasé ou de prolongation --- en général les objets étendus --- sont
+de phrasé ou de prolongation -- en général les objets étendus -- sont
dessinés à la demande, si bien qu'aucune @code{font-size} ne leur est
associée. Ces objets tirent généralement leur dimension des objets
auxquels ils sont rattachés, de sorte qu'on ne doit pas avoir à les
Ce n'est pas encore parfait. Les têtes de notes et les crochets sont
plus petits mais, proportionnellement, les hampes sont trop longues et
-les lignes de portée trop espacées. Il faut donc les réduire dans les
+les lignes de la portée trop espacées. Il faut donc les réduire dans les
mêmes proportions que les polices de caractères. La prochaine
sous-section montrera comment faire.
Dans LilyPond, les écartements et longueurs sont généralement mesurés en
@qq{intervalles de lignes} (@emph{staff-spaces} en anglais),
c'est-à-dire l'écartement qui sépare deux lignes adjacentes dans la
-portée --- plus rarement, il est question de demi-intervalles de lignes.
+portée -- plus rarement, il est question de demi-intervalles de lignes.
Les propriétés d'épaisseur (@code{thickness}), quant à elles, sont
généralement mesurées en unités d'une propriété interne appelée
@qq{épaisseur de ligne} (@code{line-thickness}). Par exemple, les
Dans ces conditions, comment ajuster les longueurs à la taille des
polices de caractères ? La solution consiste à utiliser une fonction
-spéciale appelée @code{magstep} --- pseudo facteur de zoom ---, créée
+spéciale appelée @code{magstep} -- pseudo facteur de zoom --, créée
précisément dans ce but. Elle comporte un argument, le changement de
taille de police (#-2 dans l'exemple précédent), à partir duquel elle
applique un facteur de mise à l'échelle qui réduit, ou augmente, les
-objets en proportion. Voici comment elle s'utilise :
+objets en question. Voici comment elle s'utilise :
@cindex alignAboveContext, exemple d'utilisation de la propriété
@cindex @code{\with}, exemple
Puisque la longueur des hampes et plusieurs autres propriétés de
longueur sont calculées par rapport à la valeur de la propriété
@code{staff-space}, elles sont automatiquement mises à l'échelle. Vous
-remarquerez que cela n'affecte que la dimension verticale de l'ossia ---
+remarquerez que cela n'affecte que la dimension verticale de l'ossia --
la dimension horizontale étant déterminée par les objets de la portée
principale de façon à rester synchronisée vis-à-vis d'elle, elle n'est
pas affectée par tous ces changements de taille. Bien sûr, si l'échelle
portée et d'autres qui sont placés à l'extérieur de la portée. On les
appelle respectivement les @qq{objets de la portée} (@emph{within-staff
objects} en anglais) et les @qq{objets extérieurs à la portée}
-(@emph{outside-staff objects}en anglais).
+(@emph{outside-staff objects} en anglais).
Les objets de la portée sont ceux qui sont placés sur la portée
---- les têtes de notes et les hampes, les altérations, etc. Leur
-position est généralement déterminée par la musique elle-même --- ils
+-- les têtes de notes et les hampes, les altérations, etc. Leur
+position est généralement déterminée par la musique elle-même -- ils
sont placés verticalement sur des lignes spécifiques ou sont liés à
d'autres objets placés de cette manière. Normalement, les collisions
entre les têtes et queues de notes et les altérations dans des accords
proches sont évitées automatiquement. Comme nous le verrons rapidement,
-il existe des commandes et des possibilités de retouches qui permettent
+il existe des commandes et des possibilités de retouche qui permettent
de modifier ce comportement automatique.
Parmi les objets extérieurs à la portée, on compte des éléments comme
Nous avons vu que les commandes @code{\voiceXXX} jouent sur la
direction des liaisons, des doigtés et sur toute autre chose liée à
-l'orientation des queues de notes. Ces commandes sont essentielles dans
+l'orientation des hampes. Ces commandes sont essentielles dans
la musique polyphonique pour distinguer des lignes mélodiques
entremêlées. Mais il arrive qu'on ait besoin de modifier ce comportement
automatique. On peut le faire pour toutes les parties de la musique ou
@cindex neutral
L'exemple ci-dessous montre dans la première mesure le comportement par
-défaut des hampes --- celles des notes les plus hautes pointant vers le
+défaut des hampes -- celles des notes les plus hautes pointant vers le
bas et celles des notes les plus basses pointant vers le haut ; viennent
ensuite quatre notes avec les hampes forcées vers le bas, puis quatre
autres avec les hampes forcées vers le haut, et pour finir quatre notes
placée au-dessus (lorsque @code{up} apparaît dans la liste), au-dessous
(lorsque @code{down} apparaît), à gauche (lorsque @code{left} apparaît)
ou à droite (lorsque @code{right} apparaît). En revanche, si une valeur
-n'est pas sur la liste, aucun doigté n'ira à cet emplacement. LilyPond
+n'est pas dans la liste, aucun doigté n'ira à cet emplacement. LilyPond
garde ces contraintes en mémoire et recherche le meilleur emplacement
pour le doigté des notes des accords suivants. Vous remarquerez que
-@code{left} et @code{right} s'excluent l'un l'autre --- l'indication de
+@code{left} et @code{right} s'excluent l'un l'autre -- l'indication de
doigté ne peut être placée que d'un côté ou de l'autre, pas des deux.
@warning{Pour contrôler à l'aide de cette commande le placement du
l'intérieur de la liaison. Cette propriété @code{avoid-slur} ne sera
toutefois effective que dans la mesure où la
@code{outside-staff-priority} est désactivée (valeur @code{#f}). Dans
-le même esprit, il est possible d'affecter un valeur numérique
+le même esprit, il est possible d'affecter une valeur numérique
particulière à la propriété @code{outside-staff-priority} d'une
liaison dans le but de regrouper la liaison avec les objets externes.
L'exemple suivant illustre ces deux différentes méthodes.
contrôler le positionnement vertical des objets individuels, quoique le
résultat ne soit pas toujours formidable. Imaginons que nous voulions
placer @qq{Text3} au-dessus de @qq{Text4} dans l'exemple de la section
-Comportement automatique, plus haut (voir @ref{Comportement automatique}). Il
-nous suffit pour cela de regarder dans la RPI ou dans le tableau plus
-haut la priorité de @code{TextScript}, et d'augmenter la priorité de
-@qq{Text3} jusqu'à une valeur très haute :
+@ref{Comportement automatique}, plus haut. Il nous suffit pour cela de
+regarder dans la RPI ou dans le tableau plus haut la priorité de
+@code{TextScript}, et d'augmenter la priorité de @qq{Text3} jusqu'à une
+valeur très haute :
@cindex TextScript, exemple de dérogation
@cindex outside-staff-priority, exemple d'utilisation de la propriété
@emph{markup} (ou d'étiquette) n'est pas pris en compte, dans la mesure
où ce qui est concerné n'entre pas dans la musique. La commande
@code{\textLengthOn} inverse ce comportement, faisant en sorte que les
-notes soient espacées autant qu'il faut pour s'adapter au texte :
+notes soient espacées autant qu'il le faut pour s'adapter au texte :
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\textLengthOn % Cause notes to space out to accommodate text
est possible de supprimer ce déplacement automatique vers le haut en
attribuant à la priorité la valeur @code{#f}. Voici un exemple qui
montre comment les textes des @emph{markup} interagissent avec ces types
-de notes.
+de note.
@cindex TextScript, exemple de dérogation
@cindex outside-staff-priority, exemple d'utilisation de la propriété
@cindex modifier le positionnement des nuances
@cindex nuances, modifier le positionnement
-Les indications de nuances se placent normalement sous la portée mais on
+Les indications de nuance se placent normalement sous la portée mais on
peut les placer au-dessus avec la commande @code{dynamicUp}. Elles se
positionnent verticalement par rapport à la note à laquelle elles sont
liées et se décalent vers le bas (ou le haut) en fonction des objets de
@cindex dimensionnement des grobs
Tout d'abord, nous devons apprendre ce qui détermine la dimension des
-grobs. Tous les grobs portent en eux un point de référence qui est
-utilisé pour les positionner par rapport à leur objet parent. Ce point du
-grob est placé à une distance horizontale, @code{X-offset},
-et à une distance verticale, @code{Y-offset}, de son parent.
-L'étendue horizontale de l'objet est fixée par une paire de
+@emph{grobs}. Tous les @emph{grobs} portent en eux un point de référence
+qui est utilisé pour les positionner par rapport à leur objet parent. Ce
+point du @emph{grob} est placé à une distance horizontale,
+@code{X-offset}, et à une distance verticale, @code{Y-offset}, de son
+parent. L'étendue horizontale de l'objet est fixée par une paire de
nombres, @code{X-extent}, qui donnent la position du coin
gauche et du coin droit par rapport au point de référence. De
même, l'étendue verticale est fixée par une paire de nombre,
-@code{Y-extent}. Ce sont des propriétés communes à tous les
-grobs et que gère la @code{grob-interface}.
+@code{Y-extent}. Ce sont des propriétés communes à tous les
+@emph{grobs} et que gère la @code{grob-interface}.
@cindex @code{extra-spacing-width}
Par défaut, la largeur des objets extérieurs à la portée est donnée
comme étant nulle, si bien qu'ils peuvent se chevaucher
-horizontalement. Pour arriver à cela, on a ajouté l'infini à
+horizontalement. Pour reméfier à cela, on a ajouté l'infini à
l'extension gauche et moins l'infini à l'extension droite, en
attribuant à @code{extra-spacing-width} la valeur
- @code{'(+inf.0 . -inf.0)}. Pour être sûr que les objets ne se
+@w{@code{'(+inf.0 . -inf.0)}}. Pour être sûr que les objets ne se
chevaucheront pas horizontalement, nous devons donc corriger
-cette valeur de @code{extra-spacing-width} en @code{'(0 . 0)},
+cette valeur de @code{extra-spacing-width} en @w{@code{'(0 . 0)}},
afin que leur vraie largeur se manifeste. La commande pour y
parvenir avec des indications de nuances est :
@noindent
C'est mieux mais nous voulons peut-être aligner les indications de
-nuances sur une même ligne plutôt que de les voir monter et
+nuance sur une même ligne plutôt que de les voir monter et
descendre avec les notes. La propriété qui gère cela est
@code{staff-padding} ; la section suivante lui est consacrée.
Certains éléments sur la partition peuvent se chevaucher, ce qui est
regrettable mais, le plus souvent, facile à corriger. En général, quand
on déplace des objets, c'est pour des raisons de lisibilité ou
-d'esthétique --- ils rendraient mieux avec un peu plus ou un peu moins
+d'esthétique -- ils rendraient mieux avec un peu plus ou un peu moins
d'espace autour d'eux.
Il y a trois façons de résoudre les problèmes de chevauchement. Il est
@item
L'@strong{orientation} d'un objet qui en chevauche un autre peut être
changée grâce aux commandes prédéfinies dont la liste a été donnée
-plus haut à propos des objets de portée (voir @ref{Objets inclus dans la portée}).
-Les queues de notes, les liaisons de phrasé et de prolongation, les
+plus haut à propos des objets de portée (voir
+@ref{Objets inclus dans la portée}).
+Les queues de note, les liaisons de phrasé et de prolongation, les
crochets, les nuances et les nolets peuvent facilement être repositionnés
de cette manière. En contrepartie, vous n'avez le choix qu'entre deux
positions, sans personnalisation possible.
@item
@code{direction}
-Ce point a déjà été traité en détails --- voir @ref{Objets inclus dans la portée}.
+Ce point a déjà été traité en détails -- voir
+@ref{Objets inclus dans la portée}.
@item
@code{padding}, @code{left-padding},
processus de composition, les têtes de notes sont composées en premier,
puis les altérations, s'il y en a, sont ajoutées à gauche des têtes de notes
suivant la propriété @code{right-padding} qui détermine l'espacement par
-rapport aux têtes de notes. C'est pourquoi seule la propriété
+rapport aux têtes de note. C'est pourquoi seule la propriété
@code{right-padding} de l'objet @code{AccidentalPlacement} joue sur le
positionnement des altérations.
qui semblent s'en rapprocher.
Toutes les valeurs @code{padding} sont exprimées en espaces de portée.
-Pour la plupart des objets, la valeur par défaut est aux alentours de 1.0,
-parfois moins (cela dépend de chaque objet). Il est possible de la modifier
-lorsqu'on a besoin d'un espace vide plus grand (ou plus petit).
+Pour la plupart des objets, la valeur par défaut est aux alentours de
+1,0 et parfois moins (cela dépend de chaque objet). Il est possible de
+la modifier lorsqu'on a besoin d'un espace vide plus grand (ou plus petit).
@item
Cette propriété est utilisée pour tous les objets qui acceptent la
@code{item-interface}. Elle reçoit deux nombres, le premier étant
-ajouté au bord gauche et le second au bord droit. Des nombres
+ajouté au bord gauche et le second au bord droit. Des nombres
négatifs déplacent le coin vers la gauche, des nombres positifs
vers la droite, si bien que pour élargir un objet, le premier nombre
-doit être négatif et le second positif. Attention : tous les objets
-n'acceptent pas forcément les deux nombres. Par exemple, l'objet
+doit être négatif et le second positif. Attention : tous les objets
+n'acceptent pas forcément les deux nombres. Par exemple, l'objet
@code{Accidental} ne retient que le premier nombre (coin gauche).
La propriété @code{force-hshift} appartient à @code{NoteColumn} (en
réalité à la @code{note-column-interface}). Le fait de la modifier permet
-de déplacer une colonne de notes selon l'unité appropriée aux colonnes
-de notes, à savoir la largeur des têtes de notes de la première voix. Son
-utilisation est réservée à des situations complexes dans lesquelles les
-commandes habituelles @code{\shiftOn}
-(voir @ref{Instanciation explicite des voix}) ne suffisent plus à résoudre les
-conflits. Elle est alors préférable à l'utilisation de la propriété
-@code{extra-offset}, dans la mesure où on n'a pas besoin d'exprimer
-la distance en espaces de portée et où le fait de déplacer les notes à
-l'intérieur ou à l'extérieur d'une @code{NoteColumn} affecte d'autres
-actions comme les fusionnements de notes.
+de déplacer un empilement selon l'unité appropriée aux colonnes
+de notes, à savoir la largeur des têtes de note de la première voix.
+Son utilisation est réservée à des situations complexes dans lesquelles
+les commandes habituelles @code{\shiftOn}
+(voir @ref{Instanciation explicite des voix}) ne suffisent plus à
+résoudre les conflits. Elle est alors préférable à l'utilisation de la
+propriété @code{extra-offset}, dans la mesure où on n'a pas besoin
+d'exprimer la distance en espaces de portée et où le fait de déplacer
+les notes à l'intérieur ou à l'extérieur d'une @code{NoteColumn} affecte
+d'autres actions comme les fusionnements de notes.
@end itemize
Pour terminer, quand toutes les autres méthodes ont échoué, il est
possible de repositionner verticalement les objets à la main par rapport
à la ligne médiane de la portée, ou en les déplaçant à une distance
-donnée vers une nouvelle position. Les inconvénients sont qu'il faut
-individuellement pour chaque objet trouver les valeurs correctes de
-repositionnement, souvent par tâtonnement, et que, puisque le
+donnée vers une nouvelle position. Les inconvénients sont qu'il faut
+individuellement, pour chaque objet, trouver les valeurs correctes de
+repositionnement souvent par tâtonnement, et que, puisque le
mouvement est opéré après que LilyPond a placé tous les autres
-objets, c'est à l'utilisateur de résoudre tous les problèmes de collisions
-qui pourraient survenir. Et le pire avec cette méthode est que, le jour
-où la musique est modifiée, il faut de nouveau rechercher les
-valeurs de repositionnement. Les propriétés à utiliser pour ce type de
-repositionnement manuel sont :
+objets, c'est à l'utilisateur de résoudre tous les problèmes de
+collision qui pourraient survenir. Et le pire avec cette méthode est
+que, le jour où la musique est modifiée, il faut de nouveau rechercher
+les valeurs de repositionnement. Les propriétés à utiliser pour ce type
+de repositionnement manuel sont :
@table @code
@cindex extra-offset, propriété
-Cette propriété s'applique à tout objet acceptant la @code{grob-interface}.
-Elle reçoit une paire de nombre qui indiquent le déplacement supplémentaire
-dans le sens horizontal et vertical. Des nombres négatifs déplacent l'objet
-vers la gauche ou vers la droite. L'unité utilisée est l'espace de portée. Le
-déplacement supplémentaire intervient une fois que la composition des
-objets est achevée, si bien qu'un objet peut être repositionné à n'importe
-quel endroit sans que ça perturbe quoi que ce soit.
+Cette propriété s'applique à tout objet acceptant la
+@code{grob-interface}. Elle reçoit une paire de nombre qui indiquent le
+déplacement supplémentaire dans le sens horizontal et vertical. Des
+nombres négatifs déplacent l'objet vers la gauche ou vers la droite.
+L'unité utilisée est l'espace de portée. Le déplacement supplémentaire
+intervient une fois que la composition des objets est achevée, si bien
+qu'un objet peut être repositionné à n'importe quel endroit sans
+perturber quoi que ce soit.
@item positions
Cette propriété est très utile pour ajuster manuellement l'inclinaison et
la hauteur des barres de ligature, des liaisons et des nolets. Elle est
suivie de deux nombres qui donnent la position des bords gauche et
-droit des barres, liaisons, etc., par rapport à la ligne médiane de la
-portée. L'unité de référence est l'intervalle de lignes de portée. Attention
-toutefois au fait que les liaisons et phrasés ne peuvent pas être repositionnés
-n'importe où. LilyPond commence par dresser la liste des emplacements
-possibles pour les liaisons et choisit par défaut la liaison qui @qq{semble
-la meilleure}. Si la propriété @code{positions} a été retouchée, la
-liaison la plus proche de la position demandée sera retenue dans la
-liste.
+droit des barres, liaisons, etc. par rapport à la ligne médiane de la
+portée. L'unité de référence est l'intervalle de lignes de portée.
+Attention toutefois au fait que les liaisons et phrasés ne peuvent pas
+être repositionnés n'importe où. LilyPond commence par dresser la liste
+des emplacements possibles pour les liaisons et choisit par défaut la
+liaison qui @qq{semble la meilleure}. Si la propriété @code{positions}
+a été retouchée, la liaison la plus proche de la position demandée sera
+retenue dans la liste.
@end table
@end enumerate
-Il est possible qu'un objet ne dispose pas de toutes ces propriétés. Il
+Il est possible qu'un objet ne dispose pas de toutes ces propriétés. Il
est donc nécessaire de consulter la RPI pour vérifier quelles sont les
propriétés disponibles pour l'objet en question.
Voici une liste d'objets les plus couramment impliqués dans les
-collisions, avec le nom de l'objet à consulter dans la RPI afin de trouver
-les propriétés à retoucher pour obtenir un déplacement.
+collisions, avec le nom de l'objet à consulter dans la RPI afin de
+trouver les propriétés à retoucher pour obtenir un déplacement.
@multitable @columnfractions .5 .5
@end lilypond
Vous remarquerez dans le second exemple à quel point il est important de
-préciser le nom du contexte qui contient l'objet. Puisque l'objet
+préciser le nom du contexte qui contient l'objet. Puisque l'objet
@code{MetronomeMark} appartient au contexte @code{Score}, le fait de
modifier la propriété dans le contexte @code{Voice} passera inaperçu.
Pour plus de détails, voir @ruser{Modification de propriétés}.
Si on augmente la propriété @code{padding} d'un objet alors que celui-ci
fait partie d'un ensemble d'objets positionnés en fonction de leur
-@code{outside-staff-priority}, cet objet sera déplacé, ainsi que tous les
-autres objets du groupe.
+@code{outside-staff-priority}, cet objet sera déplacé, ainsi que tous
+les autres objets du groupe.
@subheading left-padding et right-padding
@cindex right-padding, propriété
La propriété @code{right-padding} joue sur l'espacement entre une
-altération et la note sur laquelle elle porte. On ne l'utilise pas souvent,
-mais l'exemple ci-dessous montre une situation où elle est nécessaire.
-Imaginons que nous voulions faire apparaître un accord qui contienne
-à la fois un si bécarre et un si bémol. Pour qu'il n'y ait pas de doute,
-nous chercherions à précéder la note d'un signe bécarre et d'un signe
-bémol. Voici différentes tentatives pour y parvenir :
+altération et la note sur laquelle elle porte. On ne l'utilise pas
+souvent, mais l'exemple ci-dessous montre une situation où elle est
+nécessaire. Imaginons que nous voulions faire apparaître un accord qui
+contienne à la fois un si bécarre et un si bémol. Pour qu'il n'y ait
+pas de doute, nous chercherions à faire précéder la note d'un signe
+bécarre et d'un signe bémol. Voici différentes tentatives pour y
+parvenir :
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
<b bes>
@noindent
Cette méthode utilise, pour le stencil des altérations, une retouche
-qui ne sera pas reprise par la suite. Le type de stencil est obligatoirement
-une procédure, qui consiste ici à imprimer le contenu de la propriété
-@code{text} de @code{Accidental}, déclaré comme étant un signe
-bécarre suivi d'un signe bémol. Celui-ci est ensuite repoussé devant la
-tête de note par la retouche de @code{right-padding}.
+qui ne sera pas reprise par la suite. Le type de stencil est
+obligatoirement une procédure, qui consiste ici à imprimer le contenu de
+la propriété @code{text} de @code{Accidental}, déclaré comme étant un
+signe bécarre suivi d'un signe bémol. Celui-ci est ensuite repoussé
+devant la tête de note par la retouche de @code{right-padding}.
@noindent
@cindex objets, alignement sur une ligne de base
@code{staff-padding} sert à aligner des objets tels que des nuances
-sur une ligne fictive à une hauteur donnée par rapport à la portée, plutôt
-qu'à une hauteur qui varie en fonction de la position de la note sur laquelle
-porte l'objet. Ce n'est pas une propriété de @code{DynamicText} mais de
-@code{DynamicLineSpanner}. Car la ligne fictive est destinée à s'appliquer
-autant à @strong{toutes} les nuances, notamment celles qui sont créées
-comme des bandeaux en longueur (en anglais @q{Spanners}). Tel est donc
-le moyen d'aligner les indications de nuances, comme dans cet exemple
-repris de la section précédente :
+sur une ligne fictive à une hauteur donnée par rapport à la portée,
+plutôt qu'à une hauteur qui varie en fonction de la position de la note
+sur laquelle porte l'objet. Ce n'est pas une propriété de
+@code{DynamicText} mais de @code{DynamicLineSpanner}, car la ligne
+fictive est destinée à s'appliquer autant à @strong{toutes} les nuances,
+notamment celles qui sont créées comme des bandeaux en longueur (en
+anglais @emph{Spanners}). Tel est donc le moyen d'aligner les
+indications de nuance, comme dans cet exemple repris de la section
+précédente :
@cindex DynamicText, exemple de dérogation
@cindex extra-spacing-width, exemple d'utilisation de la propriété
@subheading la propriété self-alignment-X
-L'exemple suivant montre comment résoudre une collision entre une indication
-de corde et une queue de note, en alignant le coin droit sur le point de
-référence de la note parente :
+L'exemple suivant montre comment résoudre une collision entre une
+indication de corde et une hampe, en alignant le coin droit sur le point
+de référence de la note parente :
@cindex StringNumber, exemple de dérogation
@cindex self-alignment-X, exemple d'utilisation de la propriété
@cindex collision d'objets à l'intérieur d'une portée
-Dans une voix, un silence valant une mesure entière peut chevaucher les
-notes d'une autre voix. Vu que ces silences sont centrés entre les deux
-barres de mesure, il serait très compliqué de programmer LilyPond pour
-repérer ces risques de collision, dans la mesure où, normalement, toutes
-les collisions entre notes ou entre notes et silences se produisent sur
-des notes et silences simultanés. Voici un exemple de collision de ce type :
+Dans une voix, un silence valant une mesure entière peut chevaucher les
+notes d'une autre voix. Vu que ces silences sont centrés entre les deux
+barres de mesure, il serait très compliqué de programmer LilyPond pour
+repérer ces risques de collision, dans la mesure où, normalement, toutes
+les collisions entre notes ou entre notes et silences se produisent sur
+des notes et silences simultanés. Voici un exemple de collision de ce
+type :
@lilypond[quote,verbatim,fragment,ragged-right, relative=1]
<< {c c c c} \\ {R1} >>
@end lilypond
Ici, la meilleure solution consiste à déplacer le symbole de pause vers
-le bas --- puisque cette pause appartient à la voix deux. Par défaut,
+le bas -- puisque cette pause appartient à la voix deux. Par défaut,
dans la @code{\voiceTwo} (c'est-à-dire dans la seconde voix d'une
-construction @code{<<@{...@} \\ @{...@}>>}), la propriété
-@code{staff-position} est réglée sur -4 pour les MultiMeasureRest ; nous
-avons donc besoin de la déplacer, disons, de quatre demi-intervalles
-vers le bas, ce qui donne @code{-8}.
+construction @w{@code{<<@{...@} \\ @{...@}>>}}), la propriété
+@code{staff-position} est réglée sur @code{-4} pour les
+@code{MultiMeasureRest} ; nous avons donc besoin de la déplacer, disons,
+de quatre demi-intervalles vers le bas, ce qui donne @code{-8}.
@cindex MultiMeasureRest, exemple de dérogation
@cindex ligatures, gestion manuelle
La propriété @code{positions} permet de contrôler manuellement la
-position et l'inclinaison des nolets, coulés, liaisons de phrasé et barres
-de ligature. Voici un exemple avec une horrible liaison de phrasé ---
-horrible pour avoir tenté de contourner la liaison de l'acciaccature.
+position et l'inclinaison des nolets, coulés, liaisons de phrasé et
+barres de ligature. Voici un exemple avec une horrible liaison de
+phrasé -- horrible pour avoir tenté de contourner la liaison de
+l'acciaccature.
@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
r4 \acciaccatura e8\( d8 c ~c d c d\)
Mais si, pour une quelconque raison, cette solution n'était pas
envisageable, l'autre solution consiste à déplacer légèrement vers le
bas l'extrémité gauche de la liaison de phrasé, grâce à la propriété
-@code{positions}. Cela corrige en même temps la forme plutôt
+@code{positions}. Cela corrige en même temps la forme plutôt
disgracieuse de la liaison.
@cindex PhrasingSlur, exemple de dérogation
@noindent
On peut y remédier en déplaçant manuellement vers le haut les deux
-extrémités des barres de croches, non plus à 2 intervalles au-dessus
+extrémités des ligatures de croches, non plus à 2 intervalles au-dessus
de la ligne médiane mais, disons, à 3 :
@cindex Beam, exemple de dérogation
@noindent
Les deux plus basses notes du premier accord (c'est-à-dire celles de la
troisième voix) ne devraient pas être décalées de l'empilement des deux
-plus hautes notes. Pour y remédier, nous réglons le @code{force-hshift}
---- qui est une propriété de @code{NoteColumn} --- de ces notes sur zéro.
+plus hautes notes. Pour y remédier, nous réglons le @code{force-hshift}
+-- qui est une propriété de @code{NoteColumn} -- de ces notes sur zéro.
Ensuite, la note la plus basse du second accord serait mieux à droite des
-notes plus hautes. Pour cela, nous réglons le @code{force-hshift} de cette
-note sur 0,5 --- c'est-à-dire la moitié de la largeur d'une tête de note
-vers la droite de la colonne des notes plus hautes.
+notes plus hautes. Pour cela, nous réglons le @code{force-hshift} de
+cette note sur 0,5 -- c'est-à-dire la moitié de la largeur d'une tête de
+note vers la droite de la colonne des notes plus hautes.
Et voici le résultat final :
Pour terminer ce chapitre consacré aux retouches, voici, étape par
étape, la mise en forme d'un exemple concret nécessitant un certain
-nombre de retouches jusqu'à l'obtention du résultat attendu. Cet exemple
-a été choisi en raison des problèmes inhabituels de notation qu'il soulevait
-et pour vous apprendre à les résoudre grâce au Manuel de notation. Il
-n'est pas représentatif d'une opération normale de gravure ; que ces
-difficultés ne vous découragent donc pas ! Des difficultés comme celles-ci
-ne sont, heureusement, pas courantes !
+nombre de retouches jusqu'à l'obtention du résultat attendu. Cet
+exemple a été choisi en raison des problèmes inhabituels de notation
+qu'il soulevait et pour vous apprendre à les résoudre grâce au Manuel de
+notation. Il n'est pas représentatif d'une opération normale de gravure ;
+que ces difficultés ne vous découragent donc pas ! Des difficultés comme
+celles-ci ne sont, heureusement, pas courantes !
Cet exemple est tiré de la Première Ballade de Chopin, Op. 23, mesures
6 à 9 ; cela correspond à la transition entre le Lento d'ouverture et le
-Moderato. Voici, pour commencer, ce à quoi nous voulons que la
+Moderato. Voici, pour commencer, ce à quoi nous voulons que la
partition ressemble ; pour limiter les complications, nous n'avons pas
-fait apparaître les indications de nuances, de doigté ni de pédale.
+fait apparaître les indications de nuance, de doigté ni de pédale.
@c The following should appear as music without code
droite compte quatre voix. Ce sont les cinq croches avec une barre,
le do avec liaison, le ré blanche qui se fond avec le ré croche, et le
fa dièse noire pointée qui se fond lui aussi avec la croche de même
-hauteur. Tout le reste se réduit à une seule voix. Le plus simple est
+hauteur. Tout le reste se réduit à une seule voix. Le plus simple est
donc de créer temporairement ces quatre voix au moment opportun.
Si vous avez oublié comment faire, reportez-vous à
-@ref{J'entends des Voix}. Commençons par saisir les notes comme
+@ref{J'entends des Voix}. Commençons par saisir les notes comme
appartenant à deux variables, mettons en place l'ossature des
portées dans un bloc score et voyons ce que LilyPond propose par
défaut :
@end lilypond
Toutes les notes sont correctes mais l'allure générale est loin d'être
-satisfaisante. La liaison se heurte à l'indication de mesure lors du
-changement de chiffrage, la barre des croches n'est pas bonne dans la
+satisfaisante. La liaison se heurte à l'indication de mesure lors du
+changement de métrique, la ligature des croches n'est pas bonne dans la
troisième mesure, les notes ne sont pas fusionnées et il manque plusieurs
-éléments de notation. Commençons par le plus simple. Nous pouvons
-corriger la barre des croches en la créant manuellement et nous pouvons
+éléments de notation. Commençons par le plus simple. Nous pouvons
+corriger la ligature des croches en la créant manuellement et nous pouvons
facilement ajouter les limites droite et gauche de la liaison de phrasé,
-puisque tout cela a déjà été traité dans le tutoriel. Voici le résultat :
+puisque tout cela a déjà été traité dans le tutoriel. Voici le résultat :
@lilypond[quote,verbatim,ragged-right]
rhMusic = \relative c'' {
}
@end lilypond
-La première mesure est maintenant correcte. La seconde contient un arpège
-et doit se terminer par une double barre. Comment faire, puisque cela n'a pas
-été traité dans le Manuel d'initiation ? C'est alors qu'il faut nous
-reporter au Manuel de notation. Quand on cherche @qq{arpège} et @qq{barre
-de mesure} dans l'index, on voit aisément qu'il faut ajouter
+La première mesure est maintenant correcte. La seconde contient un
+arpège et doit se terminer par une double barre. Comment faire, puisque
+cela n'a pas été traité dans le Manuel d'initiation ? C'est alors qu'il
+faut nous reporter au Manuel de notation. Quand on cherche @qq{arpège}
+et @qq{barre de mesure} dans l'index, on voit aisément qu'il faut ajouter
@code{\arpeggio} à un accord pour produire un arpège et qu'une double
barre est le résultat de la commande @code{\bar "||"}. Rien de plus
-facile ! Nous devons ensuite corriger la collision entre la liaison et
-l'indication de mesure. Le mieux est de déplacer la liaison vers le
-haut. La méthode pour déplacer les objets a déjà été présentée dans
-@ref{Déplacement d'objets}, et l'on sait que, pour des objets positionnés par
-rapport à la portée, il nous faut modifier leur propriété
-@code{staff-position}, exprimée en demi-intervalles de lignes par
-rapport à la ligne médiane de la portée. Voici donc la retouche à
+facile ! Nous devons ensuite corriger la collision entre la liaison et
+l'indication de mesure. Le mieux est de déplacer la liaison vers le
+haut. La méthode pour déplacer les objets a déjà été présentée dans
+@ref{Déplacement d'objets}, et l'on sait que, pour des objets
+positionnés par rapport à la portée, il nous faut modifier leur
+propriété @code{staff-position}, exprimée en demi-intervalles de lignes
+par rapport à la ligne médiane de la portée. Voici donc la retouche à
insérer juste devant la première note liée ; elle est censée déplacer la
liaison vers le haut de 3,5 demi-intervalles de lignes au-dessus de la
ligne médiane :
}
@end lilypond
-Venons-en à la troisième mesure et au début de la section Moderato. Dans
-le Tutoriel, il est indiqué comment insérer du texte en gras à l'aide de la
-commande @code{\markup} ; pas de problème, du coup, pour ajouter
-@qq{Moderato} en gras. Mais comment faire pour fusionner les notes de
-différentes voix ? C'est là que le Manuel de notation peut nous venir en
-aide. Une recherche sur @qq{fusionnement de notes} dans l'index nous
-renvoie au chapitre @ruser{Résolution des collisions}, et plus précisément
-aux commandes permettant de fusionner des notes en fonction de leur
-type et selon que elles sont pointées ou non. Dans notre exemple, pour
-la durée de la polyphonie de la troisième mesure, nous avons besoin de
-fusionner deux types de notes ; grâce aux informations trouvées dans le
-Manuel de notation, nous ajoutons
+Venons-en à la troisième mesure et au début de la section Moderato. Dans
+le Tutoriel, il est indiqué comment insérer du texte en gras à l'aide de
+la commande @code{\markup} ; pas de problème, du coup, pour ajouter
+@qq{Moderato} en gras. Mais comment faire pour fusionner les notes de
+différentes voix ? C'est là que le Manuel de notation peut nous venir
+en aide. Une recherche sur @qq{fusionnement de notes} dans l'index nous
+renvoie au chapitre @ruser{Résolution des collisions}, et plus
+précisément aux commandes permettant de fusionner des notes en fonction
+de leur type et selon qu'elles sont pointées ou non. Dans notre
+exemple, pour la durée de la polyphonie de la troisième mesure, nous
+avons besoin de fusionner deux types de notes ; grâce aux informations
+trouvées dans le Manuel de notation, nous ajoutons
@example
\mergeDifferentlyHeadedOn
@end lilypond
Ces retouches ont permis de fusionner les deux fa dièse mais pas les
-deux ré. Pourquoi ? La réponse se trouve dans la même section du
-Manuel de notation : les notes à fusionner doivent avoir des queues dans
-des directions opposées et deux notes ne peuvent pas être fusionnées s'il
-y a une troisième note dans la même colonne. Ici, les deux ré ont leur
-queue orientée vers le haut et il y a une troisième note, do. Nous
-savons changer l'orientation de la queue avec @code{\stemDown} et
+deux ré. Pourquoi ? La réponse se trouve dans la même section du
+Manuel de notation : les notes à fusionner doivent avoir des hampes dans
+des directions opposées et deux notes ne peuvent pas être fusionnées
+s'il y a une troisième note dans la même colonne. Ici, les deux ré ont
+leur hampe orientée vers le haut et il y a une troisième note, do. Nous
+savons changer l'orientation de la hampe avec @code{\stemDown} et
le Manuel de notation nous indique également comment déplacer le do
---- en produisant un décalage grâce à l'une des commandes @code{\shift}.
-Mais laquelle ? Le do appartient à la deuxième voix et n'est pas décalé ;
+-- en produisant un décalage grâce à l'une des commandes @code{\shift}.
+Mais laquelle ? Le do appartient à la deuxième voix et n'est pas décalé ;
les deux ré appartiennent respectivement à la première et à la troisième
-voix, et l'un n'est pas décalé tandis que l'autre l'est. Il nous faut donc
-décaler largement le do avec la commande @code{\shiftOnn} pour
-éviter une interférence avec les deux ré. Voici ce que donnent ces
+voix, et l'un n'est pas décalé tandis que l'autre l'est. Il nous faut
+donc décaler largement le do avec la commande @code{\shiftOnn} pour
+éviter une interférence avec les deux ré. Voici ce que donnent ces
modifications :
@cindex Tie, exemple de dérogation
}
@end lilypond
-Pas loin. Il ne reste plus que deux problèmes : les ré une fois fusionnés
-ne devraient plus avoir de queue vers le bas, et le do serait mieux à la
-droite des ré. Nous savons remédier à ces deux problèmes grâce aux
-retouches précédentes : nous allons rendre la queue transparente et
-déplacer le do avec la propriété @code{force-hshift}. Et voici le
-résultat final :
+Pas loin. Il ne reste plus que deux problèmes : les ré une fois
+fusionnés ne devraient plus avoir de hampe vers le bas, et le do serait
+mieux à la droite des ré. Nous savons remédier à ces deux problèmes
+grâce aux retouches précédentes : nous allons rendre la hampe
+transparente et déplacer le do avec la propriété @code{force-hshift}.
+Et voici le résultat final :
@cindex NoteColumn, exemple de dérogation
@cindex force-hshift, exemple d'utilisation de la propriété
@subheading Liaison entre plusieurs voix
Voici un exemple qui montre comment créer une liaison de
-prolongation entre des notes appartenant à des voix différentes. En
+prolongation entre des notes appartenant à des voix différentes. En
temps normal, seules deux notes appartenant à une même voix
-peuvent être ainsi liées. La solution consiste à utiliser deux voix,
+peuvent être ainsi liées. La solution consiste à utiliser deux voix,
dont l'une avec les notes liées
@lilypond[quote,fragment,relative=2]
@end lilypond
@noindent
-et à rendre transparente la première queue de note de cette voix ;
+et à rendre transparente la première hampe de cette voix ;
on a alors l'impression que la liaison couvre les deux voix.
@cindex Stem, exemple de dérogation
>>
@end lilypond
-Pour être sûr que la queue que nous avons rendue transparente
+Pour être sûr que la hampe que nous avons rendue transparente
n'empiète pas trop sur le trait de liaison, nous pouvons l'allonger en
réglant la longueur (@code{length}) sur @code{8},
@cindex point d'orgue, rendu en MIDI
En ce qui concerne les objets extérieurs à la portée, quand on veut les
-faire disparaître de la partition imprimée , il est généralement préférable
-de modifier leur propriété @code{stencil} plutôt que leur propriété
-@code{transparent}. Le fait d'attribuer à la propriété @code{stencil}
-d'un objet la valeur @code{#f} supprimera entièrement celui-ci de la
-partition. Il ne risquera donc pas de gêner le placement d'autres objets.
+faire disparaître de la partition imprimée , il est généralement
+préférable de modifier leur propriété @code{stencil} plutôt que leur
+propriété @code{transparent}. Le fait d'attribuer à la propriété
+@code{stencil} d'un objet la valeur @code{#f} supprimera entièrement
+celui-ci de la partition. Il ne risquera donc pas de gêner le placement
+d'autres objets.
Par exemple, si nous voulons changer le réglage de métronome pour
simuler un point d'orgue dans le fichier MIDI, nous ne voulons surtout
pas que cette indication métronomique apparaisse sur la partition ni
qu'elle influence l'espacement entre les deux systèmes ou la position
-des annotations voisines sur la portée. Le fait d'attribuer à la propriété
-@code{stencil} la valeur @code{#f} est donc la bonne solution. Nous
+des annotations voisines sur la portée. Le fait d'attribuer à la propriété
+@code{stencil} la valeur @code{#f} est donc la bonne solution. Nous
montrons ci-dessous le résultat des deux méthodes :
@cindex MetronomeMark, exemple de dérogation
@noindent
Les deux méthodes permettent d'enlever l'indication métronomique qui
allonge le point d'orgue de la partition, et toutes deux modifient le
-rythme MIDI comme souhaité, mais, dans la première, l'indication
+rythme MIDI comme souhaité mais, dans la première, l'indication
métronomique transparente repousse vers le haut l'indication de tempo,
contrairement à la seconde (avec le stencil désactivé) qui la laisse à
sa place.
@cindex retouches et utilisation de variables
Les commandes de retouche sont souvent longues et pénibles à
-taper, et ne tolèrent pas la moindre erreur. Lorsqu'on a besoin de
+taper, et ne tolèrent pas la moindre erreur. Lorsqu'on a besoin de
faire plusieurs fois les mêmes retouches, il est préférable de
définir des variables qui les contiennent.
-Imaginons que nous voulions accentuer certains mots dans des paroles en
-les mettant en italiques. Au lieu des commandes @code{\italic} et
+Imaginons que nous voulions accentuer certains mots dans des paroles en
+les mettant en italique. Au lieu des commandes @code{\italic} et
@code{\bold}, qui ne fonctionnent dans les paroles que si elles sont
enchâssées dans un @code{\markup}, ce qui les rend pénibles à saisir,
pouvons-nous employer les commandes @code{\override} et @code{\revert} ?
@end example
Là encore, ce serait extrêmement pénible à saisir, surtout s'il y avait
-beaucoup de mots à retoucher de cette façon. Plutôt que cette
+beaucoup de mots à retoucher de cette façon. Plutôt que cette
solution, nous déclarons ces commandes comme étant deux variables
-et les utilisons comme suit --- quoique on choisirait sans doute pour
+et les utilisons comme suit -- quoique on choisirait sans doute pour
les variables des noms plus courts pour simplifier la frappe :
@cindex LyricText, exemple de dérogation
@subsection Autres sources de documentation
@translationof Other sources of information
-La Référence du programme contient beaucoup d'informations sur
-LilyPond. Cependant vous pouvez en découvrir encore plus en consultant
-les fichiers internes de LilyPond. Pour cela, il vous faut d'abord
-connaître le répertoire @emph{ad hoc} sur votre système. L'emplacement
-du répertoire dépend (a) du fait que, pour vous procurer LilyPond, vous
-avez téléchargé un paquet précompilé sur lilypond.org, ou vous l'avez
-installé grâce à votre gestionnaire de paquetages (c'est-à-dire
-distribué avec Linux ou installé avec fink ou cygwin), ou encore vous
-l'avez compilé directement à partir des sources ; et (b) du système
-d'exploitation sous lequel il tourne.
+Le Manuel d'utilisation des programmes contient beaucoup d'informations
+sur LilyPond. Cependant vous pouvez en découvrir encore plus en
+consultant les fichiers internes de LilyPond. Pour cela, il vous faut
+d'abord connaître le répertoire @emph{ad hoc} sur votre système.
+L'emplacement du répertoire dépend (a) du fait que, pour vous procurer
+LilyPond, vous avez téléchargé un paquet précompilé sur lilypond.org, ou
+vous l'avez installé grâce à votre gestionnaire de paquetages
+(c'est-à-dire distribué avec Linux ou installé avec fink ou cygwin), ou
+encore vous l'avez compilé directement à partir des sources ; et (b) du
+système d'exploitation sur lequel il tourne.
@strong{Téléchargé depuis lilypond.org}
@item MacOS X
-@file{@var{INSTALLDIR}/LilyPond.app/Contents/Resources/share/lilypond/current/}
+@code{@var{INSTALLDIR}/LilyPond.app/Contents/Resources/share/lilypond/current/}
Pour accéder à ce dossier, deux possibilités : soit, dans un Terminal,
taper @code{cd} suivi du chemin complet ci-dessus ; soit
Control-cliquer (ou clic droit) sur l'application LilyPond
@item Windows
Dans l'Explorateur Windows, voir
-@file{@var{INSTALLDIR}/LilyPond/usr/share/lilypond/current/}
+@code{@var{INSTALLDIR}/LilyPond/usr/share/lilypond/current/}
@end itemize
@strong{Installé par un gestionnaire de paquetages ou compilé d'après
les sources}
-@file{@var{PREFIX}/share/lilypond/@var{X.Y.Z}/}, où
+@code{@var{PREFIX}/share/lilypond/@var{X.Y.Z}/}, où
@var{PREFIX} est déterminé par votre gestionnaire de paquetages ou par
le script @code{configure}, et @var{X.Y.Z} est le numéro de version de
LilyPond.
intéressants :
@itemize
-@item @file{ly/} --- contient les fichiers en format LilyPond
-@item @file{scm/} --- contient les fichiers en format Scheme
+@item @code{ly/} --- contient les fichiers en format LilyPond
+@item @code{scm/} --- contient les fichiers en format Scheme
@end itemize
-Commençons par examiner quelques fichiers contenus dans @file{ly/}.
-Nous ouvrons @file{ly/property-init.ly} dans un éditeur de texte ---
-celui que vous avez l'habitude d'utiliser pour les fichiers @code{.ly}
-fera très bien l'affaire. Ce fichier contient les définitions de toutes
+Commençons par examiner quelques fichiers contenus dans @code{ly/}.
+Nous ouvrons @code{ly/property-init.ly} dans un éditeur de texte --
+celui que vous avez l'habitude d'utiliser pour les fichiers @code{.ly}
+fera très bien l'affaire. Ce fichier contient les définitions de toutes
les commandes standard prédéfinies de LilyPond, comme @code{\stemUp} et
@code{\slurDotted}. Vous pouvez constater que ce n'est rien d'autre
que des définitions de variables composées d'un ou plusieurs groupes
peuvent être facilement redéfinies, comme n'importe quelle autre
variable, en tête de votre fichier d'entrée.
-Voici les fichiers les plus utiles dans le répertoire @file{ly/} :
+Voici les fichiers les plus utiles dans le répertoire @code{ly/} :
@multitable @columnfractions .4 .6
@headitem Nom de fichier
@tab Contenu
-@item @file{ly/engraver-init.ly}
+@item @code{ly/engraver-init.ly}
@tab Définitions des Contextes de graveurs
-@item @file{ly/paper-defaults-init.ly}
+@item @code{ly/paper-defaults-init.ly}
@tab Réglages papier par défaut
-@item @file{ly/performer-init.ly}
+@item @code{ly/performer-init.ly}
@tab Définitions des Contextes d'interprétation
-@item @file{ly/property-init.ly}
+@item @code{ly/property-init.ly}
@tab Définitions de toutes les commandes prédéfinies courantes
-@item @file{ly/spanner-init.ly}
+@item @code{ly/spanner-init.ly}
@tab Définitions des commandes prédéfinies pour les bandeaux
@end multitable
@multitable @columnfractions .4 .6
@headitem Nom de fichier
@tab Contenu
-@item @file{scm/auto-beam.scm}
+@item @code{scm/auto-beam.scm}
@tab Régles par défaut des ligatures subalternes
-@item @file{scm/define-grobs.scm}
- @tab Réglages par défaut des propriétés de grobs
-@item @file{scm/define-markup-commands.scm}
+@item @code{scm/define-grobs.scm}
+ @tab Réglages par défaut des propriétés de @emph{grobs}
+@item @code{scm/define-markup-commands.scm}
@tab Spécification de toutes les commandes de @emph{markup}
-@item @file{scm/midi.scm}
+@item @code{scm/midi.scm}
@tab Réglages par défaut pour les sorties MIDI
-@item @file{scm/output-lib.scm}
+@item @code{scm/output-lib.scm}
@tab Réglages affectant l'apparence des frets, couleurs, altérations,
barres de mesure, etc.
-@item @file{scm/parser-clef.scm}
+@item @code{scm/parser-clef.scm}
@tab Définition des clefs prises en charge
-@item @file{scm/script.scm}
+@item @code{scm/script.scm}
@tab Réglages par défaut des articulations
@end multitable
@translationof Avoiding tweaks with slower processing
LilyPond peut effectuer des vérifications supplémentaires lors du
-traitement des fichiers ; cependant, le rendu nécessitera alors plus de
+traitement des fichiers ; cependant, le rendu nécessitera alors plus de
temps. En contrepartie, il y aura moins d'ajustements manuels à
-réaliser. Si une indication textuelle ou des paroles débordent dans la
+réaliser. Si une indication textuelle ou des paroles débordent dans la
marge, ces vérifications auront pour effet de serrer la ligne
suffisamment pour faire tenir le texte entre les marges.
Scheme. Pour des explications complètes là-dessus, consultez le
@ref{Tutoriel Scheme}.
-En guise d'illustration --- et ce n'est qu'une possibilité parmi tant
-d'autres --- nous allons attribuer à une propriété non pas une valeur
+En guise d'illustration -- et ce n'est qu'une possibilité parmi tant
+d'autres -- nous allons attribuer à une propriété non pas une valeur
préétablie mais une procédure Scheme qui sera lancée à chaque
utilisation de la propriété par LilyPond. De cette façon, nous obtenons
un réglage dynamique de la propriété par le simple fait d'invoquer la
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 7eee2a7382029cc29cc069f93a431758ae8a13b7
+ Translation of GIT committish: 95e6825ee09ca7f8eea87580301c8819ff1d571b
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@translationof Suggestions for writing LilyPond input files
Maintenant vous êtes prêt à travailler sur de plus gros fichiers
-LilyPond --- des pièces entières, et plus seulement les petits
+LilyPond -- des pièces entières, et plus seulement les petits
exemples du tutoriel. Mais comment devriez-vous vous y prendre ?
Tant que LilyPond parvient à comprendre vos fichiers et produit le
années auparavant. L'utilitaire @command{convert-ly} demande que vous
spécifiiez la version de LilyPond vous utilisiez alors.
-@item @strong{Ajoutez des contrôles} : @ruser{Vérifications d'octave} et
-@ruser{Vérification des limites et numéros de mesure}. Si vous avez ajouté des contrôles
-de loin en loin, et que vous faites une erreur, vous pourrez la
-retrouver plus rapidement. @qq{De loin en loin}, qu'est-ce à dire ?
-Cela dépend de la complexité de la musique. Pour de la musique très
-simple, peut-être une ou deux fois. Pour de la musique très complexe,
-peut-être à chaque mesure.
+@item @strong{Ajoutez des contrôles} : @ruser{Vérifications d'octave}
+et @ruser{Vérification des limites et numéros de mesure}. Si vous avez
+ajouté des contrôles de loin en loin, et que vous faites une erreur,
+vous pourrez la retrouver plus rapidement. @qq{De loin en loin},
+qu'est-ce à dire ? Cela dépend de la complexité de la musique. Pour de
+la musique très simple, peut-être une ou deux fois. Pour de la musique
+très complexe, peut-être à chaque mesure.
-@item @strong{Une mesure par ligne de texte}. Si la musique en elle-même ou
-le résultat que vous désirez contient quelque chose de compliqué, il
-est souvent bon de n'écrire qu'une seule mesure par ligne. Économiser
-de la place en tassant huit mesures par ligne, ça ne vaut pas vraiment
-le coup si l'on doît corriger vos fichiers.
+@item @strong{Une mesure par ligne de texte}. Si la musique en
+elle-même ou le résultat que vous désirez contient quelque chose de
+compliqué, il est souvent bon de n'écrire qu'une seule mesure par ligne.
+Économiser de la place en tassant huit mesures par ligne, ça ne vaut pas
+vraiment le coup si l'on doît corriger vos fichiers.
@item @strong{Ajoutez des commentaires}. Utilisez soit des
numéros de mesure (assez souvent), soit des références au contenu
-musical --- @qq{second thème des violons}, @qq{quatrième variation}, etc.
+musical -- @qq{second thème des violons}, @qq{quatrième variation}, etc.
Vous pouvez ne pas avoir besoin des commentaires lorsque vous écrivez
une pièce pour la première fois, mais si vous souhaitez y revenir deux
ou trois ans plus tard pour changer quelque chose, ou si vous donnez
vous épargnerez des problèmes si, plus tard, vous modifiez votre musique.
@item @strong{Séparez les affinages de mise en forme} de la musique
-elle-même. Voyez @ref{Économie de saisie grâce aux identificateurs et fonctions} et
+elle-même. Voyez
+@ref{Économie de saisie grâce aux identificateurs et fonctions} et
@ref{Feuilles de style}.
@end itemize
@itemize
@item n'entrez qu'un seul système de la partition originale
-à la fois --- mais toujours une seule mesure par ligne de texte ---,
+à la fois -- mais toujours une seule mesure par ligne de texte --,
et vérifiez chaque système lorsqu'il est terminé. Vous pouvez
utiliser les commandes @code{showLastLength} et @code{showFirstLength}
-pour accélérer la compilation --- voir @ruser{Ignorer des passages de la partition} ;
+pour accélérer la compilation -- voir
+@ruser{Ignorer des passages de la partition} ;
@item définissez @code{mBreak = @{\break @}} et insérez
@code{\mBreak} dans le fichier d'entrée pour obtenir des sauts de
dans un
@example
-\transpose c tonalité-naturelle @{...@}
+\transpose c @var{tonalité-naturelle} @{...@}
@end example
-(où @code{tonalité-naturelle} correspond à celle de l'instrument en
+(où @var{tonalité-naturelle} correspond à celle de l'instrument en
question) de telle sorte que la musique comprise dans cette variable se
retrouve en ut. Vous pourrez toujours transposer à l'inverse si besoin
lorsque vous ferez appel à cette variable. Des erreurs de transposition
seront moins susceptibles de se produire si la musique de toutes les
variables est dans la même et unique tonalité.
-De la même manière, prénez toujours le do comme note de départ ou
+De la même manière, prenez toujours le do comme note de départ ou
d'arrivée. Ceci aura pour simple conséquence que les autres tonalités
-que vous utiliserez seront celles propres à chacun des instruments ---
+que vous utiliserez seront celles propres à chacun des instruments --
sib pour une trompette en si bémol, ou lab pour une clarinette en la bémol.
@end itemize
@end example
@item @strong{Séparez les retouches} des définitions de
-musique. Nous vous avons déjà invité à adopter une telle pratique, qui
+musique. Nous vous avons déjà invité à adopter une telle pratique, qui
par ailleurs devient vitale pour des projets d'importance. Nous
pouvons avoir besoin de changer la définition de
@code{fpuisp}, mais dans ce cas nous n'aurons besoin de le faire
@end lilypond
Néanmoins vous pouvez aussi utiliser ces identificateurs
---- aussi connus sous le nom de variables, macros, ou commandes
-(définies par l'utilisateur) --- pour des retouches :
+-- aussi connus sous le nom de variables, macros, ou commandes
+(définies par l'utilisateur) -- pour des retouches :
@lilypond[quote,verbatim,ragged-right]
dolce = \markup{ \italic \bold dolce }
Jusqu'ici nous avons vu des substitutions statiques : quand LilyPond
rencontre @code{\padText}, il le remplace par le contenu que nous lui
-avons défini --- c'est-à-dire le contenu à droite de @code{padText=}.
+avons défini -- c'est-à-dire le contenu à droite de @code{padText=}.
-LilyPond gère également des substitutions non-statiques --- vous
+LilyPond gère également des substitutions non-statiques -- vous
pouvez les voir comme des fonctions.
@lilypond[quote,verbatim,ragged-right]
}
@end lilypond
-Utiliser les identificateurs est aussi un bon moyen pour vous épargner
-du travail si la syntaxe de LilyPond change un jour --- voir
-@ref{Mise à jour d'anciens fichiers}. Si vous avez une seule définition, par
-exemple @code{\dolce}, pour tous vos fichiers (voir @ref{Feuilles de style}),
-et que la syntaxe change, alors vous n'aurez qu'à mettre à
-jour votre seule définition @code{\dolce}, au lieu de devoir modifier
-chaque fichier @code{.ly}.
+Utiliser des identificateurs est aussi un bon moyen pour vous épargner
+du travail si la syntaxe de LilyPond change un jour -- voir
+@ref{Mise à jour d'anciens fichiers}. Si vous avez une seule
+définition, par exemple @code{\dolce}, pour tous vos fichiers (voir
+@ref{Feuilles de style}), et que la syntaxe change, alors vous n'aurez
+qu'à mettre à jour votre seule définition @code{\dolce}, au lieu de
+devoir modifier chaque fichier @code{.ly}.
@node Feuilles de style
@subsection Feuilles de style
@translationof Style sheets
-La sortie que produit LilyPond peut être largement modifiée --- voir
-@ref{Retouche de partition} pour plus de détails. Mais que faire si vous
-avez beaucoup de fichiers auxquels vous souhaitez appliquer vos
-retouches ? Ou si vous souhaitez simplement séparer les retouches de
+La sortie que produit LilyPond peut être largement modifiée -- voir
+@ref{Retouche de partition} pour plus de détails. Mais que faire si
+vous avez beaucoup de fichiers auxquels vous souhaitez appliquer vos
+retouches ? Ou si vous souhaitez simplement séparer les retouches de
la musique elle-même ? Rien de plus facile.
Prenons un exemple. Ne vous inquiétez pas si vous ne comprenez pas
@end lilypond
Il y a quelques problèmes de chevauchement ; nous allons arranger
-cela en utilisant les techniques de @ref{Déplacement d'objets}. On peut
+cela en utilisant les techniques de @ref{Déplacement d'objets}. On peut
aussi faire quelque chose pour les définitions de @code{mpdolce}
et @code{inst}. Elles produisent le résultat que nous désirons,
mais nous pourrions aussi vouloir les utiliser dans une autre pièce.
voué à être inclus dans un fichier maître ; il n'est pas destiné à être
compilé isolément.
Maintenant, modifions notre musique (enregistrez ce fichier
-sous @file{musique.ly}).
+sous @code{musique.ly}).
@c We have to do this awkward example/lilypond-non-verbatim
@c because we can't do the \include stuff in the manual.
rapprocher des têtes de note. Déplaçons l'indication métronomique
au-dessus de la clef, au lieu de la laisser au-dessus de la première
note. Et pour finir, mon professeur de composition déteste les
-chiffrages de mesure en @qq{C}, nous allons donc le transformer en @qq{4/4}.
+chiffrages de mesure en @qq{C}, nous allons donc le transformer en
+@qq{4/4}.
Cependant, ne changez pas le fichier @file{musique.ly}. Remplacez le
fichier @file{definitions.ily} par ceci :
Malheureusement, @command{convert-ly} ne peut pas réaliser toutes les
modifications. Il s'occupe des changements qui ne requièrent qu'une
-simple substitution de texte --- comme @code{raggedright} devenant
-@code{ragged-right} ---, les autres étant trop compliqués à effectuer.
-Les changements de syntaxe qui ne sont pas gérés par @command{convert-ly}
-sont énumérés dans @rprogram{Mise à jour des fichiers avec convert-ly}.
+simple substitution de texte -- comme @code{raggedright} devenant
+@code{ragged-right} --, les autres étant trop compliqués à effectuer.
+Les changements de syntaxe qui ne sont pas gérés par
+@command{convert-ly} sont énumérés dans
+@rprogram{Mise à jour des fichiers avec convert-ly}.
Par exemple, dans les versions 2.4 et antérieures de LilyPond,
les accents et les lettres non anglaises étaient entrées en
-utilisant LaTeX --- par exemple, @code{No\"el}. À partir de la
+utilisant LaTeX -- par exemple, @code{No\"el}. À partir de la
version 2.6, le caratère @code{ë} doit être entré directement
dans le fichier LilyPond comme caractère UTF-8.
@code{convert-ly} ne peut pas changer tous les caractères
@subsection Quelques erreurs des plus courantes
@translationof Common errors
-The error conditions described below occur often, yet the cause
-is not obvious or easily found. Once seen and understood, they
-are easily handled.
+Les conditions amenant aux erreurs qui suivent sont fréquentes, bien
+qu'elles ne soient pas évidentes ni facilement localisables. Nous
+espérons que ces explications vous aideront à les résoudre plus
+facilement.
@menu
conduit à une musique compressée, voire à un débordement de la page.}
Une erreur de durée sera bien plus facilement localisable si vous
-positionnez régulièrement des contrôles de barre de mesure --- voir
+positionnez régulièrement des contrôles de barre de mesure -- voir
@ruser{Vérification des limites et numéros de mesure}.
Si vous tenez absolument à enchainer de tels débordements, vous devrez
insérer des barres de mesure invisibles là où vous souhaitez positionner
-un saut de ligne. Consultez le chapitre @ruser{Barres de mesure} pour plus de
-détails.
+un saut de ligne. Consultez le chapitre @ruser{Barres de mesure} pour
+plus de détails.
@node Erreur renvoyant à ../ly/init.ly
@unnumberedsubsubsec Erreur renvoyant à @code{../ly/init.ly}
Certains messages d'erreur relatifs à une erreur de syntaxe dans le
fichier @code{../ly/init.ly} peuvent survenir lorsque le fichier est mal
formaté. Cela se produit notamment lors d'un défaut de parité de
-bornage ou de guillemets.
+bornages ou de guillemets.
L'erreur la plus courante est la simple omission d'une accolade
fermante (@code{@}} à la fin du bloc @code{Score}. La solution est
-évidente en pareil cas : i lsuffit de vérifier que le bloc @code{Score}
+évidente en pareil cas : il suffit de vérifier que le bloc @code{Score}
est bien clôturé. La structure des fichiers LilyPond est abordée plus
en détails au chapitre @ref{Organisation des fichiers LilyPond}. C'est la
raison pour laquelle nous vous invitons à utiliser un éditeur de texte
-qui prenne en charge le contrôle de parité des parnthèses, crochets et
+qui prenne en charge le contrôle de parité des parenthèses, crochets et
accolades afin de vous éviter de telles erreurs.
Lorsqu'il s'agit d'un guillemet fermant (@code{"}) omis, le message
Ce message d'erreur, qu'il apparaisse sur le terminal ou en fin de
fichier journal, est associé à un message du type @qq{GUILE a signalé
-une erreur @dots{}} survient à chaque fois qu'un commentaire
+une erreur @dots{}}, survient à chaque fois qu'un commentaire
@emph{LilyPond} est indûment placé dans une routine @emph{Scheme}.
Un commentaire LilyPond est introduit par le signe pourcent (@code{%})
-et de doit en aucun cas se trouver dans une routine Scheme. En Scheme,
-les commentaire s'introduisent par un point-virgule (@code{;}).
+et ne doit en aucun cas se trouver dans une routine Scheme. En Scheme,
+les commentaires s'introduisent par un point-virgule (@code{;}).
@node Résolution de problèmes -- tout remettre à plat
fin de ligne, indiqué par @code{%}, et le commentaire multilignes (ou
bloc de commentaire), indiqué par @code{%@{ ... %@}}. Si vous ne
pouvez localiser le problème, commencez par mettre en commentaire de
-grandes parties de votre fichier d'entrée. Après avoir mis en
+grandes parties de votre fichier source. Après avoir mis en
commentaire une section, essayez de compiler à nouveau. Si cela
fonctionne, c'est que le problème se situe dans cette partie du
fichier. Si cela ne fonctionne pas, continuez à mettre en commentaire
@noindent
c'est-à-dire un fichier sans aucune musique.
-Si cela arrive, ne vous découragez pas. Décommentez un peu, la partie
-de basse par exemple, et voyez si ça fonctionne. Si ce n'est pas le
-cas, placez en commentaire toute la partie de basse, mais laissez
+Si cela se produit, ne vous découragez pas. Décommentez un peu, la
+partie de basse par exemple, et voyez si ça fonctionne. Si ce n'est pas
+le cas, placez en commentaire toute la partie de basse, mais laissez
@code{\basse} décommenté dans le bloc @code{\score}.
@example
problème.
Une autre technique de déboguage très utile est la construction
-de @ref{Exemples minimalistes}.
+d'@ref{Exemples minimalistes}.
@node Exemples minimalistes
Un exemple minimal est un exemple de code aussi court que possible.
De tels exemples sont bien plus compréhensibles que des exemples
-longs. Les exemples minimaux sont utilisés pour
+longs. Les exemples minimalises sont utilisés pour
@itemize
@item les rapports de bogue,
Dans la musique d'orchestre, toutes les notes sont imprimées deux fois.
D'abord dans les parties séparées destinées aux musiciens, et ensuite
-dans le conducteur destiné au chef. Les variables sont là pour vous éviter
-un double travail. La musique n'est entrée qu'une seule fois, et stockée dans
-une variable, dont le contenu servira à imprimer à la fois la partie
-séparée et la partition d'orchestre.
+dans le conducteur destiné au chef. Les variables sont là pour vous
+éviter un double travail. La musique n'est entrée qu'une seule fois, et
+stockée dans une variable, dont le contenu servira à imprimer à la fois
+la partie séparée et la partition d'orchestre.
Il est judicieux de définir les notes dans un fichier séparé. Par
-exemple, supposons que le fichier @file{musique-Cor.ly} contienne la
+exemple, supposons que le fichier @code{musique-Cor.ly} contienne la
partie suivante pour un duo cor/@/basson.
@example
@noindent
sera substitué le contenu du fichier @code{musique-Cor.ly}, et de ce
fait la variable @code{notesCor} se trouvera définie. La commande
-@code{\transpose f@tie{}c'} indique que son argument @code{\notesCor}
+@w{@code{\transpose f c'}} indique que son argument @code{\notesCor}
sera transposé à la quinte supérieure : le son réel @code{f} s'écrit
@code{c'}, ce qui est la caractéristique d'un Cor en fa. La
transposition est visible comme suit :
@end lilypond
Dans les pièces d'ensemble, il arrive souvent qu'une voix ne joue pas
-pendant plusieurs mesures. Un silence spécial, appelé silence multi-mesures,
-l'indique alors. On l'obtient par un @samp{R} majuscule, suivi d'une
-durée : @code{1}@tie{}pour une pause, @code{2}@tie{}pour une demi-pause,
-etc. Cette durée peut être multipliée pour établir de plus longs silences.
-Par exemple, le silence suivant dure 3@tie{}mesures à 2/4.
+pendant plusieurs mesures. Un silence spécial, appelé silence
+multimesures, l'indique alors. On l'obtient par un @code{R} majuscule,
+suivi d'une durée : @code{1}@tie{}pour une pause, @code{2}@tie{}pour une
+demi-pause, etc. Cette durée peut être multipliée pour établir de plus
+longs silences. Par exemple, le silence suivant dure 3@tie{}mesures à 2/4.
@example
R2*3
@end example
@noindent
-Cette commande assigne la valeur @qq{vrai} --- @emph{true} en anglais, et
-@code{#t} dans le langage Scheme --- à cette propriété dans le
+Cette commande assigne la valeur @qq{vrai} -- @emph{true} en anglais, et
+@code{#t} dans le langage Scheme -- à cette propriété dans le
contexte @code{Score}. Si l'on ajoute dans la musique ci-dessus le
silence multimesure et cette option, on obtient le résultat suivant :
La plupart des plates-formes sur lesquelles tourne LilyPond disposent
d'un logiciel appelé @code{make}. Ce logiciel va lire un fichier
spécial, nommé de @code{Makefile}, qui contient tout ce qu'il
-faut --- les dépendances entre certains fichiers, les instructions
-successives à traiter par le système --- pour aboutir au fichier que
+faut -- les dépendances entre certains fichiers, les instructions
+successives à traiter par le système -- pour aboutir au fichier que
vous désirez obtenir. Il pourrait par exemple contenir tout ce qu'il
faut pour produire @code{ballade.pdf} et @code{ballade.midi} à partir de
@code{ballade.ly} en lançant LilyPond.
respect de ceux qui pourront accéder à vos sources. Cette manière de
procéder est particulièrement indiquée lorsque vous travaillez sur un
projet de grande envergure impliquant de nombreuses inclusions de
-fichiers et différentes éditions --- par exemple un conducteur et un
+fichiers et différentes éditions -- par exemple un conducteur et un
matériel d'orchestre complet avec la partition pour le chef et une
-partition séparée pour chacun des pupitres --- ou bien si votre projet
+partition séparée pour chacun des pupitres -- ou bien si votre projet
requiert certaines commandes particulières comme @code{lilypond-book}.
Les @emph{Makefiles} varient tant en complexité qu'en flexibilité selon
les besoin et les aptitudes de celui qui les crée. Le programme GNU Make
et il en existe une version pour les environnements Windows.
Consultez le @strong{GNU Make Manual} pour plus de détails sur ce dont
-@code{make} est capable --- vous pourrez même en trouver des versions
-françaises à l'aide des moteurs de recherche ---, dans la mesure où ce
+@code{make} est capable -- vous pourrez même en trouver des versions
+françaises à l'aide des moteurs de recherche --, dans la mesure où ce
qui suit ne donne qu'un bref apperçu de ses possibilités.
Les commandes permettant de définir les règles diffèrent selon la
@example
%%% début du fichier "symphone-cello.ly"
-\include ../definitions.ily
+\include ../symphonieDefs.ily
\include ../Notes/cello.ily
@end example
(l'intégrale au format conducteur), @code{mouvements} (chacun des
mouvements au format conducteur) et @code{pupitres} (une partition par
pupitre). Il contient aussi une cible @code{archive} chargée de générer
-une archive des fichiers sources qui pourra être diffusée sur la toile ou
+une archive des fichiers source qui pourra être diffusée sur la toile ou
transmise par courriel. Voici ce que contiendrait ce @emph{Makefile}
pour Linux ou MacOS@tie{}X. Ce fichier doit être enregistré sous le nom
-de @code{Makefile} à la racine du projet --- ici @code{Symphonie}.
+de @code{Makefile} à la racine du projet -- ici @code{Symphonie}.
@warning{Lorsque vous définissez une cible ou une règle sur plusieurs
lignes, les lignes à partir de la deuxième @strong{doivent} débuter par
Les choses se compliquent sous Windows. Une fois GNU Make pour Windows
téléchargé et installé, il vous faudra correctement définir le chemin
-d'accès au programme @emph{Make} --- dans les variables d'environnement
-du système --- afin que l'interpréteur de commandes DOS puisse le
+d'accès au programme @emph{Make} -- dans les variables d'environnement
+du système -- afin que l'interpréteur de commandes DOS puisse le
localiser. Pour cela, faites un clic droite sur @qq{Poste de travail},
choisissez @code{Propriétés} puis @code{Avancées}. Cliquez sur
@code{Variables d'environnement} puis, dans l'onglet @w{@code{Variables