lilypond-user
[Top][All Lists]
Advanced

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

Re: adding engravers


From: David Kastrup
Subject: Re: adding engravers
Date: Tue, 10 Dec 2013 12:58:02 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Noeck <address@hidden> writes:

> - what does " mean? sometimes enclosing in "" is needed sometimes not

It's a string.  Words do not need to get enclosed in quotes when they
a) are not a notename
b) consist of alphabetic characters or non-ASCII characters, possibly with
_single_ - or _ signs in their middle.

> - sometimes # before the value is needed sometimes not

In general, markup function arguments need # for non-markup values.
That's not restricted to strings.  The rest will usually work without #.

> - sometimes it's Staff sometimes \Staff

It's \Staff for _copying_ the definition for Staff, and Staff for
_specifying_ it.  Just like you write

music = ...

for specifying music and \music for copying it.

> - most commands start with \ arguments not, but it is not: \key d major

Any previously defined _expression_ may be referenced with \name as long
as the name's syntax is compatible with that.  If it isn't, you can
still reference it as \"name that is not a word".

> - mostly spaces do not matter, but sometimes text} is bad

Can you give an example?  text} should nowadays never be bad unless we
are inside of Scheme.

> - what is this tagline I didn't call for?
> - \transpose c d \relative {…} is ok, but \relative \transpose c d {…} not

It's ok and accepted but probably doesn't do what you expect it to do.
But then how is LilyPond to know that you mean \transpose c d \relative
{...} when you actually write \relative \transpose c d {...}?

Both are different things.  You are probably annoyed that \relative is
_ignored_ when applied to a transposed expression.  But if you write

\relative \transpose c d { g b a c d e }

do you really want to see

\relative { a cis' b d e fis }, namely \absolute { a cis'' b' d'' e'' fis'' }

or would you have expected to rather see

\relative { a cis b d e fis }, namely \absolute { a cis' b d' e' fis' } ?

How is LilyPond going to guess before evaluating \transpose that you are
going to use the result in a \relative context, and that it is supposed
to _first_ apply the purportively following \relative _before_ doing the
transposition?

-- 
David Kastrup



reply via email to

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