]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/it/usage/running.itely
Doc-it: update italian Learning Manual
[lilypond.git] / Documentation / it / usage / running.itely
index 426ebd292094b3ca70767ca90dcad9461d83507b..6d9008fa0ee03c58e7bf5ccfb0f9790c355233e4 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
 
 @ignore
-    Translation of GIT committish: cff226053d927e433473697fe743bdfd721d2607
+    Translation of GIT committish: 62b428826f37228ab4644dbaabac7935c17ecdcd
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.36"
+@c \version "2.17.6"
 
 
 @node Eseguire lilypond
@@ -55,15 +55,16 @@ obiettivi di questo manuale; si prega di consultare altra documentazione su
 questo argomento se non si conosce la linea di comando.
 
 @menu
-* Utilizzo di lilypond::
-* Opzioni della linea di comando per lilypond::
+* Utilizzo di LilyPond::
+* Opzioni di base della linea di comando per LilyPond::
+* Opzioni avanzate della linea di comando per LilyPond::
 * Variabili d'ambiente::
 * LilyPond in una gabbia chroot::
 @end menu
 
-@node Utilizzo di lilypond
+@node Utilizzo di LilyPond
 @unnumberedsubsec Utilizzo di @command{lilypond}
-@translationof Invoking lilypond
+@translationof Invoking LilyPond
 
 L'eseguibile @command{lilypond} può essere lanciato dalla linea di comando
 nel seguente modo.
@@ -100,46 +101,61 @@ produrrà come output @var{base}@file{-violin.pdf} e
 @var{base}@file{-cello-1.pdf}.
 
 
-@unnumberedsubsubsec Comandi standard da shell
+@unnumberedsubsubsec Usare LilyPond con funzionalità standard della shell
 
-Se la shell (ovvero la finestra dei comandi) utilizzata supporta le normali
-redirezioni, potrebbe essere utile usare i seguenti comandi per dirigere
-l'output di una console in un file:
+Dato che LilyPond è un'applicazione a linea di comando, si possono sfruttare
+le funzionalità della @q{shell} usata per lanciare LilyPond.
 
-@itemize
+Per esempio:
 
-@item
-@code{lilypond file.ly 1>stdout.log} per redirigere l'output normale
+@example
+lilypond *.ly
+@end example
 
-@item
-@code{lilypond file.ly 2>stderr.log} per redirigere i messaggi di errore
+@noindent
+elaborerà tutti i file LilyPond nella directory corrente.
 
-@item
-@code{lilypond file.ly &>all.log} per redirigere tutto l'output
+Potrebbe essere utile anche redirigere l'output della console (per esempio
+in un file):
 
-@end itemize
+@example
+lilypond file.ly 1> stdout.txt
 
-Consulta la documentazione della tua shell per vedere se supporta queste
-opzioni o se la sintassi è diversa.  Nota che questi sono comandi shell
-e non hanno niente a che fare con lilypond.
+lilypond file.ly 2> stderr.txt
+
+lilypond file.ly &> all.txt
+@end example
+
+@noindent
+Questi tre comandi redirigono rispettivamente l'output @q{normale}, gli
+@q{errori} o @q{tutto} in un file di testo.  Consulta la documentazione
+della tua shell, del prompt dei comandi (Windows), delle applicazioni
+Terminale o Console (MacOS X), per vedere se la redirezione dell'output
+è supportata o se la sintassi è diversa.
 
 
-@node Opzioni della linea di comando per lilypond
-@unnumberedsubsec Opzioni della linea di comando per @command{lilypond}
-@translationof Command line options for lilypond
+@node Opzioni di base della linea di comando per LilyPond
+@unnumberedsubsec Opzioni di base della linea di comando per LilyPond
+@translationof Basic command line options for LilyPond
 
 @cindex Utilizzo di @command{lilypond}
 @cindex opzioni della linea di comando per @command{lilypond}
 @cindex linea di comando, opzioni di
-@cindex switches
+@cindex switch
 
 Sono contemplate le seguenti opzioni:
 
 @table @code
 
-@item -e,--evaluate=@var{espressione}
+@item -d, --define-default=@var{variabile}=@var{valore}
+Si veda @ref{Advanced command line options for LilyPond}.
+
+@cindex Scheme, valutazione dell'espressione
+@cindex valutazione dell'espressione, Scheme
+
+@item -e, --evaluate=@var{espressione}
 Valuta l'@var{espressione} di Scheme prima di analizzare qualsiasi file @file{.ly}.
-Si possono specificare varie opzioni @code{-e}; saranno analizzate in modo
+Si possono specificare varie opzioni @option{-e}; saranno analizzate in modo
 sequenziale.
 
 L'espressione sarà analizzata nel modulo @code{guile-user}, dunque se vuoi
@@ -159,279 +175,538 @@ nella linea di comando, e includi
 @noindent
 in cima al file @code{.ly}.
 
-@item -f,--format=@var{formato}
+@warning{Gli utenti Windows devono usare i doppi apici invece dei singoli apici.}
+
+@cindex output, formato
+@cindex formato, output
+
+@item -f, --format=@var{formato}
 Formati di output.  Come @code{formato} si può scegliere tra
-@code{ps}, @code{pdf}, e @code{png}.
+@code{ps}, @code{pdf} e @code{png}.
 
 Esempio: @code{lilypond -fpng @var{file}.ly}
 
+@item -h, --help
+Mostra una sintesi dell'utilizzo.
 
+@item -H, --header=@var{CAMPO}
+Estrae un campo dell'intestazione nel file @file{NOME.@var{CAMPO}}.
 
-@item -d,--define-default=@var{variabile}=@var{valore}
-Imposta l'opzione interna del programma, @var{variabile}, al valore di Scheme
-@var{valore}.  Se @var{valore} non viene specificato, allora viene usato
-@var{#t}.  Per disabilitare un'opzione, si può usare il prefisso @code{no-}
-prima della @var{variabile}, ad esempio
+@item -i, --init=@var{file}
+Imposta il file di inizializzazione su @var{file} (predefinito: @file{init.ly}).
 
-@cindex punta e clicca, linea di comando
+@cindex ricerca dei file
+@cindex percorso di ricerca
 
-@example
--dno-point-and-click
-@end example
+@item -I, --include=@var{directory}
 
-@noindent
-è equivalente a
-@example
--dpoint-and-click='#f'
-@end example
+È possibile assegnare più opzioni -I.  La ricerca inizierà nella prima
+Aggiunge @var{directory} al percorso di ricerca per i file di input.
+directory definita, e se il file da includere non viene trovato
+la ricerca continuerà nelle directory seguenti.
 
-Di seguito alcune opzioni interessanti.
+@cindex gabbia chroot, esecuzione all'interno di
 
-@cindex aiuto, linea di comando
+@item -j, --jail=@var{utente},@var{gruppo},@var{gabbia},@var{directory}
+Esegue @command{lilypond} in una gabbia chroot.
 
-@table @samp
-@item help
-L'esecuzione di @code{lilypond -dhelp} mostrerà tutte le opzioni disponibili
-di @code{-d}.
+L'opzione @option{--jail} fornisce un'alternativa più flessibile a
+@option{--safe} quando la formattazione di LilyPond è messa a disposizione attraverso
+un server web o quando LilyPond esegue sorgenti provenienti dall'esterno
+(si veda @ref{Advanced command line options for LilyPond}).
 
-@cindex paper-size, linea di comando
+L'opzione @option{--jail} modifica la radice di @command{lilypond} in
+@var{gabbia} appena prima di iniziare il vero processo di compilazione.  L'utente
+e il gruppo vengono poi modificati per corrispondere a quelli forniti, e la
+directory corrente viene spostata in @var{directory}.  Questa configurazione
+garantisce che non sia possibile (almeno in teoria) uscire dalla gabbia.  Si noti
+che perché @option{--jail} funzioni @command{lilypond} deve essere eseguito come root;
+di solito questo si fa in modo sicuro col comando @command{sudo}.
 
-@item paper-size
-Questa opzione imposta la dimensione predefinita del foglio,
-@example
--dpaper-size=\"letter\"
-@end example
+Configurare una gabbia è una questione un po' delicata, perché bisogna essere
+sicuri che LilyPond possa trovare tutto quello di cui ha bisogno per compilare il
+sorgente @emph{dentro la gabbia}.  Una configurazione tipica comprende i seguenti
+elementi:
 
-@noindent
-Nota che la stringa deve essere compresa tra virgolette precedute dal
-segno di escape ( @code{\"} ).
-@c Match " in previous line to help context-sensitive editors
+@table @asis
 
-@cindex safe, linea di comando
+@item Impostare un filesystem distinto
+Si dovrebbe creare un filesystem separato LilyPond, così che possa essere
+montato con opzioni di sicurezza come @code{noexec}, @code{nodev}, e
+@code{nosuid}.  In questo modo è impossibile lanciare degli eseguibili o
+scrivere su un dispositivo direttamente da LilyPond.  Se non si vuole creare
+una partizione separata, si può creare un file di dimensioni ragionevoli e usarlo
+per montare un dispositivo di loop.  Un filesystem separato garantisce inoltre
+che LilyPond non possa scrivere su uno spazio maggiore di quanto permesso.
 
-@item safe
-Non si fida dell'input nel file @code{.ly}.
+@item Impostare un altro utente
+Per eseguire LilyPond in una gabbia si dovrebbe usare un altro utente e gruppo
+(ad esempio, @code{lily}/@code{lily}) con pochi privilegi.  Ci dovrebbe essere
+una sola directory scrivibile da questo utente, che dovrebbe essere passata in
+@var{dir}.
 
-Quando la formattazione di LilyPond viene messa a disposizione tramite un server
-web, si @b{DEVE} passare l'opzione @code{--safe} o l'opzione @code{--jail}.  L'opzione
-@code{--safe} impedirà che il codice Scheme presente nell'input possa fare uno
-scempio, ad esempio
+@item Preparare la gabbia
+LilyPond ha bisogno di leggere alcuni file quando viene lanciato.  Tutti questi
+file devono essere copiati nella gabbia, sotto lo stesso percorso in cui appaiono
+nel vero filesystem principale.  Si deve copiare l'intero contenuto dell'installazione
+LilyPond (ad esempio, @file{/usr/share/lilypond}).
 
-@quotation
-@verbatim
-#(system "rm -rf /")
-{
-  c4^#(ly:export (ly:gulp-file "/etc/passwd"))
-}
-@end verbatim
-@end quotation
+Se c'è un problema, il modo più semplice per individuarlo è lanciare
+LilyPond usando @command{strace}, che permetterà di scoprire quali
+file mancano.
 
-L'opzione @code{-dsafe} serve a valutare le espressioni Scheme presenti nell'input
-in uno speciale modulo di sicurezza.  Questo modulo di sicurezza è derivato dal
-modulo GUILE @file{safe-r5rs}, ma aggiunge alcune funzioni del
-LilyPond API.  Queste funzioni sono elencate in @file{scm/safe-lily.scm}.
+@item Eseguire LilyPond
+In una gabbia montata con @code{noexec} è impossibile eseguire qualsiasi
+programma esterno.  Dunque LilyPond deve essere eseguito con un backend che
+non richieda tale programma.  Come è già stato detto, deve essere eseguito
+con privilegi di superutente (che ovviamente perderà immediatamente),
+possibilmente con l'uso di @command{sudo}.  È una buona idea limitare il
+numero di secondi di tempo della CPU che LilyPond può usare (ad esempio con
+@command{ulimit -t}), e, se il sistema operativo lo permette, la quantità di
+memoria che può essere allocata.  Si veda anche @ref{LilyPond in chroot jail}.
+@end table
 
-Inoltre, la modalità sicura non permette le direttive @code{\include} e
-disabilita l'uso del backslash nelle stringhe @TeX{}.
+@cindex loglevel
+@cindex output dettagliato
 
-In modalità sicura, non è possibile importare le variabili di LilyPond
-in Scheme.
+@item -l, --loglevel=@var{LIVELLO}
+Imposta la verbosità dell'output della console su @var{LIVELLO}. I valori possibili sono:
+@table @code
 
-@code{-dsafe} @emph{non} rileva il sovrautilizzo di risorse.  È ancora possibile
-far sì che il programma rimanga in sospeso per un tempo indefinito, ad esempio
-alimentando il backend con strutture di dati cicliche.  Dunque se si vuole usare
-LilyPond su un server web pubblicamente accessibile, si deve limitare il processo
-nell'uso della CPU e della memoria.
+@item NONE
+Nessun output, nemmeno i messaggi di errore.
 
-La modalità sicura bloccherà la compilazione di molti utili frammenti di codice
-LilyPond.  L'opzione @code{--jail} è un'alternativa più sicura, ma richiede
-più lavoro per configurarla.
+@item ERROR
+Solo i messaggi di errore, niente avvisi o messaggi di elaborazione.
 
-@cindex formato di output, impostare il
-@item backend
-il formato di output da usare per il back-end.  Per il @code{formato} si può
-scegliere tra
-@table @code
-@item ps
-@cindex PostScript, output
- per PostScript.
+@item WARN
+Avvisi e messaggi di errore, nessun messaggio di elaborazione.
 
-  I file Postscript includono i tipi di carattere TTF, Type1 e OTF.  Non vengono
-  inclusi i sottoinsiemi di questi tipi.  Se si usa un set di caratteri orientali,
-  si possono ottenere file di grosse dimensioni.
+@item BASIC_PROGRESS
+Messaggi di elaborazione di base (riuscita), avvisi e errori.
 
-@item eps
+@item PROGRESS
+Tutti i messaggi di elaborazione, avvisi e errori.
 
-@cindex Postscript, incapsulato
-@cindex EPS (Encapsulated PostScript)
+@item INFO (predefinito)
+Messaggi di elaborazione, avvisi, errori e ulteriori informazioni di esecuzione.
 
- per PostScript incapsulato.  Invia ogni pagina (sistema) in un file
-@file{EPS} separato, senza font, e in un unico file @file{EPS} con
-tutte le pagine (sistemi) inclusi i font.
+@item DEBUG
+Tutti i messaggi possibili, incluso l'output verboso di debug.
 
-Questa è la modalità predefinita di @command{lilypond-book}.
+@end table
 
-@item svg
+@cindex directory, dirigere l'output in
+@cindex output, impostare il nome del file
+@cindex output, directory
 
-@cindex SVG (Scalable Vector Graphics)
+@item -o, --output=@var{FILE} o @var{CARTELLA}
+Imposta il file di output predefinito @var{FILE} oppure, se una cartella con
+quel nome esiste già, dirige l'output in @var{CARTELLA}, prendendo il nome
+del file dal file di input.  In entrambi i casi verrà aggiunto il suffisso
+appropriato (ad esempio @code{.pdf} per il pdf).
 
- per ottenere SVG (Scalable Vector Graphics).
+@cindex PS (Postscript), output
+@cindex Postscript (PS), output
+@cindex output, PS (Postscript)
 
- Crea un singolo file SVG, senza font incorporati, per ogni pagina
- dell'output.  Si raccomanda di installare i font Century
- Schoolbook, inclusi nell'installazione di LilyPond, per una resa
- ottimale.  In UNIX basta copiare questi font dalla directory di
- LilyPond (solitamente
- @file{/usr/share/lilypond/VERSION/fonts/otf/}) in
- @file{~/.fonts/}.  L'output SVG dovrebbe essere compatibile con qualsiasi
- editor SVG o user agent.
+@item --ps
+Genera PostScript.
 
-@item scm
+@cindex PNG (Portable Network Graphics), output
+@cindex output, PNG (Portable Network Graphics)
 
-@cindex Scheme, estrazione di
+@item --png
+Genera immagini di ogni pagina in formato PNG.  Questo implica
+@option{--ps}.  La risoluzione in DPI dell'immagine può essere impostata con
+@example
+-dresolution=110
+@end example
 
- per estrarre i comandi di disegno grezzi e interni, basati su Scheme.
+@cindex PDF (Portable Document Format), output
+@cindex output, PDF (Portable Document Format)
 
-@item null
- non produce la stampa della partitura; ha lo stesso effetto di @code{-dno-print-pages}.
-@end table
+@item --pdf
+Genera PDF.  Questo implica @option{--ps}.
 
-Esempio: @code{lilypond -dbackend=svg @var{filename}.ly}
+@item -v, --version
+Mostra informazioni sulla versione.
 
-@item preview
-@cindex preview, linea di comando
-Genera un file di output che contiene i titoli e il primo sistema
-del brano musicale.  Se si usano i blocchi @code{\bookpart}, i titoli e il
-primo sistema di ogni @code{\bookpart} apparirà nell'output.
-I backend @code{ps}, @code{eps}, e @code{svg} supportano questa
-opzione.
+@item -V, --verbose
+Aumenta la prolissità: mostra i percorsi completi di tutti i file letti e dà
+informazioni sui tempi.
 
-@item print-pages
-Genera tutte le pagine, come da impostazione predefinita.  @code{-dno-print-pages} è
-utile in combinazione con @code{-dpreview}.
+@item -w, --warranty
+Mostra la garanzia con cui viene distribuito GNU LilyPond.  (Distribuito
+con @strong{NESSUNA GARANZIA}!)
 
 @end table
 
 
+@node Opzioni avanzate della linea di comando per LilyPond
+@unnumberedsubsec Opzioni avanzate della linea di comando per @command{lilypond}
+@translationof Advanced command line options for LilyPond
 
-@item -h,--help
-Mostra una sintesi dell'utilizzo.
+@table @code
 
-@item -H,--header=@var{CAMPO}
-Estrae un campo dell'intestazione nel file @file{NOME.@var{CAMPO}}.
+@item -d@var{[nome-opzione]}=@var{[valore]},--define-default=@var{[nome-opzione]}=@var{[valore]}
+Imposta l'equivalente funzione interna di Scheme su @var{valore}.
 
-@cindex ricerca dei file
-@cindex percorso di ricerca
-@item --include, -I=@var{directory}
-Aggiunge @var{directory} al percorso di ricerca per i file di input.
+@example
+-dbackend=svg
+@end example
 
-È possibile assegnare più opzioni -I.  La ricerca inizierà nella prima
-directory definita, e se il file da includere non viene trovato
-la ricerca continuerà nelle directory seguenti.
+Se non viene specificato un @var{valore}, viene usato il valore
+predefinito.  Per disabilitare un'opzione, si può usare il
+prefisso @code{no-} prima di @var{nome-opzione}, ad esempio
 
-@item -i,--init=@var{file}
-Imposta il file di inizializzazione su @var{file} (predefinito: @file{init.ly}).
+@cindex punta e clicca, linea di comando
 
-@cindex cartella, dirigere l'output in
-@cindex nome del file di output, impostare
+@example
+-dpoint-and-click=#f
+@end example
 
-@item -o,--output=@var{FILE} or @var{CARTELLA}
-Imposta il file di output predefinito @var{FILE} oppure, se una cartella con
-quel nome esiste già, dirige l'output in @var{CARTELLA}, prendendo il nome
-del file dal file di input.  In entrambi i casi verrà aggiunto il suffisso
-appropriato (ad esempio @code{.pdf} per il pdf).
+@noindent
+è equivalente a
+@example
+-dno-point-and-click
+@end example
+@end table
 
+@noindent Sono supportate le seguenti opzioni insieme ai loro rispettivi
+valori predefiniti:
 
-@cindex PostScript
+@multitable @columnfractions .33 .16 .51
+@item @strong{Simbolo}
+@tab @strong{Valore}
+@tab @strong{Spiegazione/Opzioni}
 
-@item --ps
-Genera PostScript.
+@item @code{anti-alias-factor}
+@tab @code{1}
+@tab Elabora a una risoluzione più alta (usando un certo fattore) e ridimensiona
+il risultato per evitare gli @q{artefatti} nelle immagini @code{PNG}.
 
-@cindex Portable Network Graphics (PNG)
+@item @code{aux-files}
+@tab @code{#t}
+@tab Crea i file @code{.tex}, @code{.texi}, @code{.count} nel backend
+@code{EPS}.
 
-@item --png
-Genera immmagini di ogni pagina in formato PNG.  Questo implica
-@code{--ps}.  La risoluzione in DPI dell'immagine può essere impostata con
-@example
--dresolution=110
-@end example
+@item @code{backend}
+@tab @code{ps}
+@tab Seleziona il backend.  I file Postscript (predefinito) includono i tipi di
+carattere @code{TTF}, @code{Type1} e @code{OTF}.  Non vengono inclusi i sottoinsiemi
+di questi tipi.  Se si usa un set di caratteri @q{orientali}, si possono ottenere
+file di grosse dimensioni.
 
-@cindex Portable Document Format (PDF)
+@item
+@tab @code{eps}
+@tab Encapsulated PostScript.  Invia ogni pagina (sistema) in un file
+@file{EPS} separato, senza font, e in un unico file @file{EPS} con
+tutte le pagine (sistemi) inclusi i font.  Questa è la modalità
+predefinita di @command{lilypond-book}.
 
-@item --pdf
-Genera PDF.  Questo implica @code{--ps}.
+@item
+@tab @code{null}
+@tab non produce la stampa della partitura; ha lo stesso
+effetto di @code{-dno-print-pages}.
 
+@item
+@tab @code{svg}
+@tab Scalable Vector Graphics.  Crea un singolo file SVG, senza font
+incorporati, per ogni pagina dell'output.  Si raccomanda di installare i
+font Century Schoolbook, inclusi nell'installazione di LilyPond, per una
+resa ottimale.  In UNIX basta copiare questi font dalla directory di
+LilyPond (solitamente @file{/usr/share/lilypond/VERSION/fonts/otf/}) in
+@file{~/.fonts/}.  C'è anche un'opzione @code{svg-woff} (sotto) per
+poter usare i file di font woff nel backend SVG.
 
+@item
+@tab @code{scm}
+@tab Estrae i comandi di disegno grezzi e interni, basati su Scheme.
+
+@item @code{check-internal-types}
+@tab @code{#f}
+@tab Controlla l'assegnazione di ogni proprietà per i tipi.
+
+@item @code{clip-systems}
+@tab @code{#f}
+@tab Genera frammenti ritagliati di una partitura.
+
+@item @code{datadir}
+@tab
+@tab Prefisso per i file di dati (sola lettura).
+
+@item @code{debug-gc}
+@tab @code{#f}
+@tab Scarica le statistiche sul debug della memoria.
+
+@item @code{debug-gc-assert-parsed-dead}
+@tab @code{#f}
+@tab Per il debug della memoria: Assicura che tutti i riferimenti agli oggetti
+analizzati siano eliminati. Questa è un'opzione interna e viene abilitata
+automaticamente da @code{`-ddebug-gc'}.
+
+@item @code{debug-lexer}
+@tab @code{#f}
+@tab Debug dell'analizzatore lessicale flex.
+
+@item @code{debug-page-breaking-scoring}
+@tab @code{#f}
+@tab Crea le partiture per diverse configurazioni di interruzione di pagina.
+
+@item @code{debug-parser}
+@tab @code{#f}
+@tab Debug dell'analizzatore bison.
+
+@item @code{debug-property-callbacks}
+@tab @code{#f}
+@tab Debug delle catene cicliche di callback.
+
+@item @code{debug-skylines}
+@tab @code{#f}
+@tab Debug skylines.
+
+@item @code{delete-intermediate-files}
+@tab @code{#t}
+@tab Cancella i file @code{.ps} intermedi e inutilizzabili creati durante
+la compilazione.
+
+@item @code{dump-cpu-profile}
+@tab @code{#f}
+@tab Scarica l'informazione sui tempi (dipendente dal sistema).
+
+@item @code{dump-profile}
+@tab @code{#f}
+@tab Scarica l'informazione sulla memoria e il tempo per ogni file.
+
+@item @code{dump-signatures}
+@tab @code{#f}
+@tab Scarica le firme dell'output di ogni sistema. Usato per testare le regressioni.
+
+@item @code{eps-box-padding}
+@tab @code{#f}
+@tab Sposta il margine sinistro della cornice EPS dell'output della quantità
+specificata (in mm).
+
+@item @code{gs-load-fonts}
+@tab @code{#f}
+@tab Carica i font attraverso Ghostscript.
+
+@item @code{gs-load-lily-fonts}
+@tab @code{#f}
+@tab Carica solo i font LilyPond attraverso Ghostscript.
+
+@item @code{gui}
+@tab @code{#f}
+@tab Esegue il programma senza stampare messaggi e redirige tutto l'output in un file di log.
+@end multitable
 
-@item -j,--jail=@var{utente},@var{gruppo},@var{gabbia},@var{directory}
-Esegue @command{lilypond} in una gabbia chroot.
+@noindent
+@strong{Nota per gli utenti Windows:} Per impostazione predefinita @code{lilypond.exe}
+stampa tutta l'informazione sull'avanzamento nella finestra dei comandi.
+@code{lilypond-windows.exe} non lo fa e riporta un prompt, privo di
+informazioni sull'avanzamento, subito nella linea di comando.  L'opzione
+@option{-dgui} può essere usata in questo caso per redirigere l'output in
+un file di log.
+
+@multitable @columnfractions .33 .16 .51
+@item @code{help}
+@tab @code{#f}
+@tab Mostra questo aiuto.
+
+@item @code{include-book-title-preview}
+@tab @code{#t}
+@tab Include i titoli dei libri nelle immagini di anteprima.
+
+@item @code{include-eps-fonts}
+@tab @code{#t}
+@tab Include i font in file EPS con sistemi separati.
+
+@item @code{include-settings}
+@tab @code{#f}
+@tab Include il file per le impostazioni globali, questo viene incluso prima
+che la partitura sia elaborata.
+
+@item @code{job-count}
+@tab @code{#f}
+@tab Elabora in parallelo, usando il dato numero di lavori.
+
+@item @code{log-file}
+@tab @code{#f [file]}
+@tab Se la stringa @code{FOO} viene assegnata come secondo argomento,
+redirige l'output nel file @code{FOO.log}.
+
+@item @code{max-markup-depth}
+@tab @code{1024}
+@tab Massima profondità per la struttura del blocco markup. Se un blocco markup ha
+più livelli, assume che non terminerà da solo, stampa un avviso e restituisce
+al suo posto un markup vuoto.
+
+@item @code{midi-extension}
+@tab @code{"midi"}
+@tab Imposta l'estensione predefinita per il file MIDI sulla stringa specificata.
+
+@item @code{music-strings-to-paths}
+@tab @code{#f}
+@tab Converte le stringhe di testo in percorsi quando i glifi appartengono a
+un font musicale.
+
+@item @code{paper-size}
+@tab @code{\"a4\"}
+@tab Imposta la dimensione predefinita del foglio.  Nota che la stringa deve
+essere compresa tra virgolette precedute dal segno di escape.
+
+@item @code{pixmap-format}
+@tab @code{png16m}
+@tab Imposta il formato di output di GhostScript per le immagini raster.
+
+@item @code{point-and-click}
+@tab @code{#t}
+@tab Aggiunge i collegamenti @q{punta e clicca} all'output PDF e SVG. Si veda
+@ref{Point and click}.
+
+@item @code{preview}
+@tab @code{#f}
+@tab Crea immagini di anteprima oltre al normale output.
+@end multitable
 
-L'opzione @code{--jail} fornisce un'alternativa più flessibile a
-@code{--safe} quando la formattazione di LilyPond è messa a disposizione attraverso
-un server web o quando LilyPond esegue sorgenti provenienti dall'esterno.
+@noindent
+Questa opzione è supportata da tutti i backend; @code{pdf}, @code{png},
+@code{ps}, @code{eps} e @code{svg}, ma non @code{scm}.  Genera un file
+di output nella forma @code{mioFile.preview.estensione}, contenente i
+titoli e il primo sistema.  Se vengono usati i blocchi @code{\book} o
+@code{\bookpart}, i titoli di @code{\book}, @code{\bookpart} o @code{\score}
+appariranno nell'output, incluso il primo sistema di ogni blocco @code{\score}
+se la variabile @code{print-all-headers} di @code{\paper} è impostata
+su @code{#t}.
+
+Per impedire il normale output, si usano le opzioni @option{-dprint-pages} o
+@option{-dno-print-pages} in base alle proprie esigenze.
+
+@multitable @columnfractions .33 .16 .51
+@item @code{print-pages}
+@tab @code{#t}
+@tab Genera le pagine complete (predefinito).  @option{-dno-print-pages} è
+utile in combinazione con @option{-dpreview}.
+
+@item @code{profile-property-accesses}
+@tab @code{#f}
+@tab Mantiene una statistica delle chiamate di funzione @code{get_property()}.
+
+@item @code{protected-scheme-parsing}
+@tab @code{#t}
+@tab Continua se l'analizzatore coglie degli errori nel codice scheme interno
+al file di input. Se impostato su @code{#f}, in caso di errore si ferma e
+mostra la traccia di stack.
+
+@item @code{read-file-list}
+@tab @code{#f [file]}
+@tab Specifica il nome di un file che contiene una lista di file di input da
+elaborare.
+
+@item @code{relative-includes}
+@tab @code{#f}
+@tab Quando elabora un comando @code{\include}, cerca il file incluso
+in posizione relativa al file corrente (invece che in posizione assoluta).
+
+@item @code{resolution}
+@tab @code{101}
+@tab Imposta la risoluzione per generare immagini @code{PNG} su un certo
+valore (in dpi).
+
+@item @code{safe}
+@tab @code{#f}
+@tab Non si fida dell'input nel file @code{.ly}.
+@end multitable
 
-L'opzione @code{--jail} modifica la radice di @command{lilypond} in
-@var{gabbia} appena prima di iniziare il vero processo di compilazione.  L'utente
-e il gruppo vengono poi modificati per corrispondere a quelli forniti, e la
-directory corrente viene spostata in @var{directory}.  Questa configurazione
-garantisce che non sia possibile (almeno in teoria) uscire dalla gabbia.  Si noti
-che perché @code{--jail} funzioni @command{lilypond} deve essere eseguito come root;
-di solito questo si fa in modo sicuro col comando @command{sudo}.
+@noindent
+Quando la formattazione di LilyPond viene messa a disposizione tramite un server
+web, si @b{DEVE} passare l'opzione @option{--safe} o l'opzione @option{--jail}.  L'opzione
+@option{--safe} impedirà che il codice Scheme presente nell'input possa fare uno
+scempio, ad esempio
 
-Configurare una gabbia è una questione un po' delicata, perché bisogna essere
-sicuri che LilyPond possa trovare tutto quello di cui ha bisogno per compilare il
-sorgente @emph{dentro la gabbia}.  Una configurazione tipica comprende i seguenti
-elementi:
+@quotation
+@verbatim
+#(s ystem "rm -rf /")  % troppo pericoloso per scriverlo correttamente
+{
+  c4^$(ly:gulp-file "/etc/passwd") % malvagio ma non distruttivo
+}
+@end verbatim
+@end quotation
 
-@table @asis
-@item Impostare un filesystem distinto
-Si dovrebbe creare un filesystem separato LilyPond, così che possa essere
-montato con opzioni di sicurezza come @code{noexec}, @code{nodev}, e
-@code{nosuid}.  In questo modo è impossibile lanciare degli eseguibili o
-scrivere su un dispositivo direttamente da LilyPond.  Se non si vuole creare
-una partizione separata, si può creare un file di dimensioni ragionevoli e usarlo
-per montare un dispositivo di loop.  Un filesystem separato garantisce inoltre
-che LilyPond non possa scrivere su uno spazio maggiore di quanto permesso.
+L'opzione @option{-dsafe} serve a valutare le espressioni Scheme presenti nell'input
+in uno speciale modulo di sicurezza.  Questo modulo di sicurezza è derivato dal
+modulo GUILE @file{safe-r5rs}, ma aggiunge alcune funzioni del
+LilyPond API.  Queste funzioni sono elencate in @file{scm/safe-lily.scm}.
 
-@item Impostare un altro utente
-Per eseguire LilyPond in una gabbia si dovrebbe usare un altro utente e gruppo
-(ad esempio, @code{lily}/@code{lily}) con pochi privilegi.  Ci dovrebbe essere
-una sola directory scrivibile da questo utente, che dovrebbe essere passata in
-@var{dir}.
+Inoltre, la modalità sicura non permette le direttive @code{\include} e
+disabilita l'uso del backslash nelle stringhe @TeX{}.  In modalità sicura,
+non è possibile importare le variabili di LilyPond in Scheme.
 
-@item Preparare la gabbia
-LilyPond ha bisogno di leggere alcuni file quando viene lanciato.  Tutti questi
-file devono essere copiati nella gabbia, sotto lo stesso percorso in cui appaiono
-nel vero filesystem principale.  Si deve copiare l'intero contenuto dell'installazione
-LilyPond installation (ad esempio, @file{/usr/share/lilypond}).
+@option{-dsafe} @emph{non} rileva il sovrautilizzo di risorse.  È ancora possibile
+far sì che il programma rimanga in sospeso per un tempo indefinito, ad esempio
+alimentando il backend con strutture di dati cicliche.  Dunque se si vuole usare
+LilyPond su un server web pubblicamente accessibile, si deve limitare il processo
+nell'uso della CPU e della memoria.
 
-Se c'è un problema, il modo più semplice per individuarlo è lanciare
-LilyPond usando @command{strace}, che permetterà di scoprire quali
-file mancano.
+La modalità sicura bloccherà la compilazione di molti utili frammenti di codice
+LilyPond.
 
-@item Eseguire LilyPond
-In una gabbia montata con @code{noexec} è impossibile eseguire qualsiasi
-programma esterno.  Dunque LilyPond deve essere eseguito con un backend che
-non richieda tale programma.  Come è già stato detto, deve essere eseguito
-con privilegi di superutente (che ovviamente perderà immediatamente),
-possibilmente con l'uso di @command{sudo}.  È una buona idea limitare il
-numero di secondi di tempo della CPU che LilyPond può usare (ad esempio con @command{ulimit
--t}), e, se il sistema operativo lo permette, la quantità di memoria che
-può essere allocata.
-@end table
+L'opzione @option{--jail} è un'alternativa più sicura, ma richiede più lavoro
+per configurarla.  Si veda @ref{Basic command line options for LilyPond}.
 
+@multitable @columnfractions .33 .16 .51
+@item @code{separate-log-files}
+@tab @code{#f}
+@tab Per i file di input @code{FILE1.ly}, @code{FILE2.ly}, etc. salva i dati di
+log nei file @code{FILE1.log}, @code{FILE2.log}, @dots{}
 
-@item -v,--version
-Mostra informazioni sulla versione.
+@item @code{show-available-fonts}
+@tab @code{#f}
+@tab Elenca i nomi di font disponibili.
 
-@item -V,--verbose
-Aumenta la prolissità: mostra i percorsi completi di tutti i file letti, e dà
-informazioni sui tempi.
+@item @code{strict-infinity-checking}
+@tab @code{#f}
+@tab Forza il blocco del programma quando si incontrano eccezioni @code{Inf} e
+@code{NaN} sui numeri in virgola mobile.
 
-@item -w,--warranty
-Mostra la garanzia con cui viene distribuito GNU LilyPond.  (Distribuito
-con @strong{NESSUNA GARANZIA}!)
-@end table
+@item @code{strip-output-dir}
+@tab @code{#t}
+@tab Non usa le directory dei file di input per costruire i nomi dei file
+di output.
+
+@item @code{strokeadjust}
+@tab @code{#f}
+@tab Forza l'aggiustamento del tratto da parte di PostScript.  Questa opzione
+è utile quando il PDF è generato dall'output PostScript (l'aggiustamento
+del tratto di solito è abilitato automaticamente per gli strumenti bitmap
+a bassa risoluzione).  Senza questa opzione, i lettori PDF tendono a
+produrre larghezze dei gambi molto variabili alle risoluzioni tipiche
+dei monitor.  L'opzione non produce effetti visibili sulla qualità di
+stampa e causa un notevole aumento della dimensione dei file PDF.
+
+
+@item @code{svg-woff}
+@tab @code{#f}
+@tab Usa i file di font woff nel backend SVG.
+
+@item @code{trace-memory-frequency}
+@tab @code{#f}
+@tab Registra molte volte al secondo l'uso delle celle da parte di Scheme.  Salva i
+risultati in @code{FILE.stacks} e @code{FILE.graph}.
+
+@item @code{trace-scheme-coverage}
+@tab @code{#f}
+@tab Registra la copertura dei file Scheme in @code{FILE.cov}.
+
+@item @code{verbose}
+@tab @code{#f}
+@tab Output dettagliato, ovvero livello di log DEBUG (sola lettura).
+
+@item @code{warning-as-error}
+@tab @code{#f}
+@tab Trasforma tutti i messaggi di avviso e di @q{errore di programmazione} in errori.
+@end multitable
 
 
 @node Variabili d'ambiente
@@ -451,6 +726,11 @@ sottodirectory chiamate @file{ly/}, @file{ps/}, @file{tex/}, etc.
 @item LANG
 Determina la lingua per i messaggi di avviso.
 
+@item LILYPOND_LOGLEVEL
+Il livello di log (loglevel) predefinito. Se LilyPond viene chiamato senza un
+livello di log esplicito (ovvero senza l'opzione @option{--loglevel} della
+linea di comando), viene usato questo valore.
+
 @item LILYPOND_GC_YIELD
 Una variabile, in forma di percentuale, che regola il modo in cui viene gestita
 la memoria.  Con valori più alti il programma usa più memoria, con valori
@@ -465,7 +745,7 @@ più bassi usa più tempo della CPU.  Il valore predefinito è @code{70}.
 
 Configurare un server perché esegua LilyPond in una gabbia chroot è un lavoro
 complesso.  La procedura è spiegata sotto.  Gli esempi si riferiscono a
-Ubuntu Linux e potrebbero richiedere l'uso di @code{sudo} in alcune situazioni.
+Ubuntu GNU/Linux e potrebbero richiedere l'uso di @code{sudo} in alcune situazioni.
 
 @itemize
 
@@ -613,7 +893,7 @@ carattere.
 @cindex errore Scheme
 Gli errori che capitano mentre si esegue del codice Scheme sono individuati
 dall'interprete Scheme.  Se si esegue con l'opzione di prolissità (@code{-V} o
-@code{--verbose}), viene stampata una traccia della chiamata di funzione
+@option{--verbose}), viene stampata una traccia della chiamata di funzione
 responsabile dell'errore.
 
 @item Errore di programmazione
@@ -649,14 +929,21 @@ test.ly:2:19: error: not a duration: 5
            5 g' @}
 @end example
 
-Queste posizioni indicano la migliore ipotesi di LilyPond a proposito del
-punto in cui l'avvertimento o l'errore sono comparsi, ma (per loro
+Queste posizioni indicano il punto in cui LilyPond ritiene più probabile
+che siano apparsi l'avvertimento o l'errore, ma (per loro
 stessa natura) avvertimenti ed errori capitano quando succede qualcosa
-di imprevisto.  Se non riesci a vedere un errore nella riga indicata
-del file di input, prova a controllare una o due righe sopra la posizione
-indicata.
+di imprevisto.  Se non riesci a vedere un errore nella riga suggerita,
+prova a controllare una o due righe sopra la posizione indicata.
+
+Attenzione: l'analisi degli errori è sempre attivata nel corso dei vari
+passaggi di elaborazione.  Per esempio, se ci sono parti di input che
+sono elaborati varie volte (es: per produrre l'output midi e quello
+grafico) oppure se viene usata la stessa variabile musicale in vari
+contesti, potrebbe apparire lo stesso messaggio molteplici volte.  Anche
+la diagnosi eseguita in uno degli @q{ultimi} passaggi (es: controlli di
+battuta) può apparire varie volte.
 
-Maggiori informazioni sugli errori si trovano in @ref{Errori comuni}.
+Maggiori informazioni sugli errori si trovano in @ref{Common errors}.
 
 
 @node Errori comuni
@@ -671,10 +958,11 @@ comprese, è facile gestirle.
 @menu
 * La musica esce dalla pagina::
 * Appare un rigo in più::
-* Errore apparente in ../ly/init.ly::
 * Messaggio di errore Unbound variable %::
 * Messaggio di errore FT_Get_Glyph_Name::
 * Avvertimento sul fatto che le affinità del rigo devono solo diminuire::
+* Messaggio di errore new inaspettato::
+* Avviso ignorare troppe collisioni tra colonne di nota::
 @end menu
 
 @node La musica esce dalla pagina
@@ -697,11 +985,12 @@ linea, portando a una linea di musica estremamente compressa o
 a musica che esce dalla pagina.}
 
 La durata errata può essere trovata facilmente se si usano i controlli di
-battuta, si veda @ruser{Bar and bar number checks}.
+battuta, si veda @ruser{Controlli di battuta e del numero di battuta}.
 
 Se si vuole davvero ottenere una serie di tali misure sovrapposte
 bisogna inserire una barra di divisione invisibile nel punto in cui
-si desidera l'interruzione di linea.  Per i dettagli si veda @ruser{Bar lines}.
+si desidera l'interruzione di linea.  Per i dettagli si veda
+@ruser{Stanghette}.
 
 
 @node Appare un rigo in più
@@ -719,9 +1008,9 @@ si potrebbe pensare che il seguente codice colori di rosso tutte le teste
 delle note nel rigo, ma in realtà produce due righi, di cui il più basso
 conserva il colore nero predefinito per le teste delle note.
 
-@lilypond[quote,verbatim,relative=2]
-\override Staff.NoteHead #'color = #red
-\new Staff { a }
+@lilypond[quote,verbatim,fragment]
+\override Staff.NoteHead.color = #red
+\new Staff { a' }
 @end lilypond
 
 Questo accade perché non esiste un contesto @code{Staff} quando viene
@@ -730,72 +1019,20 @@ l'override viene applicato ad esso.  Ma poi il comando @code{\new Staff} crea
 un altro rigo separato nel quale vengono inserite le note.  Il codice
 corretto per colorare le teste di tutte le note è
 
-@lilypond[quote,verbatim,relative=2]
-\new Staff {
-  \override Staff.NoteHead #'color = #red
-  a
-}
-@end lilypond
-
-Vediamo un secondo esempio.  Se un comando @code{\relative} viene posto
-dentro un comando @code{\repeat}, vengono generati due righi, il secondo
-spostato orizzontalmente rispetto al primo, perché il comando @code{\repeat}
-genera due blocchi @code{\relative}, ognuno dei quali crea implicitamente i
-blocchi @code{Staff} e @code{Voice}.
-
-@lilypond[quote,verbatim]
-\repeat unfold 2 {
-  \relative c' { c4 d e f }
-}
-@end lilypond
-
-Per correggere il problema basta istanziare esplicitamente il contesto
-@code{Voice}:
-
 @lilypond[quote,verbatim]
-\new Voice {
-  \repeat unfold 2 {
-    \relative c' { c4 d e f }
-  }
+\new Staff {
+  \override Staff.NoteHead.color = #red
+  a'
 }
 @end lilypond
 
 
-@node Errore apparente in ../ly/init.ly
-@unnumberedsubsec Errore apparente in @code{../ly/init.ly}
-@translationof Apparent error in ../ly/init.ly
-
-Possono apparire diversi strani messaggi di errore relativi a errori di
-sintassi in @file{../ly/init.ly} se il file di input non ha una forma corretta,
-ad esempio se contiene delle parentesi o delle virgolette non chiuse
-correttamente.
-
-L'errore più comune è la mancanza di una parentesi graffa, (@code{@}}), alla fine
-di un blocco @code{score}.  In questo caso la soluzione è ovvia: controlla
-che il blocco @code{score} sia chiuso correttamente.  La struttura corretta
-di un file di input è descritta in @rlearning{Come funzionano i file di input di LilyPond}.
-Per evitare questi errori conviene usare un editor che evidenzi automaticamente
-le parentesi e le graffe corrispondenti.
-
-Un'altra causa frequente di errore è la mancanza di uno spazio tra l'ultima
-sillaba di un blocco di testo (lyrics) e la parentesi graffa che chiude il
-blocco, (@code{@}}).  Senza questa separazione, la graffa viene considerata
-come parte della sillaba.  Si consiglia di assicurarsi sempre che ci sia
-uno spazio prima e dopo @emph{ogni} parentesi graffa.  Per comprendere l'importanza
-di questo quando si usa il testo, si veda @ruser{Entering lyrics}.
-
-Questo messaggio di errore può apparire anche nel caso in cui sia omessa la
-virgoletta di chiusura, (@code{"}).  In questo caso il messaggio di errore
-@c keep "-matching straight in fancy editors
-dovrebbe dare un numero di riga vicino alla riga sbagliata.  La virgoletta
-non chiusa sarà solitamente una o due righe sopra.
-
 @node Messaggio di errore Unbound variable %
 @unnumberedsubsec Messaggio di errore Unbound variable %
 @translationof Error message Unbound variable %
 
 Questo messaggio di errore comparirà in fondo alla console di
-output o nel file di log insieme al messaggio @qq{GUILE signalled an error ...}
+output o nel file di log insieme al messaggio @qq{GUILE signalled an error @dots{}}
 ogni volta che viene chiamata una routine di Scheme che contenga (erroneamente)
 un commento @emph{LilyPond} invece di un commento @emph{Scheme}.
 
@@ -823,9 +1060,95 @@ messaggi di avvertimento facendo in modo che uno dei contesti si comporti
 come un rigo inserendo
 
 @example
-\override VerticalAxisGroup #'staff-affinity = ##f
+\override VerticalAxisGroup.staff-affinity = ##f
 @end example
 
 @noindent
 all'inizio del contesto.  Per dettagli si veda @qq{Spacing of non-staff lines} in
 @ruser{Flexible vertical spacing within systems}.
+
+@node Messaggio di errore new inaspettato
+@unnumberedsubsec Messaggio di errore @code{@bs{}new} inaspettato
+@translationof Error message unexpected new
+
+Un blocco @code{\score} deve contenere una @emph{singola} espressione musicale.
+Se invece contiene vari @code{\new Staff}, @code{\new StaffGroup} o simili
+contesti introdotti con @code{\new} senza che questi siano racchiusi tra
+parentesi graffe, @code{@{ @dots{} @}}, o doppie parentesi uncinate, @code{<< @dots{} >>},
+ovvero così:
+
+@example
+\score @{
+  % Invalido! Genera l'errore: errore di sintassi, \new inaspettato
+  \new Staff @{ @dots{} @}
+  \new Staff @{ @dots{} @}
+@}
+@end example
+
+@noindent
+verrà generato questo messaggio di errore.
+
+Per evitare l'errore, è sufficiente racchiudere tutti i blocchi @code{\new} tra
+parentesi graffe o doppie parentesi uncinate.
+
+Se si usano le parentesi graffe, i blocchi @code{\new} appariranno in
+modo sequenziale:
+
+@lilypond[quote,verbatim]
+\score {
+  {
+    \new Staff { a' a' a' a' }
+    \new Staff { g' g' g' g' }
+  }
+}
+@end lilypond
+
+@noindent
+ma è più probabile che si debbano usare le doppie parentesi uncinate in modo
+che i nuovi righi siano avviati in parallelo, ovvero contemporaneamente:
+
+@lilypond[quote,verbatim]
+\score {
+  <<
+    \new Staff { a' a' a' a' }
+    \new Staff { g' g' g' g' }
+  >>
+}
+@end lilypond
+
+@node Avviso ignorare troppe collisioni tra colonne di nota
+@unnumberedsubsec Avviso ignorare troppe collisioni tra colonne di nota
+@translationof Warning ignoring too many clashing note columns
+
+Se note appartenenti a due voci diverse con gambi nella stessa
+direzione si trovano nello stesso momento musicale, e per le voci
+non è stato specificato alcun spostamento, quando si compila il
+file apparirà il messaggio di avviso
+@samp{avviso: ignorare troppe collisioni tra colonne di nota}.
+Tale avviso apparirà anche quando le note non hanno gambi visibili,
+come nel caso delle semibrevi, se i gambi di note più brevi della
+stessa altezza sono nella stessa direzione.
+
+Ricorda che la direzione del gambo, a meno che non sia specificata, per
+esempio tramite @code{\voiceOne}, etc., dipende dalla posizione della
+nota sul rigo.  Dunque se la direzione del gambo non è specificata, l'avviso
+apparirà solo quando i gambi si trovano nella stessa direzione, ovvero
+quando le note si trovano nella stessa metà del rigo.
+
+Si possono evitare questi avvisi mettendo le note in voci in cui siano
+indicate le direzioni dei gambi e gli spostamenti, per esempio usando
+@code{\voiceOne}, etc.
+
+Le note delle voci con un numero maggiore di due, @code{\voiceThree} etc., sono
+spostate automaticamente per avitare la collisione tra colonne di note.  Ciò
+causa uno spostamento visibile delle note con gambo, mentre le semibrevi
+non sono spostate visibilmente, a meno che non si verifichi una reale collisione
+tra teste di nota oppure quando le voci si incrociano rispetto al loro ordine
+naturale (quando le note di @code{\voiceThree} sono più alte di quelle di
+@code{\voiceOne}, etc.)
+
+@seealso
+@rlearning{Definire esplicitamente le voci},
+@rlearning{Esempio musicale},
+@ruser{Polifonia su un singolo rigo},
+@ruser{Risoluzione delle collisioni}.