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