1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
4 Translation of GIT committish: 1e339d5efe13a725a4f0c2d8dfc3d40390446b89
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..
13 @c Translators: Federico Bruni
14 @c Translation checkers:
19 Negative numbers are allowed:
20 > Are you sure? The following works well
22 > first-page-number = -2
24 > and prints page number -1 on the second page, for example.
28 http://code.google.com/p/lilypond/issues/detail?id=68
33 @node Gestione dello spazio
34 @chapter Gestione dello spazio
35 @translationof Spacing issues
37 La formattazione globale del foglio è determinata da tre fattori: la
38 formattazione della pagina, le interruzioni di linea e la spaziatura.
39 Ciascun fattore influenza l'altro. La scelta della spaziatura determina
40 la densità con cui vengono disposti i sistemi musicali, che a sua volta
41 influenza la scelta delle interruzioni di linea e quindi infine quante
42 pagine occupa un brano.
44 Generalmente, questa procedura si svolge in quattro stadi. Inizialmente
45 vengono scelte le distanze flessibili (@q{springs}), in base alle
46 durate. Poi vengono tentate tutte le possibili combinazioni per le
47 interruzioni di linea e viene calcolato un punteggio @q{negativo} per
48 ciascuna di esse. Quindi viene calcolata l'altezza di ogni possibile
49 sistema. Infine viene scelta una combinazione di interruzioni di linea
50 e di interruzioni di pagina che assicuri che la spaziatura verticale e
51 quella orizzontale non siano né troppo compresse né troppo allungate.
53 Due tipi di blocchi possono contenere le impostazioni di formattazione:
54 @code{\paper @{@dots{}@}} e @code{\layout @{@dots{}@}}. Il blocco
55 @code{\paper} contiene le impostazioni di formattazione della pagina
56 da applicare a tutte le partiture di un libro o di una parte,
57 come l'altezza del foglio o se stampare o meno i numeri di pagina, etc.
58 (vedi @ref{Page layout}). Il blocco @code{\layout} contiene le impostazioni
59 di formattazione della partitura, come il numero di sistemi da usare o lo
60 spazio tra i gruppi di righi, etc. (vedi @ref{Score layout}).
63 * Formattazione della pagina::
64 * Formattazione della partitura::
66 * Spaziatura verticale::
67 * Spaziatura orizzontale::
68 * Riduzione del numero di pagine di una partitura::
72 @node Formattazione della pagina
73 @section Formattazione della pagina
74 @translationof Page layout
76 Questa sezione tratta le opzioni di formattazione della pagina per il
81 * Formato carta e ridimensionamento automatico::
82 * Variabili paper della spaziatura verticale fissa::
83 * Variabili paper della spaziatura verticale flessibile::
84 * Variabili paper della spaziatura orizzontale::
85 * Altre variabili di paper::
90 @subsection Il blocco @code{@bs{}paper}
91 @translationof The paper block
93 I blocchi @code{\paper} possono essere posizionati in tre punti diversi, in
94 modo da formare una gerarchia discendente di blocchi @code{\paper}:
99 All'inizio del file di input, prima di tutti i blocchi @code{\book},
100 @code{\bookpart} e @code{\score}.
103 Dentro un blocco @code{\book} ma fuori da tutti i blocchi
104 @code{\bookpart} e @code{\score} in esso racchiusi.
107 Dentro un blocco @code{\bookpart} ma fuori da tutti i blocchi
108 @code{\score} in esso racchiusi.
112 Non è possibile inserire un blocco @code{\paper} in un blocco @code{\score}.
114 I valori dei campi vengono filtrati dall'alto verso il basso attraverso
115 questa gerarchia: i valori impostati nei livelli più alti della
116 gerarchia persistono finché non sono sovrascritti da un valore
117 impostato in un livello più basso.
119 Vari blocchi @code{\paper} possono apparire in ognuno di questi livelli, per
120 esempio come parti di vari file inclusi con @code{\include}. In questo caso,
121 i campi di ciascun livello vengono combinati e i valori riscontrati per
122 ultimi avranno la precedenza in caso di campi duplicati.
124 Le impostazioni che possono apparire in un blocco @code{\paper} comprendono:
129 la funzione scheme @code{set-paper-size},
132 le variabili @code{\paper} per personalizzare la formattazione della pagina e
135 le definizioni di markup usate per personalizzare la formattazione di intestazioni,
136 piè di pagina e titoli.
140 La funzione @code{set-paper-size} è trattata nella prossima
141 sezione, @ref{Paper size and automatic scaling}. Le variabili
142 @code{\paper} che si occupano della formattazione della pagina sono
143 trattate in sezioni successive. Le definizioni di markup relative a
144 intestazioni, piè di pagina e titoli sono trattate in
145 @ref{Custom titles headers and footers}.
147 La maggior parte delle variabili @code{\paper} funzionano soltanto in
148 un blocco @code{\paper}. Le poche che funzionano anche in un blocco
149 @code{\layout} sono elencate in
150 @ref{The layout block,,Il blocco @code{@bs{}layout}}.
152 Se non indicato diversamente, tutte le variabili @code{\paper} che
153 corrispondono a distanze sulla pagina sono misurate in millimetri,
154 a meno che un'unità di misura diversa non sia specificata dall'utente.
155 Per esempio, la seguente dichiarazione imposta @code{top-margin} su
164 Per impostarla su @code{0.5} pollici, usare il suffisso di
165 unità @code{\in} (inch = pollice):
173 I suffissi di unità disponibili sono @code{\mm}, @code{\cm},
174 @code{\in} e @code{\pt}. Queste unità sono semplici valori utili
175 per convertire dai millimetri e sono definite in
176 @file{ly/paper-defaults-init.ly}. Solo per chiarezza, quando
177 si usano i millimetri, di solito si usa il suffisso @code{\mm},
178 anche se non è tecnicamente necessario.
180 È anche possibile definire i valori di @code{\paper} con Scheme.
181 L'equivalente Scheme dell'esempio precedente è:
185 #(define top-margin (* 0.5 in))
190 Guida alla notazione:
191 @ref{Paper size and automatic scaling},
192 @ref{Custom titles headers and footers},
193 @ref{The layout block,,Il blocco @code{@bs{}layout}}.
196 @file{ly/paper-defaults-init.ly}.
199 @node Formato carta e ridimensionamento automatico
200 @subsection Formato carta e ridimensionamento automatico
201 @translationof Paper size and automatic scaling
203 @cindex formato carta
204 @cindex formato pagina
205 @cindex carta, formato
206 @cindex pagina, formato
211 * Impostare il formato carta::
212 * Ridimensionamento automatico al formato carta::
216 @node Impostare il formato carta
217 @unnumberedsubsubsec Impostare il formato carta
218 @translationof Setting the paper size
220 @q{A4} è il valore predefinito quando non viene impostato esplicitamente
221 alcun formato carta. Esistono due funzioni che permettono di cambiare
225 @item set-default-paper-size
228 #(set-default-paper-size "quarto")
231 che deve sempre trovarsi nel livello superiore, e
237 #(set-paper-size "tabloid")
241 che deve sempre trovarsi in un blocco @code{\paper}.
244 La funzione @code{set-default-paper-size}, se usata nel livello superiore,
245 deve precedere qualsiasi blocco @code{\paper}.
246 @code{set-default-paper-size} imposta il formato di tutte le pagine,
247 mentre @code{set-paper-size} imposta il formato soltanto di quelle
248 pagine a cui è applicato il blocco @code{\paper}. Per esempio, se il
249 blocco @code{\paper} si trova all'inizio del file, applicherà il formato
250 a tutte le pagine. Se il blocco @code{\paper} si trova dentro un blocco
251 @code{\book}, il formato verrà applicato a quel libro soltanto.
253 Quando si usa la funzione @code{set-paper-size}, questa deve essere
254 posta @emph{prima} di qualsiasi altra funzione usata nello stesso blocco
255 @code{\paper}. Vedi @ref{Automatic scaling to paper size}.
257 I formati carta sono definiti in @file{scm/paper.scm}, e sebbene sia
258 possibile aggiungere formati personalizzati in questo file, tali aggiunte
259 verrebbero sovrascritte da successivi aggiornamenti del software. I formati
260 disponibili sono elencati in @ref{Predefined paper sizes}.
262 @c An appendix entry exists for paper sizes but is not auto-generated
264 È tuttavia possibile aggiungere un formato personalizzato nel file di
265 input per poi utilizzarlo con @code{set-default-paper-size} o
266 @code{set-paper-size}:
269 #(set! paper-alist (cons '("mio formato" . (cons (* 15 in) (* 3 in))) paper-alist))
272 #(set-paper-size "mio formato")
276 Si può usare qualsiasi unità di misura: @code{in} (inch, o pollici), @code{cm}
277 (centimetri) e @code{mm} (millimetri).
279 @cindex formato carta, orientamento
280 @cindex pagina, orientamento
281 @cindex formato carta, orizzontale (landscape)
283 Aggiungendo il simbolo @code{'landscape} alla funzione del formato, le pagine
284 vengono ruotate di 90 gradi e le linee occupano il maggior spazio a disposizione.
287 #(set-default-paper-size "a6" 'landscape)
290 Appendendo @samp{landscape} (orizzontale) al nome del formato, è possibile
291 scambiare le dimensioni della carta @emph{senza} ruotare la stampa
292 (come quando si stampa in formato cartolina o si creano dei file
293 grafici da includere invece di un documento indipendente):
296 #(set-default-paper-size "a6landscape")
299 Quando il formato termina con un esplicito @samp{landscape} (orizzontale) o
300 @samp{portrait} (verticale), la presenza di un simbolo @code{'landscape}
301 influisce @emph{solo} sull'orientamento della stampa, non sul formato
302 usato per la formattazione.
305 Guida alla notazione:
306 @ref{Automatic scaling to paper size},
307 @ref{Predefined paper sizes}.
310 @file{scm/paper.scm}.
313 @node Ridimensionamento automatico al formato carta
314 @unnumberedsubsubsec Ridimensionamento automatico al formato carta
315 @translationof Automatic scaling to paper size
317 Se il formato viene cambiato con una delle funzioni scheme
318 (@code{set-default-paper-size} o @code{set-paper-size}), i
319 valori di diverse variabili @code{\paper} sono automaticamente
320 ricalcolati in base alla nuova dimensione. Per aggirare il ridimensionamento
321 automatico di una certa variabile, impostare la variabile dopo aver
322 impostato il formato. Fare attenzione al fatto che il ridimensionamento
323 automatico non viene attivato se si impostano le variabili
324 @code{paper-height} o @code{paper-width}, anche se
325 @code{paper-width} può influenzare altri valori (ma questo
326 è un argomento diverso dal ridimensionamento ed è trattato in seguito). Le
327 funzioni @code{set-default-paper-size} e @code{set-paper-size} sono
328 descritte in @ref{Setting the paper size}.
330 Le dimensioni verticali interessate dal ridimensionamento automatico
331 sono @code{top-margin} e @code{bottom-margin} (vedi
332 @ref{Fixed vertical spacing paper variables,,Variabili fisse della spaziatura verticale di @code{@bs{}paper}}).
333 Le dimensioni orizzontali interessate dal ridimensionamento automatico
334 sono @code{left-margin}, @code{right-margin}, @code{inner-margin},
335 @code{outer-margin}, @code{binding-offset}, @code{indent} e @code{short-indent} (vedi
336 @ref{Horizontal spacing paper variables,,Variabili della spaziatura orizzontale di @code{@bs{}paper}}).
338 I valori predefiniti di queste dimensioni sono impostati in
339 @file{ly/paper-defaults-init.ly} e salvati in variabili interne
340 chiamate @code{top-margin-default}, @code{bottom-margin-default}, etc.
341 Questi valori si riferiscono al formato predefinito @code{a4}.
342 Per riferimento, nel formato @code{a4} il valore di @code{paper-height} è
343 @code{297\mm} e quello di @code{paper-width} è @code{210\mm}.
346 Guida alla notazione:
347 @ref{Fixed vertical spacing paper variables,,Variabili fisse della spaziatura verticale di @code{@bs{}paper}},
348 @ref{Horizontal spacing paper variables,,Variabili della spaziatura orizzontale di @code{@bs{}paper}}.
351 @file{ly/paper-defaults-init.ly},
352 @file{scm/paper.scm}.
355 @node Variabili paper della spaziatura verticale fissa
356 @subsection Variabili @code{@bs{}paper} della spaziatura verticale fissa
357 @translationof Fixed vertical spacing paper variables
359 @warning{Alcune dimensioni definite nel blocco @code{@bs{}paper} sono
360 ridimensionate automaticamente in base al formato carta, portando a
361 possibili risultati imprevisti. Vedi
362 @ref{Automatic scaling to paper size}.}
364 I valori predefiniti (prima del ridimensionamento) sono definiti in
365 @file{ly/paper-defaults-init.ly}.
369 @funindex paper-height
371 L'altezza della pagina (valore predefinito: non impostata). Il ridimensionamento
372 automatico di alcune dimensioni verticali non è influenzato da questa.
377 Il margine tra il punto più alto della pagina e il punto più alto
378 dell'area di stampa. Se il formato viene modificato, il valore
379 predefinito di questa dimensione viene ridimensionato di conseguenza.
382 @funindex bottom-margin
384 Il margine tra il punto più basso dell'area di stampa e il punto
385 più basso della pagina. Se il formato viene modificato, il valore
386 predefinito di questa dimensione viene ridimensionato di conseguenza.
389 @funindex ragged-bottom
391 Se impostato su vero, i sistemi avranno la loro naturale spaziatura.
392 Non saranno giustificati, ovvero non saranno né compressi né allungati
393 verticalmente per stare nella pagina.
395 @item ragged-last-bottom
396 @funindex ragged-last-bottom
398 Se impostato su falso, l'ultima pagina, e l'ultima pagina
399 di ogni sezione creata con un blocco @code{\bookpart}, saranno
400 giustificate verticalmente come nelle pagine precedenti.
405 Guida alla notazione:
406 @ref{Automatic scaling to paper size}.
409 @file{ly/paper-defaults-init.ly}.
415 I titoli (definiti nel blocco @code{\header}) sono considerati
416 un sistema, dunque @code{ragged-bottom} e @code{ragged-last-bottom}
417 aggiungeranno spazio tra i titoli e il primo sistema della partitura.
419 Formati carta definiti esplicitamente sovrascriveranno qualsiasi
420 impostazione di margine superiore o inferiore definito dall'utente.
423 @node Variabili paper della spaziatura verticale flessibile
424 @subsection Variabili @code{@bs{}paper} della spaziatura verticale flessibile
425 @translationof Flexible vertical spacing paper variables
427 Nella maggior parte dei casi è preferibile che le distanze verticali
428 tra certi elementi (come margini, titoli, sistemi e partiture
429 separate) siano flessibili, così che siano ben compresse o allungate
430 a seconda della situazione. Sono disponibili diverse variabili
431 @code{\paper} (elencate sotto) per regolare il comportamento di
432 allungamento di queste dimensioni.
434 Nota bene che le variabili @code{\paper} trattate in questa sezione
435 non regolano la spaziatura dei righi dei singoli sistemi.
436 La spaziatura interna ai sistemi è controllata dalle proprietà
437 del grob, solitamente inserite in un blocco @code{\score} o
438 @code{\layout} e non in un blocco @code{\paper}. Vedi
439 @ref{Flexible vertical spacing within systems}.
442 * Struttura delle liste associative flessibili della spaziatura verticale::
443 * Elenco delle variabili paper flessibili della spaziatura verticale::
447 @node Struttura delle liste associative flessibili della spaziatura verticale
448 @unnumberedsubsubsec Struttura delle liste associative flessibili della spaziatura verticale
449 @translationof Structure of flexible vertical spacing alists
451 Ognuna delle variabili @code{\paper} flessibili della spaziatura verticale
452 è una lista associativa (alist) composta da quattro @emph{elementi}:
457 @code{basic-distance} -- la distanza verticale, misurata in
458 spazi rigo, tra i @emph{punti di riferimento} dei due
459 elementi, quando non si verificano collisioni e non sono
460 attivi allungamenti o compressioni. Il punto di riferimento
461 di un markup (un titolo o un markup di un livello superiore)
462 è il suo punto più alto, mentre quello di un sistema è il
463 centro verticale del più vicino @code{StaffSymbol}, anche se
464 una linea diversa da un rigo (come un contesto @code{Lyrics}) si
465 trova nel mezzo. Valori di @code{basic-distance} inferiori a quelli
466 di @code{padding} o @code{minimum-distance} non hanno senso, dato che
467 la distanza risultante non sarà mai inferiore a quella definita per
468 @code{padding} o @code{minimum-distance}.
471 @code{minimum-distance} -- la minima distanza verticale consentita,
472 misurata in spazi rigo, tra i punti di riferimento dei due
473 elementi, quando la compressione è attiva. Valori di
474 @code{minimum-distance} inferiori a quelli di @code{padding} non
475 hanno senso, perché la distanza risultante non sarà mai inferiore
476 a quella definita per @code{padding.}
478 @c TODO: explain skylines somewhere and xref to it from here.
481 @code{padding} -- la quantità minima di spazio verticale libero
482 tra i profili (@emph{skyline}) dei due elementi, misurata in
486 @code{stretchability} -- una misura, priva di unità di misura,
487 della relativa propensione della dimensione a allungarsi. Se
488 pari a zero, la distanza non si allungherà (a meno che non ci
489 siano delle collisioni). Se positiva, il significato del valore
490 di @code{stretchability} di una certa dimensione sta nella sua
491 relazione con i valori di @code{stretchability} delle altre
492 dimensioni. Per esempio, se una dimensione ha un valore di
493 @code{stretchability} doppio rispetto a un'altra, si allungherà
495 I valori devono essere non negativi e finiti. Il valore @code{+inf.0} causa un
496 errore di programmazione e viene ingorato, ma si può usare @code{1.0e7} per
497 ottenere un'elasticità allungabile quasi all'infinito. Se non impostata, il
498 valore predefinito equivale a quello di @code{basic-distance}. Nota che la
499 propensione della dimensione a @emph{comprimersi} non può essere impostata
500 direttamente dall'utente ed è uguale a
501 (@code{basic-distance}@tie{}@minus{}@tie{}@code{minimum-distance}).
505 Se in una pagina lo spazio verticale non è giustificato (ovvero con
506 @code{ragged-bottom} impostato su vero) la distanza risultante è
507 data dal valore più grande assegnato a una di queste tre proprietà:
512 @code{basic-distance},
515 @code{minimum-distance} e
518 @code{padding} con l'aggiunta della più piccola distanza necessaria a
519 eliminare collisioni.
523 In caso di partiture con molte pagine in cui l'ultima pagina non è
524 giustificata (ovvero con @code{ragged-last-bottom} impostato su vero),
525 l'ultima pagina usa la stessa spaziatura della pagina precedente,
526 purché ci sia abbastanza spazio.
528 I metodi specifici per modificare le liste associative (alist) sono
529 trattati in @ref{Modifying alists}. L'esempio seguente illustra i
530 due modi in cui queste possono essere modificate. La prima dichiarazione
531 aggiorna un elemento-valore individualmente, mentre la seconda ridefinisce
532 completamente la variabile:
536 system-system-spacing.basic-distance = #8
537 score-system-spacing =
538 #'((basic-distance . 12)
539 (minimum-distance . 6)
541 (stretchability . 12))
546 @node Elenco delle variabili paper flessibili della spaziatura verticale
547 @unnumberedsubsubsec Elenco delle variabili @code{@bs{}paper} flessibili della spaziatura verticale
548 @translationof List of flexible vertical spacing paper variables
550 I nomi di queste variabili hanno il formato
551 @code{@var{superiore}-@var{inferiore}-spacing}, dove @code{@var{superiore}}
552 e @code{@var{inferiore}} indicano gli elementi di cui stabilire la
553 distanza. Ogni distanza viene misurata tra i punti di riferimento
554 dei due elementi (vedi la descrizione precedente della struttura della
555 lista associativa). Nei nomi di queste variabili il termine @q{@code{markup}}
556 si riferisce sia ai @emph{titoli} (@code{bookTitleMarkup} o
557 @code{scoreTitleMarkup}) sia ai @emph{markup di livello superiore} (vedi
558 @ref{File structure}). Tutte le distanze sono misurate in spazi rigo.
560 Le impostazioni predefinite sono definite in @file{ly/paper-defaults-init.ly}.
562 @c TODO: Where do headers/footers fit in? -mp
565 @item markup-system-spacing
566 @funindex markup-system-spacing
568 la distanza tra il testo (titolo o markup di livello superiore) e il sistema
571 @item score-markup-spacing
572 @funindex score-markup-spacing
574 la distanza tra l'ultimo sistema di un brano e il testo (titolo o
575 markup di livello superiore) che lo segue.
577 @item score-system-spacing
578 @funindex score-system-spacing
580 la distanza tra l'ultimo sistema di un brano e il primo sistema
581 del brano successivo, quando non c'è alcun testo (titolo o
582 markup di livello superiore) tra di loro.
584 @item system-system-spacing
585 @funindex system-system-spacing
587 la distanza tra due sistemi di uno stesso brano.
589 @item markup-markup-spacing
590 @funindex markup-markup-spacing
592 la distanza tra due testi (titoli o markup di livello superiore).
594 @item last-bottom-spacing
595 @funindex last-bottom-spacing
597 la distanza tra l'ultimo sistema o l'ultimo markup di livello superiore di
598 una pagina e la fine dello spazio stampabile (ovvero la parte superiore
599 del margine inferiore).
601 @item top-system-spacing
602 @funindex top-system-spacing
604 la distanza tra l'inizio dello spazio stampabile (ovvero la parte
605 inferiore del margine superiore) e il primo sistema di una pagina, quando
606 non c'è alcun testo (titolo o markup di livello superiore) tra di loro.
608 @item top-markup-spacing
609 @funindex top-markup-spacing
611 la distanza tra l'inizio dello spazio stampabile (ovvero la parte
612 inferiore del margine superiore) e il primo testo (titolo o markup di
613 livello superiore) di una pagina, quando non c'è alcun sistema tra i due.
617 Guida alla notazione:
618 @ref{Flexible vertical spacing within systems}.
621 @file{ly/paper-defaults-init.ly}.
627 @node Variabili paper della spaziatura orizzontale
628 @subsection Variabili @code{@bs{}paper} della spaziatura orizzontale
629 @translationof Horizontal spacing paper variables
631 @warning{Alcune dimensioni in @code{@bs{}paper} sono ridimensionate
632 automaticamente in base al formato carta, producendo talvolta un
633 risultato inatteso. Vedi @ref{Automatic scaling to paper size}.}
636 * Variabili paper per larghezze e margini::
637 * Variabili paper per la modalità due pagine per foglio::
638 * Variabili paper per spostamenti e indentazioni::
642 @node Variabili paper per larghezze e margini
643 @unnumberedsubsubsec Variabili @code{@bs{}paper} per larghezze e margini
644 @translationof paper variables for widths and margins
646 I valori predefiniti (prima del ridimensionamento) non elencati qui si
647 trovano in @file{ly/paper-defaults-init.ly}.
652 @funindex paper-width
654 Larghezza della pagina (non impostata inizialmente). @code{paper-width},
655 pur non avendo effetto sul ridimensionamento automatico di alcune dimensioni
656 orizzontali, influenza la variabile @code{line-width}. Se sono impostate
657 sia @code{paper-width} che @code{line-width}, saranno modificate anche
658 @code{left-margin} e @code{right-margin}. Vedi anche @code{check-consistency}.
663 Se specificata in un blocco @code{\paper} definisce la lunghezza orizzontale
664 disponibile per i righi musicali nei sistemi non indentati. Se non specificata,
665 la larghezza della linea (@code{line-width}) del foglio è determinata dalla sottrazione
666 @code{(paper-width@tie{}@minus{}@tie{}left-margin@tie{}@minus{}@tie{}right-margin)}.
667 Se @code{line-width} è specificata nel blocco @code{\paper} e entrambi i margini,
668 @code{left-margin} e @code{right-margin}, non lo sono, questi saranno aggiornati
669 in modo da centrare i sistemi sulla pagina automaticamente.
670 Vedi anche @code{check-consistency}.
672 Le variabili @code{line-width} per i singoli brani possono essere specificate
673 nel blocco @code{\layout} di ogni brano, ovvero dentro un blocco @code{\score}.
674 Questi valori regolano la larghezza delle linee prodotte brano per brano. Se
675 @code{line-width} non viene specificata per un brano, il suo valore predefinito
676 coincide con la larghezza della linea del foglio, ovvero col valore della
677 variabile @code{line-width} del blocco @code{\paper}. Impostando
678 @code{line-width} per un brano in particolare, ovvero all'interno di un blocco
679 @code{\score}, i margini del foglio non vengono modificati. Le linee del rigo,
680 la cui lunghezza è determinata dalla variabile @code{line-width} del brano, sono
681 allineate a sinistra all'interno dello spazio definito dalla variabile
682 @code{line-width} del foglio. Se le variabili @code{line-width} del brano e del
683 foglio sono uguali, le linee del rigo si estenderanno esattamente dal margine
684 sinistro al margine destro, ma se quella del brano è maggiore di quella del
685 foglio le linee del rigo andranno oltre il margine destro.
688 @funindex left-margin
690 Margine tra il bordo sinistro della pagina e l'inizio delle linee
691 del rigo nei sistemi non indentati. Se il formato è modificato, il valore
692 predefinito di questa dimensione viene ridimensionato proporzionalmente. Se
693 @code{left-margin} non è impostato, e sono impostati sia @code{line-width} che
694 @code{right-margin}, allora @code{left-margin} equivale alla differenza
695 @code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}right-margin)}.
696 Se è impostata soltanto @code{line-width}, entrambi i margini sono impostati su
697 @code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)},
698 e di conseguenza i sistemi sono centrati sulla pagina. Vedi anche
699 @code{check-consistency}.
702 @funindex right-margin
704 Margine tra il bordo destro della pagina e la fine delle linee
705 del rigo in sistemi giustificati. Se il formato è modificato, il valore
706 predefinito di questa dimensione viene ridimensionato proporzionalmente. Se
707 @code{right-margin} non è impostato, e sono impostati sia @code{line-width} che
708 @code{left-margin}, allora @code{right-margin} equivale a
709 @code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}left-margin)}.
710 Se è impostata soltanto @code{line-width}, entrambi i margini sono impostati su
711 @code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)},
712 e di conseguenza i sistemi sono centrati sulla pagina. Vedi anche
713 @code{check-consistency}.
715 @item check-consistency
716 @funindex check-consistency
718 Se impostata su vero (valore predefinito), appare un avvertimento nella
719 console se la somma di @code{left-margin}, @code{line-width} e
720 @code{right-margin} non corrisponde esattamente a @code{paper-width}, e a
721 ciascuna di queste variabili (eccetto @code{paper-width}) sarà assegnato il suo
722 valore predefinito (ridimensionato in base al formato, se richiesto). Se
723 impostato su falso, qualsiasi incongruenza viene ignorata e i sistemi potrebbero
724 andare oltre il bordo della pagina.
727 @funindex ragged-right
729 Se impostato su vero, i sistemi non occuperanno interamente la larghezza
730 della linea, ovvero non saranno giustificati. Termineranno invece alla loro
731 lunghezza orizzontale naturale. Valori predefiniti: @code{#t} (true = vero)
732 per i brani con un unico sistema, e @code{#f} (false = falso) per i brani
733 con due o più sistemi. Questa variabile può essere impostata anche in
734 un blocco @code{\layout}.
737 @funindex ragged-last
739 Se impostata su vero, l'ultimo sistema del brano non occuperà interamente
740 la larghezza della linea, ovvero non sarà giustificato. Terminerà invece
741 alla sua lunghezza orizzontale naturale. Valore predefinito: @code{#f} (false = falso).
742 Questa variabile può essere impostata anche in un blocco @code{\layout}.
747 Guida alla notazione:
748 @ref{Automatic scaling to paper size}.
751 @file{ly/paper-defaults-init.ly}.
754 Formati carta definiti esplicitamente sovrascriveranno qualsiasi margine
755 destro o sinistro definito dall'utente.
758 @node Variabili paper per la modalità due pagine per foglio
759 @unnumberedsubsubsec Variabili @code{@bs{}paper} per la modalità due pagine per foglio
760 @translationof paper variables for two-sided mode
762 I valori predefiniti (prima del ridimensionamento) sono definiti in
763 @file{ly/paper-defaults-init.ly}.
771 @cindex margine di rilegatura
773 Se impostata su vero, vengono usati @code{inner-margin}, @code{outer-margin} e
774 @code{binding-offset} per determinare i margini a seconda che il numero di
775 pagina sia dispari o pari. Questa variabile sovrascrive @code{left-margin}
776 e @code{right-margin}.
779 @funindex inner-margin
781 Margine del lato interno di tutte le pagine se queste fanno parte
782 di un libro. Se il formato è modificato, il valore predefinito di questa
783 dimensione viene ridimensionato proporzionalmente. Funziona soltanto con
784 @code{two-sided} impostato su vero.
787 @funindex outer-margin
789 È il margine del lato esterno di tutte le pagine se queste fanno parte
790 di un libro. Se il formato è modificato, il valore predefinito di questa
791 dimensione viene ridimensionato proporzionalmente. Funziona soltanto con
792 @code{two-sided} impostato su vero.
795 @funindex binding-offset
797 Quantità di spazio da aggiungere a @code{inner-margin} per assicurarsi che
798 niente sia nascosto dalla rilegatura. Se il formato è modificato, il valore
799 predefinito di questa dimensione viene ridimensionato proporzionalmente.
800 Funziona soltanto con @code{two-sided} impostato su vero.
805 Guida alla notazione:
806 @ref{Automatic scaling to paper size}.
809 @file{ly/paper-defaults-init.ly}.
812 @node Variabili paper per spostamenti e indentazioni
813 @unnumberedsubsubsec Variabili @code{@bs{}paper} per spostamenti e indentazioni
814 @translationof paper variables for shifts and indents
816 I valori predefiniti (prima del ridimensionamento) non elencati qui sono
817 visibili in @file{ly/paper-defaults-init.ly}.
821 @item horizontal-shift
822 @funindex horizontal-shift
824 @c This default value is buried in the middle of page.scm. -mp
826 È la quantità di spazio di cui spostare a destra tutti i sistemi (inclusi
827 i titoli e i separatori dei sistemi). Valore predefinito: @code{0.0\mm}.
832 Livello di indentazione del primo sistema di un brano.
833 Se il formato è modificato, il valore predefinito di questa dimensione viene
834 ridimensionato proporzionalmente. Lo spazio compreso in @code{line-width}
835 disponibile per il primo sistema è ridotto di questa quantità. @code{indent}
836 può essere specificato anche in blocchi @code{\layout} per impostare
837 l'indentazione brano per brano.
840 @funindex short-indent
842 Livello di indentazione di tutti i sistemi di un brano eccetto
843 il primo sistema. Se il formato è modificato, il valore predefinito di
844 questa dimensione viene ridimensionato proporzionalmente. Lo spazio
845 compreso in @code{line-width} disponibile per tutti i sistemi tranne il
846 primo è ridotto di questa quantità. @code{short-indent} può essere specificato
847 anche in blocchi @code{\layout} per impostare le brevi indentazioni brano per brano.
852 Guida alla notazione:
853 @ref{Automatic scaling to paper size}.
856 @file{ly/paper-defaults-init.ly}.
862 @node Altre variabili di paper
863 @subsection Altre variabili di @code{@bs{}paper}
864 @translationof Other paper variables
867 * Variabili di paper per l'interruzione di linea::
868 * Variabili di paper per l'interruzione di pagina::
869 * Variabili di paper per la numerazione delle pagine::
870 * Svariate variabili di paper::
874 @node Variabili di paper per l'interruzione di linea
875 @unnumberedsubsubsec Variabili di @code{@bs{}paper} per l'interruzione di linea
876 @translationof paper variables for line breaking
880 @item max-systems-per-page
881 @funindex max-systems-per-page
883 Il numero massimo di sistemi che saranno disposti in una pagina. Attualmente
884 ciò è supportanto soltanto dall'algoritmo @code{ly:optimal-breaking}.
885 Valore predefinito: non impostato.
887 @item min-systems-per-page
888 @funindex min-systems-per-page
890 Il numero minimo di sistemi che saranno disposti in una pagina. Ciò
891 potrebbe riempire troppo le pagine, se il numero è troppo grande. Attualmente
892 ciò è supportanto soltanto dall'algoritmo @code{ly:optimal-breaking}.
893 Valore predefinito: non impostato.
895 @item systems-per-page
896 @funindex systems-per-page
898 Il numero di sistemi da disporre in una pagina. Attualmente
899 ciò è supportanto soltanto dall'algoritmo @code{ly:optimal-breaking}.
900 Valore predefinito: non impostato.
903 @funindex system-count
905 Il numero di sistemi da usare per un brano. Valore predefinito: non impostato.
906 Questa variabile può essere impostata anche in un blocco @code{\layout}.
911 Guida alla notazione:
915 @node Variabili di paper per l'interruzione di pagina
916 @unnumberedsubsubsec Variabili di @code{@bs{}paper} per l'interruzione di pagina
917 @translationof paper variables for page breaking
919 I valori predefiniti non elencati qui sono visibili in
920 @file{ly/paper-defaults-init.ly}
925 @funindex page-breaking
927 L'algoritmo di interruzione di pagina da usare. Le opzioni sono
928 @code{ly:minimal-breaking}, @code{ly:page-turn-breaking},
929 @code{ly:one-line-breaking}, @code{ly:one-line-auto-height-breaking} e
930 @code{ly:optimal-breaking} (predefinito).
932 @item page-breaking-system-system-spacing
933 @funindex page-breaking-system-system-spacing
935 Induce il sistema di interruzione di pagina a credere che
936 @code{system-system-spacing} sia impostato in modo diverso dal
937 modo in cui è impostato realmente. Per esempio, se
938 @code{page-breaking-system-system-spacing #'padding} è impostato su un
939 valore molto più grande di @code{system-system-spacing #'padding}, il
940 sistema di interruzione di pagina disporrà meno sistemi su ciascuna
941 pagina. Valore predefinito: non impostato.
946 Il numero di pagine da usare per un brano, non impostato.
950 Le variabili seguenti sono attive soltanto quando @code{page-breaking}
951 è impostato su @code{ly:page-turn-breaking}. Le interruzioni di pagina
952 vengono quindi scelte per minimizzare il numero di voltate di pagina.
953 Dato che le voltate di pagina si rendono necessarie quando si passa da
954 una pagina con numero dispari a una con numero pari, verrà solitamente
955 favorita una formattazione in cui l'ultima pagina abbia un numero dispari.
956 I punti preferiti per le voltate di pagina possono essere indicati
957 manualmente col comando @code{\allowPageTurn} o automaticamente
958 includendo l'incisore @code{Page_turn_engraver} (vedi @ref{Optimal page turning}).
960 Se le scelte disponibili per avere voltate di pagina adeguate sono
961 insufficienti, LilyPond potrebbe inserire una pagina vuota all'interno
962 di un brano o tra i brani (se ce ne sono almeno due), oppure potrebbe
963 terminare un brano su una pagina pari. Aumentando i valori delle
964 seguenti tre variabili diminuisce la probabilità che queste entrino
967 I valori sono penalità: maggiore il valore, minore la probabilità
968 che si verifichi l'azione associata rispetto alle altre scelte.
972 @item blank-page-penalty
973 @funindex blank-page-penalty
975 La penalità per avere una pagina vuota nel mezzo di un brano. Se il
976 valore di @code{blank-page-penalty} è grande ed è selezionato
977 @code{ly:page-turn-breaking}, sarà meno probabile che LilyPond
978 insersica una pagina nel mezzo del brano. Aggiungerà invece
979 maggior spazio tra i sistemi per occupare la pagina vuota e
980 quella successiva. Valore predefinito: 5.
982 @item blank-last-page-penalty
983 @funindex blank-last-page-penalty
985 La penalità per terminare il brano su una pagina pari. Se il
986 valore di @code{blank-last-page-penalty} è grande ed è selezionato
987 @code{ly:page-turn-breaking}, sarà meno probabile che LilyPond
988 produca una partitura in cui l'ultima pagina sia pari. Regolerà
989 invece la spaziatura in modo da usare una pagina in più o in meno.
990 Valore predefinito: 0.
992 @item blank-after-score-page-penalty
993 @funindex blank-after-score-page-penalty
995 La penalità per avere una pagina vuota dopo la fine di un brano e
996 prima di quello successivo. Il valore predefinito è inferiore a
997 @code{blank-page-penalty}, in modo che siano inserite preferibilmente
998 pagine vuote al termine di un brano piuttosto che nel mezzo di un brano.
999 Valore predefinito: 2.
1005 Guida alla notazione:
1006 @ref{Page breaking},
1007 @ref{Optimal page breaking},
1008 @ref{Optimal page turning},
1009 @ref{Minimal page breaking},
1010 @ref{One-line page breaking}.
1013 @file{ly/paper-defaults-init.ly}.
1016 @node Variabili di paper per la numerazione delle pagine
1017 @unnumberedsubsubsec Variabili di @code{@bs{}paper} per la numerazione delle pagine
1018 @translationof paper variables for page numbering
1020 I valori predefiniti non elencati qui sono visibili in
1021 @file{ly/paper-defaults-init.ly}
1025 @cindex numeri di pagina, numerazione automatica
1026 @item auto-first-page-number
1027 @funindex auto-first-page-number
1029 L'algoritmo di interruzione di pagina si comporta diversamente a seconda
1030 che il numero della prima pagina sia dispari o pari. Se questa variabile
1031 è impostata su vero, l'algoritmo di interruzione di pagina
1032 deciderà se iniziare con un numero dispari o un numero pari. Quindi il
1033 numero della prima pagina resterà lo stesso o aumenterà di uno.
1034 Valore predefinito: @code{#f} (falso).
1036 @cindex numeri di pagina, indicare il primo
1037 @item first-page-number
1038 @funindex first-page-number
1040 Il valore del numero di pagina della prima pagina.
1042 @item print-first-page-number
1043 @funindex print-first-page-number
1045 Se impostato su vero, appare il numero di pagina sulla prima pagina.
1047 @cindex numeri di pagina, sopprimere
1048 @item print-page-number
1049 @funindex print-page-number
1051 Se impostato su falso, non apparirano i numeri di pagina.
1053 @cindex numeri di pagina in numeri romani
1054 @item page-number-type
1055 @funindex page-number-type
1057 Il tipo di numero usato per numerare le pagine. Le opzioni possibili
1058 sono @code{roman-lower}, @code{roman-upper} e @code{arabic}.
1059 Valore predefinito: @code{'arabic}.
1065 @file{ly/paper-defaults-init.ly}.
1068 I numeri di pagina dispari sono sempre sulla destra. Se la musica
1069 deve iniziare a pagina 1, ci deve essere una pagina vuota sulla
1070 seconda di copertina in modo che pagina 1 sia sul lato destro.
1073 @node Svariate variabili di paper
1074 @unnumberedsubsubsec Svariate variabili di @code{@bs{}paper}
1075 @translationof Miscellaneous paper variables
1079 @item page-spacing-weight
1080 @funindex page-spacing-weight
1082 L'importanza della spaziatura (verticale) e della linea (orizzontale)
1083 della pagina. Valori più grandi renderanno la spaziatura della pagina
1084 più importante. Valore predefinito: @code{10}.
1086 @item print-all-headers
1087 @funindex print-all-headers
1089 Se impostato su vero, appariranno nell'output tutte le intestazioni di
1090 ciascun blocco @code{\score}. Di norma appaiono soltanto le variabili
1091 @code{piece} e @code{opus}. Valore predefinito: @code{#f}.
1093 @item system-separator-markup
1094 @funindex system-separator-markup
1096 Un oggetto markup inserito tra i sistemi, spesso usato per le
1097 partiture orchestrali. Valore predefinito: non impostato. È
1098 disponibile il comando markup @code{\slashSeparator}, definito
1099 in @file{ly/titling-init.ly}, che fornisce un ragionevole valore
1100 predefinito, per esempio:
1102 @lilypond[quote,verbatim,noragged-right,line-width=30\mm]
1103 #(set-default-paper-size "a8")
1107 system-separator-markup = \slashSeparator
1113 \relative { c''1 \break c1 \break c1 }
1122 @file{ly/titling-init.ly}.
1128 L'intestazione di pagina predefinita pone sulla stessa linea il numero di
1129 pagina e il campo @code{instrument} del blocco @code{\header}.
1132 @node Formattazione della partitura
1133 @section Formattazione della partitura
1134 @translationof Score layout
1136 Questa sezione tratta le opzioni di formattazione della partitura disponibili
1137 nel blocco @code{\layout}.
1140 * Il blocco layout::
1141 * Impostare la dimensione del rigo::
1145 @node Il blocco layout
1146 @subsection Il blocco @code{@bs{}layout}
1147 @translationof The layout block
1151 Mentre il blocco @code{\paper} contiene le impostazioni relative
1152 alla formattazione della pagina per l'intero documento, il blocco
1153 @code{\layout} contiene impostazioni di formattazione specifica
1154 di un brano. Per impostare globalmente le opzioni di formattazione
1155 del brano, inserirle in un blocco @code{\layout} del livello superiore.
1156 Per impostare le impostazioni di formattazione per un singolo brano, inserirle
1157 in un blocco @code{\layout} racchiuso in un blocco @code{\score}, dopo la
1158 musica. Le impostazioni che possono apparire in un blocco
1159 @code{\layout} includono:
1162 @item la funzione scheme @code{layout-set-staff-size},
1163 @item le modifiche di contesto nei blocchi @code{\context} e
1164 @item le variabili @code{\paper} che agiscono sulla formattazione del brano.
1167 La funzione @code{layout-set-staff-size} è spiegata nella prossima
1168 sezione, @ref{Setting the staff size}. Le modifiche di contesto sono
1169 trattate in un capitolo separato; vedi @ref{Modifying context plug-ins} e
1170 @ref{Changing context default settings}.
1172 Le variabili @code{\paper} che possono apparire in un blocco @code{\layout},
1173 con valori predefiniti presi dal blocco @code{\paper}, sono:
1178 @code{line-width}, @code{ragged-right} e @code{ragged-last}
1179 (vedi @ref{paper variables for widths and margins,,variabili @code{@bs{}paper} per larghezze e margini})
1182 @code{indent} e @code{short-indent}
1183 (vedi @ref{paper variables for shifts and indents,,variabili @code{@bs{}paper} per spostamenti e indentazioni})
1187 (vedi @ref{paper variables for line breaking,,variabili @code{@bs{}paper} per l'interruzione di linea})
1191 Ecco un esempio di blocco @code{\layout}:
1198 \override StaffGrouper.staff-staff-spacing.basic-distance = #8
1202 \override TextScript.padding = #1
1203 \override Glissando.thickness = #3
1208 Si possono inserire molteplici blocchi @code{\layout} come espressioni
1209 di livello superiore. Ciò può essere utile, per esempio, se impostazioni
1210 diverse sono salvate in file separati e incluse facoltativamente.
1211 Internamente, quando un blocco @code{\layout} viene elaborato, viene fatta
1212 una copia della configurazione del blocco @code{\layout} corrente, poi
1213 qualsiasi modifica apportata nel blocco viene applicata e il risultato
1214 viene salvato come la nuova configurazione corrente. Dalla prospettiva
1215 dell'utente, i blocchi @code{\layout} sono combinati, ma in situazioni di
1216 conflitto (ovvero quando viene modificata la stessa proprietà in blocchi
1217 diversi) hanno precedenza le definizioni più recenti.
1219 Per esempio, se questo blocco
1225 \override TextScript.color = #magenta
1226 \override Glissando.thickness = #1.5
1231 viene posto dopo quello dell'esempio precedente, le sovrascritture di
1232 @code{'padding} e @code{'color} per @code{TextScript} sono combinate, mentre
1233 quella più recente di @code{'thickness} per @code{Glissando} sostituisce
1234 (o nasconde) quella precedente.
1236 I blocchi @code{\layout} possono essere assegnati a delle variabili per
1237 poterli riusare successivamente, ma il modo in cui ciò funziona è
1238 leggermente ma significativamente diverso rispetto a scriverle davvero.
1240 Se una variabile è definita in questo modo,
1243 layoutVariable = \layout @{
1246 \override NoteHead.font-size = #4
1251 manterrà la configurazione attuale di @code{\layout} con l'aggiunta
1252 della sovrascrittura @code{NoteHead.font-size}, ma questa combinazione
1253 @emph{non} è salvata come la nuova configurazione corrente. Attenzione
1254 al fatto che la @qq{configurazione corrente} viene letta quando la variabile
1255 è definita e non quando viene usata, dunque il contenuto della variabile
1256 dipende dalla sua posizione nel file di input.
1258 La variabile può quindi essere usata all'interno di un altro
1259 blocco @code{\layout}, per esempio:
1266 \override NoteHead.color = #red
1271 Un blocco @code{\layout} che contiene una variabile, come nell'esempio
1272 precedente, @emph{non} copia la configurazione corrente bensì usa il
1273 contenuto di @code{\layoutVariable} come configurazione di base per
1274 altre aggiunte. Ciò significa che qualsiasi modifica definita tra la
1275 definizione della variabile e il momento in cui essa viene usata è perduta.
1277 Se @code{layoutVariable} è definita (o inclusa con @code{\include}) subito
1278 prima di essere usata, il suo contenuto comprende soltanto la configurazione
1279 corrente più le sovrascritture definite al suo interno. Quindi nell'esempio
1280 precedente che illustra l'uso di @code{\layoutVariable} il blocco @code{\layout}
1284 TextScript.padding = #1
1285 TextScript.color = #magenta
1286 Glissando.thickness = #1.5
1287 NoteHead.font-size = #4
1288 NoteHead.color = #red
1291 più le sovrascritture @code{indent} e @code{StaffGrouper}.
1293 Ma se la variabile fosse già stata definita prima del primo blocco
1294 @code{\layout}, la configurazione corrente conterrebbe soltanto
1297 NoteHead.font-size = #4 % (scritta nella definizione della variabile)
1298 NoteHead.color = #red % (aggiunta dopo l'uso della variabile)
1301 Se ben organizzate, le variabili @code{\layout} possono essere un
1302 valido strumento per strutturare le formattazioni dei sorgenti, e anche
1303 per ripristinare la configurazione di @code{\layout} a uno stato conosciuto.
1306 Guida alla notazione:
1307 @ref{Changing context default settings}.
1313 @node Impostare la dimensione del rigo
1314 @subsection Impostare la dimensione del rigo
1315 @translationof Setting the staff size
1317 @cindex tipo di carattere, impostare la dimensione
1318 @cindex rigo, impostare la dimensione
1319 @funindex layout file
1320 @funindex magnification->font-size
1322 @funindex set-global-staff-size
1323 @funindex layout-set-staff-size
1325 La dimensione del rigo (in inglese @strong{staff size}) è 20 punti, che
1326 corrispondono a un'altezza del rigo di 7.03mm (un punto è uguale a 100/7227
1327 di un pollice o a 2540/7227 mm). La dimensione del rigo può essere
1328 modificata in tre modi:
1333 Per impostare la dimensione del rigo globalmente per tutti i brani di un
1334 file (o di un blocco @code{\book}, per essere precisi), usare
1335 @code{set-global-staff-size}:
1338 #(set-global-staff-size 14)
1342 L'esempio precedente imposta la dimensione del rigo globale a 14pt (4.92mm) e
1343 ridimensiona proporzionalmente tutti i tipi di carattere.
1346 Per impostare la dimensione del rigo di una singola partitura in un libro, usare
1347 @code{layout-set-staff-size} all'interno del blocco @code{\layout} di quel brano:
1353 #(layout-set-staff-size 14)
1359 Per impostare la dimensione del rigo di un singolo rigo di un sistema, usare
1360 il comando @code{\magnifyStaff}. Per esempio, le partiture di musica da camera
1361 incise in modo tradizionale spesso usavano righi per pianoforte di 7mm mentre
1362 gli altri righi erano solitamente tra 3/5 e 5/7 più grandi (tra 60% e 71%).
1363 Per ottenere la proporzione 5/7, usare:
1371 \new PianoStaff @{ @dots{} @}
1376 Se si desidera una dimensione del tipo di carattere (@code{fontSize}) ben
1377 precisa, si può usare la seguente forma:
1383 \magnifyStaff #(magstep -3)
1385 \new PianoStaff @{ @dots{} @}
1390 Per emulare l'aspetto delle partiture incise coi metodi tradizionali, è meglio
1391 evitare di ridurre lo spessore delle linee del rigo.
1396 @subheading Corpo automatico dei tipi di carattere a dimensioni diverse
1398 Il tipo di carattere Feta fornisce simboli musicali in otto dimensioni
1399 diverse. Ogni tipo di carattere è calibrato per una specifica dimensione
1400 del rigo: via via che la dimensione del rigo diventa più piccola, il corpo
1401 del carattere diventa più grosso, per abbinarsi alle linee del rigo più
1402 spesse. Le dimensioni del carattere consigliate sono elencate nella
1405 @multitable @columnfractions .15 .2 .22 .2
1406 @item @b{nome del tipo di carattere} @tab @b{altezza del rigo (pt)} @tab @b{altezza del rigo (mm)} @tab @b{uso}
1407 @item feta11 @tab 11.22 @tab 3.9 @tab partiture tascabili
1408 @item feta13 @tab 12.60 @tab 4.4 @tab
1409 @item feta14 @tab 14.14 @tab 5.0 @tab
1410 @item feta16 @tab 15.87 @tab 5.6 @tab
1411 @item feta18 @tab 17.82 @tab 6.3 @tab canzonieri
1412 @item feta20 @tab 20 @tab 7.0 @tab parti standard
1413 @item feta23 @tab 22.45 @tab 7.9 @tab
1414 @item feta26 @tab 25.2 @tab 8.9 @tab @c modern rental material?
1418 Guida alla notazione:
1419 @ref{Selecting notation font size}.
1425 @code{layout-set-staff-size} non modifica la distanza tra le linee del rigo.
1429 @section Interruzioni
1430 @translationof Breaks
1433 * Interruzioni di linea::
1434 * Interruzioni di pagina::
1438 @node Interruzioni di linea
1439 @subsection Interruzioni di linea
1440 @translationof Line breaking
1444 @funindex \autoBreaksOff
1445 @funindex \autoBreaksOn
1446 @funindex \autoLineBreaksOff
1447 @funindex \autoLineBreaksOn
1448 @cindex manual line breaks
1449 @cindex breaking lines
1451 Le interruzioni di linea di solito sono determinate automaticamente. Sono
1452 decise in modo che le linee non sembrino né fitte né troppo spaziate, e che
1453 le linee consecutive abbiano una densità simile.
1455 Per forzare manualmente un'interruzione di linea dopo una stanghetta, usare
1456 il comando @code{\break}:
1458 @lilypond[quote,ragged-right,verbatim]
1465 Per impostazione predefinita, un comando @code{\break} inserito nel mezzo di una
1466 misura viene ignorato (e apparirà un messaggio di avvertimento durante la
1467 compilazione del file LilyPond). L'aggiunta di una stanghetta invisibile
1468 -- @w{@samp{\bar ""}} -- prima del comando @code{\break} forzerà l'interruzione
1471 @lilypond[quote,ragged-right,verbatim]
1480 Un comando @code{\break} successivo a una stanghetta viene ignorato se la
1481 misura precedente termina nel mezzo di una nota (per esempio, quando un
1482 gruppo irregolare inizia in una misura e termina in un'altra). In questo
1483 caso conviene togliere l'incisore @code{Forbid_line_break_engraver} dal
1484 contesto @code{Voice} e usare una costruzione musicale simultanea inserendo
1485 il @code{\break} nel punto giusto della seconda voce:
1487 @lilypond[quote,ragged-right,verbatim]
1489 \remove "Forbid_line_break_engraver"
1492 { c''2. \tuplet 3/2 { c4 c c } c2. | }
1493 { s1 | \break s1 | }
1498 Analogalmente, le interruzioni di linea vengono ignorate quando le travature
1499 oltrepassano una stanghetta. Tale comportamento predefinito può
1500 essere modificato col comando @code{\override Beam.breakable = ##t}:
1502 @lilypond[quote,ragged-right,verbatim]
1504 \override Beam.breakable = ##t
1510 Il comando @code{\noBreak} impedisce un'interruzione di linea sulla
1511 stanghetta in cui è inserito.
1513 In una partitura, l'interruzione di linea automatica è vietata per
1514 la musica compresa tra i comandi @code{\autoLineBreaksOff} e
1515 @code{\autoLineBreaksOn}. Per impedire anche le interruzioni di
1516 pagina, usare i comandi @code{\autoBreaksOff} e @code{\autoBreaksOn}.
1517 Le interruzioni manuali non sono interessate da questi comandi.
1518 Nota che bloccare le interruzioni di linea automatiche potrebbe
1519 far andare la musica oltre il margine destro se questa non può
1520 essere contenuta in una linea.
1522 Le interruzioni di linea automatiche (ma non le interruzioni di pagina)
1523 possono essere abilitate per singole stanghette usando
1524 @code{\once \autoLineBreaksOn} all'inizio di una stanghetta.
1525 Ciò identifica un'interruzione di linea permessa, invece che forzata.
1527 Le impostazioni fondamentali che influenzano la spaziatura della linea
1528 sono @code{indent} e @code{line-width}, impostate nel blocco
1529 @code{\layout}: regolano l'indentazione della prima linea e la
1530 lunghezza delle linee.
1532 Se @code{ragged-right} è impostato su vero nel blocco @code{\layout}, allora
1533 i sistemi terminano alla loro naturale lunghezza orizzontale, invece di
1534 essere allungati orizzontalmente per riempire l'intera linea. Ciò è
1535 utile per brevi frammenti e per verificare quanto è stretta la spaziatura
1538 @c TODO Check and add para on default for ragged-right
1540 L'opzione @code{ragged-last} è simile a @code{ragged-right}, ma agisce
1541 soltanto sull'ultima linea del brano.
1551 @cindex interruzioni di linea regolari
1552 @cindex musica a quattro battute
1554 Per inserire interruzioni di linea a intervalli regolari usare @code{\break}
1555 separato da pause spaziatrici e ripetuto con @code{\repeat}. Per esempio,
1556 per interrompere le seguenti 28 misure (considerando un tempo di 4/4) esattamente
1557 ogni 4 misure, usare:
1562 s1 \noBreak s1 \noBreak
1563 s1 \noBreak s1 \break
1565 @{ @var{la vera musica@dots{}} @}
1573 @code{\autoBreaksOff},
1574 @code{\autoBreaksOn},
1575 @code{\autoLineBreaksOff},
1576 @code{\autoLineBreaksOn}.
1581 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
1582 {using-an-extra-voice-for-breaks.ly}
1585 Guida alla notazione:
1586 @ref{paper variables for line breaking}
1587 @ref{The layout block}.
1592 Guida al funzionamento interno:
1593 @rinternals{LineBreakEvent}.
1597 L'inserimento dei comandi @code{\autoLineBreaksOff} o @code{\autoBreaksOff}
1598 prima della musica produrrà dei messaggi di errore. Inserire sempre questi
1599 comandi dopo la musica.
1602 @node Interruzioni di pagina
1603 @subsection Interruzioni di pagina
1604 @translationof Page breaking
1606 Questa sezione descrive i diversi metodi di interruzione di pagina e
1607 spiega come modificarli.
1610 * Interruzione di pagina manuale::
1611 * Interruzione di pagina ottimale::
1612 * Interruzione di pagina minimale::
1613 * Interruzione di pagina su una linea::
1614 * Interruzione di pagina su una linea con altezza automatica::
1615 * Voltata di pagina ottimale::
1619 @node Interruzione di pagina manuale
1620 @unnumberedsubsubsec Interruzione di pagina manuale
1621 @translationof Manual page breaking
1623 @funindex \pageBreak
1624 @funindex \noPageBreak
1625 @funindex \autoPageBreaksOn
1626 @funindex \autoPageBreaksOff
1627 @cindex page breaking, manual
1629 L'interruzione di pagina predefinita può essere sovrascritta con i
1630 comandi @code{\pageBreak} o @code{\noPageBreak}. Questi comandi,
1631 analoghi a @code{\break} e @code{\noBreak}, devono essere
1632 inseriti dopo una stanghetta e forzano o proibiscono l'interruzione
1633 di pagina in quel punto. Ovviamente il comando @code{\pageBreak}
1634 forza anche un'interruzione di linea.
1636 I comandi @code{\pageBreak} e @code{\noPageBreak} possono essere
1637 inseriti anche nel livello superiore, tra le partiture e i testi
1638 (nel blocco @code{markup}) di livello superiore.
1640 In un brano, le interruzioni di pagina automatiche sono vietate per
1641 la musica compresa tra i comandi @code{\autoPageBreaksOff} e
1642 @code{\autoPageBreaksOn}. Le interruzioni di pagina manuali non
1643 sono interessate da questi comandi.
1645 Esistono impostazioni analoghe a @code{ragged-right} e
1646 @code{ragged-last} che hanno lo stesso effetto sulla spaziatura
1647 verticale. Se @code{ragged-bottom} è impostato su @code{#t}, i
1648 sistemi non saranno giustificati verticalmente. Quando
1649 @code{ragged-last-bottom} è impostato su @code{#t} (valore
1650 predefinito), è permesso dello spazio vuoto in fondo all'ultima
1651 pagina (o in fondo all'ultima pagina di ciascun
1652 @code{\bookpart}). Vedi
1653 @ref{Fixed vertical spacing paper variables,,Variabili fisse della spaziatura verticale di @code{@bs{}paper}}.
1655 Le interruzioni di pagina sono calcolate dalla funzione @code{page-breaking}.
1656 LilyPond fornisce vari algoritmi per calcolare le interruzioni di pagina, tra
1657 cui @code{ly:optimal-breaking}, @code{ly:page-turn-breaking} e
1658 @code{ly:minimal-breaking}. Quello predefinito è
1659 @code{ly:optimal-breaking}, ma il valore può essere modificato nel
1660 blocco @code{\paper}:
1664 page-breaking = #ly:page-turn-breaking
1670 Quando un libro ha molte partiture e pagine, il problema delle interruzioni
1671 di pagina potrebbe essere difficile da risolvere e richiedere lunghi tempi
1672 di elaborazione e molta memoria. Per semplificare il processo di interruzione
1673 delle pagine, si usano i blocchi @code{\bookpart} per dividere il libro in
1674 varie parti: in questo modo l'interruzione di pagina si verifica separatamente
1675 in ciascuna parte. Si possono anche usare algoritmi di interruzione di
1676 pagina diversi per le diverse parti del libro.
1681 subtitle = "Prefazione"
1684 %% In una parte contenente soprattutto testo,
1685 %% ly:minimal-breaking potrebbe essere preferibile
1686 page-breaking = #ly:minimal-breaking
1688 \markup @{ @dots{} @}
1692 %% In questa parte, contenente musica, si usa l'algoritmo di
1693 %% interruzione di pagina ottimale.
1695 subtitle = "Primo movimento"
1697 \score @{ @dots{} @}
1705 @code{\noPageBreak},
1706 @code{\autoPageBreaksOn},
1707 @code{\autoPageBreaksOff}.
1711 Guida alla notazione:
1712 @ref{paper variables for page breaking}.
1719 Il prefisso @code{\once} non funziona con i comandi @code{\autoPageBreaksOn}
1720 e @code{\autoPageBreaksOff}. Se l'interruzione di pagina automatica è
1721 disabilitata e poi viene abilitata per permettere un'interruzione di
1722 pagina, deve restare attiva per alcune battute (il numero preciso di
1723 battute dipende dalla partitura) prima di essere disattivata, altrimenti
1724 la possibilità di interrompere la pagina non verrà considerata.
1727 @node Interruzione di pagina ottimale
1728 @unnumberedsubsubsec Interruzione di pagina ottimale
1729 @translationof Optimal page breaking
1731 @funindex ly:optimal-breaking
1733 La funzione @code{ly:optimal-breaking} è il metodo predefinito di LilyPond
1734 per determinare le interruzioni di pagina. Tenta di individuare un'interruzione
1735 di pagina che minimizzi la densità e l'allungamento, sia orizzontalmente che
1736 verticalmente. Diversamente da @code{ly:page-turn-breaking}, non prende in
1737 considerazione le voltate di pagina.
1744 @node Interruzione di pagina minimale
1745 @unnumberedsubsubsec Interruzione di pagina minimale
1746 @translationof Minimal page breaking
1748 @funindex ly:minimal-breaking
1750 La funzione @code{ly:minimal-breaking} fa dei calcoli minimi
1751 per valutare l'interruzione di pagina: riempie una pagina col
1752 maggior numero possibile di sistemi prima di passare a quella
1753 successiva. Dunque potrebbe essere preferibile per le partiture
1754 con molte pagine, per le quali le altre funzioni di interruzione
1755 di pagina potrebbero essere troppo lente o richiedere troppa
1756 memoria, o con molto testo. Si abilita con:
1760 page-breaking = #ly:minimal-breaking
1769 @node Interruzione di pagina su una linea
1770 @unnumberedsubsubsec Interruzione di pagina su una linea
1771 @translationof One-line page breaking
1773 @funindex ly:one-line-breaking
1775 La funzione @code{ly:one-line-breaking} è un algoritmo di interruzione
1776 di pagina per uso speciale in quanto pone ogni brano su una sola pagina e
1777 una singola linea. Non appaiono né titoli né margini, ma viene
1778 mostrato solo il brano musicale.
1780 La larghezza della pagina è regolata in modo che il brano più
1781 lungo stia su una sola linea. In particolare, le variabili @code{paper-width},
1782 @code{line-width} e @code{indent} del blocco @code{\paper} vengono
1783 ignorate, sebbene @code{left-margin} e @code{right-margin} siano
1784 comunque considerate. L'altezza della pagina resta invariata.
1787 @node Interruzione di pagina su una linea con altezza automatica
1788 @unnumberedsubsubsec Interruzione di pagina su una linea con altezza automatica
1789 @translationof One-line-auto-height page breaking
1791 @funindex ly:one-line-auto-height-breaking
1793 La funzione @code{ly:one-line-auto-height-breaking} funziona proprio come
1794 @code{ly:one-line-breaking} con la differenza che l'altezza della pagina
1795 viene modificata automaticamente per adattarsi all'altezza della musica.
1796 Più precisamente, la variabile @code{paper-height} del blocco @code{\paper}
1797 viene impostata in modo che abbracci l'altezza della partitura più alta
1798 e i margini superiore e inferiore (@code{top-margin} e @code{bottom-margin}).
1800 Fare attenzione al fatto che l'impostazione @code{top-system-spacing} avrà
1801 effetto sulla posizione verticale della musica. Impostarla su @code{##f} in
1802 un blocco @code{\paper} per posizionare la musica tra i margini superiore e
1806 @node Voltata di pagina ottimale
1807 @unnumberedsubsubsec Voltata di pagina ottimale
1808 @translationof Optimal page turning
1810 @funindex ly:page-turn-breaking
1812 È spesso necessario trovare una configurazione delle interruzioni di
1813 pagina in cui ci sia una pausa al termine di ogni due pagine.
1814 In questo modo il musicista può voltare la pagina senza perdere
1815 le note. La funzione @code{ly:page-turn-breaking} tenta di trovare
1816 un'interruzione di pagina che minimizzi densità e allungamento, ma
1817 con l'ulteriore restrizione che le voltate di pagina sono permesse
1818 solo in punti specifici.
1820 Ci sono due passi da seguire per usare questa funzione. Prima
1821 occorre abilitarla nel blocco @code{\paper}, come è spiegato in
1822 @ref{Page breaking}. Poi bisogna indicare alla funzione dove
1823 sono permesse le interruzioni di pagina.
1825 Ci sono due modi per fare il secondo passo. Si può specificare
1826 manualmente ogni potenziale voltata di pagina, inserendo
1827 @code{\allowPageTurn} nei punti adatti del file di input.
1829 Oppure, se ciò è troppo noioso, si può aggiungere l'incisore
1830 @code{Page_turn_engraver} a un contesto Staff o Voice. L'incisore
1831 @code{Page_turn_engraver} analizzerà il contesto in cerca di sezioni
1832 senza note (non cerca pause, bensì l'assenza di note, in modo che
1833 la polifonia su un singolo rigo con pause in una delle parti non
1834 confonda @code{Page_turn_engraver}). Quando trova una sezione
1835 senza note abbastanza lunga, @code{Page_turn_engraver} inserirà il
1836 comando @code{\allowPageTurn} nella stanghetta finale di quella
1837 sezione, a meno che non ci sia una stanghetta @q{speciale} (come
1838 una doppia stanghetta), nel qual caso il comando @code{\allowPageTurn}
1839 sarà inserito nella stanghetta finale @qq{speciale} della sezione.
1841 @funindex minimumPageTurnLength
1842 L'incisore @code{Page_turn_engraver} legge la proprietà di contesto
1843 @code{minimumPageTurnLength} per determinare quanto deve essere lunga
1844 una sezione senza note prima che una voltata di pagina sia considerata.
1845 Il valore predefinito di @code{minimumPageTurnLength} è
1846 @code{(ly:make-moment 1/1)}. Per disabilitare le voltate di pagina,
1847 impostarla su un valore @qq{molto grande}.
1850 \new Staff \with @{ \consists "Page_turn_engraver" @}
1853 R1 | % voltata di pagina permessa qui
1855 \set Staff.minimumPageTurnLength = #(ly:make-moment 5/2)
1856 R1 | % voltata di pagina non permessa qui
1858 R1*2 | % voltata di pagina permessa qui
1863 @funindex minimumRepeatLengthForPageTurn
1864 Quando si usano ripetizioni con finali alternativi, l'incisore @code{Page_turn_engraver}
1865 permetterà una voltata di pagina durante la ripetizione soltanto se c'è
1866 abbastanza tempo all'inizio e alla fine della ripetizione per voltare
1867 indietro la pagina. Se la ripetizione è troppo breve, si può usare
1868 @code{Page_turn_engraver} per @emph{disabilitare} le voltate impostando
1869 un valore appropriato per la proprietà di contesto @code{minimumRepeatLengthForPageTurn}.
1870 In questo caso @code{Page_turn_engraver} consentirà le voltate soltanto nelle
1871 ripetizioni la cui durata sia maggiore del valore specificato.
1873 I comandi per le voltate di pagina (@code{\pageTurn}, @code{\noPageTurn}
1874 e @code{\allowPageTurn}), possono essere usati anche nel livello superiore,
1875 nei blocchi markup di livello superiore e tra una partitura e l'altra.
1880 @funindex \noPageTurn
1882 @funindex \allowPageTurn
1883 @code{\allowPageTurn}.
1887 Guida alla notazione:
1888 @ref{paper variables for line breaking}.
1894 Usare soltanto un incisore @code{Page_turn_engraver} per partitura. Se ce
1895 n'è più d'uno, interferiranno uno con l'altro.
1899 Guida alla notazione:
1900 @ref{Vertical spacing}.
1906 @node Spaziatura verticale
1907 @section Spaziatura verticale
1908 @translationof Vertical spacing
1910 @cindex vertical spacing
1911 @cindex spacing, vertical
1913 La spaziatura verticale è regolata da tre elementi: la quantità di
1914 spazio disponibile (ovvero il formato e i margini), la quantità di
1915 spazio tra i sistemi e la quantità di spazio tra i righi di un
1919 * Spaziatura verticale flessibile all'interno dei sistemi::
1920 * Posizionamento esplicito di righi e sistemi::
1921 * Elusione delle collisioni verticali::
1925 @node Spaziatura verticale flessibile all'interno dei sistemi
1926 @subsection Spaziatura verticale flessibile all'interno dei sistemi
1927 @translationof Flexible vertical spacing within systems
1929 @cindex distanza tra i righi
1930 @cindex righi, distanza
1931 @cindex spazio tra i righi
1932 @cindex spazio dentro i sistemi
1934 Tre meccanismi distinti regolano la spaziatura verticale flessibile
1935 all'interno dei sistemi, uno per ognuna delle seguenti categorie:
1940 @emph{righi non raggruppati},
1943 @emph{righi raggruppati} (righi con un gruppo come
1944 @code{ChoirStaff}, etc.), e
1947 @emph{linee che non sono righi} (come @code{Lyrics}, @code{ChordNames},
1952 @c TODO: Clarify this. This almost implies that non-staff lines
1953 @c have NO effect on the spacing between staves. -mp
1955 L'altezza di ogni sistema è determinata in due fasi. Prima vengono
1956 spaziati tutti i righi in base alla quantità di spazio disponibile.
1957 Poi le linee che non sono righi sono distribuite tra i righi.
1959 Nota che i meccanismi di spaziatura trattati in questa sezione regolano
1960 soltanto la spaziatura verticale dei righi e delle linee (che non sono
1961 righi) all'interno di singoli sistemi. La spaziatura verticale tra
1962 sistemi, partiture, testi e margini separati è regolata dalle variabili
1963 @code{\paper} trattate in
1964 @ref{Flexible vertical spacing paper variables,,Variabili @code{@bs{}paper} della spaziatura verticale flessibile}.
1967 * Proprietà della spaziatura dentro un sistema::
1968 * Spaziatura dei righi non raggruppati::
1969 * Spaziatura dei righi raggruppati::
1970 * Spaziatura delle linee che non sono righi::
1974 @node Proprietà della spaziatura dentro un sistema
1975 @unnumberedsubsubsec Proprietà della spaziatura dentro un sistema
1976 @translationof Within-system spacing properties
1978 @funindex staff-affinity
1979 @funindex staffgroup-staff-spacing
1980 @funindex staff-staff-spacing
1981 @funindex nonstaff-unrelatedstaff-spacing
1982 @funindex nonstaff-relatedstaff-spacing
1983 @funindex nonstaff-nonstaff-spacing
1984 @funindex default-staff-staff-spacing
1985 @funindex minimum-Y-extent
1986 @funindex extra-offset
1987 @funindex self-alignment-X
1989 @funindex VerticalAxisGroup
1991 I meccanismi di spaziatura verticale dentro un sistema sono regolati da
1992 due gruppi di proprietà dei grob. Il primo gruppo è associato al grob
1993 @code{VerticalAxisGroup}, creato da tutti i righi e tutte le linee che
1994 non sono righi. Il secondo gruppo è associato al grob
1995 @code{StaffGrouper}, che può essere creato da gruppi di righi, ma
1996 solo se richiamato esplicitamente. Queste proprietà sono descritte
1997 una per una alla fine di questa sezione.
1999 Il nome di queste proprietà (con l'eccezione di @code{staff-affinity})
2000 hanno il formato @code{@var{elemento1}-@var{elemento2}-spacing}, dove
2001 @code{@var{elemento1}} e @code{@var{elemento2}} sono gli elementi di
2002 cui determinare la distanza. Nota che @code{@var{elemento2}} non è
2003 necessariamente sotto @code{@var{elemento1}}; per esempio,
2004 @code{nonstaff-relatedstaff-spacing} prenderà le misure verso l'alto a
2005 partire dalla linea che non è un rigo (nonstaff) se
2006 @code{staff-affinity} è impostato su @code{UP}.
2008 Ogni distanza è calcolata tra i @emph{punti di riferimento} dei due
2009 elementi. Il punto di riferimento di un rigo è il centro verticale
2010 del suo @code{StaffSymbol} (ovvero la linea centrale se
2011 @code{line-count} (il numero di linee) è dispari; lo spazio centrale
2012 se @code{line-count} è pari). I punti di riferimento per ciascuna linea
2013 che non è un rigo sono elencati nella seguente tabella:
2015 @multitable {Non-staff line} {Reference point}
2016 @headitem Linea non-rigo @tab Punto di riferimento
2017 @item @code{ChordNames} @tab linea di base
2018 @item @code{NoteNames} @tab linea di base
2019 @item @code{Lyrics} @tab linea di base
2020 @item @code{Dynamics} @tab metà altezza di @q{m}
2021 @item @code{FiguredBass} @tab punto più alto
2022 @item @code{FretBoards} @tab linea più alta
2025 Nell'immagine seguente, le linee orizzontali indicano le posizioni di
2026 questi punti di riferimento:
2028 @lilypond[quote,noragged-right,line-width=110\mm]
2029 #(define zero-space '((padding . -inf.0) (basic-distance . 0)))
2031 alignToZero = \with {
2032 \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #zero-space
2033 \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #zero-space
2034 \override VerticalAxisGroup.staff-affinity = #DOWN
2035 \remove Text_engraver % impedisce di averne due
2036 \consists Text_engraver
2038 lowerCaseChords = \with {
2039 chordNameLowercaseMinor = ##t
2042 #(define-music-function
2045 #{ s1*0^\markup { \upright {\typewriter #context } } #})
2048 \context { \Dynamics \alignToZero }
2049 \context { \FiguredBass \alignToZero }
2050 \context { \Lyrics \alignToZero }
2051 \context { \NoteNames \alignToZero }
2052 \context { \ChordNames \alignToZero \lowerCaseChords }
2053 \context { \FretBoards \alignToZero }
2056 \override DynamicText.self-alignment-X = #-1
2057 \override FretBoard.X-offset = #1.75
2058 \override InstrumentName.minimum-Y-extent = #'(-1 . 2)
2064 %% Questi contesti hanno punti di riferimento nella linea di base:
2065 %% ChordNames, NoteNames, and Lyrics
2067 \new ChordNames { \chords { \labelContext "ChordNames" g1:m } }
2068 \new NoteNames { s1 |\labelContext "NoteNames" g1 | }
2069 \new Lyrics { \lyrics { \skip 1*2 | \labelContext "Lyrics" ghijk1 | } }
2070 \new RhythmicStaff \with { instrumentName = #"linea di base " } s1*3
2073 %% Il punto di riferimento per Dynamics è la linea centrale della 'm' nel tipo di carattere
2075 \new Dynamics { \labelContext "Dynamics" s1\mp s\fp }
2076 \new RhythmicStaff \with { instrumentName = #"metà altezza " } s1*3
2079 %% Il punto di riferimento per FiguredBass è il suo punto più alto
2081 \new FiguredBass { \labelContext "FiguredBass" \figuremode { <6 5>1 } }
2082 \new RhythmicStaff \with { instrumentName = #"punto più alto " } s1
2085 %% Il punto di riferimento per FretBoards è la linea più alta
2086 \include "predefined-guitar-fretboards.ly"
2088 \new FretBoards { \labelContext "FretBoards" \chordmode { e1 } }
2089 \new RhythmicStaff \with { instrumentName = #"linea più alta " } s1
2093 Tutte le proprietà di spaziatura verticale del grob (eccetto
2094 @code{staff-affinity}) usano la stessa struttura della lista
2095 associativa usata dalle variabili di spaziatura di @code{\paper}
2097 @ref{Flexible vertical spacing paper variables,,Variabili @code{@bs{}paper} della spaziatura verticale flessibile}.
2098 Metodi specifici per modificare queste liste sono spiegati in
2099 @ref{Modifying alists}. Le proprietà dei grob devono essere
2100 modificate con un comando @code{\override} dentro un blocco
2101 @code{\score} o @code{\layout} e non in un blocco
2104 L'esempio seguente illustra i due modi con cui si possono modificare
2105 queste liste associative (alist). La prima dichiarazione trasforma un
2106 elemento-valore singolarmente, mentre la seconda ridefinisce
2107 completamente la proprietà:
2111 \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10
2115 \override VerticalAxisGroup.default-staff-staff-spacing =
2116 #'((basic-distance . 10)
2117 (minimum-distance . 9)
2119 (stretchability . 10))
2123 Per cambiare le impostazioni di spaziatura globalmente, inserirle in
2124 un blocco @code{\layout}:
2130 \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10
2135 Le impostazioni predefinite delle proprietà di spaziatura verticale dei
2136 grob sono elencate in @rinternals{VerticalAxisGroup} e
2137 @rinternals{StaffGrouper}. Le modifiche predefinite con @code{\override}
2138 per tipologie specifiche di linee che non sono righi sono elencate
2139 nelle descrizioni del relativo contesto in @rinternals{Contexts}.
2142 @subsubheading Proprietà del grob @code{VerticalAxisGroup}
2144 Le proprietà di @code{VerticalAxisGroup} sono solitamente modificate
2145 con un @code{\override} nel livello @code{Staff} (o equivalente).
2148 @item staff-staff-spacing
2150 Usata per determinare la distanza tra il rigo corrente e il rigo
2151 inferiore nello stesso sistema, anche se tra i due si trovano una o
2152 più linee che non sono righi (come @code{Lyrics}).
2153 Non è applicata all'ultimo rigo di un sistema.
2155 Inizialmente, la proprietà @code{staff-staff-spacing} di un
2156 @code{VerticalAxisGroup} è una funzione Scheme che applica le
2157 proprietà di @code{StaffGrouper} se il rigo fa parte di un
2158 gruppo, o la proprietà @code{default-staff-staff-spacing} del rigo
2159 altrimenti. Questo permette ai righi di essere spaziati diversamente
2160 quando sono raggruppati. Per ottenere una spaziatura uniforme
2161 indipendentemente dal raggruppamento, questa funzione può essere
2162 sostituita da un alist di spaziatura flessibile, usando la forma
2163 di override che ridefinisce completamente la variabile, come mostrato
2166 @item default-staff-staff-spacing
2167 Un alist di spaziatura flessibile che definisce la proprietà
2168 @code{staff-staff-spacing} usata per i righi isolati, a meno che
2169 @code{staff-staff-spacing} non sia stata impostata esplicitamente
2170 con un @code{\override}.
2172 @item staff-affinity
2173 La direzione del rigo da usare per spaziare la linea che non è un rigo.
2174 Le opzioni sono @code{UP} (su), @code{DOWN} (giù) e
2175 @code{CENTER} (centro). Se impostata su @code{CENTER}, la linea
2176 fuori dal rigo si troverà in un punto equidistante tra i due righi
2177 più vicini su qualunque lato, a meno che delle collisioni o altre
2178 costrizioni di spazio non lo impediscano. Linee (che non sono righi)
2179 adiacenti dovrebbero avere un valore di @code{staff-affinity} che
2180 non cresce: per esempio, una linea che non è un rigo impostata su
2181 @code{UP} non deve seguire immediatamente una linea impostata su
2182 @code{DOWN}. Linee che non sono righi in cima a un sistema devono usare
2183 @code{DOWN}; quelle in fondo @code{UP}. Impostando
2184 @code{staff-affinity} per un rigo, questo sarà trattato come
2185 una linea che non è un rigo. Impostando @code{staff-affinity} su @code{#f},
2186 una linea che non è un rigo sarà trattata come un rigo. Impostando
2187 @code{staff-affinity} su @code{UP}, @code{CENTER} o @code{DOWN},
2188 un rigo verrà spaziato come se fosse una linea che non è un rigo.
2190 @item nonstaff-relatedstaff-spacing
2191 La distanza fra la linea (che non è un rigo) corrente e il rigo più
2192 vicino nella direzione di @code{staff-affinity}, se non ci sono
2193 linee che non sono righi tra le due e @code{staff-affinity} è
2194 impostato su @code{UP} o @code{DOWN}. Se @code{staff-affinity} è
2195 impostato su @code{CENTER}, viene usato @code{nonstaff-relatedstaff-spacing}
2196 per i righi più vicini su @emph{entrambi} i lati, anche se appaiono
2197 altre linee tra quella corrente e uno qualsiasi dei righi. Ciò
2198 significa che il posizionamento di una linea dipende sia dai righi
2199 che dalle linee circostanti. Impostando la proprietà @code{stretchability}
2200 di uno di questi tipi di spaziatura su un piccolo valore, quella spaziatura
2201 sarà dominante. Impostando @code{stretchability} su un grande valore, quella
2202 spaziatura avrà poco effetto.
2204 @item nonstaff-nonstaff-spacing
2205 La distanza fra la linea (che non è un rigo) corrente e quella successiva
2206 nella direzione di @code{staff-affinity}, se entrambe sono sullo stesso
2207 lato del rigo in questione e se @code{staff-affinity} è impostata su
2208 @code{UP} o @code{DOWN}.
2210 @item nonstaff-unrelatedstaff-spacing
2211 La distanza fra la linea (che non è un rigo) corrente e il rigo nella
2212 direzione opposta rispetto a @code{staff-affinity}, se non ci sono
2213 altre linee tra i due e se @code{staff-affinity} è impostato su
2214 @code{UP} o @code{DOWN}. Ciò può servire, per esempio, a imporre
2215 un padding minimo tra una linea @code{Lyrics} e il rigo al quale non
2220 @subsubheading Proprietà del grob @code{StaffGrouper}
2222 Le proprietà di @code{StaffGrouper} sono solitamente modificate con un
2223 @code{\override} nel livello @code{StaffGroup} (o livello equivalente).
2226 @item staff-staff-spacing
2227 La distanza tra righi consecutivi del gruppo di righi
2228 corrente. La proprietà @code{staff-staff-spacing} del grob
2229 @code{VerticalAxisGroup} di un singolo rigo può essere
2230 sovrascritta con varie impostazioni di spaziatura per quel rigo.
2232 @item staffgroup-staff-spacing
2233 La distanza tra l'ultimo rigo del gruppo di righi corrente e
2234 il rigo immediatamente successivo nello stesso sistema, anche se
2235 tra i due righi ci sono una o più linee che non sono righi (come
2236 @code{Lyrics}). Non è applicata al rigo inferiore di un sistema. La
2237 proprietà @code{staff-staff-spacing} del grob @code{VerticalAxisGroup}
2238 di un singolo rigo può essere sovrascritta con varie impostazioni di
2239 spaziatura per quel rigo.
2243 Guida alla notazione:
2244 @ref{Flexible vertical spacing paper variables,,Variabili @code{@bs{}paper} della spaziatura verticale flessibile},
2245 @ref{Modifying alists}.
2248 @file{ly/engraver-init.ly},
2249 @file{scm/define-grobs.scm}.
2251 Guida al funzionamento interno:
2252 @rinternals{Contexts},
2253 @rinternals{VerticalAxisGroup},
2254 @rinternals{StaffGrouper}.
2257 @node Spaziatura dei righi non raggruppati
2258 @unnumberedsubsubsec Spaziatura dei righi non raggruppati
2259 @translationof Spacing of ungrouped staves
2261 I @emph{righi} (come @code{Staff}, @code{DrumStaff},
2262 @code{TabStaff}, etc.) sono contesti che possono contenere uno o
2263 più contesti voce, ma non possono contenere altri righi.
2265 Le seguenti proprietà influenzano la spaziatura di righi @emph{non raggruppati}:
2268 @item Proprietà di @code{VerticalAxisGroup}:
2270 @item @code{default-staff-staff-spacing}
2271 @item @code{staff-staff-spacing}
2275 Queste proprietà del grob sono state descritte una a una in precedenza; vedi
2276 @ref{Within-system spacing properties}.
2278 Altre proprietà entrano in gioco per i righi che sono parte di un gruppo;
2279 vedi @ref{Spacing of grouped staves}.
2281 L'esempio seguente mostra come la proprietà @code{default-staff-staff-spacing}
2282 possa influenzare la spaziatura di righi non raggruppati. Le stesse
2283 modifiche applicate a @code{staff-staff-spacing} avrebbero lo stesso
2284 effetto, ma verrebbero applicate anche nel caso in cui i righi siano
2285 combinati in uno o più gruppi.
2287 @lilypond[verbatim,quote,staffsize=16]
2291 \override VerticalAxisGroup.default-staff-staff-spacing =
2292 #'((basic-distance . 8)
2293 (minimum-distance . 7)
2299 % Questa nota molto bassa ha bisogno di più spazio di quanto 'basic-distance
2300 % possa fornirne, dunque la distanza tra questo rigo e quello successivo
2301 % è determinato da 'padding.
2302 \new Staff { b,2 r | }
2304 % Qui 'basic-distance fornisce abbastanza spazio, e non c'è bisogno
2305 % di comprimere lo spazio (verso 'minimum-distance) per far spazio
2306 % per qualcos'altro sulla pagina, dunque la distanza tra questo
2307 % rigo e quello successivo è determinato da 'basic-distance.
2308 \new Staff { \clef bass g2 r | }
2310 % Impostando 'padding su un valore negativo, è possibile far sì che
2311 % i righi entrino in collisione. Il più basso valore accettabile per
2312 % 'basic-distance è 0.
2314 \override VerticalAxisGroup.default-staff-staff-spacing =
2315 #'((basic-distance . 3.5)
2317 } { \clef bass g2 r | }
2318 \new Staff { \clef bass g2 r | }
2324 @file{scm/define-grobs.scm}.
2329 Guida al funzionamento interno:
2330 @rinternals{VerticalAxisGroup}.
2333 @node Spaziatura dei righi raggruppati
2334 @unnumberedsubsubsec Spaziatura dei righi raggruppati
2335 @translationof Spacing of grouped staves
2337 Nelle partiture orchestrali e in alte grosse partiture, di norma i righi
2338 vengono raggruppati. Lo spazio tra i gruppi è più ampio dello spazio
2339 tra i righi dello stesso gruppo.
2341 I @emph{gruppi di righi} (come @code{StaffGroup}, @code{ChoirStaff},
2342 etc.) sono contesti che possono contenere uno o più righi
2345 Le seguenti proprietà influenzano la spaziatura dei righi nei gruppi:
2348 @item Proprietà di @code{VerticalAxisGroup}:
2350 @item @code{staff-staff-spacing}
2352 @item Proprietà di @code{StaffGrouper}:
2354 @item @code{staff-staff-spacing}
2355 @item @code{staffgroup-staff-spacing}
2359 Queste proprietà dei grob sono descritte una a una in una sezione precedente; vedi
2360 @ref{Within-system spacing properties}.
2362 L'esempio seguente mostra come le proprietà del grob
2363 @code{StaffGrouper} possano influenzare la spaziatura dei righi raggruppati:
2365 @lilypond[verbatim,quote,staffsize=16]
2369 \override StaffGrouper.staff-staff-spacing.padding = #0
2370 \override StaffGrouper.staff-staff-spacing.basic-distance = #1
2375 \new PianoStaff \with {
2376 \override StaffGrouper.staffgroup-staff-spacing.basic-distance = #20
2391 @file{scm/define-grobs.scm}.
2396 Guida al funzionamento interno:
2397 @rinternals{VerticalAxisGroup},
2398 @rinternals{StaffGrouper}.
2401 @node Spaziatura delle linee che non sono righi
2402 @unnumberedsubsubsec Spaziatura delle linee che non sono righi
2403 @translationof Spacing of non-staff lines
2405 Le @emph{linee che non sono righi} (come @code{Lyrics}, @code{ChordNames},
2406 etc.) sono contesti i cui oggetti della formattazione sono disposti come se
2407 fossero su dei righi (ovvero su linee orizzontali all'interno dei sistemi).
2408 Precisamente, le linee che non sono righi sono contesti non-rigo che contengono
2409 l'incisore @rinternals{Axis_group_engraver}.
2411 Le seguenti proprietà influenzano la spaziatura delle linee che non sono righi:
2414 @item Proprietà di @code{VerticalAxisGroup}:
2416 @item @code{staff-affinity}
2417 @item @code{nonstaff-relatedstaff-spacing}
2418 @item @code{nonstaff-nonstaff-spacing}
2419 @item @code{nonstaff-unrelatedstaff-spacing}
2423 Queste proprietà del grob sono descritte una a una in una sezione
2424 precedente, vedi @ref{Within-system spacing properties}.
2426 L'esempio seguente mostra come la proprietà
2427 @code{nonstaff-nonstaff-spacing} influenza la spaziatura di linee
2428 che non sono un rigo consecutive. Impostando l'elemento
2429 @code{stretchability} su un valore molto alto, il testo vocale
2430 riesce a allungarsi molto più del solito:
2432 @lilypond[verbatim,quote,staffsize=16]
2436 \override VerticalAxisGroup.nonstaff-nonstaff-spacing.stretchability = #1000
2443 \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 30))
2446 \override VerticalAxisGroup.staff-affinity = #UP
2449 \override VerticalAxisGroup.staff-affinity = #CENTER
2450 } \lyricmode { center }
2452 \override VerticalAxisGroup.staff-affinity = #DOWN
2453 } \lyricmode { down }
2460 @file{ly/engraver-init.ly},
2461 @file{scm/define-grobs.scm}.
2466 @c @lsr{spacing,page-spacing.ly},
2467 @c @lsr{spacing,alignment-vertical-spacing.ly}.
2469 Guida al funzionamento interno:
2470 @rinternals{Contexts},
2471 @rinternals{VerticalAxisGroup}.
2474 @node Posizionamento esplicito di righi e sistemi
2475 @subsection Posizionamento esplicito di righi e sistemi
2476 @translationof Explicit staff and system positioning
2478 Un modo per comprendere i meccanismi di spaziatura verticale
2479 appena spiegati è di considerarli come un insieme di impostazioni
2480 che regolano la quantità di @emph{padding} verticale tra righi
2483 È possibile gestire la spaziatura verticale in un modo diverso
2484 usando @code{NonMusicalPaperColumn.line-break-system-details}.
2485 Mentre i meccanismi di spaziatura verticale flessibile specificano
2486 il padding verticale, @code{NonMusicalPaperColumn.line-break-system-details}
2487 indica precisamente le posizioni verticali esatte sulla pagina.
2489 @code{NonMusicalPaperColumn.line-break-system-details} accetta una
2490 lista associativa di tre diverse impostazioni:
2493 @item @code{X-offset}
2494 @item @code{Y-offset}
2495 @item @code{alignment-distances}
2498 Le modifiche del grob con @code{\override}, incluse quelle per @code{NonMusicalPaperColumn}
2499 come nell'esempio successivo, possono trovarsi in uno di questi tre diversi
2500 punti del file di input:
2503 @item direttamente in mezzo alle note
2504 @item in un blocco @code{\context}
2505 @item nel blocco @code{\with}
2508 Quando si modifica @code{NonMusicalPaperColumn}, si usa il solito
2509 comando @code{\override} nei blocchi @code{\context} e nel blocco
2510 @code{\with}. Invece quando si modifica
2511 @code{NonMusicalPaperColumn} in mezzo alle note,
2512 si usa il comando speciale @code{\overrideProperty}. Ecco alcuni
2513 esempi di modifiche di @code{NonMusicalPaperColumn} col comando
2514 speciale @code{\overrideProperty}:
2517 \overrideProperty NonMusicalPaperColumn.line-break-system-details
2520 \overrideProperty NonMusicalPaperColumn.line-break-system-details
2523 \overrideProperty NonMusicalPaperColumn.line-break-system-details
2527 \overrideProperty NonMusicalPaperColumn.line-break-system-details
2528 #'((alignment-distances . (15)))
2530 \overrideProperty NonMusicalPaperColumn.line-break-system-details
2533 (alignment-distances . (15)))
2536 Per comprendere come funziona ognuna di queste impostazioni, iniziamo
2537 vedendo un esempio che non contiene alcuna modifica.
2539 @c \book { } is required in these examples to ensure the spacing
2540 @c overrides can be seen between systems. -np
2542 @lilypond[verbatim,quote,staffsize=16]
2543 \header { tagline = ##f }
2544 \paper { left-margin = 0\mm }
2554 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2557 \repeat unfold 15 { d'4 d' d' d' }
2564 Questa partitura isola l'informazione sulle interruzioni di linea e di pagina
2565 in una voce apposita. Questa tecnica di creare una voce per le interruzioni
2566 permette di tenere la formattazione separata dalla musica via via che il
2567 nostro esempio diventa più complicato. Vedi anche @ref{Breaks}.
2569 Usando comandi @code{\break} espliciti, la musica viene divisa proporzionalmente
2570 in cinque misure per linea. La spaziatura verticale è quella predefinita di
2571 LilyPond ma il punto di inizio verticale di ogni sistema è impostato
2572 esplicitamente con la coppia @code{Y-offset} dell'attributo
2573 @code{line-break-system-details} del grob @code{NonMusicalPaperColumn}:
2575 @lilypond[verbatim,quote,staffsize=16]
2576 \header { tagline = ##f }
2577 \paper { left-margin = 0\mm }
2583 \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
2586 \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
2589 \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
2593 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2596 \repeat unfold 15 { d'4 d' d' d' }
2603 Nota che @code{line-break-system-details} accetta una lista associativa di
2604 molti valori, ma ne abbiamo impostato solo uno in questo esempio. Nota
2605 anche che la proprietà @code{Y-offset} qui determina la posizione verticale
2606 esatta sulla pagina in cui ogni nuovo sistema verrà visualizzato.
2608 Ora che abbiamo impostato esplicitamente il punto di inizio verticale di
2609 ogni sistema, possiamo impostare manualmente anche le distanze verticali
2610 tra i righi. Per farlo usiamo la sottoproprietà @code{alignment-distances}
2611 di @code{line-break-system-details}.
2613 @lilypond[verbatim,quote,staffsize=16]
2614 \header { tagline = ##f }
2615 \paper { left-margin = 0\mm }
2621 \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
2623 (alignment-distances . (10)))
2625 \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
2627 (alignment-distances . (15)))
2629 \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
2631 (alignment-distances . (20)))
2634 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2637 \repeat unfold 15 { d'4 d' d' d' }
2644 Nota che qui assegnamo due valori diversi all'attributo
2645 @code{line-break-system-details} del grob
2646 @code{NonMusicalPaperColumn}. Sebbene l'attributo alist
2647 @code{line-break-system-details} accetti molti altri parametri di
2648 spaziatura (inclusa, per esempio, una coppia corrispondente
2649 di @code{X-offset}), è sufficiente impostare soltanto le coppie @code{Y-offset}
2650 e @code{alignment-distances} per regolare il punto di inizio verticale di
2651 ogni sistema e ogni rigo. Infine nota che @code{alignment-distances}
2652 specifica il posizionamento verticale dei righi ma non dei gruppi di righi.
2654 @lilypond[verbatim,quote,staffsize=16]
2655 \header { tagline = ##f }
2656 \paper { left-margin = 0\mm }
2662 \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
2664 (alignment-distances . (30 10)))
2666 \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
2668 (alignment-distances . (10 10)))
2670 \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
2672 (alignment-distances . (10 30)))
2675 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2678 \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
2679 \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
2686 Alcuni punti da considerare:
2689 @item Quando si usa @code{alignment-distances}, il testo vocale e altre linee
2690 che non sono righi non contano come rigo.
2692 @item Le unità dei numeri assegnati a @code{X-offset},
2693 @code{Y-offset} e @code{alignment-distances} sono interpretati come
2694 multipli della distanza tra linee del rigo adiacenti. Valori positivi
2695 spostano in su righi e testo, valori negativi li spostano in giù.
2697 @item Dato che le impostazioni di @code{NonMusicalPaperColumn.line-break-system-details}
2698 illustrate qui permettono il posizionamento di righi e sistemi ovunque
2699 sulla pagina, è possibile violare i confini del foglio o dei margini o
2700 perfino sovrapporre righi e sistemi uno sopra l'altro. Ciò può essere
2701 evitato assegnando valori ragionevoli a queste diverse impostazioni.
2709 @node Elusione delle collisioni verticali
2710 @subsection Elusione delle collisioni verticali
2711 @translationof Vertical collision avoidance
2713 @funindex outside-staff-priority
2714 @funindex outside-staff-padding
2715 @funindex outside-staff-horizontal-padding
2717 Intuitivamente, ci sono alcuni oggetti della notazione musicale che
2718 appartengono al rigo e altri che devono essere disposti fuori dal
2719 rigo. Gli oggetti esterni al rigo comprendono i numeri di chiamata,
2720 il testo e le dinamiche (d'ora in avanti tutti questi elementi saranno
2721 chiamati oggetti esterni al rigo). La regola di LilyPond per il
2722 posizionamento verticale degli oggetti esterni al rigo è di disporli
2723 il più vicino possibile al rigo ma non così vicino da farli collidere
2724 con un altro oggetto.
2726 LilyPond usa la proprietà @code{outside-staff-priority} per determinare
2727 se un grob è un oggetto fuori dal rigo: se @code{outside-staff-priority}
2728 è un numero, il grob è un oggetto esterno al rigo. @code{outside-staff-priority}
2729 indica a LilyPond anche in quale ordine disporre gli oggetti.
2731 LilyPond posiziona prima tutti gli oggetti che non sono esterni al
2732 rigo. Quindi ordina gli oggetti esterni al rigo in base al loro valore
2733 di @code{outside-staff-priority} (in ordine crescente). Uno per volta, LilyPond
2734 prende gli oggetti esterni al rigo e li dispone in modo che non entrino in
2735 collisione con alcun oggetto che sia già stato disposto. Ovvero, se due
2736 grob esterni al rigo si contendono lo stesso spazio, quello col valore
2737 di @code{outside-staff-priority} più basso sarà posto più vicino al rigo.
2739 Un elenco delle proprietà esterne al rigo si trova in
2740 @rlearning{La proprietà outside-staff-priority}.
2742 @lilypond[quote,ragged-right,verbatim]
2746 \once \override TextScript.outside-staff-priority = #1
2747 c4_"Testo"\pp % stavolta il testo sarà più vicino al rigo
2749 % impostando outside-staff-priority su un non-numero,
2750 % disabilitiamo l'elusione automatica delle collisioni
2751 \once \override TextScript.outside-staff-priority = ##f
2752 \once \override DynamicLineSpanner.outside-staff-priority = ##f
2753 c4_"Testo"\pp % qui entrano in collisione
2757 Il padding verticale intorno agli oggetti esterni al rigo
2758 può essere regolato con @code{outside-staff-padding}.
2760 @lilypond[quote,ragged-right,verbatim,staffsize=18]
2762 \once \override TextScript.outside-staff-padding = #0
2763 a'4-"outside-staff-padding = #0"
2764 \once \override TextScript.outside-staff-padding = #3
2765 d-"outside-staff-padding = #3"
2766 c-"outside-staff-padding predefinito"
2767 b-"outside-staff-padding predefinito"
2773 Per impostazione predefinita, gli oggetti esterni al rigo sono disposti
2774 in modo da evitare la collisione orizzontale con grob posizionati
2775 precedentemente. Ciò può portare a situazioni in cui gli oggetti
2776 sono posizionati uno vicino all'altro orizzontalmente.
2777 Come è dimostrato nell'esempio successivo, impostando @code{outside-staff-horizontal-padding}
2778 si aumenta la spaziatura orizzontale richiesta e in questo caso si sposta
2779 in su il testo per impedire che si avvicini troppo ai tagli addizionali.
2781 @lilypond[quote,ragged-right,verbatim]
2783 c''4^"Parola" c c''2
2785 \once \override TextScript.outside-staff-horizontal-padding = #1
2786 c,,4^"Parola" c c''2
2795 @node Spaziatura orizzontale
2796 @section Spaziatura orizzontale
2797 @translationof Horizontal spacing
2799 @cindex spaziatura orizzontale
2800 @cindex orizzontale, spaziatura
2803 * Panoramica sulla spaziatura orizzontale::
2804 * Nuova spaziatura nel corso di un brano::
2805 * Modifica della spaziatura orizzontale::
2806 * Larghezza della linea::
2807 * Notazione proporzionale::
2811 @node Panoramica sulla spaziatura orizzontale
2812 @subsection Panoramica sulla spaziatura orizzontale
2813 @translationof Horizontal spacing overview
2815 Il motore della spaziatura traduce le differenze delle durate delle
2816 note in distanze allungabili (@q{springs}) di diversa lunghezza. Durate
2817 più lunghe occupano più spazio, quelle più brevi ne occupano meno.
2818 Le durate più brevi occupano una quantità fissa di spazio (regolata da
2819 @code{shortest-duration-space} nell'oggetto @rinternals{SpacingSpanner}).
2820 Più lunga è la durata, più spazio occupa: raddoppiando una durata
2821 si aggiunge spazio alla nota di una quantità pari al valore di
2822 @code{spacing-increment}.
2824 Per esempio, il brano seguente contiene molte minime, semiminime e
2825 crome; la croma (1/8) è seguita da 1 Larghezza della Testa di Nota (LTN).
2826 La semiminima (1/4) è seguita da 2 LTN, la minima (1/2) da 3 LTN, etc.
2828 @lilypond[quote,verbatim]
2836 Solitamente, @code{spacing-increment} è impostato su 1.2 di spazio rigo, che
2837 equivale all'incirca alla larghezza della testa di nota, e
2838 @code{shortest-duration-space} è impostato su 2.0, che significa che
2839 la nota più breve occupa 2.4 di spazio rigo (2 volte @code{spacing-increment})
2840 di spazio orizzontale. Questo spazio è calcolato dal margine sinistro
2841 del simbolo, dunque le note più brevi sono generalmente seguite da
2844 Se si seguisse esattamente la procedura descritta, aggiungendo una
2845 sola biscroma (1/32) a un brano che usa solo crome e semicrome, la
2846 spaziatura orizzontale dell'intero brano sarebbe troppo larga. Infatti
2847 la nota più breve non è più una semicroma ma una biscroma, aggiungendo
2848 quindi 1 LTN a ogni nota. Per impedire ciò, la durata più breve per
2849 la spaziatura non è la nota più breve, bensì la che ricorre più
2850 frequentemente nel brano.
2852 La durata più breve più comune viene individuata nel modo seguente. In ogni
2853 misura viene determinata la durata più breve e quella più frequente viene
2854 scelta come base per la spaziatura, con la condizione che tale durata debba
2855 essere sempre uguale o inferiore a una nota di un ottavo.
2857 Tali durate possono anche essere personalizzate. Impostando
2858 @code{common-shortest-duration} in @rinternals{SpacingSpanner}, si
2859 imposta la durata di base per la spaziatura. La durata massima per
2860 essa (solitamente un ottavo), si imposta con @code{base-shortest-duration}.
2862 @funindex common-shortest-duration
2863 @funindex base-shortest-duration
2864 @funindex stem-spacing-correction
2867 Note ancora più brevi della nota più breve più comune sono seguite
2868 da uno spazio proporzionale alla loro durata rispetto a essa. Dunque
2869 se aggiungessimo solo alcuni sedicesimi all'esempio precedente, sarebbero
2870 seguiti dalla metà di LTN:
2872 @lilypond[quote,verbatim]
2873 \relative { c''2 c4. c8 | c4. c16[ c] c4. c8 | c8 c c4 c c }
2877 Come è spiegato nel saggio @emph{Essay on automated music engraving}, le
2878 direzioni del gambo influenzano la spaziatura (vedi @ressay{Optical spacing}) e
2879 possono essere aggiustate usando la proprietà @code{stem-spacing-correction}
2880 dell'oggetto @rinternals{NoteSpacing} (che sono generati per ogni
2881 contesto @rinternals{Voice}.
2883 L'oggetto @code{StaffSpacing} (generato nel contesto @rinternals{Staff})
2884 contiene la stessa proprietà per regolare la spaziatura tra gambo e stanghetta.
2886 L'esempio seguente mostra tutto questo: una volta con le impostazioni
2887 predefinite e una volta con un aggiustamento esagerato:
2889 @lilypond[quote,ragged-right]
2893 \override Staff.NoteSpacing.stem-spacing-correction = #1.5
2894 \override Staff.StaffSpacing.stem-spacing-correction = #1.5
2900 LilyPond supporta la notazione proporzionale, vedi @ref{Proportional notation}.
2903 Essay on automated music engraving:
2904 @ressay{Optical spacing}.
2909 Guida al funzionamento interno:
2910 @rinternals{SpacingSpanner},
2911 @rinternals{NoteSpacing},
2912 @rinternals{StaffSpacing},
2913 @rinternals{NonMusicalPaperColumn}.
2916 Non esiste un modo semplice per modificare manualmente la spaziatura. Per
2917 aggirare il problema si può inserire dell'ulteriore spazio in una partitura,
2918 regolando il valore di padding di quanto è necessario:
2921 \override Score.NonMusicalPaperColumn.padding = #10
2924 Non esiste alcun trucco per diminuire la quantità di spazio.
2927 @c traduzione del titolo non letterale ma più chiara
2928 @node Nuova spaziatura nel corso di un brano
2929 @subsection Nuova spaziatura nel corso di un brano
2930 @translationof New spacing section
2932 @funindex \newSpacingSection
2933 @cindex nuova spaziatura nel corso di un brano
2934 @cindex spaziatura nuova nel corso di un brano
2935 @cindex note, spaziatura orizzontale
2937 Nuove sezioni con parametri di spaziatura diversi possono essere iniziati
2938 col comando @code{\newSpacingSection}. Ciò può essere utile per sezioni
2939 con nozioni diverse di note @q{lunghe} e note @q{brevi}. Il comando
2940 @code{\newSpacingSection} crea un nuovo oggetto @code{SpacingSpanner} in
2941 quel momento musicale.
2943 Nell'esempio seguente, il cambio di indicazione di tempo introduce una
2944 nuova sezione, e i sedicesimi hanno automaticamente una spaziatura
2947 @lilypond[verbatim,quote]
2951 c8 c c4 c16[ c c8] c4
2958 Se gli aggiustamenti automatici della spaziatura non producono la
2959 spaziatura richiesta, si possono applicare degli @code{\override}
2960 manuali alle sue proprietà. Questi devono essere applicati nello
2961 stesso momento musicale del comando @code{\newSpacingSection} stesso e
2962 avranno effetto sulla spaziatura di tutta la musica seguente finché
2963 le proprietà non vengono cambiate in una nuova sezione. Per esempio:
2965 @lilypond[verbatim,quote]
2970 \override Score.SpacingSpanner.spacing-increment = #2
2973 \revert Score.SpacingSpanner.spacing-increment
2983 Guida al funzionamento interno:
2984 @rinternals{SpacingSpanner}.
2987 @node Modifica della spaziatura orizzontale
2988 @subsection Modifica della spaziatura orizzontale
2989 @translationof Changing horizontal spacing
2991 La spaziatura orizzontale può essere modificata tramite la proprietà
2992 @code{base-shortest-duration}. Nel prossimo esempio confrontiamo
2993 la stessa musica, prima senza cambiare la proprietà e poi cambiandola.
2994 Valori più grandi di @code{ly:make-moment} produrranno musica più densa.
2995 Nota che @code{ly:make-moment} constituisce una durata, dunque
2996 @code{1 4} è una durata più lunga di @code{1 16}.
2998 @lilypond[verbatim,line-width=12\cm]
3001 g'4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
3002 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
3003 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
3004 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
3009 @lilypond[verbatim,line-width=12\cm]
3012 g'4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
3013 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
3014 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
3015 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
3020 \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
3029 L'impostazione predefinita prevede che la spaziatura nei gruppi irregolari
3030 dipenda da vari fattori diversi dalla durata (come alterazioni, cambi di
3031 chiave, etc). Per ignorare tali simboli e forzare la spaziatura perché
3032 sia uniforme, usare @code{Score.SpacingSpanner.uniform-stretching}. Questa
3033 proprietà può essere modificata soltanto all'inizio di una partitura:
3035 @lilypond[quote,ragged-right,verbatim]
3039 \tuplet 5/4 { c8 c c c c } c8 c c c
3042 c8 c c c \tuplet 5/4 { c8 c c c c }
3048 \override SpacingSpanner.uniform-stretching = ##t
3054 Se si imposta @code{strict-note-spacing}, la spaziatura tra le note non tiene
3055 conto di chiavi, stanghette e abbellimenti:
3057 @lilypond[quote,ragged-right,fragment,verbatim]
3058 \override Score.SpacingSpanner.strict-note-spacing = ##t
3059 \new Staff \relative {
3060 c''8[ c \clef alto c \grace { c16 c } c8 c c] c32[ c] }
3068 @node Larghezza della linea
3069 @subsection Larghezza della linea
3070 @translationof Line width
3072 @cindex interruzioni di pagina
3073 @cindex pagina, interruzioni
3076 @funindex line-width
3077 @funindex ragged-right
3078 @funindex ragged-last
3080 @c Although line-width can be set in \layout, it should be set in paper
3081 @c block, to get page layout right.
3082 @c Setting indent in \paper block makes not much sense, but it works.
3084 @c Bit verbose and vague, use examples?
3085 Le impostazioni fondamentali che influenzano la spaziatura sono @code{indent} e
3086 @code{line-width}, impostate nel blocco @code{\layout}. Regolano l'indentazione
3087 della prima linea musicale e la lunghezza delle linee.
3089 Se @code{ragged-right} è impostato su vero nel blocco @code{\layout}, i sistemi
3090 terminano alla loro naturale lunghezza orizzontale, invece di essere espansi
3091 orizzontalmente per riempire tutta la linea. Ciò è utile in caso di brevi
3092 frammenti e per verificare quanto è compatta la spaziatura naturale. L'impostazione
3093 predefinita è solitamente falso, ma se la partitura ha un solo sistema il
3094 valore predefinito è vero.
3096 @cindex formattazione della pagina
3097 @cindex spaziatura verticale
3098 @cindex verticale, spaziatura
3100 L'opzione @code{ragged-last} è simile a @code{ragged-right}, ma ha effetto
3101 soltanto sull'ultima linea del brano. Nessune restrizioni vengono poste su
3102 quella linea. Il risultato è simile alla formattazione dei paragrafi di testo.
3103 In un paragrafo l'ultima linea occupa la sua naturale lunghezza orizzontale.
3104 @c Note that for text there are several options for the last line.
3105 @c While Knuth TeX uses natural length, lead typesetters use the same
3106 @c stretch as the previous line. eTeX uses \lastlinefit to
3107 @c interpolate between both these solutions.
3122 @node Notazione proporzionale
3123 @subsection Notazione proporzionale
3124 @translationof Proportional notation
3126 LilyPond supporta la notazione proporzionale, un tipo di spaziatura orizzontale
3127 in cui ogni nota occupa una quantità di spazio orizzontale esattamente
3128 equivalente alla sua durata musicale. Questo tipo di spaziatura proporzionale
3129 può essere paragonata alla spaziatura orizzontale su carta quadrettata. Alcune
3130 partiture della fine del ventesimo secolo e dell'inizio del ventunesimo usano
3131 la notazione proporzionale per chiarire relazioni ritmiche complesse o per
3132 agevolare il posizionamento della linea del tempo o di altri elementi
3133 grafici direttamente nella partitura.
3135 LilyPond supporta cinque diverse impostazioni per la notazione proporzionale,
3136 che possono essere usate insieme o da sole:
3139 @item @code{proportionalNotationDuration}
3140 @item @code{uniform-stretching}
3141 @item @code{strict-note-spacing}
3142 @item @code{\remove "Separating_line_group_engraver"}
3143 @item @code{\override PaperColumn.used = ##t}
3146 Nell'esempio seguente analizziamo queste cinque diverse impostazioni di
3147 notazione proporzionale e valutiamo come esse interagiscono tra loro.
3149 Iniziamo con l'esempio seguente di una misura, che usa la spaziatura
3150 classica con la giustificazione del rigo disattivata.
3152 @c The initial pitch is not necessary as long as RhythmicStaff is
3153 @c not preceded by other material in the score, but we don't want
3155 @lilypond[quote,verbatim,ragged-right]
3158 \new RhythmicStaff {
3159 c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
3165 La minima all'inizio della misura occupa uno spazio molto inferiore alla metà
3166 dello spazio orizzontale della misura. Ugualmente, i sedicesimi e le quintine
3167 di sedicesimi alla fine della battuta insieme occupano molto più spazio della
3168 metà dello spazio orizzontale della misura.
3170 Nell'incisione tipografica classica, questa spaziatura è solitamente proprio
3171 ciò che si desidera, perché è possibile prendere in prestito dello spazio
3172 orizzontale dalla minima e economizzare lo spazio orizzontale complessivo
3175 D'altra parte, se vogliamo inserire una linea del tempo con tacche o altri
3176 elementi grafici sopra o sotto la partitura, abbiamo bisogno della notazione
3177 proporzionale. Per attivarla si usa l'impostazione proportionalNotationDuration.
3179 @lilypond[quote,verbatim,ragged-right]
3182 \new RhythmicStaff {
3183 c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
3189 proportionalNotationDuration = #(ly:make-moment 1/20)
3195 La minima all'inizio della misura e le note più veloci nella seconda
3196 metà della misura ora occupano la stessa quantità di spazio orizzontale.
3197 Potremmo inserire una linea del tempo con tacche o un'immagine
3198 grafica sopra o sotto questo esempio.
3200 L'impostazione @code{proportionalNotationDuration} è un'impostazione di
3201 contesto che si trova in @code{Score}. Ricordiamo che le impostazioni di
3202 contesto possono apparire in tre luoghi del file di input: in un blocco
3203 @code{\with}, in un blocco @code{\context} o direttamente in mezzo alle
3204 note preceduta dal comando @code{\set}. Come per tutte le impostazioni di
3205 contesto, l'utente può scegliere in quale di questi tre luoghi impostare
3206 @code{proportionalNotationDuration}.
3208 L'impostazione @code{proportionalNotationDuration} prende un solo argomento,
3209 che è la durata di riferimento in base alla quale tutta la musica verrà
3210 spaziata. La funzione Scheme di LilyPond @code{make-moment} prende due
3211 argomenti: un numeratore e un denominatore che insieme esprimono una qualche
3212 frazione di una nota intera. La funzione di chiamata @code{(ly:make-moment 1/20)}
3213 produce quindi una durata di riferimento di un ventesimo di nota. Sono ammessi
3214 anche valori come @code{(ly:make-moment 1/16)}, @code{(ly:make-moment 1/8)} e
3215 @code{(ly:make-moment 3/97)}.
3217 Come scegliamo la durata di riferimento corretta da passare a
3218 @code{proportionalNotationDuration}? Solitamente attraverso un processo di
3219 prova e errore, iniziando con una durata vicina alla più veloce (o piccola)
3220 durata del brano. Durate di riferimento più piccole determinano una spaziatura
3221 della musica più larga; quelle più grandi causano una spaziatura più stretta.
3223 @lilypond[quote,verbatim,ragged-right]
3226 \new RhythmicStaff {
3227 c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
3233 proportionalNotationDuration = #(ly:make-moment 1/8)
3240 \new RhythmicStaff {
3241 c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
3247 proportionalNotationDuration = #(ly:make-moment 1/16)
3254 \new RhythmicStaff {
3255 c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
3261 proportionalNotationDuration = #(ly:make-moment 1/32)
3267 Nota che una durata di riferimento troppo grande -- come la nota di
3268 un ottavo, sopra -- determina una spaziatura della musica troppo stretta
3269 e può causare collisioni tra le teste di nota. Fare attenzione anche al
3270 fatto che la notazione proporzionale in generale occupa più spazio orizzontale
3271 della spaziatura classica. Insomma, la spaziatura proporzionale fornisce
3272 chiarezza ritmica al costo dello spazio orizzontale.
3274 Ora vediamo come spaziare in modo ottimale i gruppi irregolari sovrapposti.
3276 Iniziamo esaminando cosa succede al nostro esempio di partenza, con la
3277 spaziatura classica, quando aggiungiamo un secondo rigo con un diverso
3278 tipo di gruppo irregolare.
3280 @lilypond[quote,verbatim,ragged-right]
3283 \new RhythmicStaff {
3284 c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
3286 \new RhythmicStaff {
3287 \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 }
3293 La spaziatura è pessima perché le note del rigo inferiore spaziate a distanze
3294 uguali non si allungano in modo uniforme. Le incisioni classiche contengono
3295 pochissime terzine complesse e quindi le regole di incisione classica possono
3296 generare questo tipo di risultato. Impostando @code{proportionalNotationDuration}
3299 @lilypond[quote,verbatim,ragged-right]
3302 \new RhythmicStaff {
3303 c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
3305 \new RhythmicStaff {
3306 \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 }
3312 proportionalNotationDuration = #(ly:make-moment 1/20)
3318 Ma se osserviamo con attenzione possiamo vedere che le note della seconda
3319 metà della nonina hanno una spaziatura leggermente più larga delle note
3320 della prima parte della nonina. Per assicurare un allungamento uniforme,
3321 attiviamo @code{uniform-stretching}, una proprietà di
3322 @code{SpacingSpanner}.
3324 @lilypond[quote,verbatim,ragged-right]
3327 \new RhythmicStaff {
3328 c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
3330 \new RhythmicStaff {
3331 \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 }
3337 proportionalNotationDuration = #(ly:make-moment 1/20)
3338 \override SpacingSpanner.uniform-stretching = ##t
3344 Il nostro esempio di due righi ora ha una spaziatura esatta, le relazioni
3345 ritmiche sono visivamente chiare e possiamo includere una linea del tempo
3346 con tacche o altro elemento grafico, se lo vogliamo.
3348 Nota che la notazione proporzionale di LilyPond si aspetta che tutte le
3349 partiture proporzionali impostino l'attributo 'uniform-stretching di
3350 SpacingSpanner su @code{##t}. Impostare proportionalNotationDuration senza
3351 impostare anche l'attributo 'uniform-stretching di SpacingSpanner su
3352 @code{##t} farà sì, per esempio, che le pause invisibili occupino una quantità
3353 scorretta di spazio orizzontale.
3355 SpacingSpanner è un grob astratto che si trova nel contesto Score.
3356 Come per le impostazioni di proportionalNotationDuration, le modifiche
3357 @code{\override} a SpacingSpanner si possono trovare in uno dei tre diversi
3358 punti del file di input – nel blocco \with del brano, nel blocco \context
3359 del brano o direttamente in mezzo alle note.
3361 Per impostazione predefinita, esiste un solo @code{SpacingSpanner} per
3362 @code{Score}. Ciò significa che @code{uniform-stretching} è attivato o
3363 disattivato per l'intera partitura. Possiamo tuttavia modificare tale
3364 comportamento e attivare diverse funzionalità di spaziatura in punti
3365 diversi del brano. Per farlo si usa il comando @code{\newSpacingSection}.
3366 Maggiori informazioni in @ref{New spacing section}.
3368 Ora esaminiamo gli effetti dell'incisore @code{Separating_line_group_engraver} e
3369 vediamo perché le partiture proporzionali solitamente tolgano questo incisore.
3370 L'esempio seguente mostra che c'è un piccolo spazio @qq{introduttivo} proprio
3371 prima della prima nota di ogni sistema.
3373 @lilypond[quote,verbatim,ragged-right]
3386 L'ampiezza di questo spazio introduttivo è la stessa sia dopo un'indicazione di
3387 tempo che dopo un'armatura di chiave o una chiave.
3388 È l'incisore @code{Separating_line_group_engraver} a causare questo spazio.
3389 Togliendolo lo spazio diventa zero.
3391 @lilypond[quote,verbatim,ragged-right]
3397 \remove "Separating_line_group_engraver"
3405 Nella notazione proporzionale gli elementi non musicali come le indicazioni di
3406 tempo, le armature di chiave, le chiavi e le alterazioni sono problematiche.
3407 Nessuna di queste infatti ha una durata ritmica, ma tutte occupano spazio
3408 orizzontale. Questi problemi sono affrontati diversamente dalle varie
3409 partiture proporzionali.
3411 È possibile evitare i problemi di spaziatura dovuti alle armature di
3412 chiave semplicemente omettendole. Questa è un'opzione valida dato che
3413 la maggior parte delle partiture proporzionali sono di musica contemporanea.
3414 Lo stesso potrebbe valere per le indicazioni di tempo, specialmente per quelle
3415 partiture che includono una linea del tempo o altri elementi grafici. Ma queste
3416 partiture sono un'eccezione e la maggior parte delle partiture proporzionali
3417 hanno almeno qualche indicazione di tempo. Le chiavi e le alterazioni sono
3418 ancora più fondamentali.
3420 Dunque quali strategie adottare per spaziare elementi non musicali nel contesto
3421 di musica proporzionale? Una valida opzione è la proprietà @code{strict-note-spacing}
3422 di @code{SpacingSpanner}. Confrontiamo i seguenti due righi:
3424 @lilypond[quote,verbatim,ragged-right]
3426 \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
3427 c''8 8 8 \clef alto d'2 2
3431 \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
3432 \override Score.SpacingSpanner.strict-note-spacing = ##t
3433 c''8 8 8 \clef alto d'2 2
3437 Entrambi sono proporzionali, ma la spaziatura del primo è troppo
3438 larga a causa del cambio di chiave. La spaziatura del secondo
3439 resta invece stretta, perché è attivato strict-note-spacing.
3440 Attivando strict-note-spacing, la larghezza di indicazioni di tempo,
3441 armature di chiave, chiavi e alterazioni non ha alcun ruolo
3442 nell'algoritmo di spaziatura.
3444 Oltre alle impostazioni che abbiamo visto, ce ne sono altre che appaiono
3445 frequentemente nelle partiture proporzionali, tra cui:
3448 @item @code{\override SpacingSpanner.strict-grace-spacing = ##t}
3449 @item @code{\set tupletFullLength = ##t}
3450 @item @code{\override Beam.breakable = ##t}
3451 @item @code{\override Glissando.breakable = ##t}
3452 @item @code{\override TextSpanner.breakable = ##t}
3453 @item @code{\remove "Forbid_line_break_engraver" nel contesto Voice}
3456 Queste impostazioni spaziano in modo conciso gli abbellimenti, estendono le
3457 parentesi dei gruppi irregolari per contrassegnare i punti di inizio e di
3458 fine del ritmo, e permettono agli elementi che si estendono orizzontalmente
3459 di andare oltre i sistemi e le pagine. Consultare le sezioni del manuale
3460 per queste impostazioni.
3463 Guida alla notazione:
3464 @ref{New spacing section}.
3470 @node Riduzione del numero di pagine di una partitura
3471 @section Riduzione del numero di pagine di una partitura
3472 @translationof Fitting music onto fewer pages
3474 Talvolta può capitare di avere uno o due righi su una seconda
3475 (o terza, o quarta@dots{}) pagina. Ciò è fastidioso, specialmente
3476 se c'è molto spazio nelle pagine precedenti.
3478 Quando si studiano i problemi di formattazione, uno strumento irrinunciabile
3479 è @code{annotate-spacing}, un comando che mostra i valori delle diverse
3480 variabili di spaziatura. Maggiori dettagli nella prossima sezione,
3481 @ref{Displaying spacing}.
3484 * Visualizzare la spaziatura::
3485 * Modificare la spaziatura::
3489 @node Visualizzare la spaziatura
3490 @subsection Visualizzare la spaziatura
3491 @translationof Displaying spacing
3493 @funindex annotate-spacing
3494 @cindex spaziatura, visualizzazione della formattazione
3496 Per visualizzare graficamente le dimensioni delle varibili della formattazione
3497 verticale che possono essere modificate per formattare la pagina, impostare
3498 @code{annotate-spacing} nel blocco @code{\paper}:
3500 @lilypond[verbatim,quote,papersize=a6landscape]
3503 \paper { annotate-spacing = ##t }
3509 Tutte le dimensioni della formattazione sono visualizzate in spazi rigo,
3510 indipendentemente dalle unità di misura specificate nei blocchi
3511 @code{\paper} o @code{\layout}. Nell'esempio qui sopra, l'altezza
3512 del foglio (@code{paper-height}) ha un valore di 59.75 spazi
3513 rigo (@code{staff-space}), e la dimensione del rigo (@code{staff-size}) è
3514 pari a 20 punti (il valore predefinito). Nota che:
3516 @multitable {1 staff-space} {staff-size)/4 * (25.4/72.27) mm}
3519 @tab = (25.4/72.27) mm
3522 @tab = (@code{staff-size})/4 pts
3524 @tab = (@code{staff-size})/4 * (25.4/72.27) mm
3529 In questo caso, uno @code{staff-space} è uguale all'incirca a
3530 1.757mm. Dunque i 59.75 @code{staff-space} di @code{paper-height}
3531 corrispondono a 105 millimetri, pari all'altezza del formato @code{a6}
3532 in orientamento orizzontale. Le coppie (@var{a},@var{b}) sono
3533 intervalli, dove @var{a} è l'estremo inferiore e @var{b} l'estremo
3534 superiore dell'intervallo.
3537 Guida alla notazione:
3538 @ref{Setting the staff size}.
3544 @node Modificare la spaziatura
3545 @subsection Modificare la spaziatura
3546 @translationof Changing spacing
3548 L'output di @code{annotate-spacing} svela le dimensioni verticali molto
3549 dettagliatamente. Maggiori informazioni su come modificare i margini e
3550 altre variabili di formattazione si trovano in @ref{Page layout}.
3552 Oltre ai margini, ci sono altre opzioni utili per salvare spazio:
3556 Forzare i sistemi perché si avvicinino il più possibile (per far
3557 entrare più sistemi possibile in una pagina) mentre sono spaziati in
3558 modo da non lasciare spazio bianco in fondo alla pagina.
3562 system-system-spacing = #'((basic-distance . 0.1) (padding . 0))
3563 ragged-last-bottom = ##f
3569 Forzare il numero dei sistemi. Ciò può essere utile in due modi. Il
3570 semplice impostare un valore, persino lo stesso valore del numero di
3571 sistemi disposti senza modificare la variabile, può far sì che più
3572 sistemi riescano a entrare in ogni pagina, perché viene saltato il
3573 passaggio di valutazione, dando un valore più adatto per ogni pagina.
3574 Inoltre, forzare davvero una riduzione nel numero di sistemi può far
3575 risparmiare un'ulteriore pagina. Per esempio, se la formattazione
3576 predefinita ha 11 sistemi, la seguente impostazione forzerà la
3577 formattazione con 10 sistemi.
3586 Forzare il numero delle pagine. Per esempio, la seguente impostazione
3587 forzerà la formattazione in due pagine.
3596 Evitare (o ridurre) gli oggetti che aumentano la dimensione verticale di
3597 un sistema. Per esempio, le parentesi delle volte per i finali alternativi
3598 richiedono ulteriore spazio. Se questi finali si estendono per due sistemi,
3599 occupano più spazio che se fossero sullo stesso sistema. Altro esempio: le
3600 dinamiche che @qq{spuntano fuori} da un sistema possono essere avvicinate al
3603 @lilypond[verbatim,quote]
3606 e4 c g-\tweak X-offset #-2.7 \f c
3611 Modificare la spaziatura orizzontale tramite @code{SpacingSpanner}. Maggiori
3612 informazioni in @ref{Changing horizontal spacing}. L'esempio seguente mostra
3613 la spaziatura predefinita:
3615 @lilypond[verbatim,quote]
3628 L'esempio successivo modifica @code{common-shortest-duration} da un
3629 valore di @code{1/4} a uno di @code{1/2}. La nota di un quarto è la
3630 durata più comune e più breve in questo esempio, dunque rendendola più
3631 lunga si verifica un effetto @qq{compressione}:
3633 @lilypond[verbatim,quote]
3645 \override SpacingSpanner.common-shortest-duration =
3646 #(ly:make-moment 1/2)
3653 La proprietà @code{common-shortest-duration} non può essere modificata in
3654 modo dinamico, quindi deve essere sempre posta in un blocco @code{\context}
3655 così che sia applicata all'intera partitura.
3660 Guida alla notazione:
3662 @ref{Changing horizontal spacing}.