Deutschsprachiges LilyPond-Forum

Allgemeine Fragen und Probleme => Fragen und Probleme aller Art => Thema gestartet von: SPF am Mittwoch, 7. Juli 2021, 21:24

Titel: Langer Eintrag für 'poet' schiebt 'composer' von der Seite [Gelöst]
Beitrag von: SPF am Mittwoch, 7. Juli 2021, 21:24
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
Titel: Antw:Langer Eintrag für 'poet' schiebt 'composer' von der Seite
Beitrag von: harm6 am Donnerstag, 8. Juli 2021, 10:58
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
Titel: Gelöst: Langer Eintrag für 'poet' schiebt 'composer' von der Seite
Beitrag von: SPF am Donnerstag, 8. Juli 2021, 22:46
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