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