|
From: | Kaj Persson |
Subject: | Re: Re: Putting lyrics below its staff? |
Date: | Fri, 22 May 2015 01:23:08 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 |
On 2015-05-21 15:30, tisimst wrote:
Phil and Abraham Thank you for your comments, and for the example showing a solution to my problem. At least it solves this much simplified example. However I get an impression it being a "fix" for just this, so I made an, a wee more complicated, but never the less much realistic example. Sorry, of course it will occupy a lot of valuable space on this mailing list, but to illustrate my thought I see no other way to go. It shows a case with several regions with note systems containing more than one staff, but with regions between them with just one staff. Generally there could of course also be a base system with a number of staves, more than one, which is expanded with excess staves. It follows a quite simple algorithm, inspired from the description of ossia staves (NR 1.6.2). At every place, where an extra staff is wanted, you include a "\new Staff" command inside marks for simultanous music (<< >>). The top staff in all systems is however one single, though broken at special positions. This is obvious from the observation that only the new staves get a time signature as, for the top staff, no change is done. By removing the \break in the music definitions, mA..mD, one can clearly see, that it in fact is one single sequence of measures. The example shows, that LilyPond perfectly understands the implied structure and it also understands which lyric belongs to which note. So that is not the problem. A minor issue is that the lyrics for the top staff is broken into separate lines, one for each individual "\new Lyrics". This can certainly be solved by a clever definition of the string for this staff (and maybe every staff). But the main issue is, that at least I have not found any method to put the text below the respective staff, exept for the top staff, despite this would be the normal behaviour according to the manual. And that was my wish by calling for assistance on this mailing list. Here is the new example: \version "2.18.2" % The next line does not belong to the task, but % just to get shorter music lines in the printout. \paper { ragged-right = ##t } % Music definitions, mA..mD for the top staff: mA = \relative c' { c4 c c c \break } mB = \relative c' { d4 d d d \break } mC = \relative c' { e4 e e e \break } mD = \relative c' { f4 f f f \break } mE = \relative c''' { g4 g g g } mF = \relative c''' { a4 a a a } mG = \relative c''' { b4 b b b } % Lyrics for each part of the staves: tA = \lyricmode { A A A A } tB = \lyricmode { B B B B } tC = \lyricmode { C C C C } tD = \lyricmode { D D D D } tE = \lyricmode { E E E E } tF = \lyricmode { F F F F } tG = \lyricmode { G G G G } \score { \new ChoirStaff << { \new Staff = "sAB" { << { << \new Voice = "vA" { \mA } >> << \new Voice = "vB" { \mB } \new Staff = "sB" { \new Voice = "vE" { \mE } } >> << \new Voice = "vC" { \mC } >> << \new Voice = "vD" { \mD } \new Staff = "sF" << \new Voice = "vF" { \mF } >> \new Staff = "sG" << \new Voice = "vG" { \mG } >> >> } >> } } \new Lyrics = "lA" \lyricsto "vA" { \tA } \new Lyrics = "lB" \lyricsto "vB" { \tB } \new Lyrics = "lC" \lyricsto "vC" { \tC } \new Lyrics = "lD" \lyricsto "vD" { \tD } \new Lyrics = "lE" \lyricsto "vE" { \tE } \new Lyrics = "lF" \lyricsto "vF" { \tF } \new Lyrics = "lG" \lyricsto "vG" { \tG } >> \layout { indent = #0 } } /Kaj |
[Prev in Thread] | Current Thread | [Next in Thread] |