bug-lilypond
[Top][All Lists]
Advanced

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

Re: If incipit has soprano clef, its staves are not aligned with main sc


From: David Kastrup
Subject: Re: If incipit has soprano clef, its staves are not aligned with main score
Date: Wed, 12 Jun 2013 17:29:21 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Thomas Morley <address@hidden> writes:

> 2013/6/12 Pothárn Imre <address@hidden>:
>>> I'm not top posting.
>>
>> % When the incipit has a soprano clef,
>> % the staff lines are not aligned
>> % irrespective of the clef of main part
>>
>>
>> \version "2.16.2"
>>
>> incipit =  \markup {
>>   \score {
>>     { \clef soprano
>>         s4 \bar "" }
>>         \layout  { }
>>         } }
>>
>> main = { g'1}
>>
>> \new Voice=bug { \set Staff.instrumentName=\incipit
>>                 \main }
>>
>>
>> _______________________________________________
>> bug-lilypond mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/bug-lilypond
>
> As a work-around you could add:
> \override Staff.Clef #'Y-extent = #'(0 . 0)

Well, one can write the following in 2.17.14 or later:

\version "2.17.14"

#(define-markup-command (smash layout props arg) (markup?)
  (let ((stencil (interpret-markup layout props arg)))
   (ly:make-stencil (ly:stencil-expr stencil)
    (ly:stencil-extent stencil X)
    '(0 . 0))))

incipit =  \markup \smash
  \score {
    { \clef soprano
        s4 \bar "" }
        \layout  { }
        }

main = { g'1}

\new Staff \with { instrumentName=\incipit
                 }
{ \main }
I am actually rather appalled that there seems to be no easier way to
keep instrumentName from getting centered with disregard to its
baseline.  It would seem that this would be a reasonably common use case
(not just with a \score markup but also with other potential material).
It is also strange that we have a command to override both X and Y
extents of a markup completely, but nothing that would override less.

-- 
David Kastrup

reply via email to

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