Hallo Heinz,
es wäre besser Du würdest einen neuen Thread angefangen haben, denn es handelt sich um ein anderes Problem.
Nichtsdestotrotz hier meine Antwort:
Wenn man die Definition für \column in define-markup-commands.scm nachschlägt erhält man:
(define-markup-command (column layout props args)
(markup-list?)
#:category align
#:properties ((baseline-skip))
(let ((arg-stencils (interpret-markup-list layout props args)))
(stack-lines -1 0.0 baseline-skip
(remove ly:stencil-empty? arg-stencils))))
Dort sieht man dann #:properties ((baseline-skip)) in der vierten Zeile. Es handelt sich dabei um ein property, welches mit zwei Methoden überschrieben werden kann:
1. Innerhalb einer context-Umgebung (\score, \staff, \voice oder auch nur \relative) mit [\once]\override TextScript #'baseline-skip = #10
\relative c' {
\override TextScript #'baseline-skip = #10
a'^\markup {\column
{
"Zeile 1"
"Zeile 2"
}
}
}
2. Innerhalb eines markups mit \override #'(baseline-skip . 10). Diese Konstruktion verhält sich aber ähnlich wie der \tweak-Befehl, was die Einsetzbarkeit in einer Variablen angeht: Geht nicht!
Ich denke lilypond versucht einen Befehl wie Dein Zeilenabstand = \override #'(baseline-skip . 10) als ein markup-command zu verstehen, was es nicht ist, und deshalb geht es schief.
Hier zeigen sich dann aber auch die Lösungsansätze:
1. Neues markup-command: Wenn man ein markup-command definiert, welches die baseline-skip manipuliert wird es klappen:
\version "2.14.1"
#(define-markup-command (baselineSkip layout props increment arg) (number? markup?)
(interpret-markup layout props
(markup (#:override (cons 'baseline-skip increment) arg))))
%--------------------- Test ----------------------------------------------------
\markup {
\baselineSkip #10
\column {
"Zeile 1"
"Zeile 2"
}
}
2. Das Argument neu definieren: (von \override #'(baseline-skip . 10) )
\version "2.14.1"
%#(define zeilenAbstand '(baseline-skip . 10))
% oder so:
zeilenAbstand = #'(baseline-skip . 10)
%--------------------- Test ----------------------------------------------------
\markup {
\override #zeilenAbstand
\column {
"Zeile 1"
"Zeile 2"
}
}
3. Innerhalb eines context:
\version "2.14.1"
ZeilenAbstand = \override TextScript #'baseline-skip = #10
\relative c' {
\ZeilenAbstand
a'^\markup {\column
{
"Zeile 1"
"Zeile 2"
}
}
}
Gruß,
Harm