]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/it/usage/running.itely
Doc-it: update Notation and Usage manual
[lilypond.git] / Documentation / it / usage / running.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
2
3 @ignore
4     Translation of GIT committish: 6ea18ce2f407ee754947a4fa18596bb38c8087f5
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  For details, see the Contributors'
8     Guide, node Updating translation committishes..
9 @end ignore
10
11 @c \version "2.17.6"
12
13
14 @node Eseguire lilypond
15 @chapter Eseguire @command{lilypond}
16 @translationof Running LilyPond
17
18 Questo capitolo descrive dettagliatamente gli aspetti tecnici dell'esecuzione
19 di LilyPond.
20
21 @menu
22 * Uso normale::
23 * Uso da linea di comando::
24 * Messaggi di errore::
25 * Errori comuni::
26 @end menu
27
28
29 @node Uso normale
30 @section Uso normale
31 @translationof Normal usage
32
33 La maggior parte degli utenti esegue LilyPond attraverso un'interfaccia grafica
34 (GUI); se non lo hai già fatto, leggi il @rlearning{Tutorial}.  Se usi un editor
35 diverso per scrivere i file lilypond, leggi la documentazione di quel programma.
36
37
38 @node Uso da linea di comando
39 @section Uso da linea di comando
40 @translationof Command-line usage
41
42 Questa sezione contiene informazioni aggiuntive sull'uso di LilyPond da linea
43 di comando.  Questo può essere utile per assegnare opzioni aggiuntive al programma.
44 Inoltre, ci sono alcuni programmi complementari di @q{aiuto} (come
45 @code{midi2ly}) che funzionano solo da linea di comando.
46
47 Con @q{linea di comando} si intende la linea di comando del sistema operativo.
48 Gli utenti Windows avranno più familiarità con i termini @q{shell DOS} o
49 @q{shell dei comandi}.  Gli utenti MacOS@tie{}X avranno più familiarità con i termini
50 @q{terminale} o @q{console}.  Una configurazione ulteriore è necessaria
51 per gli utenti MacOS@tie{}X; si veda @rweb{MacOS X}.
52
53 Descrivere come usare questa parte di un sistema operativo non rientra negli
54 obiettivi di questo manuale; si prega di consultare altra documentazione su
55 questo argomento se non si conosce la linea di comando.
56
57 @menu
58 * Utilizzo di LilyPond::
59 * Opzioni di base della linea di comando per LilyPond::
60 * Opzioni avanzate della linea di comando per LilyPond::
61 * Variabili d'ambiente::
62 * LilyPond in una gabbia chroot::
63 @end menu
64
65 @node Utilizzo di LilyPond
66 @unnumberedsubsec Utilizzo di @command{lilypond}
67 @translationof Invoking LilyPond
68
69 L'eseguibile @command{lilypond} può essere lanciato dalla linea di comando
70 nel seguente modo.
71
72 @example
73 lilypond [@var{opzione}]@dots{} @var{file}@dots{}
74 @end example
75
76
77 Se invocato con un nome di file senza estensione, viene tentata per prima
78 l'estensione @file{.ly}.  Per leggere l'input da stdin, usare un
79 trattino (@code{-}) al posto di @var{file}.
80
81 Quando @file{file.ly} viene elaborato, lilypond creerà @file{file.ps}
82 e @file{file.pdf} come output.  Possono essere specificati molti file;
83 ognuno di essi sarà elaborato in modo indipendente.  @footnote{Lo status di
84 GUILE non viene resettato dopo l'elaborazione di un file @code{.ly}:
85 attenzione a non cambiare alcun valore predefinito dall'interno di Scheme.}
86
87 Se @file{file.ly} contiene più di un blocco @code{\book}, allora tutte le altre
88 partiture verranno salvate in file numerati, a partire da @file{file-1.pdf}.  Inoltre,
89 il valore di @code{output-suffix} (suffisso di output) sarà inserito tra la base
90 del nome del file e il numero.  Un file di input che contiene
91
92 @example
93 #(define output-suffix "violin")
94 \score @{ @dots{} @}
95 #(define output-suffix "cello")
96 \score @{ @dots{} @}
97 @end example
98
99 @noindent
100 produrrà come output @var{base}@file{-violin.pdf} e
101 @var{base}@file{-cello-1.pdf}.
102
103
104 @unnumberedsubsubsec Usare LilyPond con funzionalità standard della shell
105
106 Dato che LilyPond è un'applicazione a linea di comando, si possono sfruttare
107 le funzionalità della @q{shell} usata per lanciare LilyPond.
108
109 Per esempio:
110
111 @example
112 lilypond *.ly
113 @end example
114
115 @noindent
116 elaborerà tutti i file LilyPond nella directory corrente.
117
118 Potrebbe essere utile anche redirigere l'output della console (per esempio
119 in un file):
120
121 @example
122 lilypond file.ly 1> stdout.txt
123
124 lilypond file.ly 2> stderr.txt
125
126 lilypond file.ly &> all.txt
127 @end example
128
129 @noindent
130 Questi tre comandi redirigono rispettivamente l'output @q{normale}, gli
131 @q{errori} o @q{tutto} in un file di testo.  Consulta la documentazione
132 della tua shell, del prompt dei comandi (Windows), delle applicazioni
133 Terminale o Console (MacOS X), per vedere se la redirezione dell'output
134 è supportata o se la sintassi è diversa.
135
136 L'esempio seguente cerca e elabora tutti i file di input nella directory
137 corrente e in tutte le directory inferiori ricorsivamente.  I file di output
138 saranno salvati nella stessa directory in cui è stato lanciato il comando,
139 invece delle stesse directory in cui si trovano i file di input.
140
141 @example
142 find . -name '*.ly' -exec lilypond '@{@}' \;
143 @end example
144
145 @noindent
146 Questo comando dovrebbe funzionare anche in MacOS@tie{}X.
147
148 Gli utenti Windows devono lanciare questo comando:
149
150 @example
151 forfiles /s /M *.ly /c "cmd /c lilypond @@file"
152 @end example
153
154 @noindent
155 nel @code{prompt dei comandi}, che di solito si trova in
156 @code{Avvio > Accessori > Prompt dei comandi}, oppure, se si usa la
157 versione 8, scrivendo @q{prompt dei comandi} nella finestra di ricerca.
158
159 Altrimenti, si può indicare un percorso esplicito alla cartella che
160 contiene tutte le sottocartelle con i file di input tramite l'opzione
161 @code{/p}:
162
163 @example
164 forfiles /s /p C:\Documents\MyScores /M *.ly /c "cmd /c lilypond @@file"
165 @end example
166
167 Tale percorso, se contiene spazi, deve essere racchiuso tra
168 virgolette doppie:
169
170 @example
171 forfiles /s /p "C:\Documents\My Scores" /M *.ly /c "cmd /c lilypond @@file"
172 @end example
173
174
175 @node Opzioni di base della linea di comando per LilyPond
176 @unnumberedsubsec Opzioni di base della linea di comando per LilyPond
177 @translationof Basic command line options for LilyPond
178
179 @cindex Utilizzo di @command{lilypond}
180 @cindex opzioni della linea di comando per @command{lilypond}
181 @cindex linea di comando, opzioni di
182 @cindex switch
183
184 Sono contemplate le seguenti opzioni:
185
186 @table @code
187
188 @item -b, --bigpdfs
189 @cindex bigpdfs
190
191 I file PDF generati saranno molto più grandi del normale (a causa
192 di un'ottimizzazione dei tipi di carattere scarsa o assente). Tuttavia,
193 due o più file PDF, se inclusi in documenti @w{@code{pdftex}},
194 @w{@code{xetex}} o @w{@code{luatex}}, possono essere ulteriormente
195 elaborati attraverso ghostscript (rimuovendo le duplicazioni dei dati
196 dei tipi di carattere), ottenendo così file PDF @emph{molto} più piccoli.
197
198 @example
199 lilypond -b myfile
200 @end example
201
202 Poi eseguire @code{ghostscript};
203
204 @example
205 gs -q -sDEVICE=pdfwrite -o gsout.pdf myfile.pdf
206 @end example
207
208 Poi si può usare @code{pdfsizeopt.py} per ottimizzare ulteriormente la
209 dimensione del file;
210
211 @example
212 pdfsizeopt.py --use-multivalent=no gsout.pdf final.pdf
213 @end example
214
215 @item -d, --define-default=@var{variabile}=@var{valore}
216 Si veda @ref{Advanced command line options for LilyPond}.
217
218 @cindex Scheme, valutazione dell'espressione
219 @cindex valutazione dell'espressione, Scheme
220
221 @item -e, --evaluate=@var{espressione}
222 Valuta l'@var{espressione} di Scheme prima di analizzare qualsiasi file @file{.ly}.
223 Si possono specificare varie opzioni @option{-e}; saranno analizzate in modo
224 sequenziale.
225
226 L'espressione sarà analizzata nel modulo @code{guile-user}, dunque se vuoi
227 usare delle definizioni in @var{espressione}, usa
228
229 @example
230 lilypond -e '(define-public a 42)'
231 @end example
232
233 @noindent
234 nella linea di comando, e includi
235
236 @example
237 #(use-modules (guile-user))
238 @end example
239
240 @noindent
241 in cima al file @code{.ly}.
242
243 @warning{Gli utenti Windows devono usare i doppi apici invece dei singoli apici.}
244
245 @cindex output, formato
246 @cindex formato, output
247
248 @item -f, --format=@var{formato}
249 Formati di output.  Come @code{formato} si può scegliere tra
250 @code{ps}, @code{pdf} e @code{png}.
251
252 Esempio: @code{lilypond -fpng @var{file}.ly}
253
254 @item -h, --help
255 Mostra una sintesi dell'utilizzo.
256
257 @item -H, --header=@var{CAMPO}
258 Estrae un campo dell'intestazione nel file @file{NOME.@var{CAMPO}}.
259
260 @item -i, --init=@var{file}
261 Imposta il file di inizializzazione su @var{file} (predefinito: @file{init.ly}).
262
263 @cindex ricerca dei file
264 @cindex percorso di ricerca
265
266 @item -I, --include=@var{directory}
267
268 È possibile assegnare più opzioni -I.  La ricerca inizierà nella prima
269 Aggiunge @var{directory} al percorso di ricerca per i file di input.
270 directory definita, e se il file da includere non viene trovato
271 la ricerca continuerà nelle directory seguenti.
272
273 @cindex gabbia chroot, esecuzione all'interno di
274
275 @item -j, --jail=@var{utente},@var{gruppo},@var{gabbia},@var{directory}
276 Esegue @command{lilypond} in una gabbia chroot.
277
278 L'opzione @option{--jail} fornisce un'alternativa più flessibile a
279 @option{--safe} quando la formattazione di LilyPond è messa a disposizione attraverso
280 un server web o quando LilyPond esegue sorgenti provenienti dall'esterno
281 (si veda @ref{Advanced command line options for LilyPond}).
282
283 L'opzione @option{--jail} modifica la radice di @command{lilypond} in
284 @var{gabbia} appena prima di iniziare il vero processo di compilazione.  L'utente
285 e il gruppo vengono poi modificati per corrispondere a quelli forniti, e la
286 directory corrente viene spostata in @var{directory}.  Questa configurazione
287 garantisce che non sia possibile (almeno in teoria) uscire dalla gabbia.  Si noti
288 che perché @option{--jail} funzioni @command{lilypond} deve essere eseguito come root;
289 di solito questo si fa in modo sicuro col comando @command{sudo}.
290
291 Configurare una gabbia è una questione un po' delicata, perché bisogna essere
292 sicuri che LilyPond possa trovare tutto quello di cui ha bisogno per compilare il
293 sorgente @emph{dentro la gabbia}.  Una configurazione tipica comprende i seguenti
294 elementi:
295
296 @table @asis
297
298 @item Impostare un filesystem distinto
299 Si dovrebbe creare un filesystem separato LilyPond, così che possa essere
300 montato con opzioni di sicurezza come @code{noexec}, @code{nodev}, e
301 @code{nosuid}.  In questo modo è impossibile lanciare degli eseguibili o
302 scrivere su un dispositivo direttamente da LilyPond.  Se non si vuole creare
303 una partizione separata, si può creare un file di dimensioni ragionevoli e usarlo
304 per montare un dispositivo di loop.  Un filesystem separato garantisce inoltre
305 che LilyPond non possa scrivere su uno spazio maggiore di quanto permesso.
306
307 @item Impostare un altro utente
308 Per eseguire LilyPond in una gabbia si dovrebbe usare un altro utente e gruppo
309 (ad esempio, @code{lily}/@code{lily}) con pochi privilegi.  Ci dovrebbe essere
310 una sola directory scrivibile da questo utente, che dovrebbe essere passata in
311 @var{dir}.
312
313 @item Preparare la gabbia
314 LilyPond ha bisogno di leggere alcuni file quando viene lanciato.  Tutti questi
315 file devono essere copiati nella gabbia, sotto lo stesso percorso in cui appaiono
316 nel vero filesystem principale.  Si deve copiare l'intero contenuto dell'installazione
317 LilyPond (ad esempio, @file{/usr/share/lilypond}).
318
319 Se c'è un problema, il modo più semplice per individuarlo è lanciare
320 LilyPond usando @command{strace}, che permetterà di scoprire quali
321 file mancano.
322
323 @item Eseguire LilyPond
324 In una gabbia montata con @code{noexec} è impossibile eseguire qualsiasi
325 programma esterno.  Dunque LilyPond deve essere eseguito con un backend che
326 non richieda tale programma.  Come è già stato detto, deve essere eseguito
327 con privilegi di superutente (che ovviamente perderà immediatamente),
328 possibilmente con l'uso di @command{sudo}.  È una buona idea limitare il
329 numero di secondi di tempo della CPU che LilyPond può usare (ad esempio con
330 @command{ulimit -t}), e, se il sistema operativo lo permette, la quantità di
331 memoria che può essere allocata.  Si veda anche @ref{LilyPond in chroot jail}.
332 @end table
333
334 @cindex loglevel
335 @cindex output dettagliato
336
337 @item -l, --loglevel=@var{LIVELLO}
338 Imposta la verbosità dell'output della console su @var{LIVELLO}. I valori possibili sono:
339 @table @code
340
341 @item NONE
342 Nessun output, nemmeno i messaggi di errore.
343
344 @item ERROR
345 Solo i messaggi di errore, niente avvisi o messaggi di elaborazione.
346
347 @item WARN
348 Avvisi e messaggi di errore, nessun messaggio di elaborazione.
349
350 @item BASIC_PROGRESS
351 Messaggi di elaborazione di base (riuscita), avvisi e errori.
352
353 @item PROGRESS
354 Tutti i messaggi di elaborazione, avvisi e errori.
355
356 @item INFO (predefinito)
357 Messaggi di elaborazione, avvisi, errori e ulteriori informazioni di esecuzione.
358
359 @item DEBUG
360 Tutti i messaggi possibili, incluso l'output verboso di debug.
361
362 @end table
363
364 @cindex directory, dirigere l'output in
365 @cindex output, impostare il nome del file
366 @cindex output, directory
367
368 @item -o, --output=@var{FILE} o @var{CARTELLA}
369 Imposta il file di output predefinito @var{FILE} oppure, se una cartella con
370 quel nome esiste già, dirige l'output in @var{CARTELLA}, prendendo il nome
371 del file dal file di input.  In entrambi i casi verrà aggiunto il suffisso
372 appropriato (ad esempio @code{.pdf} per il pdf).
373
374 @cindex PS (Postscript), output
375 @cindex Postscript (PS), output
376 @cindex output, PS (Postscript)
377
378 @item --ps
379 Genera PostScript.
380
381 @cindex PNG (Portable Network Graphics), output
382 @cindex output, PNG (Portable Network Graphics)
383
384 @item --png
385 Genera immagini di ogni pagina in formato PNG.  Questo implica
386 @option{--ps}.  La risoluzione in DPI dell'immagine può essere impostata con
387 @example
388 -dresolution=110
389 @end example
390
391 @cindex PDF (Portable Document Format), output
392 @cindex output, PDF (Portable Document Format)
393
394 @item --pdf
395 Genera PDF.  Questo implica @option{--ps}.
396
397 @item -v, --version
398 Mostra informazioni sulla versione.
399
400 @item -V, --verbose
401 Aumenta la prolissità: mostra i percorsi completi di tutti i file letti e dà
402 informazioni sui tempi.
403
404 @item -w, --warranty
405 Mostra la garanzia con cui viene distribuito GNU LilyPond.  (Distribuito
406 con @strong{NESSUNA GARANZIA}!)
407
408 @end table
409
410
411 @node Opzioni avanzate della linea di comando per LilyPond
412 @unnumberedsubsec Opzioni avanzate della linea di comando per @command{lilypond}
413 @translationof Advanced command line options for LilyPond
414
415 @table @code
416
417 @item -d@var{[nome-opzione]}=@var{[valore]},--define-default=@var{[nome-opzione]}=@var{[valore]}
418 Imposta l'equivalente funzione interna di Scheme su @var{valore}.
419
420 @example
421 -dbackend=svg
422 @end example
423
424 Se non viene specificato un @var{valore}, viene usato il valore
425 predefinito.  Per disabilitare un'opzione, si può usare il
426 prefisso @code{no-} prima di @var{nome-opzione}, ad esempio
427
428 @cindex punta e clicca, linea di comando
429
430 @example
431 -dpoint-and-click=#f
432 @end example
433
434 @noindent
435 è equivalente a
436 @example
437 -dno-point-and-click
438 @end example
439 @end table
440
441 @noindent Sono supportate le seguenti opzioni insieme ai loro rispettivi
442 valori predefiniti:
443
444 @multitable @columnfractions .33 .16 .51
445 @item @strong{Simbolo}
446 @tab @strong{Valore}
447 @tab @strong{Spiegazione/Opzioni}
448
449 @item @code{anti-alias-factor}
450 @tab @code{1}
451 @tab Elabora a una risoluzione più alta (usando un certo fattore) e ridimensiona
452 il risultato per evitare gli @q{artefatti} nelle immagini @code{PNG}.
453
454 @item @code{aux-files}
455 @tab @code{#t}
456 @tab Crea i file @code{.tex}, @code{.texi}, @code{.count} nel backend
457 @code{EPS}.
458
459 @item @code{backend}
460 @tab @code{ps}
461 @tab Seleziona il backend.  I file Postscript (predefinito) includono i tipi di
462 carattere @code{TTF}, @code{Type1} e @code{OTF}.  Non vengono inclusi i sottoinsiemi
463 di questi tipi.  Se si usa un set di caratteri @q{orientali}, si possono ottenere
464 file di grosse dimensioni.
465
466 @item
467 @tab @code{eps}
468 @tab Encapsulated PostScript.  Invia ogni pagina (sistema) in un file
469 @file{EPS} separato, senza font, e in un unico file @file{EPS} con
470 tutte le pagine (sistemi) inclusi i font.  Questa è la modalità
471 predefinita di @command{lilypond-book}.
472
473 @item
474 @tab @code{null}
475 @tab non produce la stampa della partitura; ha lo stesso
476 effetto di @code{-dno-print-pages}.
477
478 @item
479 @tab @code{scm}
480 @tab Estrae i comandi di disegno grezzi e interni, basati su Scheme.
481
482 @item
483 @tab @code{svg}
484 @tab Scalable Vector Graphics.
485 Crea un singolo file SVG per ogni pagina dell'output.
486 L'informazione relativa ai tipi di carattere non è incorporata, dunque
487 il lettore SVG dovrà avere accesso ai tipi di carattere per avere una
488 resa ottimale.
489 Si raccomanda di non usare gli @q{alias} o le @q{liste} dei tipi di carattere
490 se il proprio lettore SVG non è in grado di gestirli.  Consultare anche
491 l'opzione @code{svg-woff}.
492 @end multitable
493
494 @noindent
495 @strong{Nota per il backend svg:}
496 I tipi di carattere predefiniti di LilyPond (@code{LilyPond Serif},
497 @code{LilyPond Sans Serif} e @code{LilyPond Monospace}) sono solo alias
498 @emph{locali}; dunque quando si usa il backend @code{svg} è obbligatorio
499 impostare esplicitamente i tipi di carattere predefiniti;
500
501 @quotation
502 @verbatim
503 \paper  {
504   #(define fonts
505     (make-pango-font-tree "TeX Gyre Schola"
506                           "TeX Gyre Heros"
507                           "TeX Gyre Cursor"
508                           (/ staff-height pt 20)))
509 }
510 @end verbatim
511 @end quotation
512
513 Leggere anche @ruser{Entire document fonts}.
514
515 @multitable @columnfractions .33 .16 .51
516
517 @item @code{check-internal-types}
518 @tab @code{#f}
519 @tab Controlla l'assegnazione di ogni proprietà per i tipi.
520
521 @item @code{clip-systems}
522 @tab @code{#f}
523 @tab Estrae frammenti musicali da una partitura.  Per far ciò è necessario
524 che sia stata definita la funzione @code{clip-regions} all'interno del blocco
525 @code{\layout}.  Maggiori informazioni in @ruser{Extracting fragments of music}.
526 Nessun frammento verrà estratto se questa opzione è usata insieme
527 all'opzione @option{-dno-print-pages}.
528
529 @item @code{datadir}
530 @tab
531 @tab Prefisso per i file di dati (sola lettura).
532
533 @item @code{debug-gc}
534 @tab @code{#f}
535 @tab Scarica le statistiche sul debug della memoria.
536
537 @item @code{debug-gc-assert-parsed-dead}
538 @tab @code{#f}
539 @tab Per il debug della memoria: Assicura che tutti i riferimenti agli oggetti
540 analizzati siano eliminati. Questa è un'opzione interna e viene abilitata
541 automaticamente da @code{`-ddebug-gc'}.
542
543 @item @code{debug-lexer}
544 @tab @code{#f}
545 @tab Debug dell'analizzatore lessicale flex.
546
547 @item @code{debug-page-breaking-scoring}
548 @tab @code{#f}
549 @tab Crea le partiture per diverse configurazioni di interruzione di pagina.
550
551 @item @code{debug-parser}
552 @tab @code{#f}
553 @tab Debug dell'analizzatore bison.
554
555 @item @code{debug-property-callbacks}
556 @tab @code{#f}
557 @tab Debug delle catene cicliche di callback.
558
559 @item @code{debug-skylines}
560 @tab @code{#f}
561 @tab Debug skylines.
562
563 @item @code{delete-intermediate-files}
564 @tab @code{#t}
565 @tab Cancella i file @code{.ps} intermedi e inutilizzabili creati durante
566 la compilazione.
567
568 @item @code{dump-cpu-profile}
569 @tab @code{#f}
570 @tab Scarica l'informazione sui tempi (dipendente dal sistema).
571
572 @item @code{dump-profile}
573 @tab @code{#f}
574 @tab Scarica l'informazione sulla memoria e il tempo per ogni file.
575
576 @item @code{dump-signatures}
577 @tab @code{#f}
578 @tab Scarica le firme dell'output di ogni sistema. Usato per testare le regressioni.
579
580 @item @code{eps-box-padding}
581 @tab @code{#f}
582 @tab Sposta il margine sinistro della cornice EPS dell'output della quantità
583 specificata (in mm).
584
585 @item @code{gs-load-fonts}
586 @tab @code{#f}
587 @tab Carica i font attraverso Ghostscript.
588
589 @item @code{gs-load-lily-fonts}
590 @tab @code{#f}
591 @tab Carica solo i font LilyPond attraverso Ghostscript.
592
593 @item @code{gui}
594 @tab @code{#f}
595 @tab Esegue il programma senza stampare messaggi e redirige tutto l'output in un file di log.
596 @end multitable
597
598 @noindent
599 @strong{Nota per gli utenti Windows:} Per impostazione predefinita @code{lilypond.exe}
600 stampa tutta l'informazione sull'avanzamento nella finestra dei comandi.
601 @code{lilypond-windows.exe} non lo fa e riporta un prompt, privo di
602 informazioni sull'avanzamento, subito nella linea di comando.  L'opzione
603 @option{-dgui} può essere usata in questo caso per redirigere l'output in
604 un file di log.
605
606 @multitable @columnfractions .33 .16 .51
607 @item @code{help}
608 @tab @code{#f}
609 @tab Mostra questo aiuto.
610
611 @item @code{include-book-title-preview}
612 @tab @code{#t}
613 @tab Include i titoli dei libri nelle immagini di anteprima.
614
615 @item @code{include-eps-fonts}
616 @tab @code{#t}
617 @tab Include i font in file EPS con sistemi separati.
618
619 @item @code{include-settings}
620 @tab @code{#f}
621 @tab Include il file per le impostazioni globali, questo viene incluso prima
622 che la partitura sia elaborata.
623
624 @item @code{job-count}
625 @tab @code{#f}
626 @tab Elabora in parallelo, usando il dato numero di lavori.
627
628 @item @code{log-file}
629 @tab @code{#f [file]}
630 @tab Se la stringa @code{FOO} viene assegnata come secondo argomento,
631 redirige l'output nel file @code{FOO.log}.
632
633 @item @code{max-markup-depth}
634 @tab @code{1024}
635 @tab Massima profondità per la struttura del blocco markup. Se un blocco markup ha
636 più livelli, assume che non terminerà da solo, stampa un avviso e restituisce
637 al suo posto un markup vuoto.
638
639 @item @code{midi-extension}
640 @tab @code{"midi"}
641 @tab Imposta l'estensione predefinita per il file MIDI sulla stringa specificata.
642
643 @item @code{music-strings-to-paths}
644 @tab @code{#f}
645 @tab Converte le stringhe di testo in percorsi quando i glifi appartengono a
646 un font musicale.
647
648 @item @code{paper-size}
649 @tab @code{\"a4\"}
650 @tab Imposta la dimensione predefinita del foglio.  Nota che la stringa deve
651 essere compresa tra virgolette precedute dal segno di escape.
652
653 @item @code{pixmap-format}
654 @tab @code{png16m}
655 @tab Imposta il formato di output di GhostScript per le immagini raster.
656
657 @item @code{point-and-click}
658 @tab @code{#t}
659 @tab Aggiunge i collegamenti @q{punta e clicca} all'output PDF e SVG. Si veda
660 @ref{Point and click}.
661
662 @item @code{preview}
663 @tab @code{#f}
664 @tab Crea immagini di anteprima oltre al normale output.
665 @end multitable
666
667 @noindent
668 Questa opzione è supportata da tutti i backend; @code{pdf}, @code{png},
669 @code{ps}, @code{eps} e @code{svg}, ma non @code{scm}.  Genera un file
670 di output nella forma @code{mioFile.preview.estensione}, contenente i
671 titoli e il primo sistema.  Se vengono usati i blocchi @code{\book} o
672 @code{\bookpart}, i titoli di @code{\book}, @code{\bookpart} o @code{\score}
673 appariranno nell'output, incluso il primo sistema di ogni blocco @code{\score}
674 se la variabile @code{print-all-headers} di @code{\paper} è impostata
675 su @code{#t}.
676
677 Per impedire il normale output, si usano le opzioni @option{-dprint-pages} o
678 @option{-dno-print-pages} in base alle proprie esigenze.
679
680 @multitable @columnfractions .33 .16 .51
681 @item @code{print-pages}
682 @tab @code{#t}
683 @tab Genera le pagine complete (predefinito).  @option{-dno-print-pages} è
684 utile in combinazione con @option{-dpreview}.
685
686 @item @code{profile-property-accesses}
687 @tab @code{#f}
688 @tab Mantiene una statistica delle chiamate di funzione @code{get_property()}.
689
690 @item @code{protected-scheme-parsing}
691 @tab @code{#t}
692 @tab Continua se l'analizzatore coglie degli errori nel codice scheme interno
693 al file di input. Se impostato su @code{#f}, in caso di errore si ferma e
694 mostra la traccia di stack.
695
696 @item @code{read-file-list}
697 @tab @code{#f [file]}
698 @tab Specifica il nome di un file che contiene una lista di file di input da
699 elaborare.
700
701 @item @code{relative-includes}
702 @tab @code{#f}
703 @tab Quando elabora un comando @code{\include}, cerca il file incluso
704 in posizione relativa al file corrente (invece che in posizione assoluta).
705
706 @item @code{resolution}
707 @tab @code{101}
708 @tab Imposta la risoluzione per generare immagini @code{PNG} su un certo
709 valore (in dpi).
710
711 @item @code{safe}
712 @tab @code{#f}
713 @tab Non si fida dell'input nel file @code{.ly}.
714 @end multitable
715
716 @noindent
717 Quando la formattazione di LilyPond viene messa a disposizione tramite un server
718 web, si @b{DEVE} passare l'opzione @option{--safe} o l'opzione @option{--jail}.  L'opzione
719 @option{--safe} impedirà che il codice Scheme presente nell'input possa fare uno
720 scempio, ad esempio
721
722 @quotation
723 @verbatim
724 #(s ystem "rm -rf /")  % troppo pericoloso per scriverlo correttamente
725 {
726   c4^$(ly:gulp-file "/etc/passwd") % malvagio ma non distruttivo
727 }
728 @end verbatim
729 @end quotation
730
731 L'opzione @option{-dsafe} serve a valutare le espressioni Scheme presenti nell'input
732 in uno speciale modulo di sicurezza.  Questo modulo di sicurezza è derivato dal
733 modulo GUILE @file{safe-r5rs}, ma aggiunge alcune funzioni del
734 LilyPond API.  Queste funzioni sono elencate in @file{scm/safe-lily.scm}.
735
736 Inoltre, la modalità sicura non permette le direttive @code{\include} e
737 disabilita l'uso del backslash nelle stringhe @TeX{}.  In modalità sicura,
738 non è possibile importare le variabili di LilyPond in Scheme.
739
740 @option{-dsafe} @emph{non} rileva il sovrautilizzo di risorse.  È ancora possibile
741 far sì che il programma rimanga in sospeso per un tempo indefinito, ad esempio
742 alimentando il backend con strutture di dati cicliche.  Dunque se si vuole usare
743 LilyPond su un server web pubblicamente accessibile, si deve limitare il processo
744 nell'uso della CPU e della memoria.
745
746 La modalità sicura bloccherà la compilazione di molti utili frammenti di codice
747 LilyPond.
748
749 L'opzione @option{--jail} è un'alternativa più sicura, ma richiede più lavoro
750 per configurarla.  Si veda @ref{Basic command line options for LilyPond}.
751
752 @multitable @columnfractions .33 .16 .51
753 @item @code{separate-log-files}
754 @tab @code{#f}
755 @tab Per i file di input @code{FILE1.ly}, @code{FILE2.ly}, etc. salva i dati di
756 log nei file @code{FILE1.log}, @code{FILE2.log}, @dots{}
757
758 @item @code{show-available-fonts}
759 @tab @code{#f}
760 @tab Elenca i nomi di font disponibili.
761
762 @item @code{strict-infinity-checking}
763 @tab @code{#f}
764 @tab Forza il blocco del programma quando si incontrano eccezioni @code{Inf} e
765 @code{NaN} sui numeri in virgola mobile.
766
767 @item @code{strip-output-dir}
768 @tab @code{#t}
769 @tab Non usa le directory dei file di input per costruire i nomi dei file
770 di output.
771
772 @item @code{strokeadjust}
773 @tab @code{#f}
774 @tab Forza l'aggiustamento del tratto da parte di PostScript.  Questa opzione
775 è utile quando il PDF è generato dall'output PostScript (l'aggiustamento
776 del tratto di solito è abilitato automaticamente per gli strumenti bitmap
777 a bassa risoluzione).  Senza questa opzione, i lettori PDF tendono a
778 produrre larghezze dei gambi molto variabili alle risoluzioni tipiche
779 dei monitor.  L'opzione non produce effetti visibili sulla qualità di
780 stampa e causa un notevole aumento della dimensione dei file PDF.
781
782
783 @item @code{svg-woff}
784 @tab @code{#f}
785 @tab Usa i file woff dei tipi di carattere nel backend SVG.
786 @c TODO: Paragrafo da chiarire, vedi issue 4650
787 Se si usa il file woff nel modo corretto, non è necessario installare
788 nell'ambiente del lettore SVG i tipi di carattere usati dai file SVG.
789 Tuttavia LilyPond non contiene un file woff per il testo, che è richiesto.
790
791 @item @code{trace-memory-frequency}
792 @tab @code{#f}
793 @tab Registra molte volte al secondo l'uso delle celle da parte di Scheme.  Salva i
794 risultati in @code{FILE.stacks} e @code{FILE.graph}.
795
796 @item @code{trace-scheme-coverage}
797 @tab @code{#f}
798 @tab Registra la copertura dei file Scheme in @code{FILE.cov}.
799
800 @item @code{verbose}
801 @tab @code{#f}
802 @tab Output dettagliato, ovvero livello di log DEBUG (sola lettura).
803
804 @item @code{warning-as-error}
805 @tab @code{#f}
806 @tab Trasforma tutti i messaggi di avviso e di @q{errore di programmazione} in errori.
807 @end multitable
808
809
810 @node Variabili d'ambiente
811 @unnumberedsubsec Variabili d'ambiente
812 @translationof Environment variables
813
814 @cindex LANG
815 @cindex LILYPOND_DATADIR
816
817 @command{lilypond} riconosce le seguenti variabili d'ambiente:
818 @table @code
819 @item LILYPOND_DATADIR
820 Specifica la directory predefinita in cui saranno cercati i messaggi della
821 localizzazione e i file di dati.  Questa directory deve contenere
822 sottodirectory chiamate @file{ly/}, @file{ps/}, @file{tex/}, etc.
823
824 @item LANG
825 Determina la lingua per i messaggi di avviso.
826
827 @item LILYPOND_LOGLEVEL
828 Il livello di log (loglevel) predefinito. Se LilyPond viene chiamato senza un
829 livello di log esplicito (ovvero senza l'opzione @option{--loglevel} della
830 linea di comando), viene usato questo valore.
831
832 @item LILYPOND_GC_YIELD
833 Una variabile, in forma di percentuale, che regola il modo in cui viene gestita
834 la memoria.  Con valori più alti il programma usa più memoria, con valori
835 più bassi usa più tempo della CPU.  Il valore predefinito è @code{70}.
836
837 @end table
838
839
840 @node LilyPond in una gabbia chroot
841 @unnumberedsubsec LilyPond in una gabbia chroot
842 @translationof LilyPond in chroot jail
843
844 Configurare un server perché esegua LilyPond in una gabbia chroot è un lavoro
845 complesso.  La procedura è spiegata sotto.  Gli esempi si riferiscono a
846 Ubuntu GNU/Linux e potrebbero richiedere l'uso di @code{sudo} in alcune situazioni.
847
848 @itemize
849
850 @item Installa i pacchetti necessari: LilyPond, GhostScript e ImageMagick.
851
852 @item Crea un nuovo utente dal nome @code{lily}:
853
854 @example
855 adduser lily
856 @end example
857
858 @noindent
859 Questo comando creerà anche un nuovo gruppo per l'utente @code{lily}, e una
860 cartella home,
861 @code{/home/lily}
862
863 @item Nella cartella home dell'utente @code{lily} crea un file da usare come
864 filesystem separato:
865
866 @example
867 dd if=/dev/zero of=/home/lily/loopfile bs=1k count= 200000
868 @end example
869
870 @noindent
871 In questo esempio è stato creato un file di 200MB da usare come filesystem della
872 gabbia.
873
874 @item Crea un dispositivo di loop, crea e monta un filesystem, quindi crea
875 una cartella scrivibile dall'utente @code{lily}:
876
877 @example
878 mkdir /mnt/lilyloop
879 losetup /dev/loop0 /home/lily/loopfile
880 mkfs -t ext3 /dev/loop0 200000
881 mount -t ext3 /dev/loop0 /mnt/lilyloop
882 mkdir /mnt/lilyloop/lilyhome
883 chown lily /mnt/lilyloop/lilyhome
884 @end example
885
886 @item Nella configurazione dei server, JAIL sarà @code{/mnt/lilyloop}
887 e DIR sarà @code{/lilyhome}.
888
889 @item Crea un grande albero delle directory nella gabbia copiando i file
890 necessari, come mostrato nello script di esempio più in basso.
891
892 Puoi usare @code{sed} per creare i comandi di copia necessari per un certo
893 eseguibile:
894
895 @example
896 for i in "/usr/local/lilypond/usr/bin/lilypond" "/bin/sh" "/usr/bin/;  \
897   do ldd $i | sed 's/.*=> \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\&  \
898     cp -L \/\1\2 \1\2/' | sed 's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p  \
899       \1 \&\& cp -L \/\1\2 \1\2/' | sed '/.*=>.*/d'; done
900 @end example
901
902 @end itemize
903
904 @subheading Script di esempio per Ubuntu 8.04 a 32-bit
905
906 @example
907 #!/bin/sh
908 ## defaults set here
909
910 username=lily
911 home=/home
912 loopdevice=/dev/loop0
913 jaildir=/mnt/lilyloop
914 # the prefix (without the leading slash!)
915 lilyprefix=usr/local
916 # the directory where lilypond is installed on the system
917 lilydir=/$lilyprefix/lilypond/
918
919 userhome=$home/$username
920 loopfile=$userhome/loopfile
921 adduser $username
922 dd if=/dev/zero of=$loopfile bs=1k count=200000
923 mkdir $jaildir
924 losetup $loopdevice $loopfile
925 mkfs -t ext3 $loopdevice 200000
926 mount -t ext3 $loopdevice $jaildir
927 mkdir $jaildir/lilyhome
928 chown $username $jaildir/lilyhome
929 cd $jaildir
930
931 mkdir -p bin usr/bin usr/share usr/lib usr/share/fonts $lilyprefix tmp
932 chmod a+w tmp
933
934 cp -r -L $lilydir $lilyprefix
935 cp -L /bin/sh /bin/rm bin
936 cp -L /usr/bin/convert /usr/bin/gs usr/bin
937 cp -L /usr/share/fonts/truetype usr/share/fonts
938
939 # Now the library copying magic
940 for i in "$lilydir/usr/bin/lilypond" "$lilydir/usr/bin/guile" "/bin/sh"  \
941   "/bin/rm" "/usr/bin/gs" "/usr/bin/convert"; do ldd $i | sed 's/.*=>  \
942     \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/' | sed  \
943       's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/'  \
944         | sed '/.*=>.*/d'; done | sh -s
945
946 # The shared files for ghostscript...
947       cp -L -r /usr/share/ghostscript usr/share
948 # The shared files for ImageMagick
949       cp -L -r /usr/lib/ImageMagick* usr/lib
950
951 ### Now, assuming that you have test.ly in /mnt/lilyloop/lilyhome,
952 ### you should be able to run:
953 ### Note that /$lilyprefix/bin/lilypond is a script, which sets the
954 ### LD_LIBRARY_PATH - this is crucial
955       /$lilyprefix/bin/lilypond -jlily,lily,/mnt/lilyloop,/lilyhome test.ly
956 @end example
957
958 @c " keep quote signs balanced for context-sensitive editors
959
960 @node Messaggi di errore
961 @section Messaggi di errore
962 @translationof Error messages
963
964 @cindex messaggi di errore
965 Quando si compila un file possono apparire vari messaggi di errore:
966
967 @table @emph
968
969 @item Avvertimento
970 @cindex avvertimento
971 Qualcosa appare sospetto.  Se stai cercando di fare qualcosa di insolito
972 allora comprenderai il messaggio e potrai ignorarlo.
973 Tuttavia di solito i messaggi di avvertimento indicano che il file di input ha
974 qualcosa che non va.
975
976 @item Errore
977 @cindex errore
978 C'è qualcosa di assolutamente sbagliato.  Il passo attualmente in elaborazione
979 (analisi, interpretazione o formattazione) verrà completato, ma il passo
980 successivo verrà saltato.
981
982 @item Errore fatale
983 @cindex errore fatale
984 C'è qualcosa di assolutamente sbagliato e LilyPond non può continuare.  Questo
985 accade raramente.  La causa più comune è un'errata installazione dei tipi di
986 carattere.
987
988 @item Errore Scheme
989 @cindex traccia, Scheme
990 @cindex traccia di chiamata
991 @cindex errore Scheme
992 Gli errori che capitano mentre si esegue del codice Scheme sono individuati
993 dall'interprete Scheme.  Se si esegue con l'opzione di prolissità (@code{-V} o
994 @option{--verbose}), viene stampata una traccia della chiamata di funzione
995 responsabile dell'errore.
996
997 @item Errore di programmazione
998 @cindex Errore di programmazione
999 Si è verificata una qualche incongruenza interna.  Questi messaggi di errore
1000 servono ad aiutare programmatori e debugger.  Di solito si possono
1001 ignorare.  Talvolta sono talmente numerosi da nascondere il resto
1002 dell'output.
1003
1004 @item Sospeso (core dumped)
1005 @cindex Sospeso (core dumped)
1006 Segnala un serio errore di programmazione che ha mandato in crash il
1007 programma.  Questi errori sono considerati critici.  Se ti imbatti in un
1008 errore simile, invia una segnalazione di errore.
1009 @end table
1010
1011 @cindex errori, formato del messaggio
1012 Se gli avvertimenti e gli errori possono essere collegati
1013 a una parte specifica del file di input, i messaggi di errore
1014 hanno la seguente forma
1015
1016 @example
1017 @var{file}:@var{riga}:@var{colonna}: @var{messaggio}
1018 @var{riga di input responsabile dell'errore}
1019 @end example
1020
1021 Nella riga responsabile si inserisce un a capo per indicare la colonna
1022 in cui è stato trovato l'errore.  Ad esempio,
1023
1024 @example
1025 test.ly:2:19: error: not a duration: 5
1026   @{ c'4 e'
1027            5 g' @}
1028 @end example
1029
1030 Queste posizioni indicano il punto in cui LilyPond ritiene più probabile
1031 che siano apparsi l'avvertimento o l'errore, ma (per loro
1032 stessa natura) avvertimenti ed errori capitano quando succede qualcosa
1033 di imprevisto.  Se non riesci a vedere un errore nella riga suggerita,
1034 prova a controllare una o due righe sopra la posizione indicata.
1035
1036 Attenzione: l'analisi degli errori è sempre attivata nel corso dei vari
1037 passaggi di elaborazione.  Per esempio, se ci sono parti di input che
1038 sono elaborati varie volte (es: per produrre l'output midi e quello
1039 grafico) oppure se viene usata la stessa variabile musicale in vari
1040 contesti, potrebbe apparire lo stesso messaggio molteplici volte.  Anche
1041 la diagnosi eseguita in uno degli @q{ultimi} passaggi (es: controlli di
1042 battuta) può apparire varie volte.
1043
1044 Maggiori informazioni sugli errori si trovano in @ref{Common errors}.
1045
1046
1047 @node Errori comuni
1048 @section Errori comuni
1049 @translationof Common errors
1050
1051 Le condizioni di errore descritte di seguito capitano spesso, ma la causa
1052 non è ovvia né facile da trovare.  Una volta che sono state individuate e
1053 comprese, è facile gestirle.
1054
1055
1056 @menu
1057 * La musica esce dalla pagina::
1058 * Appare un rigo in più::
1059 * Messaggio di errore Unbound variable %::
1060 * Messaggio di errore FT_Get_Glyph_Name::
1061 * Avvertimento sul fatto che le affinità del rigo devono solo diminuire::
1062 * Messaggio di errore new inaspettato::
1063 * Avviso questa voce ha bisogno di un'impostazione voiceXx o shiftXx::
1064 @end menu
1065
1066 @node La musica esce dalla pagina
1067 @unnumberedsubsec La musica esce dalla pagina
1068 @translationof Music runs off the page
1069
1070 Se la musica esce dalla pagina al di là del margine destro o appare
1071 eccessivamente compressa, quasi sempre è dovuto all'inserimento di
1072 una durata errata di una nota, che fa sì che l'ultima nota di una misura si
1073 estenda oltre la barra di divisione.  Non è sbagliato se la nota finale di
1074 una misura non termina entro la barra di divisione inserita automaticamente, perché
1075 semplicemente si assume che la nota continui nella misura successiva.  Ma se
1076 si presenta una lunga sequenza di misure simili, la musica può
1077 apparire compressa o può uscire dalla pagina perché gli a capo
1078 automatici possono essere inseriti soltanto alla fine di misure complete,
1079 ovvero quando tutte le note finiscono prima o alla fine della misura.
1080
1081 @warning{Una durata sbagliata può inibire l'interruzione di
1082 linea, portando a una linea di musica estremamente compressa o
1083 a musica che esce dalla pagina.}
1084
1085 La durata errata può essere trovata facilmente se si usano i controlli di
1086 battuta, si veda @ruser{Controlli di battuta e del numero di battuta}.
1087
1088 Se si vuole davvero ottenere una serie di tali misure sovrapposte
1089 bisogna inserire una barra di divisione invisibile nel punto in cui
1090 si desidera l'interruzione di linea.  Per i dettagli si veda
1091 @ruser{Stanghette}.
1092
1093
1094 @node Appare un rigo in più
1095 @unnumberedsubsec Appare un rigo in più
1096 @translationof An extra staff appears
1097
1098 Se i contesti non sono creati esplicitamente con @code{\new} o
1099 @code{\context}, saranno creati senza avviso appena si incontra
1100 un comando che non può essere applicato a un contesto
1101 esistente.  Nelle partiture semplici la creazione automatica dei contesti
1102 è utile: infatti la maggior parte degli esempi nei manuali LilyPond sfrutta
1103 questa semplificazione.  Talvolta, però, la creazione silenziosa di contesti
1104 può causare la comparsa di nuovi righi o partiture non desiderate.  Ad esempio,
1105 si potrebbe pensare che il seguente codice colori di rosso tutte le teste
1106 delle note nel rigo, ma in realtà produce due righi, di cui il più basso
1107 conserva il colore nero predefinito per le teste delle note.
1108
1109 @lilypond[quote,verbatim,fragment]
1110 \override Staff.NoteHead.color = #red
1111 \new Staff { a' }
1112 @end lilypond
1113
1114 Questo accade perché non esiste un contesto @code{Staff} quando viene
1115 elaborata l'istruzione di override, quindi ne viene implicitamente creato uno e
1116 l'override viene applicato ad esso.  Ma poi il comando @code{\new Staff} crea
1117 un altro rigo separato nel quale vengono inserite le note.  Il codice
1118 corretto per colorare le teste di tutte le note è
1119
1120 @lilypond[quote,verbatim]
1121 \new Staff {
1122   \override Staff.NoteHead.color = #red
1123   a'
1124 }
1125 @end lilypond
1126
1127
1128 @node Messaggio di errore Unbound variable %
1129 @unnumberedsubsec Messaggio di errore Unbound variable %
1130 @translationof Error message Unbound variable %
1131
1132 Questo messaggio di errore comparirà in fondo alla console di
1133 output o nel file di log insieme al messaggio @qq{GUILE signalled an error @dots{}}
1134 ogni volta che viene chiamata una routine di Scheme che contenga (erroneamente)
1135 un commento @emph{LilyPond} invece di un commento @emph{Scheme}.
1136
1137 I commenti LilyPond iniziano con un segno di percentuale, (@code{%}), e non
1138 devono essere usati all'interno delle routine di Scheme.  I commenti Scheme
1139 iniziano con un punto e virgola, (@code{;}).
1140
1141 @node Messaggio di errore FT_Get_Glyph_Name
1142 @unnumberedsubsec Messaggio di errore FT_Get_Glyph_Name
1143 @translationof Error message FT_Get_Glyph_Name
1144
1145 Questo messaggio di errore compare nella console di output o nel file di log file
1146 se un file di input contiene un carattere non-ASCII e non è stato salvato nella
1147 codifica UTF-8.  Per dettagli si veda @ruser{Text encoding}.
1148
1149
1150 @node Avvertimento sul fatto che le affinità del rigo devono solo diminuire
1151 @unnumberedsubsec Avvertimento sul fatto che le affinità del rigo devono solo diminuire
1152 @translationof Warning staff affinities should only decrease
1153
1154 Questo avvertimento può apparire se non ci sono dei righi nell'output,
1155 ad esempio se ci sono solo un contesto @code{ChordName} e un
1156 contesto @code{Lyrics}, come in un lead sheet.  Si possono evitare questi
1157 messaggi di avvertimento facendo in modo che uno dei contesti si comporti
1158 come un rigo inserendo
1159
1160 @example
1161 \override VerticalAxisGroup.staff-affinity = ##f
1162 @end example
1163
1164 @noindent
1165 all'inizio del contesto.  Per dettagli si veda @qq{Spacing of non-staff lines} in
1166 @ruser{Flexible vertical spacing within systems}.
1167
1168 @node Messaggio di errore new inaspettato
1169 @unnumberedsubsec Messaggio di errore @code{@bs{}new} inaspettato
1170 @translationof Error message unexpected new
1171
1172 Un blocco @code{\score} deve contenere una @emph{singola} espressione musicale.
1173 Se invece contiene vari @code{\new Staff}, @code{\new StaffGroup} o simili
1174 contesti introdotti con @code{\new} senza che questi siano racchiusi tra
1175 parentesi graffe, @code{@{ @dots{} @}}, o doppie parentesi uncinate, @code{<< @dots{} >>},
1176 ovvero così:
1177
1178 @example
1179 \score @{
1180   % Invalido! Genera l'errore: errore di sintassi, \new inaspettato
1181   \new Staff @{ @dots{} @}
1182   \new Staff @{ @dots{} @}
1183 @}
1184 @end example
1185
1186 @noindent
1187 verrà generato questo messaggio di errore.
1188
1189 Per evitare l'errore, è sufficiente racchiudere tutti i blocchi @code{\new} tra
1190 parentesi graffe o doppie parentesi uncinate.
1191
1192 Se si usano le parentesi graffe, i blocchi @code{\new} appariranno in
1193 modo sequenziale:
1194
1195 @lilypond[quote,verbatim]
1196 \score {
1197   {
1198     \new Staff { a' a' a' a' }
1199     \new Staff { g' g' g' g' }
1200   }
1201 }
1202 @end lilypond
1203
1204 @noindent
1205 ma è più probabile che si debbano usare le doppie parentesi uncinate in modo
1206 che i nuovi righi siano avviati in parallelo, ovvero contemporaneamente:
1207
1208 @lilypond[quote,verbatim]
1209 \score {
1210   <<
1211     \new Staff { a' a' a' a' }
1212     \new Staff { g' g' g' g' }
1213   >>
1214 }
1215 @end lilypond
1216
1217 @node Avviso questa voce ha bisogno di un'impostazione voiceXx o shiftXx
1218 @unnumberedsubsec Avviso questa voce ha bisogno di un'impostazione @bs{}voiceXx o @bs{}shiftXx
1219 @translationof Warning this voice needs a voiceXx or shiftXx setting
1220
1221 Se note appartenenti a due voci diverse con gambi nella stessa
1222 direzione si trovano nello stesso momento musicale, e per le voci
1223 non è stato specificato alcun spostamento, quando si compila il
1224 file apparirà il messaggio di avviso
1225 @samp{avviso: questa voce ha bisogno di un'impostazione \voiceXx o \shiftXx}.
1226 Tale avviso apparirà anche quando le note non hanno gambi visibili,
1227 come nel caso delle semibrevi, se i gambi di note più brevi della
1228 stessa altezza sono nella stessa direzione.
1229
1230 Ricorda che la direzione del gambo, a meno che non sia specificata, per
1231 esempio tramite @code{\voiceOne}, etc., dipende dalla posizione della
1232 nota sul rigo.  Dunque se la direzione del gambo non è specificata, l'avviso
1233 apparirà solo quando i gambi si trovano nella stessa direzione, ovvero
1234 quando le note si trovano nella stessa metà del rigo.
1235
1236 Si possono evitare questi avvisi mettendo le note in voci in cui siano
1237 indicate le direzioni dei gambi e gli spostamenti, per esempio usando
1238 @code{\voiceOne}, etc.
1239
1240 Le note delle voci con un numero maggiore di due, @code{\voiceThree} etc., sono
1241 spostate automaticamente per avitare la collisione tra colonne di note.  Ciò
1242 causa uno spostamento visibile delle note con gambo, mentre le semibrevi
1243 non sono spostate visibilmente, a meno che non si verifichi una reale collisione
1244 tra teste di nota oppure quando le voci si incrociano rispetto al loro ordine
1245 naturale (quando le note di @code{\voiceThree} sono più alte di quelle di
1246 @code{\voiceOne}, etc.)
1247
1248 @seealso
1249 @rlearning{Definire esplicitamente le voci},
1250 @rlearning{Esempio musicale},
1251 @ruser{Polifonia su un solo rigo},
1252 @ruser{Risoluzione delle collisioni}.
1253