Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: Mat am Montag, 25. Februar 2013, 21:44
-
Hallo zusammen,
möchte gern mein TOC strukturieren und Zwischenüberschriften einfügen.
Dazu gibt es im Handbuch auch ein Bsp:
\paper {
tocActMarkup = \markup \large \column {\hspace #1 \fill-line { \null \italic \fromproperty #'toc:text \null } \hspace #1 }
}
tocAct = #(define-music-function (parser location text) (markup?) (add-toc-item! 'tocActMarkup text) )
Ich habe das eingebaut, aus "Act" habe ich "Part" gemacht, es funktioniert aber nicht.
Mein Inhaltsverzeichnis ist in einem eigenen Bookpart, welches sich in einer eigenen Datei verbirgt (definition_toc.ly), die dann über include eingebunden ist (siehe unten).
Wenn ich die tocPart-Definition unter den "paper"-Teil hänge - wie im Handbuch -, dann sind die gepunkteten Linien weg.
Das steht im Log-File:
definition_toc.ly:32:8: Fehler: syntax error, unexpected STRING
tocPart = Interpretation der Musik...[8][16][24][32][40][48][56][64][72][80][80]
bzw bei der Verwendung von tocPart im Book:
SongBook.ly:30:0: Fehler: Ungültige Fluchtsequenz: »\tocPart«
\tocPart \markup { Part I }
SongBook.ly:30:0: Fehler: syntax error, unexpected STRING
\tocPart \markup { Part I }
Dann habe ich mir überlegt, die tocPart-Definition wie unten vor den "paper"-Teil zu hängen.
Dann werden zwar die gepunkteten Linien gedruckt, die Fehler bleiben.
Leider habe ich im Internet keine weiteren Informationen dazu gefunden. Hat jemand Erfahrung mit so etwas ?
Wer kann mir sagen, was ich falsch mache ?
Vielen Dank für Eure Bemühungen
Liebe Grüße, Matthias
Hier der Inhalt meiner definition_toc.ly-Datei:
\bookpart {
tocPart =
#(define-music-function (parser location text) (markup?)
(add-toc-item! 'tocPartMarkup text))
\paper {
two-sided = ##t
inner-margin = 30\mm
outer-margin = 30\mm
top-margin = 20\mm
tocItemMarkup = \tocItemWithDotsMarkup
tocPartMarkup = \markup \large \column {
\hspace #1
\fill-line { \null \italic \fromproperty #'toc:text \null }
\hspace #1
}
}
\markuplist \table-of-contents
}
-
Hallo Matthias,
die Definition von \tocPart darf nicht innerhalb von \bookpart { ... } stehen, sondern davor, sozusagen im "globalen" Bereich.
Also
tocPart =
#(define-music-function (parser location text) (markup?)
(add-toc-item! 'tocPartMarkup text))
\bookpart {
[...]
}
Viele Grüße
Torsten
-
Hallo Torsten,
das klingt irgendwie einleuchtend... :)
Das sind dann so Momente, in denen man sich fragt, warum man da nicht selber drauf gekommen ist oder das nicht mal ausprobiert hat....
Na ja, vielen Dank auf jeden Fall.
Klappt prima !