[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: commands list and syntax
From: |
Graham Percival |
Subject: |
Re: commands list and syntax |
Date: |
Sun, 01 Jul 2007 14:55:48 -0700 |
User-agent: |
Thunderbird 1.5.0.12 (Macintosh/20070509) |
hernan gonzalez wrote:
Ok. i'll see... but I must understand first, document later ;-)
It's really strange for me that the syntax of \score , for example, is
never
stated (as far as i found)...
Start at 3.2 How LilyPond files work. Read that section, then follow
the links from that page to other related sections.
Well, I'm still reading and grasping the concepts... I was trying
(still am) to understand how does the parsing (informally) work, which
are the delimiters so to speak; clearly, newlines are not. if I write:
...
xxx = {a b c} \markup "hi"
...
xxx is obviously (obviously?) assigned to {a b c} , the \markup is
independet of it, and could have been in other line.
Yes.
About the "macro/identifier/variable" concept: I meant: this does not work
%%
xx= \italic
\score { { a^\markup { \xx hi } } }
%%
in spite of this being ok:
%%
\score { { a^\markup{ \italic hi } } }
%%
This shows (i assume) that the assigment of a identifier si not a
static sustitution as (a textual macro, a C #define). I'd like to
understand better what it is... Another example:
I recommend that you look at
2.3.1 Music expressions explained
in the documentation for version 2.11.
%--- this is ok ---
\book {
\score { {a b} \midi{} }
\score { {c d} \layout{} }
}
% -- this is ok, equivalent to previous
scoreA = \score { {a b} \midi{} }
scoreB = \score { {c d} \layout{} }
\book {
\score { \scoreA }
\score { \scoreB }
}
But if one think the identifiers as "having" the text at the right,
one would find a duplication of \score commands; the following would
appear to be the real equivalents of the original:
%--- not valid
scoreA = \score { {a b} \midi{} }
scoreB = \score { {c d} \layout{} }
\book {
\scoreA
\scoreB
}
% -- not valid, neither
scoreA = { {a b} \midi{} }
scoreB = { {c d} \layout{} }
\book {
\score { \scoreA }
\score { \scoreB }
}
hope i'm not being too dense .-) just, it's just i'm trying to
understand better how everything works.
One possible confusion is that LilyPond tries to be nice: if you omit
certain keywords (or implicitly duplicate them via an identifier), it
still displays some output.
10.1 Input files
has some more details about this process.
Cheers,
- Graham