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-factornum 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-filesbool Se bool è
#t, crea i file .tex, .texi e .count. Questa opzione viene usata principalmente dalilypond-book. Predefinito:#f.backendsimboloUsa simbolo come backend per l’output di LilyPond. I valori possibili sono:
psQuesta è 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.svgScalable 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-systemsboolSe bool è
#t, estrae frammenti musicali da una partitura. Per far ciò è necessario che sia stata definita la funzioneclip-regionsall’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.cropbool-
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.
datadirPrefisso per i file di dati. Questa è un’opzione di sola lettura; la sua impostazione non ha effetto.
debug-evalboolSe bool è
#t, usa l’analizzatore di debug Scheme, che in caso di errori mostra le backtrace con i numeri di linea. Predefinito:#f, o#tquando si usa--verbose.debug-skylinesboolSe bool è
#t, fa il debug dei profili (“skyline”). Predefinito:#f.delete-intermediate-filesboolSe bool è
#t, cancella i file .ps intermedi e inutilizzabili creati durante la compilazione. Predefinito:#t.embed-source-codeboolSe bool è
#t, incorpora i file sorgente LilyPond nel documento PDF generato. Predefinito:#f.eps-box-paddingnumSposta il margine sinistro della cornice EPS dell’output di num millimetri. Predefinito:
f(ovvero nessuna cornice).font-export-dirstringaImposta 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.psNota: 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-resdirstringaImposta 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.pdfNota: È meglio che la directory specificata non contenga il nome Resource perché ha un significato speciale quando utilizzata con l’opzione
-Idi 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-fontsbool 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-fontsbool 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-fontsbool Se bool è
#t, fa sì che Ghostscript incorpori solo i font TrueType e nessun altro formato per font. Predefinito:#f.helpbool Se bool è
#t, mostra questo aiuto. Predefinito:#f.include-book-title-previewbool Se bool è
#t, include i titoli dei libri nelle immagini di anteprima. Predefinito:#t.include-eps-fontsbool Se bool è
#t, include i font in file EPS con sistemi separati. Predefinito:#t.include-settingsstringa 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-countnum Elabora in parallelo, usando num lavori. Predefinito:
#f(ovvero nessuna elaborazione in parallelo).log-filestring Redirige l’output nel file di log stringa.log. Predefinito:
#f(ovvero nessun file di log).max-markup-depthnum 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-extensionstring Imposta l’estensione predefinita per il file MIDI su .stringa. Predefinito:
"midi".music-strings-to-pathsbool Se bool è
#t, converte le stringhe di testo in percorsi quando i glifi appartengono a un font musicale. Predefinito:#f.paper-sizestringa-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-formatsimbolo Imposta il formato di output di Ghostscript per le immagini raster su simbolo. Predefinito:
png16m.png-widthlarghezzapng-heightaltezzaPer 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-clickbool Se bool è
#t, aggiunge i collegamenti “punta e clicca” all’output PDF e SVG. Si veda Punta e clicca. Predefinito:#t.previewbool Se bool è
#t, crea immagini di anteprima oltre al normale output.Predefinito:
#f.Questa opzione è supportata da tutti i backend (
pdf,png,ps,epsesvg, 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\booko\bookpart, i titoli di\book,\bookparto\scoreappariranno nell’output, incluso il primo sistema di ogni blocco\scorese la variabileprint-all-headersdi\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-pagesbool Se bool è
#t, genera le pagine complete. Predefinito:#t.L’opzione -dno-print-pages è utile in combinazione con -dpreview o -dcrop.
protected-scheme-parsingboolSe 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-includesbool 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.resolutionnum Imposta la risoluzione per generare immagini
PNGsu num dpi. Predefinito:101.safebool 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
-dsafeo l’opzione --jail. L’opzione-dsafeimpedisce 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
\includee 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-filesbool 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-formatssimboloElenco separato da virgola di formati (
svg,pdf,pngoeps) da usare per le immagini di pagini separate inlilypond-book.show-available-fontsbool 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-dirbool Se bool è
#t, non usa le directory dei percorsi dei file di input per costruire i nomi dei file di output. Predefinito:#t.strokeadjustbool 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-woffbool 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-formatssimboloElenco separato da virgola di formati (
svg,pdf,pngoeps) da usare per l’immagine ‘tall page’ (pagina alta) inlilypond-book.use-paper-size-for-pageboolSe bool è
#t(predefinito), ogni pagina è impostata sulla dimensione del foglio, forse tagliando le parti che vanno oltre il foglio. Impostandolo su#fla pagina verrà ridimensionata per racchiudere il contenuto a seconda delle necessità.verboseLivello di verbosità. Questa è un’opzione di sola lettura; la sua impostazione non ha effetto.
warning-as-errorbool Se bool è
#t, trasforma tutti i messaggi di avviso e di “errore di programmazione” in errori. Predefinito:#f.