[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