Seitenzahlen verschwinden bei Verwendung von oddHeaderMarkup

Begonnen von oiseau, Dienstag, 26. April 2022, 01:40

« vorheriges - nächstes »

oiseau

Ist es in Lilypond möglich, zusätzlich zu den Seitenzahlen im Kopfbereich einem zentrierten Text auf jeder Seite anzuzeigen. Letzteres geht bei mir mit dem oddHeaderMarkup-Befehl, aber dadurch verschwinden leider die Seitenzahlen.

Manuela

Danke für eure Hilfe
viele Grüße
-- Manuela

oiseau

Hier ein Minimalbeispiel. Ich hätte gern, dass sowohl die Seitennummern (oben, am Rand) als auch der Kopfzeilentitel (oben, zentriert) auf jeder Seite dargestellt werden.

Version: 2.22.2


\paper {
  print-page-number = ##t
  print-first-page-number = ##t
  oddHeaderMarkup = \markup \fill-line {"Kopfzeilentitel"}
  evenHeaderMarkup = \markup \fill-line {"Kopfzeilentitel"}
}

\relative {
   c' d e f
}


amateur

So?
Seitentitel = "Seitentitel"
Seitennummer = \markup { "Seite " \fromproperty #'page:page-number-string }
\paper {
   oddHeaderMarkup =   \markup  {  { \fill-line { " " { \Seitentitel } { \Seitennummer } } } }
  evenHeaderMarkup = \oddHeaderMarkup
}

\relative {
   c' d e f
}


oiseau

Das klappt hervorragend. :) Ich danke Dir.

Wie kann ich den Header auf der ersten und auf der letzten Seite unterbinden?

amateur

Auf der ersten Seite so:

\version "2.22.0"

Seitennummer = \markup { "Seite " \fromproperty #'page:page-number-string }
Seitentitel = "Seitentitel"

\paper {
  print-first-page-number = ##f
  oddHeaderMarkup =  \markup  { \on-the-fly #not-first-page { \fill-line { {  " "\Seitentitel } { \Seitennummer } } } }
  evenHeaderMarkup = \oddHeaderMarkup
}

\relative {
  c' d e f \pageBreak
  c d e f
}


auf der letzten Seite weiss ich auch nicht.

harm6

Zitat von: amateurauf der letzten Seite weiss ich auch nicht.

Die entsprechenden Möglichkeiten und default-Definitionen befinden sich im file titling-init.ly.
Etwas für die letzte Seite fehlt dort allerdings. Ist aber leicht zu machen, führt zu:

\version "2.22.0"

\paper {

  #(define (not-last-page layout props arg)
    (if (book-last-page? layout props)
        empty-stencil
        (interpret-markup layout props arg)))

  oddHeaderMarkup = \markup
  \fill-line {
    ""
    \on-the-fly #not-last-page \on-the-fly #not-first-page "Seitentitel"
    \on-the-fly #print-page-number-check-first
      \fromproperty #'page:page-number-string
  }
 
  evenHeaderMarkup = \oddHeaderMarkup
}


Wichtig ist das die default-Setzung für
\fromproperty #'header:instrument
durch "Seitentitel" ersetzt ist.

Darüberhinaus hat sich für neue devel-Versionen ziemlich viel geändert und vereinfacht. Da braucht man dann:


\version "2.23.7"

\paper {
  oddHeaderMarkup = \markup
  \fill-line {
    ""
    \unless \on-first-page \unless \on-last-page "Seitentitel"
    \if \should-print-page-number \fromproperty #'page:page-number-string
  }

  evenHeaderMarkup = \oddHeaderMarkup
}


Gruß,
  Harm