Opzioni avanzate della linea di comando per lilypond
L’opzione -d è l’interfaccia a linea di comando alla funzione Scheme
di LilyPond ly:set-option
. Ciò significa che tutte le opzioni elencate
qui possono essere impostate anche nei file .ly.
-d
,--define-default=
nome-opzione[=
valore-d
,--define-default=no-
nome-opzioneImposta l’equivalente simbolo interno di Scheme su nome-opzione. Per esempio, l’opzione da linea di comando
-dbackend=svg
è equivalente a
#(ly:set-option 'backend 'svg)
in un file di input di LilyPond.
Se non viene specificato un valore, viene usato il valore predefinito
#t
(che potrebbe produrre risultati strani se il valore atteso non è di tipo booleano). Per disabilitare un’opzione, si può usare il prefissono-
prima di nome-opzione. Per esempio:-dpoint-and-click='#f'
è equivalente a
-dno-point-and-click
[Attenzione: il carattere ‘#’ introduce un commento in molte shell, dunque si raccomanda di racchiudere sempre tra virgolette le espressioni che lo contengono.]
La seguente tabella elenca tutti i nomi delle opzioni supportate insieme ai
loro rispettivi valori. All’interno del codice Scheme, i valori delle
opzioni possono essere letti usando la funzione ly:get-option
.
anti-alias-factor
num Elabora a una risoluzione più alta (usando il fattore num, che deve essere un numero intero positivo ≤8) e ridimensiona il risultato per evitare gli “artefatti” nelle immagini PNG. Predefinito:
1
.aux-files
bool Se bool è
#t
, crea i file .tex, .texi e .count. Questa opzione viene usata principalmente dalilypond-book
. Predefinito:#f
.backend
simboloUsa simbolo come backend per l’output di LilyPond. I valori possibili sono:
ps
Questa è l’impostazione predefinita. I file PostScript comprendono 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.
Anche per l’output PDF viene usato il backend
ps
; i dati PS risultanti sono poi rielaborati dallo script di Ghostscriptps2pdf
, che si occupa anche dei sottoinsiemi di font.svg
Scalable Vector Graphics. Viene creato un singolo file SVG per ogni pagina dell’output. I glifi musicali vengono tradotti in grafica vettoriale, ma i tipi di carattere del testo non sono incorporati nei file SVG. Dunque qualsiasi lettore SVG dovrà avere accesso ai tipi di carattere necessari per rendere in modo adeguato il testo. Si raccomanda di non usare “liste” o “alias” dei tipi di carattere se il lettore SVG non è in grado di gestirli. Se si usano i file Web Open Font Format (WOFF), è richiesta anche l’opzione
svg-woff
.
clip-systems
boolSe bool è
#t
, estrae frammenti musicali da una partitura. Per far ciò è necessario che sia stata definita la funzioneclip-regions
all’interno del blocco\layout
. Maggiori informazioni in Estrarre frammenti musicali. Nessun frammento verrà estratto se questa opzione è usata insieme all’opzione -dno-print-pages. Predefinito:#f
.crop
bool-
Se bool è
#t
, viene creato un secondo file PDF (con estensione .cropped.pdf), insieme a un’immagine (con estensione .cropped.png). Questo file di output comprime tutta la musica e le intestazioni, senza margini, in una sola pagina, possibilmente alta. Se è impostata l’opzione --svg, viene prodotto invece un ulteriore file SVG (con estensione .cropped.svg). Se è impostata l’opzione --eps o --ps, al posto di un file PDF ritagliato viene prodotto invece un EPS ritagliato (con estensione .cropped.eps). Predefinito:#f
.Si noti che attualmente questa opzione non è adatta all’output con molti sistemi perché viene tolto lo spazio verticale tra i sistemi.
datadir
Prefisso per i file di dati. Questa è un’opzione di sola lettura; la sua impostazione non ha effetto.
debug-eval
boolSe bool è
#t
, usa l’analizzatore di debug Scheme, che in caso di errori mostra le backtrace con i numeri di linea. Predefinito:#f
, o#t
quando si usa--verbose
.debug-skylines
boolSe bool è
#t
, fa il debug dei profili (“skyline”). Predefinito:#f
.delete-intermediate-files
boolSe bool è
#t
, cancella i file .ps intermedi e inutilizzabili creati durante la compilazione. Predefinito:#t
.embed-source-code
boolSe bool è
#t
, incorpora i file sorgente LilyPond nel documento PDF generato. Predefinito:#f
.eps-box-padding
numSposta il margine sinistro della cornice EPS dell’output di num millimetri. Predefinito:
f
(ovvero nessuna cornice).font-export-dir
stringaImposta la directory per esportare i font come file PostScript su stringa. È utile quando si desidera creare prima un PDF senza font incorporati e poi incorporarli con Ghostscript come mostrato sotto.
$ lilypond -dfont-export-dir=fontdir -dgs-never-embed-fonts foo.ly $ gs -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite \ -sOutputFile=foo.embedded.pdf foo.pdf fontdir/*.font.ps
Nota: Diversamente da
font-ps-resdir
, questo metodo non permette di incorporare i font CID con Ghostscript 9.26 e versioni successive.Nota: Come con
font-ps-resdir
, questa opzione non agisce sui font TrueType, perché incorporare i font TrueType successivamente produce caratteri confusi. Per evitare che i caratteri siano confusi, usaregs-never-embed-fonts
, che a dispetto del nome incorpora i font TrueType.Predefinito:
#f
(ovvero non esportare).font-ps-resdir
stringaImposta la directory (come stringa) per generare un sottoinsieme della directory delle risorse PostScript da usare successivamente per incorporare i font. È utile quando si desidera creare prima un PDF senza font incorporati e poi incorporarli con Ghostscript come mostrato sotto.
$ lilypond -dfont-ps-resdir=resdir -dgs-never-embed-fonts foo.ly $ gs -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite \ -I resdir -I resdir/Font \ -sOutputFile=foo.embedded.pdf foo.pdf
Nota: È meglio che la directory specificata non contenga il nome Resource perché ha un significato speciale quando utilizzata con l’opzione
-I
di Ghostscript.Nota: Diversamente da
font-export-dir
, questo metodo permette di incorporare i font CID con Ghostscript 9.26 e versioni successive.Note: Come con
font-export-dir
, questa opzione non agisce sui font TrueType, perché incorporare i font TrueType successivamente produce caratteri confusi. Per evitare che i caratteri siano confusi, usaregs-never-embed-fonts
, che a dispetto del nome incorpora i font TrueType.Predefinito:
#f
(ovvero non generare niente).gs-load-fonts
bool Se bool è
#t
, carica i font attraverso Ghostscript. Questa opzione fa sì che file di output di LilyPond contengano solo i riferimenti a tutti i font, che devono essere risolti in font reali in un passaggio successivo di elaborazione da parte di Ghostscript. Predefinito:#f
.gs-load-lily-fonts
bool Se bool è
#t
, carica i font LilyPond attraverso Ghostscript. Questa opzione fa sì che file di output di LilyPond contengano solo i riferimenti ai suoi font musicali, che devono essere risolti in font reali in un passaggio successivo di elaborazione da parte di Ghostscript. Tutti gli altri font sono generati normalmente. Predefinito:#f
.gs-never-embed-fonts
bool Se bool è
#t
, fa sì che Ghostscript incorpori solo i font TrueType e nessun altro formato per font. Predefinito:#f
.help
bool Se bool è
#t
, mostra questo aiuto. Predefinito:#f
.include-book-title-preview
bool Se bool è
#t
, include i titoli dei libri nelle immagini di anteprima. Predefinito:#t
.include-eps-fonts
bool Se bool è
#t
, include i font in file EPS con sistemi separati. Predefinito:#t
.include-settings
stringa Include il file stringa per le impostazioni globali, che viene incluso prima che la partitura sia elaborata. Predefinito:
#f
(ovvero nessun file per le impostazioni globali).job-count
num Elabora in parallelo, usando num lavori. Predefinito:
#f
(ovvero nessuna elaborazione in parallelo).log-file
string Redirige l’output nel file di log stringa.log. Predefinito:
#f
(ovvero nessun file di log).max-markup-depth
num Imposta la massima profondità per la struttura del blocco markup sul valore num. Se un blocco markup ha più livelli, assume che non terminerà da solo, stampa un avviso e restituisce al suo posto un markup vuoto. Predefinito:
1024
.midi-extension
string Imposta l’estensione predefinita per il file MIDI su .stringa. Predefinito:
"midi"
.music-strings-to-paths
bool Se bool è
#t
, converte le stringhe di testo in percorsi quando i glifi appartengono a un font musicale. Predefinito:#f
.paper-size
stringa-tra-virgolette Imposta la dimensione predefinita del foglio su stringa-tra-virgolette. Nota che la stringa deve essere racchiusa tra virgolette precedute dal segno di escape. Predefinito:
"\"a4\""
.pixmap-format
simbolo Imposta il formato di output di Ghostscript per le immagini raster su simbolo. Predefinito:
png16m
.png-width
larghezzapng-height
altezzaPer l’output PNG, imposta la larghezza e l’altezza (in pixel) del file immagine creato. Se manca una delle opzioni, l’altra dimensione viene calcolata in base al riquadro di delimitazione EPS, mantenendo le proporzioni.
Oltre a --png, per ottenere una scala corretta dell’immagine senza tagli, si deve usare --eps, -dcrop o -dpreview.
L’opzione -dresolution viene ignorata.
Attenzione, c’è un bug nelle versioni di Ghostscript fino alla 9.52 che riguarda queste due opzioni: produce immagini PNG vuote se l’altezza è più grande della larghezza.
point-and-click
bool Se bool è
#t
, aggiunge i collegamenti “punta e clicca” all’output PDF e SVG. Si veda Punta e clicca. Predefinito:#t
.preview
bool Se bool è
#t
, crea immagini di anteprima oltre al normale output.Predefinito:
#f
.Questa opzione è supportata da tutti i backend (
pdf
,png
,ps
,eps
esvg
, eccettoscm
. Per un file di input chiamato file e backend formato, genera un file di output dal nome file.preview.
formato, contenente i titoli e il primo sistema. Se vengono usati i blocchi\book
o\bookpart
, i titoli di\book
,\bookpart
o\score
appariranno nell’output, incluso il primo sistema di ogni blocco\score
se la variabileprint-all-headers
di\paper
è impostata su#t
.Per impedire il normale output, si usano le opzioni -dprint-pages o -dno-print-pages in base alle proprie esigenze.
print-pages
bool Se bool è
#t
, genera le pagine complete. Predefinito:#t
.L’opzione -dno-print-pages è utile in combinazione con -dpreview o -dcrop.
protected-scheme-parsing
boolSe bool è
#t
, continua finché l’analizzatore non coglie degli errori nel codice Scheme interno al file di input. Se impostato su#f
, in caso di errore si ferma e mostra la traccia di stack. Predefinito:#t
.relative-includes
bool Quando elabora un comando
\include
, cerca il file incluso in posizione relativa al file corrente se bool è#t
. Se impostato su#f
, cerca il file relativo al file root. Predefinito:#t
.resolution
num Imposta la risoluzione per generare immagini
PNG
su num dpi. Predefinito:101
.safe
bool Se bool è
#t
, non si fida dell’input nel file .ly. Predefinito:#f
.Quando la formattazione di LilyPond viene messa a disposizione tramite un server web, si DEVE passare l’opzione
-dsafe
o l’opzione --jail. L’opzione-dsafe
impedisce che il codice Scheme presente nell’input possa fare uno scempio,% troppo pericoloso per scriverlo correttamente #(s ystem "rm -rf /") % malvagio ma non distruttivo { c4^$(ly:gulp-file "/etc/passwd") }
L’opzione -dsafe serve a valutare le espressioni Scheme presenti nell’input in uno speciale modulo di sicurezza. Questo modulo di sicurezza è derivato dal modulo Guile safe-r5rs, ma aggiunge alcune funzioni del LilyPond API. Queste funzioni sono elencate in scm/safe-lily.scm.
Inoltre, la modalità sicura non permette le direttive
\include
e disabilita l’uso del backslash nelle stringhe TeX. In modalità sicura, non è possibile importare le variabili di LilyPond in Scheme.L’opzione -dsafe 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 --jail è un’alternativa più sicura, ma richiede più lavoro per configurarla. Si veda Opzioni di base della linea di comando per LilyPond.
separate-log-files
bool Per i file di input file1.ly, file2.ly, …, salva i dati di log nei file file1.log, file2.log, …, se bool è
#t
. Predefinito:#f
.separate-page-formats
simboloElenco separato da virgola di formati (
svg
,pdf
,png
oeps
) da usare per le immagini di pagini separate inlilypond-book
.show-available-fonts
bool Se bool è
#t
, elenca i nomi di font disponibili così come li consegna la libreria fontconfig. In fondo a questo elenco LilyPond mostra le impostazioni di configurazione di fontconfig. Predefinito:#f
.strip-output-dir
bool Se bool è
#t
, non usa le directory dei percorsi dei file di input per costruire i nomi dei file di output. Predefinito:#t
.strokeadjust
bool Se bool è
#t
, 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. Tuttavia l’opzione non produce effetti visibili sulla qualità di stampa e causa un notevole aumento della dimensione dei file PDF. Predefinito:#f
.svg-woff
bool Questa opzione è richiesta se si usano i file del formato per font Web Open Font Format (WOFF) col backend
svg
. Se bool è#t
, viene creato un singolo file SVG per ogni pagina di output. Eccetto i glifi musicali di LilyPond, nessun altro tipo di carattere verrà incorporato nel file. Dunque qualsiasi lettore SVG dovrà avere accesso ai tipi di carattere per rendere in modo adeguato il testo. Si raccomanda di non usare gli “alias” o le “liste” dei tipi di carattere se il lettore SVG non è in grado di gestirli. Predefinito:#f
.tall-page-formats
simboloElenco separato da virgola di formati (
svg
,pdf
,png
oeps
) da usare per l’immagine ‘tall page’ (pagina alta) inlilypond-book
.use-paper-size-for-page
boolSe bool è
#t
(predefinito), ogni pagina è impostata sulla dimensione del foglio, forse tagliando le parti che vanno oltre il foglio. Impostandolo su#f
la pagina verrà ridimensionata per racchiudere il contenuto a seconda delle necessità.verbose
Livello di verbosità. Questa è un’opzione di sola lettura; la sua impostazione non ha effetto.
warning-as-error
bool Se bool è
#t
, trasforma tutti i messaggi di avviso e di “errore di programmazione” in errori. Predefinito:#f
.