+@unnumberedsubsubsec Lyrics independent of notes
+
+@cindex Devnull-Kontext
+
+In sehr komplexer Vokalmusik ist es manchmal erforderlich,
+den Gesangstext vollständig unabhängig von den Noten zu
+setzen. Das Beispiel unten zeigt das Vorgehen: die
+Noten, die für @code{lyricrhythm} definiert sind, verschwinden
+im @code{Devnull}-Kontext, während ihre Dauern immernoch
+gültig sind, um die Silben daran auszurichten.
+
+@lilypond[quote,verbatim,ragged-right]
+voice = {
+ c''2
+ \tag #'music { c''2 }
+ \tag #'lyricrhythm { c''4. c''8 }
+ d''1
+}
+
+lyr = \lyricmode { I like my cat! }
+
+<<
+ \new Staff \keepWithTag #'music \voice
+ \new Devnull="nowhere" \keepWithTag #'lyricrhythm \voice
+ \new Lyrics \lyricsto "nowhere" \lyr
+ \new Staff { c'8 c' c' c' c' c' c' c'
+ c' c' c' c' c' c' c' c' }
+>>
+@end lilypond
+
+Diese Vorgehensweise ist nur empfehlenswert, wenn die Noten innerhalb
+des @code{Devnull}-Kontextes keine Melismen enthalten. Melismen
+werden im @code{Voice}-Kontext definiert. Wenn ein Gesangstext
+mit einem @code{Devnull}-Kontext verknüpft wird, wird die Verbindung
+von @code{Voice}- und @code{Lyrics}-Kontext aufgehoben und somit
+auch die Information zu Melismen. Darum werden implizite Melismen
+ignoriert.
+
+@c Conclusion: do not use devnull for lyrics -FV
+
+@c this clarifies http://code.google.com/p/lilypond/issues/detail?id=248
+
+
+@node Spacing out syllables
+@unnumberedsubsubsec Spacing out syllables
+
+@cindex Silben spreizen
+@cindex Spreizen von Silben
+@cindex Gesangstext, Platz zwischen Silben
+@cindex Abstand vergrößern, Gesangstext
+
+Um den Abstand zwischen Silben zu vergrößern, kann die
+@code{minimum-distance}-Eigenschaft des
+@code{LyricSpace}-Objekts gesetzt werden:
+
+@lilypond[relative,verbatim,fragment,quote,ragged-right]
+{
+ c c c c
+ \override Lyrics.LyricSpace #'minimum-distance = #1.0
+ c c c c
+}
+\addlyrics {
+ longtext longtext longtext longtext
+ longtext longtext longtext longtext
+}
+@end lilypond
+
+Damit diese Einstellung für alle Gesangtextzeilen in einer Partitur
+wirkt, muss sie im @code{layout}-Block vorgenommen werden.
+
+@lilypond[verbatim,quote,ragged-right]
+\score {
+ \relative c' {
+ c c c c
+ c c c c
+ }
+ \addlyrics {
+ longtext longtext longtext longtext
+ longtext longtext longtext longtext
+ }
+ \layout {
+ \context {
+ \Lyrics
+ \override LyricSpace #'minimum-distance = #1.0
+ }
+ }
+}
+@end lilypond
+
+@c @snippets
+@c This snippet has been renamed to "lyrics-alignment.ly"
+@c update as soon as lsr/is updated -vv
+@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@c {lyrics-alignment.ly}
+
+@c TODO: move to LSR -vv
+@snippets
+
+Eine Überprüfung, mit der sichergestellt wird, dass kein Text in die
+Seitenränder ragt, ist sehr rechenintensiv. Damit die Bearbeitungszeit
+von Dateien nicht so lange dauert, wird diese Überprüfung nicht
+automatisch vorgenommen. Man kann sie mit dem Befehl
+
+@example
+\override Score.PaperColumn #'keep-inside-line = ##t
+@end example
+
+@noindent
+aktivieren. Damit Gesangstext auch nicht mit Taktlinien
+zusammenstößt, kann folgende Einstellung gesetzt werden:
+
+@example
+\layout @{
+ \context @{
+ \Lyrics
+ \consists "Bar_engraver"
+ \consists "Separating_line_group_engraver"
+ \override BarLine #'transparent = ##t
+ @}
+@}
+@end example
+
+@c TODO Create and add lsr example of lyricMelismaAlignment
+@c It's used like this to center-align all lyric syllables,
+@c even when notes are tied. -td
+
+@ignore
+\layout
+{
+ \context { \Score lyricMelismaAlignment = #0 }
+}
+@end ignore
+
+
+@node Centering lyrics between staves
+@unnumberedsubsubsec Centering lyrics between staves
+
+@c TODO Add text from -user
+TBC
+
+@node Stanzas
+@subsection Stanzas
+
+@menu
+* Adding stanza numbers::
+* Adding dynamics marks to stanzas::
+* Adding singers' names to stanzas::
+* Stanzas with different rhythms::
+* Printing stanzas at the end::
+* Printing stanzas at the end in multiple columns::
+@end menu
+
+
+@node Adding stanza numbers
+@unnumberedsubsubsec Adding stanza numbers
+
+@cindex Strophennummer
+@cindex Nummerierung, Strophen
+
+Strophennummerierung kann hinzugefügt werden:
+
+@lilypond[quote,ragged-right,verbatim,relative=2,fragment]
+\new Voice {
+ \time 3/4 g2 e4 a2 f4 g2.
+} \addlyrics {
+ \set stanza = #"1. "
+ Hi, my name is Bert.
+} \addlyrics {
+ \set stanza = #"2. "
+ Oh, ché -- ri, je t'aime
+}
+@end lilypond
+
+@noindent
+Die Zahl wird direkt vor die erste Silbe gesetzt.
+
+@c TODO Create and add snippet to show how two lines of a
+@c stanza can be grouped together, along these lines:
+@c (might need improving a bit) -td
+
+@ignore
+leftbrace = \markup { \override #'(font-encoding . fetaBraces) \lookup
+#"brace105" }
+
+stanzaOneOne = {
+ \set stanza = \markup { "1. " \leftbrace }
+ \lyricmode { Child, you're mine and I love you.
+ Lend thine ear to what I say.
+
+ }
+}
+
+stanzaOneThree = {
+% \set stanza = \markup { " "}
+ \lyricmode { Child, I have no great -- er joy
+ Than to have you walk in truth.
+
+ }
+}
+
+\new Voice {
+ \repeat volta 2 { c'8 c' c' c' c' c' c'4
+ c'8 c' c' c' c' c' c'4 }
+} \addlyrics { \stanzaOneOne }
+ \addlyrics { \stanzaOneThree }
+
+@end ignore
+
+
+@node Adding dynamics marks to stanzas
+@unnumberedsubsubsec Adding dynamics marks to stanzas
+
+Dynamikzeichen können zur Strophennummer hinzugefügt werden.
+In LilyPond muss alles, was vor einer Strophe gesetzt wird,
+als Teil der @code{stanza}-Eigenschaft definiert werden, also
+auch Dynamikbezeichnung. Aus technischen Gründen muss die
+Strophe außerhalb von @code{lyricmode} gesetzt werden:
+
+@lilypond[quote,ragged-right,verbatim]
+text = {
+ \set stanza = \markup { \dynamic "ff" "1. " }
+ \lyricmode {
+ Big bang
+ }
+}
+
+<<
+ \new Voice = "tune" {
+ \time 3/4
+ g'4 c'2
+ }
+\new Lyrics \lyricsto "tune" \text
+>>
+@end lilypond
+
+
+@node Adding singers' names to stanzas
+@unnumberedsubsubsec Adding singers' names to stanzas
+
+@cindex Sängername
+@cindex Name von Sänger
+
+Namen von Sängern können auch eingefügt werden. Sie werden zu Beginn
+der Zeile gesetzt, ähnlich wie eine Instrumentenbezeichnung. Sie
+werden mit der @code{vocalName}-Eigenschaft erstellt. Eine Kurzversion
+kann mit @code{shortVocalName} definiert werden.
+
+@lilypond[fragment,ragged-right,quote,verbatim,relative=2]
+\new Voice {
+ \time 3/4 g2 e4 a2 f4 g2.
+} \addlyrics {
+ \set vocalName = #"Bert "
+ Hi, my name is Bert.
+} \addlyrics {
+ \set vocalName = #"Ernie "
+ Oh, ché -- ri, je t'aime
+}
+@end lilypond
+
+
+@node Stanzas with different rhythms
+@unnumberedsubsubsec Stanzas with different rhythms
+
+@subsubheading Ignorieren von Melismen
+
+Teilweise wird zu einer Silbe ein Melisma in einer Strophe
+gesungen, während in einer anderen jede Note eine Silbe erhält.
+Eine Möglichkeit ist, dass die Strophe mit mehr Text das
+Melisma ignoriert. Das wird mit der
+@code{ignoreMelismata}-Eigenschaft im @code{Lyrics}-Kontext
+vorgenommen.
+
+@lilypond[verbatim,ragged-right,quote]
+<<
+ \relative c' \new Voice = "lahlah" {
+ \set Staff.autoBeaming = ##f
+ c4
+ \slurDotted
+ f8.[( g16])
+ a4
+ }
+ \new Lyrics \lyricsto "lahlah" {
+ more slow -- ly
+ }
+ \new Lyrics \lyricsto "lahlah" {
+ go
+ \set ignoreMelismata = ##t
+ fas -- ter
+ \unset ignoreMelismata
+ still
+ }
+>>
+@end lilypond
+
+@knownissues
+Anders als die meisten @code{\set}-Befehle funktioniert
+@code{\set ignoreMelismata} nicht zusammen mit @code{\once}.
+Es ist notwendig, explizit @code{\set} und @code{\unset} zu
+verwenden, um den Text einzugrenzen, für den Melismen ignoriert
+werden sollen.
+
+
+@subsubheading Switching to an alternative melody
+
+Es ist auch möglich, die Silben von verschiedenen Textzeilen an
+unterschiedlichen Melodien auszurichten. Das wird mit der
+@code{associatedVoice}-Eigenschaft vorgenommen:
+
+@lilypond[ragged-right,quote]
+<<
+ \relative c' \new Voice = "lahlah" {
+ \set Staff.autoBeaming = ##f
+ c4
+ <<
+ \new Voice = "alternative" {
+ \voiceOne
+ \times 2/3 {
+ % show associations clearly.
+ \override NoteColumn #'force-hshift = #-3
+ f8 f g
+ }
+ }
+ {
+ \voiceTwo
+ f8.[ g16]
+ \oneVoice
+ } >>
+ a8( b) c
+ }
+ \new Lyrics \lyricsto "lahlah" {
+ Ju -- ras -- sic Park
+ }
+ \new Lyrics \lyricsto "lahlah" {
+ % Tricky: need to set associatedVoice
+ % one syllable too soon!
+ \set associatedVoice = alternative % applies to "ran"
+ Ty --
+ ran --
+ no --
+ \set associatedVoice = lahlah % applies to "rus"
+ sau -- rus Rex
+ } >>
+@end lilypond
+
+@noindent
+Der Text der ersten Strophe wird an der Stimme @qq{lahlah}
+ausgerichtet:
+
+@example
+\new Lyrics \lyricsto "lahlah" @{
+ Ju -- ras -- sic Park
+@}
+@end example
+
+@noindent
+Auch die zweite Strophe wird an @qq{lahlah} ausgerichtet, aber für die
+Silbe @qq{ran} wird zu einer anderen Melodie gewechselt. Dazu wird
+der Befehl
+
+@example
+\set associatedVoice = alternative
+@end example
+
+@noindent
+eingesetzt. @code{alternative} ist die Bezeichnung der Stimme, die
+die Triole enthält.
+
+@c FIXME: make this easier to understand -vv
+Dieser Befehl muss eine Silbe vor der Note notiert werden, auf die er
+sich auswirken soll, also vor @qq{Ty} in diesem Fall.
+
+@example
+\new Lyrics \lyricsto "lahlah" @{
+ \set associatedVoice = alternative % applies to "ran"
+ Ty --
+ ran --
+ no --
+ \set associatedVoice = lahlah % applies to "rus"
+ sau -- rus Rex
+@}
+@end example
+
+@noindent
+Zurück zu der alten Stimme kommt man, indem wieder
+@qq{lahlah} mit dem Text verknüpft wird.
+
+
+@node Printing stanzas at the end
+@unnumberedsubsubsec Printing stanzas at the end