LilyPond: акчаккатуры и срезанные стебли не видны при соединении вместе

У меня вопрос, связанный с акчаккатурами и срезанными стеблями. Итак, первый вопрос: почему, когда более одной ноты вводятся в виде акчаккатур или сокращенных нот, они не передаются автоматически? И почему, когда я их излучаю, я теряю косую черту?

\version "2.17.26"
{
  \relative c''{
    \time 3/4 {
      \acciaccatura e8 c4 \acciaccatura { e8 d } c4 \acciaccatura { e8[ d] } c4 |
      \slashedGrace e8 c4 \slashedGrace { e8 d } c4 \slashedGrace { e8[ d] } c4
    }
  }
}

На мой взгляд, последняя нота каждого такта должна быть такой:

введите здесь описание изображения


Что-то похожее (связанное со срезанным стеблем), но теперь на обычных нотах. Когда я компилирую приведенный ниже код, я получаю то, что хочу: 4 ноты без луча, и первая имеет косую черту на стержне.

\version "2.17.26"
{
\autoBeamOff
\relative c''{
    \once \override Flag #'stroke-style = #"grace" c8
    c c c r4 r2 |
  }
}

Теперь, если я удалю строку \autoBeamOff, заметки будут отображаться, но без косой черты в начале!

Я был бы очень благодарен, если бы кто-то мог помочь мне с этими проблемами.


person gilbertohasnofb    schedule 18.09.2013    source источник


Ответы (1)


Начиная с версии 2.17.26, к сожалению, на мои вопросы нет простого ответа.

Что касается автоматического луча, то эта функция не реализована, поэтому пользователь должен установить луча вручную для всех примечаний (используя [ и ]). Усовершенствование было запрошено в соответствии с проблемой 3566 на веб-сайте проекта LilyPond. За возможными изменениями можно следить по этой ссылке: https://code.google.com/p/lilypond/issues/detail?id=3566


Что касается косых черт, вот что говорится в официальной документации LilyPond (в разделе 1.2.6 Особые ритмические проблемы):

Аччаккатура с несколькими нотами печатается без косой черты и выглядит точно так же, как апподжиатура с несколькими нотами.

По-видимому, то же самое происходит и с обычными нотами, сгенерированными с помощью команды \override Flag #'stroke-style = #"grace".

Об этой ошибке также сообщалось (как о проблеме 1333), и за любой разработкой можно следить по следующей ссылке: https://code.google.com/p/lilypond/issues/detail?id=1333

В качестве решения можно также добавить следующий фрагмент в начало файла, а затем использовать команду \slash для создания косой черты в льготных заметках или в обычных заметках:

\version "2.17.26"
% Slash snippet:
slash = {
  #(remove-grace-property 'Voice 'Stem 'direction)
  \once \override Stem #'stencil =
  #(lambda (grob)
    (let* ((x-parent (ly:grob-parent grob X))
           (is-rest? (ly:grob? (ly:grob-object x-parent 'rest))))
     (if is-rest?
      empty-stencil
      (let* ((dir (ly:grob-property grob 'direction))
             (stem (ly:stem::print grob))
             (stem-y (ly:grob-extent grob grob Y))
             (stem-length (- (cdr stem-y) (car stem-y))))
       (ly:stencil-add
        stem
        (grob-interpret-markup grob
         (markup #:translate (cons -1 (* dir (1- (/ stem-length 2)))) 
          #:draw-line (cons 2 (* dir 2)))) 
      )))))
}

% some music as example:
{ 
  \relative c'' {
    \grace{\slash g8[a g] } a1 |
    \slash g8 a g a r2
  }
}

Проблемы с этим фрагментом:

  • чаще всего косая черта будет расположена неправильно и потребует ручной настройки

  • обычные заметки требуют немного больших косых черт, поэтому решение состоит в том, чтобы создать два почти идентичных фрагмента, один с именем slash, другой slash_regular (или что-то в этом роде), а затем увеличить размер команды slash_regular.

person gilbertohasnofb    schedule 20.09.2013