Allgemein > Fragen zu Funktionen

Kapitelüberschrift in Fußzeilen

(1/2) > >>

Manuela:
Nachdem das Problem mit den Kopf- bzw. Fußzeilen geklärt wäre, hätte ich noch ein Problem. Wahrscheinlich schlage ich mehrmals mit dem Kopf gegen die Wand, wenn ich die Lösung erfahre, weil ich wieder mal irgend eine Kleinigkeit übersehe...

Ich hätte gerne die Kapitelüberschrift in der Fußzeile stehen, aber es klappt nicht. Was mache ich falsch, die Fußzeile ist leer


--- Code: ---\version "2.19.42"

tocAct =
#(define-music-function (text) (markup?)
   (add-toc-item! 'tocActMarkup text))

\paper {
  evenFooterMarkup = \markup {
    \fill-line {
      \null \fromproperty #'toc:text
      \null
    }
  }
  oddFooterMarkup = \markup {
    \fill-line {
      \null \fromproperty #'toc:text
      \null
    }
  }
}

\tocAct \markup "Kirchenlieder"

\new Staff { \repeat unfold 3 { c'1 \pageBreak } }
--- Ende Code ---

harm6:
Hallo Manuela,


--- Zitat ---Was mache ich falsch, die Fußzeile ist leer
--- Ende Zitat ---

Gar nichts. Die gewünschte Information ist zum Zeitpunkt, da Du sie haben willst einfach noch nicht da.

Zur Überprüfung nehme ich häufig ein markup-command, hier fromproperty, kopiere es in mein file, benenne es neu, wende es mit dem neuen Namen an und laß mir diverse Dinge anzeigen:


--- Code: ---\version "2.19.42"

tocAct =
#(define-music-function (text) (markup?)
   (add-toc-item! 'tocActMarkup text))

#(define-markup-command (my-fromproperty layout props symbol)
  (symbol?)
  (let ((m (chain-assoc-get symbol props)))
 
;(pretty-print props)
;(display-scheme-music (ly:module->alist (ly:output-def-scope layout)))
(display (ly:output-def-lookup layout 'label-page-table))
    (if (markup? m)
        ;; prevent infinite loops by clearing the interpreted property:
        (interpret-markup layout (cons (list (cons symbol `(,property-recursive-markup ,symbol))) props) m)
        empty-stencil)))

\paper {
  evenFooterMarkup = \markup {
    \fill-line {
      \null \my-fromproperty #'toc:text
      \null
    }
  }
  oddFooterMarkup = \markup {
    \fill-line {
      \null \my-fromproperty #'toc:text
      \null
    }
  }
}

\tocAct \markup "Kirchenlieder"

\new Staff { \repeat unfold 3 { c'1 \pageBreak } }

--- Ende Code ---

Die Daten sind nicht da!

Aber...
Du könntest ein header-field verwenden:


--- Code: ---\version "2.19.42"

\paper {
  evenFooterMarkup = \markup {
    \fill-line {
      \null \fromproperty #'header:section
      \null
    }
  }
  oddFooterMarkup = \markup {
    \fill-line {
      \null \fromproperty #'header:section
      \null
    }
  }
}

\bookpart {
  \header { section = "Kirchenlieder" }
  \new Staff { \repeat unfold 3 { c'1 \pageBreak } }
}
\bookpart {
  \header { section = "Trinklieder" }
  \new Staff { \repeat unfold 3 { c'1 \pageBreak } }
}

--- Ende Code ---



HTH,
  Harm

Manuela:
Danke Harm.

Ich bin deswegen im Kreis gerannt.

Leider kann ich meine Scores nicht in bookparts einsperren (wegen der Variablendefinitionen), mal sehen, ob ich es so hinkriege.

Manuela:
Wie ich gedacht hatte, header wirkt sich auf das ganze Dokument aus, daher enthalten alle Fußzeilen den gleichent Text.

Bis mir etwas anderes einfällt, bleiben die Fußzeilen auf den linken Seiten halt leer.

harm6:

--- Zitat ---Wie ich gedacht hatte, header wirkt sich auf das ganze Dokument aus, daher enthalten alle Fußzeilen den gleichent Text.
--- Ende Zitat ---
Natürlich, deshalb die bookparts. ;)
Wenn Du die nicht haben willst oder kannst, könntest Du versuchen die page-header/footer-Definitionen auszuweiten.
Das LSR-snippet zu page-range könnte man vielleicht verändern, um auf ausgewählten Seiten Text zu drucken.
Außerdem gibt es ja on-page (->titling-init.ly)

Ich kann das momentan aber nicht alles selbst kodieren, bin sehr beschäftigt:
http://lilypond.1069038.n5.nabble.com/guile-2-0-and-debian-tt196306.html
und hab nur dann Zeit wenn mein computer gerade dabei ist einen neuen build/regtest-comparison/make-doc/etc zu berechnen

Gruß,
  Harm

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln