|
From: | Jan-Peter Voigt |
Subject: | Re: aligning text and devnull with extender |
Date: | Fri, 28 May 2010 15:30:50 +0200 |
User-agent: | Thunderbird 2.0.0.24 (X11/20100411) |
Hi Kieren, thank you for this hint. I embedded it in my little test-file and will use it :-) . Its a cleaner and nicer solution than the phrasing-slur hack! But my tagged-Voice-solution still has the opportunity to place the '(n)' somewhere without a note above it. The scores I am working on need this. One might ask, if it would be easier to read, if there would be a tied note above the '(n)'-ending, but I try to typeset as close as possible to the original handwritten scores. Regards, Jan-Peter. Kieren MacMillan wrote: Hi Jan-Peter:I am typesetting a few choral pieces (using the stable version 2.12.2 Ubuntu repo), where there is often a sign, that singers should close from vowel to 'N'. This is written: a - - - men ____ (n) ____ The choir should do this in designated times/positions, so it should be written in the score.I think perhaps it's easier than you think: lyrL = { \once \override LyricText #'self-alignment-X = #LEFT } noten = \relative c'' { \set melismaBusyProperties = #'() d1 | c1 ~ | c1 \bar "|." } text = \lyricmode { a -- \lyrL \markup \line { men \draw-line #'(4 . 0) } "(n)" } \score { \new ChoirStaff << \new Staff \new Voice = "melodieA" \noten \new Lyrics \lyricsto "melodieA" \text >> } No need for all those extra Voices, DevNull contexts, etc. Hope this helps! Kieren. |
\version "2.12.2" noten = \relative c'' { \dynamicUp d1\p\> \tag #'print { c1 ~ c1 } \tag #'lyrics { c2 ~ c8 c4. ~ c1 } s1*0\! \bar "|." } notend = \relative c'' { \dynamicUp d1\p\> \once \override Staff.PhrasingSlur #'height-limit = #1 c1\( c1\)\! \bar "|." } lyrL = { \once \override LyricText #'self-alignment-X = #LEFT } notene = \relative c'' { \dynamicUp \set melismaBusyProperties = #'() d1\p\> | c1 ~ | c1\! \bar "|." } text = \lyricmode { a -- men __ "(n)" __ } textb = \lyricmode { a -- \markup { men \translate #'( 10 . 0 ) "(n)" } __ } texte = \lyricmode { a -- \lyrL \markup \line { men \draw-line #'(20 . 0) } "(n)" } \score { << % the lyrics rhythm \new Staff << \new Voice="melodieA" { R1^"lyric rhythm" \keepWithTag #'lyrics \noten } >> \new Lyrics \lyricsto "melodieA" { \text } \new ChoirStaff << % using a devnull context to align '(n)' % melismas and ties are not supported, so no extenders are drawn % the '(n)' is displayed to early \new Staff << \new Devnull="melodie" { s1 \keepWithTag #'lyrics \noten } \new Voice { R1^"example A (devnull)" \keepWithTag #'print \noten } >> \new Lyrics \lyricsto "melodie" { \text } % using markup translate to move the '(n)' % trial and error to move to the right position and no extender between 'men' and '(n)' \new Staff << \new Voice="melodieB" { R1^"example B (markup translate)" \keepWithTag #'print \noten } >> \new Lyrics \lyricsto "melodieB" { \textb } % using a voice with notes, slurs, ties and phrasingslurs hidden. % if there are other objects in the voice, like text (e.g. c^schneller ), it has to be 'tagged out'. % Otherwise those objects appear twice \new Staff << \new Voice="melodieC" \with { \override Slur #'stencil = ##f \override Tie #'stencil = ##f \override PhrasingSlur #'stencil = ##f \override DynamicText #'stencil = ##f \override Hairpin #'stencil = ##f % what else should be hidden? } { \hideNotes { s1 \keepWithTag #'lyrics \noten } } \new Voice { R1^"example C (hidden notes)" \keepWithTag #'print \noten } >> \new Lyrics \lyricsto "melodieC" { \text } % using phrasing slurs if the position is next measure % this only works, if the position of the '(n)' is on a tied note % the extender is not extended very far to the '(n)' % a phrasing slur is *not* a tie and looks different! \new Staff << \new Voice="melodieD" { R1^"example D (phrasing slurs)" \notend } >> \new Lyrics \lyricsto "melodieD" { \text } % using 'melismaBusyProperties' and drawline % a good alternative to the phrasing slur hack \new Staff \new Voice = "melodieE" { R1^"example E (drawline)" \notene } \new Lyrics \lyricsto "melodieE" \texte >> %some random notes \new Staff { \relative c'' { g8^"some random notes" a bes c b bes b16 c d b \repeat unfold 2 { g8 a bes c b bes b16 c d b } | c1 } } >> }
[Prev in Thread] | Current Thread | [Next in Thread] |