Deutschsprachiges LilyPond-Forum

Allgemeine Fragen und Probleme => Fragen und Probleme aller Art => Thema gestartet von: hurrlipurr am Sonntag, 22. Oktober 2017, 13:19

Titel: Zwischentitel
Beitrag von: hurrlipurr am Sonntag, 22. Oktober 2017, 13:19
Hallo,

ich möchte verschiedene Teile meines Stücks mit Zwischentiteln (z.B. Intro, Strophe, Refrain) markieren.

Bisher habe ich dazu zwei Ansätze gefunden:

Gibt es noch eine andere Methode, einen Zwischentitel zu setzen, z.B. vor der ersten Note des Blocks?

VG Oliver
Titel: Antw:Zwischentitel
Beitrag von: harm6 am Sonntag, 22. Oktober 2017, 13:43
Hallo Oliver,

bitte poste immer ein minimal code-example sowie die verwendete LilyPond-Version.


\version "2.18.2"

xy = { c''1 d'' e''  f'' }

{ \mark "1. Zwischentitel" \xy <>^"2. Zwischentitel" \xy }

Ersteres ist eine RehearsalMark, letzeres TextScript. Beides kann natürlich mit den entsprechenden overrides Deinen Wünschen angepasst werden.

HTH,
  Harm
Titel: Antw:Zwischentitel
Beitrag von: hurrlipurr am Sonntag, 22. Oktober 2017, 14:16
Super, vielen Dank!
Titel: Nochmal Zwischentitel
Beitrag von: hurrlipurr am Dienstag, 26. November 2019, 13:35
Hi,

ich kämpfe wieder mit den Zwischentiteln.  :-\

Ich möchte einzelne Parts mit kurzen Titeln überschreiben. Die folgende Lösung kommt dem Ziel am nächsten, allerdings werden die Titel zentriert über die Anfangssymbole gesetzt, was bei längeren Texten nicht funktioniert (die ragen dann links aus dem Blatt).

Gibt es eine Möglichkeit, die Titel einfach linksbündig am System auszurichten?


\version "2.19.82"
\pointAndClickOff
\paper { indent = #0 }
\header { title = "Titel" composer = "Komponist" tagline = ""}
harmonies = \chordmode {
  e1:m e:m7+ e:m7 e:m6   
  e1:m e:m7+ e:m7 e:m6   
}

tromb = \relative c {
  \key e \minor
  \mark \markup {\rounded-box "I"}
  c2 d e f | c b a g \bar"||" \break
  \mark \markup {\rounded-box "Extrem langer Strophenteil"}
  c e d f | c g a b \bar"||"
}
sheet =
  <<
    \new ChordNames {
      \set chordChanges = ##t
      \harmonies
    }
    \new Voice = "trombone" { \clef "bass" \tromb }
  >>
\book { \bookOutputName $(string-append "PDF/" (ly:parser-output-name)) \bookOutputSuffix "C" \sheet}

Edit:
Die Option
  \once \override Score.RehearsalMark.self-alignment-X = #LEFT
  \mark \markup {\rounded-box "I"}
ist schon besser, allerdings hätte ich die Titel noch lieber ganz links am System ausgerichtet.

VG Oliver
Titel: Antw:Nochmal Zwischentitel
Beitrag von: Malte am Dienstag, 26. November 2019, 14:19
Edit:
Die Option
  \once \override Score.RehearsalMark.self-alignment-X = #LEFT
  \mark \markup {\rounded-box "I"}
ist schon besser, allerdings hätte ich die Titel noch lieber ganz links am System ausgerichtet.

VG Oliver

Du bist schon nah dran: Standardmäßig werden die marks an der rechten Kante der Tonartvorzeichen ausgerichtet. Das kannst du über break-align-symbols ändern.
\override Score.RehearsalMark.self-alignment-X = #LEFT
\override Score.RehearsalMark.break-align-symbols = #'(left-edge)
Titel: Antw:Zwischentitel
Beitrag von: hurrlipurr am Samstag, 30. November 2019, 13:21
Danke, Malte!

Jetzt habe ich aber noch ein weiteres Problem: wenn ich mehrere Stimmauszüge erstellen will, "kleben" die marks nur an einer Stimme.

Beispiel:\version "2.19.82"
\pointAndClickOff

\paper { indent = #0 }

mymelody = { c4 d e f g a b c }

harmonies = \chordmode { c1 g c g }

leadvox = \relative c' {
  \key c \major
  \override Score.RehearsalMark.self-alignment-X = #LEFT
  \override Score.RehearsalMark.break-align-symbols = #'(left-edge)
  \mark \markup {\rounded-box\teeny "Strophe 1"}
  \relative c' \mymelody
  \mark \markup {\rounded-box\teeny "Strophe 2"}
  \mymelody
}

mylyrics = \lyricmode { Ich bin ein Lied, ein gu -- tes Lied. Und wer's nicht mag ist sel -- ber schuld. }

tromb = \relative c {
  \key c \major
  \relative c \mymelody
  \mymelody
}

sheetPartitur =
  <<
    \new ChordNames {
      \set chordChanges = ##t
      \harmonies
    }
    \new Staff \new Voice = "vocals" { \clef "treble" \leadvox }
    \new Lyrics \lyricsto "vocals" { \mylyrics }
    \new Voice = "trombone" { \clef "bass" \tromb }
  >>

sheetA =
  <<
    \new ChordNames { \set chordChanges = ##t
                      \override ChordName #'font-size = #(magstep -4)
                      \harmonies
                    }
    \new Staff \new Voice = "vocals" { \clef "treble" \leadvox }
    \new Lyrics \lyricsto "vocals" { \mylyrics }
  >>

sheetB =
  <<
    \new ChordNames { \set chordChanges = ##t \harmonies }
    \new Voice = "trombone" { \clef "bass" \tromb }
  >>

% Output-Varianten

\book { \bookOutputName $(string-append "PDF/" (ly:parser-output-name))
        \bookOutputSuffix "partitur" \sheetPartitur
      }

\book { \bookOutputName $(string-append "PDF/" (ly:parser-output-name))
        \bookOutputSuffix "A" \sheetA
      }

\book { \bookOutputName $(string-append "PDF/" (ly:parser-output-name))
        \bookOutputSuffix "B" \sheetB
      }

Wie kann man das denn lösen?

VG Oliver
Titel: Antw:Zwischentitel
Beitrag von: harm6 am Sonntag, 1. Dezember 2019, 10:37
Es sind keine RehearsalMarks in sheetB, also werden keine gedruckt.

Ich würde eine eigene Variable dafür machen und dann überall einbinden.

(Etwas vereinfacht soweit es den book-code angeht, ist sonst zu lästig :) )
\version "2.19.82"
\pointAndClickOff

\paper { indent = #0 }

mymelody = { c4 d e f g a b c }

harmonies = \chordmode { c1 g c g }

leadvox = \relative c' {
  \key c \major
  %\override Score.RehearsalMark.self-alignment-X = #LEFT
  %\override Score.RehearsalMark.break-align-symbols = #'(left-edge)
  %\mark \markup {\rounded-box\teeny "Strophe 1"}
  \relative c'
  \mymelody
  %\mark \markup {\rounded-box\teeny "Strophe 2"}
  \mymelody
}

marks = {
  \override Score.RehearsalMark.self-alignment-X = #LEFT
  \override Score.RehearsalMark.break-align-symbols = #'(left-edge)
  \mark \markup {\rounded-box\teeny "Strophe 1"}
  s1*2
  \mark \markup {\rounded-box\teeny "Strophe 2"}
  s1*2
}

mylyrics = \lyricmode { Ich bin ein Lied, ein gu -- tes Lied. Und wer's nicht mag ist sel -- ber schuld. }

tromb = \relative c {
  \key c \major
  \relative c \mymelody
  \mymelody
}

sheetPartitur =
  <<
    \new ChordNames {
      \set chordChanges = ##t
      \harmonies
    }
    \new Staff \new Voice = "vocals"  << \marks { \clef "treble" \leadvox } >>
    \new Lyrics \lyricsto "vocals" { \mylyrics }
    \new Voice = "trombone" { \clef "bass" \tromb }
  >>

sheetA =
  <<
    \new ChordNames { \set chordChanges = ##t
                      \override ChordName #'font-size = #(magstep -4)
                      \harmonies
                    }
    \new Staff \new Voice = "vocals" << \marks { \clef "treble" \leadvox } >>
    \new Lyrics \lyricsto "vocals" { \mylyrics }
  >>

sheetB =
  <<
    \new ChordNames { \set chordChanges = ##t \harmonies }
    \new Voice = "trombone" << \marks  { \clef "bass" \tromb } >>
  >>

% Output-Varianten

\bookpart { \sheetPartitur }

\bookpart { \sheetA }

\bookpart { \sheetB }

Diese marks-Variable kann natürlich ausgebaut werden zu einer regelrechten control-Variable um alles mögliche zu regeln:
breaks, BarLine, etc

HTH,
  Harm
Titel: Antw:Zwischentitel
Beitrag von: hurrlipurr am Sonntag, 1. Dezember 2019, 14:04
Super! So lässt sich die Songstruktur separat anlegen, was die Datai viel übersichtlicher macht.

Vielen Dank!