LilyPond: manuale d'uso del programma: 3.3 Opzioni dei frammenti musicali

## 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 è 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 — Utilizzo v2.24.4 (ramo stabile).