lilypond-user
[Top][All Lists]
Advanced

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

Re: opus conflict


From: Timothy Lanfear
Subject: Re: opus conflict
Date: Sun, 30 Apr 2017 09:15:38 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0

On 29/04/17 23:34, Mark Stephen Mrotek wrote:

Hello,

In my \book \header I have fields of title, composer, and opus.

The manual (2.18) states “The values of the fields filter down this hierarchy, with the values set higher in the hierarchy persisting unless they are over-ridden by a value set lower in the hierarchy…” This is understand. So for the subsequent scores I insert title = ##f and composer = ##f. The title and composer fields in the scores are overridden.

Now the conflict, when I insert opus = ##f in the score(s) the field is overridden in the \book level (higher?) and is no longer printed below the “composer.”


I find the best way to handle having the opus printed once only on the first piece of a book is to redefine bookTitleMarkup and scoreTitleMarkup, moving the opus field to the bookTitleMarkup

\version "2.19.59"

% Move the opus markup from the score title to the
% book title so it isn't repeated for every score.
% Adapted from ly/titling-init.ly

bookopus = \paper {
  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
        }
      }
      \override #'(baseline-skip . 2.0)
      \column {
        \null
        \fill-line {
          \null
          \fromproperty #'header:opus
        }
        \fill-line {
          \fromproperty #'header:meter
          \fromproperty #'header:arranger
        }
      }
    }
  }

  scoreTitleMarkup = \markup {
    \column {
      \fill-line {
        \fromproperty #'header:piece
        \null
      }
    }
  }
}

\bookopus

\book {
  \header { title="Title" composer="Composer" opus="opus" }
  \score { c''1 }
  \score { d''1 }
}


--
Timothy Lanfear, Bristol, UK.




reply via email to

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