Trevor Bača escreveu:
>> > So this means there are really three levels of scope at which these
>> > settings can be made ...
>> >
>> > 1. at score level (which is most specific)
>> > 2. at book level (which is intermediate), and
>> > 3. at top level
>> >
>> > ... as reflected in the following example:
>> >
>> > %%% BEGIN 3-LEVELS OF SCOPE %%%
>> >
>> > \version "2.11.16"
>> >
>> > \paper { indent = #100 }
>> >
>> > \book {
>> >
>> > \paper { indent = #50 }
>> >
>> > \score {
>> > \new Staff { c'1 }
>> > \layout { indent = #0 }
>> > }
>> >
>> > }
>> >
>> > %%% END %%%
>> >
>> > If I comment out the score-level indent, then the book-level indent
>> > will take over. If I comment out both the score-level and book-level
>> > indents, then the top-level indent will take over.
>>
>> No, the \book level indent overwrites the toplevel
>>
>> \paper { indent = #75 }
>> \book {
>> \paper { indent = #50 }
>> }
>>
>> really maens
>>
>> "$defaultpaperblock" = \paper { \$defaultpaperblock indent = #75 }
>> \book {
>> \paper { \$defaultpaperblock indent = #50 }
>> }
>
> I think we're saying the same thing. To make sure:
>
> 1. score-level settings will overwrite book-level settings
> 2. book-level settings will overwrite top-level settings
>
> Or, put another way:
>
> 1. a top-level setting is the most general, broadly scoped type of setting
> 2. a book-level setting is more specific and more narrowly scope
> 3. and a score-level setting is the most specific, most narrowly scope
> type of setting of the three types listed here
>
> Correct?
No, top-level \paper sets a default for the \book level \paper.
top-level \layout sets a default for \score level \layout.
\layout { X }
\paper { Y }
mean
$defaultlayout = \layout { \$defaultlayout X }
$defaultpaper = \layout { \$defaultpaper X }
independenty of this
\book {
\score {
\layout {
%% A
}
}
\paper {
%% B
}
}
means
\book {
\score {
\layout { \$defaultlayout
%% A
}
}
\paper { \$defaultpaper
%% B
}
}
If at run time, a score-level layout variable,
such as ragged-right, is looked up in %A.
If it's not found, it is looked
up in %B. If it's not found in %B, then it is
assumed undefined.
iow. There are 2 orthogonal mechanisms:
- toplevel output-defs set defaults, which are
copied implicitly during parsing ( $defaultlayout / $defaultpaper )
- the \paper (book level) is parent to \layout (score level),
this parent relation is employed during formatting.
--
Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen
LilyPond Software Design
-- Code for Music Notation
http://www.lilypond-design.com
_______________________________________________
lilypond-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-devel