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