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 lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel