3.3 Opzioni dei frammenti musicali

Nelle pagine che seguono, per ‘comando LilyPond’ si intende un qualsiasi comando descritto nelle sezioni precedenti che sia gestito da lilypond-book per produrre un frammento musicale. Per semplicità, i comandi LilyPond vengono mostrati soltanto nella sintassi LaTeX.

Nota che la stringa delle opzioni è analizzata da sinistra a destra; se un’opzione ricorre più di una volta, viene applicata nella sua ultima occorrenza.

Sono disponibili le seguenti opzioni per i comandi LilyPond:

staffsize=altezza

Imposta la dimensione del pentagramma a altezza, misurata in punti.

ragged-right

Produce linee con margine destro irregolare e spaziatura naturale, ovvero viene aggiunto ragged-right = ##t al frammento LilyPond. Frammenti con un solo rigo avranno sempre il margine destro irregolare, a meno che non venga specificato esplicitamente noragged-right.

noragged-right

Per i frammenti di una sola linea, fa sì che la lunghezza del rigo venga estesa fino a coincidere con la larghezza della linea, ovvero viene aggiunto ragged-right = ##f al frammento LilyPond.

line-width
line-width=dimensione\unità

Imposta la lunghezza della linea a dimensione (espressa in unità). unità può essere una delle seguenti: cm, mm, in o pt. Questa opzione riguarda l’output LilyPond (ovvero, la lunghezza del rigo del frammento musicale), non la formattazione del testo.

Se usato senza un argomento, imposta la lunghezza della linea a un valore predefinito (calcolato da un algoritmo euristico).

Se non viene assegnata un’opzione line-width, lilypond-book cerca di indovinare un valore predefinito per gli ambienti lilypond che non usano l’opzione ragged-right.

papersize=stringa

Imposta la dimensione del foglio su stringa (ad esempio, a5 o letter) per i frammenti musicali che usano \book. Vedi Formati carta predefiniti per un elenco delle dimensioni del foglio disponibili.

Questa opzione riguarda l’output LilyPond (ovvero, la dimensione del foglio del frammento musicale), non la formattazione del testo. Valori sconosciuti di stringa vengono ignorati: viene emesso un avviso e il frammento viene elaborato usando la dimensione predefinita a4.

paper-width=dimensione\unità

Imposta la larghezza del foglio su dimensione (espressa in unità) per i frammenti musicali che usano \book. unità è uno dei seguenti: cm, mm, in o pt.

Questa opzione riguarda l’output LilyPond (ovvero, la larghezza del foglio del frammento musicale), non la formattazione del testo. Se impostata, sovrascrive l’opzione papersize se presente. Se l’opzione paper-height non è specificata, l’altezza del foglio è impostata sull’altezza del foglio A4 predefinito (296mm).

paper-height=dimensione\unità

Imposta l’altezza del foglio su dimensione (espressa in unit) per i frammenti musicali che usano \book. unità è uno dei seguenti: cm, mm, in o pt.

Questa opzione riguarda l’output LilyPond (ovvero, l’altezza del foglio del frammento musicale), non la formattazione del testo. Se impostata, sovrascrive l’opzione papersize se presente. Se l’opzione paper-width non è specificata, la larghezza del foglio è impostata sulla larghezza del foglio A4 predefinito (210mm).

Example:

\lilypond[paper-width=10\cm, paper-height=57\mm]{
  \book {
    ...
  }
}
notime

Non viene visualizzata l’indicazione di tempo e disabilita i segni relativi alla scansione ritmica (segno di tempo, barre di divisione) nella partitura.

fragment

Fa sì che lilypond-book aggiunga del codice boilerplate in modo che sia possibile inserire semplicemente, ad esempio,

c'4

senza \layout, \score, etc.

nofragment

Non aggiunge del codice ulteriore per completare il codice LilyPond nei frammenti musicali. Essendo l’impostazione predefinita, nofragment di norma è ridondante.

inline

Imposta il frammento per l’uso “in linea”, ovvero all’interno di un paragrafo. Il frammento viene formattato con un padding sinistro molto piccolo (circa lo stesso del padding destro), ignorando il valore dato dall’opzione a linea di comando --left-padding.

Per l’output Texinfo, sopprime l’inserimento di una riga vuota prima e dopo il frammento. Per l’output HTML, sopprime l’inserimento di <p> prima e di </p> dopo il frammento.

Per far sì che un frammento appaia davvero in linea nella modalità LaTeX e Texinfo, è necessario posizionarlo all’interno di un paragrafo, evitando una riga vuota prima e dopo il frammento. Per esempio

Il motivo
\lilypond[inline,staffsize=11]{
  { \time 2/4 r8 g'[ g' g'] | es'2 }
}
è ben noto.

diventa

Il motivo [image of music] è ben noto.

indent=dimensione\unità

Imposta l’indentazione del primo sistema musicale a dimensione (espressa in unità). unità è una delle seguenti: cm, mm, in o pt. Questa opzione riguarda LilyPond, non la formattazione del testo.

noindent

Imposta l’indentazione del primo sistema musicale su zero. Questa opzione interessa LilyPond, non la formattazione del testo. L’assenza di indentazione è l’impostazione predefinita, dunque normalmente noindent è ridondante.

quote

Riduce la lunghezza della linea di un frammento musicale di 2*0.4in e inserisce l’output in un blocco per le citazioni. Il valore ‘0.4in’ può essere controllato con l’opzione exampleindent.

exampleindent

Imposta la quantità di spazio con cui l’opzione quote indenta un frammento musicale.

relative
relative=n

Usa la modalità di ottava relativa. Per impostazione predefinita, le altezze delle note sono riferite al Do centrale. L’argomento opzionale del numero intero specifica l’ottava della nota iniziale: il valore predefinito 1 è il Do centrale. L’opzione relative funziona solo quando è impostata l’opzione fragment, quindi fragment è implicitamente sottinteso da relative, a prescindere dalla presenza dell’opzione (no)fragment nel sorgente.

LilyPond usa lilypond-book anche per produrre la propria documentazione. A questo scopo, esistono altre opzioni più complesse per i frammenti musicali.

verbatim

L’argomento di un comando LilyPond viene copiato nel file di output e racchiuso in un blocco di testo, seguito da qualsiasi testo assegnato con l’opzione intertext (non ancora implementato); quindi viene mostrata la musica vera e propria. Questa opzione non funziona bene con \lilypond{} se fa parte di un paragrafo.

Se verbatim viene usato in un comando lilypondfile, è possibile includere il testo di una parte soltanto del file sorgente. Se il file sorgente ha un commento contenente ‘begin verbatim’ (senza virgolette), la citazione del sorgente nel blocco testuale inizierà dopo l’ultima occorrenza di tale commento; in modo analogo, la citazione del testo sorgente si fermerà proprio prima della prima occorrenza di un commento contenente ‘end verbatim’, se presente. Nel seguente file sorgente di esempio, la musica viene interpretata in modalità relativa ma il blocco testuale non mostrerà il blocco relative, ovvero

\relative { % begin verbatim
  c'4 e2 g4
  f2 e % end verbatim
}

mostrerà il seguente blocco testuale

  c4 e2 g4
  f2 e

Se si desidera tradurre i commenti e i nomi delle variabili nell’output verbatim ma non nei sorgenti, si può impostare la variabile d’ambiente LYDOC_LOCALEDIR sul percorso di una directory; la directory deve contenere un albero dei cataloghi di messaggio .mo che hanno lilypond-doc come dominio.

texidoc

(Solo per l’output Texinfo.) Se lilypond viene lanciato con l’opzione --header=texidoc e il file da elaborare si chiama foo.ly, verrà creato un file foo.texidoc a patto che ci sia un campo texidoc nel blocco \header. L’opzione texidoc fa sì che lilypond-book includa tali file, aggiungendo il loro contenuto in forma di blocco di documentazione proprio prima del frammento di musica (ma fuori dall’ambiente example generato da un’opzione quote).

Se il file foo.ly contiene

\header {
  texidoc = "Questo file mostra il funzionamento di una singola nota."
}
{ c'4 }

e il documento Texinfo test.texinfo contiene

@lilypondfile[texidoc]{foo.ly}

il seguente comando produce il risultato atteso

lilypond-book --pdf --process="lilypond \
  --header=texidoc" test.texinfo

Per la maggior parte, i documenti di test di LilyPond (nella directory input della distribuzione) sono piccoli file .ly che hanno esattamente questo aspetto.

Ai fini della localizzazione, se il documento Texinfo document contiene @documentlanguage LANG e l’header di foo.ly contiene un campo texidocLANG, quando si lancia lilypond con l’opzione --header=texidocLANG verrà incluso foo.texidocLANG invece di foo.texidoc.

doctitle

(Solo per l’output Texinfo.) Questa opzione funziona in modo simile all’opzione texidoc: se lilypond viene lanciato con l’opzione --header=doctitle e il file da elaborare si chiama foo.ly e contiene un campo doctitle nel blocco \header, viene creato un file foo.doctitle. Se si usa l’opzione doctitle, i contenuti di foo.doctitle, che dovrebbero trovarsi su una singola linea di text, vengono inseriti nel documento Texinfo come @lydoctitle text. @lydoctitle è una macro definita nel documento Texinfo. Lo stesso discorso relativo all’elaborazione texidoc delle lingue localizzate si applica anche a doctitle.

nogettext

(Solo per l’output Texinfo.) Non tradurre i commenti e i nomi delle variabili nel blocco testuale del frammento citato.

printfilename

Se un file di input di LilyPond viene incluso con \lilypondfile, il nome del file viene mostrato immediatamente prima del frammento musicale. Per l’output HTML, questo nome è un collegamento. Viene mostrata solo la base del nome del file, ovvero viene tolta la parte che costituisce il percorso del file.


LilyPond: manuale d’uso del programma v2.25.14 (ramo di sviluppo).