Lilypond / Latex - Formatierung

Begonnen von senpai96xx, Mittwoch, 4. September 2024, 11:47

« vorheriges - nächstes »

senpai96xx

Hallo,

ich habe folgendes in Latex geschrieben:

\documentclass[a4paper]{scrbook}
\begin{document}
         \begin{figure}[h!] \centering
            \begin{lilypond}
            \chords { d1:7 | g1:7 | d1:7 | d1:7 }
            \chordmode { \numericTimeSignature d1:7 | g1:7 | d1:7 | d1:7 }
            \chords { g1:7 | g1:7 | d1:7 | d1:7 }
            \chordmode { \numericTimeSignature g1:7 | g1:7 | d1:7 | d1:7 }
            \chords { d1:7 | g1:7 | a1:7 | d1:7 }
            \chordmode { \numericTimeSignature d1:7 | g1:7 | a1:7 | d1:7 \bar "|." }
            \end{lilypond}
         \end{figure}
\end{document}

wenn ich mir das dann ausspucken lasse, erscheinen die Akkordnamen zentriert (siehe Bild). Hat jemand eine Idee wie ich das hinbekomme, daß die Akkordnamen über demjeweiligen Takt erscheinen?

Beste Grüße

Andre

Malte

Hallo Andre,

willkommen im Forum! Bitte verwende immer
Code-Tags
für Code, da man den leichter kopieren (und längeren Code besser überblicken) kann.

Im Moment enthält dein Code quasi sechs Musikstücke, die nacheinander kommen und nichts miteinander zu tun haben. Du möchtest aber ja, dass die Akkordbezeichnungen zu den Noten gehören. Zwei gleichzeitig stattfindende Musikausdrücke werden mit << >> zusammengefasst:
<<
  \chords { d1:7 | g1:7 | d1:7 | d1:7 }
  \chordmode { \numericTimeSignature d1:7 | g1:7 | d1:7 | d1:7 }
>>
<<
  \chords { g1:7 | g1:7 | d1:7 | d1:7 }
  \chordmode { \numericTimeSignature g1:7 | g1:7 | d1:7 | d1:7 }
>>
<<
  \chords { d1:7 | g1:7 | a1:7 | d1:7 }
  \chordmode { \numericTimeSignature d1:7 | g1:7 | a1:7 | d1:7 \bar "|." }
>>

Nun habe ich aber den Verdacht, dass es nicht drei Stücke à vier Takte sind, sondern eigentlich ein längeres (genauer gesagt sieht das wie eine mir bisher unbekannte Variante des Bluesschemas aus, oder?). Dann sollte man das auch so eingeben:
<<
  \chords {
    d1:7 | g1:7 | d1:7 | d1:7
    g1:7 | g1:7 | d1:7 | d1:7
    d1:7 | g1:7 | a1:7 | d1:7
  }
  \chordmode {
    \numericTimeSignature
    d1:7 | g1:7 | d1:7 | d1:7
    g1:7 | g1:7 | d1:7 | d1:7
    d1:7 | g1:7 | a1:7 | d1:7 \bar "|."
  }
>>
Je nach Umgebung wird das dann natürlich nicht unbedingt in drei Zeilen ausgegeben, aber dazu kann man LilyPond (u. a.) per \break bringen:
<<
  \chords {
    d1:7 | g1:7 | d1:7 | d1:7
    g1:7 | g1:7 | d1:7 | d1:7
    d1:7 | g1:7 | a1:7 | d1:7
  }
  \chordmode {
    \numericTimeSignature
    d1:7 | g1:7 | d1:7 | d1:7 \break
    g1:7 | g1:7 | d1:7 | d1:7 \break
    d1:7 | g1:7 | a1:7 | d1:7 \bar "|."
  }
>>
Und jetzt noch eine kleine Vereinfachung für deinen speziellen Fall: Die Akkorde stehen ja jetzt zweimal da, das kann man sich sparen, indem man sie in eine Variable packt und diese dann an zwei Stellen verwendet. Das hat den Vorteil, dass man Änderungen nicht jedes Mal von Hand an beiden Stellen machen muss. Allerdings muss man dann für die Akkordsymbole \new ChordNames schreiben, weil \chords eine Abkürzung für \new ChordNames \chordmode ist:
akkorde = \chordmode {
  d1:7 | g1:7 | d1:7 | d1:7 \break
  g1:7 | g1:7 | d1:7 | d1:7 \break
  d1:7 | g1:7 | a1:7 | d1:7
}

<<
  \new ChordNames \akkorde
  \new Staff {
    \numericTimeSignature
    \akkorde
    \bar "|."
  }
>>