Langer Eintrag für 'poet' schiebt 'composer' von der Seite [Gelöst]

Begonnen von SPF, Mittwoch, 7. Juli 2021, 21:24

« vorheriges - nächstes »

SPF

Hallo!

Gleich mein erster mit Lilypond gesetzter Score hat einen sehr langen Eintrag für den 'poet' (da viele Poet:inn:en beteiligt sind).
Zwischen 'poet' und 'composer' scheint ein Mindestabstand gesetzt zu werden und der 'composer' verschiebt sich dadurch nach rechts aus dem Satzspiegel heraus (statt zum Beispiel in die nächste Zeile zu hüpfen).
Der Effekt passiert schon "relativ früh", obwohl noch genug Platz für den 'poet' auf der Zeile wäre.
Ist es möglich, den Mindestabstand zu verringern oder sonst irgendwie zu erreichen, dass der 'composer' da hin kommt, wo er normalerweise auch steht? Leider bin ich in der Dokumentation nicht fündig geworden (wobei ich den Umgang mit der Dokumentation auch noch übe). Ich hoffe, das folgende Beispiel macht das Problem deutlich:


\version "2.22.1"
\paper {
  #(set-paper-size "a5")
}

\header {
  title = "Titel"
  poet = "ein sehr langer Eintrag mit vielen Dichter:innen"
  composer = "Komponist:in"
}

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


Freundliche Grüße

SPF
Lilypond Version 2.22.1 mit Frescobaldi 3.1.3
Lilypond 2.22.1 mit Frescobaldi 3.1.3

harm6

Hallo SPF,

willkommen im Forum.

Zum Thema:
Die header werden getreu bookTitleMarkup bzw scoreTitleMarkup gesetzt (siehe titling-init.ly).
Die relevante Zeile dort lautet:

      \fill-line {
        \fromproperty #'header:poet
        { \large \bold \fromproperty #'header:instrument }
        \fromproperty #'header:composer
      }

D.h. Setzungen für poet, instrument und composer kommen in eine Zeile und werden via \fill-line über diese Zeile verteilt.

Für eine fehlende Setzung wird stattdessen ein empty-stencil genommen. Für Dein Beispiel bedeutet das, daß Du tatsächlich drei Einträge hast, die über die Zeile verteilt werden müssen.
Über die Jahre, d.h. LilyPond-Versionen, hat es verschiedene Ansätze gegeben wie \fill-line diesen Job erledigen soll.
So richtig überzeugend, im Sinne von "funktioniert immer", ist keiner. Insbesondere bei der Kombination von langen und kurzen Textteilen gibt es Probleme, noch gesteigert bei geringer line-width, wie in Deinem Beispiel.

Soviel zum Hintergrund.
Ich würde manuell eingreifen und die Setzung für poet über mehrere Zeilen verteilen:

\paper {
  #(set-paper-size "a5")
}

\header {
  title = "Title"
  poet = \markup
           \column {
            "Very, very, very long"
            "list containing"
            "multiple poets"
           }
  %instrument = "Instrument"
  composer = "Composers"
}

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


HTH,
  Harm

SPF

Hallo Harm,

vielen Dank für die ausführliche Antwort. Dann bin ich ja froh, dass ich scheinbar nichts übersehen habe und werde die händischen Zeilenumbrüche einarbeiten.

Freundliche Grüße

SPF
Lilypond 2.22.1 mit Frescobaldi 3.1.3