]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/ca/learning/tweaks.itely
Doc-ca: Catalan translations and corrections
[lilypond.git] / Documentation / ca / learning / tweaks.itely
1 @C -*- coding: utf-8; mode: texinfo; documentlanguage: ca -*-
2
3 @ignore
4     Translation of GIT committish: 5ae5c88bdb1a478263ed874cb823ec58dafc93f9
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  For details, see the Contributors'
8     Guide, node Updating translation committishes..
9 @end ignore
10
11 @c \version "2.19.22"
12
13 @node Ajustament de la sortida
14 @chapter Ajustament de la sortida
15 @translationof Tweaking output
16
17 Aquest capítol tracta de com modificar la sortida.  El LilyPond és
18 extremadament configurable; pràcticament tots els fragments de la
19 sortida es poden canviar.
20
21
22 @menu
23 * Elements d'ajustament::
24 * Manual de referència de funcionament intern::
25 * Aparença dels objectes::
26 * Col·locació dels objectes::
27 * Espaiat vertical::
28 * Col·lisions d'objectes::
29 * Ajustaments addicionals::
30 @end menu
31
32 @node Elements d'ajustament
33 @sectionElements d'ajustament
34 @translationof Tweaking basics
35
36 @menu
37 * Introducció a l'ajustament::
38 * Objectes i interfícies::
39 * Convencions de noms d'objectes i propietats::
40 * Mètodes d'ajustament::
41 @end menu
42
43 @node Introducció a l'ajustament
44 @subsection Introducció a l'ajustament
45 @translationof Introduction to tweaks
46
47 L'@q{ajustament} és un terme del LilyPond que s'usa pels diversos
48 mètodes que l'usuari té a la seva disposició per modificar el
49 procés d'interpretació del fitxer d'entrada i canviar l'aparença
50 de la sortida impresa.  Alguns ajustos són mols fàcils d'usar;
51 d'altres són complexos.  Però en conjunt, els mètodes d'ajustament
52 disponibles possibiliten aconseguir gairebé qualsevol aparença
53 que desitgem a la música impresa.
54
55 En aquesta secció estudiarem els conceptes bàsics que calen per
56 entendre l'ajustament.  Més tard donarem un ampli ventall d'ordres
57 llistes per usar, que podreu simplement copiar per obtenir el
58 mateix efecte a les vostres partitures, i al mateix temps
59 mostrarem la forma de construir aquestes ordres perquè pugueu
60 aprendre com desenvolupar els vostres propis ajustaments.
61
62 Abans de començar aquest capítol, potser vulgueu donar una ullada
63 a la secció @ref{Contextos i gravadors}, atès que els contextos,
64 els gravadors i les propietats que es contenen en aquests elements
65 són fonamentals per comprendre i construir els ajustaments.
66
67 @node Objectes i interfícies
68 @subsection Objectes i interfícies
69 @translationof Objects and interfaces
70
71 @cindex objecte
72 @cindex grob (objecte gràfic)
73 @cindex objecte d'extensió
74 @cindex interfície
75 @cindex propietats d'objectes
76 @cindex objecte, propietats de
77 @cindex disposició, objecte de
78 @cindex objecte de disposició
79
80 L'ajustament consisteix en modificar el funcionament i estructure
81 interna del programa Lilypond, per la qual cosa en primer lloc
82 introduirem alguns termes que es fan servir per descriure aquestes
83 operacions i estructures internes.
84
85 El terme @q{Objecte} és un terme genèric que s'usa per referir-se
86 A les múltiples estructures que el LilyPond construeix durant el
87 processat d'un fitxer d'entrada. D'aquesta manera, quan es troba
88 una instrucció com ara @code{\new Staff}, es construeix un objecte
89 nou de tipus @code{Staff}.  Aleshores, aquest objecte @code{Staff}
90 conté totes les propietats associades amb aquest pentagrama en
91 particular, per exemple, el seu nom i armadura, a més d'altres
92 detalls dels gravadors que s'han assignat perquè operin dins del
93 context del pentagrama.  De forma semblant, hi ha objectes que
94 emmagatzemen les propietats de tota la resta de contextos, com ara
95 objectes de @code{Voice}, objectes de @code{Score}, objectes de
96 @code{Lyrics}, així com objectes que representen tots els elements
97 de notació com ara línies divisòries, caps de les notes,
98 lligadures, indicacions dinàmiques, etc. Cada objecte té el seu
99 propi conjunt de valors de propietat.
100
101 Certs tipus d'objectes reben noms especials. Els objectes que
102 representen elements de notació sobre la sortida impresa com ara
103 caps de notes, pliques, lligadures d'expressió i d'unió,
104 digitacions, claus, etc., reben el nom de q{Objectes de
105 presentació}, sovint coneguts com @q{Objectes gràfics}, o
106 abreujadament @q{Grobs}.  Encara són objectes, en el sentit genèric
107 que hem mencionat, i també tots ells tenen propietats associades,
108 com la seva posició, mida, color, etc.
109
110 Certs objectes de presentació són encara més especialitzats,  Les
111 lligadures de fraseig, els reguladores, les indicacions d'octava
112 alta i baixa, i mols altres objectes gràfics no estan situats en
113 un sol lloc: tenen un punt d'inici, un punt final, i un potser
114 altres propietats relacionades amb la seva forma. Els objectes amb
115 una forma estesa com aquests, reben el nom d'«objectes d'extensió»
116 o @q{Spanners}.
117
118 Els «spanners» no es poden ajustar després d'haver-se creat. Això
119 inclou tant a @code{StaffSymbol} com a @code{LedgerLineSpanner},
120 que continuen al llarg de tota la partitura (excepte si si se'ls
121 dóna fi amb l'ordre @code{\stopStaff} i es tornen a crear amb
122 l'ordre @code{\startStaff}.
123
124 Encara més, hi ha objectes gràfics @q{abstractes} que no
125 imprimeixen res per sí mateixos, sinó que en realitat el que fan
126 és que recopilen, posicionen i gestionen a altres objectes
127 gràfics. El exemples habituals són @code{DynamicLineSpanner},
128 @code{BreakAlignment}, @code{NoteColumn},
129 @code{VerticalAxisGroup}, @code{NonMusicalPaperColumn} i
130 semblants. Més tard veurem com s'usen alguns d'ells.
131
132 Encara falta explicar què són les @q{Interfícies}.  Molts
133 objectes, tot i que són força diferents, comparteixen
134 funcionalitats que s'han de processar de la mateixa manera.  Per
135 exemple, tots els objectes gràfics tenen un color, una mida, una
136 posició, etc., i totes aquestes propietats es processen de la
137 mateixa forma durant la interpretació del fitxer d'entrada per
138 part del LilyPond.  Per simplificar aquestes operacions internes,
139 aquestes accions i propietats comunes s'agrupen a un objecte
140 anomenat @code{grob-interface}, interfície d'objecte gràfic. Hi ha
141 moltes altres agrupacions de propietats comunes com aquesta, i
142 cadascuna rep un nom que acaba en @code{interface}.  En total hi
143 ha més de 100 interfícies d'aquestes.  Veurem més endavant perquè
144 és interessant i d'utilitat per a l'usuari.
145
146 Aquests són, en definitiva, els termes principals relatius als
147 objectes que utilitzarem a aquest capítol.
148
149 @node Convencions de noms d'objectes i propietats
150 @subsection Convencions de noms d'objectes i propietats
151 @translationof Naming conventions of objects and properties
152
153 @cindex nomenclatura, convencions de, per a objectes
154 @cindex nomenclatura, convencions de, per a propietats
155 @cindex objectes, convencions de nomenclatura
156 @cindex propietats, convencions de nomenclatura
157
158 Ja hem vist certes convencions de nomenclatura d'objectes, a la
159 secció @ref{Contextos i gravadors}.  Aquí, per a una referència
160 més fàcil, presentem una llista dels tipus d'objectes i propietats
161 més comuns, junt amb les convencions segons les quals reben el seu
162 nom, i un parell d'exemples de noms reals.  Hem fet servir una
163 @q{A} majúscula per denotar qualsevol caràcter alfabètic en
164 majúscules, i @q{aaa} per qualsevol nombre de caràcters alfabètics
165 en minúscula.  Altres caràcters es fan servir literalment com estan.
166
167 @multitable @columnfractions .33 .33 .33
168 @headitem Objecte o tipus de propietat
169   @tab Convenció de nomenclatura
170   @tab Exemples
171 @item Contextos
172   @tab Aaaa o AaaaAaaaAaaa
173   @tab Staff, GrandStaff
174 @item Objecte de presentació
175   @tab Aaaa o AaaaAaaaAaaa
176   @tab Slur, NoteHead
177 @item Gravadors
178   @tab Aaaa_aaa_engraver
179   @tab Clef_engraver, Note_heads_engraver
180 @item Interfícies
181   @tab aaa-aaa-interface
182   @tab grob-interface, break-aligned-interface
183 @item Propietats de contextos
184   @tab aaa o aaaAaaaAaaa
185   @tab alignAboveContext, skipBars
186 @item Propietats d'objectes de presentació
187   @tab aaa o aaa-aaa-aaa
188   @tab direction, beam-thickness
189 @end multitable
190
191 Com podrem veure a la brevetat, les propietats dels diferents
192 tipus d'objecte es poden modificar mitjançant diferents ordres;
193 així doncs, és útil poder reconèixer els tipus d'objectes i
194 propietats a partir dels seus noms.
195
196 @seealso
197 Referencia de la notació:
198 @rusernamed{Modifying properties,Modificació de les propietats}
199
200 @node Mètodes d'ajustament
201 @subsection Mètodes d'ajustament
202 @translationof Tweaking methods
203
204 @cindex ajustament, mètodes de
205
206 @strong{L'ordre \override}
207
208 @menu
209 * L'ordre override::
210 * L'ordre revert::
211 * El prefix once::
212 * L'ordre overrideProperty::
213 * L'ordre tweak::
214 @end menu
215
216 @node L'ordre override
217 @unnumberedsubsubsec L'ordre @code{@bs{}override}
218 @translationof The override command
219
220 @cindex override, instrucció
221 @cindex override (sobreescriptura), sintaxi de
222
223 @funindex \override
224 @funindex override
225
226 Ja hem vist les ordres @code{\set} i @code{\with}, que s'usen per
227 canviar les propietats dels @strong{contextos} i per treure i
228 posar @strong{gravadors}, a @ref{Modificar les propietats dels
229 contextos} i @ref{Afegir i eliminar gravadors}.  Ara hem
230 d'examinar algunes altres ordres importants.
231
232 L'ordre que canvia les propietats dels @strong{objectes
233 de presentació} és @code{\override}.  Atès que aquesta ordre ha de
234 modificar propietats internes que es troben a un lloc profund dins
235 del LilyPond, la seva sintaxi no és tan simple com la de la resta
236 de les ordres que hem fet servir fins ara.  Heu de saber
237 exactament quina propietat de quin objecte i a quin context s'ha
238 de modificar, i quin ha de ser el seu nou valor.  Anem a veure com
239 es fa.
240
241 La sintaxi genèrica d'aquesta ordre és:
242
243 @example
244 \override @var{Context}.@var{ObjecteDePresentació}.@var{propietat-de-presentació} =
245 #@var{valor}
246 @end example
247
248 @noindent
249 Això establirà la propietat de nom
250 @var{propietat-de-presentació} de l'objecte de presentació amb el
251 nom @var{ObjecteDePresentació}, que es membre del context
252 @var{Context}, al valor @var{valor}.
253
254 El @var{Context} es pot ometre (i normalment és així) quan el
255 context requerit es troba implicat sense ambigüitat i és un dels
256 contextos del nivell més baix, és a dir: @code{Voice},
257 @code{ChordNames} o @code{Lyrics}, i l'ometrem en molts dels
258 exemples següents.  Més endavant veurem quan cal especificar-lo
259
260 Les últimes seccions tracten de forma exhaustiva les propietats i
261 els seus valors, vegeu @ref{Tipus de propietats}.  Però en aquesta
262 secció usarem sols unes quantes propietats i valors senzills que
263 siguin fàcils d'entendre, per il·lustrar el format i la
264 utilització d'aquestes instruccions.
265
266 Les expressions principals del LilyPond són elements musicals com
267 notes, duracions, i elements marcatge. Les expressions més
268 bàsiques com ara números, cadenes de caràcters i llistes, es
269 processen al @q{mode de l'Scheme}, que s'invoca mitjançant del
270 prefix @samp{#} escrit abans del valor.  Tot i que els valors
271 poden tenir a vegades una representació vàlida al mode de música
272 del Lilypond, aquest manual utilitza sempre @samp{#} per a
273 l'escriptura, per coherència.  Per obtenir més informació sobre el
274 mode de l'Scheme, consulteu
275 @rextendnamed{LilyPond Scheme-Syntax,Sintaxi de l'Scheme del LilyPond}.
276
277 @code{\override} és l'ordre d'ús més comú dins de l'ajustament, i
278 durant la major part de la resta d'aquest capítol presentarem
279 exemples sobre el seu ús.  A continuació hi ha un exemple senzill
280 per canviar el color d'un cap:
281
282 @cindex color, propietat, exemple
283 @cindex NoteHead, exemple de sobreescriptura
284
285 @lilypond[quote,ragged-right,verbatim]
286 \relative {
287   c'4 d
288   \override NoteHead.color = #red
289   e4 f |
290   \override NoteHead.color = #green
291   g4 a b c |
292 }
293 @end lilypond
294
295
296 @node L'ordre revert
297 @unnumberedsubsubsec L'ordre @code{@bs{}revert}
298 @translationof The revert command
299
300 @cindex revert, instrucción
301
302 @funindex \revert
303 @funindex revert
304
305 Un cop sobreescrita, la propietat reté el seu nou valor fins que
306 se sobreescriu de o es troba una ordre @code{\revert}.  L'ordre té
307 la sintaxi següent i causa que el valor de la propietat torni al
308 seu valor predeterminat original; observeu que no és al seu valor
309 previ si s'han fet servir diverses ordres @code{\override}.
310
311 @example
312 \revert @var{Context}.@var{ObjecteDePresentació}.@var{propietat-de-presentació}
313 @end example
314
315 Un cop més, igual que @var{Context} dins de l'ordre
316 @code{\override}, freqüentment no és necessari especificar el
317 @var{Context}. S'ometrà en molts dels exemples següents.  Aquí
318 retornem el color del cap al valor predeterminat per a les últimes
319 dues notes:
320
321 @cindex color, propietat, exemple
322 @cindex NoteHead, exemple de sobreescriptura
323
324 @lilypond[quote,ragged-right,verbatim]
325 \relative {
326   c'4 d
327   \override NoteHead.color = #red
328   e4 f |
329   \override NoteHead.color = #green
330   g4 a
331   \revert NoteHead.color
332   b4 c |
333 }
334 @end lilypond
335
336
337 @node El prefix once
338 @unnumberedsubsubsec El prefix @code{@bs{}once}
339 @translationof The once prefix
340
341 @funindex \once
342 @funindex once
343
344 @code{\override}, @code{\revert}, @code{\set} i @code{\unset} es
345 poden fer precedir per @code{\once}.  Això fa que l'ordre sigui
346 efectiva sols durant el temps musical en curs i abans que la
347 propietat torni a tenir un altre cop el seu valor anterior (que
348 pot ser diferent al seu valor predeterminat i encara s'està
349 aplicant una altra ordre @code{\override} de
350 sobreescriptura). Utilitzant el mateix exemple, podem canviar el
351 color d'una sola nota de la manera següent:
352
353 @cindex color, propietat, exemple
354 @cindex NoteHead, exemple de sobreescriptura
355
356 @lilypond[quote,verbatim]
357 \relative {
358   c'4 d
359   \override NoteHead.color = #red
360   e4 f |
361   \once \override NoteHead.color = #green
362   g4 a
363   \once \revert NoteHead.color
364   b c |
365   \revert NoteHead.color
366   f2 c |
367 }
368 @end lilypond
369
370 El prefix @code{\once} també es pot usar davant de moltes ordres
371 predefinides per limitar el seu efecte a un sol moment musical:
372
373 @lilypond[quote,verbatim]
374 \relative {
375   c'4( d)
376   \once \slurDashed
377   e4( f) |
378   g4( a)
379   \once \hideNotes
380   b( c) |
381 }
382 @end lilypond
383
384 @node L'ordre overrideProperty
385 @unnumberedsubsubsec L'ordre @code{@bs{}overrideProperty}
386 @translationof The overrideProperty command
387
388 @cindex overrideProperty, ordre
389
390 @funindex \overrideProperty
391 @funindex overrideProperty
392
393 Hi ha una altra forma per a l'ordre de sobreescriptura,
394 @code{\overrideProperty}, que ocasionalment és necessària.  La
395 mencionem aquí amb un propòsit d'exhaustivitat, però per veure més
396 detalls consulteu @rextendnamed{Difficult tweaks,Ajustaments difícils}.
397 @c Maybe explain in a later iteration  -td
398
399
400 @node L'ordre tweak
401 @unnumberedsubsubsec L'ordre @code{@bs{}tweak}
402 @translationof The tweak command
403
404 @cindex tweak, ordre
405
406 @funindex \tweak
407 @funindex tweak
408
409 L'última ordre d'ajustament que està disponible és @code{\tweak}.
410 S'ha de fer servir quan diversos objectes s'usen en el mateix
411 moment musical, però sols volem canviar les propietats d'alguns
412 d'ells, per exemple una sola nota dins d'un acord.  L'ús de
413 @code{\override} per a la sobreescriptura afectaria a totes les
414 notes de l'acord, mentre que @code{\tweak} sols afecta a l'element
415 següent del flux d'entrada.
416
417 Vet aquí un exemple.  Suposeu que volem canviar la mida del cap de
418 la nota intermèdia (el Mi) a un acord de Do major.  En primer
419 lloc, vejam el fa faria @code{\once \override}:
420
421 @cindex font-size, propietat, exemple
422 @cindex NoteHead, exemple de sobreescriptura
423
424 @lilypond[quote,ragged-right,verbatim]
425 \relative {
426   <c' e g>4
427   \once \override NoteHead.font-size = #-3
428   <c e g>4
429   <c e g>4
430 }
431 @end lilypond
432
433 Veiem que la sobreescriptura amb override afecta a @emph{totes}
434 els caps de les notes de l'acord.  Això és així perquè totes les
435 notes d'un acord tenen lloc en el mateix @emph{moment musical}, i
436 l'acció de @code{\once} és aplicar la sobreescriptura a tots els
437 objectes de presentació del tipus especificat que tenen lloc en el
438 mateix moment musical que la pròpia ordre de sobreescriptura @code{\override}.
439
440 L'ordre @code{\tweak} pera de una manera diferent.  Actua sobre
441 l'element immediatament següent dins del flux d'entrada.  En la
442 seva forma més senzilla és efectiu sols sobre objectes que es
443 creen directament a partir de l'element següent, en essència els
444 caps i les articulacions.
445
446 Així doncs, tornant al nostre exemple, la mida de la nota
447 intermèdia es canviaria de la forma següent:
448
449 @cindex font-size, propietat, exemple
450 @cindex @code{\tweak}, exemple
451
452 @lilypond[quote,ragged-right,verbatim]
453 \relative {
454   <c' e g>4
455   <c \tweak font-size #-3 e g>4
456 }
457 @end lilypond
458
459 Observeu que la sintaxi de @code{\tweak} no és igual que la de
460 @code{\override}. El context no s'ha d'especificar; de fet,
461 generaria un error fer-lo.  Tant el context com l'objecte de
462 presentació estan implícits per l'element següent del flux
463 d'entrada.  Observeu també que no ha d'haver un signe d'igual.
464 Així que la sintaxi de l'ordre @code{\tweak} en la seva forma
465 senzilla és:
466
467 @example
468 \tweak @var{propietat-de-presentació} #@var{valor}
469 @end example
470
471 Una ordre @code{\tweak} també es pot usar per modificar sols una
472 d'una sèrie d'articulacions, com es mostra aquí:
473
474 @cindex color, propietat, exemple
475 @cindex @code{\tweak}, exemple
476
477 @lilypond[quote,fragment,ragged-right,verbatim]
478 a'4^"Black"
479   -\tweak color #red ^"Red"
480   -\tweak color #green _"Green"
481 @end lilypond
482
483 @noindent
484 Observeu que l'ordre @code{\tweak} ha de venir precedida d'una
485 marca d'articulació perquè la pròpia expressió ajustada ha
486 d'aplicar-se com una articulació.  En el cas de més d'una
487 sobreescriptura de direcció (@code{^} o @code{_}), guanya la
488 sobreescriptura situada més a l'esquerra perquè s'aplica a l'últim
489 lloc.
490
491 @cindex @code{\tweak}, Accidental
492 @cindex @code{\tweak}, specific layout object
493
494 Els objectes com ara pliques i alteracions accidentals es creen
495 més tard, i no directament a partir de l'esdeveniment que ve a
496 continuació.  Encara és possible utilitzar @code{\tweak} sobre
497 aquests objectes creats indirectament mitjançant el nomenat
498 explícit de l'objecte de presentació, sempre i quan el LilyPond
499 pugui rastrejar el seu origen fins l'esdeveniment original:
500
501 @lilypond[quote,fragment,ragged-right,verbatim]
502 <\tweak Accidental.color #red   cis''4
503  \tweak Accidental.color #green es''
504  g''>
505 @end lilypond
506
507 Aquesta forma extensa de l'ordre @code{\tweak} es pot descriure com
508 @example
509 \tweak @var{LayoutObject}.@var{layout-property} #@var{value}
510 "ABANS" \tweak @var{objecte-de-presentació}.@var{propietat-de-presentació} @var{valor}
511 @end example
512
513 @cindex grups especials niuats
514 @cindex tresets niuats
515 @cindex claudàtor de grup especial
516 @cindex claudàtor de treset
517 @cindex grup especial, claudàtor de
518 @cindex treset, claudàtor de
519
520 @funindex TupletBracket
521
522 L'ordre @code{\tweak} també s'ha d'usar per canviar l'aparença
523 d'un sol d'un conjunt de grups especials niuats que comencin al
524 mateix instant musical.  A l'exemple següent, el claudàtor de
525 treset llarg i el primer dels tres claudàtors curts comencen al
526 mateix moment musical, i per això qualsevol ordre @code{\override}
527 s'aplicaria als dos.  A l'exemple s'usa @code{\tweak} per
528 distingir entre ells.  La primera ordre @code{\tweak} especifica
529 que el claudàtor del treset llarg s'ha de col·locar per sobre de
530 les notes i el segon especifica que el nombre del treset s'ha
531 d'imprimir en vermell sobre el claudàtor del primer treset curt.
532
533 @cindex @code{\tweak}, exemple
534 @cindex direction, propietat, exemple
535 @cindex color, propietat, exemple
536
537 @lilypond[quote,ragged-right,verbatim]
538 \relative c'' {
539   \tweak direction #up
540   \tuplet 3/4 {
541     \tweak color #red
542     \tuplet 3/2 { c8[ c c] }
543     \tuplet 3/2 { c8[ c c] }
544     \tuplet 3/2 { c8[ c c] }
545   }
546 }
547 @end lilypond
548
549 Si els grups niuats no comencen al mateix moment, la seva aparença
550 es pot modificar de la forma usual mitjançant ordres @code{\override}:
551
552 @cindex text, propietat, exemple
553 @cindex tuplet-number, funció, exemple
554 @cindex transparent, propietat, exemple
555 @cindex TupletNumber, exemple de sobreescriptura
556
557 @lilypond[quote,ragged-right,verbatim]
558 \relative {
559   \tuplet 3/2 { c'8[ c c] }
560   \once \override TupletNumber.text = #tuplet-number::calc-fraction-text
561   \tuplet 3/2 {
562     c8[ c]
563     c8[ c]
564     \once \override TupletNumber.transparent = ##t
565     \tuplet 3/2 { c8[ c c] }
566     \tuplet 3/2 { c8[ c c] }
567   }
568 }
569 @end lilypond
570
571
572 @seealso
573 Referència de la notació:
574 @rusernamed{The tweak command,L'ordre tweak}.
575
576 @node El prefix single
577 @unnumberedsubsubsec El prefix @code{@bs{}single}
578 @translationof The single prefix
579
580 @funindex \single
581 @cindex ajustament, generat a partir d'una sobreescriptura
582
583 Suposem que volem emfatitzar el cap d'algunes notes dibuixant-les
584 amb color i incrementant la seva mida, i suposem també que hem
585 programat una funció per fer la tasca més còmoda:
586
587 @lilypond[quote,verbatim]
588 emphNoteHead = {
589   \override NoteHead.color = #red
590   \override NoteHead.font-size = 2
591 }
592 \relative {
593   c''4 a \once \emphNoteHead f d |
594 }
595 @end lilypond
596
597 El @code{\once} previ funciona perfectament per emfatitzar notes
598 úniques o acords complets, però no es pot usar per emfatitzar una
599 sola nota @emph{dins} d'un acord.  Anteriorment vam veure com es
600 pot usar l'ordre @code{\tweak} per fer-lo, vegeu
601 @ref{L'ordre tweak,,L'ordre @code{@bs{}tweak}}.  Però
602 @code{\tweak} no es pot fer servir amb una funció; aquí és on
603 entra l'ordre @code{\single}:
604
605 @lilypond[quote,verbatim]
606 emphNoteHead = {
607   \override NoteHead.color = #red
608   \override NoteHead.font-size = 2
609 }
610 \relative {
611    <c'' a \single \emphNoteHead f d>4
612 }
613 @end lilypond
614
615 En resum, @code{\single} converteix les característiques fetes amb
616 @code{\override} en ajustaments fets amb @code{\tweak} de tal
617 manera que quan hi ha diversos objectes al mateix instant de temps
618 musical (com ara les notes d'un acord), @code{\single} afecta a
619 una única nota, la que es genera per l'expressió que afecta a una
620 única nota, la que es genera per l'expressió que segueix
621 immediatament, a diferencia de @code{\once} que afecta a tots
622 aquests objectes.
623
624 L'ús de @code{\single} d'aquesta forma amb una funció qualsevol
625 que contingui sols sobreescriptures, pot aplicar-se a les notes
626 individuals d'un acord. Malgrat això, @code{\single} no converteix
627 @code{\revert}, @code{\set} ni @code{\unset} en ajustaments de @code{\tweak}.
628
629 @seealso
630 Manual de aprenentatge:
631 @ref{L'ordre tweak,,L'ordre @code{@bs{}tweak}},
632 @ref{Ús de variables per als ajustaments de disposició}.
633
634 @node Manual de referència de funcionament intern
635 @section Manual de referència de funcionament intern
636 @translationof The Internals Reference manual
637
638 @cindex Referència de funcionament intern
639
640 @menu
641 * Propietats dels objectes de presentació::
642 * Propietats de les interfícies::
643 * Tipus de propietats::
644 @end menu
645
646 @node Propietats dels objectes de presentació
647 @subsection Propietats dels objectes de presentació
648 @translationof Properties of layout objects
649
650 @cindex propietats dels objectes presentació
651 @cindex propietats dels grobs
652 @cindex grobs, propietats de
653 @cindex presentació, propietats dels objectes de
654 @cindex Referència de funcionament intern
655
656 Suposeu que teniu una partitura amb una lligadura d'expressió que
657 al seu gust és massa fina i voleu dibuixar-la una mica més
658 gruixuda. Com heu de procedir?  Ja sabeu, per les afirmacions
659 anteriors sobre la flexibilitat del LilyPond, que hi ha aquesta
660 possibilitat, i segurament penseu que caldrà alguna ordre de
661 sobreescriptura @code{\override}. Però, hi ha una propietat de
662 gruix per a les lligadures? I si hi ha, com es pot modificar?
663 Aquí es on intervé el Manual de Funcionament Intern.  Conte tota
664 la informació que podeu necessitar per construir aquesta i la
665 resta d'ordres @code{\override}, de sobreescriptura.
666
667 Un advertiment abans de dirigir la nostra mirada a la referència
668 de funcionament intern.  Aquest és un document de
669 @strong{referència}, cosa que significa que es proveeixen poques
670 explicacions o cap: el seu propòsit és presentar la informació de
671 forma precisa i concisa.  Per tant, us podrà sembla
672 desencoratjador a primera ullada.  No us amoïneu!  La guia i les
673 explicacions que presentem aquí us permetran extraure la
674 informació de la referència de funcionament intern a vós mateix,
675 sols us cal una mica de pràctica.
676
677 @cindex sobreescriptura, exemple de
678 @cindex Referència de Funcionament Intern, exemple d'utilització
679 @cindex @code{\addlyrics}, ejemplo
680
681 Anem a fer servir un exemple concret amb un senzill fragment de
682 música real:
683
684 @c Mozart, duo, núm. 7 de La Flauta Màgica
685
686 @lilypond[quote,verbatim]
687 {
688   \key es \major
689   \time 6/8
690   \relative {
691     r4 bes'8 bes[( g]) g |
692     g8[( es]) es d[( f]) as |
693     as8 g
694   }
695   \addlyrics {
696     The man who | feels love's sweet e -- | mo -- tion
697   }
698 }
699 @end lilypond
700
701 Suposeu ara que decidim que ens agrades les lligadures una mica
702 més gruixudes.  És possible?  La lligadura és, certament, un
703 objecte de presentació, de manera que la qüestió és @q{Hi ha una
704 propietat pertanyent a les lligadures d'expressió que controli el
705 seu gruix?}  Per respondre a aquesta pregunta hem de mirar el
706 manual de Referència de Funcionament Intern, abreujadament
707 RFI@footnote{@strong{IR} (Internals Reference) en anglès}.
708
709 L'RFI és la versió del LilyPond que esteu usant es pot trobar a la
710 pàgina web del LilyPond a @uref{http://lilypond.org}.  Aneu a la
711 pàgina de la documentació i seguiu l'enllaç Manual de Referència
712 de Funcionament Intern (RFI).  Per als nostres propòsits
713 pedagògics seria millor que utilitzéssiu la versió en HTML, no la
714 @q{en una sola pàgina} ni el PDF.  Perquè els següents paràgrafs
715 tinguin algun sentit haureu de consultar-lo realment al temps que
716 llegiu.
717
718 @c Link names in English as those pages are not yet translated. WG
719 Sota l'encapçalament @strong{Top} podreu veure cinc
720 enllaços. Seleccioneu l'enllaç @emph{Backend}, que és on es troba
721 la informació sobre els objectes de presentació.  Un cop allí,
722 sota l'encapçalament @strong{Backend}, seguiu l'enllaç @emph{All
723 layout objects}.  La pàgina que apareix relaciona totes els
724 objectes de presentació que s'usen a la vostra versió del
725 LilyPond, en ordre alfabètic.  Segui l'enllaç Slur (lligadura
726 d'expressió), i apareixeran relacionades les propietats de les
727 lligadures d'expressió o Slurs.
728
729 Una forma alternativa de trobar aquesta pàgina és a partir de la
730 Referencia de la Notació.  En una de les pàgines que tracten de
731 les lligadures d'expressió podreu trobar un enllaç al manual de
732 referència del funcionament intern.  Aquest enllaç us portarà
733 directament a aquesta pàgina, tot i que si teniu una idea del nom
734 de l'objecte de presentació que preteneu ajustar, li resultarà més
735 fàcil anar directament al RFI i buscar allí.
736
737 Aquesta pàgina sobre les lligadures d'expressió dins del manual
738 RFI ens diu en primer lloc que els objectes Slur es creen pel
739 gravador Slur_engraver.  A continuació relaciona els ajustos
740 estàndard.  Navegueu per ells buscant una propietat que pogués
741 controlar el gruix de les lligadures, i trobarà
742
743 @example
744 @code{thickness} (number)
745      @code{1.2}
746      Line thickness, generally measured in @code{line-thickness}
747 @end example
748
749 Això promet ser una bona opció per canviar el gruix.  Ens diu que
750 el valor de @code{thickness} és un simple @emph{número}, que el
751 valor predeterminat és 1.2, i que les unitats estan dins d'una
752 altra propietat anomenada @code{line-thickness}.
753
754 Com havíem dit amb anterioritat, hi ha entre poques i cap
755 explicació al RFI, però ja tenim informació suficient per provar
756 de canviar el gruix de la lligadura.  Vejam que el nom de
757 l'objecte de presentació és @code{Slur}, que el nom de la
758 propietat que hem de canviar és @code{thickness} i que el nou
759 valor ha de ser un número una mica més gran que 1.2 si volem fer
760 les lligadures més gruixudes.
761
762 Ara podem construir la instrucció de sobreescriptura
763 @code{\override} simplement mitjançant la substitució dels valores
764 que hem trobar per als noms, ometent el context.  Usarem un valor
765 molt gran per al gruix al començament, per estar segurs que
766 l'ordre estigui funcionant.  Obtenim el següent:
767
768 @example
769 \override Slur.thickness = #5.0
770 @end example
771
772 No oblideu el @code{#'} abans del nom de la propietat
773 i@tie{}@code{#} abans del valor nou!
774
775 La pregunta final és @q{On s'ha de col·locar aquesta ordre?} Tot i
776 que ens falta seguretat i estem aprenent encara, la millor
777 resposta és: @q{Dins de la música, abans de la primera lligadura i
778 a prop d'ella.}  Fem-lo així:
779
780 @cindex Slur, exemple de sobreescriptura
781 @cindex thickness, propietat, exemple
782
783 @lilypond[quote,verbatim]
784 {
785   \key es \major
786   \time 6/8
787   \relative {
788     % Increase thickness of all following slurs from 1.2 to 5.0
789     \override Slur.thickness = #5.0
790     r4 bes'8 bes[( g]) g |
791     g8[( es]) es d[( f]) as |
792     as8 g
793   }
794   \addlyrics {
795     The man who | feels love's sweet e -- | mo -- tion
796   }
797 }
798 @end lilypond
799
800 @noindent
801 i podem veure que la lligadura és, sense dubte, més gruixuda.
802
803 Així doncs, aquesta és la forma bàsica de construir ordres
804 @code{\override} o de sobreescriptura.  Hi ha unes quantes
805 complicacions més amb les quals ens trobarem a seccions
806 posteriors, però ara coneixeu totes els principis essencials que
807 us calen per fer-lo per vós mateix (tot i que encara us fa falta
808 una mica de pràctica).  Els següents exemples us donaran més
809 pràctica.
810
811 @subsubsubheading Cerca del context
812
813 @cindex context, trobar
814 @cindex context, buscar el, correcte
815
816 Però en primer lloc, que hauria passat si haguéssim hagut
817 d'especificar el context? Quin seria?  Podem suposar que les
818 lligadures estan al context Voice, per estar clarament associats
819 de manera estreta amb les línies individuals de música, però podem
820 tenir seguretat?  Per esbrinar-lo, anem de nou a l'inici de la
821 pàgina del RFI que descriu les lligadures (Slur), con diu
822 @q{Slur objects are created by: Slur engraver}
823 («Els objectes de lligadura d'expressió es creen per: el gravador
824 Slur»). Així doncs, les lligadures d'expressió es creen en
825 qualsevol context en el que es trobi el gravador
826 @code{Slur_engraver}.  Seguiu l'enllaç a la pàgina del gravador
827 @code{Slur_engraver}.  Al final de tot, diu que el gravador
828 @code{Slur_engraver} és part de set contextos de veu, inclòs el
829 context de veu estàndard, @code{Voice}, per la qual cosa la nostra
830 suposició és encertada.  I a causa que @code{Voice} és un dels
831 contextos de més baix nivell que es troba implícit sense
832 ambigüitat pel fet que estem escrivint notes, podem ometre'l en
833 aquest lloc concret.
834
835 @subsubsubheading Sobreescriptura per un sol cop
836
837 @cindex sobreescriptura per un sol cop
838 @cindex once override
839
840 @funindex \once
841 @funindex once
842
843 Com podeu veure, @emph{totes} les lligadures són més gruixudes a
844 l'últim exemple. Però, i si volguéssim que sols la primera
845 lligadura fos més gruixuda?  Això s'aconsegueix amb la instrucció
846 o prefix @code{\once}.  Col·locat immediatament abans de la
847 instrucció @code{\override} ocasiona que sols canviï la lligadura
848 que comença a la nota @strong{immediata següent}.  Si la nota
849 immediata següent no inicia una lligadura, l'ordre no té cap
850 efecte en absolut: no es recorda fins que es trobi alguna
851 lligadura, sinó que simplement s'ignora.  Així doncs, l'ordre que
852 porta @code{\once} s'ha de tornar a posicionar de la forma següent:
853
854 @cindex Slur, exemple de sobreescriptura
855 @cindex thickness, propietat, exemple
856
857 @lilypond[quote,verbatim]
858 {
859   \key es \major
860   \time 6/8
861   \relative {
862     r4 bes'8
863     % Increase thickness of immediately following slur only
864     \once \override Slur.thickness = #5.0
865     bes8[( g]) g |
866     g8[( es]) es d[( f]) as |
867     as8 g
868   }
869   \addlyrics {
870     The man who | feels love's sweet e -- | mo -- tion
871   }
872 }
873 @end lilypond
874
875 @noindent
876 Hem fet que ara sols la primera lligadura sigui més gruixuda.
877
878 L'ordre o prefix @code{\once} també es pot fer servir abans de
879 l'ordre @code{\set}.
880
881 @subsubsubheading Recuperació de l'ajustament
882
883 @cindex revertir
884 @cindex predeterminades, recuperar las propietats
885
886 @funindex \revert
887 @funindex revert
888
889 Finalment, i si volguéssim que sols les dues primeres lligadures
890 fossin més gruixudes?  Per acabar; podríem usar dues ordres,
891 cadascuna d'elles precedida pel prefix @code{\once}, situades
892 immediatament abans de cada una de les notes on comencen les lligadures:
893
894 @cindex Slur, exemple de sobreescriptura
895 @cindex thickness, propietat, exemple
896
897 @lilypond[quote,verbatim]
898 {
899   \key es \major
900   \time 6/8
901   \relative {
902     r4 bes'8
903     % Increase thickness of immediately following slur only
904     \once \override Slur.thickness = #5.0
905     bes[( g]) g |
906     % Increase thickness of immediately following slur only
907     \once \override Slur.thickness = #5.0
908     g8[( es]) es d[( f]) as |
909     as8 g
910   }
911   \addlyrics {
912     The man who | feels love's sweet e -- | mo -- tion
913   }
914 }
915 @end lilypond
916
917 @noindent
918 o podríem ometre l'ordre prefix @code{\once} i utilitzar l'ordre
919 @code{\revert} (restableix) per retornar la propietat del gruix,
920 @code{thickness}, al seu valor predeterminat després de la segona
921 lligadura:
922
923 @cindex Slur, exemple de sobreescriptura
924 @cindex thickness, propietat, exemple
925
926 @lilypond[quote,verbatim]
927 {
928   \key es \major
929   \time 6/8
930   \relative {
931     r4 bes'8
932     % Increase thickness of all following slurs from 1.2 to 5.0
933     \override Slur.thickness = #5.0
934     bes[( g]) g |
935     g8[( es]) es
936     % Revert thickness of all following slurs to default of 1.2
937     \revert Slur.thickness
938     d8[( f]) as |
939     as8 g
940   }
941   \addlyrics {
942     The man who | feels love's sweet e -- | mo -- tion
943   }
944 }
945 @end lilypond
946
947 @noindent
948 L'ordre @code{\revert} es pot utilitzar per retornar qualsevol
949 propietat que s'hagi canviat amb @code{\override} al seu valor
950 predeterminat.  Podeu utilitzar el mètode que millor s'adapti a
951 allò que voleu fer.
952
953 D'aquesta manera finalitza la nostra introducció al manual de RFI,
954 i el mètode bàsic d'ajustament.  A continuació, en les últimes
955 seccions d'aquest capítol trobareu diversos exemples, en par par
956 introduir-vos a algunes de les possibilitats addicionals del
957 manual RFI, i en part per proporcionar-vos més pràctica sobre com
958 extraure informació d'ell.  Aquests exemples aniran contenint cada
959 cop menys paraules de guia i explicació.
960
961 @node Propietats de les interfícies
962 @subsection Propietats de les interfícies
963 @translationof Properties found in interfaces
964
965 @cindex interface
966 @cindex propietats de les interfícies
967 @cindex interfaces, propietats
968
969 Suposeu ara que volem imprimir la lletra de la cançó en
970 cursiva. Quina forma d'instrucció @code{\override} necessitem per
971 fer-lo?  En primer lloc mirem a la pàgina de RFI que fa una
972 relació de tots els objectes, @q{All layout objects}, com abans, i
973 busquem un objecte que pugui controlar la lletra de la cançó.
974 Trobem @code{LyricText}, que sembla adequat.  En seguir aquest
975 enllaç es presenten les propietats ajustables per al text de la
976 lletra.  Aquests inclouen @code{font-series} i @code{font-size},
977 però res que pogués genera una forma cursiva.  Això és perquè la
978 propietat de la forma és comuna a tots els objectes de font
979 tipogràfica, i per tant, en comptes d'incloure'l en cada u dels
980 objectes de presentació, s'agrupa junt amb altres propietats
981 comunes semblants i es deposita a un @strong{Interface}, la
982 interfície dels tipus de lletra @code{font-interface}.
983
984 Per tant, ara necessitem aprendre com trobar les propietats de les
985 interfícies, i descobrir quins objectes usen aquestes propietats
986 d'interfície.
987
988 Mireu un altre cop la pàgina del RFI que descriu a LyricText.  Al
989 final de la pàgina hi ha una llista d'enllaços a les interfícies
990 que LyricText contempla.  La llista té set elements, entre ells
991 @code{font-interface}.  En seguir aquest enllaç arribem a les
992 propietats associades amb aquesta interfície, que també són
993 propietats de tots els objectes que la porten, entre ells LyricText.
994
995 Ara veiem totes les propietats ajustables per l'usuari que
996 controles els tipus de lletra, entre elles
997 @code{font-shape(symbol)}, on @code{symbol} es pot establir a
998 @code{upright} (recta), @code{italics} (cursiva) o @code{caps}
999 (majúscules petites).
1000
1001 Observareu que @code{font-series} i @code{font-size} també es
1002 troben aquí relacionats.  Això fa que de seguida se'ns plantegi la
1003 pregunta: Perquè estan les propietats comunes de tipografia
1004 @code{font-series} i @code{font-size} relacionades sota
1005 @code{LyricText} així com sota la interfície @code{font-interface}
1006 però @code{font-shape} no ho està? La resposta és que
1007 @code{font-series} i @code{font-size} es canvie a partir dels seus
1008 valors predeterminats globals quan es crea un objecte
1009 @code{LyricText}, però @code{font-shape} no ho fa. Aleshores els
1010 elements de la llista @code{LyricText} els diuen els valors per
1011 aquestes dues propietats que són d'aplicació per a
1012 @code{LyricText}.  D'altres objectes que tenen en compte
1013 @code{font-interface} establiran aquestes propietats de forma
1014 diferent quan es creen.
1015
1016 Vejam ara si podem construir la instrucció @code{\override} per
1017 canviar la lletra a cursiva.  L'objecte és @code{LyrcText}, la
1018 propietat és @code{font-shape} i el valor és @code{italic}.  Igual
1019 que abans, ometrem el context.
1020
1021 Com a nota a part, tot i que és important, observeu que certes
1022 propietats prenen valors que són símbols, com ara @code{italic}, i
1023 han d'anar precedits per un apòstrof, @code{'}.  Els símbols es
1024 llegeixen a continuació internament per part del LilyPond.
1025 Tingueu en compte la diferència amb les cadenes de text
1026 arbitràries, que apareixeran com @code{«una cadena de text»}; per
1027 veure més detalls sobre els símbols i les cadenes, consulteu
1028 @rextendnamed{Scheme tutorial,Tutorial de l'Scheme}.
1029
1030 Així doncs, l'ordre @code{\override} necessària per imprimir la
1031 lletra en cursiva és:
1032
1033 @example
1034 \override LyricText.font-shape = #'italic
1035 @end example
1036
1037 @noindent
1038 Això s'ha d'escriure just davant de la lletra que ha d'afectar,
1039 d'aquesta forma:
1040
1041 @cindex font-shape, propietat, exemple
1042 @cindex italic, exemple
1043 @cindex LyricText, exemple de sobreescriptura
1044 @cindex @code{\addlyrics}, exemple
1045
1046 @lilypond[quote,ragged-right,verbatim]
1047 {
1048   \key es \major
1049   \time 6/8
1050   \relative {
1051     r4 bes'8 bes[( g]) g |
1052     g8[( es]) es d[( f]) as |
1053     as8 g
1054   }
1055   \addlyrics {
1056     \override LyricText.font-shape = #'italic
1057     The man who | feels love's sweet e -- | mo -- tion
1058   }
1059 }
1060 @end lilypond
1061
1062 @noindent
1063 i tota la lletra s'escriu en cursiva.
1064
1065 @warning{Dins de la lletra, deixeu sempre espais entre la síl·laba
1066 final i el claudàtor de tancament.}
1067
1068 @seealso
1069 Manual de Extensió:
1070 @rextendnamed{Scheme tutorial,Tutorial de l'Scheme}.
1071
1072
1073 @node Tipus de propietats
1074 @subsection Tipus de propietats
1075 @translationof Types of properties
1076
1077 @cindex propietats, tipus de
1078
1079 Fins aquí hem vis dos tipus de propietats: @code{número} i
1080 @code{símbol}.  Perquè sigui vàlid, el valor que es dóna a una
1081 propietat ha de ser del tipus correcte i obeir les regles d'aquest
1082 tipus.  El tipus de la propietat es mostra sempre entre parèntesis
1083 després del nom de la propietat al RFI.  Vet aquí una llista dels
1084 tipus que us podrà caldre, junt amb les regles d'aquest tipus, i
1085 alguns exemples. Heu d'escriure sempre un símbol d'encoixinat,
1086 @code{#}, per suposat, endavant d'aquests valors quan
1087 s'introdueixen a l'ordre @code{\override}, fins i tot si el propi
1088 valor ja comença per@tie{}@code{#}.  Sols oferim aquí exemple per
1089 a constants; si voleu calcular un valor usant l'Scheme, consulteu
1090 @rextendnamed{Calculations in Scheme,Càlculs a l'Scheme}.
1091
1092 @multitable @columnfractions .2 .45 .35
1093 @headitem Tipus  propietat
1094   @tab Regles
1095   @tab Exemples de propietat
1096 @item Booleà
1097   @tab Vertader o fals, representat per #t o #f
1098   @tab @code{#t}, @code{#f}
1099 @item Dimensió (en espais de pentagrama)
1100   @tab Un nombre decimal (en unitats de espais de pentagrama)
1101   @tab @code{2.5}, @code{0.34}
1102 @item Direcció
1103   @tab Una constant vàlida de direcció o el seu equivalent numèric
1104   (@code{0} o @code{CENTER} indiquen una direcció neutra)
1105   @tab @code{LEFT}, @code{CENTER}, @code{UP},
1106        @code{1}, @w{@code{-1}}
1107 @item Enter
1108   @tab Un número enter positiu
1109   @tab @code{3}, @code{-1}
1110 @item Llista
1111   @tab Una seqüència de constants o símbols separats per espais,
1112   envoltat per parèntesis
1113   i precedit per un apòstrof o cometa simple
1114   @tab @code{'(left-edge staff-bar)}, @code{'(1)}, @code{'()},
1115        @code{'(1.0 0.25 0.5)}
1116 @item Marcatge
1117   @tab Qualsevol element vàlid de marcatge de text
1118   @tab @code{\markup @{ \italic "cresc." @}}, @code{"gaita"}
1119 @item Moment
1120   @tab Una fracció de rodona construïda amb la funció make-moment
1121   @tab @code{(ly:make-moment 1/4)},
1122        @code{(ly:make-moment 3/8)}
1123 @item Nombre
1124   @tab Qualsevol valor positiu, possiblement decimal
1125   @tab @code{3}, @w{@code{-2.45}}
1126 @item Parella (de números)
1127   @tab Dos números separats per un @q{espai . espai}, envoltat entre parèntesis i precedir per un apòstrof
1128   @tab @code{'(2 . 3.5)}, @code{'(0.1 . -3.2)}
1129 @item Símbol
1130   @tab Qualsevol del conjunt de símbols permesos per a aquesta propietat, precedir per un apòstrof
1131   @tab @code{'italic}, @code{'inside}
1132 @item Desconegut
1133   @tab Un procediment o @code{#f} per no produir cap acció
1134   @tab @code{bend::pr
1135 int}, @code{ly:text-interface::print},
1136        @code{#f}
1137 @item Vector
1138   @tab Constants
1139   envoltades per @code{#(}@dots{}@code{)}.
1140   @tab @code{#(#t #t #f)}
1141 @end multitable
1142
1143
1144 @seealso
1145 Manual de Extensió:
1146 @rextendnamed{Scheme tutorial,Tutorial de l'Scheme}.
1147
1148
1149 @node Aparença dels objectes
1150 @section Aparença dels objectes
1151 @translationof Appearance of objects
1152
1153 Ara posarem en practica el que hem après amb uns quants exemples
1154 que mostren com es poden usar els ajustament per canviar l'aspecte
1155 de la música impresa.
1156
1157 @menu
1158 * Visibilitat i color dels objectes::
1159 * Mida dels objectes::
1160 * Longitud y gruix dels objectes::
1161 @end menu
1162
1163 @node Visibilitat i color dels objectes
1164 @subsection Visibilitat i color dels objectes
1165 @translationof Visibility and color of objects
1166
1167 Dins d'una ús educatiu de la música, podríem desitjar imprimir una
1168 partitura amb certs elements omesos com a exercici per a l'alumne,
1169 a qui es demana que els completi.  Com a exemple senzill, suposem
1170 que l'exercici és escriure les línies divisòries que falten en un
1171 fragment musical.  Però les línies divisòries que normalment
1172 s'insereixen automàticament, com fem perquè no s'imprimeixin?
1173
1174 Abans d'embolicar-nos amb això, recordem que les propietats dels
1175 objectes s'agrupen en el que hem anomenat @emph{interfaces} (vegeu
1176 @ref{Propietats de les interfícies}).  Això implica simplement
1177 agrupar les propietats que es poden usar juntes per ajustar un
1178 objecte gràfic: si una d'elles es necessita per a un objecte,
1179 també les altres.  Així, certs objectes usen les propietats
1180 d'alguns interfícies, altres usen les d'altres interfícies.  Les
1181 interfícies que contenen les propietats que un determinat grob
1182 necessita es troben relacionades al manual RFI al final de la
1183 pàgina que descriu aquest grob, i aquestes propietats es poden
1184 veure mirant aquestes interfícies.
1185
1186 Hem explicat com trobar informació sobre els grobs a
1187 @ref{Propietats dels objectes de presentació}.  Usant el mateix
1188 enfocament, anem al RFI per buscar l'objecte de presentació que
1189 imprimeix les línies divisòries.  Mitjançant l'enllaç
1190 @emph{Backend} i @emp{All layout objects} trobem que hi ha un
1191 objecte de presentació anomenat @code{Barline}.  Entre les seves
1192 propietats es troben dues que controlen la visibilitat:
1193 @code{break-visibility} i @code{stencil}.  Les línies divisòries
1194 també contemplen una sèrie d'interfícies, entre ells el
1195 @code{grob-interface}, on podem trobar les propietats
1196 @cffode{transparent} i @code{color}.  Totes poden afectar la
1197 visibilitat de les barres de compàs (i, per suposat, per extensió,
1198 també la de molts altres objectes de presentació).  Considerarem
1199 cada un d'ells per ordre.
1200
1201 @menu
1202 * La propietat stencil (segell)::
1203 * La propietat break-visibility (visibilitat del salt)::
1204 * La propietat transparent (transparent)::
1205 * La propietat color::
1206 @end menu
1207
1208 @node La propietat stencil (segell)
1209 @unnumberedsubsubsec La propietat @code{stencil} (segell)
1210 @translationof The stencil property
1211
1212 @cindex stencil (segell), propietat
1213
1214 Aquesta propietat controla l'aparença de les barres de compàs
1215 mitjançant l'especificació del símbol (o «glif») que s'ha
1216 d'imprimir.  Igual que com altres moltes propietats, es pot
1217 establir de forma que no imprimeixi res ajustant el seu valor a
1218 @code{#f}.  El provarem, com abans, ometent el Context implícit,
1219 p@code{Voice}:
1220
1221 @cindex BarLine, exemple de sobreescriptura
1222 @cindex stencil, propietat, exemple
1223
1224 @lilypond[quote,ragged-right,verbatim]
1225 \relative {
1226   \time 12/16
1227   \override BarLine.stencil = ##f
1228   c''4 b8 c d16 c d8 |
1229   g,8 a16 b8 c d4 e16 |
1230   e8
1231 }
1232 @end lilypond
1233
1234 Les barres de compàs encara s'imprimeixen.  Què és el que està
1235 malament?  Torneu al RFI i mireu un altre cop la pàgina que
1236 ofereix les propietats de l'objecte Barline.  Al principi de la
1237 pàgina diu @qq{Barline objects are created by: Bar_engraver} (els
1238 objectes Barline es creen pel gravador Bar_engraver).  Aneu a la
1239 pàgina del gravador @code{Bar_engraver} seguint l'enllaç.  Al
1240 final dóna una llista de contextos en els quals el gravador de
1241 línies divisòries opera.  Tots ells són del tipus @code{Staff}, i
1242 així la raó que l'ordre @code{\override} no funcionés com
1243 esperàvem, és perquè @code{Barline} no es troba en el context
1244 predeterminat @code{Voice}.  Si el context no s'especifica
1245 correctament, l'ordre simplement no funciona.  No es produeix cap
1246 missatge d'error, i no es registra res al fitxer log de registre.
1247 Intentarem corregir-lo escrivint el context correcte:
1248
1249 @cindex BarLine, exemple de sobreescriptura
1250 @cindex stencil, propietat, exemple
1251
1252 @lilypond[quote,ragged-right,verbatim]
1253 \relative {
1254   \time 12/16
1255   \override Staff.BarLine.stencil = ##f
1256   c''4 b8 c d16 c d8 |
1257   g,8 a16 b8 c d4 e16 |
1258   e8
1259 }
1260 @end lilypond
1261
1262 Ara les barres de compàs han desaparegut.  L'operació d'establir la
1263 propietat @code{stencil} al valor @code{#f} és tan freqüent que hi
1264 ha una abreviatura per a ella, anomenada @code{\omit} (ometre):
1265 @funindex \omit
1266
1267 @lilypond[quote,ragged-right,verbatim]
1268 \relative {
1269   \time 12/16
1270   \omit Staff.BarLine
1271   c''4 b8 c d16 c d8 |
1272   g,8 a16 b8 c d4 e16 |
1273   e8
1274 }
1275 @end lilypond
1276
1277 Malgrat això, observeu que l'establiment de la propietat
1278 @code{stencil} al valor @code{#f} produeix error quan es
1279 requereixen les dimensions de l'objecte per un processament
1280 correcte.  Per exemple, es generen errors si la propietat
1281 @code{stencil} de l'objecte @code{NoteHead} s'estableix al valor
1282 @code{#f}.  Si és el cas, podem en comptes d'això utilitzar la
1283 funció  @code{point-stencil}, que estableix el segell a un objecte
1284 amb mida nul·la:
1285
1286 @lilypond[quote,verbatim]
1287 \relative {
1288   c''4 c
1289   \once \override NoteHead.stencil = #point-stencil
1290   c4 c
1291 }
1292 @end lilypond
1293
1294 @node La propietat break-visibility (visibilitat del salt)
1295 @unnumberedsubsubsec La propietat @code{break-visibility} (visibilitat del salt)
1296 @translationof The break-visibility property
1297
1298 @cindex break-visibility, propietat
1299
1300 Veiem a les propietats de @code{BarLine} que apareixen al RFI que
1301 la propietat @code{break-visibility} requereix un vector de tres
1302 valors booleans.  Controlen respectivament si les barres de
1303 compàs s'imprimeixen al final d'una línia, a meitat d'una línia, i
1304 al principi de les línies.  Per al nostre exemple, volem que totes
1305 les barres de compàs es suprimeixin, per la qual cosa el valor que
1306 ens cal és @code{#(#f #f #f)} (disponible també sota el nom
1307 @code{all-invisible}, totes invisibles).  Anem a provar-lo,
1308 recordant incloure el context de @code{Staff}.  Observeu també en
1309 escriure aquest valor tenim @code{##} abans del parèntesis
1310 d'obertura.  Cal un @code{#} com a part de la sintaxi de les
1311 constants vectorials, i el primer símbol
1312 d'encoixinat@tie{}@code{#} cal, com sempre, per precedir el valor
1313 mateix dins de l'ordre @code{\override}.
1314
1315 @cindex BarLine, exemple de sobreescriptura
1316 @cindex break-visibility, propietat, exemple
1317
1318 @lilypond[quote,ragged-right,verbatim]
1319 \relative {
1320   \time 12/16
1321   \override Staff.BarLine.break-visibility = ##(#f #f #f)
1322   c''4 b8 c d16 c d8 |
1323   g,8 a16 b8 c d4 e16 |
1324   e8
1325 }
1326 @end lilypond
1327
1328 I podem veure que això també treu totes les línies divisòries.
1329
1330 @node La propietat transparent (transparent)
1331 @unnumberedsubsubsec La propietat @code{transparent} (transparent)
1332 @translationof The transparent property
1333
1334 @cindex transparent, propietat
1335 @cindex transparència
1336
1337 En la relació de propietats que s'especifiquen a la pàgina del
1338 @code{grob-interface} del RFI podem veure que la propietat
1339 @code{transparent} és un valor booleà.  Això s'ha d'establir a
1340 @code{#t} per fer que el grob sigui transparent.  A l'exemple
1341 següent farem que la indicació de compàs, i no les línies
1342 divisòries, siguin transparents.  Per fer-lo hem de buscar el nom
1343 del grob de la indicació de compàs.  Tornat a la pàgina
1344 @q{All layout objects} del RFI, busquem les propietats de
1345 l'objecte de presentació @code{TimeSignature}.  El produeix el
1346 gravador @code{Time_signature_engraver} que com podeu comprovar
1347 viu dins del context @code{Staff} i també contempla la interfície
1348 @code{grob-interface}.  Així doncs, l'ordre que fa transparent a
1349 la indicació de compàs és:
1350
1351 @cindex TimeSignature, exemple de sobreescriptura
1352 @cindex transparent, propietat, exemple
1353
1354 @lilypond[quote,ragged-right,verbatim]
1355 \relative {
1356   \time 12/16
1357   \override Staff.TimeSignature.transparent = ##t
1358   c''4 b8 c d16 c d8 |
1359   g,8 a16 b8 c d4 e16 |
1360   e8
1361 }
1362 @end lilypond
1363
1364 @noindent
1365 Un cop més, l'establiment de la propietat @code{transparent} és
1366 una operació força freqüent, de manera que tenim una abreviatura
1367 anomenada @code{\hide} (ocultar):
1368 @funindex \hide
1369
1370 @lilypond[quote,ragged-right,verbatim]
1371 \relative {
1372   \time 12/16
1373   \hide Staff.TimeSignature
1374   c''4 b8 c d16 c d8 |
1375   g,8 a16 b8 c d4 e16 |
1376   e8
1377 }
1378 @end lilypond
1379
1380 @noindent
1381 En cap dels dos casos apareix ja la indicació de compàs, però
1382 aquesta ordre deixa una separació en el lloc on abans hi havia la
1383 indicació de compàs.  Potser això és el que volem per a un
1384 exercici on l'alumne hagi d'escriure'l, però en altres
1385 circumstàncies aquesta separació podria no ser desitjable.  En
1386 comptes d'això, per treure-la, el stencil o «segell» de la
1387 indicació de compàs s'ha d'establir al valor @code(#f):
1388
1389 @cindex TimeSignature, exemple de sobreescriptura
1390 @cindex stencil, propietat, exemple
1391
1392 @lilypond[quote,ragged-right,verbatim]
1393 \relative {
1394   \time 12/16
1395   \omit Staff.TimeSignature
1396   c''4 b8 c d16 c d8 |
1397   g,8 a16 b8 c d4 e16 |
1398   e8
1399 }
1400 @end lilypond
1401
1402 @noindent
1403 i la diferència és òbvia: en establir el segell al valor
1404 @code{#f} (possiblement per mitjà de @code{\omit} traiem l'objecte
1405 per complet; en fer l'objecte @code{transparent} (cosa que es pot
1406 fer utilitzant @code{\hide}) el deixen on és, però el fem invisible.
1407
1408 @node La propietat color
1409 @unnumberedsubsubsec La propietat @code{color}
1410 @translationof The color property
1411
1412 @cindex color, propietat
1413
1414 Per finalitzar, intentem fer invisibles les barres de compàs
1415 pintant-les de color blanc (hi ha un problema relacionat, que
1416 consisteix en què la línia divisòria blanca pot tapar o no tapar
1417 les línies del pentagrama amb les quals es creua.  Podreu observar
1418 en alguns dels exemples que apareixen a continuació, que això
1419 succeeix de forma impredictible.  Els detalls sobre perquè això passa
1420 així, i com controlar-lo, s'estudien a
1421 @rusernamed{Painting objects white,Pintar els objectes de blanc};
1422 de moment estem estudiant el color, per la qual cosa us preguem
1423 que accepteu aquesta limitació per ara).
1424
1425 La interfície @code{grob-interface} especifica que la propietat
1426 del color és una llista, però no hi ha cap explicació sobre el que
1427 ha d'anar a aquesta llista.  La llista que requereix és realment
1428 una llista de valors en unitats internes, però per evitar haver de
1429 saber quines són, s'ofereixen diverses vies per a l'especificació
1430 dels colors.  La primera forma és utilitzar un dels colors
1431 @q{normals} dels quals es fa una relació a la primera taula de la
1432 @rusernamed{List of colors,Llista de colors}.  Per posar les
1433 línies divisòries de color blanc, escrivim:
1434
1435 @cindex BarLine, exemple de sobreescriptura
1436 @cindex color, propietat, exemple
1437
1438 @lilypond[quote,ragged-right,verbatim]
1439 \relative {
1440   \time 12/16
1441   \override Staff.BarLine.color = #white
1442   c''4 b8 c d16 c d8 |
1443   g,8 a16 b8 c d4 e16 |
1444   e8
1445 }
1446 @end lilypond
1447
1448 @noindent
1449 i un altre cop podem comprovar que les barres de compàs no són
1450 visibles.  Observeu que @emph{white} no ve precedit d'un apòstrof:
1451 no és un símbol, sinó una @emph{variable}.  Quan s'avalua,
1452 proporciona la llista de valors interns que es requereixen per
1453 establir el color a blanc.  Els altres colores de la llista normal
1454 també són variables.  Per convèncer-vos que això funciona, potser
1455 voleu canviar el color a una de les altres variables de la llista.
1456
1457 @cindex colors d'X11
1458 @cindex X11, colors de
1459
1460 @funindex x11-color
1461
1462 La segona forma de canviar el color és utilitzar la llista de noms
1463 de colores d'X11 que apareix a la segona llista de
1464 @rusernamed{List of colors,Llista de colors}.  De totes maneres,
1465 es fan correspondre als valors real per mitjà de la funció
1466 @code{x11-color} que converteix els símbols de color d'X11 a la
1467 llista de valors interns d'aquests colors:
1468
1469 @cindex BarLine, exemple de sobreescriptura
1470 @cindex color, propietat, exemple
1471
1472 @lilypond[quote,ragged-right,verbatim]
1473 \relative {
1474   \time 12/16
1475   \override Staff.BarLine.color = #(x11-color 'white)
1476   c''4 b8 c d16 c d8 |
1477   g,8 a16 b8 c d4 e16 |
1478   e8
1479 }
1480 @end lilypond
1481
1482 @noindent
1483 Observeu que en aquest cas la funció @code{x11-color} agafa un
1484 símbol com a argument, de manera que el símbol ha d'anar precedit
1485 d'un apòstrof per evitar que resulti avaluat com si fos una
1486 variable, i tota la crida a la funció s'ha de envoltar entre parèntesis.
1487
1488 @cindex rgb, colors
1489 @cindex color, rgb
1490
1491 @funindex rgb-color
1492
1493 Encara hi ha una altra funció, que converteix valors RGB en colors
1494 interns: la funció @code{rgb-color}.  Agafa tres arguments que
1495 donen les intensitats de vermell, verd i blau.  Cadascú d'ells pot
1496 agafar valors entre 0 i 1.  Per tant, per establir el color a
1497 vermell, el valor ha de ser @code{(rgb-color 1 0 0)}  i per a
1498 blanc ha de ser @code{(rgb-color 1 1 1)}:
1499
1500 @cindex BarLine, exemple de sobreescriptura
1501 @cindex color, propietat, exemple
1502
1503 @lilypond[quote,ragged-right,verbatim]
1504 \relative {
1505   \time 12/16
1506   \override Staff.BarLine.color = #(rgb-color 1 1 1)
1507   c''4 b8 c d16 c d8 |
1508   g,8 a16 b8 c d4 e16 |
1509   e8
1510 }
1511 @end lilypond
1512
1513 Finalment, hi ha també una escala de grisos com a part del conjunt
1514 de colors d'X11.  Varien des del negre, @code{'grey0}, fins al
1515 blanc, @code{'grey100}, en passos de 1.  Il·lustrarem això
1516 establint tots els objectes de presentació del nostre exemple a
1517 diverses gradacions de gris:
1518
1519 @cindex StaffSymbol, exemple de sobreescriptura
1520 @cindex TimeSignature, exemple de sobreescriptura
1521 @cindex Clef, exemple de sobreescriptura
1522 @cindex NoteHead, exemple de sobreescriptura
1523 @cindex Stem, exemple de sobreescriptura
1524 @cindex BarLine, exemple de sobreescriptura
1525 @cindex color property, exemple
1526 @cindex x11-color, exemple d'utilització
1527
1528 @lilypond[quote,ragged-right,verbatim]
1529 \relative {
1530   \time 12/16
1531   \override Staff.StaffSymbol.color = #(x11-color 'grey30)
1532   \override Staff.TimeSignature.color = #(x11-color 'grey60)
1533   \override Staff.Clef.color = #(x11-color 'grey60)
1534   \override Voice.NoteHead.color = #(x11-color 'grey85)
1535   \override Voice.Stem.color = #(x11-color 'grey85)
1536   \override Staff.BarLine.color = #(x11-color 'grey10)
1537   c''4 b8 c d16 c d8 |
1538   g,8 a16 b8 c d4 e16 |
1539   e8
1540 }
1541 @end lilypond
1542
1543 @noindent
1544 Observeu els contextos associats amb cadascú dels objectes de
1545 presentació.  És important que estiguin correctament escrits, o
1546 les ordres no funcionaran.  Recordeu que el context és aquell en
1547 el qual es troba el gravador corresponent.  El context
1548 predeterminat per als gravadors pot trobar-se començant per
1549 l'objecte de presentació, d'aquí al gravador que el produeix, i a
1550 la pàgina del gravador del RFI apareix en quin context es pot
1551 trobar normalment el gravador.
1552
1553 @node Mida dels objectes
1554 @subsection Mida dels objectes
1555 @translationof Size of objects
1556
1557 @cindex canvi de la mida dels objectes
1558 @cindex mida dels objectes
1559 @cindex objectes, mida de
1560 @cindex objectes, canvi de la mida de
1561
1562 Començarem examinant un altre cop un exemple anterior (vegeu
1563 @ref{Niuat d'expressions musicals}) que ens mostrava com introduir
1564 un pentagrama temporal, com a un @rglos{ossia}.
1565
1566 @cindex alignAboveContext, propietat, exemple
1567 @cindex @code{\with}, ejemplo
1568
1569 @lilypond[quote,ragged-right,verbatim]
1570 \new Staff ="main" {
1571   \relative {
1572     r4 g'8 g c4 c8 d |
1573     e4 r8
1574     <<
1575       { f8 c c }
1576       \new Staff \with {
1577         alignAboveContext = #"main" }
1578       { f8 f c }
1579     >>
1580     r4 |
1581   }
1582 }
1583 @end lilypond
1584
1585 Els fragments d'Ossia s'escriuen normalment sense clau ni compàs,
1586 i en general s'imprimeixen més petits que el pentagrama
1587 principal.  Ja sabem com treure la clau i el compàs: simplement
1588 establim el segell de cadascú d'ells a @code{#f}, como segueix:
1589
1590 @cindex alignAboveContext, propietat, exemple
1591 @cindex @code{\with}, exemple
1592 @funindex \omit
1593 @cindex Clef, exemple de sobreescriptura
1594 @cindex TimeSignature, exemple de sobreescriptura
1595
1596 @lilypond[quote,ragged-right,verbatim]
1597 \new Staff ="main" {
1598   \relative {
1599     r4 g'8 g c4 c8 d |
1600     e4 r8
1601     <<
1602       { f8 c c }
1603       \new Staff \with {
1604         alignAboveContext = #"main"
1605       }
1606       {
1607         \omit Staff.Clef
1608         \omit Staff.TimeSignature
1609         { f8 f c }
1610       }
1611     >>
1612     r4 |
1613   }
1614 }
1615 @end lilypond
1616
1617 @noindent
1618 on el parell de claus addicionals després de l'ordre
1619 @code{\with} són necessàries per assegurar que la sobreescriptura
1620 envoltada i la música s'apliquen al pentagrama d'ossia.
1621
1622 Però, quina és la diferència entre modificar el context de
1623 pentagrama usant @code{\with} i modificar els segells de clau i de
1624 compàs amb \override, o en aquest cas @code{\omit}?  La diferència
1625 principal és que els canvis que es realitzen a una ordre
1626 @code{\with} es fan en el moment que es crea el context, i romanen
1627 actiu com a valors @strong{predeterminats} durant tota la duració
1628 d'aquest context, mentre que les ordres @code{\set} o
1629 @code{\override} incloses dins de la música són dinàmiques: fan
1630 canvis sincronitzats amb un punt concret de la música.  Si els
1631 canvis es desfan o es reverteixen mitjançant @code{\unset} o
1632 @code{\revert} tornaran al seu valor predeterminat que serà
1633 l'establert a l'ordre @code{\with}, o si no s'ha establert cap
1634 valor en aquest lloc, els valors predeterminats normals.
1635
1636 Certes propietats de context es poden modificar sols dins de les
1637 ordres @code{\with}.  Són aquelles propietats que no es poden
1638 canviar després que el context s'hagi
1639 creat. @code{alignAboveContext} i el seu company,
1640 @code{alignBelowContext}, són dos d'aquestes propietats: un cop
1641 que el pentagrama s'ha creat, la seva alineació està decidida i no
1642 tindria sentit intentar canviar-la més tard.
1643
1644 Els valors predeterminats de les propietats dels objectes de
1645 presentació també es poden establir dins d'ordres
1646 @code{\with}. Simplement utilitzeu l'ordre @code{\override} normal
1647 deixant a part el nom del context, ja que està definit sense
1648 ambigüitat com el context que l'ordre @code{\with} està
1649 modificant.  De fet, es produirà un error si s'especifica un
1650 context en aquest lloc.
1651
1652 Així doncs, podem reemplaçar l'exemple anterior amb
1653
1654 @cindex alignAboveContext, propietat, exemple
1655 @cindex @code{\with}, exemple
1656 @cindex Clef, exemple de sobreescriptura
1657 @cindex TimeSignature, exemple de sobreescriptura
1658
1659 @lilypond[quote,ragged-right,verbatim]
1660 \new Staff ="main" {
1661   \relative {
1662     r4 g'8 g c4 c8 d |
1663     e4 r8
1664     <<
1665       { f8 c c }
1666       \new Staff \with {
1667         alignAboveContext = #"main"
1668         % Don't print clefs in this staff
1669         \override Clef.stencil = ##f
1670         % Don't print time signatures in this staff
1671         \override TimeSignature.stencil = ##f
1672       }
1673       { f8 f c }
1674     >>
1675     r4 |
1676   }
1677 }
1678 @end lilypond
1679
1680 Resulta que també podem usar aquí les abreviatures @code{\hide} i
1681 @code{\omit} per fixar la propietat @code{transparent} i esborrar
1682 el @code{stencil}, el que condueix al resultat següent:
1683
1684 @lilypond[quote,ragged-right,verbatim]
1685 \new Staff ="principal" {
1686   \relative {
1687     r4 g'8 g c4 c8 d |
1688     e4 r8
1689     <<
1690       { f8 c c }
1691       \new Staff \with {
1692         alignAboveContext = #"principal"
1693         % No imprimeixis claus en aquest pentagrama
1694         \omit Clef
1695         % No imprimeixis indicacions de compàs en aquest pentagrama
1696         \omit TimeSignature
1697       }
1698       { f8 f c }
1699     >>
1700     r4 |
1701   }
1702 }
1703 @end lilypond
1704
1705 Finalment arribem a la forma de canviar la mida dels objectes de
1706 presentació.
1707
1708 Certs objectes de presentació es creen com glifs trets d'un tipus
1709 de lletra.  Entre ells es troben els caps, alteracions, elements
1710 de marcatge, claus, indicacions de compàs, indicacions dinàmiques
1711 i la lletra de les cançons.  La seva mida es canvia mitjançant la
1712 modificació de la propietat @code{font-size}, com veurem en breu.
1713 Altres objectes de presentació, com ara lligadures d'unió i
1714 d'expressió (en general, objectes d'extensió) es dibuixen
1715 individualment, per la qual cosa no hi ha una mida de tipus de
1716 lletra @code{font-size} associat amb ells.  Aquests objectes
1717 generalment deriven la seva mida dels objectes als quals estan
1718 adjuntats, i per això normalment no hi ha necessitat de
1719 canviar-los la mida manualment.  A més a més, altres propietats
1720 com la longitud de les pliques i les barres de compàs, el gruix de
1721 les barres de corxera i altres línies, i la separació de les
1722 línies del pentagrama, s'han de modificar d'altres maneres especials.
1723
1724 Tornant a l'exemple de l'ossia, canviarem en primer lloc la mida
1725 del tipus de lletra.  Podem fer-lo de dues formes.  Podem canviar
1726 la mida dels tipus de lletra de cadascú dels tipus d'objecte com
1727 els caps (@code{NoteHead}s) amb instruccions com ara:
1728
1729 @example
1730 \override NoteHead.font-size = #-2
1731 @end example
1732
1733 o podem canviar la mida de tots els tipus de lletra establint una
1734 propietat especial, @code{fontSize}, utilitzant @code{\set}, o
1735 mitjançant la seva inclusió dins d'una ordre @code{\with} (però
1736 sense el @code{\set}).
1737
1738 @example
1739 \set fontSize = #-2
1740 @end example
1741
1742 Els dos enunciats produirien una reducció de la mida del tipus de
1743 lletra en dos passos a partir del seu valor previ, on cada pas
1744 redueix o augmenta la mida aproximadament en un 12%.
1745
1746 Ho provarem al nostre exemple de l'ossia:
1747
1748 @cindex alignAboveContext, propietat, exemple
1749 @cindex @code{\with}, exemple
1750 @cindex Clef, exemple de sobreescriptura
1751 @cindex TimeSignature, exemple de sobreescriptura
1752 @cindex fontSize, propietat, exemple
1753
1754 @lilypond[quote,ragged-right,verbatim]
1755 \new Staff ="main" {
1756   \relative {
1757     r4 g'8 g c4 c8 d |
1758     e4 r8
1759     <<
1760       { f8 c c }
1761       \new Staff \with {
1762         alignAboveContext = #"main"
1763         \omit Clef
1764         \omit TimeSignature
1765         % Reduce all font sizes by ~24%
1766         fontSize = #-2
1767       }
1768       { f8 f c }
1769     >>
1770     r4 |
1771   }
1772 }
1773 @end lilypond
1774
1775 Encara no està massa bé.  Els caps i els claudàtors de les notes
1776 són més petits, però les pliques són massa llargues en proporció,
1777 i les línies del pentagrama estan massa separades entre sí.  S'ha
1778 de reduir la seva escala en proporció a la reducció del tipus de
1779 lletra.  El següents apartat tracta sobre com es fa això.
1780
1781 @node Longitud i gruix dels objectes
1782 @subsection Longitud i gruix dels objectes
1783 @translationof Length and thickness of objects
1784
1785 @cindex distàncies
1786 @cindex gruix
1787 @cindex longitud
1788 @cindex magstep
1789 @cindex mida, canviar
1790 @cindex plica, canviar la longitud
1791 @cindex pentagrama, canviar la separació de les línies
1792
1793 Les distàncies i longituds al LilyPond es mesuren generalment en
1794 espais de pentagrama, la distància entre línies adjacents de la
1795 pauta (o de manera ocasional mig espais), mentre que la major part
1796 de les propietats de @code{thickness} (gruix) es mesuren en
1797 unitats d'una propietat interna anomenada @code{line-thickness.}
1798 Per exemple, de forma predeterminada, a les línies dels reguladors
1799 se'ls dóna un gruix d'una unitat de @code{line-thickness}, mentre
1800 que el @code{thickness} d'una plica és 1.3.  Observeu tanmateix
1801 que certes propietats de gruix són diferents; per exemple, el
1802 gruix de les barres de corxera es controla per mitjà del valor de
1803 @code{beam-thickness}, que es mesura en espais de pentagrama.
1804
1805 Aleshores, com s'han d'escalar les longituds en proporció a la
1806 mida del tipus de lletra?  Es pot fer amb l'ajuda d'una funció
1807 espacial que s'anomena @code{magstep}, pensada especialment per a
1808 aquest propòsit.  Agafa un argument, el canvi de mida de la
1809 tipografia (#-2 al nostre exemple) i retorna un factor d'escalat
1810 adequat per reduir altres objectes en la mateixa proporció. S'una
1811 de la forma següent:
1812
1813 @cindex alignAboveContext, propietat, exemple
1814 @cindex @code{\with}, exemple
1815 @cindex Clef, exemple de sobreescriptura
1816 @cindex TimeSignature, exemple de sobreescriptura
1817 @cindex fontSize, propietat, exemple
1818 @cindex StaffSymbol, exemple de sobreescriptura
1819 @cindex magstep, funció, exemple d'utilització
1820 @cindex staff-space, propietat, exemple
1821 @cindex stencil, propietat, exemple
1822
1823 @lilypond[quote,ragged-right,verbatim]
1824 \new Staff ="main" {
1825   \relative {
1826     r4 g'8 g c4 c8 d |
1827     e4 r8
1828     <<
1829       { f8 c c }
1830       \new Staff \with {
1831         alignAboveContext = #"main"
1832         \omit Clef
1833         \omit TimeSignature
1834         fontSize = #-2
1835         % Redueix la longitud de la plica i l'espaiat entre línies per concordar
1836         \override StaffSymbol.staff-space = #(magstep -2)
1837       }
1838       { f8 f c }
1839     >>
1840     r4 |
1841   }
1842 }
1843 @end lilypond
1844
1845 @noindent
1846 Atès que la longitud de les pliques i moltes altres propietats
1847 relacionades amb les longituds es calculen sempre en relació al
1848 valor de la propietat @code{staff-space}, la seva longitud també
1849 veu reduïda la seva escala automàticament.  Observeu que això
1850 afecta sols a l'escala vertical de l'ossia: l'escala horitzontal
1851 es determina per mitjà de la disposició de la música principal amb
1852 l'objectiu de mantenir-se en sincronia amb ella, de forma que no
1853 resulti afectada per cap d'aquests canvis de mida.  Per suposat,
1854 si l'escala de tota la música principal es canviés d'aquesta
1855 forma, aleshores l'espaiat horitzontal es veuria afectat.
1856 Tractarem d'això més tard, en la secció sobre la disposició.
1857
1858 Això, finalment, completa la creació d'un ossia.  Les mides i
1859 longituds de la resta dels objectes es poden modificar de manera
1860 semblant.
1861
1862 Per a canvis d'escala petits, com a l'exemple de dalt, el gruix de
1863 les diverses línies dibuixades com ara divisòries, barres de
1864 corxera, reguladors, lligadures, etc., no requereixen normalment
1865 cap ajust global.  Si cal ajustar el gruix de qualsevol objecte de
1866 presentació en particular, es pot fer millor mitjançant la
1867 sobreescriptura de la seva propietat
1868 @code{thickness}. Anteriorment vam mostrar un exemple de canvi de
1869 gruix en les lligadures, a @ref{Propietats dels objectes de
1870 presentació}. El gruix de tots els objectes dibuixats (és a dir,
1871 aquells que no es produeixen a partir d'un tipus de lletra) es
1872 poden canviar de la mateixa forma.
1873
1874 @node Col·locació dels objectes
1875 @section Col·locació dels objectes
1876 @translationof Placement of objects
1877
1878 @menu
1879 * Comportament automàtic::
1880 * Objectes interiors al pentagrama::
1881 * Objectes fora del pentagrama::
1882 @end menu
1883
1884
1885 @node Comportament automàtic
1886 @subsection Comportament automàtic
1887 @translationof Automatic behavior
1888
1889 @cindex dins del pentagrama, objectes
1890 @cindex fora del pentagrama, objectes
1891 @cindex objectes dins del pentagrama
1892 @cindex objectes fora del pentagrama
1893
1894 Hi ha certs objectes a la notació musical que pertanyen al
1895 pentagrama i d'altres amb un lloc fora del pentagrama. Reben el
1896 nom d'objectes dins-del-pentagrama i objectes fora-del-pentagrama,
1897 respectivament.
1898
1899 Els objectes dins-del-pentagrama són els que se situen sobre la
1900 pauta: caps, pliques, alteracions, etc.  Les seves posicions
1901 normalment es fixen per la pròpia música; es posicionen
1902 verticalment sobre línies específiques del pentagrama o estan
1903 units a d'altres objectes posicionats d'aquesta forma.  Les
1904 col·lisions entre caps, pliques i alteracions en acords de notes
1905 molt juntes, normalment s'eviten automàticament.  Hi ha
1906 instruccions i sobreescriptures que poden modificar aquest
1907 comportament automàtic, com veurem en breu.
1908
1909 Entre els objectes que pertanyen a l'exterior de la pauta es
1910 troben coses com les marques d'assaig, les marques de text i les
1911 de dinàmica.  La regla del LilyPond per a la col·locació vertical
1912 dels objectes fora-de-pentagrama és col·locar-los tan a prop del
1913 pentagrama com sigui possible, però no tan a prop com perquè
1914 puguin xocar amb algun altre objecte.  El LilyPond utilitza la
1915 propietat @code{outside-staff-priority} per determinar l'ordre en
1916 el qual s'han de situar els objectes, com veurem ara.
1917
1918 En primer lloc, el LilyPond situa tots els objecte
1919 dins-del-pentagrama.  Després ordena els objectes
1920 fora-del-pentagrama d'acord amb la seva prioritat
1921 @code{outside-staff-priority}.  Els objectes fora-del-pentagrama
1922 s'agafen d'un en un, començant pel que té la prioritat
1923 @code{outside-staff-priority} més baixa, i se situen de forme que
1924 no col·lisionin amb cap objecte que s'hagi col·locat ja.  O sigui,
1925 si dos grobs fora-del-pentagrama competeixen pel mateix espai, el
1926 que té la prioritat  @code{outside-staff-priority} més baixa es
1927 col·locarà més a prop del pentagrama.  Si dos objectes tenen la
1928 mateixa @code{outside-staff-priority}, el que s'ha trobat primer
1929 se situarà més a prop de la pauta.
1930
1931 A l'exemple següent tots els textos de marcatge tenen la mateixa
1932 prioritat (atès que no s'ha establert explícitament).  Observeu
1933 que @q{Text3} es posiciona de nou automàticament a prop del
1934 pentagrama, acomodat per sota de @q{Text2}.
1935
1936 @cindex markup, exemple
1937
1938 @lilypond[quote,fragment,ragged-right,verbatim]
1939 c''2^"Text1"
1940 c''2^"Text2" |
1941 c''2^"Text3"
1942 c''2^"Text4" |
1943 @end lilypond
1944
1945 Els pentagrames també es posicionen, de forma predeterminada, tan
1946 a prop els uns dels altre com sigui possible (subjecte a una
1947 separació mínima).  Si les notes es projecten molt lluny en
1948 direcció a un pentagrama adjacent, forçaran a allunyar-se als
1949 pentagrames sols si en cas contrari anés a ocórrer un solapament
1950 de la notació.  L'exemple següent mostra aquesta acomodació
1951 @q{nestling} de les notes sobre pentagrames adjacents:
1952
1953 @lilypond[quote,ragged-right,verbatim]
1954 <<
1955   \new Staff {
1956     \relative { c'4 a, }
1957   }
1958   \new Staff {
1959     \relative { c''''4 a, }
1960   }
1961 >>
1962 @end lilypond
1963
1964
1965 @node Objectes interiors al pentagrama
1966 @subsection Objectes interiors al pentagrama
1967 @translationof Within-staff objects
1968
1969 Ja hem vist com les instruccions @code{\voiceXXX} afecten a la
1970 direcció de les lligadures d'expressió i d'unió, digitacions i
1971 tots els altres elements que depenen de la direcció de les pliques
1972 (vegeu @ref{Voces explícitas}).  Quan s'escriu música polifònica,
1973 aquestes ordres són essencials perquè puguin distingir-se diverses
1974 línies melòdiques entrellaçades.  Però ocasionalment pot caldre
1975 sobreescriure aquest comportament automàtic.  Es pot fer seccions
1976 de música completes o fins i tot per a una nota individual.  La
1977 propietat que controla aquest comportament és la propietat de
1978 @code{direction} (direcció) de cada objecte de presentació.  En
1979 primer lloc explicarem que fa això, i després introduirem algunes
1980 instruccions llestes per usar que us evitaran haver de codificar
1981 sobreescriptures explícites per a les modificacions més comunes.
1982
1983 Algunes objectes de presentació com les lligadures es corben cap
1984 amunt o cap avall; d'altres com  les pliques  els claudàtors també
1985 es mouen a la dreta o a l'esquerra quan apunten cap amunt o cap
1986 avall.  Això es controla automàticament quan està establerta la
1987 propietat @code{direction}.
1988
1989 @menu
1990 * La propietat direction (direcció)::
1991 * Digitacions::
1992 @end menu
1993
1994 @node La propietat direction (direcció)
1995 @unnumberedsubsubsec La propietat @code{direction} (direcció)
1996 @translationof The direction property
1997
1998 @cindex amunt
1999 @cindex avall
2000 @cindex centre
2001 @cindex neutre
2002 @cindex down
2003 @cindex up
2004 @cindex center
2005 @cindex neutral
2006
2007 L'exemple següent mostra al primer compàs la col·locació
2008 predeterminada de les lligadures d'expressió, estant per sobre les
2009 que comencen en notes agudes i per sota les que comencen en notes
2010 greus, seguit d'un compàs amb ambdues lligadures forçades cap
2011 avall, un altre compàs amb les dues forçades cap amunt i per últim
2012 un compàs amb les lligadures retornades al seu comportament
2013 predeterminat.
2014
2015 @cindex Slur, exemple de sobreescriptura
2016 @cindex direction, propietat, exemple
2017
2018 @lilypond[quote,fragment,verbatim]
2019 a'4( g') c''( a') |
2020 \override Slur.direction = #DOWN
2021 a'4( g') c''( a') |
2022 \override Slur.direction = #UP
2023 a'4( g') c''( a') |
2024 \revert Slur.direction
2025 a'4( g') c''( a') |
2026 @end lilypond
2027
2028 Aquí hem usat les constants @code{DOWN} (avall) i @code{UP}
2029 (amunt).  Aquestes constants tenen els valors @w{@code{-1}} i
2030 @code{+1}, respectivament, i aquests valors numèrics també es
2031 poden usar directament.  El valor @code{0} també es pot usar en
2032 alguns casos.  Per a les lligadures d'expressió el significat
2033 simplement és @code{up} (cap amunt), però per a alguns objectes té
2034 el significat de @q{centrat}.  Hi ha una constant @code{CENTER}
2035 que té el valor de @code{0}.
2036
2037 Tanmateix, aquestes sobreescriptures no s'usen massa sovint perquè
2038 hi ha disponibles algunes ordres predefinides equivalents més
2039 senzilles. Aquí podem veure una taula de les més comunes.  Es
2040 menciona el significat de cadascuna allí on no és obvi.
2041
2042 @multitable @columnfractions .2 .2 .25 .35
2043 @headitem Avall o Esquerra
2044   @tab Amunt o Dreta
2045   @tab Anul·lar
2046   @tab Efecte
2047 @item @code{\arpeggioArrowDown}
2048   @tab @code{\arpeggioArrowUp}
2049   @tab @code{\arpeggioNormal}
2050   @tab La fletxa està a sota, a dalt o no hi ha fletxa
2051 @item @code{\dotsDown}
2052   @tab @code{\dotsUp}
2053   @tab @code{\dotsNeutral}
2054   @tab Direcció del desplaçament per evitar les línies del pentagrama
2055 @item @code{\dynamicDown}
2056   @tab @code{\dynamicUp}
2057   @tab @code{\dynamicNeutral}
2058   @tab
2059 @item @code{\phrasingSlurDown}
2060   @tab @code{\phrasingSlurUp}
2061   @tab @code{\phrasingSlurNeutral}
2062   @tab Nota: diferent de les ordres de lligadures d'expressió
2063 @item @code{\slurDown}
2064   @tab @code{\slurUp}
2065   @tab @code{\slurNeutral}
2066   @tab
2067 @item @code{\stemDown}
2068   @tab @code{\stemUp}
2069   @tab @code{\stemNeutral}
2070   @tab
2071 @item @code{\textSpannerDown}
2072   @tab @code{\textSpannerUp}
2073   @tab @code{\textSpannerNeutral}
2074   @tab El text introduït com a objecte d'extensió està a sota o a sobre del pentagrama
2075 @item @code{\tieDown}
2076   @tab @code{\tieUp}
2077   @tab @code{\tieNeutral}
2078   @tab
2079 @item @code{\tupletDown}
2080   @tab @code{\tupletUp}
2081   @tab @code{\tupletNeutral}
2082   @tab Els grups especials estan a sota a sobre de les notes
2083 @end multitable
2084
2085 Les variants neutres o normals d'aquests ordres estan
2086 implementades usant @code{\revert} i aquestes ordres @strong{no}
2087 poden anar precedides de @code{\once}.  Si voleu limitar l'efecte
2088 de les altres ordres (que estan implementades usant
2089 @code{\override}) a un sol pas de temps, podeu precedir-la de
2090 @code{\once} de la mateixa forma que ho faríeu amb les
2091 sobreescriptures explícites.
2092
2093 O be, si cap forçar un únic objecte de presentació cap amunt o cap
2094 avall, es poden usar els indicadors de direcció, @code{^} o
2095 @code{_}:
2096
2097 @lilypond[quote,fragment,verbatim]
2098 a'4( g') c''( a') |
2099 a'4^( g') c''_( a') |
2100 @end lilypond
2101
2102 @node Digitacions
2103 @unnumberedsubsubsec Digitacions
2104 @translationof Fingering
2105
2106 @cindex digitació, col·locació
2107 @cindex digitació d'acords
2108
2109 La col·locació de les digitacions sobre notes soltes també es pot
2110 controlar mitjançant la propietat @code{direction}, però els
2111 canvis sobre @code{direction} no tenen cap efecte sobre les notes
2112 dels acords.  Com veurem, hi ha ordres especials que permeten
2113 controlar les digitacions de notes individuals, situant la
2114 digitació a sobre, a sota, a l'esquerra o a la dreta de cada nota.
2115
2116 En primer lloc, vet aquí l'efecte de @code{direction} sobre les
2117 digitacions aplicades a notes soltes.  Es mostra en el primer
2118 compàs el comportament predeterminat, i en els dos compassos
2119 següents l'efecte d'especificat @code{DOWN} i @code{UP}:
2120
2121 @cindex Fingering, exemple de sobreescriptura
2122 @cindex direction, propietat, exemple
2123
2124 @lilypond[quote,verbatim]
2125 \relative {
2126   c''4-5 a-3 f-1 c'-5 |
2127   \override Fingering.direction = #DOWN
2128   c4-5 a-3 f-1 c'-5 |
2129   \override Fingering.direction = #UP
2130   c4-5 a-3 f-1 c'-5 |
2131 }
2132 @end lilypond
2133
2134 Tanmateix, la sobreescriptura de la propietat @code{direction} no
2135 és la forma més senzilla d'especificar manualment la digitació per
2136 sobre o per sot de les notes; sol ser preferible usar
2137 @code{_} o @code{^} en lloc de @code{-}, abans del número de la
2138 digitació.  Aquest és l'exemple anterior utilitzant aquest mètode:
2139
2140 @cindex fingering, exemple
2141 @cindex digitación, exemple
2142
2143 @lilypond[quote,verbatim]
2144 \relative {
2145   c''4-5 a-3 f-1 c'-5 |
2146   c4_5 a_3 f_1 c'_5 |
2147   c4^5 a^3 f^1 c'^5 |
2148 }
2149 @end lilypond
2150
2151 La propietat @code{direction} s'ignora per als acords, però els
2152 prefixos direccionals @code{_} i @code{^} sí funcionen. De forma
2153 sí funcionen.  De forma predeterminada, les digitacions es
2154 col·loquen automàticament a sobre i a sota de les notes d'un
2155 acord, com es mostra aquí:
2156
2157 @cindex fingering, exemple
2158 @cindex digitación, exemple
2159
2160 @lilypond[quote,verbatim]
2161 \relative {
2162   <c''-5 g-3>4
2163   <c-5 g-3 e-2>4
2164   <c-5 g-3 e-2 c-1>4
2165 }
2166 @end lilypond
2167
2168 @noindent
2169 però es pot forçar de manera que tots o alguns dels números de
2170 digitació estan per sobre o per sota:
2171
2172 @cindex fingering, exemple
2173 @cindex digitación, exemple
2174
2175 @lilypond[quote,verbatim]
2176 \relative {
2177   <c''-5 g-3 e-2 c-1>4
2178   <c^5 g_3 e_2 c_1>4
2179   <c^5 g^3 e^2 c_1>4
2180 }
2181 @end lilypond
2182
2183 És possible exercir un control encara més gran sobre la
2184 col·locació de les digitacions mitjançant la utilització de
2185 l'ordre @code{\set fingeringOrientations}.  El format d'aquesta
2186 ordre és:
2187
2188 @example
2189 @code{\set fingeringOrientations = #'([up] [left/right] [down])}
2190 @end example
2191
2192 @noindent
2193 s'utilitza @code{\set} perquè @code{fingeringOrientations} és una
2194 propietat del context @code{Voice}, creat i usat pel gravador
2195 @code{New_fingering_engraver}.
2196
2197 La propietat es pot establir al valor d'una llista d'entre u i
2198 tres valors.  Controla si les digitacions es poden col·locar per
2199 sobre (si @code{up} apareix a la llista), per sota (si apareix
2200 @code{down}), a l'esquerra (si apareix @code{left}) o a la dreta
2201 (si apareix @code{right}).  A la inversa, si una col·locació no
2202 està a la llista, no se situa cap digitació en aquest lloc.  El
2203 LilyPond agafa aquestes restriccions i calcula la millor
2204 col·locació per a la digitació de les notes dels acords que
2205 segueixen.  Observeu que @code{left} i @code{right} són mútuament
2206 excloents: les digitacions poden situar-se a un costat o l'altre,
2207 no als dos.
2208
2209 @warning{Per controlar la col·locació de la digitació d'una sola
2210 nota usant aquesta instrucció és necessari escriure-la com un
2211 acord d'una sola nota envoltant-la entre angles simples.}
2212
2213 Aquí podem veure alguns exemples:
2214
2215 @cindex fingering, exemple
2216 @cindex digitación, exemple
2217 @cindex @code{\set}, exemple d'utilització
2218 @cindex fingeringOrientations, propietat, exemple
2219
2220 @lilypond[quote,ragged-right,verbatim]
2221 \relative {
2222   \set fingeringOrientations = #'(left)
2223   <f'-2>4
2224   <c-1 e-2 g-3 b-5>4
2225   \set fingeringOrientations = #'(left)
2226   <f-2>4
2227   <c-1 e-2 g-3 b-5>4 |
2228   \set fingeringOrientations = #'(up left down)
2229   <f-2>4
2230   <c-1 e-2 g-3 b-5>4
2231   \set fingeringOrientations = #'(up left)
2232   <f-2>4
2233   <c-1 e-2 g-3 b-5>4 |
2234   \set fingeringOrientations = #'(right)
2235   <f-2>4
2236   <c-1 e-2 g-3 b-5>4
2237 }
2238 @end lilypond
2239
2240 @noindent
2241 Si la digitació sembla una mica superpoblada, es pot reduir la
2242 mida @code{font-size}.  El valor predeterminat pot veure's a
2243 l'objecte @code{Fingering} del RFI que és @w{@code{-5}}, així que
2244 provarem @w{@code{-7}}:
2245
2246 @lilypond[quote,ragged-right,verbatim]
2247 \relative {
2248   \override Fingering.font-size = #-7
2249   \set fingeringOrientations = #'(left)
2250   <f'-2>4
2251   <c-1 e-2 g-3 b-5>4
2252   \set fingeringOrientations = #'(left)
2253   <f-2>4
2254   <c-1 e-2 g-3 b-5>4 |
2255   \set fingeringOrientations = #'(up left down)
2256   <f-2>4
2257   <c-1 e-2 g-3 b-5>4
2258   \set fingeringOrientations = #'(up left)
2259   <f-2>4
2260   <c-1 e-2 g-3 b-5>4 |
2261   \set fingeringOrientations = #'(right)
2262   <f-2>4
2263   <c-1 e-2 g-3 b-5>4
2264 }
2265 @end lilypond
2266
2267
2268 @node Objectes fora del pentagrama
2269 @subsection Objectes fora del pentagrama
2270 @translationof Outside-staff objects
2271
2272 Els objectes fora del pentagrama se situen automàticament per
2273 evitar les col·lisions.  Hi ha diverses formes de sobreescriure la
2274 col·locació automàtica si el posicionat no resulta òptim.
2275
2276 @menu
2277 * La propietat outside-staff-priority (prioritat fora del pentagrama)::
2278 * L'ordre textLengthOn::
2279 * Posicionament dels matisos dinàmics::
2280 * Escalat d'un «Grob»::
2281 @end menu
2282
2283
2284 @node La propietat outside-staff-priority (prioritat fora del pentagrama)
2285 @unnumberedsubsubsec La propietat @code{outside-staff-priority} (prioritat fora del pentagrama)
2286 @translationof The outside-staff-priority property
2287
2288 Els objectes fora-del-pentagrama es col·loquen automàticament per
2289 evitar les col·lisions.  Els objectes que tenen el valor més bais
2290 de la propietat @code{outside-staff-priority} se situen més a prop
2291 del pentagrama, i llavors altres objectes fora-del-pentagrama
2292 s'aixequen tant com sigui necessari per evitar la col·lisió.  La
2293 prioritat @code{outside-staff-priority} es defineix al
2294 @code{grob-interface} i així és una propietat de totes els
2295 objectes de presentació.  De forma predeterminada s'estableix a
2296 @code{#f} per a tots els objectes dins-del-pentagrama, i a un
2297 valor numèric adequat a cada objecte fora-del-pentagrama quan es
2298 crea l'objecte.  La taula següent presenta els valors numèrics
2299 predeterminats per a alguns dels objectes fora-del-pentagrama més comuns.
2300
2301 @cinde objectes d'extensió
2302
2303 Observeu els noms una mica inusuals d'alguns dels objectes: els
2304 objectes d'extensió es creen automàticament per controlar el
2305 posicionament vertical dels grobs que (potser) comencen i acaben
2306 en diferents moments musicals, de manera que qualsevol modificació
2307 a la prioritat @code{outside-staff-priority} del grob subjacent no
2308 té cap efecte.  Per exemple, canviar la
2309 @code{outside-staff-priority} de l'objecte de regulador
2310 @code{Hairpin} no té efecte sobre la posició vertical dels
2311 reguladors: en comptes d'això, hem de canviar la
2312 @code{outside-staff-priority} de l'objecte associat
2313 @code{DynamicLineSpanner}.  Aquesta sobreescriptura s'ha de fer al
2314 començament de l'objecte d'extensió, que podria incloure diversos
2315 reguladors o matisos dinàmics encadenats.
2316
2317 @multitable @columnfractions .3 .3 .3
2318 @headitem Objecte de presentació
2319   @tab Prioritat
2320   @tab Controla la posició de:
2321 @item @code{RehearsalMark}
2322   @tab @code{1500}
2323   @tab Lletres d'assaig
2324 @item @code{MetronomeMark}
2325   @tab @code{1000}
2326   @tab Indicacions metronòmiques
2327 @item @code{VoltaBracketSpanner}
2328   @tab @code{600}
2329   @tab Caixetes de primer i segona vegada
2330 @item @code{TextScript}
2331   @tab @code{450}
2332   @tab Text en elements de marcatge
2333 @item @code{MultiMeasureRestText}
2334   @tab @code{450}
2335   @tab Text sobre silencis de compàs complet
2336 @item @code{OttavaBracket}
2337   @tab @code{400}
2338   @tab Claudàtors d'octava alta i baixa
2339 @item @code{TextSpanner}
2340   @tab @code{350}
2341   @tab Objectes d'extensió de text
2342 @item @code{DynamicLineSpanner}
2343   @tab @code{250}
2344   @tab Totes les indicacions dinàmiques
2345 @item @code{VoltaBracketSpanner}
2346   @tab @code{100}
2347   @tab Números de compàs
2348 @item @code{TrillSpanner}
2349   @tab @code{50}
2350   @tab Trins mantinguts
2351 @end multitable
2352
2353 Vet aquí un exemple que mostra la situació predeterminada d'alguns
2354 d'ells.
2355
2356 @cindex text, extensions de
2357 @cindex octava alta y baixa, claudàtor de
2358
2359 @funindex \startTextSpan
2360 @funindex startTextSpan
2361 @funindex \stopTextSpan
2362 @funindex stopTextSpan
2363
2364 @cindex TextSpanner, exemple de sobreescriptura
2365 @cindex bound-details, propietat, exemple
2366
2367 @lilypond[quote,fragment,ragged-right,verbatim]
2368 % Estableix els detalls per a un Text Spanner posterior
2369 \override TextSpanner.bound-details.left.text
2370     = \markup { \small \bold Slower }
2371 % Col·loca la indicació dinàmica a sobre del pentagrama
2372 \dynamicUp
2373 % Inicia el claudàtor d'octava
2374 \ottava #1
2375 c''4 \startTextSpan
2376 % Afegeix el text de la indicació dinàmica i el símbol
2377 c''4\pp\<
2378 c''4
2379 % Afegeix el fragment de text
2380 c''4^Text |
2381 c''4 c''
2382 % Afegeix el text de la dinàmica i finalitza el símbol
2383 c''4\ff c'' \stopTextSpan |
2384 % Stop Ottava Bracket
2385 \ottava #0
2386 c'4 c' c' c' |
2387 @end lilypond
2388
2389 Aquest exemple també mostra com crear textos amb extensió (Text
2390 Spanners): textos amb línies extensores per sobre d'una secció de
2391 música.  L'extensor abasta des de l'ordre@code{\startTextSpan}
2392 fins l'ordre @code{\stopTextSpan}, i el format del text es
2393 defineix per mitjà de l'ordre @code{\override TextSpanner}.  Per
2394 veure més detalls, consulteu@rusernamed{Text spanners,Extensions de text}.
2395
2396 També mostra la manera de crear claudàtors d'octava alta i baixa.
2397
2398 @cindex ajustar la ubicació dels números de compàs
2399 @cindex números de compàs, ajustar posició
2400 @cindex ajustar la situació de marques metronòmiques
2401 @cindex metrònom, situació de les indicacions de
2402 @cindex ajustar la situació de les lletres d'assaig
2403 @cindex assaig, lletres, ajustar la col·locació
2404
2405 Si els valors predeterminats de @code{outside-staff-priority} no
2406 us ofereixen les col·locacions desitjades es pot sobreescriure la
2407 prioritat de qualssevol dels objectes.  Suposeu que volguéssim que
2408 el claudàtor d'octava estigués situat per sota de l'element
2409 extensor de text a l'exemple de dalt.  Tot el que hem de fer és
2410 localitzar la prioritat de @code{OttavaBracket} al RFI o en les
2411 taules anteriors, i reduir-lo a un valor inferior al de
2412 @code{TextSpanner}, recordant que @code{OttavaBracket} es crea
2413 dins del context @code{Staff}:
2414
2415 @cindex TextSpanner, exemple de sobreescriptura
2416 @cindex bound-details, propietat, exemple
2417
2418 @lilypond[quote,fragment,ragged-right,verbatim]
2419 % Estableix els detalls per a un Text Spanner posterior
2420 \override TextSpanner.bound-details.left.text
2421     = \markup { \small \bold Slower }
2422 % Ubica els indicadors de dinàmica a sobre del pentagrama
2423 \dynamicUp
2424 % Posa els següent claudàtor d'octava a sota dels Text Spanners
2425 \once \override Staff.OttavaBracket.outside-staff-priority = #340
2426 % Start Ottava Bracket
2427 \ottava #1
2428 c''4 \startTextSpan
2429 % Afegeix el text de la dinàmica
2430 c''4\pp
2431 % Afegeix l'extensor de la línia de dinàmica
2432 c''4\<
2433 % Afegeix el fragment de text
2434 c''4^Text |
2435 c''4 c''
2436 % Afegeix el text de la dinàmica
2437 c''4\ff c'' \stopTextSpan |
2438 % Atura el claudàtor d'octava
2439 \ottava #0
2440 c'4 c' c' c' |
2441 @end lilypond
2442
2443 Observeu que alguns d'aquests objectes, concretament els números de
2444 compàs, les indicacions metronòmiques i les lletres d'assaig, es
2445 fiquen de forma predeterminada dins del context @code{Score}; així
2446 doncs, us heu d'assegurar que utilitzeu el context adequat quan se
2447 sobreescriuen les propietats.
2448
2449 @cindex lligadures i outside-staff-priority
2450 @cindex lligadures i articulacions
2451 @cindex articulacions i lligadures
2452
2453 De forma predeterminada, les lligadures d'expressió estan
2454 classificades com objectes dins-del-pentagrama, però amb
2455 freqüència apareixen a sobre del pentagrama si les notes que
2456 uneixen són molt agudes.  Això pot empènyer els objectes
2457 fora-del-pentagrama com les articulacions a una posició molt
2458 elevada, atès que la lligadura es col·locarà en primer lloc.  La
2459 propietat @code{avoid-slur} de l'articulació es pot establir al valor
2460 @code{'inside} (per dins) per portar-la a l'interior de la
2461 lligadura, però la propietat @code{avoid-slur} és efectiva sols si
2462 la prioritat @code{outside-staff-priority} està també establerta
2463 al valor @code{#f}.  De forma alternativa, la prioritat
2464 @code{outside-staff-priority} de la lligadura es pot fixar en un
2465 valor numèrica per fer que se situï en línia amb altres objectes
2466 fora del pentagrama d'acord amb aquest valor.  Vet aquí un exemple
2467 que mostra l'efecte dels dos mètodes:
2468
2469 @lilypond[quote,verbatim]
2470 \relative c'' {
2471   c4( c^\markup { \tiny \sharp } d4.) c8 |
2472   c4(
2473     \once \override TextScript.avoid-slur = #'inside
2474     \once \override TextScript.outside-staff-priority = ##f
2475     c4^\markup { \tiny \sharp } d4.) c8 |
2476   \once \override Slur.outside-staff-priority = #500
2477     c4( c^\markup { \tiny \sharp } d4.) c8 |
2478 }
2479 @end lilypond
2480
2481 Els canvis a @code{outside-staff-priority} també es poden usar per
2482 controlar la ubicació vertical dels objectes individuals, tot i
2483 que els resultats poden no ser sempre desitjables.  Suposeu que
2484 voleu que @qq{Text3} se situï per sobre de @qq{Text4} a l'exemple
2485 sota l'epígraf Comportament Automàtic de més a dalt (vegeu
2486 @ref{Comportament automàtic}).  Tot el que estem fer és localitzar
2487 la prioritat de @code{TextScript} en el RFI o en les taules de
2488 dalt, i augmentar la prioritat de @qq{Text3} fins un valor superior:
2489
2490 @cindex TextScript, exemple de sobreescriptura
2491 @cindex outside-staff-priority, propietat, exemple
2492
2493 @lilypond[quote,fragment,ragged-right,verbatim]
2494 c''2^"Text1"
2495 c''2^"Text2" |
2496 \once \override TextScript.outside-staff-priority = #500
2497 c''2^"Text3"
2498 c''2^"Text4" |
2499 @end lilypond
2500
2501 Això, certament, aixeca a @qq{Text3} per sobre de @qq{Text4}, però
2502 també l'aixeca per sobre de @qq{Text2}, i @qq{Text4} ara cau cap a
2503 baix.  Potser no sigui tan bona idea.  I si el que realment volem
2504 fer és posicionar totes les anotacions a la mateixa distància per
2505 sobre del pentagrama?  Per fer-lo, ens caldrà clarament espaiar
2506 les notes en sentit horitzontal per fer lloc per al text  Això es
2507 fa usant l'ordre @code{textLengthOn}.
2508
2509 @node L'ordre textLengthOn
2510 @unnumberedsubsubsec L'ordre @code{@bs{}textLengthOn}
2511 @translationof The textLengthOn command
2512
2513 @cindex notes, espaiar amb el text
2514
2515 @funindex \textLengthOn
2516 @funindex textLengthOn
2517 @funindex \textLengthOff
2518 @funindex textLengthOff
2519
2520 De forma predeterminada, el text produït mitjançant marcatge no
2521 ocupa cap espai horitzontal en quant es refereix a la disposició
2522 de la música.  L'ordre @code{\textLengthOn} inverteix aquest
2523 comportament, fent que les notes resultin tan espaiades com sigui
2524 necessari per encabir el text:
2525
2526 @lilypond[quote,fragment,ragged-right,verbatim]
2527 \textLengthOn  % Fa que hi hagi més espai entre les notes per encabir el text
2528 c''2^"Text1"
2529 c''2^"Text2" |
2530 c''2^"Text3"
2531 c''2^"Text4" |
2532 @end lilypond
2533
2534 L'ordre per tornar al comportament predeterminat és
2535 @code{\textLengthOff}.  De forma alternativa es pot usar
2536 @code{\once} amb @code{\textLengthOn} si l'efecte s'ha de limitar
2537 a un sol moment musical.  El comportament d'espaiat corresponent
2538 per a les indicacions d'assaig i les indicacions de tempo es
2539 controla independentment amb les ordres @code{\markLengthOn} y
2540 @code{\markLengthOff}.
2541
2542 @cindex marcatge, text de, permetre les col·lisions en
2543
2544 El text de marcatge també evita les notes que es projecten per
2545 sobre del pentagrama.  Si això no és el que desitgem, el
2546 desplaçament automàtic cap a dalt es pot desactivar mitjançant
2547 l'establiment de la prioritat a @code{#f}.  Vet aquí un exemple
2548 que mostra com el text de marcatge interactua amb aquestes notes.
2549
2550 @cindex TextScript, exemple de sobreescriptura
2551 @cindex outside-staff-priority, propietat, exemple
2552
2553 @lilypond[quote,ragged-right,verbatim]
2554 \relative {
2555   % Aquest marcatge és suficientment curt per encabir sense col·lisió
2556   c''2^"Tex" c'' |
2557   R1 |
2558
2559   % Això és massa llarg per encabir, per això és mou cap amunt
2560   c,,2^"Text" c'' |
2561   R1 |
2562
2563   % Desactiva l'evitament de col·lisions
2564   \once \override TextScript.outside-staff-priority = ##f
2565   c,,2^"Long Text   " c'' |
2566   R1 |
2567
2568   % Desactiva l'evitament de col·lisions
2569   \once \override TextScript.outside-staff-priority = ##f
2570   \textLengthOn        % i activa textLengthOn
2571   c,,2^"Long Text   "  % Es respecten els espais al final
2572   c''2 |
2573 }
2574 @end lilypond
2575
2576 @node Posicionament dels matisos dinàmics
2577 @unnumberedsubsubsec Posicionament dels matisos dinàmics
2578 @translationof Dynamics placement
2579
2580 @cindex ajustament de la col·locació dels matisos
2581 @cindex dinàmica, ajustament de la col·locació de les indicacions de
2582 @cindex matisos, ajustament de la col·locació
2583
2584 Les indicacions de matís dinàmic normalment es col·locaran per
2585 sota del pentagrama, però es poden posicionar per sobre amb
2586 l'ordre @code{\dynamicUp}.  Se situaran verticalment respecte a la
2587 nota a la que van adossades, i flotaran per sota (o per sobre) de
2588 tots els objectes dins-del-pentagrama com ara les lligadures de
2589 fraseig i números de compàs.  Això pot oferir resultats força
2590 acceptables, com mostra aquest exemple:
2591
2592 @lilypond[quote,ragged-right,verbatim]
2593 \relative {
2594   \clef "bass"
2595   \key aes \major
2596   \time 9/8
2597   \dynamicUp
2598   bes4.~\f\< \( bes4 bes8 des4\ff\> c16 bes\! |
2599   ees,2.~\)\mf ees4 r8 |
2600 }
2601 @end lilypond
2602
2603 Malgrat això, si les notes i les seves indicacions dinàmiques
2604 adossades estan massa a prop, la col·locació automàtica evitarà
2605 les col·lisions desplaçant les marques dinàmiques posteriors més
2606 lluny, tot i que aquest pot no ser el lloc òptim, com mostra el
2607 següent exemple més bé artificial:
2608
2609 @lilypond[quote,ragged-right,verbatim,fragment]
2610 \dynamicUp
2611 \relative { a'4\f b\mf a\mp b\p }
2612 @end lilypond
2613
2614 @noindent
2615 Si es presentés una situació semblant en música @q{real}, podria
2616 ser preferible espaiar les notes una mica més entre sí, de forma
2617 que totes les marques dinàmiques poden cabre a la mateixa
2618 distància vertical des del pentagrama.  Hem estat capaços de fer
2619 això per al text de marcatge utilitzant l'ordre
2620 @code{\textLengthOn}, però no existeix una ordre equivalent per a
2621 les indicacions de matís dinàmic.  Per tant, hem d'esbrinar com
2622 fer-ho utilitzant ordres @code{\override}.
2623
2624 @node Escalat d'un «Grob»
2625 @unnumberedsubsubsec Escalat d'un «Grob»
2626 @translationof Grob sizing
2627
2628 @cindex grob, canvi de mida d'un
2629 @cindex escala dels grobs
2630
2631 En primer lloc hem d'aprendre com s'especifica la mida dels
2632 grobs.  Tots els grobs tenen un punt de referència definit dins
2633 d'ells que s'usa per col·locar-los respecte al seu objecte pare.
2634 Aleshores, aquest punt del grob es posiciona a una distància
2635 horitzontal, @code{X-offset}, i una distancia vertical,
2636 @code{Y-offset}, a partir del seu pare.  La dimensió horitzontal
2637 de l'objecte ve donada per una parella de números,
2638 @code{X-extent}, que diu on estan els límits esquerre i dret
2639 respecte del punt de referència.  L'amplitud vertical es defineix
2640 de forma semblant mitjançant una parella de números,
2641 @code{Y-extent}.  Aquestes són propietats de tots els grobs que
2642 contemplen @code{grob-interface}.
2643
2644 @cindex @code{extra-spacing-width}
2645
2646 De forma predeterminada, els objectes fora-del-pentagrama reben
2647 una amplitud zero, de manera que poden solapar-se a la direcció
2648 horitzontal.  Això es fa mitjançant el truc de fer que la dimensió
2649 més a l'esquerra sigui igual a menys infinit, establint el valor
2650 de @code{extra-spacing-width} a @code{'(+inf.0 . -inf.0)}.  Així,
2651 per assegurar que no se superposen en la direcció horitzontal hem
2652 de sobreescriure aquest valor de @code{extra-spacing-width} per
2653 donar-los una mica de espai addicional. Les unitats són l'espai
2654 entre dues línies del pentagrama, de forma que hauria de ser
2655 suficient moure el límit esquerre mitja unitat a l'esquerra i el
2656 límit dret mitja unitat a la dreta:
2657
2658 @example
2659 \override DynamicText.extra-spacing-width = #'(-0.5 . 0.5)
2660 @end example
2661
2662 @noindent
2663 Vejam si funciona al nostre exemple anterior:
2664
2665 @cindex DynamicText, exemple de sobreescritura
2666 @cindex extra-spacing-width, propietat, exemple
2667
2668 @lilypond[quote,ragged-right,verbatim,fragment]
2669 \dynamicUp
2670 % Estén l'amplitud amb 1 espai de pentagrama
2671 \override DynamicText.extra-spacing-width = #'(-0.5 . 0.5)
2672 \relative { a'4\f b\mf a\mp b\p }
2673 @end lilypond
2674
2675 @noindent
2676 Això té un aspecte millor, però potser hauríem preferit que les
2677 indicacions de dinàmica estiguessin alineades sobre la mateixa
2678 línia de base en lloc d'anar cap amunt i cap avall amb les notes.
2679 La propietat que ho fa és @code{staff-padding} (farciment de
2680 pentagrama) que s'estudia a la secció dedicada a les col·lisions
2681 (vegeu @ref{Col·lisions d'objectes}).
2682
2683 @node Espaiat vertical
2684 @section Espaiat vertical
2685 @translationof Vertical spacing
2686
2687 En general, l'espaiat vertical dels objectes musicals que fa el
2688 LilyPond és força bo.  Vejam com es comporta amb una cançó
2689 senzilla, amb dues veus i acompanyament de piano:
2690
2691 @lilypond[quote,fragment,ragged-right]
2692 <<
2693   \new ChoirStaff
2694   <<
2695     \new Staff {
2696       \new Voice = "music" {
2697         b'2 c' c' c'
2698       }
2699     }
2700     \new Lyrics
2701     \lyricsto "music" {
2702       Here are some lyrics
2703     }
2704     \new Staff {
2705       \clef bass e'2 f e c
2706     }
2707   >>
2708   \new PianoStaff
2709   <<
2710     \new Staff {
2711       g''2 c'' c'' a''
2712     }
2713     \new Staff {
2714       \clef bass e2 f c e
2715     }
2716   >>
2717 >>
2718 @end lilypond
2719
2720 No hi ha cap problema amb l'espaiat vertical predeterminat.
2721 Suposem tanmateix que estem treballant amb un editor que té certs
2722 requisits específics per a l'espaiat vertical dels pentagrames i
2723 la lletra: voleu que la lletra estigui més separada de les notes,
2724 que l'acompanyament de piano estigui més separat de la línia vocal
2725 i que els dos pentagrames de piano estiguin més junts entre sí.
2726 Començarem amb la lletra.
2727
2728 La lletra es troba a l'interior d'un sistema, i per tant les
2729 ordres per aplicar-li l'espaiat estaran en
2730 @rusernamed{Flexible vertical spacing within systems,Espaiat vertical flexible dins dels sistemes}.
2731 Aquí es diu que el text són línies del tipus @qq{no-pauta} i per
2732 tant l'ordre per canviar el seu espaiat farà referència a la propietat
2733 @code{nonstaff}.  Per separar-les del pentagrama al que pertanyen
2734 (la pauta superior) usarem la propietat @code{relatedstaff}.  Per
2735 separar-les de la línia inferior usarem la propietat
2736 @code{unrelatedstaff}.  Les parts vocals pertanyen a un grup
2737 vertical @code{unrelatedstaff}.  Les parts vocals pertanyen a un
2738 grup vertical @code{VerticalAxisGroup}, per la qual cosa hem
2739 d'ajustar les seves propietats.  Provem-lo i vejam si funciona.
2740
2741 @lilypond[quote,fragment,ragged-right,verbatim]
2742 <<
2743   \new ChoirStaff
2744   <<
2745     \new Staff {
2746       \new Voice = "music" {
2747         b'2 c' c' c'
2748       }
2749     }
2750     \new Lyrics \with {
2751       \override VerticalAxisGroup.
2752         nonstaff-relatedstaff-spacing.padding = #5
2753       \override VerticalAxisGroup.
2754         nonstaff-unrelatedstaff-spacing.padding = #5
2755     }
2756     \lyricsto "music" {
2757       Here are some lyrics
2758     }
2759     \new Staff {
2760       \clef bass e'2 f e c
2761     }
2762   >>
2763   \new PianoStaff
2764   <<
2765     \new Staff {
2766       g''2 c'' c'' a''
2767     }
2768     \new Staff {
2769       \clef bass e2 f c e
2770     }
2771   >>
2772 >>
2773 @end lilypond
2774
2775 Bé: sí, funciona, però potser massa bé.  Quan establim el
2776 @code{padding} (farciment) a 5, el LilyPond afegeix 5 espais de
2777 pentagrama a l'espai entre els objectes, cosa que és excessiva per
2778 a nosaltres en aquest cas.  Usarem un valor de 2.
2779
2780 A continuació, desplaçarem la música de piano per separar-la de
2781 les parts vocals.  La música vocal és una @code{Choirstaff} (un
2782 context de sistema coral), i per tant hem d'augmentar l'espaiat
2783 entre aquest grup de pentagrama i el sistema de piano que es troba
2784 a sota.  Ho farem canviant la@code{basic-distance} (distància
2785 bàsica) del @code{StaffGrouper} del @code{staffgroup-staff-spacing}.
2786
2787 @lilypond[quote,fragment,ragged-right,verbatim]
2788 <<
2789   \new ChoirStaff \with {
2790     \override StaffGrouper.
2791       staffgroup-staff-spacing.basic-distance = #15
2792   }
2793   <<
2794     \new Staff {
2795       \new Voice = "music" {
2796         b'2 c' c' c'
2797       }
2798     }
2799     \new Lyrics \with {
2800       \override VerticalAxisGroup.
2801         nonstaff-relatedstaff-spacing.padding = #2
2802       \override VerticalAxisGroup.
2803         nonstaff-unrelatedstaff-spacing.padding = #2
2804     }
2805     \lyricsto "music" {
2806       Here are some lyrics
2807     }
2808     \new Staff {
2809       \clef bass e'2 f e c
2810     }
2811   >>
2812   \new PianoStaff
2813   <<
2814     \new Staff {
2815       g''2 c'' c'' a''
2816     }
2817     \new Staff {
2818       \clef bass e2 f c e
2819     }
2820   >>
2821 >>
2822 @end lilypond
2823
2824 Molt bé.  Ara sols ens queda l'últim requisit de fer que els
2825 pentagrames de piano estiguin més junts.  Per aconseguir-lo, un
2826 altre cop alterem les propietats del @code{StaffGrouper}, però
2827 aquest cop reduirem tant la @code{basic-distance} (distància
2828 bàsica) com el @code{padding} (farciment).  Podem fer-lo com es
2829 mostra a continuació.
2830
2831 @lilypond[quote,fragment,ragged-right,verbatim]
2832 <<
2833   \new ChoirStaff \with {
2834     \override StaffGrouper.
2835       staffgroup-staff-spacing.basic-distance = #15
2836   }
2837   <<
2838     \new Staff {
2839       \new Voice = "music" {
2840         b'2 c' c' c'
2841       }
2842     }
2843     \new Lyrics \with {
2844       \override VerticalAxisGroup.
2845         nonstaff-relatedstaff-spacing.padding = #2
2846       \override VerticalAxisGroup.
2847         nonstaff-unrelatedstaff-spacing.padding = #2
2848     }
2849     \lyricsto "music" {
2850       Here are some lyrics
2851     }
2852     \new Staff {
2853       \clef bass e'2 f e c
2854     }
2855   >>
2856   \new PianoStaff \with {
2857     \override StaffGrouper.staff-staff-spacing = #'(
2858                             (basic-distance . 0)
2859                             (padding . 0))
2860   }
2861   <<
2862     \new Staff {
2863       g''2 c'' c'' a''
2864     }
2865     \new Staff {
2866       \clef bass e2 f c e
2867     }
2868   >>
2869 >>
2870 @end lilypond
2871
2872 Amb això els hem col·locat molt junts entre sí (però és el que
2873 l'editor volia).  Es podrien haver separat més alterant el
2874 farciment, @code{padding}, o la distància bàsica,
2875 @code{basic-distance}, si volguéssim.
2876
2877 Hi ha moltes formes d'alterar l'espaiat vertical.  Un punt clau
2878 que hem de recordar és que l'espaiat entre objectes dins d'un
2879 @code{StaffGroup} (com els grups @code{GrandStaff} o
2880 @code{PianoStaff}) es controla amb les variables d'espaiat del
2881 @code{StaffGrouper}. L'espaiat dels pentagrames no agrupats (com
2882 @code{Lyrics} i @code{Staff}) es controla amb les variables
2883 del @code{VerticalAxisGroup}.  Per veure més detalls, consulteu
2884 @rusernamed{Flexible vertical spacing paper variables,Variables de espaiat de paper verticals flexibles} i
2885 @rusernamed{Flexible vertical spacing within systems,Espaiat vertical flexible dins dels sistemes}.
2886
2887
2888 @node Col·lisions de objectes
2889 @section Col·lisions d'objectes
2890 @translationof Col·lisions of objects
2891
2892 @menu
2893 * Moviment d'objectes::
2894 * Ajustament de la notació amb superposicions::
2895 * Exemples reals de música::
2896 @end menu
2897
2898 @node Moviment d'objectes
2899 @subsection Moviment d'objectes
2900 @translationof Moving objects
2901
2902 @cindex moviment d'objectes superposats
2903 @cindex moviments d'objectes superposats
2904 @cindex moviments de grobs que col·lisionen
2905 @cindex objectes que col·lisionen, moure
2906 @cindex grobs que col·lisionen, moure
2907
2908 Tot i que us pugui sorprendre, el LilyPond no és perfecte.  Certs
2909 elements de notació es poden superposar, cosa que és una llàstima,
2910 però en realitat és força poc freqüent.  Normalment la necessitat
2911 de moure objectes és fa per claredat o per raons estètiques:
2912 l'aspecte és millor amb una mica més o una mica menys d'espai de
2913 separació.
2914
2915 Hi ha tres enfocaments principals que porten a la resolució de
2916 superposicions en la notació.  S'han de considerar a l'ordre següent:
2917
2918 @enumerate
2919 @item
2920 La @strong{direcció} d'un dels objectes que se superposen es pot
2921 canviar usant les ordres predefinides que es relacionen a dalt per
2922 als objectes dins-del-pentagrama (vegeu
2923 @ref{Objectes interiors al pentagrama}).  Es poden recol·locar
2924 fàcilment les pliques, lligadures d'expressió i d'unió, barres de
2925 corxera, indicacions dinàmiques, text i grups de valoració
2926 especial d'aquesta forma.  La limitació és que sols teniu la
2927 possibilitat d'escollir entre dues posicions, i podria ser que cap
2928 d'elles sigui l'adequada.
2929
2930 @item
2931 Les @strong{propietats de l'objecte}, que el LilyPond fa servir
2932 quan està col·locant els objectes de presentació, es poden
2933 modificar usant l'ordre de sobreescriptura @code{\override}.  Els
2934 avantatges de fer canvis a aquest tipus de propietat són: a) que
2935 algun altre objecte es mourà automàticament si és necessari, per
2936 deixar-li lloc, i b) una única sobreescriptura es pot aplicar a
2937 totes les instàncies del mateix tipus d'objecte.  Entre aquestes
2938 propietats es troben:
2939
2940 @itemize
2941
2942 @item
2943 @code{direction} (direcció)
2944
2945 Ja s'ha estudiat amb cert detall: vegeu @ref{Objectes interiors al pentagrama}.
2946
2947 @item
2948 @code{padding} (farciment),
2949 @code{right-padding} (farciment per la dreta),
2950 @code{staff-padding} (farciment de pentagrama)
2951
2952 @cindex farciment
2953 @cindex padding, propietat
2954 @cindex right-padding, propietat
2955 @cindex staff-padding, propietat
2956
2957 Segons quin objecte s'està col·locant, el valor de la seva
2958 propietat de farciment @code{padding} especifica l'espai intermedi
2959 que s'ha de deixar entre l'objecte i el límit més pròxim de
2960 l'objecte contra el qual s'esta col·locant.  Observeu que
2961 és el valor de @code{padding} de l'objecte @strong{que s'està
2962 col·locant} el que s'ignora.  Els espais intermedis especificats
2963 mitjançant @code{padding} es poden aplicar a tots els objectes que
2964 contemplen la interfície @code{side-position-interface}.
2965
2966 En comptes de fer-lo amb @code{padding}, la col·locació dels grups
2967 d'alteracions es controla amb @code{right-padding}.  Aquest
2968 propietat es troba a l'objecte @code{AccidentalPlacement} que,
2969 observeu, viu dins el context de @strong{Staff}.  Durant el procés
2970 tipogràfic, els caps de les notes es componen tipogràficament en
2971 primer lloc, i després les alteracions, si hi ha, s'afegeixen a
2972 l'esquerre dels caps utilitzant la propietat de farciment per la
2973 dreta @code{right-padding} per determinar la separació entre
2974 l'alteració i el cap, i de les alteracions entre sí.  Així doncs,
2975 sols la propietat de farciment per la dreta @code{right-padding}
2976 de l'objecte @code{AccidentalPlacement} té efecte sobre les
2977 col·locacions de les alteracions.
2978
2979 La propietat @code{staff-padding} està estretament relacionada amb
2980 la propietat @code{padding}: @code{padding} controla la separació
2981 mínima entre qualsevol objecte que contempli la interfície
2982 @code{side-position-interface} i l'objecte més proper (generalment
2983 la nota o les línies del pentagrama); @code{staff-padding}
2984 s'aplica sols als objecte que sempre se situen fora del
2985 pentagrama: controla la separació mínima entre aquest objecte i el
2986 pentagrama.  Observeu que @code{staff-padding} no té cap efecte
2987 sobre objectes que se posicionen respecte a la nota en comptes de
2988 fer-lo respecte al pentagrama, fins i tot malgrat pot ser
2989 sobreescrit sense error per aquests objectes: simplement s'ignora.
2990
2991 Per descobrir quina propietat de farciment cal per a l'objecte que
2992 es vol recol·locar, heu de tornar al manual de RFI i buscar les
2993 propietats de l'objecte.  Aneu amb cura perquè les propietats de
2994 farciment podrien no estar a l'objecte més obvi, així que busqueu
2995 als objectes que puguin tenir alguna relació amb ell.
2996
2997 Tots els valors de farciment es mesuren en espais del pentagrama.
2998 Per a la major part dels objectes el valor s'estableix de forma
2999 predeterminada en aproximadament 1.0 o menys (varia amb cada
3000 objecte).  Es pot sobreescriure si cal una separació intermèdia
3001 més gran (o més petita).
3002
3003 @item
3004 @code{self-alignment-X} (Auto-alineament a l'eix X)
3005
3006 @cindex self-alignment-X, propietat
3007
3008 Aquesta propietat es pot usar per alinear l'objecte a l'esquerra,
3009 a l adreta, o centrar-lo amb respecte al punt de referència de
3010 l'objecte «pare».  Es pot usar amb tot els objectes que respecten
3011 la interfície @code{self-alignment-interface}.  En general són
3012 objectes que contenen text.  Els valors són @code{LEFT},
3013 @code{RIGHT} o @code{CENTER}.  De forma alternativa es pot
3014 especificar un valor numèric entre @w{@code{-1}} i @code{+1}, no
3015 @w{@code{-1}} s'alinea per l'esquerra, @code{+1} s'alinea per la
3016 dreta, i els números intermedis mouen el text progressivament des
3017 d'alineat per l'esquerra fins a alineat per la dreta.  Es poden
3018 especificar valors numèrics majors de  @code{1} per moure el text
3019 fins i tot més lluny cap a l'esquerra, o menys de
3020 @w{@code{-1}} per allunyar-lo més cap a la dreta.  Un canvi a
3021 @code{1} en el valor correspon a un moviment de la meitat de la
3022 longitud total del propi text.
3023
3024 @item
3025 @code{extra-spacing-width} (amplitud de separació addicional)
3026
3027 @cindex extra-spacing-width, propietat
3028
3029 Aquesta propietat està disponible per a tots els objectes que
3030 respecten la interfície @code{item-interface}.  Agafa dos
3031 números, el primer se suma al límit esquerre i el segon se suma al
3032 limit dret.  Els números negatius desplacen el límit a l'esquerre
3033 i els positius a la dreta, per la qual cosa per eixamplar un
3034 objecte el primer número ha de ser negatiu i el segon positiu.
3035 Observeu que no tots els objectes ostenten els dos números.  Per
3036 exemple, l'objecte @code{Accidental} (alteració) sols té en compte
3037 el primer número (la vora esquerra).
3038
3039 @item
3040 @code{staff-position} (posició de pentagrama)
3041
3042 @cindex staff-position, propietat
3043
3044 @code{staff-position} és una propietat de la interfície
3045 @code{staff-symbol-referencer-interface}, que respecten els
3046 objectes que es col·loquen amb relació al pentagrama.  Especifica
3047 la posició vertical de l'objecte amb relació a la tercera línia
3048 del pentagrama en mitjos espais de pentagrama.  És útil a la
3049 resolució de col·lisions entre objectes de presentació com
3050 silencis multi-compàs, lligadures d'unió i notes a veus
3051 diferents.
3052
3053 @item
3054 @code{horizontal-shift}
3055
3056 @cindex horizontal-shift, propietat
3057 @cindex nota, columna de
3058 @cindex nota, col·lisions
3059 @cindex col·lisions de notes
3060 @cindex desplaçament, ordres de
3061 @funindex \shiftOff
3062 @funindex shiftOff
3063 @funindex \shiftOn
3064 @funindex shiftOn
3065 @funindex \shiftOnn
3066 @funindex shiftOnn
3067 @funindex \shiftOnnn
3068 @funindex shiftOnnn
3069
3070 Dins d'una veu, totes les notes que es produeixen al mateix moment
3071 s'agrupen a una columna de notes, i es crea un objecte
3072 @code{NoteColumn} per controlar el posicionament horitzontal
3073 d'aquest grup de notes (vegeu @qq{Columnes de nota} a @ref{Veus
3074 explicites}).  Si @emph{i sols si} dos o més columnes de nota dins
3075 d'un sol context de pauta, les dues amb pliques en la mateixa
3076 direcció, apareixen al mateix moment musical, els valors de les
3077 seves propietats @code{horizontal-shift} s'usen per assignar-los
3078 una puntuació i les columnes amb puntuacions més altes es
3079 desplacen progressivament per evitar les col·lisions entre els
3080 caps de les notes.  Aquesta propietat s'estableix amb les ordres
3081 @code{\voiceXXX} i es poden sobreescriure directament amb una
3082 ordre @code{\override} o, de forma més comuna amb les ordres
3083 @code{\shiftOn}.  Observeu que aquesta propietat s'usa per
3084 @emph{qualificar} les columnes de nota o per aplicar
3085 desplaçaments: no especifica la magnitud del desplaçament, que es
3086 va incrementant progressivament en passos basant-se en l'amplitud
3087 dels caps de nota per a cada puntuació.  Els passos són
3088 normalment de la meitat de l'amplitud d'un cap de nota, però pot
3089 ser l'amplitud completa del cap d'una nota quan està implicat un
3090 grup de notes molt atapeït.
3091
3092 @item
3093 @code{force-hshift} (forçar desplaçament horitzontal)
3094
3095 @cindex force-hshift, propietat
3096
3097 La propietat @code{force-hshift} és una propietat d'una
3098 @code{NoteColumn} (realment ho és de la interfície
3099 @code{note-column-interface}).  Modificar-lo permet moure una
3100 columna de notes en situacions on les columnes de notes se
3101 superposen.  Observeu que no té efecte sobre les columnes de nota
3102 que no se superposen.  S'especifica en unitats adequades a una
3103 columna de notes, per exemple l'amplitud del cap de la nota de la
3104 primera veu.  S'ha d'usar en situacions complexes on les ordres
3105 @code{\shiftOn} normals (véase @ref{Veus explícites}) no resolen
3106 el conflicte entre les notes de forma satisfactòria.  És
3107 preferible a la propietat @code{extra-offset} per a aquest
3108 propòsit, perquè no cal esbrinar la distància en espais de
3109 pentagrama, i moure les notes dins o fora d'una @code{NoteColumn}
3110 afecta a d'altres accions, com ara a la fusió entre caps de nota.
3111
3112 @end itemize
3113
3114 @item
3115 Finalment, quant tota la resta falla, els objectes es poden
3116 tornar a posicionar manualment amb relació a la tercera línia del
3117 pentagrama verticalment, o desplaçant-los una certa distància a
3118 una nova posició.  Els desavantatges són que els valors correctes
3119 per al nou posicionament s'han d'esbrinar, sovint per prova i
3120 error, per a cada objecte individual i, atès que el moviment es fa
3121 després que el LilyPond ha col·locat tota la resta d'objectes,
3122 l'usuari és responsable d'evitar cap col·lisió que pogués
3123 produir-se.  Però la dificultat principal podria haver de tornar a
3124 calcular la posició si la música es modifica més tard.  Les
3125 propietats que es poden suar per a aquest tipus de posicionament
3126 manual són:
3127
3128 @table @code
3129 @item extra-offset (desplaçament addicional)
3130
3131 @cindex extra-offset, propietat
3132
3133 Aquesta propietat s'aplica a qualsevol objecte de presentació que
3134 respecti el @code{grob-interface}.  Agafa una parella de números
3135 que especifiquen el desplaçament addicional a les direccions
3136 horitzontal i vertical.  Els nombres negatius mouen l'objecte a
3137 l'esquerra o cap avall.  Les unitats són espais de pentagrama.  El
3138 desplaçament addicional es fa després que la composició
3139 tipogràfica dels objectes ha acabat, així que un objecte pot ser
3140 tornat a posicionar a qualsevol lloc sense afectar cap altra cosa.
3141
3142 @item positions (posicions)
3143
3144 @cindex positions, propietat
3145
3146 Aquesta propietat és de la major utilitat per ajustar manualment
3147 la inclinació i l'alçada de les barres de corxera, lligadures
3148 d'expressió i claudàtors de grups de valoració especial.  Agafa
3149 una parella de números que donen la posició dels extrems esquerre
3150 i dret de la barra, lligadura, etc. amb relació a la tercera línia
3151 del pentagrama.  Les unitats són espais de pentagrama.  Observeu,
3152 però, que les lligadures d'expressió i de fraseig no es poden
3153 tornar a posicionar en quantitats arbitràriament grans.  El
3154 LilyPond en primer lloc genera una llista de posicions possibles
3155 per a la lligadura i de forma predeterminada troba la lligadura
3156 que té @qq{millor aspecte}.  Si la propietat @code{positions} s'ha
3157 sobreescrit, la lligadura que està més a prop de les posicions que
3158 s'han sol·licitat se selecciona de la llista.
3159 @end table
3160
3161 @end enumerate
3162
3163 Un objecte en particular podria no tenir totes aquestes
3164 propietats.  Cal anar al manual RFI per buscar quines propietats
3165 estan disponibles per a l'objecte en qüestió.
3166
3167 Aquí presentem una llista dels objectes que és més probable que
3168 estiguin implicats en col·lisions, amb el nom de l'objecte que
3169 s'hauria de buscar al RFI per descobrir quines propietats s'han
3170 d'usar per a moure'ls.
3171
3172 @multitable @columnfractions .5 .5
3173 @headitem Tipus d'objecte       @tab Nom de l'objecte
3174 @item Articulacions             @tab @code{Script}
3175 @item Barres                    @tab @code{Beam}
3176 @item Dinàmica (verticalment)  @tab @code{DynamicLineSpanner}
3177 @item Dinàmica (horitzontalment)   @tab @code{DynamicText}
3178 @item Digitacions                @tab @code{Fingering}
3179 @item Marques d'assaig i textuals  @tab @code{RehearsalMark}
3180 @item Lligadures de expressió    @tab @code{Slur}
3181 @item Text, per exemple @code{^"text"}  @tab @code{TextScript}
3182 @item Lligadures d'unió        @tab @code{Tie}
3183 @item Grups de valoració especial @tab @code{TupletBracket}
3184 @end multitable
3185
3186
3187 @node Ajustament de la notació amb superposicions
3188 @subsection Ajustament de la notació amb superposicions
3189 @translationof Fixing overlapping notation
3190
3191 Vejam ara com poden ser d'ajuda les propietats que hem vist a la
3192 secció anterior, per resoldre problemes de notació que se superposa.
3193
3194 @menu
3195 * La propietat padding (farciment)::
3196 * La propietat right-padding (farciment per la dreta)::
3197 * La propietat staff-padding (farciment de pentagrama)::
3198 * La propietat self-alignment-X (auto-alineació en X)::
3199 * La propietat staff-position (posició al pentagrama)::
3200 * La propietat extra-offset (desplaçament addicional)::
3201 * La propietat positions (posicions)::
3202 * La propietat force-hshift (forçar desplaçament horitzontal)::
3203 @end menu
3204
3205 @node La propietat padding (farciment)
3206 @unnumberedsubsubsec La propietat @code{padding} (farciment))
3207 @translationof The padding property
3208
3209 @cindex farciment
3210 @cindex ajustar notació que se superposa
3211 @cindex superposada, notació
3212
3213 La propietat @code{padding} es pot ajustar per augmentar (o
3214 disminuir) la distància entre símbols impresos a sobre o a sota de
3215 les notes
3216
3217 @cindex Script, exemple de sobreescriptura
3218 @cindex padding, propietat, exemple
3219
3220 @lilypond[quote,fragment,verbatim]
3221 c'2\fermata
3222 \override Script.padding = #3
3223 b2\fermata
3224 @end lilypond
3225
3226 @cindex MetronomeMark, exemple de sobreescriptura
3227 @cindex padding, propietat, exemple
3228
3229 @lilypond[quote,fragment,verbatim]
3230 % Això no funcionarà, mireu a sota
3231 \override MetronomeMark.padding = #3
3232 \tempo 4 = 120
3233 c'1 |
3234 % Això funciona
3235 \override Score.MetronomeMark.padding = #3
3236 \tempo 4 = 80
3237 d'1 |
3238 @end lilypond
3239
3240 Observeu al segon exemple la gran importància que té saber quin
3241 context respecta un determinat objecte.  Atès que l'objecte
3242 @code{MetronomeMark} respecta el context @code{Score}, els canvis
3243 de propietats al context @code{Voice} passaran inadvertits. Per
3244 veure més detalls consulteu
3245 @rusernamed{Modifying properties,Modificació de las propietats}.
3246
3247 Si la propietat de farciment @code{padding} d'un objecte
3248 s'incrementa quan aquest objecte es troba a una pila d'objectes
3249 que s'estan col·locant d'acord a la seva prioritat
3250 @code{outside-staff-priority}, llavors aquest objecte es mourà, i
3251 també tots els que estan per fora d'ell.
3252
3253 @node La propietat right-padding (farciment per la dreta)
3254 @unnumberedsubsubsec La propietat @code{right-padding} (farciment per la dreta)
3255 @translationof The right-padding property
3256
3257 @cindex right-padding, propietat
3258
3259 La propietat @code{right-padding} afecta l'espaiat entre la
3260 alteració i la nota a la qual s'aplica.  Normalment no és
3261 necessària, però l'espaiat predeterminat pot estar malament per
3262 certes glifs d'alteracions o combinacions de glifs que s'usen a la
3263 música microtonal.  Aquests glifs han d'introduir-se
3264 sobreescrivint el segell de l'alteració amb un element de marcatge
3265 que contingui els símbols desitjats, així:
3266
3267 @cindex Accidental, exemple de sobreescriptura
3268 @cindex text, propietat, exemple
3269 @cindex stencil, propietat, exemple
3270 @cindex AccidentalPlacement, exemple de sobreescriptura
3271 @cindex right-padding, propietat, exemple
3272
3273
3274 @lilypond[quote,ragged-right,verbatim]
3275 sesquisharp = \markup { \sesquisharp }
3276 \relative {
3277   c''4
3278   % Això imprimeix un sesquisostingut però l'espaiat és massa petit
3279   \once \override Accidental.stencil = #ly:text-interface::print
3280   \once \override Accidental.text = #sesquisharp
3281   cis4 c
3282   % Això millora l'espaiat
3283   \once \override Score.AccidentalPlacement.right-padding = #0.6
3284   \once \override Accidental.stencil = #ly:text-interface::print
3285   \once \override Accidental.text = #sesquisharp
3286   cis4 |
3287 }
3288 @end lilypond
3289
3290 @noindent
3291 Aixo utilitza necessàriament una sobreescriptura per al segell de
3292 l'alteració que s'estudiarà fin més endavant.  El tipus de segell
3293 ha de ser un procediment, aquí modificat perquè imprimeixi el
3294 contingut de la propietat @code{text} de l'objecte
3295 @code{Accidental}, que al seu cop està establert com un signe de
3296 sesquisostingut.  Aleshores el signe es pot separar de la cap de
3297 la nota sobreescrivint @code{right-padding}.
3298
3299 @noindent
3300
3301 @node La propietat staff-padding (farciment de pentagrama)
3302 @unnumberedsubsubsec La propietat @code{staff-padding} (farciment de pentagrama)
3303 @translationof The staff-padding property
3304
3305 @cindex alineació d'objectes sobre la línia base
3306 @cindex objectes, alineació sobre la línia base
3307
3308 @code{staff-padding} es pot usar per alinear objectes com matisos
3309 dinàmics al llarg d'una línia de base a una distància fixa del
3310 pentagrama, sempre que no existeixi cap altre element de notació
3311 que forci una distància major al pentagrama.  No és una propietat
3312 de @code{DynamicText} sinó de @code{DynamicLineSpanner}.
3313 Això és així perquè la línia de base s'ha d'aplicar per igual a
3314 @strong{totes} las dinàmiques, entre elles las que s'han creat
3315 com objectes de extensió.  Així que aquesta és la forma d'alinear
3316 les indicacions de matís a l'exemple de la secció anterior:
3317
3318 @cindex DynamicText, exemple de sobreescriptura
3319 @cindex extra-spacing-width, propietat, exemple
3320 @cindex DynamicLineSpanner, exemple de sobreescriptura
3321 @cindex staff-padding, propietat, exemple
3322
3323 @lilypond[quote,fragment,ragged-right,verbatim]
3324 \override DynamicLineSpanner.staff-padding = #3
3325 \relative { a'4\f b\mf a\p b\mp }
3326 @end lilypond
3327
3328
3329 @node La propietat self-alignment-X (auto-alineació en X)
3330 @unnumberedsubsubsec La propietat @code{self-alignment-X} (auto-alineació en X)
3331 @translationof The self-alignment-X property
3332
3333 L'exemple següent mostra com ajustar la posició d'un objecte de
3334 digitació de corda en relació a la plica d'una nota mitjançant
3335 l'alineament del límit dret amb el punt de referència de la nota
3336 «pare»:
3337
3338 @cindex StringNumber, exemple de sobreescriptura
3339 @cindex self-alignment-X, propietat, exemple
3340
3341 @lilypond[quote,fragment,ragged-right,verbatim]
3342 \voiceOne
3343 <a''\2>
3344 \once \override StringNumber.self-alignment-X = #RIGHT
3345 <a''\2>
3346 @end lilypond
3347
3348 @node La propietat staff-position (posició en el pentagrama)
3349 @unnumberedsubsubsec La propietat @code{staff-position} (posició en el pentagrama)
3350 @translationof The staff-position property
3351
3352 @cindex objecte, col·lisió dins del pentagrama
3353
3354 Els silencis multi-compàs en una veu poden xocar amb les notes a
3355 una altra veu.  Atès que aquests silencis es graven centrats entre
3356 les barres de compàs, es necessitaria força esforç perquè el
3357 LilyPond esbrinés quines altres notes podrien xocar amb ell, ja
3358 que actualment tota la gestió de col·lisions entre notes i
3359 silencis es fa sols per a notes i silencis que ocorren al mateix
3360 temps.  Vet aquí un exemple de col·lisió d'aquest tipus:
3361
3362 @lilypond[quote,verbatim,ragged-right]
3363 << \relative { c'4 c c c } \\ { R1 } >>
3364 @end lilypond
3365
3366 La millor solució aquí és moure el silenci multi-compàs cap avall,
3367 ja que el silencia està a la veu dos.  L'ajust predeterminat per a
3368 @code{\voiceTwo} (és a dir, a la segona veu d'una construcció
3369 @code{<<@{@dots{}@} \\ @{@dots{}@}>>}) és que
3370 @code{staff-position} tingui el valor -4 per MultiMeasureRest,
3371 així que l'hem de baixar, diguem-ne, quatre semiespais de
3372 pentagrama, al valor @w{@code{-8}}.
3373
3374 @cindex MultiMeasureRest, exemple de sobreescriptura
3375 @cindex staff-position, propietat, exemple
3376
3377 @lilypond[quote,verbatim,ragged-right]
3378 <<
3379   \relative { c'4 c c c }
3380   \\
3381   \override MultiMeasureRest.staff-position = #-8
3382   { R1 }
3383 >>
3384 @end lilypond
3385
3386 Això és millor que utilitzar, per exemple, @code{extra-offset},
3387 perquè la línia addicional per sobre del silenci s'insereix
3388 automàticament.
3389
3390 @node La propietat extra-offset (desplaçament addicional)
3391 @unnumberedsubsubsec La propietat @code{extra-offset} (desplaçament addicional)
3392 @translationof The extra-offset property
3393
3394 @cindex posicionar objectes
3395 @cindex posicionar grobs
3396 @cindex objectes, posicionar
3397 @cindex grobs, posicionar
3398
3399 La propietat @code{extra-offset} dóna un complet control sobre el
3400 posicionament d'un objecte tan vertical com horitzontalment.
3401
3402 A l'exemple següent, la segona digitació es desplaça lleugerament
3403 a l'esquerra, i 1.8 espais de pentagrama cap avall:
3404
3405 @cindex fingering (digitació), exemple de sobreescriptura
3406 @cindex extra-offset, propietat, exemple
3407
3408 @lilypond[quote,fragment,verbatim]
3409 f'4-5
3410 \once \override Fingering.extra-offset = #'(-0.3 . -1.8)
3411 f'4-5
3412 @end lilypond
3413
3414
3415 @node La propietat positions (posicions)
3416 @unnumberedsubsubsec La propietat @code{positions} (posicions)
3417 @translationof The positions property
3418
3419 @cindex controlar manualment grups especials, lligadures i barres
3420 @cindex manual, control, de grups especials, lligadures i barres
3421 @cindex grups especials, barres de, control manual
3422 @cindex lligadures d'expressió, control manual
3423 @cindex lligadures de fraseig, control manual
3424 @cindex barres de corxera, control manual
3425
3426 La propietat @code{positions} permet controlar manualment la
3427 posició vertical i des d'aquí també la inclinació dels tresets,
3428 lligadures d'expressió i de fraseig, i barres de corxera.
3429
3430 Vet aquí un exemple en el qual les lligadures de fraseig i
3431 d'expressió xoquen entre sí:
3432
3433 @lilypond[quote,verbatim,ragged-right]
3434 \relative { a'8 \( ( a'16 ) a \) }
3435 @end lilypond
3436
3437 @cindex PhrasingSlur, exemple de sobreescriptura
3438 @cindex positions, propietat, exemple
3439
3440 @noindent
3441 Una possibilitat seria moure els dos extrems de la lligadura de
3442 fraseig cap a dalt.  Podem intentar establir l'extrem esquerre a
3443 2.5 espais de pentagrama per sobre de la tercera línia i l'extrem
3444 dret a 4.5 també cap amunt, i el LilyPond seleccionaria la
3445 lligadura de fraseig d'entre les candidates que ha trobat amb els
3446 seus extrems més propers a ells:
3447
3448 @lilypond[quote,verbatim,fragment,ragged-right]
3449 \once \override PhrasingSlur.positions = #'(2.5 . 4.5)
3450 a'8 \( ( a''16 ) a'' \)
3451 @end lilypond
3452
3453 Això suposa una millora, però, perquè no baixar una mica l'extrem
3454 dret de la lligadura d'expressió?  Si ho provem, veurem que no es
3455 pot fer així.  Això és a causa que no existeixen lligadures
3456 d'expressió candidates que estiguin més baixes que la que ja s'ha
3457 seleccionat, i en aquest cas la propietat @code{positions} no té
3458 cap efecte.  Malgrat això, les lligadures d'unió, expressió i
3459 fraseig @emph{es poden} col·locar i ajustar de manera molt exacta
3460 quan cal. Per aprendre la manera de fer-lo, consulteu
3461 @rusernamed{Modifying ties and slurs,Modificació de lligadures d'unió i d'expressió}.
3462
3463 Presentem un altre exemple.  Veiem que la barra xoca amb les lligadures:
3464
3465 @lilypond[quote,verbatim,ragged-right]
3466 {
3467   \time 4/2
3468   <<
3469     \relative { c'1~ 2. e8 f }
3470     \\
3471     \relative {
3472       e''8 e e e
3473       e e e e
3474       f2 g
3475     }
3476   >>
3477   <<
3478     \relative { c'1~ 2. e8 f }
3479     \\
3480     \relative {
3481       e''8 e e e
3482       e e e e
3483       f2 g
3484     }
3485   >>
3486 }
3487 @end lilypond
3488
3489 @noindent
3490 Això es pot resoldre manualment elevant els dos extrems de la
3491 barra des de la seva posició a 1.81 espais de pentagrama sota la
3492 línia central fins, diguem-ne, 1 espai:
3493
3494
3495 @cindex Beam, exemple de sobreescriptura
3496 @cindex positions, propietat, exemple
3497
3498 @lilypond[quote,verbatim,ragged-right]
3499 {
3500   \time 4/2
3501   <<
3502     \relative { c'1~ 2. e8 f }
3503     \\
3504     \relative {
3505       \override Beam.positions = #'(-1 . -1)
3506       e''8 e e e
3507       e e e e
3508       f2 g
3509     }
3510   >>
3511   <<
3512     \relative { c'1~ 2. e8 f }
3513     \\
3514     \relative {
3515       e''8 e e e
3516       e e e e
3517       f2 g
3518       \revert Beam.positions
3519     }
3520   >>
3521 }
3522 @end lilypond
3523
3524 @noindent
3525 Observeu que la sobreescriptura segueix aplicant-se a la segona
3526 veu del segon compàs de corxeres, però no a cap de les barres de
3527 la primera veu, ni tan sols a les que estan al segon compàs, que
3528 és posterior.  Tan aviat com la sobreescriptura no pugui tenir cap
3529 efecte, hauria de ser revertida com es mostra.
3530
3531 @node La propietat force-hshift (forçar desplaçament horitzontal)
3532 @unnumberedsubsubsec La propietat @code{force-hshift} (forçar desplaçament horitzontal)
3533 @translationof The force-hshift property
3534
3535 Ara podem veure com aplicar les correccions finals a l'exemple de
3536 Chopin que vam present al final de @ref{Sento veus}, que deixem
3537 amb aquest aspecte:
3538
3539 @lilypond[quote,verbatim,fragment,ragged-right]
3540 \new Staff \relative {
3541   \key aes \major
3542   <<
3543     { c''2 aes4. bes8 }
3544     \\
3545     { <ees, c>2 des }
3546     \\
3547     \\
3548     { aes'2 f4 fes }
3549   >> |
3550   <c ees aes c>1 |
3551 }
3552 @end lilypond
3553
3554 @noindent
3555 És necessari que la nota interior del primer acord (el La bemoll
3556 de la quarta veu) no s'aparti de la columna vertical de la nota
3557 aguda, per la qual cosa usem @code{\shiftOff}.
3558
3559 En el segon acord preferim que el Fa estigui alineat amb el La
3560 bemoll i que la nota greu es col·loqui lleugerament a la dreta per
3561 evitar una col·lisió de les pliques.  Ho aconseguim ajustant el
3562 valor de @code{force-hshift} a la @code{NoteColumn} del Re bemoll
3563 greu per moure'l a la dreta mig espai de pentagrama, i fixant
3564 @code{force-hshift} per al Fa al valor zero.  Observeu que usem
3565 @code{\once} per evitar que els ajustament es propaguin més enllà
3566 del moment musical immediat, tot i que a aquest petit exemple es
3567 podria ometre el @code{\once} y el segon @code{\override} de la
3568 quarta veu.  Això no suposaria una bona pràctica.
3569
3570 Presentem a continuació el resultat final:
3571
3572 @cindex NoteColumn, exemple de sobreescriptura
3573 @cindex force-hshift, propietat, exemple
3574
3575 @lilypond[quote,verbatim,fragment,ragged-right]
3576 \new Staff \relative {
3577   \key aes \major
3578   <<
3579     { c''2 aes4. bes8 }
3580     \\
3581     { <ees, c>2 \once \override NoteColumn.force-hshift = 0.5 des }
3582     \\
3583     \\
3584     { \once \shiftOff aes'2 \once \shiftOff f4 fes }
3585   >> |
3586   <c ees aes c>1 |
3587 }
3588 @end lilypond
3589
3590
3591 @node Exemples reals de música
3592 @subsection Exemples reals de música
3593 @translationof Real music example
3594
3595 Finalitzarem aquesta secció sobre els ajustaments mostrant els
3596 passos que s'han de prendre per tractar amb un exemple complicat
3597 al que li calen diversos ajustaments per produir el resultat
3598 desitjat.  L'exemple s'ha escollit deliberadament per il·lustrar
3599 l'ús de la Referència de la Notació per resoldre problemes de
3600 notació poc comuns.  No és representatiu del procés de gravat més
3601 usual, per la qual cosa, us recomanem que no deixeu que aquestes
3602 dificultats us desanimin! Afortunadament, les dificultats com
3603 aquestes no són massa comunes!
3604
3605 L'exemple està extret de la Primera Balada de Chopin, Op. 23,
3606 compassos 6 al 9, la transició entre el Lent inicial i el
3607 Moderato.  Presentem en primer lloc l'aspecte que volem que tingui
3608 el resultat, però per evitar complicar massa l'exemple hem tret
3609 les indicacions dinàmiques, les digitacions i el pedal.
3610
3611 @c The following should appear as music without code
3612 @c This example should not be indexed
3613 @c line-width ensures no break
3614 @lilypond[quote,ragged-right,line-width=6\in]
3615 rhMusic = \relative {
3616   \new Voice {
3617     r2 c''4.\( g8 |
3618     \once \override Tie.staff-position = #3.5
3619     bes1~ |
3620     \bar "||"
3621     \time 6/4
3622     \mergeDifferentlyHeadedOn
3623     \mergeDifferentlyDottedOn
3624     bes2.\tempo "Moderato" r8
3625     <<
3626       { c,8 d fis bes a }
3627       \new Voice {
3628         \voiceTwo
3629         c,8~
3630         % Reposition the c2 to the right of the merged note
3631         \once \override NoteColumn.force-hshift = #1.0
3632         % Move the c2 out of the main note column
3633         % so the merge will work
3634         \shiftOnn
3635         c2
3636       }
3637       \new Voice {
3638         \voiceThree
3639         s8
3640         % Stem on the d2 must be down to permit merging
3641         \stemDown
3642         % Stem on the d2 should be invisible
3643         \tweak Stem.transparent ##t
3644         d2
3645       }
3646       \new Voice {
3647         \voiceFour
3648         s4 fis4.
3649       }
3650     >> |
3651     \mergeDifferentlyHeadedOff
3652     \mergeDifferentlyDottedOff
3653     g2.\)
3654   }
3655 }
3656
3657 lhMusic = \relative {
3658   r2 <c' g ees>2( |
3659   <d g, d>1)\arpeggio |
3660   r2. d,,4 r4 r |
3661   r4
3662 }
3663
3664 \score {
3665   \new PianoStaff <<
3666     \new Staff = "RH"  <<
3667       \key g \minor
3668       \rhMusic
3669     >>
3670     \new Staff = "LH" <<
3671       \key g \minor
3672       \clef "bass"
3673       \lhMusic
3674     >>
3675   >>
3676 }
3677 @end lilypond
3678
3679 Observem en primer lloc que la part de la ma dreta del tercer
3680 compàs requereix quatre veus.  Són les cinc corxeres unides per
3681 una barra, la nota Do lligada, el Re blanca que es fusiona amb el
3682 Re corxera, i el Fa sostingut negra amb puntet, que també està
3683 fusionada amb la corxera de la seva mateixa alçada.  Tota la resta
3684 està en una sola veu, així que el més fàcil és introduir aquestes
3685 tres veus addicionals, en el moment que facin falta i de forma
3686 temporal.  Si us heu oblidat de com fer-ho, llegiu les seccions
3687 @ref{Sento veus} i @ref{Veus explícites}.  Aquí prenem la decisió
3688 d'utilitzar veus instanciades explícitament per al passatge
3689 polifònic, atès que el LilyPond és més probable que pugui evitar
3690 les col·lisions si totes les veus s'instancien explícitament
3691 d'aquesta manera.
3692
3693 Començarem introduint les notes com dues variables i disposant
3694 l'estructura de pentagrames a un bloc Score, i veurem què produeix
3695 el LilyPond de forma predeterminada:
3696
3697 @c line-width ensures no break
3698 @lilypond[quote,verbatim,ragged-right,line-width=6\in]
3699 rhMusic = \relative {
3700   \new Voice {
3701     r2 c''4. g8 |
3702     bes1~ |
3703     \time 6/4
3704     bes2. r8
3705     % Inicia la secció polifònica de quatre veus
3706     <<
3707       { c,8 d fis bes a }  % continuació de la veu principal
3708       \new Voice {
3709         \voiceTwo
3710         c,8~ 2
3711       }
3712       \new Voice {
3713         \voiceThree
3714         s8 d2
3715       }
3716       \new Voice {
3717         \voiceFour
3718         s4 fis4.
3719       }
3720     >> |
3721     g2.  % continuació de la veu principal
3722   }
3723 }
3724
3725 lhMusic = \relative {
3726   r2 <c' g ees>2 |
3727   <d g, d>1 |
3728   r2. d,,4 r4 r |
3729   r4
3730 }
3731
3732 \score {
3733   \new PianoStaff <<
3734     \new Staff = "RH"  <<
3735       \key g \minor
3736       \rhMusic
3737     >>
3738     \new Staff = "LH" <<
3739       \key g \minor
3740       \clef "bass"
3741       \lhMusic
3742     >>
3743   >>
3744 }
3745 @end lilypond
3746
3747 Totes les notes són correctes, però l'aspecte està lluny de ser
3748 satisfactori.  La lligadura d'unió xoca amb el canvi de compàs,
3749 certes notes no es fusionen correctament, i falten alguns elements
3750 de notació.  En primer lloc tractarem amb el més senzill.  Podem
3751 afegir fàcilment la lligadura d'expressió de la mà esquerra i la
3752 lligadura de fraseig de la ma dreta, atès que tot això es va
3753 estudiar al Tutorial.  En fer-ho així obtenim:
3754
3755 @c line-width ensures no break
3756 @lilypond[quote,verbatim,ragged-right,line-width=6\in]
3757 rhMusic = \relative {
3758   \new Voice {
3759     r2 c''4.\( g8 |
3760     bes1~ |
3761     \time 6/4
3762     bes2. r8
3763     % Inicia la secció polifònica de quatre veus
3764     <<
3765       { c,8 d fis bes a }  % continuació de la veu principal
3766       \new Voice {
3767         \voiceTwo
3768         c,8~ 2
3769       }
3770       \new Voice {
3771         \voiceThree
3772         s8 d2
3773       }
3774       \new Voice {
3775         \voiceFour
3776         s4 fis4.
3777       }
3778     >> |
3779     g2.\)  % continuació de la veu principal
3780   }
3781 }
3782
3783 lhMusic = \relative {
3784   r2 <c' g ees>2( |
3785   <d g, d>1) |
3786   r2. d,,4 r4 r |
3787   r4
3788 }
3789
3790 \score {
3791   \new PianoStaff <<
3792     \new Staff = "RH"  <<
3793       \key g \minor
3794       \rhMusic
3795     >>
3796     \new Staff = "LH" <<
3797       \key g \minor
3798       \clef "bass"
3799       \lhMusic
3800     >>
3801   >>
3802 }
3803 @end lilypond
3804
3805 El primer compàs ara és correcte.  El segon compàs conté un
3806 arpegi i acaba amb una barra doble.  Com es fan, ja que no han
3807 estat mencionats en aquest Manual d'Aprenentatge?  Aquí és on hem
3808 de tornar a la Referència de Notació.  Buscant la paraula
3809 @q{arpegi} i @q{línia divisòria} a l'índex ens mostra ràpidament
3810 que un arpegi es fa afegint @code{\arpeggio} a un acord, i la
3811 doble barra es produeix per mitjà de la instrucció
3812 @code{\bar "||"}.  Això ho podem fer fàcilment.  A continuació hem
3813 de corregir la col·lisió entre la lligadura d'unió i la indicació
3814 de compàs.  Això es fa millor movent la lligadura cap amunt.  Vam
3815 estudiar com moure objectes anteriorment a @ref{Moviment d'objectes},
3816 on diu que els objectes estan situats de forma relativa al
3817 pentagrama es poden moure verticalment sobreescrivint la seva
3818 propietat @code{staff-position}, que s'especifica en unitats de
3819 mig espai de pentagrama respecte de la línia central del
3820 pentagrama.  Així doncs, la sobreescriptura següent col·locada
3821 just abans de la primera nota lligada pujarà la lligadura 3.5 mig
3822 espais de pentagrama per sobre de la línia central:
3823
3824 @code{\once \override Tie.staff-position = #3.5}
3825
3826 Amb això és completa el compàs dos, donant com a resultat:
3827
3828 @c line-width ensures no break
3829 @lilypond[quote,verbatim,ragged-right,line-width=6\in]
3830 rhMusic = \relative {
3831   \new Voice {
3832     r2 c''4.\( g8 |
3833     \once \override Tie.staff-position = #3.5
3834     bes1~ |
3835     \bar "||"
3836     \time 6/4
3837     bes2. r8
3838     % Inicia la secció polifònica amb quatre veus
3839     <<
3840       { c,8 d fis bes a }  % continuació de la veu principal
3841       \new Voice {
3842         \voiceTwo
3843         c,8~ 2
3844       }
3845       \new Voice {
3846         \voiceThree
3847         s8 d2
3848       }
3849       \new Voice {
3850         \voiceFour
3851         s4 fis4.
3852       }
3853     >> |
3854     g2.\)  % continuació de la veu principal
3855   }
3856 }
3857
3858 lhMusic = \relative {
3859   r2 <c' g ees>2( |
3860   <d g, d>1)\arpeggio |
3861   r2. d,,4 r4 r |
3862   r4
3863 }
3864
3865 \score {
3866   \new PianoStaff <<
3867     \new Staff = "RH"  <<
3868       \key g \minor
3869       \rhMusic
3870     >>
3871     \new Staff = "LH" <<
3872       \key g \minor
3873       \clef "bass"
3874       \lhMusic
3875     >>
3876   >>
3877 }
3878 @end lilypond
3879
3880 Anem ara al tercer compàs i començament de la secció Moderato. El
3881 tutorial ens va ensenyar com escriure una indicació de tempo
3882 mitjançant l'ordre @code{\tempo}, por lo qual cosa afegir
3883 @qq{Moderato} és fàcil. Pero ara, com fusionem notes estan a
3884 diferents veus?  Aquí és on hem de tornar a buscar ajuda al manual
3885 de Referència de la notació.  En cuscar la paraula @qq{merge}
3886 (fusiona) a l'índex de la Referència de la notació arribem
3887 ràpidament a les ordres per barrejar notes amb diferent cap i amb
3888 o sense puntet, a
3889 @rusernamed{Collision resolution, Resolució de les col·lisions}.
3890 Al nostre exemple hem de fusionar ambdós tipus de notes al
3891 transcurs de la secció polifònica del compàs 3; per tant, gràcies
3892 a la informació que apareix a la Referència de la Notació, escrivim
3893
3894 @example
3895 \mergeDifferentlyHeadedOn
3896 \mergeDifferentlyDottedOn
3897 @end example
3898
3899 @noindent
3900 al principi de la secció, i
3901
3902 @example
3903 \mergeDifferentlyHeadedOff
3904 \mergeDifferentlyDottedOff
3905 @end example
3906
3907 @noindent
3908 al final, obtenint com a resultat:
3909
3910 @c line-width ensures no break
3911 @lilypond[quote,ragged-right,line-width=6\in]
3912 rhMusic = \relative {
3913   \new Voice {
3914     r2 c''4.\( g8 |
3915     \once \override Tie.staff-position = #3.5
3916     bes1~ |
3917     \bar "||"
3918     \time 6/4
3919     bes2.\tempo "Moderato" r8
3920     \mergeDifferentlyHeadedOn
3921     \mergeDifferentlyDottedOn
3922     % Inicia la secció polifònica de quatre veus
3923     <<
3924       { c,8 d fis bes a }  % continuació de la veu principal
3925       \new Voice {
3926         \voiceTwo
3927         c,8~ 2
3928       }
3929       \new Voice {
3930         \voiceThree
3931         s8 d2
3932       }
3933       \new Voice {
3934         \voiceFour
3935         s4 fis4.
3936       }
3937     >> |
3938     \mergeDifferentlyHeadedOff
3939     \mergeDifferentlyDottedOff
3940     g2.\)  % continuació de la veu principal
3941   }
3942 }
3943
3944 lhMusic = \relative {
3945   r2 <c' g ees>2( |
3946   <d g, d>1)\arpeggio |
3947   r2. d,,4 r4 r |
3948   r4
3949 }
3950
3951 \score {
3952   \new PianoStaff <<
3953     \new Staff = "RH"  <<
3954       \key g \minor
3955       \rhMusic
3956     >>
3957     \new Staff = "LH" <<
3958       \key g \minor
3959       \clef "bass"
3960       \lhMusic
3961     >>
3962   >>
3963 }
3964 @end lilypond
3965
3966 Aquestes sobreescriptures han fusionat els dos Fa sostingut, però
3967 no els dos Re.  Perquè no?  La resposta està a la mateixa secció
3968 de la Referència de la Notació: les notes que es fusionen han de
3969 tenir les pliques en direccions oposades i dues notes no es poden
3970 fusionar bé si hi ha una tercera nota a la mateixa columna.  Aquí
3971 els dos Re tenen les pliques cap amunt i hi ha una tercera nota:
3972 el Do.  Sabem com canviar la direcció de la plica usant
3973 @code{\stemDown}, i la Referència de la notació també explica com
3974 moure el Do: aplicar un desplaçament usant una de les ordres
3975 @code{\shift}.  Però, quin?  El Do està a la veu dos que té
3976 desactivat el desplaçament, i els dos Re estan a les veus u i
3977 tres, que tenen el desplaçament desactivat i activat,
3978 respectivament.  Per això hem de desplaçar el Do un nivell més
3979 encara, usant @code{\shiftOnn} per evitar que interfereixi amb els
3980 dos Re.  En aplicar aquests canvis obtenim:
3981
3982 @cindex Tie, exemple de sobreescriptura
3983 @cindex staff-position, propietat, exemple
3984
3985 @c line-width ensures no break
3986 @lilypond[quote,verbatim,ragged-right,line-width=6\in]
3987 rhMusic = \relative {
3988   \new Voice {
3989     r2 c''4.\( g8 |
3990     \once \override Tie.staff-position = #3.5
3991     bes1~ |
3992     \bar "||"
3993     \time 6/4
3994     bes2.\tempo "Moderato" r8
3995     \mergeDifferentlyHeadedOn
3996     \mergeDifferentlyDottedOn
3997     % Inicia la secció polifònica de quatre veus
3998     <<
3999       { c,8 d fis bes a }  % continuació de la veu principal
4000       \new Voice {
4001         \voiceTwo
4002         % Mou el c2 fora de la columna de la nota principal
4003         % perquè la fusió funcioni
4004         c,8~ \shiftOnn c2
4005       }
4006       \new Voice {
4007         \voiceThree
4008         % La plica al d2 ha de ser cap avall per permetre la fusió
4009         s8 \stemDown d2
4010       }
4011       \new Voice {
4012         \voiceFour
4013         s4 fis4.
4014       }
4015     >> |
4016     \mergeDifferentlyHeadedOff
4017     \mergeDifferentlyDottedOff
4018     g2.\)  % continuació de la veu principal
4019   }
4020 }
4021
4022 lhMusic = \relative {
4023   r2 <c' g ees>2( |
4024   <d g, d>1)\arpeggio |
4025   r2. d,,4 r4 r |
4026   r4
4027 }
4028
4029 \score {
4030   \new PianoStaff <<
4031     \new Staff = "RH"  <<
4032       \key g \minor
4033       \rhMusic
4034     >>
4035     \new Staff = "LH" <<
4036       \key g \minor
4037       \clef "bass"
4038       \lhMusic
4039     >>
4040   >>
4041 }
4042 @end lilypond
4043
4044 Ja gairebé està.  Sols queden dos problemes: la plica cap avall
4045 sobre el Re fusionat no hauria d'estar aquí, i el Do estaria
4046 millor col·locat a la dreta dels Re.  Sabem com fer les dues coses
4047 a partir d'ajustaments anteriors: fem la plica transparent, i
4048 movem el Do amb la propietat @code{force-hshift}.  Aquí tenim el
4049 resultat final:
4050
4051 @cindex NoteColumn, exemple de sobreescriptura
4052 @cindex force-hshift, propietat, exemple
4053 @cindex Stem, exemple de sobreescriptura
4054 @cindex transparent, propietat, exemple
4055
4056 @c line-width ensures no break
4057 @lilypond[quote,verbatim,ragged-right,line-width=6\in]
4058 rhMusic = \relative {
4059   \new Voice {
4060     r2 c''4.\( g8 |
4061     \once \override Tie.staff-position = #3.5
4062     bes1~ |
4063     \bar "||"
4064     \time 6/4
4065     bes2.\tempo "Moderato" r8
4066     \mergeDifferentlyHeadedOn
4067     \mergeDifferentlyDottedOn
4068     % Inicia la secció polifònica de quatre veus
4069     <<
4070       { c,8 d fis bes a }  % continuació de la veu principal
4071       \new Voice {
4072         \voiceTwo
4073         c,8~
4074         % Torna a posicionar el C2 a la dreta de la nota fucionada
4075         \once \override NoteColumn.force-hshift = #1.0
4076         % Mou el c2 for de la columna de la nota principal
4077         % perquè funcioni la fusió
4078         \shiftOnn
4079         c2
4080       }
4081       \new Voice {
4082         \voiceThree
4083         s8
4084         % La plica sobre la d2 ha de ser cap avall per permetre la fusió
4085         \stemDown
4086         % La plica sobre la d2 ha de ser invisible
4087         \tweak Stem.transparent ##t
4088         d2
4089       }
4090       \new Voice {
4091         \voiceFour
4092         s4 fis4.
4093       }
4094     >> |
4095     \mergeDifferentlyHeadedOff
4096     \mergeDifferentlyDottedOff
4097     g2.\)  % continuació de la veu principal
4098   }
4099 }
4100
4101 lhMusic = \relative {
4102   r2 <c' g ees>2( |
4103   <d g, d>1)\arpeggio |
4104   r2. d,,4 r4 r |
4105   r4
4106 }
4107
4108 \score {
4109   \new PianoStaff <<
4110     \new Staff = "RH"  <<
4111       \key g \minor
4112       \rhMusic
4113     >>
4114     \new Staff = "LH" <<
4115       \key g \minor
4116       \clef "bass"
4117       \lhMusic
4118     >>
4119   >>
4120 }
4121 @end lilypond
4122
4123
4124 @node Ajustaments addicionals
4125 @section Ajustaments addicinals
4126 @translationof Further tweaking
4127
4128 @menu
4129 * Altres aplicacions dels ajustaments::
4130 * Ús de variables per als ajustaments de disposició::
4131 * Fulls d'estil::
4132 * Altres fonts d'informació::
4133 * Ajustaments avançats amb l'Scheme::
4134 @end menu
4135
4136 @node Altres aplicacions dels ajustaments
4137 @subsection Altres aplicacions dels ajustaments
4138 @translationof Other uses for tweaks
4139
4140 @menu
4141 * Unió de notes entre veus diferents::
4142 * Simulació de un calderó al MIDI::
4143 @end menu
4144
4145 @cindex eliminar objectes
4146 @cindex objectes, eliminar
4147
4148 @node Unió de notes entre veus diferents
4149 @unnumberedsubsubsec Unió de notes entre veus diferents
4150 @translationof Tying notes across voices
4151
4152 @cindex lligar notes entre veus diferents
4153
4154 El següent exemple mostra com connectar notes que estan a
4155 diferents veus utilitzant lligadures d'unió.  Normalment sols es
4156 poden connectar mitjançant lligadures d'unió notes que estiguin a
4157 la mateixa veu.  Usant dues veus, amb les notes lligades a una
4158 d'elles:
4159
4160 @lilypond[quote]
4161 << { b'8~ 8\noBeam } \\ { b'8[ g'] } >>
4162 @end lilypond
4163
4164 @noindent
4165 i esborrant la primera plica (amb el seu claudàtor) cap amunt a
4166 aquesta veu, dóna la impressió que la lligadura es creua entres
4167 les veus:
4168
4169 @funindex \omit
4170 @cindex Stem, exemple de remoció
4171 @cindex Flag, exemple de remoció
4172 @cindex @code{\omit}, exemple
4173 @cindex exemple de @code{\omit}
4174
4175 @lilypond[quote,verbatim]
4176 <<
4177   {
4178     \once \omit Stem
4179     \once \omit Flag
4180     b'8~ 8\noBeam
4181   }
4182 \\
4183   { b'8[ g'] }
4184 >>
4185 @end lilypond
4186
4187 @seealso
4188 Manual de aprenentatge:
4189 @ref{El prefix once,,El prefix @code{@bs{}once}},
4190 @ref{La propietat stencil (segell)}.
4191
4192
4193 @node Simulació de un calderó al MIDI
4194 @unnumberedsubsubsec Simulació de un calderó al MIDI
4195 @translationof Simulating a fermata in MIDI
4196
4197 @cindex segell, ús de la propietat
4198 @cindex fermata, realització a MIDI
4199
4200 Per als objectes fora-del-pentagrama, normalment és millor
4201 sobreescriure la propietat @code{stencil} («segell») de l'objecte
4202 que la seva propietat @code{transparent} quan vulgueu treure'ls de
4203 la sortida impresa.  Mitjançant l'establiment de la propietat
4204 @code{stencil} d'un objecte al valor @code{#f} podem treure
4205 l'objecte per complet de la sortida impresa.  Això significa que
4206 no té efecte sobre la col·locació d'altres objectes que poguessin
4207 col·locar-se en relació a ell.
4208
4209 Per exemple, si volguéssim canviar la indicació metronòmica amb el
4210 propòsit de simular un calderó a la sortida MIDI, segurament no
4211 voldríem que la indicació metronòmica aparegués a la sortida
4212 impresa, i no voldríem influir sobre la separació entre els dos
4213 sistemes ni sobre la col·locació de les anotacions adjacents sobre
4214 el pentagrama.  Per tant, establir la seva propietat
4215 @code{stencil} al valor @code{#f} seria la millor manera.  Mostrem
4216 aquí l'efecte dels dos mètodes:
4217
4218 @cindex MetronomeMark, exemple de sobreescriptura
4219 @cindex transparent, propietat, exemple
4220
4221 @lilypond[quote,verbatim,ragged-right]
4222 \score {
4223   \relative {
4224     % Visible tempo marking
4225     \tempo 4=120
4226     a'4 a a
4227     \once \hide Score.MetronomeMark
4228     % Tempo invisible que marca que s'allargui el fermata al MIDI
4229     \tempo 4=80
4230     a4\fermata |
4231     % Tempo nou per a la propera secció
4232     \tempo 4=100
4233     a4 a a a |
4234   }
4235   \layout { }
4236   \midi { }
4237 }
4238 @end lilypond
4239
4240 @cindex MetronomeMark, exemple de sobreescriptura
4241 @cindex stencil, propietat, exemple
4242
4243 @lilypond[quote,verbatim,ragged-right]
4244 \score {
4245   \relative {
4246     % Marcatge Visible del tempo
4247     \tempo 4=120
4248     a'4 a a
4249     \once \omit Score.MetronomeMark
4250     % Marcatge invisible del tempo per allargar el fermata al MIDI
4251     \tempo 4=80
4252     a4\fermata |
4253     % Tempo nou per a la propera secció
4254     \tempo 4=100
4255     a4 a a a |
4256   }
4257   \layout { }
4258   \midi { }
4259 }
4260 @end lilypond
4261
4262 @noindent
4263 Els dos mètodes treuen de la sortida impresa la indicació
4264 metronòmica que allarga el calderó, i els dos afecten al temps del
4265 MIDI tal i com volíem, però la indicació metronòmica transparent
4266 de la primera línia força una col·locació molt alta de la
4267 indicació de tempo que segueix, mentre que la segona (amb el
4268 segell suprimit) no ho fa.
4269
4270 @seealso
4271 Glossari musical:
4272 @rglos{system}.
4273
4274 @node Ús de variables per als ajustaments de disposició
4275 @subsection Ús de variables per als ajustaments de disposició
4276 @translationof Using variables for layout adjustments
4277
4278 @cindex variables, usar per a sobreescriptures
4279 @cindex sobreescriptures, usar variables per a
4280 @cindex ajustaments, usar variables per a
4281 @cindex ajustaments de disposició, usar variables per fer
4282
4283 Les ordres de sobreescriptura són sovint llargues i tedioses
4284 d'escriure, i s'han d'escriure de forma absolutament correcta.  Si
4285 les mateixes sobreescriptures s'han d'utilitzar molts cops, podria
4286 valdre la pena definir variables per desar-les.
4287
4288 Suposem que volem realçar certes paraules de la lletra d'una cançó
4289 imprimint-les en cursiva i negreta.  Les ordres  @code{\italic} i
4290 @code{\bold} sols funcionen dins de la lletra de la cançó si estan
4291 incloses, junt amb la paraula o paraules que es pretenen
4292 modificar, dins d'un @code{\markup}, cosa que les fa tedioses
4293 d'escriure.  La necessitat d'incloure les pròpies paraules
4294 impedeix que es puguin usar a variables simples. Podríem, com a
4295 alternativa, utilitzar les ordres @code{\override} y
4296 @code{\revert}?
4297
4298 @example
4299 @code{\override Lyrics.LyricText.font-shape = #'italic}
4300 @code{\override Lyrics.LyricText.font-series = #'bold}
4301
4302 @code{\revert Lyrics.LyricText.font-shape}
4303 @code{\revert Lyrics.LyricText.font-series}
4304 @end example
4305
4306 Aquestes ordres també serien extremadament tedioses d'escriure si
4307 hi haguessin moltes paraules que volguéssim subratllar.  Peró sí
4308 @emph{podem} definir-les com dues variables i usar-les per
4309 delimitar les paraules a destacar.  Un altre avantatge de la
4310 utilització de variables per a aquestes sobreescriptures és que ja
4311 no són necessaris els espais que rodegen el punt, atès que no
4312 s'interpreten directament al mode @code{\lyricmode}.  Vet aquí un
4313 exemple d'això, tot i que a la pràctica potser escolliríem uns
4314 noms de variables més curts perquè fossin més ràpids de teclejar:
4315
4316 @cindex LyricText, exemple de sobreescriptura
4317 @cindex font-shape, propietat, exemple
4318 @cindex font-series, propietat, exemple
4319
4320 @lilypond[quote,verbatim]
4321 emphasize = {
4322   \override Lyrics.LyricText.font-shape = #'italic
4323   \override Lyrics.LyricText.font-series = #'bold
4324 }
4325
4326 normal = {
4327   \revert Lyrics.LyricText.font-shape
4328   \revert Lyrics.LyricText.font-series
4329 }
4330
4331 global = { \key c \major \time 4/4 \partial 4 }
4332
4333 SopranoMusic = \relative { c'4 | e4. e8 g4 g    | a4   a   g  }
4334 AltoMusic    = \relative { c'4 | c4. c8 e4 e    | f4   f   e  }
4335 TenorMusic   = \relative  { e4 | g4. g8 c4.  b8 | a8 b c d e4 }
4336 BassMusic    = \relative  { c4 | c4. c8 c4 c    | f8 g a b c4 }
4337
4338 VerseOne = \lyrics {
4339   E -- | ter -- nal \emphasize Fa -- ther, | \normal strong to save,
4340 }
4341
4342 VerseTwo = \lyricmode {
4343   O | \once \emphasize Christ, whose voice the | wa -- ters heard,
4344 }
4345
4346 VerseThree = \lyricmode {
4347   O | \emphasize Ho -- ly Spi -- rit, | \normal who didst brood
4348 }
4349
4350 VerseFour = \lyricmode {
4351   O | \emphasize Tri -- ni -- ty \normal of | love and pow'r
4352 }
4353
4354 \score {
4355   \new ChoirStaff <<
4356     \new Staff <<
4357       \clef "treble"
4358       \new Voice = "Soprano"  { \voiceOne \global \SopranoMusic }
4359       \new Voice = "Alto" { \voiceTwo \AltoMusic }
4360       \new Lyrics \lyricsto "Soprano" { \VerseOne }
4361       \new Lyrics \lyricsto "Soprano" { \VerseTwo }
4362       \new Lyrics \lyricsto "Soprano" { \VerseThree }
4363       \new Lyrics \lyricsto "Soprano" { \VerseFour }
4364     >>
4365     \new Staff <<
4366       \clef "bass"
4367       \new Voice = "Tenor" { \voiceOne \TenorMusic }
4368       \new Voice = "Baix"  { \voiceTwo \BassMusic }
4369     >>
4370   >>
4371 }
4372 @end lilypond
4373
4374
4375 @node Fulls d'estil
4376 @subsection Fulls d'estil
4377 @translationof Style sheets
4378
4379 La sortida que produeix el LilyPond es pot modificar profundament;
4380 consulteu @ref{Ajustament de la sortida} per llegir detalls sobre
4381 aquest tema.  Però, que passa si teniu molts fitxers als quals
4382 voleu aplicar els vostres propis ajustaments? O què passa si,
4383 senzillament, voleu separar els ajustaments de la pròpia música?
4384 Tot això és força fàcil d'aconseguir.
4385
4386 Vejam un exemple.  No us preocupeu si no enteneu les parts que
4387 tenen tots els @code{#()}.  Això s'explicarà a
4388 @ref{Ajustaments avançats amb l'Scheme}.
4389
4390 @lilypond[quote,verbatim,ragged-right]
4391 mpdolce =
4392   \tweak self-alignment-X #-0.6
4393   #(make-dynamic-script
4394     #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #})
4395
4396 inst =
4397 #(define-music-function
4398      (string)
4399      (string?)
4400    #{ <>^\markup \bold \box #string #})
4401
4402 \relative {
4403   \tempo 4=50
4404   a'4.\mpdolce d8 cis4--\glissando a |
4405   b4 bes a2 |
4406   \inst "Clarinet"
4407   cis4.\< d8 e4 fis |
4408   g8(\! fis)-. e( d)-. cis2 |
4409 }
4410 @end lilypond
4411
4412 Fem alguna cosa respecte a les definicions @code{mpdolce} i
4413 @code{inst}.  Aquestes definicions produeixen la sortida que
4414 volem, però potser les voldríem utilitzar a una altra peça.
4415 Podríem simplement copiar-les i enganxar-les al principi de cada
4416 fitxer, però seria força molest.  També fa que es quedin les
4417 definicions a la vista dins dels nostres fitxers de música, i jo
4418 personalment trobo tots els @code{#()} molt pocs estètics.  Els
4419 amagarem dins d'un altre fitxer:
4420
4421 @example
4422 %%% desar això a un fitxer amb el nom «definicions.ily»
4423 mpdolce =
4424   \tweak self-alignment-X #-0.6
4425   #(make-dynamic-script
4426     #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@})
4427
4428 inst =
4429 #(define-music-function
4430      (string)
4431      (string?)
4432    #@{ <>^\markup \bold \box #string #@})
4433 @end example
4434
4435 Farem referència a aquest fitxer utilitzant l'ordre
4436 @code{\include} al principi del fitxer de música (l'extensió
4437 @code{.ily} s'utilitza per distingir aquest fitxer d'inclusió
4438 --que se suposa que no ha de ser processat de forma independent--
4439 del fitxer principal).  Ara modificarem la música (desem aquest
4440 fitxer com @file{musica.ly}).
4441
4442 @c  We have to do this awkward example/lilypond-non-verbatim
4443 @c  because we can't do the \include stuff in the manual.
4444
4445 @example
4446 \include "definicions.ily"
4447
4448 \relative @{
4449   \tempo 4=50
4450   a'4.\mpdolce d8 cis4--\glissando a |
4451   b4 bes a2 |
4452   \inst "Clarinete"
4453   cis4.\< d8 e4 fis |
4454   g8(\! fis)-. e( d)-. cis2 |
4455 @}
4456 @end example
4457
4458 @lilypond[quote,ragged-right]
4459 mpdolce =
4460   \tweak self-alignment-X #-0.6
4461   #(make-dynamic-script
4462     #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #})
4463
4464 inst =
4465 #(define-music-function
4466      (string)
4467      (string?)
4468    #{ <>^\markup \bold \box #string #})
4469
4470 \relative {
4471   \tempo 4=50
4472   a'4.\mpdolce d8 cis4--\glissando a |
4473   b4 bes a2 |
4474   \inst "Clarinet"
4475   cis4.\< d8 e4 fis |
4476   g8(\! fis)-. e( d)-. cis2 |
4477 }
4478 @end lilypond
4479
4480 Això té millor aspecte, però farem alguns canvis més.  El
4481 glissando és difícil de veure, així que el farem més gruixut i
4482 l'aproparem als caps de les notes.  Posarem la indicació
4483 metronòmica a sobre de la clau, en lloc d'anar a sobre de la
4484 primera nota.  I per últim, el meu professor de composició odia
4485 les indicacions de compàs @q{C}, així que la convertirem en @q{4/4}.
4486
4487 Malgrat això, no hem de canviar el fitxer @file{musica.ly}.  Anem
4488 a substituir el nostre fitxer @file{definicions.ily} amb el següent:
4489
4490 @example
4491 %%%  definicions.ily
4492 mpdolce =
4493   \tweak self-alignment-X #-0.6
4494   #(make-dynamic-script
4495     #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@})
4496
4497 inst =
4498 #(define-music-function
4499      (string)
4500      (string?)
4501    #@{ <>^\markup \bold \box #string #@})
4502
4503 \layout@{
4504   \context @{
4505     \Score
4506     \override MetronomeMark.extra-offset = #'(-5 . 0)
4507     \override MetronomeMark.padding = #'3
4508   @}
4509   \context @{
4510     \Staff
4511     \override TimeSignature.style = #'numbered
4512   @}
4513   \context @{
4514     \Voice
4515     \override Glissando.thickness = #3
4516     \override Glissando.gap = #0.1
4517   @}
4518 @}
4519 @end example
4520
4521 @lilypond[quote,ragged-right]
4522 mpdolce =
4523   \tweak self-alignment-X #-0.6
4524   #(make-dynamic-script
4525     #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #})
4526
4527 inst =
4528 #(define-music-function
4529      (string)
4530      (string?)
4531    #{ <>^\markup \bold \box #string #})
4532
4533 \layout{
4534   \context {
4535     \Score
4536     \override MetronomeMark.extra-offset = #'(-5 . 0)
4537     \override MetronomeMark.padding = #'3
4538   }
4539   \context {
4540     \Staff
4541     \override TimeSignature.style = #'numbered
4542   }
4543   \context {
4544     \Voice
4545     \override Glissando.thickness = #3
4546     \override Glissando.gap = #0.1
4547   }
4548 }
4549
4550 \relative {
4551   \tempo 4=50
4552   a'4.\mpdolce d8 cis4--\glissando a |
4553   b4 bes a2 |
4554   \inst "Clarinet"
4555   cis4.\< d8 e4 fis |
4556   g8(\! fis)-. e( d)-. cis2 |
4557 }
4558 @end lilypond
4559
4560 Això té un aspecte molt millor!  Ara suposeu que voleu publicar
4561 aquesta peça.  Al meu professor de composició no li agraden les
4562 indicacions de compàs, però jo els tinc un cert apreci.  Copiarem
4563 el fitxer actual
4564
4565 ¡Eso tiene un aspecto mucho mejor!  Ahora suponga que quiere
4566 publicar esta pieza.  A mi profesor de composición no le gustan
4567 las indicaciones de compás @q{C}, pero yo les tengo cierto cariño.
4568 Copiaremos el archivo actual @file{definicions.ily} a
4569 @file{publicar-web.ily} i modificarem aquest últim fitxer. Com el
4570 propòsit d'aquesta música és produir un PDF que es mostrarà a la
4571 pantalla, també augmentarem la mida general de la sortida.
4572
4573 @example
4574 %%%  publicar-web.ily
4575 mpdolce =
4576   \tweak self-alignment-X #-0.6
4577   #(make-dynamic-script
4578     #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@})
4579
4580 inst =
4581 #(define-music-function
4582      (string)
4583      (string?)
4584    #@{ <>^\markup \bold \box #string #@})
4585
4586 #(set-global-staff-size 23)
4587
4588 \layout@{
4589   \context @{
4590     \Score
4591     \override MetronomeMark.extra-offset = #'(-5 . 0)
4592     \override MetronomeMark.padding = #'3
4593   @}
4594   \context @{
4595     \Staff
4596   @}
4597   \context @{
4598     \Voice
4599     \override Glissando.thickness = #3
4600     \override Glissando.gap = #0.1
4601   @}
4602 @}
4603 @end example
4604
4605 @lilypond[quote,ragged-right]
4606 mpdolce =
4607   \tweak self-alignment-X #-0.6
4608   #(make-dynamic-script
4609     #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #})
4610
4611 inst =
4612 #(define-music-function
4613      (string)
4614      (string?)
4615    #{ <>^\markup \bold \box #string #})
4616
4617 #(set-global-staff-size 23)
4618
4619 \layout{
4620   \context { \Score
4621     \override MetronomeMark.extra-offset = #'(-5 . 0)
4622     \override MetronomeMark.padding = #'3
4623   }
4624   \context { \Voice
4625     \override Glissando.thickness = #3
4626     \override Glissando.gap = #0.1
4627   }
4628 }
4629
4630 \relative {
4631   \tempo 4=50
4632   a'4.\mpdolce d8 cis4--\glissando a |
4633   b4 bes a2 |
4634   \inst "Clarinet"
4635   cis4.\< d8 e4 fis |
4636   g8(\! fis)-. e( d)-. cis2 |
4637 }
4638 @end lilypond
4639
4640 Ara, a la música, simplement substitueixo
4641 @code{\include "definicions.ily"} per @code{\include "publicar-web.ily"}.  Per
4642 suposat, podríem fer això encara més pràctic.  Podríem fer un
4643 fitxer @file{definiciones.ily} que contingués sols les definicions de
4644 @code{mpdolce} i de @code{inst}, un fitxer
4645 @file{publicar-web.ily} que contingués sols la secció
4646 @code{\layout} que es va mostrar a l'exemple, i un fitxer
4647 @file{universitat.ily} que contindria sols els ajustament per
4648 introduir la sortida que agrada al meu professor.  El començament de
4649 @file{musica.ly} tindria ara aquest aspecte:
4650
4651 @example
4652 \include "definiciones.ily"
4653
4654 %%%  Treure el comentari d'una sola d'aquestes línies!
4655 \include "publicar-web.ily"
4656 %\include "universitat.ily"
4657 @end example
4658
4659 Aquest enfocament pot ser útil fins i tot si aneu a produir sols
4660 un conjunt de particel·les.  Jo utilitzo mitja dotzena de fitxers
4661 de @q{fulls d'estil} per als meus projectes.   Començo tots els
4662 fitxers de música amb un @code{\include "../global.ily"}, que conté
4663
4664 @example
4665 %%%   global.ily
4666 \version @w{"@version{}"}
4667
4668 #(ly:set-option 'point-and-click #f)
4669
4670 \include "../iniciar/iniciar-definicions.ily"
4671 \include "../iniciar/iniciar-disposicio.ily"
4672 \include "../iniciar/iniciar-capçaleres.ily"
4673 \include "../iniciar/iniciar-paper.ily"
4674 @end example
4675
4676
4677 @node Altres fonts d'informació
4678 @subsection Altres fonts d'informació
4679 @translationof Other sources of information
4680
4681 La documentació del manual de Referència de Funcionament Intern
4682 conté muntanyes d'informació sobre el Lilypond, però es pot
4683 obtenir més informació encara llegint els fitxers interns del
4684 LilyPond.  Per donar-los una ullada, en primer lloc heu de buscar
4685 la carpeta corresponent al seu sistema.  La ubicació d'aquesta
4686 carpeta depèn (a) de si heu aconseguit el programa LilyPond
4687 descarregant un binari precompilat des del lloc web lilypond.org o
4688 i l'heu instal·lat mitjançant un gestor de paquets (és a dir,
4689 distribuït per GNU/Linux, o instal·lat sota fink o cygwin) o si va
4690 ser compilat a partir de la font, i (b) de quin sistema operatiu
4691 esteu utilitzant:
4692
4693 @subsubsubheading Descàrrega des de lilypond.org
4694
4695 @itemize @bullet
4696 @item GNU/Linux
4697
4698 Dirigiu-vos a
4699 @example
4700 @file{@var{CARPETA_DE_INSTAL·LACIÓ}/lilypond/usr/@/share/lilypond/current/}
4701 @end example
4702
4703 @item MacOS X
4704
4705 Diríjase a
4706 @example
4707 @file{@var{CARPETA_DE_INSTAL·LACIÓ}/LilyPond.app/Contents/@/Resources/share/lilypond/current/}
4708 @end example
4709
4710 o bé fent @code{cd} cap a aquest directori des del terminal, o bé
4711 mantenint polsada la tecla de Control i fent clic sobre
4712 l'aplicació del LilyPond, i escollint aquí
4713 @q{Mostrar el contingut del paquet}.
4714
4715 @item Windows
4716
4717 Mitjançant el Explorador del Windows, dirigiu-vos a
4718 @example
4719 @file{@var{CARPETA_DE_INSTAL·LACIÓ}/LilyPond/usr/@/share/lilypond/current/}
4720 @end example
4721
4722 @end itemize
4723
4724 @subsubsubheading Instal·lant mitjançant un gestor de paquets o
4725 compilat a partir de la font
4726
4727 Dirigiu-vos a @file{@var{PREFIX}/share/lilypond/@var{X.Y.Z}/}, on
4728 @var{PREFIX} s'ha establert pel vostre administrador de paquets o
4729 guió @code{configure}, i @var{X.Y.Z} es el número de la versió del
4730 Lilypond.
4731
4732 @smallspace
4733
4734 Dins d'aquesta carpeta, les dues subcarpetes interessats són
4735
4736 @itemize
4737 @item @file{ly/} - conté fitxers en format LilyPond
4738 @item @file{scm/} - conté fitxers en format Scheme
4739 @end itemize
4740
4741 Començarem observant alguns fitxers que estan a
4742 @file{ly/}.  Obriu @file{ly/property-init.ly} amb un editor de
4743 textos.  El mateix que usaria normalment per al fitxers
4744 @file{.ly} servirà perfectament.  Aquest fitxer conté les
4745 definicions de totes les instruccions estàndard predefinides del
4746 LilyPond, com per exemple @code{\tieUp} i @code{\slurDotted}.
4747 Podreu veure que no són res més que definicions de variables que
4748 contenen una o diverses ordres @code{\override}.  Per exemple,
4749 @code{\tieDotted} està definit de tal forma que el valor és:
4750
4751 @example
4752 tieDotted = @{
4753   \override Tie.dash-period = #0.75
4754   \override Tie.dash-fraction = #0.1
4755 @}
4756 @end example
4757
4758 Si no us agraden els valors predeterminats, aquestes ordres
4759 predefinides es poden redefinir amb facilitat com qualsevol altra
4760 variable, al principi del seu fitxer de codi d'entrada.
4761
4762 Els següents són els fitxers més útils que es troben a
4763 @file{ly/}:
4764
4765 @multitable @columnfractions .4 .6
4766 @headitem Fitxer
4767   @tab Contingut
4768 @item @file{ly/engraver-init.ly}
4769   @tab Definicions de Contextos de gravadors
4770 @item @file{ly/paper-defaults-init.ly}
4771   @tab especificacions de valors predeterminats relacionats amb el document
4772 @item @file{ly/performer-init.ly}
4773   @tab Definicions de Contextos de interpretació
4774 @item @file{ly/property-init.ly}
4775   @tab Definicions de totes las instruccions predefinides que són comunes
4776 @item @file{ly/spanner-init.ly}
4777   @tab Definicions de les ordres predefinides relacionades amb els objectes d'extensió
4778 @end multitable
4779
4780 Altres ajustos (com les definicions de les ordres de marcatge)
4781 s'emmagatzemen com fitxers @file{.scm} (de l'Scheme).  El
4782 llenguatge de programació Scheme es fa servir per proporcoinar una
4783 interfície programable en el funcionament intern del LilyPond.
4784 Qualsevol explicació addicional sobre aquests fitxers es troba de
4785 moment fora de l'àmbit d'aquest manual, perquè es requereixen
4786 coneixements del llenguatge Scheme.  S'adverteix als usuaris que
4787 cal una important quantitat de coneixements tècnics o de temps per
4788 comprendre el llenguatge Scheme i aquests fitxers
4789 (vegeu @rextendnamed{Scheme tutorial,Tutorial de l'Scheme}).
4790
4791 Si ja teniu aquests coneixements, els fitxers de l'Scheme que
4792 poden interessar-vos són:
4793
4794 @multitable @columnfractions .4 .6
4795 @headitem Fitxer
4796   @tab Contingut
4797 @item @file{scm/auto-beam.scm}
4798   @tab Valors predeterminats de sub-barrat
4799 @item @file{scm/define-grobs.scm}
4800   @tab valors predeterminats de les propietats de grobs
4801 @item @file{scm/define-markup-commands.scm}
4802   @tab Especificar totes les ordres de marcatge
4803 @item @file{scm/midi.scm}
4804   @tab Ajustaments predeterminats per a la sortida MIDI
4805 @item @file{scm/output-lib.scm}
4806   @tab Ajustaments que afecten l'aspecte dels trastos, colors, alteracions, línies divisòries, etc.
4807 @item @file{scm/parser-clef.scm}
4808   @tab Definicions de les claus contemplades
4809 @item @file{scm/script.scm}
4810   @tab Ajustaments predeterminats per a les articulacions
4811 @end multitable
4812
4813
4814 @node Ajustaments avançats amb l'Scheme
4815 @subsection Ajustaments avançats amb l'Scheme
4816 @translationof Advanced tweaks with Scheme
4817
4818 Tot i que és possible fer moltes coses amb les ordres
4819 @code{\override} i @code{\tweak} , tenim una forma encara més
4820 poderosa de modificar el funcionament del LilyPond, mitjançant una
4821 interfície programable cap a les operacions internes del
4822 LilyPond.  Es pot incorporar codi escrit en el llenguatge de
4823 programació Scheme, directament en el mecanisme de funcionament
4824 del LilyPond.  Per descomptat, per fer això calen almenys uns
4825 coneixements bàsics de programació de l'Scheme, i proveïm una
4826 introducció al @rextendnamed{Scheme tutorial,Tutorial de l'Scheme}.
4827
4828 Com exemple que il·lustra una de les moltes possibilitats, en lloc
4829 de donar a una propietat un valor constant, es pot establir al
4830 resultat d'una procediment de l'Scheme que s'invoca cada cop que
4831 el LilyPond accedeix a aquesta propietat.  La propietat es pot
4832 establir dinàmicament a un valor determinat pel procediment al
4833 moment que s'invoca.  En aquest exemple donem als caps de les
4834 notes un color que depèn de la seva posició dins del pentagrama.
4835
4836 @cindex x11-color, funció, exemple de utilització
4837 @cindex NoteHead, exemple de sobreescriptura
4838 @cindex color, propietat, establir a procediment de l'Scheme
4839
4840 @lilypond[quote,verbatim,ragged-right]
4841 #(define (color-notehead grob)
4842    "Pinta el cap de la nota d'acord amb la seva posició a la partitura."
4843    (let ((mod-position (modulo (ly:grob-property grob 'staff-position)
4844                                7)))
4845      (case mod-position
4846        ;;   Retorna els colors de l'arc de Sant Martí
4847        ((1) (x11-color 'red    ))  ; for C
4848        ((2) (x11-color 'orange ))  ; for D
4849        ((3) (x11-color 'yellow ))  ; for E
4850        ((4) (x11-color 'green  ))  ; for F
4851        ((5) (x11-color 'blue   ))  ; for G
4852        ((6) (x11-color 'purple ))  ; for A
4853        ((0) (x11-color 'violet ))  ; for B
4854        )))
4855
4856 \relative {
4857   % Disposa per obtenir el color del procediment color-notehead
4858   \override NoteHead.color = #color-notehead
4859   a2 b | c2 d | e2 f | g2 a |
4860 }
4861 @end lilypond
4862
4863 Es poden trobar exemples addicionals que mostren la utilització
4864 d'aquestes interfícies programables, a
4865 @rextendnamed{Callback functions,Funcions de callback}.