Autor Thema: Text soll nur System beachten  (Gelesen 3248 mal)

Notensatzzweifel

  • Member
Text soll nur System beachten
« am: Mittwoch, 27. April 2016, 13:29 »
Die Datei ist Viele*\score {}aufgebaut.

Leider ist der Stücküberschrift "piece" der Abstand zum System des letzten Stückes herrlich egal. Teilweise hängt sie an den Hälsen der Unterstimme des vorigen Systems.

Ich habe dann folgendes versucht.
\markup {
      \fill-line {
        \null
        \override #`(direction . ,UP) {
                      \pad-markup #2
                   
              \fromproperty #'header:piece

        }

Was eigentlich ganz schön funktioniert. Aber störend ist, das jetzt diese Stücküberschriften auch von der oberen Kante des Druckbereiches fernhalten.

Wie bekomme ich es hin, dass wenn die Stücküberschrift das Erste auf der Seite ist, die Textoberkante mit der Kante des Druckbereichs zusammenfällt.

Am besten wäre es ja, dass ich zwei Abstände definieren könnte. Den Abstand zum System, an dem die Überschrift hängt und den Abstand zum System drüber.

fugenkomponist

  • Member
Re: Text soll nur System beachten
« Antwort #1 am: Mittwoch, 27. April 2016, 13:37 »
Ich bin gerade unterwegs und habe kein LilyPond hier, um das selbst auszuprobieren, aber du könntest mal probieren, score-markup-spacing im \paper-Block zu setzen (siehe http://joramberger.de/files/LilypondSpacing.pdf); ich bin mir bloß grad nicht sicher, ob das nur Texte per \markup betrifft oder auch welche aus dem \header.

Notensatzzweifel

  • Member
Re: Text soll nur System beachten
« Antwort #2 am: Donnerstag, 28. April 2016, 11:34 »
Danke. score-system-spacing.basic-distance = #20 und ähnliches lässt den Abstand zu der vorigen \score beeinflussen.

Aber  markup-system-spacing interessiert nicht für die Score Überschriften. Die Kleben jetzt an den Notenzeilen, über den sie stehen.

fugenkomponist

  • Member
Re: Text soll nur System beachten
« Antwort #3 am: Donnerstag, 28. April 2016, 12:51 »
Hast du mal ein Minimalbeispiel?

Notensatzzweifel

  • Member
Re: Text soll nur System beachten
« Antwort #4 am: Donnerstag, 28. April 2016, 13:27 »
Kommt  aus http://lilypond.org/doc/v2.18/Documentation/notation/creating-titles-headers-and-footers#title-blocks-explained

Das mit dem markup-system-spacing  = #14 kommt von mir.

\version "2.18.2"
\book {
  \paper {
    print-all-headers = ##t
    markup-system-spacing  = #14
  }
  \header {
    title = "DAS WOHLTEMPERIRTE CLAVIER"
    subtitle = "TEIL I"
    % Do not display the tagline for this book
    tagline = ##f
  }
  \markup { \vspace #1 }
  \score {
    \new PianoStaff <<
      \new Staff { s1 }
      \new Staff { \clef "bass" s1 }
    >>
    \header {
      title = "PRAELUDIUM I"
      opus = "BWV 846"
      % Do not display the subtitle for this score
      subtitle = ##f
    }
  }
  \score {
    \new PianoStaff <<
      \new Staff { s1 s s s s s s s s }
      \new Staff { \clef "bass" s1 }
    >>
    \header {
      title = "FUGA I"
      subsubtitle = "A 4 VOCI"
      opus = "BWV 846"
      % Do not display the subtitle for this score
      subtitle = ##f
    }
  }
}

harm6

  • Member
Re: Text soll nur System beachten
« Antwort #5 am: Donnerstag, 28. April 2016, 22:09 »
Die paper-Setzungen/Werte können angezeigt werden. Z.B.:

\paper { }

#(format #t "\nfrom paper:\n~y"
  (assoc
    'markup-system-spacing
    (ly:module->alist (ly:output-def-scope $defaultpaper))))

führt im terminal zu:

Zitat
from paper:
(markup-system-spacing
  (basic-distance . 5)
  (padding . 0.5)
  (stretchability . 30))

Also einer alist mit key-values-Einträgen.
Dazu:
http://lilypond.org/doc/v2.19/Documentation/notation/flexible-vertical-spacing-paper-variables.de.html


Deine Setzung löscht diese Werte komplett und ersetzt sie mit einer Zahl die LilyPond nicht zuordnen kann (da der key fehlt) und somit ignoriert.

\paper { markup-system-spacing  = #14 }

#(format #t "\nfrom paper:\n~y"
  (assoc
    'markup-system-spacing
    (ly:module->alist (ly:output-def-scope $defaultpaper))))

->
Zitat
from paper:
(markup-system-spacing . 14)

Insoweit studiere bitte nochmal den oben verlinkten Abschnitt aus der NR, wie man diese Variablen anwendet.