77 | | Теперь добавим обозначения позиции. Так как мы хотим, чтобы (как и в исходных нотах, набранных вручную) вдоль нот, которые надо играть в указанной позиции, тянулся пунктир, нам придётся переопределить стандартное значение переменной {{{TextSpanner}}}. Делается это совсем просто: там, где нужно расположить указание позиции, даём команду {{{\override TextSpanner #'(bound-details left text) = "II "}}}, где {{II}} — это номер нужной позиции; после ноты, с которой должен начинаться пунктир, даём команду {{{\startTextSpan}}}, а после ноты, на которой пунктир должен закончиться — команду {{{\stopTextSpan}}}. |
| 83 | == Обозначения позиций == |
| 84 | |
| 85 | Теперь добавим обозначения позиции. Так как мы хотим, чтобы (как и в исходных нотах, набранных вручную) вдоль нот, которые надо играть в указанной позиции, тянулся пунктир, нам придётся переопределить стандартное значение переменной {{{TextSpanner}}}. Делается это совсем просто: там, где нужно расположить указание позиции, даём команду {{{\override TextSpanner #'(bound-details left text) = "II "}}}, где {{{II}}} — это номер нужной позиции; после ноты, с которой должен начинаться пунктир, даём команду {{{\startTextSpan}}}, а после ноты, на которой пунктир должен закончиться — команду {{{\stopTextSpan}}}. |
| 116 | |
| 117 | == Номера струн == |
| 118 | |
| 119 | Добавить одиночные обозначения струн (там, где они указаны в книжке — к аккорду во втором такте) совсем несложно: для этого достаточно написать номер струны после ноты через обратный слэш: |
| 120 | {{{ |
| 121 | ... |
| 122 | <d\4 fis\3 a\2> |
| 123 | ... |
| 124 | }}} |
| 125 | |
| 126 | А вот с обозначениями струн, которые захватывают несколько нот, всё несколько хитрее. На данный момент (октябрь 2009 года, я использую версию 2.12.1) в !LilyPond ещё не добавили для этого специальную команду, хотя такие разговоры ведутся. Поэтому нам придётся определить собственный макрос: |
| 127 | {{{ |
| 128 | stringNumberSpanner = |
| 129 | #(define-music-function (parser location StringNumber) (string?) |
| 130 | #{ |
| 131 | \override TextSpanner #'style = #'dashed-line |
| 132 | \override TextSpanner #'dash-period = #1 |
| 133 | \override TextSpanner #'font-size = #-5 |
| 134 | \override TextSpanner #'(bound-details left stencil-align-dir-y) = #CENTER |
| 135 | \override TextSpanner #'(bound-details left text) = \markup { \circle \number $StringNumber } |
| 136 | #}) |
| 137 | }}} |
| 138 | |
| 139 | *Текст всё ещё дорабатывается, не стоит пока его использовать как руководство к действию =)* |