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, usando unità come unità di misura. unità può essere una delle seguenti stringhe: `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`

  Dove stringa è una delle dimensioni del foglio definite in ‘`scm/paper.scm`’, ad esempio `a5`, `quarto`, `11x17` etc.

  I valori non definiti in ‘`scm/paper.scm`’ saranno ignorati, sarà inviato un messaggio di avviso e al frammento sarà assegnata la dimensione predefinita, ovvero `a4`.

`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.

`indent=dimensione\unità`

  Imposta l’indentazione del primo sistema musicale a dimensione, usando unità come unità di misura. unità è una delle seguenti stringhe: `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 \
  >       -dbackend=eps --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.22.2 (ramo stabile).