Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: Amandus am Montag, 23. November 2009, 21:40

Titel: Strophenziffer größer setzen (stanza)
Beitrag von: Amandus am Montag, 23. November 2009, 21:40
Hallo,

wie kann ich die Strophenziffer »1.« in dieser Umgebung vergrößern?

\lyricmode { \set stanza = " 1. " Liedtext }
Ich habe es mit

\lyricmode { \set stanza = \markup { \large "1. " }}
versucht, aber so läuft’s offenbar nicht. Ich finde auch nirgends einen Hinweis, wie diese stanza-Anweisung formatiert werden kann.

Danke schon mal für die Hilfe!
Titel: Re: Strophenziffer größer setzen (stanza)
Beitrag von: derHindemith am Montag, 23. November 2009, 22:01
Vielleicht ein Schnipsel (ein Takt) dass zeigt was nicht funktioniert würde alles besser erklären.
Titel: Re: Strophenziffer größer setzen (stanza)
Beitrag von: Amandus am Montag, 23. November 2009, 22:57
Ich hab’ es mal leicht reduziert:

\version "2.13.7"

\paper  {
   myStaffSize = #20
   fontSize = #-2
   tagline = ##f
}

\layout {
   indent = #0
\context {
         \Score
         \remove "Bar_number_engraver"
}
}

<<
\new Voice = "verse" \relative c' {
  \cadenzaOn
  \key a \major {
  cis'4 cis cis cis
  b2 b4 r4
  }
}

\new Lyrics = "vers-a" \lyricsto verse \lyricmode {
\set stanza = \markup { \large "1. " }
                 A B C D E F
         }

\new Lyrics = "vers-b" \lyricsto verse \lyricmode {
G H I J K L
         }
>>
Titel: Re: Strophenziffer größer setzen (stanza)
Beitrag von: derHindemith am Dienstag, 24. November 2009, 01:05
Ah, aus technischen Grunden (laut den Dokumentation) muss die \set stanza ausserhalb von \lyricmode sein.
\new Lyrics = "vers-a" {
\set stanza = \markup \large "1. "
 \lyricsto verse \lyricmode {
  A B C D E F
 }
}
Titel: Re: Strophenziffer größer setzen (stanza)
Beitrag von: comper am Dienstag, 24. November 2009, 11:52
Es sind viele Stolpersteine in dieser Gegend!

Dieser Vorschlag \set stanza vor \lyricsto funktioniert bei mir nicht richtig.
Die \lyricsto-Umschaltung verpasst die erste Note; ohne anfängliche Pause ist der Liedtext um diese versetzt.

Und dieser Hinweis in NR 2.1.5 (http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Stanzas.de.html#Adding-dynamics-marks-to-stanzas) kann so nicht stimmen. Folgendes ist doch OK:
  \new Lyrics = "vers-a" \lyricsto verse {
    \set stanza = "1. "
    \lyricmode { A B C D E F }
  }

Es ist wohl der \markup Befehl, der Probleme macht.
Dieser hat offenbar unterschiedliche Wirkungen, je nach Eingabemodus.
\lyricmode macht daraus LYRIC_MARKUP und Lilypond meckert dementsprechend.

Also warum nicht \markup nach \lyricsto aber vor \lyricmode legen?
  \new Lyrics = "vers-a" \lyricsto verse
  \set stanza = \markup \large "1. "
  {
    \lyricmode { A B C D E F }
  }
Geht leider nicht.
Das liegt am automagischen Nebeneffekt von \lyricsto: er setzt auch \lyricmode
"so dass der Gesangstextmodus nicht mehr extra angegeben werden muss (http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Aligning-lyrics-to-a-melody.de.html)"
was uns hier keine Erleichterung bringt.

Ausweg 1.
Den \markup-Teil anderswo definieren (ausserhalb von \lyricmode).
  largeI = { \set stanza = \markup { \large "1. " } }
und im lyricmode per \largeI referenzieren, d.h. so (umständlich) wie in in NR 2.1.5 (http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Stanzas.de.html#Adding-dynamics-marks-to-stanzas).

Ausweg 2.
Aus lyricmode in Scheme-Modus wechseln:
  \new Lyrics = "vers-a" \lyricsto verse \lyricmode {
    \set stanza = #(markup #:large "1. ")
   A B C D E F
  }

Ausweg 3.
Weniger fremd  -  kurzzeitig in Notenmodus wechseln:
  \new Lyrics = "vers-a" \lyricsto verse \lyricmode {
    \notemode { \set stanza = \markup { \large "1. " } }
   A B C D E F
  }

Ausweg 4.
Es geht in diesem speziellen Fall auch ohne \markup:
  \new Lyrics = "vers-a" \lyricsto verse \lyricmode {
    \override StanzaNumber #'font-size = #1
    \set stanza = "1. "
    A B C D E F
  }



Gruss
Titel: Re: Strophenziffer größer setzen (stanza)
Beitrag von: Amandus am Dienstag, 24. November 2009, 12:54
Besten Dank für die ausführlichen Antworten.

Ich habe mich für die 4. Lösungsvariante ohne \markup entschieden. Wenn ich mir den Quelltext nach längerer Zeit wieder anschaue kann ich sofort herauslesen, was hier eingestellt wurde.