Liedtitel und Liednummer

Begonnen von Elke, Montag, 3. Juni 2024, 20:37

« vorheriges - nächstes »

Elke

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

Manuela

Hallo, willkommen im Forum.

Was genau ist dein Problem, worin besteht deine Frage? Hast du hier schon mal nachgelesen: Helfern helfen helfen

Stichwort: kompilierbares Minimalbeispiel ;)
Danke für eure Hilfe
viele Grüße
-- Manuela

Elke

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

Manuela

#3
Kennst du das LSR? Dort gibt es viele nützliche Codesnippets, z.B. dieses hier
Demonstrating all headers

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
Danke für eure Hilfe
viele Grüße
-- Manuela

Malte

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' }
  }
}

Elke

Hallo,
super, das ist genau das, was ich wollte.

Vielen Dank für die schnelle Hilfe.

Gruß Elke