Autor Thema: Kein Raum zwischen Kopfzeile und markuplist - Text klebt an der Kopfzeile  (Gelesen 2239 mal)

martinmagtenor

  • Member
Wenn nach dem letzten System noch Text kommt \markuplist { ... } und dieser Text einen Seitenumbruch auslöst, dann klebt der Text auf der Folgeseite ohne Abstand direkt an der Kopfzeile. Ich habe keine Formatierungsparameter gefunden, mit dem ich das beeinflussen kann.

\version "2.16.2"

\include "deutsch.ly"

musik = \relative c'' { b a c h }

\header {
title = "Titel"
composer = "Komponist"
} % header


\musik  \musik \musik \musik \musik \musik \musik \musik \musik \musik \musik

\markuplist {
  \wordwrap-lines { Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
  sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
  erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea
  rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum
  dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
  diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
  sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
  Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
  amet.
  }
  \wordwrap-lines { Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
  sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
  erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea
  rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum
  dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
  diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
  sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
  Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
  amet.
  }
  \wordwrap-lines { Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
  sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
  erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea
  rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum
  dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
  diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
  sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
  Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
  amet.
  }
}

Ergänzt man noch

\paper {
  top-markup-spacing #'basic-distance = #10
}

verschiebt sich lediglich der Inhalt der ersten Seite nach unten und der Text wird eben an einer anderen Stelle umgebrochen.

Ist das ein Bug?

harm6

  • Member
Re: Kein Raum zwischen Kopfzeile und markuplist - Text klebt an der Kopfzeile
« Antwort #1 am: Montag, 7. April 2014, 10:58 »
Hallo,

das Problem habe ich auch schon gehabt.
Ich weiß aber nicht wodurch es entsteht oder wie es zu beheben ist.
Könntest Du einen bugreport machen?

Der einzige workaround der mir einfällt ist on-page zu benutzen, mit denselben Problemen wie zuvor

Hier aber noch ein reduziertes Code-Beispiel (der besseren Sichtbarkeit wegen, hab ich alles in \box gesetzt):

\version "2.19.3"

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

\paper {
%% NR 4.1.4 top-markup-spacing says:
%% the distance from the top of the printable area (i.e. the bottom of the top
%% margin) to the first (title or top-level) markup on a page, when there is no
%% system between the two.
%%
%% No useful effect, though

   %top-markup-spacing =
   %  #'((basic-distance . 10)
   %     (minimum-distance . 10)
   %     (padding . 10)
   %     (stretchability . 10))
       
   print-first-page-number = ##t   
   oddHeaderMarkup = \markup \box \oddHeaderMarkup   
   evenHeaderMarkup = \markup \box \evenHeaderMarkup
}

\markuplist \box
  \wordwrap-lines { Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
  sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
  erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea
  rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum
  dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
  diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
  sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
  Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
  amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
  sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
  erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea
  rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum
  dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
  diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
  sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
  Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
  amet.
  }

Gruß,
  Harm

martinmagtenor

  • Member
Re: Kein Raum zwischen Kopfzeile und markuplist - Text klebt an der Kopfzeile
« Antwort #2 am: Montag, 7. April 2014, 21:28 »
Vielen Dank für die Unterstützung.

Fehlerbericht ist erstellt. Habe doch meine "Langfassung" genommen, da ich Deinen Code auf die Schnelle nicht zum Fliegen bekommen habe.

http://lists.gnu.org/archive/html/bug-lilypond/2014-04/msg00025.html

Grüße
Martin

martinmagtenor

  • Member
Re: Kein Raum zwischen Kopfzeile und markuplist - Text klebt an der Kopfzeile
« Antwort #3 am: Freitag, 18. April 2014, 21:16 »
Der Bugreport wird scheint's ignoriert.  :-(

Zwischenzeitlich habe ich versucht das Problem besser zu verstehen. Ein paar zusätzliche Erkenntnisse und Fragen:
  • \markuplist macht den Seitenumbruch. Wie und wo habe ich noch nicht herausgefunden. Tipps dazu? Bin auch gerne bereit in den C++-Code reinzuschauen.
  • Laut Beschreibung muss top-markup-spacing als Abstand zum oberen Rand beachtet werden. Das passiert definitiv nicht. Ich habe es nicht verifiziert, erwarte aber dass das bei einem längeren Inhaltsverzeichnis genauso passiert, denn dort wird auch \markuplist verwendet.
  • Überhaupt verstehe ich das Zusammenspiel noch nicht. Zu \markuplist gehören Textscript-Objekte, die vom Text_engraver erzeugt werden. Gibt es eine Beschreibung, wo diese Zusammenhänge erläutert sind?
  • \wordwrap-lines erzeugt aus dem Markup einzelne Zeilen und \markuplines sorgt dafür, dass diese auf der Seite gestapelt werden, richtig?
  • Soweit ich den C++-Code schon überschaue, liegen wesentliche Teile des Seitenumbruchs dort. Augenscheinlich fehlt im Zusammenhang mit dem Umbruch bei längeren markup-Listen das Einfügen des vertikalen Platzes auf der Folgeseite. Aber auf welcher Seite, Scheme oder C++?

Bin für jeden weiterführenden Hinweis dankbar.

Grüße
  Martin