Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: martinmagtenor am Sonntag, 6. April 2014, 17:55
-
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?
-
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 (http://lilypond.org/website/bug-reports.html) machen?
Der einzige workaround der mir einfällt ist on-page zu benutzen, mit denselben Problemen wie zuvor (https://liarchiv.joonet.de/index.php?topic=1240.msg6809#msg6809)
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
-
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 (http://lists.gnu.org/archive/html/bug-lilypond/2014-04/msg00025.html)
Grüße
Martin
-
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