[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

1.8 Testo

@translationof Text

[image of music]

Questa sezione spiega come includere del testo (con vari tipi di formattazione) nelle partiture musicali.

Alcuni elementi testuali che non sono trattati qui sono discussi in altre sezioni specifiche: Musica vocale, @ref{Titles and headers}.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

1.8.1 Inserimento del testo

@translationof Writing text

Questa sezione presenta vari modi di aggiungere del testo a una partitura.

Nota: Per scrivere caratteri accentati e speciali (come quelli di altre lingue), basta inserire semplicemente i caratteri nel file LilyPond, purché il file sia salvato in formato UTF-8. Ulteriori informazioni in Codifica del testo.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Scritte

@translationof Text scripts

Si possono aggiungere a una partitura delle semplici indicazioni con del “testo tra virgolette”, come mostrato nell’esempio seguente. Tali indicazioni possono essere posizionate sopra o sotto il rigo, usando la sintassi descritta in Direzione e posizionamento.

 
\relative { a'8^"pizz." g f e a4-"scherz." f }

[image of music]

In realtà questa sintassi è una scorciatoia; si può specificare una formattazione del testo più complessa usando in modo esplicito un blocco \markup, come è spiegato in Formattazione del testo.

 
\relative {
  a'8^\markup { \italic pizz. } g f e
  a4_\markup { \tiny scherz. \bold molto } f }

[image of music]

Le indicazioni testuali, di norma, non influenzano la spaziatura delle note. Ma è possibile far sì che la loro larghezza venga presa in considerazione: nell’esempio seguente la prima stringa di testo non influenza la spaziatura, mentre la seconda sì.

 
\relative {
  a'8^"pizz." g f e
  \textLengthOn
  a4_"scherzando" f
}

[image of music]

Oltre alle scritte, si possono attaccare alle note anche le articolazioni. Ulteriori informazioni in Articolazioni e abbellimenti.

Per maggiori informazioni sull’ordinamento relativo delle scritte e delle articolazioni si veda (learning)Posizionamento degli oggetti section ‘Posizionamento degli oggetti’ in Manuale di Apprendimento.

Comandi predefiniti

\textLengthOn, \textLengthOff.

Vedi anche

Manuale d’apprendimento: (learning)Posizionamento degli oggetti section ‘Posizionamento degli oggetti’ in Manuale di Apprendimento.

Guida alla notazione: Formattazione del testo, Direzione e posizionamento, Articolazioni e abbellimenti.

Frammenti: (snippets)Text section ‘Text’ in Frammenti di codice.

Guida al funzionamento interno: (internals)TextScript section ‘TextScript’ in Guida al Funzionamento Interno.

Problemi noti e avvertimenti

Per verificare che le scritte e il testo vocale siano entro i margini occorrono ulteriori calcoli. Nei casi in cui è richiesta un’esecuzione leggermente più veloce, usare

 
\override Score.PaperColumn.keep-inside-line = ##f

[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Estensori del testo

@translationof Text spanners

Alcune indicazioni esecutive, per esempio rallentando o accelerando, appaiono in forma testuale e vengono estese lungo molteplici note con delle linee punteggiate. Tali oggetti, chiamati “estensori” (spanner), si creano collegando due note con la seguente sintassi:

 
\relative {
  \override TextSpanner.bound-details.left.text = "rit."
  b'1\startTextSpan
  e,\stopTextSpan
}

[image of music]

La stringa testuale da stampare viene impostata attraverso le proprietà dell’oggetto. Per impostazione predefinita, appare in corsivo, ma si può ottenere una formattazione diversa tramite i blocchi \markup, come è spiegato in Formattazione del testo.

 
\relative {
  \override TextSpanner.bound-details.left.text =
    \markup { \upright "rit." }
  b'1\startTextSpan c
  e,\stopTextSpan
}

[image of music]

Lo stile della linea, così come la stringa testuale, può essere definito come una proprietà dell’oggetto. Questa sintassi è descritta in Stili della linea.

Comandi predefiniti

\textSpannerUp, \textSpannerDown, \textSpannerNeutral.

Problemi noti e avvertimenti

LilyPond è capace di gestire un solo estensore del testo per ogni voce.

Frammenti di codice selezionati

Estensore testuale della dinamica personalizzato

Si possono definire estensori testuali personalizzati che fanno uso delle forcine e dei crescendo testuali. \< e \> generano le forcine, \cresc etc. generano gli estensori testuali.

 
% Some sample text dynamic spanners, to be used as postfix operators
crpoco =
#(make-music 'CrescendoEvent
             'span-direction START
             'span-type 'text
             'span-text "cresc. poco a poco")

\relative c' {
  c4\cresc d4 e4 f4 |
  g4 a4\! b4\crpoco c4 |
  c4 d4 e4 f4 |
  g4 a4\! b4\< c4 |
  g4\dim a4 b4\decresc c4\!
}

[image of music]

Estensore testuale della dinamica personalizzato

Funzioni postfix per estensori testuali personalizzati del crescendo. Gli estensori devono iniziare sulla prima nota della misura; e bisogna usare -\mycresc, altrimenti l’inizio dell’estensore viene assegnato alla nota successiva.

 
% Two functions for (de)crescendo spanners where you can explicitly give the
% spanner text.
mycresc =
#(define-music-function (mymarkup) (markup?)
   (make-music 'CrescendoEvent
               'span-direction START
               'span-type 'text
               'span-text mymarkup))
mydecresc =
#(define-music-function (mymarkup) (markup?)
   (make-music 'DecrescendoEvent
               'span-direction START
               'span-type 'text
               'span-text mymarkup))

\relative c' {
  c4-\mycresc "custom cresc" c4 c4 c4 |
  c4 c4 c4 c4 |
  c4-\mydecresc "custom decresc" c4 c4 c4 |
  c4 c4\! c4 c4
}

[image of music]

Vedi anche

Guida alla notazione: Stili della linea, Dinamiche, Formattazione del testo.

Frammenti: (snippets)Text section ‘Text’ in Frammenti di codice, (snippets)Expressive marks section ‘Expressive marks’ in Frammenti di codice.

Guida al funzionamento interno: (internals)TextSpanner section ‘TextSpanner’ in Guida al Funzionamento Interno.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Indicazioni testuali

@translationof Text marks

Si possono aggiungere vari elementi testuali a una partitura tramite la sintassi descritta in Segni di chiamata:

 
\relative {
  \mark "Verse"
  c'2 g'
  \bar "||"
  \mark "Chorus"
  g2 c,
  \bar "|."
}

[image of music]

Questa sintassi permette di porre del testo sopra una stanghetta; una formattazione del testo più complessa è possibile grazie al blocco \markup, come è spiegato in Formattazione del testo:

 
\relative {
  <c' e>1
  \mark \markup { \italic { colla parte } }
  <d f>2 <e g>
  <c f aes>1
}

[image of music]

Questa sintassi permette anche di stampare segni speciali, come coda, segno o corona, se si specifica il nome appropriato del simbolo, come è spiegato in Notazione musicale nel blocco markup:

 
\relative {
  <bes' f>2 <aes d>
  \mark \markup { \musicglyph "scripts.ufermata" }
  <e g>1
}

[image of music]

Tali oggetti vengono posizionati soltanto sopra il rigo superiore della partitura; a seconda che siano inseriti alla fine o a metà di una battuta, possono trovarsi sopra la stanghetta o tra le note. Se inserito prima di un’interruzione di linea, l’indicazione apparirà all’inizio della linea successiva.

 
\relative c'' {
  \mark "Allegro"
  c1 c
  \mark "assai" \break
  c  c
}

[image of music]

Comandi predefiniti

\markLengthOn, \markLengthOff.

Frammenti di codice selezionati

Posizionare le indicazioni alla fine di una linea

È possibile posizionare le indicazioni alla fine della linea corrente, invece che all’inizio della linea successiva. In tali casi, può essere preferibile allineare l’estremità destra dell’indicazione alla stanghetta.

 
\relative c'' {
  g2 c
  d,2 a'
  \once \override Score.RehearsalMark.break-visibility = #end-of-line-visible
  \once \override Score.RehearsalMark.self-alignment-X = #RIGHT
  \mark "D.C. al Fine"
  \break
  g2 b,
  c1 \bar "||"
}

[image of music]

Stampare le indicazioni su ogni rigo

Sebbene le indicazioni testuali siano di norma collocate solo sopra il rigo più alto, è possibile farle apparire su ogni rigo.

 
\score {
  <<
    \new Staff { c''1 \mark "molto" c'' }
    \new Staff { c'1 \mark "molto" c' }
  >>
  \layout {
    \context {
      \Score
      \remove "Mark_engraver"
      \remove "Staff_collecting_engraver"
    }
    \context {
      \Staff
      \consists "Mark_engraver"
      \consists "Staff_collecting_engraver"
    }
  }
}

[image of music]

Vedi anche

Guida alla notazione: Segni di chiamata, Formattazione del testo, Notazione musicale nel blocco markup, Il font Emmentaler.

Frammenti: (snippets)Text section ‘Text’ in Frammenti di codice.

Guida al funzionamento interno: (internals)MarkEvent section ‘MarkEvent’ in Guida al Funzionamento Interno, (internals)Mark_engraver section ‘Mark_engraver’ in Guida al Funzionamento Interno, (internals)RehearsalMark section ‘RehearsalMark’ in Guida al Funzionamento Interno.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Testo separato

@translationof Separate text

Un blocco \markup può esistere di per sé, fuori da qualsiasi blocco \score, come un’ “espressione di livello superiore”. Questa sintassi è descritta in Struttura del file.

 
\markup {
  Tomorrow, and tomorrow, and tomorrow...
}

[image of music]

Ciò permette di stampare il testo in modo autonomo dalla musica, ed è utile soprattutto quando il file di input contiene vari brani musicali, come è spiegato in Molteplici partiture in un libro.

 
\score {
  c'1
}
\markup {
  Tomorrow, and tomorrow, and tomorrow...
}
\score {
  c'1
}

[image of music]

Blocchi di testo separati possono essere estesi per molte pagine, rendendo possibile la realizzazione di documenti o libri interamente con LilyPond. Questa funzionalità, e la sintassi specifica che richiede, è descritta in Testo formattato su più pagine.

Comandi predefiniti

\markup, \markuplist.

Frammenti di codice selezionati

Testo separato su due colonne

Il testo separato può essere disposto su varie colonne con i comandi di \markup:

 
\markup {
  \fill-line {
    \hspace #1
    \column {
      \line { O sacrum convivium }
      \line { in quo Christus sumitur, }
      \line { recolitur memoria passionis ejus, }
      \line { mens impletur gratia, }
      \line { futurae gloriae nobis pignus datur. }
      \line { Amen. }
    }
    \hspace #2
    \column \italic {
      \line { O sacred feast }
      \line { in which Christ is received, }
      \line { the memory of His Passion is renewed, }
      \line { the mind is filled with grace, }
      \line { and a pledge of future glory is given to us. }
      \line { Amen. }
    }
    \hspace #1
  }
}

[image of music]

Vedi anche

Guida alla notazione: Formattazione del testo, Struttura del file, Molteplici partiture in un libro, Testo formattato su più pagine.

Frammenti: (snippets)Text section ‘Text’ in Frammenti di codice.

Guida al funzionamento interno: (internals)TextScript section ‘TextScript’ in Guida al Funzionamento Interno.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

1.8.2 Formattazione del testo

@translationof Formatting text

Questa sezione presenta la formattazione del testo basilare e quella avanzata, usando la sintassi specifica della modalità \markup.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Introduzione al testo a margine

@translationof Text markup introduction

Un blocco \markup permette di comporre del testo con un’ampia sintassi chiamata “modalità markup”.

La sintassi di markup è simile alla solita sintassi di LilyPond: un’espressione \markup viene racchiusa tra parentesi graffe {… }. Una singola parola viene considerata un’espressione minima, e quindi non è necessario racchiuderla tra parentesi.

Diversamente dalle indicazioni testuali “tra virgolette”, i blocchi \markup possono contenere espressioni o comandi di markup annidati, inseriti col carattere di barra inversa \. Tali comandi hanno effetto solo sulla prima espressione che segue.

 
\relative {
  a'1-\markup intenso
  a2^\markup { poco \italic più forte  }
  c e1
  d2_\markup { \italic "string. assai" }
  e
  b1^\markup { \bold { molto \italic  agitato } }
  c
}

[image of music]

Un blocco \markup può contenere anche stringhe di testo tra virgolette. Tali stringhe vengono trattate come espressioni testuali minime, e quindi qualsiasi comando di markup o carattere speciale (come \ e #) apparirà alla lettera senza influenzare la formattazione del testo. Le stesse doppie virgolette possono essere stampate facendole precedere da una barra inversa.

 
\relative {
  a'1^"\italic markup..."
  a_\markup { \italic "... prints \"italic\" letters!" }
  a a
}

[image of music]

Perché sia trattata come un’espressione distinta, una lista di parole deve essere racchiusa tra virgolette doppie o preceduta da un comando. Il modo in cui le espressioni musicali sono definite influenza il modo in cui saranno sistemate, centrate e allineate; nell’esempio seguente, la seconda espressione di \markup viene trattata nello stesso modo della prima:

 
\relative c'' {
  c1^\markup { \center-column { a bbb c } }
  c1^\markup { \center-column { a { bbb c } } }
  c1^\markup { \center-column { a \line { bbb c } } }
  c1^\markup { \center-column { a "bbb c" } }
}

[image of music]

I markup possono essere salvati in delle variabili, che possono poi essere attaccate direttamente alle note:

 
allegro = \markup { \bold \large Allegro }

{
  d''8.^\allegro
  d'16 d'4 r2
}

[image of music]

Una lista completa dei comandi specifici di \markup si trova in Comandi per markup.

Vedi anche

Guida alla notazione: Comandi per markup.

Frammenti: (snippets)Text section ‘Text’ in Frammenti di codice.

File installati: ‘scm/markup.scm’.

Problemi noti e avvertimenti

I messaggi di errore di sintassi relativi alla modalità markup possono essere poco chiari.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Scelta del tipo di carattere e della dimensione

@translationof Selecting font and font size

La modalità markup permette di cambiare il tipo di carattere:

 
\relative {
  d''1^\markup {
    \bold { Più mosso }
    \italic { non troppo \underline Vivo }
  }
  r2 r4 r8
  d,_\markup { \italic quasi \smallCaps Tromba }
  f1 d2 r
}

[image of music]

Si può modificare la dimensione del tipo di carattere, rispetto alla dimensione globale del rigo, in vari modi.

Si può impostare su una dimensione predefinita.

 
\relative b' {
  b1_\markup { \huge Sinfonia }
  b1^\markup { \teeny da }
  b1-\markup { \normalsize camera }
}

[image of music]

oppure in modo proporzionale rispetto al valore precedente.

 
\relative b' {
  b1_\markup { \larger Sinfonia }
  b1^\markup { \smaller da }
  b1-\markup { \magnify #0.6  camera }
}

[image of music]

Può essere aumentata o diminuita rispetto al valore impostato per la dimensione globale del rigo.

 
\relative b' {
  b1_\markup { \fontsize #-2 Sinfonia }
  b1^\markup { \fontsize #1 da }
  b1-\markup { \fontsize #3 camera }
}

[image of music]

Si può impostare anche su una dimensione fissa (in punti), indipendentemente dalla dimensione globale del rigo.

 
\relative b' {
  b1_\markup { \abs-fontsize #20 Sinfonia }
  b1^\markup { \abs-fontsize #8 da }
  b1-\markup { \abs-fontsize #14 camera }
}

[image of music]

Se il testo contiene degli spazi, è meglio racchiuderlo tutto tra virgolette, in modo che la dimensione di ciascun spazio sia adatta alla dimensione degli altri caratteri.

 
\markup \fontsize #6 \bold { Sinfonia da camera }
\markup \fontsize #6 \bold { "Sinfonia da camera" }

[image of music]

È possibile stampare il testo come pedice o apice. Per impostazione predefinita, questo appaiono in corpo più piccolo, ma si può usare anche un corpo normale:

 
\markup {
  \column {
    \line { 1 \super st movement }
    \line { 1 \normal-size-super st movement
      \sub { (part two) }  }
  }
}

[image of music]

La modalità di markup fornisce un modo semplice per scegliere famiglie di caratteri diverse. Se non specificato altrimenti, viene scelto automaticamente il carattere tipografico con grazie (il tipo romano); nell’ultima linea dell’esempio seguente non c’è differenza tra la prima e la seconda parola.

 
\markup {
  \column {
    \line { Act \number 1 }
    \line { \sans { Scene I. } }
    \line { \typewriter { Verona. An open place. } }
    \line { Enter \roman Valentine and Proteus. }
  }
}

[image of music]

Alcune di queste famiglie di caratteri, usate per elementi specifici come i numeri o le dinamiche, non forniscono tutti i caratteri, come accennato in Nuove indicazioni dinamiche e Indicazioni di ripetizione manuali.

Se usati all’interno di una parola, alcuni comandi che cambiano il tipo di carattere o la formattazione potrebbero produrre uno spazio vuoto indesiderato. Si può facilmente risolvere concatenando insieme gli elementi testuali:

 
\markup {
  \column {
    \line {
      \concat { 1 \super st }
      movement
    }
    \line {
      \concat { \dynamic p , }
      \italic { con dolce espressione }
    }
  }
}

[image of music]

Una lista completa dei comandi per cambiare il tipo di carattere o per usare tipi di carattere personalizzati si trova in Font.

È possibile anche definire i propri gruppi di tipi di carattere, come è spiegato in Tipi di carattere.

Comandi predefiniti

\teeny, \tiny, \small, \normalsize, \large, \huge, \smaller, \larger.

Vedi anche

Guida alla notazione: Font, Nuove indicazioni dinamiche, Indicazioni di ripetizione manuali, Tipi di carattere.

File installati: ‘scm/define-markup-commands.scm’.

Frammenti: (snippets)Text section ‘Text’ in Frammenti di codice.

Guida al funzionamento interno: (internals)TextScript section ‘TextScript’ in Guida al Funzionamento Interno.

Problemi noti e avvertimenti

L’uso dei comandi di dimensionamento dei caratteri \teeny, \tiny, \small, \normalsize, \large e \huge produce una spaziatura della linea imprevedibile rispetto all’uso di \fontsize.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Allineamento del testo

@translationof Text alignment

Questa sottosezione spiega come posizionare il testo nella modalità markup. Gli oggetti markup possono anche essere spostati interamente tramite la sintassi descritta in (learning)Spostare gli oggetti section ‘Spostare gli oggetti’ in Manuale di Apprendimento.

Gli oggetti di markup possono essere allineati in vari modi. Per impostazione predefinita, l’indicazione testuale è allineata rispetto al suo margine sinistro: nell’esempio seguente, non c’è differenza tra il primo e il secondo markup.

 
\relative {
  d''1-\markup { poco }
  f
  d-\markup { \left-align poco }
  f
  d-\markup { \center-align { poco } }
  f
  d-\markup { \right-align poco }
}

[image of music]

L’allineamento orizzontale può essere ritoccato usando un valore numerico:

 
\relative {
  a'1-\markup { \halign #-1 poco }
  e'
  a,-\markup { \halign #0 poco }
  e'
  a,-\markup { \halign #0.5 poco }
  e'
  a,-\markup { \halign #2 poco }
}

[image of music]

Alcuni oggetti possono avere proprie procedure di allineamento, e dunque non sono influenzate da questi comandi. È possibile spostare tali oggetti di markup tutti insieme, come mostrato ad esempio in Indicazioni testuali.

L’allineamento verticale è un po’ più complesso. Come si è detto prima, gli oggetti di markup possono essere spostati tutti insieme; tuttavia è anche possibile spostare elementi specifici all’interno di un blocco markup. In questo caso l’elemento da spostare deve essere preceduto da un punto di riferimento, che può essere un altro elemento markup o un oggetto invisibile. L’esempio seguente illustra queste due possibilità; l’ultimo markup in questo esempio non ha un punto di riferimento e di conseguenza non si muove.

 
\relative {
  d'2^\markup {
    Acte I
    \raise #2 { Scène 1 }
  }
  a'
  g_\markup {
    \null
    \lower #4 \bold { Très modéré }
  }
  a
  d,^\markup {
    \raise #4 \italic { Une forêt. }
  }
  a'4 a g2 a
}

[image of music]

Alcuni comandi possono cambiare l’allineamento sia orizzontale che verticale degli oggetti testuali in modalità markup. Qualsiasi oggetto interessato da questi comandi deve essere preceduto da un punto di riferimento:

 
\relative {
  d'2^\markup {
    Acte I
    \translate #'(-1 . 2) "Scène 1"
  }
  a'
  g_\markup {
    \null
    \general-align #Y #3.2 \bold "Très modéré"
  }
  a
  d,^\markup {
    \null
    \translate-scaled #'(-1 . 2) \teeny "Une forêt."
  }
  a'4 a g2 a
}

[image of music]

Un oggetto markup può includere varie linee di testo. Nell’esempio seguente, ogni elemento o espressione viene posizionato sulla sua linea, allineato a sinistra o centrato:

 
\markup {
  \column {
    a
    "b c"
    \line { d e f }
  }
  \hspace #10
  \center-column {
    a
    "b c"
    \line { d e f }
  }
}

[image of music]

Analogalmente, una lista di elementi o espressioni può essere distesa per riempire l’intera larghezza orizzontale della linea (se c’è un solo elemento, verrà centrato sulla pagina). Queste espressioni possono a loro volta includere del testo multilinea o una qualsiasi altra espressione di markup:

 
\markup {
  \fill-line {
    \line { William S. Gilbert }
    \center-column {
      \huge \smallCaps "The Mikado"
      or
      \smallCaps "The Town of Titipu"
    }
    \line { Sir Arthur Sullivan }
  }
}
\markup {
  \fill-line { 1885 }
}

[image of music]

Indicazioni testuali lunghe possono andare a capo automaticamente in base alla larghezza della linea specificata. Possono essere allineate a sinistra o giustificate, come mostra l’esempio seguente.

 
\markup {
  \column {
    \line  \smallCaps { La vida breve }
    \line \bold { Acto I }
    \wordwrap \italic {
      (La escena representa el corral de una casa de
      gitanos en el Albaicín de Granada.  Al fondo una
      puerta por la que se ve el negro interior de
      una Fragua, iluminado por los rojos resplandores
      del fuego.)
    }
    \hspace #0

    \line \bold { Acto II }
    \override #'(line-width . 50)
    \justify \italic {
      (Calle de Granada.  Fachada de la casa de Carmela
      y su hermano Manuel con grandes ventanas abiertas
      a través de las que se ve el patio
      donde se celebra una alegre fiesta)
    }
  }
}

[image of music]

Una lista completa dei comandi di allineamento del testo si trova in Align.

Vedi anche

Manuale d’apprendimento: (learning)Spostare gli oggetti section ‘Spostare gli oggetti’ in Manuale di Apprendimento.

Guida alla notazione: Align, Indicazioni testuali.

File installati: ‘scm/define-markup-commands.scm’.

Frammenti: (snippets)Text section ‘Text’ in Frammenti di codice.

Guida al funzionamento interno: (internals)TextScript section ‘TextScript’ in Guida al Funzionamento Interno.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Notazione grafica nel blocco markup

@translationof Graphic notation inside markup

Si possono aggiungere vari oggetti grafici a una partitura attraverso i comandi di markup.

Alcuni comandi di markup consentono di decorare gli elementi testuali con degli elementi grafici, come è illustrato nell’esempio seguente.

 
\markup \fill-line {
  \center-column {
    \circle Jack
    \box "in the box"
    \null
    \line {
      Erik Satie
      \hspace #3
      \bracket "1866 - 1925"
    }
    \null
    \rounded-box \bold Prelude
  }
}

[image of music]

Alcuni comandi possono richiedere un aumento del padding intorno al testo; per farlo si usano dei comandi di markup, descritti in modo esaustivo in Align.

 
\markup \fill-line {
  \center-column {
    \box "Charles Ives (1874 - 1954)"
    \null
    \box \pad-markup #2 "THE UNANSWERED QUESTION"
    \box \pad-x #8 "A Cosmic Landscape"
    \null
  }
}
\markup \column {
  \line {
    \hspace #10
    \box \pad-to-box #'(-5 . 20) #'(0 . 5)
      \bold "Largo to Presto"
  }
  \pad-around #3
      "String quartet keeps very even time,
Flute quartet keeps very uneven time."
}

[image of music]

Si possono produrre altri elementi grafici o simboli che non richiedono alcun testo. Come con qualsiasi espressione di markup, tali oggetti possono essere combinati.

 
\markup {
  \combine
    \draw-circle #4 #0.4 ##f
    \filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1
  \hspace #5

  \center-column {
    \triangle ##t
    \combine
      \draw-line #'(0 . 4)
      \arrow-head #Y #DOWN ##f
  }
}

[image of music]

Le funzionalità grafiche avanzate comprendono la possibilità di includere file di immagini convertite nel formato Encapsulated PostScript (eps), oppure di inserire la grafica direttamente nel file di input, usando del codice PostScript nativo. In tal caso, può essere utile specificare esplicitamente la dimensione del disegno, come è mostrato sotto:

 
c'1^\markup {
  \combine
    \epsfile #X #10 "./context-example.eps"
    \with-dimensions #'(0 . 6) #'(0 . 10)
    \postscript "
      -2 3 translate
      2.7 2 scale
      newpath
      2 -1 moveto
      4 -2 4 1 1 arct
      4 2 3 3 1 arct
      0 4 0 3 1 arct
      0 0 1 -1 1 arct
      closepath
      stroke"
  }
c'

[image of music]

Una lista completa dei comandi specifici per la grafica si trova in Graphic.

Vedi anche

Guida alla notazione: Align, Dimensioni, Note editoriali, Graphic.

File installati: ‘scm/define-markup-commands.scm’, ‘scm/stencil.scm’.

Frammenti: (snippets)Text section ‘Text’ in Frammenti di codice.

Guida al funzionamento interno: (internals)TextScript section ‘TextScript’ in Guida al Funzionamento Interno.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Notazione musicale nel blocco markup

@translationof Music notation inside markup

Si possono aggiungere vari elementi della notazione musicale dentro un oggetto markup.

Per le note e le alterazioni esistono dei comandi markup appositi:

 
a'2 a'^\markup {
  \note {4} #1
  =
  \note-by-number #1 #1 #1.5
}
b'1_\markup {
  \natural \semiflat \flat
  \sesquiflat \doubleflat
}
\glissando
a'1_\markup {
  \natural \semisharp \sharp
  \sesquisharp \doublesharp
}
\glissando b'

[image of music]

Anche altri oggetti della notazione possono essere stampati in modalità markup:

 
\relative {
  g1 bes
  ees\finger \markup \tied-lyric "4~1"
  fis_\markup { \dynamic rf }
  bes^\markup {
    \beam #8 #0.1 #0.5
  }
  cis
  d-\markup {
    \markalphabet #8
    \markletter #8
  }
}

[image of music]

Più in generale, qualsiasi simbolo musicale disponibile può essere incluso separatamente in un oggetto markup, come è illustrato sotto. Una lista completa di questi simboli e dei loro nomi si trova in Il font Emmentaler.

 
\relative {
  c''2
  c'^\markup { \musicglyph "eight" }
  c,4
  c,8._\markup { \musicglyph "clefs.G_change" }
  c16
  c2^\markup { \musicglyph "timesig.neomensural94" }
}

[image of music]

Un altro modo per stampare glifi non testuali è descritto in Tipi di carattere in dettaglio. È utile per stampare parentesi di varie dimensioni.

La modalità markup supporta anche i diagrammi per strumenti specifici:

 
\relative {
  c''1^\markup {
    \fret-diagram-terse "x;x;o;2;3;2;"
  }
  c^\markup {
    \harp-pedal "^-v|--ov^"
  }
  c
  c^\markup {
    \combine
      \musicglyph "accordion.discant"
      \combine
	\raise #0.5 \musicglyph "accordion.dot"
	\raise #1.5 \musicglyph "accordion.dot"
  }
}

[image of music]

Questi diagrammi sono documentati in Instrument Specific Markup.

È possibile annidare perfino un’intera partitura in un oggetto markup:

 
\relative {
  c'4 d^\markup {
    \score {
      \relative { c'4 d e f }
    }
  }
  e f |
  c d e f
}

[image of music]

Una lista completa dei comandi relativi alla notazione musicale si trova in Music.

Vedi anche

Guida alla notazione: Music, Il font Emmentaler, Tipi di carattere in dettaglio.

File installati: ‘scm/define-markup-commands.scm’, ‘scm/fret-diagrams.scm’, ‘scm/harp-pedals.scm’.

Frammenti: (snippets)Text section ‘Text’ in Frammenti di codice.

Guida al funzionamento interno: (internals)TextScript section ‘TextScript’ in Guida al Funzionamento Interno.

Problemi noti e avvertimenti

La spaziatura verticale di un blocco \score interno a un oggetto markup è regolata da baseline-skip. Le impostazioni in \paper vengono ignorate.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Testo formattato su più pagine

@translationof Multi-page markup

Sebbene gli oggetti di markup standard non possano avere interruzioni, una specifica sintassi permette di inserire linee di testo che possono estendersi per varie pagine:

 
\markuplist {
  \justified-lines {
    Un testo molto lungo di linee giustificate.
    ...
  }
  \wordwrap-lines {
    Un altro paragrafo molto lungo.
    ...
  }
  ...
}

[image of music]

Questa sintassi accetta una lista di oggetti di markup, che possono essere

Una lista completa dei comandi che si possono usare con \markuplist si trova in Comandi per una lista di markup.

Vedi anche

Guida alla notazione: Comandi per una lista di markup.

Estendere LilyPond: (extending)New markup list command definition section ‘New markup list command definition’ in Estendere.

File installati: ‘scm/define-markup-commands.scm’.

Frammenti: (snippets)Text section ‘Text’ in Frammenti di codice.

Guida al funzionamento interno: (internals)TextScript section ‘TextScript’ in Guida al Funzionamento Interno.

Comandi predefiniti

\markuplist.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

1.8.3 Tipi di carattere

@translationof Fonts

Questa sezione presenta il modo in cui sono gestiti i tipi di carattere e come possono essere modificati nelle partiture.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Tipi di carattere in dettaglio

@translationof Fonts explained

I tipi di carattere vengono gestiti attraverso varie librerie. FontConfig rileva i tipi di carattere disponibili nel sistema; i tipi selezionati sono riprodotti con Pango.

I tipi di carattere della notazione musicale possono essere descritti come un insieme di glifi specifici, ordinati in varie famiglie. La seguente sintassi permette di usare vari glifi Feta di LilyPond direttamente nella modalità markup:

 
a'1^\markup {
  \vcenter {
    \override #'(font-encoding . fetaBraces)
    \lookup "brace120"
    \override #'(font-encoding . fetaText)
    \column { 1 3 sf }
    \override #'(font-encoding . fetaMusic)
    \lookup "noteheads.s0petrucci"
  }
}

[image of music]

Tuttavia, tutti questi glifi, ad eccezione delle graffe di varie dimensioni contenute in fetaBraces, sono già utilizzabili con la sintassi ben più semplice descritta in Notazione musicale nel blocco markup.

Quando si usano i glifi contenuti in fetaBraces, la dimensione della graffa viene specificata dalla parte numerica del nome del glifo, in unità arbitrarie. Può essere specificato qualsiasi numero intero da 0 a 575 compresi, dove 0 corrisponde alla graffa più piccola. Il valore ottimale deve essere determinato per tentativi. Questi glifi sono tutte graffe sinistre; le graffe destre si possono ottenere con la rotazione, vedi Rotazione degli oggetti.

Sono disponibili tre famiglie di font: il font roman (con grazie), il font sans (senza grazie) e il font monospaziato typewriter.

Per il backend svg:

FamigliaFont predefinito
romanserif
sanssans-serif
typewritermonospace

serif, sans-serif, e monospace sono generic-family (famiglie generiche) nelle specifiche SVG e CSS.

Per gli altri backend:

FamigliaFont predefinito (alias)Elenchi di definizione di alias
romanLilyPond SerifTeX Gyre Schola, C059, Century SchoolBook URW, Century Schoolbook L, DejaVu Serif, ..., serif
sansLilyPond Sans SerifTeX Gyre Heros, Nimbus Sans, Nimbus Sans L, DejaVu Sans, ..., sans-serif
typewriterLilyPond MonospaceTeX Gyre Cursor, Nimbus Mono PS, Nimbus Mono, Nimbus Mono L, DejaVu Sans Mono, ..., monospace

LilyPond Serif, LilyPond Sans Serif, e LilyPond Monospace sono font alias definiti nel file di configurazione FontConfig specifico per LilyPond 00-lilypond-fonts.conf. Se un carattere non esiste nel primo font elencato, il font successivo dell’elenco verrà usato al suo posto per quel carattere. I dettagli delle definizioni degli alias si trovano nel file 00-lilypond-fonts.conf all’interno della directory di installazione.

Ogni famiglia può avere forme e serie differenti. L’esempio seguente illustra la possibilità di scegliere famiglie, forme, serie e dimensioni alternative. Il valore specificato per font-size è la modifica relativa alla dimensione predefinita.

 
\override Score.RehearsalMark.font-family = #'typewriter
\mark \markup "Ouverture"
\override Voice.TextScript.font-shape = #'italic
\override Voice.TextScript.font-series = #'bold
d''2.^\markup "Allegro"
\override Voice.TextScript.font-size = #-3
c''4^smaller

[image of music]

Una sintassi simile si usa nella modalità markup; tuttavia in questo caso è preferibile usare la sintassi più semplice spiegata in Scelta del tipo di carattere e della dimensione:

 
\markup {
  \column {
    \line {
      \override #'((font-shape . italic) (font-size . 4))
      Idomeneo,
    }
    \line {
      \override #'(font-family . typewriter)
      {
        \override #'(font-series . bold)
        re
        di
      }
      \override #'(font-family . sans)
      Creta
    }
  }
}

[image of music]

Quando si usano i font OpenType, sono disponibili le funzionalità dei font. Nota bene: non tutti i font OpenType hanno a disposizione tutte le funzioni. Se si richiede una funzionalità che non esiste nel font scelto, tale funzionalità viene semplicemente ignorata.

 
% Maiuscoletto vero
\markup { Stile normale: Hello HELLO }
\markup { \caps { Maiuscoletto: Hello } }
\markup { \override #'(font-features . ("smcp"))
          { Maiuscoletto vero: Hello } }

% Stili numerici
\markup { Stile numerico normale: 0123456789 }
\markup { \override #'(font-features . ("onum"))
          { Stile numerico vecchio: 0123456789 } }

% Alternative stilistiche
\markup { \override #'(font-features . ("salt 0"))
          { Alternative stilistiche 0: εφπρθ } }
\markup { \override #'(font-features . ("salt 1"))
          { Alternative stilistiche 1: εφπρθ } }

% Funzionalità multiple
\markup { \override #'(font-features . ("onum" "smcp" "salt 1"))
          { Funzionalità multiple: Hello 0123456789 εφπρθ } }

[image of music]

L’elenco completo delle funzionalità del font OpenType è consultabile qui: https://www.microsoft.com/typography/otspec/featurelist.htm

Per identificare le funzionalità dei font OpenType leggere qui: http://lists.gnu.org/archive/html/lilypond-devel/2017-08/msg00004.html

Sebbene sia semplice passare a un tipo di carattere preconfigurato, è anche possibile usare altri tipi, come viene spiegato nelle sezioni successive: Tipi di carattere per singolo oggetto e Tipi di carattere per l’intero documento.

Vedi anche

Guida alla notazione: Il font Emmentaler, Notazione musicale nel blocco markup, Rotazione degli oggetti, Scelta del tipo di carattere e della dimensione, Font.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Tipi di carattere per singolo oggetto

@translationof Single entry fonts

Si può usare nella partitura qualsiasi tipo di carattere che sia installato nel sistema operativo e riconosciuto da FontConfig, usando la seguente sintassi:

 
\override Staff.TimeSignature.font-name = "Bitstream Charter"
\override Staff.TimeSignature.font-size = #2
\time 3/4

a'1_\markup {
  \override #'(font-name . "Bitstream Vera Sans,sans-serif, Oblique Bold")
    { Vera Oblique Bold }
}

[image of music]

font-name può essere definito da una lista separata da virgola di ‘font’ e una lista separata da spazi di ‘stili’. Se il ‘font’ nella lista è installato e contiene il glifo richiesto, verrà usato, altrimenti sarà usato al suo posto il font successivo.

Lanciando lilypond con la seguente opzione si ottiene un elenco di tutti i tipi di carattere disponibili nel sistema operativo:

 
lilypond -dshow-available-fonts

Vedi anche

Guida alla notazione: Tipi di carattere in dettaglio, Tipi di carattere per l’intero documento.

Frammenti: (snippets)Text section ‘Text’ in Frammenti di codice.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Tipi di carattere per l’intero documento

@translationof Entire document fonts

È possibile modificare i tipi di carattere usati come tipi predefiniti nelle famiglie roman, sans e typewriter specificandoli, in questo ordine, come è mostrato nell’esempio seguente, che ridimensiona automaticamente i caratteri col valore impostato per la dimensione globale del rigo. In modo analogo a Tipi di carattere per singolo oggetto, si può indicare con una lista separata da virgole di ‘font’. Gli ‘stili’ dei font, invece, non possono essere definiti. I tipi di carattere sono spiegati in Tipi di carattere in dettaglio.

 
\paper  {
  #(define fonts
    (make-pango-font-tree "Times New Roman"
                          "Nimbus Sans,Nimbus Sans L"
                          "Luxi Mono"
                          (/ staff-height pt 20)))
}

\relative c'{
  c1-\markup {
    roman,
    \sans sans,
    \typewriter typewriter. }
}

[image of music]

Nota: make-pango-font-tree reimposta i font della notazione sui predefiniti Emmentaler.

La sintassi seguente permette di cambiare font specifici, lasciando gli altri ai valori predefiniti. L’esempio seguente produce lo stesso risultato dell’esempio precedente di make-pango-font-tree. Come con make-pango-font-tree, è possibile specificare un elenco separato da virgola di “font” per le categorie roman, sans e typewriter. Se non si cambia la dimensione del rigo dal valore predefinito di 20 pt, #:factor (/ staff-height pt 20) non è necessario.

 
\paper {
  #(define fonts
    (set-global-fonts
     #:roman "Times New Roman"
     #:sans "Nimbus Sans,Nimbus Sans L"
     #:typewriter "Luxi Mono"
     #:factor (/ staff-height pt 20) ; non necessario se la dimensione del rigo è predefinita
    ))
}

È possibile specificare anche i font della notazione. Il prossimo esempio ha anch’esso lo stesso risultato degli esempi precedenti, perché imposta i font della notazione predefiniti. Maggiori informazioni in Cambiare il tipo di carattere della notazione.

 
\paper {
  #(define fonts
    (set-global-fonts
     #:music "emmentaler"            ; predefinito
     #:brace "emmentaler"            ; predefinito
     #:roman "Times New Roman"
     #:sans "Nimbus Sans,Nimbus Sans L"
     #:typewriter "Luxi Mono"
     #:factor (/ staff-height pt 20) ; non necessario se la dimensione del rigo è predefinita
    ))
}

Nota: ogni chiamata della funzione set-global-fonts reimposta completamente i font sia della notazione principale che del testo. Se una categoria non è specificata, allora verrà usato il font predefinito per quella categoria. Ogni chiamata di set-global-fonts cambia i font di ciascun blocco \book che la segue. Se ci sono molteplici blocchi \book e si vogliono usare font diversi per ciascuno, basta ripetere set-global-fonts, in questo modo:

 
\paper {
  #(define fonts
    (set-global-fonts
     …
    ))
}
\book {
  …
}

\paper {
  #(define fonts
    (set-global-fonts
     …
    ))
}
\book {
  …
}

Vedi anche

Guida alla notazione: Tipi di carattere in dettaglio, Tipi di carattere per singolo oggetto, Scelta del tipo di carattere e della dimensione, Font, Cambiare il tipo di carattere della notazione.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]

This document was generated by gub on Luglio 13, 2020 using texi2html 1.82.

Altre lingue: English, català, deutsch, español, français, 日本語.
A proposito della selezione automatica della lingua.