Formattazione personalizzata dei titoli

I comandi \markup nel blocco \header sono utili solo per la formattazione del testo, ma non consentono un controllo preciso sul posizionamento dei titoli. Per personalizzare il posizionamento dei campi testuali, cambiare una o entrambe le seguenti variabili \paper:

Il posizionamento dei titoli secondo i valori predefiniti di queste variabili \markup è mostrato negli esempi in Formattazione predefinita dei titoli delle parti e dei brani.

Le impostazioni predefinite di scoreTitleMarkup, definite in ly/titling-init.ly, sono:

scoreTitleMarkup = \markup { \column {
  \if \should-print-all-headers { \bookTitleMarkup \hspace #1 }
  \fill-line {
    \fromproperty #'header:piece
    \fromproperty #'header:opus
  }
}
}

Questo pone i campi testuali piece e opus alle estremità opposte della stessa riga:

\score {
  \header {
    piece = "PRAELUDIUM I"
    opus = "BWV 846"
  }
  { s1 }
}

[image of music]

L’esempio seguente ridefinisce scoreTitleMarkup in modo che il campo testuale di piece sia centrato e in un tipo di carattere più grande e in grassetto.

\book {
  \paper {
    indent = 0\mm
    scoreTitleMarkup = \markup {
      \fill-line {
        \null
        \fontsize #4 \bold \fromproperty #'header:piece
        \fromproperty #'header:opus
      }
    }
  }
  \header { tagline = ##f }
  \score {
    \header {
      piece = "PRAELUDIUM I"
      opus = "BWV 846"
    }
    { s1 }
  }
}

[image of music]

I campi testuali che non sono normalmente attivi nei blocchi \header compresi in un blocco \score possono essere stampati nello spazio dedicato al titolo del brano aggiungendo print-all-headers nel blocco \paper. Lo svantaggio di questo metodo è che i campi testuali intesi esclusivamente per lo spazio del titolo della parte devono essere manualmente soppressi in ogni blocco \score. Vedi Come funzionano i titoli.

Per evitare ciò, è meglio mettere il campo testuale desiderato nella definizione di scoreTitleMarkup. Nell’esempio seguente il campo composer (solitamente associato a bookTitleMarkup) viene aggiunto a scoreTitleMarkup, facendo sì che ogni brano possa elencare un diverso compositore:

\book {
  \paper {
    indent = 0\mm
    scoreTitleMarkup = \markup {
      \fill-line {
        \null
        \fontsize #4 \bold \fromproperty #'header:piece
        \fromproperty #'header:composer
      }
    }
  }
  \header { tagline = ##f }
  \score {
    \header {
      piece = "MENUET"
      composer = "Christian Petzold"
    }
    { s1 }
  }
  \score {
    \header {
      piece = "RONDEAU"
      composer = "François Couperin"
    }
    { s1 }
  }
}

[image of music]

È anche possibile creare un campo testuale personalizzato e fare riferimento ad esso nella definizione di markup.

\book {
  \paper {
    indent = 0\mm
    scoreTitleMarkup = \markup {
      \fill-line {
        \null
        \override #`(direction . ,UP)
        \dir-column {
          \center-align \fontsize #-1 \bold
            \fromproperty #'header:mycustomtext %% Campo definito dall'utente
          \center-align \fontsize #4 \bold
            \fromproperty #'header:piece
        }
        \fromproperty #'header:opus
      }
    }
  }
  \header { tagline = ##f }
  \score {
    \header {
      piece = "FUGA I"
      mycustomtext = "A 4 VOCI" %% Campo definito dall'utente
      opus = "BWV 846"
    }
    { s1 }
  }
}

[image of music]

Vedi anche

Guida alla notazione: Come funzionano i titoli.


Guida alla Notazione di LilyPond v2.25.15 (ramo di sviluppo).