2015-09-26 0:42 GMT+02:00 Simon Albrecht <[email protected]>: > On 25.09.2015 23:10, Thomas Morley wrote: >> >> 2015-09-25 12:28 GMT+02:00 Malte Meyn <[email protected]>: >>> >>> >>> Am 25.09.2015 um 10:58 schrieb Urs Liska: >>>> >>>> { >>>> \override TextScript.self-alignment-X = #LEFT >>>> c'2 ^\markup \rotate #90 "This is a long markup" c >>>> } >>>> >>> You could use an event function: >>> >>> %%%%% >>> \version "2.19.27" >>> >>> verticalText = >>> #(define-event-function (text) (markup?) >>> #{ >>> -\tweak TextScript.self-alignment-X #LEFT >>> -\markup \rotate #90 #text >>> #}) >>> >>> { >>> c'2^\verticalText \markup \italic "This is a long markup" c >>> c'2\verticalText "This is a long text" c >>> } >>> %%%%% >> >> >> >> Using \override or \tweak or an event-function will not work for >> markups at toplevel and/or if not the entire markup is rotated, see: >> >> \markup { >> "ab" >> \rotate #90 "------|------" >> "xy" >> } >> >> >> Hence I wrote 'my-rotate': >> >> >> #(define-markup-command (my-rotate layout props ang arg) >> (number? markup?) >> (let* ((stil (interpret-markup layout props arg)) >> (stil-x-length (interval-length (ly:stencil-extent stil X))) >> (stil-y-length (interval-length (ly:stencil-extent stil Y)))) >> (ly:stencil-rotate stil ang (/ stil-y-length -2) (/ stil-x-length >> -2)))) > > > I also wrote a markup function for this (several hours ago, then I forgot to > actually send it hereā¦). > This is just a modification of the original \rotate definition from the code > base, adding another argument to specify the reference point used by > ly:stencil-rotate. Choose your favourite⦠> > Yours, Simon
Actually, my proposal could be regarded as a special case of yours :) Best, Harm _______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
