У меня есть рабочий файл Lilypond, который содержит около 80% инструкций стиля, которые я хотел бы использовать в качестве шаблона для других песен.Вместо того, чтобы копировать / вставлять, я бы предпочел поместить его в таблицу стилей по понятным причинам.Я почти уверен, что это выполнимо, но следование документации Lilypond просто приводит к тому, что я разбиваю файл.
\version "2.18.2" % necessary for upgrading to future LilyPond versions.
\header{
title = "Exercise: C, D, E Notes"
tagline = "" % removed
}
\paper{
#(set-paper-size "arch a" 'landscape)
system-system-spacing.basic-distance = #20
system-system-spacing.minimum-distance = #20
score-system-spacing.basic-distance = #20
markup-system-spacing.basic-distance = #15
indent = 0\cm
}
%Text instructions for each section
mark_A = ^\markup { \small Fingering }^\markup { \bold "Treble Clef - Right Hand" }
mark_B = ^\markup { \small Fingering }^\markup { \bold "Bass Clef - Left Hand" }
%Association list of pitches to colors.
#(define color-mapping
(list
(cons (ly:make-pitch 0 0 -1/2) (rgb-color 0 0 0))
(cons (ly:make-pitch 0 0 0) (rgb-color 0 0 0))
(cons (ly:make-pitch 0 0 1/2) (rgb-color 0 0 0))
(cons (ly:make-pitch 0 1 -1/2) (rgb-color 0.8359375 0.64453125 0.796875))
(cons (ly:make-pitch 0 1 0) (rgb-color 0.8359375 0.64453125 0.796875))
(cons (ly:make-pitch 0 1 1/2) (rgb-color 0.8359375 0.64453125 0.796875))
(cons (ly:make-pitch 0 2 -1/2) (rgb-color 0.4453125 0.7421875 0.2655625))
(cons (ly:make-pitch 0 2 0) (rgb-color 0.4453125 0.7421875 0.2655625))
(cons (ly:make-pitch 0 2 1/2) (rgb-color 0.4453125 0.7421875 0.2655625))
(cons (ly:make-pitch 0 3 -1/2) (rgb-color 0.96875 0.6171875 0.15234375))
(cons (ly:make-pitch 0 3 0) (rgb-color 0.96875 0.6171875 0.15234375))
(cons (ly:make-pitch 0 3 1/2) (rgb-color 0.96875 0.6171875 0.15234375))
(cons (ly:make-pitch 0 4 -1/2) (rgb-color 0 0.67578125 0.9296875))
(cons (ly:make-pitch 0 4 0) (rgb-color 0 0.67578125 0.9296875))
(cons (ly:make-pitch 0 4 1/2) (rgb-color 0 0.67578125 0.9296875))
(cons (ly:make-pitch 0 5 -1/2) (rgb-color 0.91796875 0 0.54296875))
(cons (ly:make-pitch 0 5 0) (rgb-color 0.91796875 0 0.54296875))
(cons (ly:make-pitch 0 5 1/2) (rgb-color 0.91796875 0 0.54296875))
(cons (ly:make-pitch 0 6 -1/2) (rgb-color 0.671875 0.39453125 0.0546875))
(cons (ly:make-pitch 0 6 0) (rgb-color 0.671875 0.39453125 0.0546875))
(cons (ly:make-pitch 0 6 1/2) (rgb-color 0.671875 0.39453125 0.0546875))
))
%Compare pitch and alteration (not octave).
#(define (pitch-equals? p1 p2)
(and
(= (ly:pitch-alteration p1) (ly:pitch-alteration p2))
(= (ly:pitch-notename p1) (ly:pitch-notename p2))))
#(define (pitch-to-color pitch)
(let ((color (assoc pitch color-mapping pitch-equals?)))
(if color
(cdr color))))
#(define (color-notehead grob)
(pitch-to-color
(ly:event-property (ly:grob-property grob 'cause) 'pitch)))
%BEGINNING OF ACTUAL SHEET MUSIC
music_A = \relative c' {
\time 4/4
\override Staff.TimeSignature #'style = #'()
\clef "treble"
\override NoteHead #'color = #color-notehead
c4-\mark_A-1 c-1 c-1 c-1 | d-2 d-2 d-2 d-2 | e-3 e-3 e-3 e-3 | e2-3 e-3 | \break
e4-3 e-3 e-3 e-3 | d-2 d-2 d-2 d-2 | c-1 c-1 c-1 c-1 | c2-1 c-1 | \bar "|." \break
}
music_B = \relative c {
\time 4/4
\override Staff.TimeSignature #'style = #'()
\clef "bass"
\override NoteHead #'color = #color-notehead
e4-\mark_B-3 e-3 e-3 e-3 | d-4 d-4 d-4 d-4 | c-5 c-5 c-5 c-5 | c2-5 c-5 | \break
e4-3 e-3 e-3 e-3 | d-4 d-4 d-4 d-4 | c-5 c-5 c-5 c-5 | c2-5 c-5 | \bar "|."
}
%Score Engraving
\score{
\new Staff \music_A
\layout{}
}
\score{
\new Staff \music_B
\layout{}
}
\score{
\new Staff {\music_A \music_B}
\midi{
\tempo 4 = 144
}
}
В идеале я хотел бы вытащить инструкции \ paper и большой шаг в цвет.раздел в свой собственный шаблон и включить их.Я уверен, что решение очевидно, но по какой-то причине документация Лилипонд не согласна со мной.