Thomas Morley <thomasmorle...@gmail.com> writes:

> 2013/6/12 Pothárn Imre <potharn.i...@gmail.com>:
>>> 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
>> bug-lilypond@gnu.org
>> 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
_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to