This was just posted on the list by Nick Payne <nick.pa...@internode.on.net>.
Hope it helps.


On Fri, Jan 31, 2014 at 8:36 PM, MING TSANG <tsan...@rogers.com> wrote:

> Hi, lilyponders:
> Over the years (since lilypond v2.14) I have coded 25+ hymns for our
> choir. I like to put them in book form.  Is there a lilypond-book template
> available (compilable - just include my 25+ hymns)? I like to have title
> page, table of content and each hymn starts on a new page.  If possible to
> have page number for each hymn, but also have overall page number for the
> whole book.  I know it is a tall request, but I have not done lilypond-book
> before. I have no knowledge of laTex. Appreciate any help.
> Emmanuel,
> Ming
>
> _______________________________________________
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>
\version "2.18.0"

date = #(strftime "%d/%m/%Y" (localtime (current-time)))

\paper {
  #(define (print-positive-page-number layout props arg)
     (if (> (chain-assoc-get 'page:page-number props -1) 0)
         (create-page-number-stencil layout props arg)
         empty-stencil))
  
  #(define (not-last-page layout props arg)
     (if (and (chain-assoc-get 'page:is-bookpart-last-page props #f)
              (chain-assoc-get 'page:is-last-bookpart props #f))
         empty-stencil
         (interpret-markup layout props arg)))
  
  print-all-headers = ##f
  first-page-number = -1
  tocItemMarkup = \tocItemWithDotsMarkup
  oddHeaderMarkup = \markup \fill-line { " " }
  evenHeaderMarkup = \oddHeaderMarkup
  oddFooterMarkup = \markup \fill-line { \column { \fontsize #-1
    \on-the-fly #not-first-page \on-the-fly #not-last-page 
    \on-the-fly #print-positive-page-number \fromproperty #'page:page-number-string
    \on-the-fly #last-page \fromproperty #'header:tagline
  } }
  evenFooterMarkup = \oddFooterMarkup
}

\header {
  title = \markup {
    \lower #50 \left-align \center-column { 
      \fontsize #4 \bold "Overall Title"
    }
  }
  subtitle = \markup {
    \lower #4 \left-align \center-column { 
      \fontsize #1 \bold "Overall Subtitle"
    }
  }
  tagline = \markup {
    \fontsize #-3.5 {
      \override #'(box-padding . 1.0) \override #'(baseline-skip . 2.7) \box \center-column {
        \line {
          Engraved on \date using \with-url #"http://lilypond.org/";
          \line {
            LilyPond \simple #(lilypond-version) (http://lilypond.org/)
          }
        }
      }
    }
  }
}

\pageBreak

\markuplist \table-of-contents
\markup \null

\bookpart {
  \paper {
    print-page-number = ##t
  }
  \header { 
    title = \markup { \fromproperty #'toc:number " Piece One" } % overrides overall title
    subtitle = ##f % prevent overall subtitle from appearing
    composer = "Composer One"
  } 
  \tocItem \markup { 1. Piece One }
  \relative c' { c1 }
}

\bookpart {
  \paper {
    print-page-number = ##t
  }
  \header { 
    title = \markup { \fromproperty #'toc:number " Piece Two" } % overrides overall title
    subtitle = ##f % prevent overall subtitle from appearing
    composer = "Composer Two"
  }
  \tocItem \markup { 2. Piece Two }
  \relative c' { c1 }
}

\bookpart {
  \paper {
    print-page-number = ##t
  }
  \header {
    title = \markup { \fromproperty #'toc:number " Piece Three" } % overrides overall title
    subtitle = ##f % prevent overall subtitle from appearing
    composer = "Composer Three"
  }
  \tocItem \markup { 3. Piece Three }
  \relative c' { c1 }
}
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to