Hallo,
ich bin neu hier und möchte mir für meine Chorlieder eine Musterseite anlegen. Dabei soll der Liedtitel mit Subtitle und Subsubtitle zentriert stehen und die Liednummer (mit Opus ?)rechts, allerdings über dem Titel. Als Schnipsel hab ich schonmal das gefunden und es mir etwas zurechtgestutzt:
\sourcefileline 695
\book {
\header {
% The following fields are centered
subtitle = "Subtitle"
subsubtitle = "Subsubtitle"
}
\score {
{ s1 }
\header {
opus = "Opus 1"
}
}
}
Vielen Dank schon mal für eure Hilfe
Gruß Elke
Hallo, willkommen im Forum.
Was genau ist dein Problem, worin besteht deine Frage? Hast du hier schon mal nachgelesen: Helfern helfen helfen (https://lilypondforum.de/index.php/topic,5.0.html)
Stichwort: kompilierbares Minimalbeispiel ;)
Hallo,
Version ist 2.24.3. Mit dem Einfügen von Code hier komm ich nicht klar, deshalb:
Minimalbeispiel:
Version "2.24.3"
\sourcefileline 695
\book {
\header {
% The following fields are centered
subtitle = "Subtitle"
subsubtitle = "Subsubtitle"
% The following fields are centered at the bottom
copyright = "copyright goes at the bottom of the first page"
}
\score {
{ c'4 d' e' f' }
\header {
opus = "Opus 1"
}
}
}
Es soll so sein, daß Opus1 über der Subtitle-Zeile rechts steht. Da das ja unser erstes Ordnungskriterium ist.
Vielen Dank für die Geduld und die Hilfe.
Elke
Kennst du das LSR (https://lsr.di.unimi.it/LSR/)? Dort gibt es viele nützliche Codesnippets, z.B. dieses hier
Demonstrating all headers (https://lsr.di.unimi.it/LSR/Item?id=279)
Diesem Snippet habe ich folgenden Code entnommen
\version "2.24.3"
\book {
\header {
% The following fields are centered
title ="Titel"
subtitle = "Subtitle"
subsubtitle = "Subsubtitle"
composer = "localcomposer"
arranger = "localarranger"
instrument = "localinstrument"
metre = "localmetre"
opus = "localopus"
piece = "localpiece"
poet = "localpoet"
copyright = "copyright goes at the bottom of the first page"
}
\score {
{ c'4 d' e' f' }
}
}
Damit kannst du alle möglichen Texte links oder rechts schreiben.
Code kannst du einfügen, indem du auf den Code-Button drückst. Der ist ein wenig schwer zu finden, in der dritten Gruppe von rechts das mittlere Symbol, ich füge einen Screenshot ein
Das Snippet reicht nicht aus für das, was Elke vor hat, weil es die Reihenfolge der Informationen nicht ändert, sondern nur demonstriert. Man kann aber ändern, wie LilyPond die eingegebenen Daten formatiert, und zwar, indem man die in der Datei titling-init.ly definierten scoreTitleMarkup und ggf. bookTitleMarkup in einem \paper-Block neu definiert.
Hier die Originale:
bookTitleMarkup = \markup {
\override #'(baseline-skip . 3.5)
\column {
\fill-line { \fromproperty #'header:dedication }
\override #'(baseline-skip . 3.5)
\column {
\fill-line {
\huge \larger \larger \bold
\fromproperty #'header:title
}
\fill-line {
\large \bold
\fromproperty #'header:subtitle
}
\fill-line {
\smaller \bold
\fromproperty #'header:subsubtitle
}
\fill-line {
\fromproperty #'header:poet
{ \large \bold \fromproperty #'header:instrument }
\fromproperty #'header:composer
}
\fill-line {
\fromproperty #'header:meter
\fromproperty #'header:arranger
}
}
}
}
scoreTitleMarkup = \markup { \column {
\if \should-print-all-headers { \bookTitleMarkup \hspace #1 }
\fill-line {
\fromproperty #'header:piece
\fromproperty #'header:opus
}
}
}
Ich habe jetzt #'header:opus in bookTitleMarkup an die beschriebene Stelle verschoben:
\paper {
bookTitleMarkup = \markup {
\override #'(baseline-skip . 3.5)
\column {
\fill-line { \fromproperty #'header:dedication }
\override #'(baseline-skip . 3.5)
\column {
\fill-line {
\huge \larger \larger \bold
\fromproperty #'header:title
}
\fill-line {
\null
\fromproperty #'header:opus
}
\fill-line {
\large \bold
\fromproperty #'header:subtitle
}
\fill-line {
\smaller \bold
\fromproperty #'header:subsubtitle
}
\fill-line {
\fromproperty #'header:poet
{ \large \bold \fromproperty #'header:instrument }
\fromproperty #'header:composer
}
\fill-line {
\fromproperty #'header:meter
\fromproperty #'header:arranger
}
}
}
}
scoreTitleMarkup = \markup { \column {
\if \should-print-all-headers { \bookTitleMarkup \hspace #1 }
\fill-line {
\fromproperty #'header:piece
\null
}
}
}
}
Wenn ich mal die ganzen nicht erwähnten Informationen rauslasse, geht es noch kompakter (falls du Dinge wie Instrumentangaben brauchst, müssen die natürlich drinbleiben), hier als Minimalbeispiel mit Noten:
\version "2.24.3"
\paper {
bookTitleMarkup = \markup {
\override #'(baseline-skip . 3.5)
\column {
\fill-line {
\huge \larger \larger \bold
\fromproperty #'header:title
}
\fill-line {
\null
\fromproperty #'header:opus
}
\fill-line {
\large \bold
\fromproperty #'header:subtitle
}
\fill-line {
\smaller \bold
\fromproperty #'header:subsubtitle
}
}
}
scoreTitleMarkup = \markup { \column {
\if \should-print-all-headers { \bookTitleMarkup \hspace #1 }
}
}
}
\book {
\header {
subtitle = "Subtitle"
subsubtitle = "Subsubtitle"
copyright = "copyright goes at the bottom of the first page"
opus = "Opus 1"
}
\score {
{ c'4 d' e' f' }
}
}
Hallo,
super, das ist genau das, was ich wollte.
Vielen Dank für die schnelle Hilfe.
Gruß Elke