@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
    Translation of GIT committish: 6ca1d8c80817f9baaa7b66b2fde9a7b98b0ffc0a

    When revising a translation, copy the HEAD committish of the
    version that you are working on.  For details, see the Contributors'
    Guide, node Updating translation committishes..
@end ignore

@c \version "2.19.21"

@c Translators: Federico Bruni
@c Translation checkers:

@node Notazione del rigo
@section Notazione del rigo
@translationof Staff notation

@c The line width is a bit of a hack to allow space for the
@c  instrument names.
@lilypondfile[quote,ragged-right,line-width=14.5\cm,staffsize=16]{staff-headword.ly}

Questa sezione spiega come modificare l'aspetto del rigo, come stampare
partiture multirigo e come aggiungere indicazioni di tempo e citazioni
in corpo più piccolo nel rigo.

@menu
* Aspetto del rigo::
* Modificare singoli righi::
* Scrittura delle parti::
@end menu


@node Aspetto del rigo
@subsection Aspetto del rigo
@translationof Displaying staves

Questa sezione presenta i diversi metodi per creare e raggruppare i righi.

@menu
* Istanziare nuovi righi::
* Raggruppare i righi::
* Gruppi di righi annidati::
* Separare i sistemi::
@end menu


@node Istanziare nuovi righi
@unnumberedsubsubsec Istanziare nuovi righi
@translationof Instantiating new staves

@cindex nuovo rigo
@cindex inizializzazione del rigo
@cindex creazione del rigo
@cindex rigo, nuovo
@cindex rigo, singolo
@cindex rigo, percussioni
@cindex rigo, batteria
@cindex rigo per batteria
@cindex rigo per percussioni
@cindex rigo Gregoriano per trascrizione
@cindex rigo ritmico
@cindex intavolatura
@cindex tablatura

@funindex \drummode
@funindex DrumStaff
@funindex RhythmicStaff
@funindex TabStaff
@funindex MensuralStaff
@funindex VaticanaStaff
@funindex GregorianTranscriptionStaff

Il @notation{rigo musicale} si crea con i comandi @code{\new} o
@code{\context}.  Ulteriori dettagli in @ref{Creazione e citazione di un contesto}.

Il contesto di base del rigo è @code{Staff}:

@lilypond[verbatim,quote]
\new Staff \relative { c''4 d e f }
@end lilypond

Il contesto @code{DrumStaff} crea un rigo di cinque linee impostato
per una tipica batteria.  Ogni strumento viene mostrato con un
simbolo diverso.  Gli strumenti si inseriscono nella modalità percussioni,
che si attiva col comando @code{\drummode}: ogni strumento viene indicato
con un nome.  Ulteriori dettagli in @ref{Righi delle percussioni}.

@lilypond[verbatim,quote]
\new DrumStaff {
  \drummode { cymc hh ss tomh }
}
@end lilypond

@code{RhythmicStaff} crea un rigo con una sola linea che mostra
soltanto i valori ritmici dell'input.  Le durate reali vengono
mantenute.  Ulteriori dettagli in @ref{Mostrare i ritmi della melodia}.

@lilypond[verbatim,quote]
\new RhythmicStaff { c4 d e f }
@end lilypond

@code{TabStaff} crea un'intavolatura (o tablatura) con sei corde
nell'accordatura standard per chitarra.  Ulteriori dettagli
in @ref{Intavolature predefinite}.

@lilypond[verbatim,quote]
\new TabStaff \relative { c''4 d e f }
@end lilypond

Ci sono due contesti del rigo specifici per la notazione di musica
antica, @code{MensuralStaff} e @code{VaticanaStaff}, descritti
in @ref{Contesti predefiniti}.

Il contesto @code{GregorianTranscriptionStaff} crea un rigo per
il canto gregoriano moderno.  Non mostra le stanghette delle battute.

@lilypond[verbatim,quote]
\new GregorianTranscriptionStaff \relative { c''4 d e f e d }
@end lilypond

Si possono creare nuovi contesti per un singolo rigo, come è spiegato
dettagliatamente in @ref{Definizione di nuovi contesti}.

@seealso
Glossario musicale:
@rglosnamed{staff,rigo},

Guida alla notazione:
@ref{Creazione e citazione di un contesto},
@ref{Righi delle percussioni},
@ref{Mostrare i ritmi della melodia},
@ref{Intavolature predefinite},
@ref{Contesti predefiniti},
@ref{Simbolo del rigo},
@ref{Contesti del canto gregoriano},
@ref{Contesti mensurali},
@ref{Definizione di nuovi contesti}.

Frammenti:
@rlsr{Staff notation}.

Guida al funzionamento interno:
@rinternals{Staff},
@rinternals{DrumStaff},
@rinternals{GregorianTranscriptionStaff},
@rinternals{RhythmicStaff},
@rinternals{TabStaff},
@rinternals{MensuralStaff},
@rinternals{VaticanaStaff},
@rinternals{StaffSymbol}.


@node Raggruppare i righi
@unnumberedsubsubsec Raggruppare i righi
@translationof Grouping staves

@cindex inizio del sistema
@cindex rigo multiplo
@cindex delimitatore di inizio del sistema
@cindex parentesi quadra verticale
@cindex graffa verticale
@cindex rigo per coro
@cindex accollatura
@cindex rigo per pianoforte
@cindex gruppo di righi
@cindex righi, gruppo di
@cindex coro, rigo per
@cindex pianoforte, rigo per
@cindex sistema

Esistono vari contesti per raggruppare insieme singoli righi in modo
da formare sistemi multirigo.  Ogni contesto di raggruppamento imposta
il comportamento delle stanghette e lo stile del segno che delimita
l'inizio del sistema.

Se non si specifica alcun contesto, vengono usate le proprietà predefinite:
il gruppo inizia con una linea verticale e le stanghette non sono collegate.

@lilypond[verbatim,quote]
<<
  \new Staff \relative { c''1 c }
  \new Staff \relative { c''1 c }
>>
@end lilypond

Nel contesto @code{StaffGroup}, il gruppo inizia con una parentesi quadra e le
stanghette attraversano tutti i righi.

@lilypond[verbatim,quote]
\new StaffGroup <<
  \new Staff \relative { c''1 c }
  \new Staff \relative { c''1 c }
>>
@end lilypond

Nel contesto @code{ChoirStaff}, il gruppo inizia con una parentesi quadra, ma le
stanghette non sono collegate.

@lilypond[verbatim,quote]
\new ChoirStaff <<
  \new Staff \relative { c''1 c }
  \new Staff \relative { c''1 c }
>>
@end lilypond

Nel contesto @code{GrandStaff}, il gruppo inizia con una parentesi graffa  e
le stanghette sono collegate da rigo a rigo.

@lilypond[verbatim,quote]
\new GrandStaff <<
  \new Staff \relative { c''1 c }
  \new Staff \relative { c''1 c }
>>
@end lilypond

Il contesto @code{PianoStaff} è identico a @code{GrandStaff}, con l'unica
differenza che permette di mostrare il nome dello strumento direttamente.  Ulteriori
dettagli in @ref{Nomi degli strumenti}.

@lilypond[verbatim,quote]
\new PianoStaff \with { instrumentName = "Piano" }
<<
  \new Staff \relative { c''1 c }
  \new Staff \relative { \clef bass c1 c }
>>
@end lilypond

Ogni contesto per il gruppo di righi imposta la proprietà
@code{systemStartDelimiter} su uno dei seguenti valori:
@code{SystemStartBar}, @code{SystemStartBrace} o
@code{SystemStartBracket}.  È presente anche un quarto delimitatore,
@code{SystemStartSquare}, ma deve essere indicato esplicitamente.

Si possono definire nuovi contesti di gruppi di rigo.  I dettagli sono
spiegati in @ref{Definizione di nuovi contesti}.


@snippets

@cindex parentesi quadra, all'inizio di un gruppo di righi
@cindex gruppo di righi, con parentesi quadra all'inizio
@lilypondfile[verbatim,quote,texidoc,doctitle]
{use-square-bracket-at-the-start-of-a-staff-group.ly}

@cindex parentesi, all'inizio di un rigo singolo
@cindex rigo, singolo, con parentesi
@lilypondfile[verbatim,quote,texidoc,doctitle]
{display-bracket-with-only-one-staff-in-a-system.ly}

@cindex formattazione mensurale
@cindex mensurale, formattazione
@cindex musica rinascimentale
@cindex rinascimentale, musica
@cindex trascrizione di musica mensurale
@cindex musica mensurale, trascrizione di
@cindex stanghetta, tra i righi
@lilypondfile[verbatim,quote,texidoc,doctitle]
{mensurstriche-layout-bar-lines-between-the-staves.ly}

@seealso
Glossario musicale:
@rglosnamed{brace,graffa},
@rglosnamed{bracket,parentesi quadra},
@rglosnamed{grand staff,accollatura}.

Guida alla notazione:
@ref{Nomi degli strumenti},
@ref{Definizione di nuovi contesti}.

Frammenti:
@rlsr{Staff notation}.

Guida al funzionamento interno:
@rinternals{Staff},
@rinternals{StaffGroup},
@rinternals{ChoirStaff},
@rinternals{GrandStaff},
@rinternals{PianoStaff},
@rinternals{SystemStartBar},
@rinternals{SystemStartBrace},
@rinternals{SystemStartBracket},
@rinternals{SystemStartSquare}.


@node Gruppi di righi annidati
@unnumberedsubsubsec Gruppi di righi annidati
@translationof Nested staff groups

@cindex rigo, annidato
@cindex annidamento dei righi
@cindex delimitatore di inizio del sistema, annidato
@cindex sistema, delimitatore di inizio annidato
@cindex parentesi quadra, annidamento di
@cindex parentesi graffa, annidamento di

I contesti dei gruppi di righi possono essere annidati fino a qualsiasi
livello.  In questo caso, ogni contesto inferiore crea una nuova parentesi
accanto alla parentesi del gruppo superiore.

@lilypond[verbatim,quote]
\new StaffGroup <<
  \new Staff \relative { c''2 c | c2 c }
  \new StaffGroup <<
    \new Staff \relative { g'2 g | g2 g }
    \new StaffGroup \with {
      systemStartDelimiter = #'SystemStartSquare
    }
    <<
      \new Staff \relative { e'2 e | e2 e }
      \new Staff \relative { c'2 c | c2 c }
    >>
  >>
>>
@end lilypond

Si possono definire nuovi gruppi di righi annidati.  Ulteriori dettagli
in @ref{Definizione di nuovi contesti}.


@snippets

@lilypondfile[verbatim,quote,texidoc,doctitle]
{nesting-staves.ly}

@seealso
Guida alla notazione:
@ref{Raggruppare i righi},
@ref{Nomi degli strumenti},
@ref{Definizione di nuovi contesti}.

Frammenti:
@rlsr{Staff notation}.

Guida al funzionamento interno:
@rinternals{StaffGroup},
@rinternals{ChoirStaff},
@rinternals{SystemStartBar},
@rinternals{SystemStartBrace},
@rinternals{SystemStartBracket},
@rinternals{SystemStartSquare}.


@node Separare i sistemi
@unnumberedsubsubsec Separare i sistemi
@translationof Separating systems

@cindex segno separatore del sistema
@cindex sistema, segno separatore

Se il numero di sistemi per pagina cambia di pagina in pagina, è consuetudine
separare i sistemi con un segno separatore.  Per impostazione predefinita
questo segno è disattivo, ma può essere attivato con un'opzione
in @code{\paper}.

@c \book is required here to display the system separator
@c ragged-right is required as there are two systems
@lilypond[verbatim,quote,ragged-right]
\book {
  \score {
    \new StaffGroup <<
      \new Staff {
        \relative {
          c''4 c c c
          \break
          c4 c c c
        }
      }
      \new Staff {
        \relative {
          c''4 c c c
          \break
          c4 c c c
        }
      }
    >>
  }
  \paper {
    system-separator-markup = \slashSeparator
    % i seguenti comandi servono soltanto alla formattazione di questa documentazione
    paper-width = 100\mm
    paper-height = 100\mm
    tagline = ##f
  }
}
@end lilypond

@seealso
Guida alla notazione:
@ref{Formattazione della pagina}.

Frammenti:
@rlsr{Staff notation}.


@node Modificare singoli righi
@subsection Modificare singoli righi
@translationof Modifying single staves

Questa sezione spiega come modificare gli attributi specifici di un
rigo, per esempio il numero di linee o la dimensione del rigo.  Vengono
descritti anche i metodi per iniziare e finire un rigo e per impostare
le sezioni ossia.

@menu
* Simbolo del rigo::
* Righi ossia::
* Nascondere i righi::
@end menu


@node Simbolo del rigo
@unnumberedsubsubsec Simbolo del rigo
@translationof Staff symbol

@cindex simbolo del rigo
@cindex rigo, simbolo del
@cindex StaffSymbol
@cindex linea del rigo, fermare e avviare
@cindex linea del rigo, modificare
@cindex taglio addizionale
@cindex taglio addizionale, funzionamento interno
@cindex taglio addizionale, modificare

@funindex \startStaff
@funindex \stopStaff

I comandi @code{\stopStaff} e @code{\startStaff} servono a fermare o
(ri)avviare le linee del rigo, per impedire che appaiano in un punto
della partitura.

@lilypond[verbatim,quote]
\relative {
  \stopStaff f''4 d \startStaff g, e
  f'4 d \stopStaff g, e
  f'4 d \startStaff g, e
}
@end lilypond

@predefined
@code{\startStaff},
@code{\stopStaff}.
@endpredefined

Le linee di un rigo appartengono all'oggetto @code{StaffSymbol} (che comprende
i tagli addizionali) e si possono modificare tramite le proprietà  di
@code{StaffSymbol}; però queste modifiche devono essere fatte prima che
il rigo sia (ri)avviato.

Si può cambiare il numero di linee del rigo:

@lilypond[verbatim,quote]
\relative {
  f''4 d \stopStaff
  \override Staff.StaffSymbol.line-count = #2
  \startStaff g, e |

  f'4 d \stopStaff
  \revert Staff.StaffSymbol.line-count
  \startStaff g, e |
}
@end lilypond

Si può cambiare anche la posizione di ogni linea del rigo.  Un elenco di
numeri definisce la posizione di ogni linea.  I valori consueti sono
@code{0}@tie{}per la linea centrale e @code{(-4@tie{}-2@tie{}0@tie{}2@tie{}4)}
per le altre.  La linea del rigo appare solo se è presente il suo valore,
quindi questo comando permette di variare anche il numero delle linee,
oltre alla loro posizione.

@lilypond[verbatim,quote]
\relative {
  f''4 d \stopStaff
  \override Staff.StaffSymbol.line-positions = #'(1 3 5 -1 -3)
  \startStaff g, e |
  f'4 d \stopStaff
  \override Staff.StaffSymbol.line-positions = #'(8 6.5 -6 -8 -0.5)
  \startStaff g, e |
}
@end lilypond

Per conservare le tipiche direzioni dei gambi (nella metà inferiore del
rigo i gambi puntano in su, mentre in quella superiore sono rivolti in giù),
occorre allineare la linea centrale (o lo spazio) del rigo personalizzato
alla posizione della linea centrale normale (0).  Potrà essere necessario
regolare la posizione della chiave e del Do@tie{}centrale per adattarsi
alle nuove linee.  Si veda @ref{Chiave}.

Si può modificare lo spessore della linea del rigo.  Per impostazione predefinita,
questa modifica ha effetto anche sui tagli addizionali e sui gambi.

@lilypond[verbatim,quote]
\new Staff \with {
  \override StaffSymbol.thickness = #3
} \relative {
  f''4 d g, e
}
@end lilypond

È anche possibile impostare lo spessore dei tagli addizionali in modo
indipendente dalle linee del rigo.

@lilypond[verbatim,quote]
\new Staff \with {
  \override StaffSymbol.thickness = #2
  \override StaffSymbol.ledger-line-thickness = #'(0.5 . 0.4)
} \relative {
  f'''4 a, a,, f
}
@end lilypond

@noindent
Il primo valore viene moltiplicato per lo spessore della linea del rigo, il
secondo per la spaziatura del rigo; la somma dei due valori definisce il
nuovo valore dello spessore del taglio addizionale.

Si possono modificare le posizioni verticali dei tagli addizionali:

@lilypond[verbatim,quote]
\new Staff \with {
  \override StaffSymbol.ledger-positions = #'(-3 -2 -1 2 5 6)
} \relative {
  f'''4 a, a,, f
}
@end lilypond

Si possono far apparire ulteriori tagli addizionali sopra o sotto le
teste delle note, a seconda della posizione corrente relativa alle
altre teste, anch'esse con i propri tagli addizionali.

@lilypond[verbatim,quote]
\new Staff \with {
  \override StaffSymbol.ledger-extra = #4
} \relative {
  f'''4 a, d, f,
}
@end lilypond

Si possono far apparire i tagli addizionali anche dentro il rigo quando servono
delle linee personalizzate.   L'esempio mostra la posizione predefinita dei
tagli addizionali quando la proprietà @code{ledger-position} è impostata e
quando non lo è.  Nell'esempio il comando @code{\stopStaff} serve ad annullare
il comando @code{\override} per l'oggetto @code{StaffSymbol}.

@lilypond[verbatim,quote]
\relative d' {
  \override Staff.StaffSymbol.line-positions = #'(-8 0 2 4)
  d4 e f g
  \stopStaff
  \startStaff
  \override Staff.StaffSymbol.ledger-positions = #'(-8 -6 (-4 -2) 0)
  d4 e f g
}
@end lilypond

Si può cambiare la distanza tra le linee del rigo.  Tale modifica ha
effetto anche sulla spaziatura della linea.

@lilypond[verbatim,quote]
\new Staff \with {
  \override StaffSymbol.staff-space = #1.5
} \relative {
  f'''4 d, g, e,
}
@end lilypond

@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
{making-some-staff-lines-thicker-than-the-others.ly}

@seealso
Glossario musicale:
@rglosnamed{line,linea},
@rglosnamed{ledger line,taglio addizionale},
@rglosnamed{staff,rigo (o pentagramma)}.

Guida alla notazione:
@ref{Chiave}.

Frammenti:
@rlsr{Staff notation}.

Guida al funzionamento interno:
@rinternals{StaffSymbol},
@rinternals{staff-symbol-interface}.


@node Righi ossia
@unnumberedsubsubsec Righi ossia
@translationof Ossia staves

@cindex ossia
@cindex rigo temporaneo
@cindex rigo, ridimensionamento del
@cindex ridimensionamento dei righi

@funindex \startStaff
@funindex \stopStaff

I righi @notation{ossia} si possono creare aggiungendo un nuovo rigo
simultaneo nel punto giusto:

@lilypond[verbatim,quote]
\new Staff \relative {
  c''4 b d c
  <<
    { c4 b d c }
    \new Staff { e4 d f e }
  >>
  c4 b c2
}
@end lilypond

@noindent
Tuttavia, questo esempio non produce quel che normalmente si desidera.  Per
creare righi ossia che siano sopra il rigo originale, non abbiano indicazione
di tempo né chiave e abbiano un tipo di carattere più piccolo, sono necessarie
delle modifiche manuali.  Il Manuale d'apprendimento descrive una tecnica
specifica per ottenere questo risultato, a partire da
@rlearning{Annidare le espressioni musicali}.

L'esempio seguente usa la proprietà @code{alignAboveContext} per allineare
il rigo ossia.  Questo metodo conviene quando sono necessari solo pochi
righi ossia.

@lilypond[verbatim,quote]
\new Staff = "main" \relative {
  c''4 b d c
  <<
    { c4 b d c }

    \new Staff \with {
      \remove "Time_signature_engraver"
      alignAboveContext = "main"
      \magnifyStaff #2/3
      firstClef = ##f
    }
    { e4 d f e }
  >>
  c4 b c2
}
@end lilypond

Se si hanno molti righi ossia isolati, è meglio creare un contesto
@code{Staff} vuoto con un @emph{identificativo del contesto} specifico; i righi
ossia possono essere creati @emph{chiamando} questo contesto e usando
@code{\startStaff} e @code{\stopStaff} nei punti richiesti.  I vantaggi
di questo metodo sono più evidenti se il brano è più lungo del seguente
esempio.

@lilypond[verbatim,quote,ragged-right]
<<
  \new Staff = "ossia" \with {
    \remove "Time_signature_engraver"
    \hide Clef
    \magnifyStaff #2/3
  }
  { \stopStaff s1*6 }

  \new Staff \relative {
    c'4 b c2
    <<
      { e4 f e2 }
      \context Staff = "ossia" {
        \startStaff e4 g8 f e2 \stopStaff
      }
    >>
    g4 a g2 \break
    c4 b c2
    <<
      { g4 a g2 }
      \context Staff = "ossia" {
        \startStaff g4 e8 f g2 \stopStaff
      }
    >>
    e4 d c2
  }
>>
@end lilypond


Altrimenti si può usare il comando @code{\RemoveAllEmptyStaves}
per creare i righi ossia.  Questo metodo conviene quando i righi ossia
si trovano subito dopo un'interruzione di linea.  Ulteriori informazioni
su @code{\RemoveAllEmptyStaves} si trovano in @ref{Nascondere i righi}.

@lilypond[verbatim,quote,ragged-right]
<<
  \new Staff = "ossia" \with {
    \remove "Time_signature_engraver"
    \hide Clef
    \magnifyStaff #2/3
    \RemoveAllEmptyStaves
  } \relative {
    R1*3
    c''4 e8 d c2
  }
  \new Staff \relative {
    c'4 b c2
    e4 f e2
    g4 a g2 \break
    c4 b c2
    g4 a g2
    e4 d c2
  }
>>

@end lilypond


@snippets

@cindex ossia, posizionamento
@cindex testo vocale, posizionamento
@cindex posizione, testo vocale
@cindex posizione, ossia
@funindex alignBelowContext
@funindex alignAboveContext
@lilypondfile[verbatim,quote,texidoc,doctitle]
{vertically-aligning-ossias-and-lyrics.ly}

@seealso
Glossario musicale:
@rglos{ossia},
@rglosnamed{staff,rigo (pentagramma)},
@rglosnamed{Frenched staff,rigo temporaneo}.

Manuale d'apprendimento:
@rlearning{Annidare le espressioni musicali},
@rlearning{Dimensione degli oggetti},
@rlearning{Lunghezza e spessore degli oggetti}.

Guida alla notazione:
@ref{Nascondere i righi}.

Frammenti:
@rlsr{Staff notation}.

Guida al funzionamento interno:
@rinternals{StaffSymbol}.


@node Nascondere i righi
@unnumberedsubsubsec Nascondere i righi
@translationof Hiding staves

@cindex partitura senza i righi vuoti
@cindex rigo temporaneo
@cindex rigo, nascondere
@cindex rigo vuoto
@cindex nascondere i righi
@cindex nascondere i righi antichi
@cindex nascondere i righi ritmici
@cindex nascondere i tetragrammi

@funindex \RemoveEmptyStaves
@funindex \RemoveAllEmptyStaves
@funindex Staff_symbol_engraver
@funindex \stopStaff


Le linee del rigo si possono nascondere togliendo l'incisore
@code{Staff_symbol_engraver} dal contesto @code{Staff}.  Altrimenti
si può usare @code{\stopStaff}.

@lilypond[verbatim,quote]
\new Staff \with {
  \remove "Staff_symbol_engraver"
}
\relative { a''8 f e16 d c b a2 }
@end lilypond


I righi vuoti si possono nascondere (per la cosiddetta @q{partitura alla francese})
applicando il comando @code{\RemoveEmptyStaves} a un contesto, che può
essere fatto globalmente (in un blocco @code{\layout}) oppure soltanto per
righi specifici (in un blocco @code{\with}).  Questo comando toglie tutti i
righi vuoti di una partitura eccetto quelli nel primo sistema.  Per nascondere
anche quelli del primo sistema usare il comando @code{\RemoveAllEmptyStaves}.
I contesti supportati sono @code{Staff}, @code{RhythmicStaff} e
@code{VaticanaStaff}.

@warning{Un rigo viene considerato vuoto quando contiene soltanto  pause
multiple,  pause, salti, pause spaziatrici o una combinazione di questi
elementi.}

@lilypond[verbatim,quote,ragged-right]
\layout {
  \context {
    \Staff \RemoveEmptyStaves
  }
}

\relative <<
  \new Staff {
    e'4 f g a \break
    b1 \break
    a4 b c2
  }
  \new Staff {
    c,4 d e f \break
    R1 \break
    f4 g c,2
  }
>>
@end lilypond

@cindex ossia

@noindent
@code{\RemoveAllEmptyStaves} si può usare anche per creare sezioni ossia
per un rigo.  I dettagli si trovano in @ref{Righi ossia}.

@predefined
@code{\RemoveEmptyStaves},
@code{\RemoveAllEmptyStaves}.
@endpredefined

@seealso
Glossario musicale:
@rglosnamed{Frenched staff,rigo temporaneo}.

Manuale d'apprendimento:
@rlearning{Visibilità e colore degli oggetti}.

Guida alla notazione:
@ref{Modifica delle impostazioni predefinite di un contesto},
@ref{Simbolo del rigo},
@ref{Righi ossia},
@ref{Note nascoste},
@ref{Pause invisibili},
@ref{Visibilità degli oggetti}.

Frammenti:
@rlsr{Staff notation}.

Guida al funzionamento interno:
@rinternals{ChordNames},
@rinternals{FiguredBass},
@rinternals{Lyrics},
@rinternals{Staff},
@rinternals{VerticalAxisGroup},
@rinternals{Staff_symbol_engraver}.

@knownissues
Se si toglie l'incisore @code{Staff_symbol_engraver} vengono nascoste
anche le stanghette.  Se si forza la visibilità delle stanghette,
potrebbero verificarsi degli errori di formattazione.  In questo caso,
conviene usare i seguenti comandi invece di togliere l'incisore:

@example
\omit StaffSymbol
\override NoteHead.no-ledgers = ##t
@end example

Per i problemi noti e gli avvertimenti relativi a
@code{\Staff \RemoveEmptyStaves} si veda
@ref{Modifica delle impostazioni predefinite di un contesto}.


@node Scrittura delle parti
@subsection Scrittura delle parti
@translationof Writing parts

Questa sezione spiega come inserire in una partitura le indicazioni di
tempo e i nomi degli strumenti.  Mostra anche come citare altre voci
e come formattare le citazioni in corpo più piccolo.

@menu
* Nomi degli strumenti::
* Citare altre voci::
* Formattazione delle notine::
@end menu

@node Nomi degli strumenti
@unnumberedsubsubsec Nomi degli strumenti
@translationof Instrument names

@cindex nome strumento
@cindex strumento, nome
@cindex nome strumento, abbreviato

I nomi degli strumenti possono essere fatti apparire, alla sinistra dei righi,
nei contesti @code{Staff}, @code{PianoStaff}, @code{StaffGroup}, @code{GrandStaff}
e @code{ChoirStaff}.  Il valore di @code{instrumentName} viene usato per il
primo rigo e quello di @code{shortInstrumentName} per tutti i righi successivi.

@lilypond[verbatim,quote,ragged-right]
\new Staff \with {
  instrumentName = "Violin "
  shortInstrumentName = "Vln. "
} \relative {
  c'4.. g'16 c4.. g'16 \break | c1 |
}
@end lilypond

@cindex nome strumento, complesso
@cindex strumento, nome complesso

Si può usare @code{\markup} per creare nomi più complessi:

@lilypond[verbatim,quote]
\new Staff \with {
  instrumentName = \markup {
    \column { "Clarinetti"
      \line { "in B" \smaller \flat }
    }
  }
} \relative {
  c''4 c,16 d e f g2
}
@end lilypond

@cindex nome strumento, centrare

Se due o più contesti del rigo sono raggruppati insieme, i nomi degli strumenti,
sia quello normale che quello abbreviato, vengono centrati automaticamente.
Per allineare al centro i nomi degli strumenti che vanno a capo, occorre
usare @code{\center-column}:

@lilypond[verbatim,quote,indent=1.5\cm]
<<
  \new Staff \with {
    instrumentName = "Flute"
  } \relative {
    f''2 g4 f
}
  \new Staff \with {
    instrumentName = \markup {
      \center-column { "Clarinet"
        \line { "in B" \smaller \flat }
      }
    }
  } \relative { c''4 b c2 }
>>
@end lilypond

@funindex indent
@funindex short-indent

Tuttavia, se i nomi degli strumenti sono lunghi, potranno essere centrati
solo aumentando i valori di @code{indent} e @code{short-indent}.
Ulteriori dettagli su queste impostazioni si trovano in
@ref{Variabili paper per spostamenti e indentazioni,,Variabili @code{@bs{}paper} per spostamenti e indentazioni}.

@lilypond[verbatim,quote,ragged-right]
<<
  \new Staff \with {
    instrumentName = "Alto Flute in G"
    shortInstrumentName = "Flt."
  } \relative {
    f''2 g4 f \break
    g4 f g2
  }
  \new Staff \with {
    instrumentName = "Clarinet"
    shortInstrumentName = "Clar."
  } \relative {
    c''4 b c2 \break
    c2 b4 c
  }
>>

\layout {
  indent = 3.0\cm
  short-indent = 1.5\cm
}
@end lilypond

@cindex nome strumento, aggiunta in altri contesti

Per impostare i nomi degli strumenti in altri contesti (come @code{ChordNames} o
@code{FiguredBass}), si deve aggiungere l'incisore @code{Instrument_name_engraver}
a quel contesto.  Ulteriori dettagli in @ref{Modifica dei componenti aggiuntivi di un contesto}.

@cindex nome strumento, modifica
@cindex modificare il nome di uno strumento

@code{shortInstrumentName} può essere cambiato all'interno di un brano, insieme
a altre impostazioni necessarie al nuovo strumento.  Tuttavia, di
@code{instrumentName} apparirà solo la prima definizione e le modifiche
successive saranno ignorate:

@lilypond[verbatim,quote,ragged-right]
prepPiccolo = <>^\markup \italic { muta in Piccolo }

prepFlute = <>^\markup \italic { muta in Flauto }

setPiccolo = {
  <>^\markup \bold { Piccolo }
  \transposition c''
}

setFlute = {
  <>^\markup \bold { Flute }
  \transposition c'
}

\new Staff \with {
  instrumentName = "Flute"
  shortInstrumentName = "Flt."
}
\relative {
  g'1 g g g \break
  g1 g \prepPiccolo R R \break
  \set Staff.instrumentName = "Piccolo"
  \set Staff.shortInstrumentName = "Picc."
  \setPiccolo
  g1 g g g \break
  g1 g \prepFlute R R \break
  \set Staff.instrumentName = "Flute"
  \set Staff.shortInstrumentName = "Flt."
  \setFlute
  g1 g g g
}
@end lilypond

@seealso
Guida alla notazione:
@ref{Variabili paper per spostamenti e indentazioni,,Variabili @code{@bs{}paper} per spostamenti e indentazioni},
@ref{Modifica dei componenti aggiuntivi di un contesto}.

Frammenti:
@rlsr{Staff notation}.

Guida al funzionamento interno:
@rinternals{InstrumentName},
@rinternals{PianoStaff},
@rinternals{Staff}.


@node Citare altre voci
@unnumberedsubsubsec Citare altre voci
@translationof Quoting other voices

@cindex citare le voci
@cindex voce, citare
@cindex frammento, citare
@cindex notina
@cindex nota in corpo più piccolo

@funindex \addQuote
@funindex \quoteDuring
@funindex \transposition

È molto comune che una voce usi le stesse note di un'altra voce.  Per esempio,
il primo e il secondo violino che suonano la stessa frase durante un particolare
passaggio del brano.  Per evitare di reinserire la musica di nuovo per la
seconda voce, si può far sì che una voce @emph{citi} l'altra.

Il comando @code{\addQuote}, usato nell'ambito di più alto livello, definisce
un flusso musicale da cui poter citare i frammenti.

Il comando @code{\quoteDuring} serve a indicare il punto in cui inizia la
citazione.  È seguito da due argomenti: il nome della voce citata, come è
definito da @code{\addQuote}, e un'espressione musicale per la durata
della citazione.

@lilypond[verbatim,quote]
fluteNotes = \relative {
  a'4 gis g gis | b4^"quoted" r8 ais\p a4( f)
}

oboeNotes = \relative {
  c''4 cis c b \quoteDuring "flute" { s1 }
}

\addQuote "flute" { \fluteNotes }

\score {
  <<
    \new Staff \with { instrumentName = "Flute" } \fluteNotes
    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
  >>
}
@end lilypond

Se l'espressione musicale usata in @code{\quoteDuring} contiene note invece
di pause spaziatrici o multiple, la citazione apparirà in forma polifonica
e potrebbe causare risultati indesiderati.

@lilypond[verbatim,quote]
fluteNotes = \relative {
  a'4 gis g gis | b4^"quoted" r8 ais\p a4( f)
}

oboeNotes = \relative {
  c''4 cis c b \quoteDuring "flute" { e4 r8 ais b4 a }
}

\addQuote "flute" { \fluteNotes }

\score {
  <<
    \new Staff \with { instrumentName = "Flute" } \fluteNotes
    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
  >>
}
@end lilypond

@c Frase non chiara, traduco letteralmente. - fb
Se un comando @code{\unfoldRepeats} in un'espressione musicale deve essere
stampato quando si usa @code{\quoteDuring}, allora anch'esso deve contenere
il suo comando @code{\unfoldRepeats};

@lilypond[verbatim,quote]
fluteNotes = \relative {
  \repeat volta 2 { a'4 gis g gis }
}

oboeNotesDW = \relative {
  \repeat volta 2 \quoteDuring "incorrect" { s1 }
}

oboeNotesW = \relative {
  \repeat volta 2 \quoteDuring "correct" { s1 }
}


\addQuote "incorrect" { \fluteNotes }

\addQuote "correct" { \unfoldRepeats \fluteNotes }

\score {
  \unfoldRepeats
  <<
    \new Staff \with { instrumentName = "Flute" }
    \fluteNotes
    \new Staff \with { instrumentName = "Oboe (incorrect)" }
    \oboeNotesDW
    \new Staff \with { instrumentName = "Oboe (correct)" }
    \oboeNotesW
  >>
}
@end lilypond

Il comando @code{\quoteDuring} usa le impostazioni @code{\transposition} sia
della parte citata sia di quella che cita per produrre delle note per la parte
che cita che abbiano la stessa altezza di quelle nella parte citata.

@lilypond[verbatim,quote]
clarinetNotes = \relative c'' {
  \transposition bes
  \key d \major
  b4 ais a ais | cis4^"quoted" r8 bis\p b4( f)
}

oboeNotes = \relative {
  c''4 cis c b \quoteDuring "clarinet" { s1 }
}

\addQuote "clarinet" { \clarinetNotes }


\score {
  <<
    \new Staff \with { instrumentName = "Clarinet" } \clarinetNotes
    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
  >>
}
@end lilypond

@funindex note-event
@funindex articulation-event
@funindex dynamic-event
@funindex rest-event
@funindex slur-event
@funindex crescendo-event

@funindex quotedEventTypes
@funindex quotedCueEventTypes

La musica citata include tutte le articolazioni, dinamiche, annotazioni, etc.
presenti nel frammento citato.  È possibile scegliere quali di questi oggetti
far apparire usando la proprietà di contesto @code{quotedEventTypes}.

@lilypond[verbatim,quote]
fluteNotes = \relative {
  a'2 g2 |
  b4\<^"quoted" r8 ais a4\f( c->)
 }

oboeNotes = \relative {
  c''2. b4 |
  \quoteDuring "flute" { s1 }
}

\addQuote "flute" { \fluteNotes }

\score {
  <<
    \set Score.quotedEventTypes = #'(note-event articulation-event
                                     crescendo-event rest-event
                                     slur-event dynamic-event)
    \new Staff \with { instrumentName = "Flute" } \fluteNotes
    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
  >>
 }
@end lilypond

Le citazioni possono anche essere contrassegnate; si veda @ref{Uso delle etichette}.

@seealso
Guida alla notazione:
@ref{Trasporto strumentale},
@ref{Uso delle etichette}.

File installati:
@file{scm/define-event-classes.scm}.

Frammenti:
@rlsr{Staff notation}.

Guida al funzionamento interno:
@rinternals{Music classes},
@rinternals{QuoteMusic},
@rinternals{Voice}.

@knownissues
Solo il contenuto della prima voce in un comando @code{\addQuote}
sarà preso in considerazione per la citazione; quindi se l'espressione
musicale contiene comandi @code{\new} o @code{\context Voice}, il loro
contenuto non verrà citato.  La citazione degli abbellimenti non è
supportata e potrebbe causare il crash di LilyPond; la citazione di
terzine annidate potrebbe produrre una notazione mediocre.


@node Formattazione delle notine
@unnumberedsubsubsec Formattazione delle notine
@translationof Formatting cue notes

@cindex notina
@cindex nota in corpo più piccolo
@cindex frammento
@cindex notina, formattazione
@cindex formattazione, notine
@cindex voce, citare


@funindex \cueDuring
@funindex \cueClef
@funindex \cueDuringWithClef
@funindex \quoteDuring

@cindex nota più piccola
@funindex CueVoice

Il modo più semplice per formattare le notine è creare esplicitamente un
contesto @code{CueVoice} all'interno della parte.

@lilypond[verbatim]
\relative {
  R1
  <<
    { e'2\rest r4. e8 }
    \new CueVoice {
      \stemUp d'8^"flute" c d e fis2
    }
  >>
  d,4 r a r
}
@end lilypond

Si può usare il comando @code{\cueClef} all'interno di un contesto
@code{CueVoice} esplicito se è richiesto un cambiamento di chiave; in
questo modo la chiave apparirà nella dimensione giusta per le notine.
Si può poi usare il comando @code{\cueClefUnset} per tornare alla chiave
originale, di nuovo nella dimensione giusta.

@lilypond[verbatim,noragged-right]
\relative {
  \clef "bass"
  R1
  <<
    { e'2\rest r4. \cueClefUnset e,8 }
    \new CueVoice {
      \cueClef "treble" \stemUp d''8^"flute" c d e fis2
    }
  >>
  d,,4 r a r
}
@end lilypond

I comandi @code{\cueClef} e @code{\cueClefUnset} si possono usare anche
senza un esplicito contesto @code{CueVoice}.

@lilypond[verbatim,noragged-right]
\relative {
  \clef "bass"
  R1
  \cueClef "treble"
  d''8^"flute" c d e fis2
  \cueClefUnset
  d,,4 r a r
}
@end lilypond

Per posizionamenti complessi delle notine, per esempio includere la
trasposizione o inserire delle notine da varie sorgenti musicali, si
possono usare i comandi @code{\cueDuring} o @code{\cueDuringWithClef}.  Questi
sono delle varianti più specializzate di @code{\quoteDuring}, introdotto in @ref{Citare altre voci}
nella sezione precedente.

La sintassi è:

@example
\cueDuring @var{nomecitazione} #@var{direzione} @var{musica}
@end example

e

@example
\cueDuringWithClef @var{nomecitazione} #@var{direzione} #@var{chiave} @var{musica}
@end example

La musica delle misure che corrispondono a @code{@var{nomecitazione}}
viene aggiunta in un contesto @code{CueVoice} e si colloca in simultanea
con @code{@var{musica}}, creando quindi una situazione polifonica.  La
@code{@var{direzione}} prende l'argomento @code{UP} o @code{DOWN}, e
corrisponde alla prima e alla seconda voce rispettivamente, determinando
come le notine appaiono in relazione all'altra voce.

@lilypond[verbatim,quote]
fluteNotes = \relative {
  r2. c''4 | d8 c d e fis2 | g2 d |
}

oboeNotes = \relative c'' {
  R1
  <>^\markup \tiny { flute }
  \cueDuring "flute" #UP { R1 }
  g2 c,
}

\addQuote "flute" { \fluteNotes }

\new Staff {
  \oboeNotes
}
@end lilypond

@noindent


È possibile controllare quali aspetti della musica vengono citati con
@code{\cueDuring} impostando la proprietà @code{quotedCueEventTypes}.  Il
suo valore predefinito è @code{'(note-event rest-event
tie-event beam-event tuplet-span-event)}, che significa che vengono citati
solo note, pause, legature di valore, travature e gruppi irregolari, ma
non le articolazioni, le indicazioni dinamiche, il testo a margine, etc.

@warning{Quando una voce inizia con @code{\cueDuring}, come
nell'esempio seguente, il contesto @code{Voice} deve essere dichiarato
esplicitamente, altrimenti l'intera espressione musicale appartiene al
contesto @code{CueVoice}.}

@lilypond[verbatim,quote]
oboeNotes = \relative {
  r2 r8 d''16(\f f e g f a)
  g8 g16 g g2.
}
\addQuote "oboe" { \oboeNotes }

\new Voice \relative c'' {
  \set Score.quotedCueEventTypes = #'(note-event rest-event tie-event
                                      beam-event tuplet-span-event
                                      dynamic-event slur-event)
  \cueDuring "oboe" #UP { R1 }
  g2 c,
}
@end lilypond

Si può usare il comando @code{\markup} per mostrare il nome dello strumento
citato.  Se le citazioni in corpo più piccolo richiedono un cambio di chiave, si
può fare manualmente, ma anche il ripristino della chiave originale dovrà essere
fatto manualmente al termine delle citazioni.

@lilypond[verbatim,quote]
fluteNotes = \relative {
  r2. c''4 d8 c d e fis2 g2 d2
}

bassoonNotes = \relative c {
  \clef bass
  R1
  \clef treble
  <>^\markup \tiny { flute }
  \cueDuring "flute" #UP { R1 }
  \clef bass
  g4. b8 d2
}

\addQuote "flute" { \fluteNotes }

\new Staff {
  \bassoonNotes
}
@end lilypond

Altrimenti si può usare la funzione @code{\cueDuringWithClef}.   Questo comando
prende un ulteriore argomento per specificare il cambio di chiave da usare
per le citazioni in corpo più piccolo ma mostrerà automaticamente la chiave originale appena le
citazioni sono finite.

@lilypond[verbatim,quote]
fluteNotes = \relative {
  r2. c''4 d8 c d e fis2 g2 d2
}

bassoonNotes = \relative c {
  \clef bass
  R1
  <>^\markup { \tiny "flute" }
  \cueDuringWithClef "flute" #UP "treble" { R1 }
  g4. b8 d2
}

\addQuote "flute" { \fluteNotes }

\new Staff {
  \bassoonNotes
}
@end lilypond

@funindex \transposedCueDuring

Come @code{\quoteDuring}, @code{\cueDuring} prende in considerazione la
trasposizione degli strumenti.  Le citazioni in corpo più piccolo vengono mostrate nelle altezze
necessarie allo strumento che riprende la citazione per riprodurre gli
stessi suoni dello strumento citato.

Per trasporre le citazioni in corpo più piccolo in modo diverso, si usa
@code{\transposedCueDuring}.  Questo comando prende un ulteriore
argomento per specificare (in modalità assoluta) l'altezza da usare nella partitura
per rappresentare il Do centrale in intonazione reale.  È utile nel caso di citazioni
da uno strumento che ha un registro completamente diverso.

@lilypond[verbatim,quote]
piccoloNotes = \relative {
  \clef "treble^8"
  R1
  c'''8 c c e g2
  c4 g g2
}

bassClarinetNotes = \relative c' {
  \key d \major
  \transposition bes,
  d4 r a r
  \transposedCueDuring "piccolo" #UP d { R1 }
  d4 r a r
}

\addQuote "piccolo" { \piccoloNotes }

<<
  \new Staff \piccoloNotes
  \new Staff \bassClarinetNotes
>>
@end lilypond

@cindex togliere le citazioni in corpo più piccolo
@cindex citazione in corpo più piccolo, togliere
@cindex notina, togliere

@funindex \killCues

Il comando @code{\killCues} toglie le citazioni in corpo più piccolo da un'espressione
musicale, in modo che la stessa espressione musicale possa essere
usata per produrre sia la parte strumentale con le citazioni in corpo più piccolo sia l'intera
partitura.  Il comando @code{\killCues} toglie soltanto le note e gli
eventi citati da @code{\cueDuring}.  Altre annotazioni relative alle citazioni in corpo più piccolo,
come i cambi di chiave e il nome che identifica lo strumento sorgente,
possono essere contrassegnate per includerle in modo selettivo nella
partitura; si veda @ref{Uso delle etichette}.

@lilypond[verbatim,quote]
fluteNotes = \relative {
  r2. c''4 d8 c d e fis2 g2 d2
}

bassoonNotes = \relative c {
  \clef bass
  R1
  \tag #'part {
    \clef treble
    <>^\markup { \tiny "flute" }
  }
  \cueDuring "flute" #UP { R1 }
  \tag #'part \clef bass
  g4. b8 d2
}

\addQuote "flute" { \fluteNotes }

\new Staff {
  \bassoonNotes
}

\new StaffGroup <<
  \new Staff {
    \fluteNotes
  }
  \new Staff {
    \removeWithTag #'part { \killCues { \bassoonNotes } }
  }
>>
@end lilypond


@seealso
Guida alla notazione:
@ref{Citare altre voci},
@ref{Trasporto strumentale},
@ref{Nomi degli strumenti},
@ref{Chiave},
@ref{Suggerimenti musicali},
@ref{Uso delle etichette}.

Frammenti:
@rlsr{Staff notation}.

Guida al funzionamento interno:
@rinternals{CueVoice},
@rinternals{Voice}.

@knownissues
Quando si usa @code{\cueDuring}, si possono verificare delle collisioni tra
le pause nel contesto @code{Voice} e quelle in @code{CueVoice}.  Quando si usa
@code{\cueDuringWithClef} o @code{\transposedCueDuring}, l'argomento ulteriore
richiesto da entrambi deve venire dopo la citazione e la direzione.


@c  LocalWords:  fluteNotes oboeNotes clarinetNotes bassoonNotes
@c  LocalWords:  piccoloNotes bassClarinetNotes
