lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lyric sheet stylesheet] fixing lyric spacing


From: Kieren MacMillan
Subject: [lyric sheet stylesheet] fixing lyric spacing
Date: Fri, 7 Dec 2018 12:18:41 -0500

Hi all,

In the snippet below, I’m trying to develop some custom contexts so that people 
can write out lyrics with chords (but no music).

Right now, I’m trying to fix two things:

1. I want to eliminate all LyricHyphens entirely, and present words as complete 
words (rather than syllables). This would be solved, of course, if we had a 
"first-class citizen" LyricWord grob (q.v. the discussion a few years ago 
during Janek’s GSOC Lyrics work). Short of that, what can I do to squeeze out 
all LyricHyphens and spaces between syllables?

2. I want lyrics to be naturally spaced (i.e., not affected at all by the 
duration of the notes they are attached to). In the first line of output from 
the snippet, there are spaces "Mary ____ had a ____ little lamb" etc. How can I 
eliminate those?

Thanks,
Kieren.

%%%  SNIPPET BEGINS

\version "2.19.80"

\paper {
  indent = 0
  ragged-right = ##t
  system-system-spacing = #'((basic-distance . 6) (minimum-distance . 6) 
(padding . 2.5) (stretchability . 0))
  score-system-spacing.padding = #12
}

\layout {
  \context {
    \ChordNames
    \override ChordName.font-name = #"Alegreya Medium"
    \override VerticalAxisGroup.staff-affinity = #DOWN
    \override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
        #'((basic-distance . 2.5) (minimum-distance . 2.5) (padding . 1.25) 
(stretchability . 0))
  }
  \context {
    \Lyrics
    \override LyricText.font-name = #"Alegreya"
    \override VerticalAxisGroup.staff-affinity = #UP
    \override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
        #'((basic-distance . 5.5) (minimum-distance . 5.5) (padding . 1.25) 
(stretchability . 0))
  }
  \context {
    \ChordNames
    \name LyricSheetChords
    \alias ChordNames
    \inherit-acceptability LyricSheetChords ChordNames
    \override VerticalAxisGroup.nonstaff-nonstaff-spacing =
        #'((basic-distance . 1) (minimum-distance . 1) (padding . 1) 
(stretchability . 0))
  }
  \context {
    \Lyrics
    \name LyricSheetLyrics
    \alias Lyrics
    \inherit-acceptability LyricSheetLyrics Lyrics
    \override VerticalAxisGroup.staff-affinity = #UP
    \override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
        #'((basic-distance . 3) (minimum-distance . 3) (padding . 2) 
(stretchability . 0))
    \override LyricText.self-alignment-X = #-0.9
    \override LyricSpace.minimum-distance = #0.625
    \override LyricSpace.minimum-length = #0.5
  }
}

theMelody = {
  e'4 d' c' d'
  e'4 4 4 4
  d'4 4 e' d'
  c'2 r4 d'
  e'4 d' c' d'
  e'4 4 4 4
  d'4 4 e' d'
  c'2. r4
}

theChords = \chordmode {
  c2 f
  c1
  d2:m g
  c1
  c2 f
  c1
  d2:m g
  c1
}

lyricsbreak =  \tag #'lyricsheet { \bar "" \break }

theWords = \lyricmode {
  Mar -- y had a lit -- tle lamb,
  \lyricsbreak
  Its fleece was white as snow.
  \lyricsbreak
  And ev -- ery -- where that Mar -- y went
  \lyricsbreak
  The lamb was sure to go.
}

\score {
  \removeWithTag #'lyricsheet <<
    \new ChordNames \theChords
    \new Staff \new Voice = "melody" \theMelody
    \new Lyrics \lyricsto "melody" \theWords
  >>
  \layout {
    ragged-right = ##f
  }
}

\score {
  \keepWithTag #'lyricsheet <<
    \new ChordNames \theChords
    \new Devnull = "melody" \theMelody
    \new LyricSheetLyrics \lyricsto "melody" \theWords
  >>
  \layout {
    line-width = 6\in
    indent = 2\in
    short-indent = 2\in
    \context {
      \Score
      \remove "Bar_number_engraver"
      \remove "Bar_engraver"
    }
  }
}

%%%  SNIPPET ENDS
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]