Deutschsprachiges LilyPond-Forum

Allgemeine Fragen und Probleme => Fragen und Probleme aller Art => Thema gestartet von: stefanhuglfing am Donnerstag, 31. August 2017, 14:05

Titel: ohne Taktstriche
Beitrag von: stefanhuglfing am Donnerstag, 31. August 2017, 14:05
Ich möchte die Taktstriche weglassen, möchte am Anfang die geschweifte PianoStaff-Klammer, am Ende den typischen Doppelstrich \bar "|." und brauche einen Zeilenumbruch.

Ich habe verschiedenes probiert, bin aber nicht zufrieden:

mit "omit" bleiben die Taktstriche zwischen den Zeilen stehen:

\version "2.19.54"

\score 

  <<
   \new PianoStaff
    <<
     \new Staff
      { \omit Score.BarLine c'1 c' \undo \omit Score.BarLine \bar "|." }     
     \new Staff { c'1 c' }     
    >> 
  >>

\layout {}



mit "cadenzaOn" wird der Zeilenumbruch ignoriert:


\version "2.19.54"

\score 

  <<
   \new PianoStaff
    <<
     \new Staff
      { \cadenzaOn c'1 c' \break c' \undo \omit Score.BarLine \bar "|." }     
     \new Staf
      {                     c'1 c'        c'                                     }     
    >>   
  >>

\layout {}
}


" \set Score.automaticBars = #f " ergibt eine Fehlermeldung:


\version "2.19.54"

\score 
{
  \set Score.automaticBars = #f
   <<
    \new PianoStaff
     <<
      \new Staff { c'1 c' \break c' \bar "|." }     
      \new Staff { c'1 c'        c'           }     
     >> 
   >>

  \layout {}



und "\remove Bar_engraver" lässt auch den Schluss-Taktstrich weg


\version "2.19.54"

\score 
{
   <<
    \new PianoStaff
     <<
      \new Staff { c'1 c' \break c' \bar "|." }     
      \new Staff { c'1 c'        c'           }     
     >> 
   >>

  \layout { \context { \Staff \remove Bar_engraver } }



wie geht es richtig?
Titel: Antw:ohne Taktstriche
Beitrag von: Malte am Donnerstag, 31. August 2017, 15:34
Hallo Stefan,

willkommen zurück!

Zitat von: stefanhuglfing am Donnerstag, 31. August 2017, 14:05
Ich möchte die Taktstriche weglassen, möchte am Anfang die geschweifte PianoStaff-Klammer, am Ende den typischen Doppelstrich \bar "|." und brauche einen Zeilenumbruch.
Soll das Stück denn trotzdem einen Takt haben oder wär \cadenzaOn mit Umbrüchen dir die liebste Lösung? Zu drei von deinen vier Ansätzen gibts eine Lösung:

Zitat
mit "omit" bleiben die Taktstriche zwischen den Zeilen stehen:
[...]
Die Taktstriche im System heißen BarLine, die dazwischen SpanBar, also müßtest du auch die \omitten.

Zitat
mit "cadenzaOn" wird der Zeilenumbruch ignoriert:
[...]
Ein \break braucht immer einen Taktstrich, und sei es ein von Hand eingefügter \bar "".

Zitat
" \set Score.automaticBars = #f " ergibt eine Fehlermeldung:
[...]
Das liegt aber nicht an automaticBars, sondern daran, daß dein \score-Block zwei Musikausdrücke enthält, nämlich einmal diesen \set und dann noch das << >>. Du kannst die beiden aber per { } oder << >> zusammenfassen. Dann brauchst du allerdings wie bei der \cadenzaOn-Lösung trotzdem unsichtbare Taktstriche.

Zitat
und "\remove Bar_engraver" lässt auch den Schluss-Taktstrich weg
Richtig, dafür habe ich keine Lösung.

Welche Lösung jetzt also nehmen? Nun, das hängt von zwei Dingen ab:

1. Soll das Stück einen Takt haben?
2. Möchtest du die Zeilenumbrüche selbst bestimmen?

1. ja, 2. ja: \set Score.automaticBars = ##f in Kombination mit \bar "" \break.
1. ja, 2. nein: \set Score.defaultBarType = "".
1. nein, 2. ja: \cadenzaOn in Kombination mit \bar "" \break.
1. nein, 2. nein: \cadenzaOn in Kombination mit \set Score.barAlways = ##t und \set Score.defaultBarType = "".
Edit: Mir ist noch ne fünfte Möglichkeit eingefallen, und zwar könnte man u. U. Frage 1 mit ,,jein" beantworten, z. B. wenn man eine Kadenz in nem klassischen (evtl. auch romantischen/modernen) Solo-Konzert o. Ä. hat, die zwar grundsätzlich nen Takt haben soll, ohne aber Taktstriche zu setzen und Takte zu zählen. Da würde ich vermutlich mit leeren Takten, ausgeschalteten Taktzahlen und einem späteren Zurücksetzen der Taktart arbeiten, s. folgender Code und Anhang für Solo- und Orchesterstimme. Das hat den Vorteil, daß man sich auf LilyPonds automatische Balkensetzung verlassen kann und Zeilenumbrüche nur an (gedachten) Taktstrichen passieren.\version "2.19.64"
\language "deutsch"

\paper {
  ragged-right = ##f
}

\relative {
  \time 4/4
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  c''8 h c e, d2\fermata
  \set Score.defaultBarType = ""
  r16 g, a h c d e fis g d e fis g a h c
  \omit Score.BarNumber
  d f d h h d h g g h g d d g d h
  g8 a16 h c d e f g a h c d e f g
  \set Score.defaultBarType = "|"
  a8 h c e, \afterGrace d2\trill { c16 d }
  \set Score.currentBarNumber = 3
  \undo \omit Score.BarNumber
  c4 r r2 \bar "|."
}

\relative {
  \clef bass
  a,8 a fis fis
  g2\fermata
  r2\fermata^"Kadenz"
  r4 g
  c4 r r2 \bar "|."
}


Zur Erklärung der einzelnen Teile:
• automaticBars (default: ##t) sagt an, ob Taktstriche nach jedem Takt gesetzt werden oder nicht. Die Takte existieren, nur die Taktstriche nicht, wie man an der trotzdem fortlaufenden Taktzahlen erkennen kann.
• defaultBarType (default: "|") gibt an, was für eine Sorte Taktstrich standardmäßig gesetzt wird. Die Taktstriche existieren also bei dieser Lösung, sind bloß leer.
• barAlways (default: ##f) setzt, wenns auf ##t gesetzt wird, einen Taktstrich nach jeder Note statt nach jedem Takt. Somit werden auch überall Umbrüche erlaubt.
• \cadenzaOn schaltet das ,,timing" ab, also Taktart (und damit auch automatische Balkensetzung, die ja von der Taktart abhängt) und Taktzählung. Takte werden auch dann nicht gezählt, wenn Taktstriche gesetzt werden. Sie können aber theoretisch per \set Score.currentBarNumber von Hand an jedem Taktstrich gesetzt werden.
Titel: Antw:ohne Taktstriche
Beitrag von: stefanhuglfing am Donnerstag, 31. August 2017, 19:48
Danke für die schnelle und ausführliche Antwort.

Ich mache es mit \omit , dann brauche ich vor \break nicht per Hand einen unsichtbaren Taktstrich setzen.
Das Stück hat eine Metrum, also können im Hintergrund Takte angelegt werden.
Ich habe aber auch den Bar_number_engraver ausgeschaltet.