lilypond-user
[Top][All Lists]
Advanced

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

Re: Markup query


From: David Kastrup
Subject: Re: Markup query
Date: Fri, 07 Sep 2012 11:53:30 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux)

"Peter Gentry" <address@hidden> writes:

>>As others have said, it is definitely in the notation PDF.
>>
>>As an alternative to searching (which always used to be my first 
>>port-of-call) may I suggest you explore using the index 
>>instead or as well. 
>>You may find that quicker and more accurate.
>>
>>If you have specific proposals for improvements, please let us 
>>know.  And if 
>>you want an example of a really bad manual, try Sibelius.
>>
>>--
>>Phil Holmes 
>>
> I have now downloaded the notation.pdf which looks like a key
> manual. I didn't before because the html referred to 2.16 anyway most
> of the markup problems are dealt with in there.
>
> I seem to have touched a nerve somewhere. I don't mean to criticise
> the manuals when clearly a huge effort has gone into preparing
> them. I only observe that they seem to be largely aimed at those
> familiar with the syntax allready.
>
> I think the simple examples are fine to get you started but you soon
> run into deep water when ones limited knowledge trips you up.
>
> As a small example setting various swiches true/false in the paper
> block often seems to have no effect - I guess the reason is that
> those switches are irrelevant in the context.
>
> Another puzzle arises from the use of user defined variables a
> variable xtext="aaaabbbcc dd" can be
> can often be used but in markup but in some circumstances it cannot -
> ie \justify-string \xtext (or #\xtext)fails whereas
> \justify-string #"aaaabbcc dd" works. When # is required the variable
> \xtext cannot be used.

To some degree.  All of the following work:

 xtext="aaaabbbcc dd"

\markup \justify-string #"aaaabbbcc dd"
\markup \justify-string #xtext
\markup \justify { #"aaaabbbcc dd" }
\markup \justify { #xtext }
\markup \justify { \xtext }

Most of the 2.16 argument list work has focused on music functions
(which would have no problems accepting #"xxxx", \xtext, xxxx and even
\markup "xxxx" for an argument declared as string?), and markup commands
have not benefited yet from the same kind of generality.

The implementation of music function argument lists is quite complex,
and while there is no uproar about markup commands, it makes sense to
first let the music function argument list implementation converge to
something more manageable, which is ongoing work.

\justify-string takes a Scheme argument, and nothing else will do.  But
\justify takes a markup list, and at least markup lists nowadays don't
complain when fed Scheme expressions in their middle as long as those
can be interpreted as either markups or markup lists.

So if you focus on commands accepting general markups or markup lists,
chances are that you'll get more surprises about things just working for
no conceivable reason than the other way round.

> Lilypond manuals are far superior to most but the new user faces a
> fairly daunting learning curve which I suspect will put a lot of
> people with less time on their hands off it.

That's the reason we have a separate tutorial for starting.  Yes,
LilyPond is complex.  We try to keep it simple for simple things, and
the explanations simple for simple things.  That might not always be as
successful as everybody wants.

-- 
David Kastrup




reply via email to

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