Вертикальное позиционирование очков в LilyPond

Я пишу шаблон листа ударных для LilyPond и хочу поместить поле для клавиш ударных слева от заголовка. Вот что я сделал до сих пор:

Шаблон листа барабана на LilyPond Ссылка LilyBin для экспериментов с моей разметкой: http://lilybin.com/yx9viw/1

Проблема, которую я хотел бы решить, заключается в вертикальном расположении scoreили DrumStaffвнутри коробки, чтобы удалить все пустое пространство вверху. Я полагаю, что удаление Stem_engraverпоможет (и также желательно, так как я хочу показать только головки нот в клавише ударных), но на самом деле это не работает (см. строку 63 на LilyBin), и пока \hide-ing стебли работает , это не устраняет вертикальное пространство, занимаемое ими.

Итак, кто-нибудь знает, как я могу:

  1. Удалите (не прячьте) гравер для стебля из партитуры внутри \box(строка 60 на LilyBin) и
  2. Вертикально расположите всю партитуру так, чтобы она оставалась в верхней части таблицы \box, таким образом устраняя все эти пробелы?
Если вы используете \omit Stem вместо \hide Stem, вы избавитесь от стеблей (и они не будут занимать место), но я понятия не имею, что создает эти пробелы. И почему стебли отображаются, когда Stem_engraver удален...
@Ramillies, спасибо, я не знал этой \omitфункции =). Устранив основы, я понял, что пробелы создаются \markupтекстами, которые я использую для обозначения головок заметок. Даже когда я переопределяю TextScriptпозицию с помощью #'extra-offset, текст оставляет пробелы, которые он должен был занимать без переопределения. ( lilybin.com/yx9viw/3 )

Ответы (1)

Хм, есть ли причина, по которой у вас есть разметки с метками, связанными с невидимыми заметками слева и справа? Почему бы просто не поместить это в такую ​​строку: http://lilybin.com/yx9viw/4 .

Что я и сделал \box { \line { \raise #something \left \score { ... } \raise #something \right } }. Вроде нормально работает. ( #somethingБуквы были выбраны, чтобы метки совпадали со столбцами примечаний.)

(Это лучше, потому что вы можете \raiseпоставить метки в нужные места (эта команда обычно работает только для перемещения части разметки относительно остальной части разметки).)

Я использовал невидимые заметки, потому что не знал ничего лучше =) Большое спасибо, это более чистое решение, чем я ожидал для LilyPond, и знание того, что \lineфункция может содержать целые \scores, открывает множество возможностей!
@nunks.lol: Да, система разметки очень общая и мощная. \lineпросто берет некоторые пометки и ставит их в строку :-). А разметка может содержать \score(это "просто" команда разметки, как и например \italic). (Может быть, вы понимаете, почему мне так нравится Lilypond? :—))