• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

Instrumentenbezeichnung in Kopfzeile

Begonnen von chf, Dienstag, 16. Februar 2016, 19:27

Vorheriges Thema - Nächstes Thema

chf

\version "2.16.2"

#(set-default-paper-size "a6")

% Hier können die Ausnahmen eingetragen werden:
% Format: (<seite> . (<x-offset> <y-offset>)
#(define folio-offset '(
    (3 . (-2 . 1))      ; Seite 3 um 2 nach links und 1 nach oben
    (4 . (-3 . -4))    ; Seite 4 um 3 nach links und 4 nach unten
))

#(define-markup-command (place-folio layout props folio) (markup?)
   (let* ((nn (ly:output-def-lookup layout 'page:page-number-string))
         (pageno (chain-assoc-get 'page:page-number props))
         (offs (assoc-get pageno folio-offset '(0 . 0)))
         (m (interpret-markup layout props  (markup folio)))
         (x-ext (ly:stencil-extent m X))
         (y-ext (ly:stencil-extent m Y)))
   (interpret-markup layout props
     (markup
        #:box   ; nur zum Test - dann auskommentieren!
        #:with-dimensions x-ext y-ext
        #:line (#:translate offs folio)
       ))))

\paper {
  indent = 0
  ragged-right = ##f
  oddHeaderMarkup = \markup \fill-line { \place-folio \fromproperty #'page:page-number-string \null }
  evenHeaderMarkup = \markup \fill-line { \null \place-folio \fromproperty #'page:page-number-string }
  oddFooterMarkup = \markup \column{
    \fill-line {
      \on-the-fly #first-page { \fromproperty #'header:copyright }
    }
    \fill-line {
      \on-the-fly #not-first-page { \fromproperty #'header:tagline  }
    }
  }
}

\header {
  copyright = "Copyright-Text"
  tagline = "Tagline-Text"
}

{ \repeat unfold 10 { s1 \pageBreak } }


Liebe Freunde,

mit dem eingefügten Code von Be-3 habe ich Seitenzahlen nach oben verschieben können.
Jetzt möchte ich die Instrumentenbezeichnung auf die gleiche Höhe bringen.
Wie sieht #(define folio-offset dazu aus? Ist das überhaupt der richtige Weg?

Die Übertragung auf "2.18.2" macht übrigens keine Probleme.

Gruß
chf


Oh, es geht mit "translate" - wieder einmal zu kompliziert gedacht,!

Pusteblumi

Hallo chf,

wenn ich dein Beispiel richtig verstanden habe, ist folio-offset nur dazu da, einzelne Seitennummern zu verschieben, wie es auf Seite 3 und 4 zu sehen ist. Wenn du das nicht brauchst, kannst du \place-folio auch weglassen.
Die "unverschobene" Seitenzahl steht ganz normal in der Kopfzeilen-Definition:
oddHeaderMarkup = \markup \fill-line { \place-folio \fromproperty #'page:page-number-string \null }

Den String, der die Instrumentenbezeichnung enthält, bekommst du mit \fromproperty #'header:instrument.
Einfügen in die Kopfzeile:
oddHeaderMarkup = \markup \fill-line { \place-folio \fromproperty #'page:page-number-string \fromproperty #'header:instrument \null }

Noch besser: nicht auf der ersten Seite, damit das Instrument dort nicht doppelt erscheint:
oddHeaderMarkup = \markup \fill-line { \place-folio \fromproperty #'page:page-number-string \on-the-fly #not-first-page \fromproperty #'header:instrument \null }

Also insgesamt:
\version "2.16.2"

#(set-default-paper-size "a6")

% Hier können die Ausnahmen eingetragen werden:
% Format: (<seite> . (<x-offset> <y-offset>)
#(define folio-offset '(
    (3 . (-2 . 1))      ; Seite 3 um 2 nach links und 1 nach oben
    (4 . (-3 . -4))    ; Seite 4 um 3 nach links und 4 nach unten
))

#(define-markup-command (place-folio layout props folio) (markup?)
   (let* ((nn (ly:output-def-lookup layout 'page:page-number-string))
         (pageno (chain-assoc-get 'page:page-number props))
         (offs (assoc-get pageno folio-offset '(0 . 0)))
         (m (interpret-markup layout props  (markup folio)))
         (x-ext (ly:stencil-extent m X))
         (y-ext (ly:stencil-extent m Y)))
   (interpret-markup layout props
     (markup
        #:box   ; nur zum Test - dann auskommentieren!
        #:with-dimensions x-ext y-ext
        #:line (#:translate offs folio)
       ))))

\paper {
  indent = 0
  ragged-right = ##f
  oddHeaderMarkup = \markup \fill-line { \place-folio \fromproperty #'page:page-number-string \on-the-fly #not-first-page \fromproperty #'header:instrument \null }
  evenHeaderMarkup = \markup \fill-line { \null \fromproperty #'header:instrument \place-folio \fromproperty #'page:page-number-string }
  oddFooterMarkup = \markup \column{
    \fill-line {
      \on-the-fly #first-page { \fromproperty #'header:copyright }
    }
    \fill-line {
      \on-the-fly #not-first-page { \fromproperty #'header:tagline  }
    }
  }
}

\header {
  copyright = "Copyright-Text"
  tagline = "Tagline-Text"
  instrument = "Flöte"
}

{ \repeat unfold 10 { s1 \pageBreak } }


Viele Grüße,
Klaus