[ << 出力を調整する ] | [Top][Contents][Index] | [ テンプレート >> ] |
[ < 強弱記号の配置 ] | [ Up : 譜外部オブジェクト ] | [ 垂直方向のスペース > ] |
グラフィカル オブジェクトのサイズ
まず最初に、グラフィカル オブジェクトのサイズがどのように決定されるかを学ばなくてはなりません。すべてのグラフィカル オブジェクトの内部では参照ポイントが定義され、それはそれらの親オブジェクトとの相対位置を決定するために使用されます。このポイントは親オブジェクトから垂直方向に X-offset
、垂直方向に Y-offset
離れた位置になります。オブジェクトの水平方向の広がりは数値のペア X-extent
で与えられ、そのペアはオブジェクトの左端と右端の参照ポイントとの相対関係について述べています。垂直方向の広がりも同様に数値のペア Y-extent
によって与えられます。これらは grob-interface
をサポートするすべてのグラフィカル オブジェクトが持つプロパティです。
デフォルトでは、譜外部オブジェクトには 0 の幅が与えられているため、水平方向で重なる可能性があります。これは extra-spacing-width
に '(+inf.0 . -inf.0)
をセットすることによって、左端の広がりをプラス無限大に、右端の広がりをマイナス無限大にするというトリックによって達成されています。譜外部オブジェクトが水平方向で重ならないことを保証するには、extra-spacing-width
の値をオーバライドし、余分なスペースを少しだけ作る必要があります。単位は 2 つの譜線の間隔なので、左端を 0.5 単位左に、右端を 0.5 単位右に動かすことで実現できます:
\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5)
これが前の例で機能するかどうかを見てみましょう:
\dynamicUp % Extend width by 1 staff space \override DynamicText.extra-spacing-width = #'(-0.5 . 0.5) \relative { a'4\f b\mf a\mp b\p }
これで前よりも良くなりました。しかし、強弱記号が音符に合わせて上下するよりも、同じベースラインで揃っている方が望ましいでしょう。それを行うためのプロパティは staff-padding
であり、衝突に関するセクションでカバーされています
(オブジェクトの衝突 を参照してください)。