self-alignment-interface を使用する

オブジェクトを自動的に水平方向に揃える

self-alignment-interface をサポートするオブジェクトの水平方向の揃えは、self-alignment-X プロパティの値によって制御され、そのオブジェクトの X-offset プロパティにはly:self-alignment-interface::x-aligned-on-self がセットされています。 self-alignment-X には任意の実数値を与えることができますが、 与える値は、そのオブジェクトの X 方向の広がりの半分を単位とします。負値はオブジェクトを右に移動させ、正値はオブジェクトを左に移動させます。値が 0 であればそのオブジェクトは親オブジェクトの参照ポイントに中央揃えされ、値が -1 であればそのオブジェクトの左端が親オブジェクトの参照ポイントに揃えられ、値が 1 であればそのオブジェクトの右端が親オブジェクトの参照ポイントに揃えられます。記号 LEFT, CENTER, それに RIGHT はそれぞれ -10, それに 1 に対応します。

通常、\override コマンドを用いて self-alignment-X の値を変更しますが、\tweak コマンドを用いることで単一の音符に付けられている複数の注釈を個別に揃えることができます:

a'
-\tweak self-alignment-X #-1
^"left-aligned"
-\tweak self-alignment-X #0
^"center-aligned"
-\tweak self-alignment-X #RIGHT
^"right-aligned"
-\tweak self-alignment-X #-2.5
^"aligned further to the right"

[image of music]

オブジェクトを自動的に垂直方向に揃える

オブジェクトの Y-offset プロパティに ly:self-alignment-interface::y-aligned-on-self がセットされていれば、水平方向の揃えと同じように、垂直方向に揃えることができます。しかしながら、垂直方向の揃えには他のメカニズムも関与します: Y-offset の値は、垂直方向の揃えに関与する変数の 1 つに過ぎません。このことにより、いくつかのオブジェクトの Y-offset 値の調整はややこしくなります。単位はそのオブジェクトの垂直方向の広がりの半分です。通常これは非常に小さいため、非常に大きな数値が必要になる可能性があります。値が -1 であればそのオブジェクトの下端が親オブジェクトの参照ポイントに揃えられ、値が 0 であればそのオブジェクトの中央が親オブジェクトの参照ポイントに揃えられ、値が 1 であればそのオブジェクトの上端が親オブジェクトの参照ポイントに揃えられます。記号 DOWN, CENTER, それに UP はそれぞれ -10, それに 1 に対応します。

オブジェクトを自動的に両方向に揃える

X-offsetY-offset の両方の設定を行うことで、オブジェクトの水平方向と垂直方向の揃えを同時に行うことができます。

以下の例は、運指記号を符頭に近づけるための調整方法を示しています。

a'
-\tweak self-alignment-X #0.5  % 左方向に移動させます
-\tweak Y-offset #ly:self-alignment-interface::y-aligned-on-self
-\tweak self-alignment-Y #-1  % 上方向に移動させます
-3  % 3 の指

[image of music]

LilyPond 記譜法リファレンス v2.25.22 (development-branch).