Guida alla Notazione di LilyPond: 1.7.1 Interne al rigo

### 1.7.1 Interne al rigo

Questa sezione spiega come aggiungere enfasi agli elementi interni al rigo.

#### Scelta della dimensione del tipo di carattere

Nota:
Per le dimensioni del testo, leggere Scelta del tipo di carattere e della dimensione.
Per la dimensione del rigo, leggere Impostare la dimensione del rigo.
Per le citazioni in corpo piccolo, leggere Formattazione delle notine.
Per i righi ossia, leggere Righi ossia.

Per modificare la dimensione di un elemento della notazione senza cambiare anche la dimensione del rigo, si può specificare un fattore di ingrandimento col comando `\magnifyMusic`:

>     \new Staff <<
>       \new Voice \relative {
>         \voiceOne
>         <e' e'>4 <f f'>8. <g g'>16 <f f'>8 <e e'>4 r8
>       }
>       \new Voice \relative {
>         \voiceTwo
>         \magnifyMusic 0.63 {
>           \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63)
>           r32 c'' a c a c a c r c a c a c a c
>           r c a c a c a c a c a c a c a c
>         }
>       }
>     >>

L’`\override` in questo esempio serve a eludere un difetto del programma, spiegato in “Known issues and warnings” alla fine di questa sezione.

Se la testa di una nota di dimensione normale è accorpata con una più piccola, potrebbe essere necessario ripristinare la dimensione della nota più piccola (con ‘`\once \normalsize`’) in modo che i gambi e le alterazioni siano allineati correttamente:

>     \new Staff <<
>       \key fis \minor
>       \mergeDifferentlyDottedOn
>       \new Voice \relative {
>         \voiceOne
>         \magnifyMusic 0.63 {
>           \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63)
>           \once \normalsize cis'32( cis' gis b a fis \once \normalsize d d'
>           \once \normalsize cis, cis' gis b a gis \once \normalsize fis fis'
>           \once \normalsize fis, fis' ais, cis b gis \once \normalsize eis eis'
>           \once \normalsize a, a' bis, d cis b \once \normalsize gis gis')
>         }
>       }
>       \new Voice \relative {
>         \voiceTwo
>         cis'8. d16 cis8. fis16 fis8. eis16 a8. gis16
>       }
>     >>

Il comando `\magnifyMusic` non è adatto per le citazioni in corpo piccolo, gli abbellimenti o i righi ossia, per i quali esistono metodi di inserimento più appropriati. È invece utile quando la dimensione della notazione cambia in una singola parte strumentale su un rigo e quando gli abbellimenti non sono la scelta appropriata, come nei passaggi di tipo cadenza o in casi simili agli esempi precedenti. Impostando il valore di `\magnifyMusic` su 0.63 si duplicano le dimensioni del contesto `CueVoice`.

Nota: Il comando `\magnifyMusic` non deve essere usato quando si ridimensiona anche il rigo. Maggiori informazioni in Impostare la dimensione del rigo.

#### Ridimensionare oggetti della formattazione individualmente

Un singolo oggetto della formattazione può essere ridimensionato coi comandi `\tweak` o `\override` per regolare la sua proprietà `font-size`:

>     \relative {
>       % ridimensiona una testa di nota
>       <f' \tweak font-size -4 b e>-5
>       % ridimensiona una diteggiatura
>       bes-\tweak font-size 0 -3
>       % ridimensiona un'alterazione
>       \once \override Accidental.font-size = -4 bes!-^
>       % ridimensiona un'articolazione
>       \once \override Script.font-size = 4 bes!-^
>     }

Il valore predefinito di `font-size` per ogni oggetto della formattazione è elencato nella Guida al funzionamento interno. La proprietà `font-size` può essere impostata solo per quegli oggetti che supportano l’interfaccia di formattazione `font-interface`. Se `font-size` non è specificato nella lista ‘Standard settings’ dell’oggetto, il suo valore è 0. Si veda All layout objects.

#### Capire la proprietà `fontSize`

La proprietà di contesto `fontSize` regola la dimensione relativa di tutti gli elementi della notazione basati su un glifo in un contesto:

>     \relative {
>       \time 3/4
>       d''4---5 c8( b a g) |
>       \set fontSize = -6
>       e'4-- c!8-4( b a g) |
>       \set fontSize = 0
>       fis4---3 e8( d) fis4 |
>       g2.
>     }

Il valore di `fontSize` è un numero che indica la dimensione relativa alla dimensione standard dell’altezza del rigo corrente. Il valore predefinito di `fontSize` è 0; aggiungendo 6 a qualsiasi valore di `fontSize` si raddoppia la dimensione dei glifi e togliendo 6 si dimezza. Ogni punto aumenta la dimensione di circa il 12%.

Dato che le unità logaritmiche della proprietà `font-size` non sono del tutto intuitive, viene fornita per comodità la funzione Scheme `magnification->font-size`. Per esempio, per ridurre la notazione musicale al 75% della dimensione predefinita si usa:

>     \set fontSize = #(magnification->font-size 0.75)

La funzione Scheme `magstep` fa l’opposto: converte un valore di `font-size` in un fattore di ingrandimento.

La proprietà `fontSize` avrà effetto soltanto sugli elementi della notazione che sono disegnati con glifi, come le teste di nota, le alterazioni, i segni, etc. Non modificherà la dimensione del rigo stesso né ridimensionerà proporzionalmente gambi, travature o la spaziatura orizzontale. Per ridimensionare gambi, travature e spaziatura orizzontale insieme alla dimensione degli elementi della notazione (senza cambiare la dimensione del rigo), si usa il comando `\magnifyMusic` presentato prima. Per ridimensionare tutto, compreso il rigo, leggere Impostare la dimensione del rigo.

Ogni volta che la proprietà di contesto `fontSize` è impostata, il suo valore viene aggiunto al valore della proprietà del grob `font-size` per i singoli oggetti di formattazione, prima che siano stampati i glifi. Ciò può creare confusione quando si impostano individualmente le proprietà `font-size` mentre è impostato anche `fontSize`:

>     % il valore predefinito di font-size per NoteHead è 0
>     % il valore predefinito di font-size per Fingering è -5
>     c''4-3

>     \set fontSize = -3
>     % la dimensione effettiva per NoteHead è ora -3
>     % la dimensione effettiva per Fingering è ora -8
>     c''4-3

>     \override Fingering.font-size = 0
>     % la dimensione effettiva per Fingering è ora -3
>     c''4-3

Sono anche disponibili le seguenti scorciatoie:

Comando | Equivalente a | Dimensione relativa
`\teeny` | `\set fontSize = -3` | 71%
`\tiny` | `\set fontSize = -2` | 79%
`\small` | `\set fontSize = -1` | 89%
`\normalsize` | `\set fontSize = 0` | 100%
`\large` | `\set fontSize = 1` | 112%
`\huge` | `\set fontSize = 2` | 126%

>     \relative c'' {
>       \teeny
>       c4.-> d8---3
>       \tiny
>       c4.-> d8---3
>       \small
>       c4.-> d8---3
>       \normalsize
>       c4.-> d8---3
>       \large
>       c4.-> d8---3
>       \huge
>       c4.-> d8---3
>     }

La modifica della dimensione del tipo di carattere si ottiene ridimensionando la dimensione, tra quelle predefinite, più vicina a quella desiderata. La dimensione standard (per `font-size = 0`) dipende dall’altezza standard del rigo: per un rigo di 20pt, viene scelto un tipo di carattere di 11pt.

#### Comandi predefiniti

`\magnifyMusic`, `\teeny`, `\tiny`, `\small`, `\normalsize`, `\large`, `\huge`.

#### Vedi anche

Guida alla notazione: Scelta del tipo di carattere e della dimensione, Impostare la dimensione del rigo, Formattazione delle notine, Righi ossia.

File installati: ‘`ly/music-functions-init.ly`’, ‘`ly/property-init.ly`’.

Frammenti: Editorial annotations.

Guida al funzionamento interno: font-interface.

#### Problemi noti e avvertimenti

Attualmente ci sono due bug che impediscono una corretta spaziatura orizzontale quando si usa `\magnifyMusic`. C’è un solo modo per eludere questi bug e non funziona in tutte le circostanze. Nell’esempio seguente, sostituire la variabile mag con un valore a piacere. Si può provare anche a togliere uno o entrambi i comandi `\newSpacingSection` e/o i comandi `\override` e `\revert`:

>     \magnifyMusic mag {
>       \newSpacingSection
>       \override Score.SpacingSpanner.spacing-increment = #(* 1.2 mag)
>       [music]
>       \newSpacingSection
>       \revert Score.SpacingSpanner.spacing-increment
>     }

#### Indicazioni di diteggiatura

Le indicazioni di diteggiatura si inseriscono con ‘`nota-numero`’:

>     \relative { c''4-1 d-2 f-4 e-3 }

Si può usare il testo incluso dentro `\markup` o tra virgolette per indicare un cambio di dito.

>     \relative {
>       c''4-1 d-2 f\finger \markup \tied-lyric "4~3" c\finger "2 - 3"
>     }

Si può aggiungere il simbolo del pollice per indicare che una nota deve essere suonata col pollice (ad esempio, nella musica per violoncello).

>     \relative { <a'_\thumb a'-3>2 <b_\thumb b'-3> }

È possibile indicare la diteggiatura di ogni singola nota di un accordo specificandola dopo ciascuna altezza.

>     \relative {
>       <c''-1 e-2 g-3 b-5>2 <d-1 f-2 a-3 c-5>
>     }

Le indicazioni di diteggiatura possono essere poste sopra o sotto il rigo, come è spiegato in Direzione e posizionamento.

#### Frammenti di codice selezionati

Controllare il posizionamento delle diteggiature di un accordo

Il posizionamento dei numeri della diteggiatura può essere regolato in modo preciso. Perché l’orientamento funzioni, occorre usare il costrutto per gli accordi <> anche per le note singole. Si può impostare in modo simile l’orientamento dei numeri di corda e delle diteggiature della mano destra.

>     \relative c' {
>       \set fingeringOrientations = #'(left)
>       <c-1 e-3 a-5>4
>       \set fingeringOrientations = #'(down)
>       <c-1 e-3 a-5>4
>       \set fingeringOrientations = #'(down right up)
>       <c-1 e-3 a-5>4
>       \set fingeringOrientations = #'(up)
>       <c-1 e-3 a-5>4
>       \set fingeringOrientations = #'(left)
>       <c-1>2
>       \set fingeringOrientations = #'(down)
>       <e-3>2
>       \set stringNumberOrientations = #'(up left down)
>       <f\3 a\2 c\1>1
>       \set strokeFingerOrientations = #'(down right up)
>       <c\rightHandFinger #1 e\rightHandFinger #2 c'\rightHandFinger #4 >
>     }

Far sì che la diteggiatura appaia dentro il rigo

Per impostazione predefinita, le diteggiature orientate verticalmente sono poste fuori dal rigo; questo comportamento tuttavia può essere disabilitato. Occorre fare attenzione alle situazioni in cui le diteggiature e i gambi sono rivolti nella stessa direzione: normalmente le diteggiature evitano soltanto i gambi con travature. Questa impostazione predefinita può essere cambiata in modo da evitare tutti i gambi oppure nessuno. L’esempio seguente mostra queste due opzioni, così come tornare al comportamento predefinito.

>     \relative c' {
>       <c-1 e-2 g-3 b-5>2
>       \override Fingering.staff-padding = #'()
>       <c-1 e-2 g-3 b-5>4 g'-0
>       a8[-1 b]-2 g-0 r
>       \override Fingering.add-stem-support = ##f
>       a[-1 b]-2 g-0 r
>       \override Fingering.add-stem-support = ##t
>       a[-1 b]-2 g-0 r
>       \override Fingering.add-stem-support = #only-if-beamed
>       a[-1 b]-2 g-0 r
>     }

#### Vedi anche

Guida alla notazione: Direzione e posizionamento.

Frammenti: Editorial annotations.

Guida al funzionamento interno: FingeringEvent, fingering-event, Fingering_engraver, New_fingering_engraver, Fingering.

#### Note nascoste

Le note nascoste (o invisibili o trasparenti) possono essere utili nella preparazione di esercizi di teoria e composizione.

>     \relative {
>       c''4 d
>       \hideNotes
>       e4 f
>       \unHideNotes
>       g a
>       \hideNotes
>       b
>       \unHideNotes
>       c
>     }

Questo comando rende invisibili le teste, i gambi e le code delle note, e le pause. Le travature sono invisibili se iniziano su una nota nascosta. Mentre gli oggetti attaccati a note invisibili sono comunque visibili.

>     \relative c'' {
>       e8(\p f g a)--
>       \hideNotes
>       e8(\p f g a)--
>     }

#### Comandi predefiniti

`\hideNotes`, `\unHideNotes`.

#### Vedi anche

Manuale d’apprendimento: Visibilità e colore degli oggetti.

Guida alla notazione: Pause invisibili, Visibilità degli oggetti, Nascondere i righi.

Frammenti: Editorial annotations.

Guida al funzionamento interno: Note_spacing_engraver, NoteSpacing.

#### Colorare gli oggetti

Si possono assegnare dei colori a ciascun oggetto. I nomi dei colori validi sono elencati nell’Elenco dei colori.

>     \override NoteHead.color = #red
>     c''4 c''
>     \override NoteHead.color = #(x11-color 'LimeGreen)
>     d''
>     \override Stem.color = #blue
>     e''

Si può accedere all’intera gamma di colori definita per X11 con la funzione Scheme `x11-color`. La funzione prende un argomento, che può essere un simbolo nella forma `'FooBar` o una stringa nella forma `"FooBar"`. La prima forma è più veloce da scrivere e più efficiente. Tuttavia, la seconda forma permette di accedere ai colori X11 attraverso la forma del nome che ha più di una parola.

La funzione `x11-color`, se non riesce a comprendere il parametro, restituisce il colore nero.

>     \new Staff \with {
>       instrumentName = \markup {
>         \with-color #(x11-color 'red) "Clarinet"
>         }
>       }
>       \relative c'' {
>       \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
>       gis8 a
>       \override Beam.color = #(x11-color "medium turquoise")
>       gis a
>       \override Accidental.color = #(x11-color 'DarkRed)
>       gis a
>       \override NoteHead.color = #(x11-color "LimeGreen")
>       gis a
>       % this is deliberate nonsense; note that the stems remain black
>       \override Stem.color = #(x11-color 'Boggle)
>       b2 cis
>     }

I colori RGB esatti si specificano con la funzione Scheme `rgb-color`.

>     \new Staff \with {
>       instrumentName = \markup {
>         \with-color #(x11-color 'red) "Clarinet"
>         }
>       }
>     \relative c'' {
>       \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
>       \override Stem.color = #(rgb-color 0 0 0)
>       gis8 a
>       \override Stem.color = #(rgb-color 1 1 1)
>       gis8 a
>       \override Stem.color = #(rgb-color 0 0 0.5)
>       gis4 a
>     }

#### Vedi anche

Guida alla notazione: Elenco dei colori, Il comando `\tweak`.

Frammenti: Editorial annotations.

#### Problemi noti e avvertimenti

Un colore X11 non ha necessariamente la stessa identica tonalità di un normale colore dal nome simile.

Non tutti i colori X11 sono distinguibili in un browser web. Per esempio, un browser potrebbe non mostrare alcuna differenza tra `LimeGreen` e `ForestGreen`. Per il web si consiglia di usare i colori normali (ovvero `blue`, `green`, `red`).

Le note in un accordo non possono essere colorate separatamente con un `\override`; al suo posto si usa `\tweak` o l’equivalente `\single\override`, vedi Il comando `\tweak`.

#### Parentesi

Gli oggetti possono essere messi tra parentesi se si usa il comando `\parenthesize` prima dell’evento musicale. Se precede un accordo, viene messa tra parentesi ogni nota dell’accordo. Si possono mettere tra parentesi anche singole note di un accordo.

>     \relative {
>       c''2 \parenthesize d
>       c2 \parenthesize <c e g>
>       c2 <c \parenthesize e g>
>     }

Si possono mettere tra parentesi anche oggetti diversi dalle note. Per le articolazioni è necessario usare un trattino prima del comando `\parenthesize`.

>     \relative {
>       c''2-\parenthesize -. d
>       c2 \parenthesize r
>     }

#### Vedi anche

Frammenti: Editorial annotations.

Guida al funzionamento interno: Parenthesis_engraver, ParenthesesItem, parentheses-interface.

#### Problemi noti e avvertimenti

Se si mette tra parentesi un accordo, viene creata una parentesi per ogni nota dell’accordo invece di una sola grande parentesi per l’intero accordo.

#### Gambi

Per ogni nota viene creato automaticamente un oggetto `Stem` (gambo). Vale anche per le semibrevi e le pause, anche se i loro gambi sono resi invisibili.

I gambi si possono posizionare sopra o sotto, vedi Direzione e posizionamento.

#### Comandi predefiniti

`\stemUp`, `\stemDown`, `\stemNeutral`.

#### Frammenti di codice selezionati

Direzione predefinita dei gambi sulla linea centrale del rigo

La direzione predefinita dei gambi sulla linea centrale del rigo si imposta con la proprietà `neutral-direction` dell’oggetto `Stem`.

>     \relative c'' {
>       a4 b c b
>       \override Stem.neutral-direction = #up
>       a4 b c b
>       \override Stem.neutral-direction = #down
>       a4 b c b
>     }

Cambiare automaticamente la direzione del gambo della nota centrale in base alla melodia

LilyPond può modificare la direzione del gambo della nota centrale di un rigo in modo che segua la melodia: occorre aggiungere l’incisore `Melody_engraver` al contesto Voice e sovrascrivere la proprietà `neutral-direction` di Stem.

>     \relative c'' {
>       \time 3/4
>       a8 b g f b g |
>       c  b d c b c |
>     }

>     \layout {
>       \context {
>         \Voice
>         \consists "Melody_engraver"
>         \autoBeamOff
>         \override Stem.neutral-direction = #'()
>       }
>     }

#### Vedi anche

Guida alla notazione: Direzione e posizionamento.

Frammenti: Editorial annotations.

Guida al funzionamento interno: Stem_engraver, Stem, stem-interface.

#### LilyPond — Guida alla Notazione v2.22.2 (ramo stabile).