lilypond-user
[Top][All Lists]
Advanced

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

Re: Title/Subtitle Left-Align


From: Aaron Hill
Subject: Re: Title/Subtitle Left-Align
Date: Fri, 01 Feb 2019 00:13:55 -0800
User-agent: Roundcube Webmail/1.3.8

On 2019-01-31 6:20 pm, nagymusic wrote:
Would you happen to know where can one look up the \fontssize # .. standard
text sizes conversions in points? In other words, what \fontsize #
correspond to default Lilypond Title, Subtitle, Subsubtitle font sizes? I
know that \abs-fontsize # .. displays the absolute size.

Firstly, be sure that you are familiar with the logarithmic scale used by \fontsize. It is indirectly documented in the Notation Reference [1] in the section on annotations, so it is easily overlooked.

[1]: http://lilypond.org/doc/v2.19/Documentation/notation/inside-the-staff#-Understanding-the-fontSize-property

For text, \fontsize follows the same scheme and results in a size relative to the global staff size. A value of zero (0) represents no change from the default text size. Positive numbers increase size; negative, decrease. It takes six (6) steps for the size to double or halve. This means "\fontsize #1" will produce text that is about 12% larger.

Now as to the default sizes for the header, we need to look at titling-init.ly. Here is the relevant excerpt:

%%%%
bookTitleMarkup = \markup {
  \override #'(baseline-skip . 3.5)
  \column {
    \fill-line { \fromproperty #'header:dedication }
    \override #'(baseline-skip . 3.5)
    \column {
      \fill-line {
        \huge \larger \larger \bold
        \fromproperty #'header:title
      }
      \fill-line {
        \large \bold
        \fromproperty #'header:subtitle
      }
      \fill-line {
        \smaller \bold
        \fromproperty #'header:subsubtitle
      }
      \fill-line {
        \fromproperty #'header:poet
        { \large \bold \fromproperty #'header:instrument }
        \fromproperty #'header:composer
      }
      \fill-line {
        \fromproperty #'header:meter
        \fromproperty #'header:arranger
      }
    }
  }
}
%%%%

The title is "\huge \larger \larger". \huge sets the font-size exactly to 2 regardless of prior state, and then \larger increases the font-size by 1. The net effect is equivalent to "\fontsize #4". (Technically, it's "\normalsize \fontsize #4" but we can omit \normalsize if it is known that we are working from the default size.) See the following where the output should be identical:

%%%%
\version "2.19.82"

\markup {
  \huge \larger \larger "qxb"
  \fontsize #4 "qxb"
  \abs-fontsize #17.46 "qxb"
}
%%%%

To get the absolute size, we need to know that the default global staff size is 20pt and the default text size is 11pt (specifically 11/20 of the staff size). Since "\fontsize #4" results in a roughly 60% increase in size, then the result will be between 17 and 18pt.

----

Going back to your original question, another option for custom titling is to override bookTitleMarkup with your own markup. This is done within the \paper block:

%%%%
\version "2.19.82"

\paper {
  bookTitleMarkup = \markup \fontsize #3 \column {
    \larger \bold \fromproperty #'header:title
    \italic \fromproperty #'header:subtitle
  }
}
\header { title = "Title" subtitle = "Subtitle" }
{ b'1 }
%%%%

Sometimes you can work with the default arrangement of fields, but in other cases it makes sense to just redefine the whole layout.


-- Aaron Hill



reply via email to

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