@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: 7ae1e99ff67432c96faf743bc28ac7b90a47a852
+ Translation of GIT committish: ff7d82711b47d3d31f26e1e6fc012c4055a20059
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.14.0"
+@c \version "2.17.6"
@node Eseguire lilypond
@menu
* Utilizzo di lilypond::
-* Opzioni della linea di comando per 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
e non hanno niente a che fare con lilypond.
-@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 @option{-e}; saranno analizzate in modo
sequenziale.
@noindent
in cima al file @code{.ly}.
-@item -f,--format=@var{formato}
-Formati di output. Come @code{formato} si può scegliere tra
-@code{ps}, @code{pdf}, e @code{png}.
-
-Esempio: @code{lilypond -fpng @var{file}.ly}
-
-
-
-@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
-
-@cindex punta e clicca, linea di comando
-
-@example
--dno-point-and-click
-@end example
-
-@noindent
-è equivalente a
-@example
--dpoint-and-click='#f'
-@end example
-
-Di seguito alcune opzioni interessanti.
-
-@cindex aiuto, linea di comando
-
-@table @samp
-@item help
-L'esecuzione di @code{lilypond -dhelp} mostrerà tutte le opzioni disponibili
-di @option{-d}.
-
-@cindex paper-size, linea di comando
-
-@item paper-size
-Questa opzione imposta la dimensione predefinita del foglio,
-@example
--dpaper-size=\"letter\"
-@end example
-
-@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
-
-@cindex safe, linea di comando
+@warning{Gli utenti Windows devono usare i doppi apici invece dei singoli apici.}
-@item safe
-Non si fida dell'input nel file @code{.ly}.
+@cindex output, formato
+@cindex formato, output
-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
-
-@quotation
-@verbatim
-#(system "rm -rf /")
-{
- c4^#(ly:export (ly:gulp-file "/etc/passwd"))
-}
-@end verbatim
-@end quotation
-
-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}.
-
-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.
-
-@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.
-
-La modalità sicura bloccherà la compilazione di molti utili frammenti di codice
-LilyPond. L'opzione @option{--jail} è un'alternativa più sicura, ma richiede
-più lavoro per configurarla.
-
-@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.
-
- 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 -f, --format=@var{formato}
+Formati di output. Come @code{formato} si può scegliere tra
+@code{ps}, @code{pdf} e @code{png}.
-@item eps
+Esempio: @code{lilypond -fpng @var{file}.ly}
-@cindex Postscript, incapsulato
-@cindex EPS (Encapsulated PostScript)
+@item -h, --help
+Mostra una sintesi dell'utilizzo.
- 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 -H, --header=@var{CAMPO}
+Estrae un campo dell'intestazione nel file @file{NOME.@var{CAMPO}}.
-Questa è la modalità predefinita di @command{lilypond-book}.
+@item -i, --init=@var{file}
+Imposta il file di inizializzazione su @var{file} (predefinito: @file{init.ly}).
-@item svg
+@cindex ricerca dei file
+@cindex percorso di ricerca
-@cindex SVG (Scalable Vector Graphics)
+@item -I, --include=@var{directory}
+Aggiunge @var{directory} al percorso di ricerca per i file di input.
- per ottenere SVG (Scalable Vector Graphics).
+È 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.
- 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.
+@cindex gabbia chroot, esecuzione all'interno di
-@item scm
+@item -j, --jail=@var{utente},@var{gruppo},@var{gabbia},@var{directory}
+Esegue @command{lilypond} in una gabbia chroot.
-@cindex Scheme, estrazione di
+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}).
- per estrarre i comandi di disegno grezzi e interni, basati su Scheme.
+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 null
- non produce la stampa della partitura; ha lo stesso effetto di @option{-dno-print-pages}.
-@end table
+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:
-Esempio: @code{lilypond -dbackend=svg @var{filename}.ly}
+@table @asis
-@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 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 gui
-Viene eseguito senza avvisi e redirige tutto l'output verso un file di log.
+@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}.
-Nota per gli utenti Windows: Per impostazione predefinita @code{lilypond.exe} mostra
-tutta l'informazione dell'elaborazione in corso nella finestra dei comandi, @code{lilypond-windows.exe}
-invece fa apparire un prompt, privo di informazioni sull'elaborazione, subito
-nella linea di comando. In questo caso si può usare l'opzione @option{-dgui}
-per redirigere l'output verso un file di log.
+@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}).
-@item print-pages
-Genera tutte le pagine, come da impostazione predefinita. @option{-dno-print-pages} è
-utile in combinazione con @option{-dpreview}.
+Se c'è un problema, il modo più semplice per individuarlo è lanciare
+LilyPond usando @command{strace}, che permetterà di scoprire quali
+file mancano.
+@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
-
-
-@item -h,--help
-Mostra una sintesi dell'utilizzo.
-
-@item -H,--header=@var{CAMPO}
-Estrae un campo dell'intestazione nel file @file{NOME.@var{CAMPO}}.
-
-@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.
-
-È 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.
-
-@item -i,--init=@var{file}
-Imposta il file di inizializzazione su @var{file} (predefinito: @file{init.ly}).
-
@cindex loglevel
-@cindex output verbosity, setting
+@cindex output dettagliato
-@item -l,--loglevel=@var{LIVELLO}
+@item -l, --loglevel=@var{LIVELLO}
Imposta la verbosità dell'output della console su @var{LIVELLO}. I valori possibili sono:
@table @code
+
@item NONE
Nessun output, nemmeno i messaggi di errore.
Solo i messaggi di errore, niente avvisi o messaggi di elaborazione.
@item WARN
-Avvisi e nessaggi di errore, nessun messaggio di elaborazione.
+Avvisi e messaggi di errore, nessun messaggio di elaborazione.
@item BASIC_PROGRESS
Messaggi di elaborazione di base (riuscita), avvisi e errori.
@item DEBUG
Tutti i messaggi possibili, incluso l'output verboso di debug.
+
@end table
-@cindex cartella, dirigere l'output in
-@cindex nome del file di output, impostare
+@cindex directory, dirigere l'output in
+@cindex output, impostare il nome del file
+@cindex output, directory
-@item -o,--output=@var{FILE} or @var{CARTELLA}
+@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).
-
-@cindex PostScript
+@cindex PS (Postscript), output
+@cindex Postscript (PS), output
+@cindex output, PS (Postscript)
@item --ps
Genera PostScript.
-@cindex Portable Network Graphics (PNG)
+@cindex PNG (Portable Network Graphics), output
+@cindex output, PNG (Portable Network Graphics)
@item --png
-Genera immmagini di ogni pagina in formato PNG. Questo implica
+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
-@cindex Portable Document Format (PDF)
+@cindex PDF (Portable Document Format), output
+@cindex output, PDF (Portable Document Format)
@item --pdf
Genera PDF. Questo implica @option{--ps}.
+@item -v, --version
+Mostra informazioni sulla versione.
+@item -V, --verbose
+Aumenta la prolissità: mostra i percorsi completi di tutti i file letti e dà
+informazioni sui tempi.
-@item -j,--jail=@var{utente},@var{gruppo},@var{gabbia},@var{directory}
-Esegue @command{lilypond} in una gabbia chroot.
+@item -w, --warranty
+Mostra la garanzia con cui viene distribuito GNU LilyPond. (Distribuito
+con @strong{NESSUNA GARANZIA}!)
-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.
+@end table
-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}.
-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:
+@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
-@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.
+@table @code
-@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}.
+@item -d@var{[nome-opzione]}=@var{[valore]},--define-default=@var{[nome-opzione]}=@var{[valore]}
+Imposta l'equivalente funzione interna di Scheme su @var{valore}.
-@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}).
+@example
+-dbackend=svg
+@end example
-Se c'è un problema, il modo più semplice per individuarlo è lanciare
-LilyPond usando @command{strace}, che permetterà di scoprire quali
-file mancano.
+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 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.
+@cindex punta e clicca, linea di comando
+
+@example
+-dpoint-and-click=#f
+@end example
+
+@noindent
+è equivalente a
+@example
+-dno-point-and-click
+@end example
@end table
+@noindent Sono supportate le seguenti opzioni insieme ai loro rispettivi
+valori predefiniti:
-@item -v,--version
-Mostra informazioni sulla versione.
+@multitable @columnfractions .33 .16 .51
+@item @strong{Simbolo}
+@tab @strong{Valore}
+@tab @strong{Spiegazione/Opzioni}
-@item -V,--verbose
-Aumenta la prolissità: mostra i percorsi completi di tutti i file letti, e dà
-informazioni sui tempi.
+@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}.
-@item -w,--warranty
-Mostra la garanzia con cui viene distribuito GNU LilyPond. (Distribuito
-con @strong{NESSUNA GARANZIA}!)
-@end table
+@item @code{aux-files}
+@tab @code{#t}
+@tab Crea i file @code{.tex}, @code{.texi}, @code{.count} nel backend
+@code{EPS}.
+
+@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.
+
+@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
+@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/}. L'output SVG dovrebbe essere compatibile con qualsiasi
+editor SVG o user agent. 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
+
+@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{#f}
+@tab Aggiunge i collegamenti @q{punta e clicca} all'output @code{PDF}. Si veda
+@ref{Point and click}.
+
+@item @code{preview}
+@tab @code{#f}
+@tab Crea immagini di anteprima oltre al normale output.
+@end multitable
+
+@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
+
+@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
+
+@quotation
+@verbatim
+#(system "rm -rf /")
+{
+ c4^$(ly:gulp-file "/etc/passwd")
+}
+@end verbatim
+@end quotation
+
+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}.
+
+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.
+
+@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.
+
+La modalità sicura bloccherà la compilazione di molti utili frammenti di codice
+LilyPond.
+
+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 @code{show-available-fonts}
+@tab @code{#f}
+@tab Elenca i nomi di font disponibili.
+
+@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 @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{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
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
@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::
@end menu
@node La musica esce dalla pagina
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ù
conserva il colore nero predefinito per le teste delle note.
@lilypond[quote,verbatim,relative=2]
-\override Staff.NoteHead #'color = #red
+\override Staff.NoteHead.color = #red
\new Staff { a }
@end lilypond
@lilypond[quote,verbatim,relative=2]
\new Staff {
- \override Staff.NoteHead #'color = #red
+ \override Staff.NoteHead.color = #red
a
}
@end lilypond
@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 %
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