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