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