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