Subject: ordre des instructions dans un markup

From: Daniel Cartron <[email-masked]>
Date: Tue, 9 Sep 2008 16:12:30 +0200

Salut à tous,

Dans la série "Est-il normal que Lilypond fasse ça ?" je constate que si je 
met dans un markup un \raise suivi d'un \hspace le \raise n'est pas pris en 
compte, alors que si j'inverse l'ordre ça marche...

Ceci dit je commence vraiment à m'amuser avec les markup, j'avais besoin d'un 
symbole qui fasse penser à une cloche, pour noter une ornementation utilisée 
par un grand joueur de cornemuse du centre-france, et qui s'appelle 
justement "la cloche", et j'ai fait ça :
cloche = ^\markup{ \hspace #0 \raise #0.5 \musicglyph #"scripts.dpedalheel" 
\hspace #-1.7 \raise #0.2 \musicglyph #"scripts.dstaccatissimo" \hspace #-1.4 
\raise #1.2 \musicglyph #"scripts.staccato"}

Si je vous donne le code, outre le résultat marrant, c'est que c'est sur ce 
truc que j'ai constaté le pb cité.

Merci pour vos lumières.

-- 
Cordialement, Daniel Cartron
« L'idéal serait d'être d'une bonne santé contagieuse. »
Robert Sabatier - Le livre de la déraison souriante

---

From: John Mandereau <[email-masked]>
Date: Tue, 09 Sep 2008 17:47:06 +0200

> compte, alors que si j'inverse l'ordre ça marche...

Comme toute commande markup qui prend en argument un markup, \raise
s'applique au markup qui le suit, dans ton cas il s'agit de \hspace #x.y
(ce qui a un intérêt limité) ou d'autre chose ; pour appliquer une
commande markup à une liste de markups, met celle-ci entre accolades :
\raise #y { \hspace #z toto \musicglyph #"scripts.dpedalheel" }

> \raise #1.2 \musicglyph #"scripts.staccato"}

Très chouette :-) !  (Il est d'usage de mettre le rendu de petits
éléments de notation en pièce jointe sous forme de petite image PNG.)
Si LSR était rétabli, je l'y aurais ajouté...

Le seul inconvénient avec ce genre de symbole bricolé avec des markups,
c'est qu'il peut être cassé lors d'un changement de version de LilyPond,
par exemple à cause de changements dans les enveloppes et points
d'ancrage des symboles graphiques.  Celui passe très bien avec les
dernières sources de LilyPond 2.11, mais on pourrait peut-être bricoler
un peu moins en utilisant \concat et \translate, ce qui pourrait
économiser une partie des commandes \raise et \hspace.  La solution
optimale serait de créer le symbole en Metafont, mais c'est nettement
plus de travail (je ne sais pas faire).

Salutations lilyesques
John

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 9 Sep 2008 18:13:54 +0200

Le mardi 9 septembre 2008, John Mandereau a écrit :

> (ce qui a un intérêt limité) 

Ha ok donc l'ordre est effectivement important, il y a une logique derrière, 
ça aurait pu être un truc du genre appliquer gras et tialique à un texte, peu 
importe l'ordre dans ce cas. J'ai pas lu ça dans la doc, et pourtant depuis 
qq semaines je la scrute salement :-)

> ou d'autre chose ; pour appliquer une 

C'est vrai que ça marche, mais je ne m'expliquais pas poruquoi ça ne marchait 
pas sans.

> éléments de notation en pièce jointe sous forme de petite image PNG.)

J'ai pas osé, mm si c'est pas lourd j'ai tjs des scrupules à mettre des pj sur 
une liste.

> économiser une partie des commandes \raise et \hspace.

Ha je connais pas encore translate, je vais la tester...

> La solution 

On trouve de la doc qq part poru ça, c'est purement lily ou global ?

-- 
Cordialement, Daniel Cartron
« Le marchand de sable ne fait pas fortune dans le désert. »
Proverbe bantou - Alexandre Vialatte

---

From: John Mandereau <[email-masked]>
Date: Tue, 09 Sep 2008 18:45:11 +0200

> J'ai pas osé, mm si c'est pas lourd j'ai tjs des scrupules à mettre des pj sur 

Tant que le courriel complet (y compris l'encodage des pièces jointes
binaires comme les images, qui fait gonfler leur taille) ne dépasse pas
64 Ko, il ne faut avoir aucun scrupule : ça évite au lecteur de recopier
le code ly dans un fichier, de le compiler et d'ouvrir un lecteur PDF
pour le voir, donc ça lui gagne un temps fou (s'il a vraiement envie de
voir à quoi ça ressemble) ou même ça lui permet de voir le résultat (ce
qu'il n'aurait pas fait par lui-même, ayant des dizaines d'autres
courriels à lire).  Pour les extraits de musique LilyPond, une image PNG
bien rognée ne pèse pas lourd.

> On trouve de la doc qq part poru ça, c'est purement lily ou global ?

Les fontes de LilyPond sont écrites en Metafont, qui est un programme
(et un langage) créant des polices -- dans des formats utilisés par TeX
au départ, mais on peut aussi obtenir des polices Postscript comme pour
LilyPond.

La documentation utile est :
- un bon tutoriel et une référence sur Metafont (à chercher dans la doc
d'une distribution TeX, ou sur le CTAN),
- la doc de mf2pt1 (idem), le script utilisé pour compiler les fontes
LilyPond en Postscript Type 1,
- mf/README dans les sources de LilyPond.

Bonne lecture
John

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 9 Sep 2008 18:51:51 +0200

> au départ, mais on peut aussi obtenir des polices Postscript comme pour

Ce qui permettrait à terme d'utiliser mes symboles dans d'autres logiciels ? 
Je ne peux me permettre d'imposer lilypond à tous les cornemuseux mm si j'en 
ai envie :-)

Merci poru les liens, je lirai qd jaurai un moment.

-- 
Cordialement, Daniel Cartron
« À quoi sert ce progrès dont nos siècles se parent? À quoi sert d'avoir tant 
vécu ?
Il n'y a plus de chefs de gare mais il y a toujours des cocus ! »
Francis Blanche - Mon oursin et moi

---

From: Daniel Cartron <[email-masked]>
Date: Wed, 10 Sep 2008 14:38:55 +0200

Le mardi 9 septembre 2008, Daniel Cartron a écrit :
> \hspace #-1.7 \raise #0.2 \musicglyph #"scripts.dstaccatissimo" \hspace
> #-1.4 \raise #1.2 \musicglyph #"scripts.staccato"}

Et si je veux que ma petite cloche soit en rouge, par exemple, je fais 
comment, j'arrive pas à trouver à quoi appliquer \with-color ni la syntaxe 
exacte...

-- 
Cordialement, Daniel Cartron
«  Il faut exiger de chacun ce que chacun peut donner. »
Antoine de Saint-Exupéry - Le petit prince

---

From: John Mandereau <[email-masked]>
Date: Wed, 10 Sep 2008 15:30:30 +0200

> comment, j'arrive pas à trouver à quoi appliquer \with-color ni la syntaxe 

Je ne sais pas faire dans le \markup lui-même, sinon un petit \override
TextScript #'color devrait faire l'affaire.

John

---

From: Daniel Cartron <[email-masked]>
Date: Wed, 10 Sep 2008 16:02:30 +0200

Le mercredi 10 septembre 2008, John Mandereau a écrit :
> > comment, j'arrive pas à trouver à quoi appliquer \with-color ni la
> > syntaxe exacte...
>

Ha c'est textscript qu'il fallait, comme par hasard un de ceux que j'ai pas 
testé à tâton... Mais est-ce bien un hasard ? :-)

En tout cas merci comme d'hab... Promis un jour je vais faire un petit tuto 
sur tout ce que j'ai appris, et qui n'est pas si clair que ça dans la doc 
officielle :-) (rhôôô le vilain qui crache dans la soupe :-)

Donc ça marche mais qq remarques :

si je veux appliquer ça à un \trill ça marchera pas, il va sûrement falloir 
que je fasse un markup { \musicglyph...}

une fois que je l'ai appliqué ça le reste des markup est de la mm couleur, il 
me semble qu'un \once doit régler ça ? ha oui on dirait que ça marche...

si je veux mettre un markup rouge et un vert sur la mm note comment je 
fais ?... ça devient coton, non ?

Pour l'instant histoire de pas tout retaper à chaque fois j'ai mis dans mon 
init.ly :
cred= { \once \override TextScript #'color = #red }
cgreen= { \once \override TextScript #'color = #green }
avec un c comme colour pour éviter les conflits de mots clés (je me suis fait 
avoir une fois, j'ai compris :-))

mais il faut que dans la partition j'écrive :
	\cred 	do4\clo
	\cgreen	do\clo
or j'ai souvent besoin d'avoir 

		do4\clo\pic
où pic est une autre ornementation :
pic = _\markup{ \hspace #0.6 \musicglyph #"plus" }
et il faudrait que clo soit rouge et pic vert.

Vous allez dire que je suis tordu, et que pour quelle raison je veux ça ?... 
C'est simple, j'ai envie de pouvoir noter que tel interprète a joué telle 
ornementation et un autre une différente... Ça a une importance à mes yeux.

-- 
Cordialement, Daniel Cartron
« La dot est un présent fait au futur pour dissimuler l'imparfait. »
Willy

---

From: Daniel Cartron <[email-masked]>
Date: Wed, 10 Sep 2008 17:04:23 +0200

> que je fasse un markup { \musicglyph...}

Et là effectivement ça marche, mais curieusement je dois rajouter un \hspace 
#0.2 sinon c'est plus aligné...

-- 
Cordialement, Daniel Cartron
« Un jeune enfant, sur son pot, s'efforçait.
  Moralité : Le petit poussait »
Alphonse Allais

---

From: John Mandereau <[email-masked]>
Date: Wed, 10 Sep 2008 18:56:37 +0200

> testé à tâton... Mais est-ce bien un hasard ? :-)

La démarche pour trouver le bon objet graphique (ici TextScript) est la
même quelle que soit la retouche que tu veux faire ; à ce propos, y
a-t-il des volontaires pour mettre à jour la traduction du chapitre 4 du
manuel d'initation de la version 2.11, qui explique justement cette
démarche ?  Je peux envoyer les fichiers source à traduire par courriel
pour faciliter le travail.

> officielle :-) (rhôôô le vilain qui crache dans la soupe :-)

Écrire un tuto supplémentaire est une perte d'énergie, il est bien plus
rentable et efficace d'améliorer la doc officielle, par exemple en
mettant à jour les traductions, et en signalant les passages qui restent
obscurs même traduits en français.  Tu veux que je t'envoie les fichiers
pour mettre à jour la traduction du chapitre 4, ou tu préfères le
chapitre 1 du manuel de notation ? ;-)

> que je fasse un markup { \musicglyph...}

Pourquoi ne pas chercher tout simplement quel est le nom de grob (objet
graphique) d'un trille ?  Dans la section Articulations du manuel de
notation, il y a un lien vers la référence des propriétés internes (ou
référence du programme) pointant directement vers la page décrivant
l'objet graphique, je te laisse chercher.

> fais ?... ça devient coton, non ?

Peut-être \tweak peut régler le problème -- je crois que ce morceau de
doc est traduit dans la version 2.11, et presque tout s'applique aussi à
la version 2.10 ; cherche dans le chapitre "Modification des réglages
prédéfinis".

John

---

From: Daniel Cartron <[email-masked]>
Date: Wed, 10 Sep 2008 21:48:34 +0200

Le mercredi 10 septembre 2008, John Mandereau a écrit :

> même quelle que soit la retouche que tu veux faire

J'arrive plus à retrouver la page où on donne la démarche pour explorer le 
code, ou naviguer ou je ne sais plus quoi... J'ai essayé et très vite je me 
suis mis à tourner en rond, tous les 4 liens je revenais à mon point de 
départ.. Donc le tâtonnement restait ma seule solution avant l'appel à 
l'aide...

> ; à ce propos, y 

MA foi, faut voir... JE veux bien faire un essai mais mes dispos sont assez 
erratiques, je peux faire très rapidement un truc long et rester bloqué des 
semaines sur un truc simple... 

> obscurs même traduits en français.

Pas d'accord, personne n'a la mm approche  d'une question donnée ni la mm 
pédagogie pour expliquer comment résoudre le pb.

> > si je veux appliquer ça à un \trill ça marchera pas, il va sûrement
> > falloir que je fasse un markup { \musicglyph...}
>

Ben oui c'est ce que j'avais fait comme je l'ai déjà dit mais ça marche 
pas...Je peux trouver sur 
http://lilypond.org/doc/v2.10/Documentation/user/lilypond/Articulations#Articulations 
que le prall est un textscript mais si je fais
	\override TextScript #'color = #darkred
 	a\prall
le prall reste noir... Et j'ai jamais trouvé à quel grob appartient un markup 
ou un glissando, je pige pas la démarche... Encore que maintenant que je le 
sais je réussis à trouver pour les markup...

> la version 2.10 ; cherche dans le chapitre "Modification des réglages

Ha oui j'ai survolé ça, ça a l'air trapu mais bon on va retrousser les 
manches :-)

-- 
Cordialement, Daniel Cartron
« La mer est salée parce qu'il y a des morues dedans. Et si elle ne déborde 
pas malgré tous ces fleuves qui s'y jettent, c'est parce que la Providence,
dans sa sagesse, y a placé aussi des éponges. »
Alphonse Allais.

---

From: John Mandereau <[email-masked]>
Date: Mon, 15 Sep 2008 19:16:37 +0200

> départ.. Donc le tâtonnement restait ma seule solution avant l'appel à 

Cette démarche est bien expliquée dans la nouvelle version du chapitre 4
du manuel d'initiation (pour LilyPond 2.11), mais elle n'est pas encore
traduite...

> semaines sur un truc simple... 

Aucun traducteur de LilyPond n'a jamais fait des traductions parfaites
du premier coup, c'est pour ça que les traductions sont relues et
améliorées.  Pour commencer, je te propose de faire parmi les tâches
suivantes (tu peux ne faire qu'une seule de ces tâches ou les deux,
c'est comme tu veux):

- la relecture du chapitre 3 du manuel d'initiation "Concepts
fondamentaux", traduit par Jean-Charles.  La dernière version compilée
(qui sortira sous peu comme 2.11.58) se trouve à
http://kainhofer.com/~lilypond/Documentation/user/lilypond-learning/Fundamental-concepts.fr.html
Il est plus facile pour nous que tu fasses les petites et moyennes
corrections en éditant directement le fichier source, que tu peux
trouver ici :
http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=blob_plain;f=Documentation/fr/user/fundamental.itely;hb=cc9b11bd087ac5b3e469a88332e6b25bd272ab72
Pour les remarques générales, il vaut mieux les faire à part dans un
courriel.

- la mise à jour de ce même chapitre (car la version en anglais a déjà
changé depuis la traduction il y a 4 semaines).  La relecture de la
version périmée ci-dessus ne sera pas perdue à cause de grosses
modifications à faire pour la mise à jour, car les changements concernés
sont essentiellement des entrées d'index et des petits détails.

Le fichier original en anglais est là (pour vérifier la bonne
traduction):
http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=blob_plain;f=Documentation/user/fundamental.itely;h=b0a7da2510addb4d4b68c943ac9abab6073b6e37;hb=0380ecf564c664ec8979142a95c918ce09f3ab6a

Et en pièce jointe un diff qui montre les changements dans le fichier en
anglais depuis que Jean-Charles l'a traduit ; ça permet de repérer ce
qu'il faut mettre à jour beaucoup plus facilement que si l'on ne dispose
que du fichier complet en anglais.

Pour ces deux tâches, tu pourras recourir à

- des guides de traduction : http://traduc.org/ rubrique "Les outils du
traducteur"; en particulier, parmi les "Guides de traduction", je
recommande vivement la lecture de l'article de Muriel Shan Sei Fan et du
Guide stylistique français d'adaptation des produits Sun ; par contre,
tout ce qui ce rapporte aux formats SGML, HTML, XML et DocBook ne
concerne pas la traduction de la doc de LilyPond.

- du répertoire de traduction des termes musicaux :
http://lilypondwiki.tuxfamily.org/index.php?title=Fr:glossaire

- si tu veux un peux mieux comprendre ce qu'il faut traduire dans la
source au format Texinfo, des instructions de traduction de la doc de
LilyPond se trouvent à
http://git.sv.gnu.org/gitweb/?p=lilypond.git;a=blob_plain;f=Documentation%2FTRANSLATION;hb=lilypond%2Ftranslation 
tu peux te contenter de lire le paragraphe TRANSLATION DETAILED
INSTRUCTIONS

Tu n'es pas vraiment obligé de lire tout ça, mais si tu le fais tu
pourras repérer beaucoup plus d'erreurs et améliorer significativement
la qualité de la traduction.

> pédagogie pour expliquer comment résoudre le pb.

Justement, tout le monde peut contribuer à améliorer la documentation.
Je maintiens qu'il essentiel d'intégrer le maximum de documentation et
de traductions dans le projet officiel, afin que le premier venu trouve
facilement ces informations.

> que le prall est un textscript

Non, un \prall n'est pas un TextScript (avec les majuscules SVP), c'est
un Script ; c'est pourtant clair dans cette page de documentation, non ?
Le seul lien dans la section "Voir aussi" pointe vers Script, c'est une
perche bien tendue.

> ou un glissando, je pige pas la démarche...

Voir aussi -> Référence du programme
                        des propriétés internes
(nous utilisons la seconde traduction dans les mises à jour récentes,
mais ce n'est pas forcément la meilleure formulation).

Il manque ce genre de liens dans certaines, c'est un signe que nous
avons vraiment besoin d'aide pour traduire ;-)

John
diff --git a/Documentation/user/fundamental.itely b/Documentation/user/fundamental.itely
index 543f6f9..b0a7da2 100644
--- a/Documentation/user/fundamental.itely
+++ b/Documentation/user/fundamental.itely
@@ -65,7 +65,9 @@ There are many variations of this basic pattern, but this
 example serves as a useful starting place.
 
 @funindex \book
+@funindex book
 @funindex \score
+@funindex score
 @cindex book
 @cindex score
 
@@ -103,6 +105,7 @@ LilyPond will interpret the file as though the music expression
 was wrapped up inside the commands shown above.
 
 @cindex implicit contexts
+@cindex contexts, implicit
 
 @strong{A word of warning!}  Many of the examples in the LilyPond
 documentation will omit the @code{\new Staff} and @code{\new Voice}
@@ -149,8 +152,11 @@ things, such as
 @end example
 
 @funindex \header
+@funindex header
 @funindex \layout
+@funindex layout
 @funindex \midi
+@funindex midi
 @cindex header
 @cindex layout
 @cindex midi
@@ -173,6 +179,10 @@ Notation Reference -- @ruser{Score layout}, and
 @ruser{Creating MIDI files}.
 
 @cindex scores, multiple
+@cindex book block, implicit
+@cindex implicit book block
+@funindex \book
+@funindex book
 
 You may code multiple @code{\score} blocks.  Each will be
 treated as a separate score, but they will be all combined into
@@ -192,6 +202,8 @@ your entire input code in a @code{\book} block implicitly.
 Every @code{\score} block is a separate chunk of music within a
 @code{\book} block.
 
+@cindex layout block, effect of location
+
 Every @code{\layout} block affects the @code{\score} or
 @code{\book} block in which it appears -- i.e., a @code{\layout}
 block inside a @code{\score} block affects only that @code{\score}
@@ -240,9 +252,12 @@ For a complete definition of the input format, see
 @subsection Score is a (single) compound musical expression
 
 @funindex \score
+@funindex score
 @cindex score
-@cindex Compound music expression
-@cindex Music expression, compound
+@cindex contents of a score block
+@cindex score block, contents of
+@cindex compound music expression
+@cindex music expression, compound
 
 We saw the general organization of LilyPond input files in the
 previous section, @ref{Introduction to the LilyPond file structure}.
@@ -286,7 +301,7 @@ it.  We @emph{do} need a singer and a piano, though.
   <<
     \new Staff = "singer" <<
-    \new PianoStaff = piano <<
+    \new PianoStaff = "piano" <<
   \layout @{ @}
@@ -328,7 +343,7 @@ staff: it contains an upper staff (right hand) and a lower staff
 (left hand).
 
 At this stage, we could start filling in notes.  Inside the curly
-braces next to @code{\new Voice = vocal}, we could start writing
+braces next to @code{\new Voice = "vocal"}, we could start writing
 
 @example
 \relative c'' @{
@@ -388,6 +403,7 @@ Notation Reference: @ruser{Structure of a score}.
 @subsection Nesting music expressions
 
 @cindex staves, temporary
+@cindex temporary staves
 @cindex ossias
 
 It is not essential to declare all staves at the beginning; they may
@@ -424,7 +440,7 @@ The ossia section may be placed above the staff
 as follows:
 
 @lilypond[verbatim,quote,ragged-right]
-\new Staff ="main" {
+\new Staff = "main" {
   \relative g' {
     r4 g8 g c4 c8 d |
     e4 r8
@@ -458,6 +474,8 @@ and @ruser{Ossia staves}.
 @subsection On the un-nestedness of brackets and ties
 
 @cindex brackets, nesting
+@cindex bracket types
+@cindex brackets, enclosing vs. marking
 
 You have already met a number of different types of bracket in
 writing the input file to LilyPond.  These obey different rules
@@ -488,20 +506,17 @@ between or across notes: ties (marked by a tilde, @code{~}),
 tuplets written as @code{\times x/y @{..@}}, and grace notes
 written as @code{\grace@{..@}}.
 
-Outside LilyPond, the conventional use of brackets requires
-the different types to be properly nested, like this,
-@code{<< [ @{ ( .. ) @} ] >>}, with the closing brackets being
-encountered in exactly the opposite order to the opening
-brackets.  This @strong{is} a requirement for the three types of
-bracket described by the word @q{Encloses} in the table above --
-they must nest properly.
-However, the remaining brackets, described with the word
-@q{Marks} in the table above together with ties and tuplets,
-do @strong{not} have to nest
-properly with any of the brackets.  In fact, these are not
-brackets in the sense that
-they enclose something -- they are simply markers to indicate
-where something starts and ends.
+Outside LilyPond, the conventional use of brackets requires the
+different types to be properly nested, like this, @code{<< [ @{ ( .. )
+@} ] >>}, with the closing brackets being encountered in exactly the
+opposite order to the opening brackets.  This @strong{is} a
+requirement for the three types of bracket described by the word
+@q{Encloses} in the table above -- they must nest properly.  However,
+the remaining brackets, described with the word @q{Marks} in the table
+above together with ties and tuplets, do @strong{not} have to nest
+properly with any of the brackets.  In fact, these are not brackets in
+the sense that they enclose something -- they are simply markers to
+indicate where something starts and ends.
 
 So, for example, a phrasing slur can start before a manually
 inserted beam and end before the end of the beam -- not very
@@ -549,26 +564,29 @@ of all LilyPond's concepts.
 @cindex polyphony
 @cindex layers
 @cindex multiple voices
+@cindex voices, multiple
 @cindex Voice context
 @cindex context, Voice
 @cindex simultaneous music
+@cindex music, simultaneous
 @cindex concurrent music
+@cindex music, concurrent
+@cindex voices vs. chords
+@cindex chords vs. voices
 
 The lowest, most fundamental or innermost layers in a LilyPond
 score are called @q{Voice contexts} or just @q{Voices} for short.
 Voices are sometimes called @q{layers} in other notation
 packages.
 
-In fact, a Voice layer or context is the only one which can
-contain music.  If a Voice context is not explicitly declared
-one is created automatically, as we saw at the beginning of
-this chapter.  Some instruments such as an
-Oboe can play only one note at a time.  Music written for
-such instruments is monophonic and requires just a single
-voice.  Instruments which can play more than one note at a
-time like the piano will often require multiple voices to
-encode the different concurrent notes and rhythms they are
-capable of playing.
+In fact, a Voice layer or context is the only one which can contain
+music.  If a Voice context is not explicitly declared one is created
+automatically, as we saw at the beginning of this chapter.  Some
+instruments such as an Oboe can play only one note at a time.  Music
+written for such instruments is monophonic and requires just a single
+voice.  Instruments which can play more than one note at a time like
+the piano will often require multiple voices to encode the different
+concurrent notes and rhythms they are capable of playing.
 
 A single voice can contain many notes in a chord, of course,
 so when exactly are multiple voices needed?  Look first at
@@ -649,6 +667,11 @@ separately, like this:
 @end lilypond

+@cindex voices, naming
+@cindex voices crossing brackets
+@cindex slurs crossing brackets
+@cindex ties crossing brackest
+
 This example has just two voices, but the same construct may be
 used to encode three or more voices by adding more back-slash
 separators.
@@ -730,6 +753,9 @@ user.
 See @ref{Visibility and color of objects} and
 @ref{Using variables for tweaks}.
 
+@cindex polyphony and relative note entry
+@cindex relative note entry and polyphony
+
 Polyphony does not change the relationship of notes within a
 @code{\relative @{ @}} block.  Each note is still calculated
 relative to the note immediately preceding it, or to the first
@@ -760,15 +786,14 @@ command at the start of each voice:
 \relative c' @{ noteE ... @}
 @end example
 
-Let us finally analyze the voices in a more complex piece of
-music.  Here are
-the notes from the first two bars of the second of Chopin's
-Deux Nocturnes, Op 32.  This example will be used at later
-stages in this and the next chapter to illustrate several
-techniques for producing notation, so please ignore for now
-anything in the underlying code which looks mysterious and
-concentrate just on the music and the voices -- the
-complications will all be explained in later sections.
+Let us finally analyze the voices in a more complex piece of music.
+Here are the notes from the first two bars of the second of Chopin's
+Deux Nocturnes, Op 32.  This example will be used at later stages in
+this and the next chapter to illustrate several techniques for
+producing notation, so please ignore for now anything in the
+underlying code which looks mysterious and concentrate just on the
+music and the voices -- the complications will all be explained in
+later sections.
 
 @c The following should appear as music without code
 @lilypond[quote,ragged-right]
@@ -792,12 +817,11 @@ complications will all be explained in later sections.
 }
 @end lilypond
 
-The direction of the stems is often used to indicate the
-continuity of two simultaneous melodic lines.  Here the
-stems of the highest notes are all pointing up and the
-stems of the lower notes are all pointing down.
-This is the first indication that more than one voice
-is required.
+The direction of the stems is often used to indicate the continuity of
+two simultaneous melodic lines.  Here the stems of the highest notes
+are all pointing up and the stems of the lower notes are all pointing
+down.  This is the first indication that more than one voice is
+required.
 
 But the real need for multiple voices arises when notes
 which start at the same time have different durations.
@@ -859,6 +883,8 @@ enter the music of the first bar in three voices:
 @end lilypond
 
 @cindex stem down
+@cindex voices and stem directions
+@cindex stem directions and voices
 @cindex stem up
 
 The stem directions are automatically assigned with the
@@ -907,12 +933,17 @@ Notation Reference: @ruser{Multiple voices}.
 @subsection Explicitly instantiating voices
 
 @funindex \voiceOne
+@funindex voiceOne
 @funindex \voiceTwo
+@funindex voiceTwo
 @funindex \voiceThree
+@funindex voiceThree
 @funindex \voiceFour
+@funindex voiceFour
 @funindex \oneVoice
+@funindex oneVoice
 @funindex \new Voice
-@cindex Voice contexts, creating
+@cindex voice contexts, creating
 
 Voice contexts can also be created manually
 inside a @code{<< >>} block to create polyphonic music, using
@@ -952,6 +983,9 @@ Both of the above would produce
 @end lilypond
 
+@cindex voices, reverting to single
+@cindex reverting to a single voice
+
 The @code{\voiceXXX} commands set the direction of stems, slurs,
 ties, articulations, text annotations, augmentation dots of dotted
 notes, and fingerings.  @code{\voiceOne} and @code{\voiceThree}
@@ -1029,7 +1063,7 @@ permitting a phrasing slur to be drawn over them.
 
 @cindex nesting music expressions
 @cindex nesting simultaneous constructs
-
+@cindex nesting voices
 @cindex voices, temporary
 @cindex voices, nesting
 
@@ -1091,11 +1125,17 @@ as here:
 @subsubheading Note columns
 
 @cindex note column
+@cindex note collisions
+@cindex collisions, notes
 @cindex shift commands
 @funindex \shiftOff
+@funindex shiftOff
 @funindex \shiftOn
+@funindex shiftOn
 @funindex \shiftOnn
+@funindex shiftOnn
 @funindex \shiftOnnn
+@funindex shiftOnnn
 
 Closely spaced notes in a chord, or notes occurring at the same
 time in different voices, are arranged in two, occasionally more,
@@ -1114,7 +1154,7 @@ chords of the voice should be shifted if a collision
 would otherwise occur. By default, the outer voices (normally
 voices one and two) have @code{\shiftOff} specified, while the
 inner voices (three and four) have @code{\shiftOn} specified.
-When a shift is applied, Voices one and three are shifted to
+When a shift is applied, voices one and three are shifted to
 the right and voices two and four to the left.
 
 @code{\shiftOnn} and @code{\shiftOnnn} define further shift
@@ -1141,6 +1181,8 @@ expressions -- notes and lyrics.
 
 @funindex \new Lyrics
 @funindex \lyricsto
+@funindex lyricsto
+@funindex Lyrics
 @cindex Lyrics context, creating
 @cindex lyrics, linking to voice
 
@@ -1173,6 +1215,7 @@ explicitly.
 @cindex lyrics and beaming
 @cindex beaming and lyrics
 @funindex \autoBeamOff
+@funindex autoBeamOff
 
 The automatic beaming which LilyPond uses by default works well
 for instrumental music, but not so well for music with lyrics,
@@ -1181,8 +1224,11 @@ melismata in the lyrics.  In the example above we use the command
 @code{\autoBeamOff} to turn off the automatic beaming.
 
 @funindex \new ChoirStaff
+@funindex ChoirStaff
 @funindex \lyricmode
+@funindex lyricmode
 @cindex vocal score structure
+@cindex choir staff
 
 Let us reuse the earlier example from Judas Maccabæus to
 illustrate this more flexible technique.  We first recast
@@ -1227,13 +1273,16 @@ SopTwoLyrics = \lyricmode {
 }
 @end lilypond
 
-This is the basic structure of all vocal scores.  More staves may
-be added as required, more voices may be added to the staves,
-more verses may be added to the lyrics,
-and the variables containing the music can easily be placed
-in separate files should they become too long.
+This is the basic structure of all vocal scores.  More staves may be
+added as required, more voices may be added to the staves, more verses
+may be added to the lyrics, and the variables containing the music can
+easily be placed in separate files should they become too long.
 
 @cindex hymn structure
+@cindex SATB structure
+@cindex vocal scores with multiple verses
+@cindex multiple vocal verses
+@cindex verses, multiple vocal
 
 Here is an example of the first line of a hymn with four
 verses, set for SATB.  In this case the words for all four
@@ -1403,6 +1452,7 @@ refrainwordsB = \lyricmode {
 
 @cindex book, example of using
 @funindex \book
+@funindex book
 
 However, although this is an interesting and useful exercise to
 help you to understand how sequential and simultaneous blocks work,
@@ -1514,15 +1564,13 @@ For example, the effect of an accidental is limited
 to a single staff, while a bar line must be synchronized across
 the entire score.
 
-Within LilyPond, these rules and bits of information are grouped
-in @emph{Contexts}.  We have already met the
-@code{Voice} context.
-Others are the @code{Staff} and @code{Score} contexts.
-Contexts are hierarchical to reflect the hierarchical nature of
-a musical score.
-For example: a @code{Staff} context can contain many
-@code{Voice} contexts, and a @code{Score} context can
-contain many @code{Staff} contexts.
+Within LilyPond, these rules and bits of information are grouped in
+@emph{Contexts}.  We have already met the @code{Voice} context.
+Others are the @code{Staff} and @code{Score} contexts.  Contexts are
+hierarchical to reflect the hierarchical nature of a musical score.
+For example: a @code{Staff} context can contain many @code{Voice}
+contexts, and a @code{Score} context can contain many @code{Staff}
+contexts.
 
 @quotation
 @sourceimage{context-example,5cm,,}
@@ -1570,21 +1618,20 @@ Notation Reference: @ruser{Contexts explained}.
 @subsection Creating contexts
 
 @funindex \new
+@funindex new
 @cindex new contexts
 @cindex creating contexts
 @cindex contexts, creating
 
-There can be only one top level context: the
-@code{Score}
-context.  This is created with the @code{\score} command,
-or, in simple scores, it is created automatically.
+There can be only one top level context: the @code{Score} context.
+This is created with the @code{\score} command, or, in simple scores,
+it is created automatically.
 
-For scores with only one voice and one staff, the
-@code{Voice} and @code{Staff} contexts may be left to be
-created automatically, but for more complex scores it is
-necessary to create them by hand.
-The simplest command that does this is @code{\new}.
-It is prepended to a music expression, for example
+For scores with only one voice and one staff, the @code{Voice} and
+@code{Staff} contexts may be left to be created automatically, but for
+more complex scores it is necessary to create them by hand.  The
+simplest command that does this is @code{\new}.  It is prepended to a
+music expression, for example
 
 @example
 \new @var{type} @var{music-expression}
@@ -1665,8 +1712,11 @@ context to distinguish it from other contexts of the same type,
 
 Note the distinction between the name of the context type,
 @code{Staff}, @code{Voice}, etc, and the identifying name of a
-particular instance of that type, which can be any sequence of letters
-and digits invented by the user.  The identifying name is used to
+particular instance of that type, which can be any sequence of letters 
+invented by the user.  Digits and spaces can also be used in the 
+identifying name, but then it has to be placed in quotes,
+i.e. @code{\new Staff = "MyStaff 1" @var{music-expression}}.
+The identifying name is used to
 refer back to that particular instance of a context.  We saw this in
 use in the section on lyrics, see @ref{Voices and vocals}.
 
@@ -1688,10 +1738,10 @@ Fortunately, for most scores it is not necessary to know about
 more than a few, and for simple scores you do not need to know
 about any.
 
-Engravers live and operate in Contexts.
-Engravers such as the @code{Metronome_mark_engraver}, whose
-action and output apply to the score as a whole, operate in
-the highest level context -- the @code{Score} context.
+Engravers live and operate in Contexts.  Engravers such as the
+@code{Metronome_mark_engraver}, whose action and output apply to the
+score as a whole, operate in the highest level context -- the
+@code{Score} context.
 
 The @code{Clef_engraver} and @code{Key_engraver} are to be
 found in every @code{Staff} Context, as different staves may require
@@ -1757,7 +1807,7 @@ by modifying the action of Engravers.
 
 @seealso
 
-Internals reference: @rinternals{Engravers and performers}.
+Internals reference: @rinternals{Engravers and Performers}.

 @node Modifying context properties
@@ -1767,7 +1817,9 @@ Internals reference: @rinternals{Engravers and performers}.
 @cindex context properties, modifying
 @cindex modifying context properties
 @funindex \set
+@funindex set
 @funindex \unset
+@funindex unset
 
 Contexts are responsible for holding the values of a number of
 context @emph{properties}.  Many of them can be changed to
@@ -1831,6 +1883,9 @@ value before the @code{t} or @code{f}, and before @emph{value}
 in the @code{\set} statement.  So when a Boolean is being
 entered you need to code two hash signs, e.g., @code{##t}.
 
+@cindex properties operating in contexts
+@cindex setting properties within contexts
+
 Before we can set any of these properties we need to know
 in which context they operate.  Sometimes this is obvious,
 but occasionally it can be tricky.  If the wrong context
@@ -1862,7 +1917,7 @@ further action took place.  This is not an error, and no error
 message is logged in the log file.
 
 Similarly, if the property name is mis-spelt no error message is
-produced, and clearly the expected action cannot be performed.  If
+produced, and clearly the expected action cannot be performed.  In
 fact, you can set any (fictitious) @q{property} using any name you
 like in any context that exists by using the @code{\set} command.  But
 if the name is not known to LilyPond it will not cause any action to
@@ -1956,6 +2011,7 @@ general way by using the very powerful @code{markup} command.
 @unnumberedsubsubsec Setting context properties with @code{\with}
 
 @funindex \with
+@funindex with
 @cindex context properties, setting with \with
 
 Context properties may also be set at the time the context is
@@ -1990,6 +2046,8 @@ like this:
 Properties set in this way may still be changed dynamically using
 @code{\set} and returned to their default value with @code{\unset}.
 
+@cindex fontSize, default and setting
+
 The @code{fontSize} property is treated differently.  If this is
 set in a @code{\with} clause it effectively resets the default
 value of the font size.  If it is later changed with @code{\set},
@@ -1998,6 +2056,10 @@ this new default value may be restored with the
 
 @unnumberedsubsubsec Setting context properties with @code{\context}
 
+@cindex context properties, setting with \context
+@funindex \context
+@funindex context
+
 The values of context properties may be set in @emph{all} contexts
 of a particular type, such as all @code{Staff} contexts, with a single
 command.  The context type is identified by using its
@@ -2047,10 +2109,14 @@ Internals Reference:
 @subsection Adding and removing engravers
 
 @cindex engravers, adding
+@cindex adding engravers
 @cindex engravers, removing
+@cindex removing engravers
 
 @funindex \consists
+@funindex consists
 @funindex \remove
+@funindex remove
 
 We have seen that contexts each contain several engravers, each
 of which is responsible for producing a particular part of the
@@ -2142,6 +2208,7 @@ the notes in all the voices on that staff:
 @subsubheading Changing all contexts of the same type
 
 @funindex \layout
+@funindex layout
 
 The examples above show how to remove or add engravers to
 individual contexts.  It is also possible to remove or add
@@ -2208,6 +2275,7 @@ But what if you want something that isn't covered there?  Read on.
 @subsection Soprano and cello
 
 @cindex template, modifying
+@cindex modifying templates
 
 Start off with the template that seems closest to what you want to end
 up with.  Let's say that you want to write something for soprano and
@@ -2483,17 +2551,16 @@ accompaniment which is not derived automatically from the vocal parts.
 The variables holding the music and words for the vocal parts are
 fine, but we shall need to add variables for the piano reduction.
 
-The order in which the contexts appear in the ChoirStaff of
-the template do not correspond with the order in the vocal
-score shown above.  We need to rearrange them so there are
-four staves with the words written directly underneath the
-notes for each part.
-All the voices should be @code{\voiceOne}, which is
-the default, so the @code{\voiceXXX} commands should be removed.
-We also need to specify the tenor clef for the tenors.
-The way in which lyrics are specified in the template has not yet
-been encountered so we need to use the method with which we are
-familiar.  We should also add the names of each staff.
+The order in which the contexts appear in the ChoirStaff of the
+template do not correspond with the order in the vocal score shown
+above.  We need to rearrange them so there are four staves with the
+words written directly underneath the notes for each part.  All the
+voices should be @code{\voiceOne}, which is the default, so the
+@code{\voiceXXX} commands should be removed.  We also need to specify
+the tenor clef for the tenors.  The way in which lyrics are specified
+in the template has not yet been encountered so we need to use the
+method with which we are familiar.  We should also add the names of
+each staff.
 
 Doing this gives for our ChoirStaff:
 
@@ -2653,6 +2720,9 @@ lower = \relative c, {
 @subsection Building a score from scratch
 
 @cindex template, writing your own
+@cindex example of writing a score
+@cindex writing a score, example
+@cindex score, example of writing
 
 After gaining some facility with writing LilyPond code, you
 may find that it is easier to build a score from scratch

---

From: Daniel Cartron <[email-masked]>
Date: Mon, 15 Sep 2008 20:07:50 +0200

Le lundi 15 septembre 2008, John Mandereau a écrit :

> Pour commencer, je te propose de faire parmi les tâches 

ma foi je dirais que je veux bien faire ce que tu jugeras le plus important...

> recommande vivement la lecture de l'article de Muriel Shan Sei Fan

Tiens, ça faisait longtemps que je n'avais pas eu de ses nouvelles :-) Ça 
m'amuse de la retrouver via lilypond...
En tout cas sa formule en 3 points me conforte dans mon idée de la traduction.

> et du 
> Guide stylistique français d'adaptation des produits Sun

imprimé, ainsi que le glossaire, je lirai ça tranquillement. 

Ceci dit moi un livre que j'ai adoré, et qui a une fois de plus disparu de ma 
bibliothèque, comme quoi les copains aussi aiment ce livre, c'est "la 
styistique comparée du français et de l'anglais". Ben je vais le racheter. 
J'ai lu ce livre deux fois de suite sans respirer le jour où je l'ai acheté, 
et relu à intervalles réguliers depuis tant que je ne me le fais pas 
piquer...

> > http://lilypond.org/doc/v2.10/Documentation/user/lilypond/Articulations#A
> >rticulations que le prall est un textscript
>
> Non, un \prall n'est pas un TextScript (avec les majuscules SVP), 

ben j'ai le droit à la fainéantise parfois, non ? Je fais un effort pour ne 
pas faire de fautes, mais pour les majuscules je me laisse parfois aller...

> c'est 

Vi je suis allé un peu vite pour écrire, mais n'empêche, toute la doc me 
semble avoir une tournure d'esprit un peu bizarre, du genre on explique pas 
A, on explique "non-B"... Du genre sur cette page, qui parle des 
articulations, on ne dit nulle part clairement que ce sont des objets script, 
mais que le dièse est un TextScript (là j'ai fait un copier coller de ton 
texte sinon je repartais en minuscules ;-) ) et pas les autres. Bon ok il y a 
le lien en bas, mais ça coûterait pas grand chose de dire ça en clair :
Type d'objet : Script. 

Au risque de me faire mal voir je dirais que c'est une doc écrite par des 
anglo-saxons :-)) 

> mais ce n'est pas forcément la meilleure formulation).

J'ai lu la version originale et j'ai pas vraiment tout compris...

> avons vraiment besoin d'aide pour traduire ;-)

:-) Message reçu.

-- 
Cordialement, Daniel Cartron
« Le seul tourment qu'on ne puisse pas oublier en se livrant à la boisson, 
c'est l'envie de pisser. »
François Cavanna - Le saviez-vous ?

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 16 Sep 2008 17:30:27 +0200

Le lundi 15 septembre 2008, John Mandereau a écrit :
> je recommande vivement la lecture du Guide stylistique français d'adaptation 
des produits Sun

dans lequel je relève une faute page 29 : il est fait mention d'un espace 
alors qu'en typographie ce terme est féminin :-)

Sinon document intéressant.

-- 
Cordialement, Daniel Cartron
« Les Français croient qu'ils parlent français parce qu'ils ne parlent aucune
langue étrangère. »
Tristan Bernard