GELÖST: 2 und 3 Notensysteme wechselnd für Klavier

Begonnen von alegria, Sonntag, 17. Dezember 2017, 11:30

« vorheriges - nächstes »

alegria

Hallo,
ich möchte letztlich so etwas wie im Anhang erreichen. Also teilweise 2 Systeme für eine Hand notieren. Geht das mit Lilypond (v2.18) und wenn ja wie?

Danke im Voraus und beste Grüße,
Markus

Malte

Hallo Markus,

ja, das geht:\version "2.18.2"
\language "deutsch"

o = \relative {
  \key h \minor
  <<
    {
      e''8 g h c c4 h
      e,8 g h d d4 c
      fis,8 a c d d4 c
      gis8 his dis fis fis4 f
      \ottava 1 b,8 es g b <b b,>4 <as as,>
    } \\ {
      e,2 fis
      e eis
      fis g
      gis a
      b es4. es8
    }
  >>
}

m = \relative {
  \key h \minor
  \clef bass
  <e e'>2 <dis dis'>
  <d d'> <cis cis'>
  <fis fis'> <e e'>
  <dis dis'> s
  s \clef treble r8 <es es'> <ges ges'> <es' es'>->\laissezVibrer
}

u = \relative {
  \key h \minor
  \showStaffSwitch
  \clef bass
  s1*3
  s2 \change Staff = "m" <d d'>
  \change Staff = "u" <des des'> <c c'>
}

\layout {
  \context {
    \Staff
    \RemoveEmptyStaves
    \override VerticalAxisGroup.remove-first = ##t
  }
}

\new GrandStaff <<
  \new Staff = "o" \o
  \new Staff = "m" \m
  \new Staff = "u" \u
>>

Die wesentlichen Dinge hier sind:

  • Lege drei Staffs an und fülle die, die gerade nicht beschäftigt sind, mit sichtbaren (R/r) oder unsichtbaren (s) Pausen.
  • Pack das Ganze in einen GrandStaff statt in einen PianoStaff (die beiden unterscheiden sich nur dadurch, daß der PianoStaff zusätzlich den Keep_alive_together_engraver enthält, der eben das Verstecken einzelner leerer Systeme verhindert.
  • Zum Verstecken der leeren Systeme brauchst du \RemoveEmptyStaves und \override VerticalAxisGroup.remove-first = ##t. Letzteres sorgt dafür, daß auch in der ersten Zeile die leere Zeile versteckt wird (das will man in Partituren oft nicht, damit auf der ersten Seite sichtbar ist, wer alles (später) mitspielt, deshalb brauchts dafür den Extrabefehl).
  • \showStaffSwitch und \change Staff hab ich nur gebraucht, um die Stimmfolgelinie aus der Vorlage (Bachianas Brasileiras Nr. 4, 1. Satz) zu setzen.
Kleine Anmerkung zum dritten Punkt: Statt dieser beiden Befehle kann man ab Version 2.19 einfach \RemoveAllEmptyStaves (beachte den Teil ,,All") verwenden ;)

alegria

Wow! Einwandfrei! Genau das was ich gebraucht habe.

VIELEN DANK!!!