lilypond-user
[Top][All Lists]
Advanced

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

Re: Vertical spacing titles and highest staff in LilyPond version 2.18.2


From: Alexander Kobel
Subject: Re: Vertical spacing titles and highest staff in LilyPond version 2.18.2.
Date: Thu, 22 Dec 2016 13:55:42 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.4.0

Hi Miroslaw,

moving this from bug- to -user.

On 2016-12-20 20:40, Mirosław Doroszewski wrote:
1. Only setting "title" in \header block is OK: when is set alone
(without any other titles), necessary additional space between "title"
and highest staff is automatically calculated.
2. But when number of titles are more than 1 (i.e.: "title" and
"subtitle"; "title", "subtitle" and "subsubtitle"; "title and
"composer" with eventual "poet"), then necessary additional space
between lowest title and highest staff are not automatically
calculated.

Of course they are "automatically calculated": according to the rules set in markup-system-spacing. Whether you like the default rules for those or not is a totally different thing, and a matter of preference.

Also note that you use a layout that is /way/ different from the Lilypond defaults for which the standard settings are made:
- 1/4 of the page area,
- ragged-bottom,
- relatively wide margins compared to paper size,
- (slightly) different fonts,
- manually overridden font sizes in the titles, and,
- in particular, a very small staff size.
The basic-distance and padding variables as well as the line spacing between the title elements are measured in units of staff spaces; so it is hardly a surprise to me that the defaults don't work out for you. That's why you can specify your own settings.

There will be no single default that works in each and every situation, just as there is not the one and only page layout construction for textbooks. (E.g., see https://en.wikipedia.org/wiki/Canons_of_page_construction) The default is a compromise that happens to work okay for "standard" scores [*] with the default parameters.

That being said, more often than not, I'm not satisfied with the defaults myself. But that highly depends on how much music I can or have to fit on the first page; also, I typically prefer a layout where the bottom-most staves align over all pages, instead of the bottom-most typeset elements (which can be quite a bit below the last staff).

As is, this is certainly not appropriate for the bug list. However, if you can come up with a well though-out scheme for the vertical spacing variables or titling markups that
- is more flexible w.r.t. different page sizes,
- more "robust" to changes in the staff size or title markup size, and
- wprks reasonably well for simple default scores [*],
I'll be happy to see your proposal.


[*] There is no "official" definition of a "standard score"; but certainly, everything mentioned as a template in the Learning Manual, Appendix A, is considered as such.


Cheers,
Alexander


\paper {
        #(set-paper-size "a6" 'portrait)
        indent = 0\mm
        ragged-bottom = ##t
        ragged-last-bottom = ##t
        top-margin = 1 \cm
        bottom-margin = 1 \cm
        line-width = 8.8 \cm
        tagline = ##f
        print-all-headers = ##t
        markup-system-spacing = #'((basic-distance . 5) (padding . 1)
(stretchability . 30))
}
#(set-global-staff-size 12.0)

\score {
        \header {
                title = \markup { \abs-fontsize #11 "Title Title Title Title " }
                subtitle = \markup { \abs-fontsize #9.5 { \medium \italic 
"Subtitle
Subtitle Subtitle Subtitle" } }
                subsubtitle = \markup { \abs-fontsize #9 \medium "Subsubtitle
Subsubtitle Subsubtitle" }
                poet = \markup { \vspace #1.5 \abs-fontsize #8.5 "Poet Poet Poet 
Poet Poet" }
                composer = \markup { \vspace #1.5 \abs-fontsize #8.5 "Composer
Composer Composer" }
                breakbefore = ##f
        }
        \layout {
                \context { \Staff \remove "Time_signature_engraver" }
                ragged-last = ##f
        }



reply via email to

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