[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: title page for \book
From: |
Nicolas Sceaux |
Subject: |
Re: title page for \book |
Date: |
Sat, 30 Jul 2005 11:53:44 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (darwin) |
Graham Percival <address@hidden> writes:
> I'm working on a \book that contains distinct pieces; as such, I've
> created
> a separate title page.
>
> 1) If you're interested in using it, here's the code.
> 2) If you're really interested in using it, I could investigate
> making this
> part of LilyPond. And clean it up, of course. :)
> 3) Currently the bottom part of the title page is really bare; I'm
> thinking of
> making an .eps that could go there. I know that we talked about logos
> for lilypond a few months ago; if anything else has happened along those
> lines, I'd be interested to hear about it.
I've also built custom titles, this thread may be a good place to share
them.
#(def-markup-command (when-property layout props symbol markp) (symbol? markup?)
(if (chain-assoc-get symbol props)
(interpret-markup layout props markp)
(ly:make-stencil '() '(1 . -1) '(1 . -1))))
\paper {
operaBookTitleMarkup = \markup \override #'(baseline-skip . 6) \column {
\fill-line { \when-property #'header:composer
\column { " " " " " " " " " "
\fill-line { \fontsize #10 \italic \fromproperty
#'header:composer }
" " " " " " } }
\fill-line { \when-property #'header:title
\column { " " " " " "
\fill-line { \fontsize #12 \fromproperty
#'header:title }
" " " "
\fill-line { \fontsize #8 \fromproperty
#'header:subtitle }
" " } }
\fill-line { \when-property #'header:opus
\column { " "
\fill-line { \fontsize #5 \fromproperty #'header:opus }
\fill-line { \fontsize #5 \fromproperty #'header:date }
" " " " } }
\fill-line { \when-property #'header:title
\column { " " " "
\fill-line { " " \postscript #"-20 0 moveto 40 0
rlineto stroke" " " }
" " " " } }
\fill-line { \when-property #'header:edition
\column { " "
\fill-line { \fontsize #5 \fromproperty
#'header:edition }}}
}
operaScoreTitleMarkup = \markup \override #'(baseline-skip . 3) \column {
\fill-line { \when-property #'header:act
\column {
" " " " " " " " " " " "
\fill-line { \fontsize #6 \fromproperty #'header:act }
" " " " " "
}
}
\fill-line { \when-property #'header:scene
\column {
\fill-line { \fontsize #3 \fromproperty #'header:scene }
" " " "
\fill-line { \fontsize #1 \fromproperty #'header:scenedescr }
}
}
\fill-line { \when-property #'header:piece
\column {
" " " " " " " " " " " "
\fill-line { \fontsize #4 \fromproperty #'header:piece }
}
}
}
operaOddHeaderMarkup = \markup \fill-line {
" "
\on-the-fly #(lambda (layout props arg)
(if (< 1 (chain-assoc-get 'page:page-number props -1))
(interpret-markup layout props arg)
empty-stencil))
\fromproperty #'page:page-number-string
}
operaEvenHeaderMarkup = \markup \fill-line {
\fromproperty #'page:page-number-string
" "
}
operaOddFooterMarkup = \markup {
\column {
\fill-line {
% put copyright only on pagenr. 1
\on-the-fly #(lambda (layout props arg)
(if (= 1 (chain-assoc-get 'page:page-number props -1))
(interpret-markup layout props arg)
empty-stencil))
\fromproperty #'header:copyright
}
\fill-line {
% put tagline only on last page
\on-the-fly #(lambda (layout props arg)
(if (chain-assoc-get 'page:last? props #f)
(interpret-markup layout props arg)
empty-stencil))
\fromproperty #'header:tagline
}
}
}
operaEvenFooterMarkup = \markup {
\column {
\fill-line {
% put tagline only on last page
\on-the-fly #(lambda (layout props arg)
(if (chain-assoc-get 'page:last? props #f)
(interpret-markup layout props arg)
empty-stencil))
\fromproperty #'header:tagline
}
}
}
#(define-public book-title (marked-up-title 'operaBookTitleMarkup))
#(define-public score-title (marked-up-title 'operaScoreTitleMarkup))
#(define make-header (marked-up-headfoot 'operaOddHeaderMarkup
'operaEvenHeaderMarkup))
#(define make-footer (marked-up-headfoot 'operaOddFooterMarkup
'operaEvenFooterMarkup))
}
Then you can do:
\header {
title = "GIULIO CESARE"
subtitle = "IN EGITTO"
composer = "George Frideric Haendel"
opus = "HWV 17"
date = "1724"
edition = \markup \center-align {
"From the Deutsche Händelgesellschaft Edition"
"Edited by"
"Frideric Chrysander" }
copyright = "blabla"
tagline = \markup \center-align { blablabla }
}
\score {
{ ...Music... }
\header {
act = "OUVERTURE."
breakbefore = ##t
}
}
\score {
{ ...Music... }
\header {
act="ATTO PRIMO"
scene="SCENA I."
scenedescr=\markup \center-align {
\line { Campagna d'Egitto con antico ponte sopra un ramo del Nilo. }
\line { \caps {Giulio Cesare} e \caps Curio che passano il ponte con
seguito. } }
piece = "CORO."
breakbefore = ##t
}
}
nicolas