• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

Auch die erste leeren Systeme entfernen

Begonnen von Radler, Freitag, 17. September 2010, 10:59

Vorheriges Thema - Nächstes Thema

Radler

Hallo liebe Lilypondianer,

ich möchte gern Platz sparen und auch die ersten leeren Systeme entfernen. In snippets.pdf (For LilyPond version 2.13.33, unter Staff notation, Seite 126) steht der unten zitierte Abschnitt. Den fett markierten Code habe ich übernommen, den \override ent-kommentiert
Dann gibt es einen Fehler wegen \Staff:
ZitatFehler: syntax error, unexpected CONTEXT_DEF_IDENTIFIER
           \Staff
                              \RemoveEmptyStaffContext
Und die erste leere Notenzeile ist auch nicht unterdrückt - auch wenn ich das \Staff wegnehme und die Übersetzung ohne Fehler durchgeht.

Das \override Staff.VerticalAxisGroup #'remove-first = ##t in den jewiligen Staffs bringt auch nicht den gewünschten Erfolg.

Gibt es da Abhängigkeiten zu anderen Teile in dem unten zitierten Abschnitt? Oder gibt es eine neue Möglichkeit, das zu erreichen?

(Mit ossia-Systemen hab ichs auch schon probiert. Da bin ich aber mit ganz seltsamen Effekten gescheitert. (Übereinander gedruckte Noten, die eigentlich hintereinander gehören))

Zur Illustration hänge ich 'mal das Ergebnis hier dran.

Any help is really appreciated!

Grüße und Dank
von Radler


ZitatRemoving the first empty line
The first empty staff can also be removed from the score by setting the VerticalAxisGroup
property remove-first. This can be done globally inside the \layout block, or locally inside
the specific staff that should be removed. In the latter case, you have to specify the context
(Staff applies only to the current staff) in front of the property.
The lower staff of the second staff group is not removed, because the setting applies only to
the specific staff inside of which it is written.
\layout {
    \context {
        \Staff \RemoveEmptyStaves
        % To use the setting globally, uncomment the following line:
        % \override VerticalAxisGroup #'remove-first = ##t
    }
}

\new StaffGroup <<
\new Staff \relative c' {
e4 f g a \break
c1
}
\new Staff {
% To use the setting globally, comment this line,
% uncomment the line in the \layout block above
\override Staff.VerticalAxisGroup #'remove-first = ##t
R1 \break
R
}
>>
\new StaffGroup <<
\new Staff \relative c' {
e4 f g a \break
c1
}
\new Staff {
R1 \break
R
}
>>[/tt]

ding-dong

also, das funktioniert bei mir einwandfrei - vielleicht habe ich die frage nicht verstanden?!

welche version? ich habe 2.13.33

fugenkomponist

Ich habe da zwar wenig Ahnung von, aber könnte es vielleicht sein, dass der Ambitus_engraver da was mit zu tun hat?

RobUr

Hallo Radler,

wenn du es nur für bestimmte Zeilen anwenden willst, ist die Definition (für 2.12.3):
\new Staff \with { \override VerticalAxisGroup #'remove-first = ##t }{ <music> }

Für alle Systeme muss es in den \layout-Block des entsprechenden \score (wie in der NR beschrieben; für 2.12.3):
\layout {
  \context {
    \RemoveEmptyStaffContext
    \override VerticalAxisGroup #'remove-first = ##t
  }
}


Grüße, Robert

Radler

Zitat von: fugenkomponist am Freitag, 17. September 2010, 19:32
Ich habe da zwar wenig Ahnung von, aber könnte es vielleicht sein, dass der Ambitus_engraver da was mit zu tun hat?

Hallo Fugenkomponist!

In diesem Fall hat Dich Deine Ahnung nicht getäuscht: Es liegt tatsächlich an der Ambitus-Angabe, die LilyPond unbedingt in die erste Zeile setzen möchte und selbige daher nicht unterdrücken kann. Mir würde es ja reichen, wenn die Ambitus-Angabe kurz vor dem Einsatz steht, so wie es das bei Ossia-System tut (wenn auch nicht ganz befriedigend, weil es mit dem Notenschlüssel kollidiert).

Grüße und "Hut ab"
von Radler