Guide, node Updating translation committishes..
@end ignore
-@c \version "2.13.36"
+@c \version "2.14.0"
@c Translators: Yoshiki Sawada
@c Translation status: post-GDP
いくつかのタイプのオブジェクトには特別な名前が与えられています。@c
符頭、符幹、スラー、タイ、運指記号、音部記号などの譜刻される出力上の記譜要素を@c
表すオブジェクトは @q{レイアウト オブジェクト} と呼ばれ、@c
-しばしば @q{グラフィカル オブジェクト}
+しばしば @q{グラフィカル オブジェクト}
あるいは短くして @q{グロッブ (Grob: GRaphical OBject)} と呼ばれます。@c
これらのオブジェクトも上記の汎用的な観点から見るとオブジェクトであり、@c
-それゆえ、それらもまたそれらのオブジェクトに関連付けされたプロパティ --
+それゆえ、それらもまたそれらのオブジェクトに関連付けされたプロパティ --
そのオブジェクトの位置、サイズ、色など -- を持ちます。
いくつかのレイアウト オブジェクトも特別です。@c
他の多くのグラフィカル オブジェクトが置かれる場所は一点ではありません
-- それらは開始点、終了点、そしておそらくそれらの形に関係する@c
他のプロパティを持ちます。@c
-これらのオブジェクトのように形が伸長されるオブジェクトは
+これらのオブジェクトのように形が伸長されるオブジェクトは
@q{スパナ (Spanners)} と呼ばれます。
@q{インタフェイス} とは何なのかという説明が残っています。@c
-多くのオブジェクト -- たとえそれらが非常に異なっていたとしても --
+多くのオブジェクト -- たとえそれらが非常に異なっていたとしても --
は同じ方法で処理される必要がある共通特徴を共有します。@c
例えば、すべてのグラフィカル オブジェクトは色、サイズ、位置などを持ち、@c
これらのプロパティはすべて LilyPond が入力ファイルを構文解釈する最中に@c
同じ方法で処理されます。@c
これらの内部オペレーションを簡潔にするために、これらの共通アクションと@c
-プロパティは 1 つのグループとして
+プロパティは 1 つのグループとして
@code{grob-interface} と呼ばれるオブジェクトにまとめられています。@c
これと同じような共有プロパティのグループ化が他にも多くあり、@c
それぞれに対して最後に @code{interface} が付く名前が与えられています。@c
@funindex \override
@funindex override
-我々はすでに @ref{コンテキスト プロパティを変更する} と
+我々はすでに @ref{コンテキスト プロパティを変更する} と
@ref{エングラーバを追加 / 削除する} で @strong{コンテキスト} のプロパティを@c
変更したり、@strong{エングラーバ} を追加/削除したりするために使用するコマンド
@code{\set} と @code{\with} を見てきました。@c
@end example
@noindent
-これは @var{Context} コンテキストのメンバである
-@var{LayoutObject} という名前のレイアウトの
+これは @var{Context} コンテキストのメンバである
+@var{LayoutObject} という名前のレイアウトの
@var{layout-property} という名前のプロパティに値 @var{value} をセットします。
必要とされているコンテキストが明白であり、それが最下位レベルのコンテキストである
@funindex \revert
@funindex revert
-一旦オーバライドされると、そのプロパティは再度オーバライドされるか
+一旦オーバライドされると、そのプロパティは再度オーバライドされるか
@code{\revert} コマンドに遭遇するまで新しい値のままでいます。@c
@code{\revert} コマンドは以下の構文を持ち、@c
プロパティの値をオリジナルのデフォルト値に戻します。@c
内部リファレンスを見ていく前に一言警告です。@c
これは @strong{リファレンス} ドキュメントであり、@c
-説明はほんの少しかまったく含まれていません:
+説明はほんの少しかまったく含まれていません:
リファレンスの目的は情報を正確に、かつ簡潔に提供することです。@c
そのため、内部リファレンスを一見してひるんでしまうかもしれません。@c
しかし、心配しないでください!@c
ということになります。@c
その答えを得るために内部リファレンス -- 縮めて IR -- を見なければなりません。
-あなたが使用しているバージョンの LilyPond のための内部リファレンスは
+あなたが使用しているバージョンの LilyPond のための内部リファレンスは
LilyPond ウェブサイト @uref{http://lilypond.org} で見つかるでしょう。@c
ドキュメント ページに行き、内部リファレンスへのリンクをクリックしてください。@c
学習目的のためには標準の HTML バージョンを使うべきであり、@c
しかしながら、あなたが調整するレイアウト オブジェクトの名前を@c
想像できる場合は、すぐに内部リファレンスに行ってそこで探す方が簡単です。
-内部リファレンスの Slur ページでは、まず Slur オブジェクトは
+内部リファレンスの Slur ページでは、まず Slur オブジェクトは
@code{Slur_engraver} によって作成されるということが述べられています。@c
それから、標準設定がをリストアップされています。@c
標準設定はアルファベット順にはなって @strong{いない} ということに@c
スラーをもっと太くするには新しい値を 1.2 よりも大きくすべきであることが@c
わかります。
-今度は、レイアウト オブジェクト名で見つけた値を置き換えることによって
+今度は、レイアウト オブジェクト名で見つけた値を置き換えることによって
@code{\override} コマンドを構築することができます。@c
コンテキストは省略します。@c
最初は太さに非常に大きな値を割り当ててみます。@c
@noindent
あるいは、@code{\once} コマンドを省略して、2 番目のスラーの後に
-@code{thickness} プロパティをデフォルト値に戻すために
+@code{thickness} プロパティをデフォルト値に戻すために
@code{\revert} コマンドを使うこともできます:
@cindex Slur, example of overriding (Slur をオーバライドする例)
@code{font-shape(symbol)} を含むフォントを制御するユーザが@c
設定可能なプロパティをすべて見つけました。@c
-@code{font-shape(symbol)} では @code{symbol} を @code{upright},
+@code{font-shape(symbol)} では @code{symbol} を @code{upright},
@code{italics}, あるいは @code{caps} にセットすることができます。
そこには、@code{font-series} と @code{font-size} もリスト アップされている@c
ことに気づくでしょう。@c
-そこで次のような疑問が湧いてきます:
-共通フォントプロパティ @code{font-series} と @code{font-size} は
+そこで次のような疑問が湧いてきます:
+共通フォントプロパティ @code{font-series} と @code{font-size} は
@code{LyricText} とインタフェイス @code{font-interface} の両方で@c
リスト アップされているのに、なぜ @code{font-shape} はそうでないのか?@c
その答えは、@code{font-series} と @code{font-size} は、@c
それらのいくつかは @code{thickness} や @code{font-shape} のようなプロパティの@c
名前であり、他のものは @code{italic} のようにプロパティに与えられる値として@c
使用されます。@c
-任意のテキスト文字列との違い -- 任意のテキスト文字列は @code{"a text string"}
+任意のテキスト文字列との違い -- 任意のテキスト文字列は @code{"a text string"}
のような形で表記されます -- に注意してください。@c
シンボルと文字列についてのより詳細な説明は、@rextend{Scheme tutorial} を@c
参照してください。
-さて、それでは歌詞をイタリック体で譜刻するために必要となる
+さて、それでは歌詞をイタリック体で譜刻するために必要となる
@code{\override} コマンドは以下のようになります:
@example
@cindex property types (プロパティ タイプ)
-これまでにプロパティのタイプを 2 つ見てきました:
+これまでにプロパティのタイプを 2 つ見てきました:
@code{number} と @code{symbol} です。@c
プロパティに与える値が有効であるためには、その値は正しいタイプであり、@c
そのタイプのルールに従っていなければなりません。@c
@tab @code{bend::print}, @code{ly:text-interface::print},
@code{#f}
@item Vector
- @tab 前にアポストロフィ-ハッシュ @code{'#} が付いた括弧で囲まれた
+ @tab 前にアポストロフィ-ハッシュ @code{'#} が付いた括弧で囲まれた
3 要素のリスト
@tab @code{'#(#t #t #f)}
@end multitable
内部リファレンス ページの最後にリスト アップされていて、@c
それらのプロパティはそれらのインタフェイスを参照することによって閲覧できます。
-グラフィカル オブジェクトについての情報を見つけ出す方法を
+グラフィカル オブジェクトについての情報を見つけ出す方法を
@ref{レイアウト オブジェクトのプロパティ} で説明しました。@c
同じアプローチを使って、内部リファレンスで小節線を@c
譜刻するレイアウト オブジェクトを見つけ出します。@c
@emph{Backend} を経由して @emph{All layout objects} に行くと、@c
そこに @code{BarLine} と呼ばれる@c
レイアウト オブジェクトがあることがわかります。@c
-そのレイアウト オブジェクトのプロパティには小節線の可視性をコントロールする
+そのレイアウト オブジェクトのプロパティには小節線の可視性をコントロールする
2 つのプロパティが含まれています: @c
@code{break-visibility} と @code{stencil} です。@c
さらに、@code{BarLine} はインタフェイスのいくつかをサポートしています。@c
このプロパティは譜刻すべきシンボル (図柄) を指定することによって@c
小節線の見た目を制御します。@c
-他の多くのプロパティでも共通に言えますが、このプロパティの値に
+他の多くのプロパティでも共通に言えますが、このプロパティの値に
@code{#f} をセットすることによって何も譜刻させなくすることができます。@c
ではやってみましょう。@c
以前と同様に、暗黙のコンテキスト @code{Voice} は省略します:
何が間違っているのでしょうか?@c
内部リファレンスに戻って、@code{BarLine} のプロパティを記述しているページを@c
読み返してください。@c
-そのページの先頭に
+そのページの先頭に
@qq{BarLine オブジェクトは Bar_engraver によって作成されます} と@c
記述されています。@c
@code{Bar_engraver} ページに行ってください。@c
@cindex break-visibility property (break-visibility プロパティ)
-内部リファレンスの @code{BarLine} のプロパティから
+内部リファレンスの @code{BarLine} のプロパティから
@code{break-visibility} プロパティには 3 つのブール値からなるベクトルが@c
必要であることがわかります。@c
これらはそれぞれ、小節線が行の最後、行の途中、行の最初に譜刻されるかどうかを@c
制御します。@c
-以下の例ではすべての小節線を消したいので、必要となる値は
+以下の例ではすべての小節線を消したいので、必要となる値は
@code{'#(#f #f #f)} です。@c
それではやってみましょう。@c
@code{Staff} コンテキストを含めることを忘れないでください。@c
@cindex transparent property (transparent プロパティ)
@cindex transparency (透明性)
-内部リファレンスの @code{grob-interface} ページにあるプロパティから
+内部リファレンスの @code{grob-interface} ページにあるプロパティから
@code{transparent} プロパティはブール値であることがわかります。@c
これはグラフィカル オブジェクトを透明にする場合には @code{#t} に@c
セットします。@c
値のリストです。@c
しかし、内部ユニットの中にある値を知らなくても済むように、@c
カラーを指定するための手段がいくつか用意されています。@c
-最初の方法は @ruser{List of colors} にある最初の表でリスト アップされている
+最初の方法は @ruser{List of colors} にある最初の表でリスト アップされている
@q{標準} のカラーの 1 つを使用する方法です。@c
小節線を白にするには以下のように記述します:
@funindex x11-color
-カラーを変えるための 2 番目の方法は、@ruser{List of colors} の
+カラーを変えるための 2 番目の方法は、@ruser{List of colors} の
2 番目のリストの中にある X11 カラー名のリストを使用する方法です。@c
しかしながら、以下のように、これらの前には X11 カラー名を内部値のリストに@c
変更するもう 1 つの関数 -- @code{x11-color} -- がなければなりません:
@end lilypond
最後に、X11 カラー セットの一部であるグレー スケールを用いる方法もあります。@c
-グレー スケールの範囲は黒 @code{'grey0'} から白 @code{'grey100'} まで
+グレー スケールの範囲は黒 @code{'grey0'} から白 @code{'grey100'} まで
1 段階ずつあります。@c
グレー スケールの使用方法を示すために、@c
例の中にあるすべてのレイアウト オブジェクトのカラーをさまざまな濃度の@c
セットすることもできます。@c
通常の @code{\override} コマンドをコンテキスト名を省いて@c
使用するだけです。@c
-コンテキスト名を省略するのは、そのコンテキストは明らかに
+コンテキスト名を省略するのは、そのコンテキストは明らかに
@code{\with} 節が変更しようとしているコンテキストだからです。@c
実際、@code{\with} 節の中でコンテキストを指定するとエラーが発生します。
で測ります (特別な場合では、譜スペースの半分で測ることもあります)。@c
一方、たいていの @code{thickness} プロパティは @code{line-thickness} と@c
呼ばれる内部プロパティを単位として測ります。@c
-例えば、デフォルトでは、ヘアピン (訳者: 強弱記号) の線の太さは
+例えば、デフォルトでは、ヘアピン (訳者: 強弱記号) の線の太さは
1 単位の @code{line-thickness} であり、@c
音符の符幹の @code{thickness} は 1.3 です。@c
けれども、それとは単位の異なる太さプロパティがあるということにも@c
それでは、どうやって長さをフォント サイズに比例させるのでしょうか?@c
これは、まさにこの目的のために提供されている @code{magstep} と呼ばれる@c
特別な関数の助けを借りることによって達成できます。@c
-この関数は引数を 1 つ -- フォント サイズの変化 (前の例では #-2) --
+この関数は引数を 1 つ -- フォント サイズの変化 (前の例では #-2) --
をとり、他のオブジェクトの縮小に比例したスケーリング ファクタを返します。@c
以下のように使用します:
@end lilypond
@noindent
-符幹の長さと他の多くの長さに関係するプロパティは常に
+符幹の長さと他の多くの長さに関係するプロパティは常に
@code{staff-space} プロパティの値と比例関係になるよう算出されるため、@c
それらの長さも自動的にスケール ダウンされます。@c
これはオッシアの垂直方向のスケールだけに効果を及ぼすということに@c
注意してください -- 水平方向のスケールは、メインの音楽と同期するよう、@c
-メインの音楽のレイアウトによって決定されるため、水平方向のスケールは
+メインの音楽のレイアウトによって決定されるため、水平方向のスケールは
@code{staff-space} の変更によっていかなる影響も受けません。@c
もちろん、メインの音楽のすべてのスケールがこの方法で変更された場合、@c
水平方向のスペースも影響を受けます。@c
LilyPond が持つ譜外部オブジェクトの垂直位置のルールは、@c
譜外部オブジェクトをできるだけ譜の近くに、しかし他のオブジェクトと@c
衝突しない程度の近さに置くというものです。@c
-以下で示すように、LilyPond はオブジェクトを配置する順番を決定するために
+以下で示すように、LilyPond はオブジェクトを配置する順番を決定するために
@code{outside-staff-priority} プロパティを使用します。
最初に、LilyPond はすべての譜内部オブジェクトを配置します。@c
2 つのオブジェクトが同じ @code{outside-staff-priority} を持つ場合、@c
先に発生するオブジェクトが譜の近くに配置されます。
-以下の例では、すべてのマークアップ テキストが同じ優先度を持っています
+以下の例では、すべてのマークアップ テキストが同じ優先度を持っています
(なぜなら、優先度が明示的にセットされていないからです)。@c
@q{Text3} が自動的に譜の近く、@q{Text2} の@c
すぐ下に納まるよう配置されていることに注意してください。
c2^"Text4" |
@end lilypond
-デフォルトでは、譜も互いにできるだけ近くなるよう配置されます
+デフォルトでは、譜も互いにできるだけ近くなるよう配置されます
(最小間隔に従います)。@c
音符が隣接する譜に向かって長く突き出てている場合、譜を離さないと@c
記譜したものが重なり合ってしまう場合にのみ譜は離されます。@c
見分けられるようにすることを可能にするために不可欠なものです。@c
しかしながら、この自動機能をオーバライドする必要がある場合もあります。@c
このオーバライドは音楽全体に対しても、個々の音符に対してもできます。@c
-この自動機能を制御しているプロパティは各レイアウト オブジェクトの
+この自動機能を制御しているプロパティは各レイアウト オブジェクトの
@code{direction} プロパティです。@c
まず、これは何をするのかを説明し、それから、作成済みのコマンドを@c
いくつか紹介します。@c
このプロパティには 1 つから 3 つまでの値のリストがセットされるかもしれません。@c
このプロパティは運指法記号を上 (リストに @code{up} がある場合)、@c
下 (リストに @code{down} がある場合)、@c
-左 (リストに @code{left} がある場合。リストに @code{right} がある場合は右)
+左 (リストに @code{left} がある場合。リストに @code{right} がある場合は右)
に配置します。@c
逆に配置位置がリストされていない場合、その位置に運指法記号は配置されません。@c
LilyPond はこれらの制約を受け取り、
後に続く和音の音符への運指法記号をうまく配置します。@c
-@code{left} と @code{right} は相互排他的であるということに注意してください --
+@code{left} と @code{right} は相互排他的であるということに注意してください --
運指法記号は左右のどちらかにしか配置されないか、どちらにも配置されません。
@warning{このコマンドを使って単一の音符への運指法記号の配置を@c
@noindent
運指法記号が少し込み合っているように見える場合は、@c
@code{font-size} でサイズを下げることができます。@c
-デフォルト値は内部リファレンスの @code{Fingering} オブジェクトのページから
+デフォルト値は内部リファレンスの @code{Fingering} オブジェクトのページから
@code{-5} であることがわかるので、@code{-7} にセットしてみましょう:
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
@code{#f} にセットされていて、譜外部オブジェクトが作成されたときに@c
その譜外部オブジェクトの @code{outside-staff-priority} に適当な数値が@c
セットされます。@c
-以下の表はデフォルトで @code{Staff} コンテキストまたは
+以下の表はデフォルトで @code{Staff} コンテキストまたは
@code{Voice} コンテキストの中に配置される@c
いくつかの一般的な譜外部オブジェクトのデフォルトの
@code{outside-staff-priority} 値を示しています。
スパナは @code{\startTextSpan} コマンドから
@code{\stopTextSpan} コマンドまで延び、テキストのフォーマットは
@code{\override TextSpanner} コマンドによって定義されます。@c
-詳細は @ruser{Text spanners} を参照してください。
+詳細は @ruser{テキスト スパナ} を参照してください。
この例はさらにオッターバ囲みを作成する方法についても示しています。
作成されるレイアウト オブジェクトとは異なり無視されます。@c
小節番号、メトロノーム記号あるいはリハーサル記号を@c
それらの @code{outside-staff-priority} に従って配置したいのなら、@c
-@code{Score} コンテキストからそれぞれ @code{Bar_number_engraver},
-@code{Metronome_mark_engraver}, @code{Mark_engraver} を削除して最上位の
+@code{Score} コンテキストからそれぞれ @code{Bar_number_engraver},
+@code{Metronome_mark_engraver}, @code{Mark_engraver} を削除して最上位の
@code{Staff} コンテキストに置く必要があります。@c
そうした場合、それらの記号には@c
以下のデフォルトの @code{outside-staff-priority} 値が与えられます:
しばしば譜の上に表示されます。@c
このことは、スラーがまず最初に配置されるため、アーティキュレーションなどの@c
譜外部オブジェクトをあまりにも高い位置に押し上げる可能性があります。@c
-アーティキュレーションの @code{avoid-slur} プロパティに
+アーティキュレーションの @code{avoid-slur} プロパティに
@code{'inside} をセットすることでアーティキュレーションを@c
スラーよりも内側に配置することができます。@c
-しかし、@code{avoid-slur} プロパティはアーティキュレーションの
+しかし、@code{avoid-slur} プロパティはアーティキュレーションの
@code{outside-staff-priority} が @code{#f} にセットされている場合にのみ@c
効果を持ちます。@c
代替手段として、スラーの @code{outside-staff-priority} に数値を@c
@enumerate
@item
-重なり合っているオブジェクトの 1 つの @strong{direction} を
+重なり合っているオブジェクトの 1 つの @strong{direction} を
@ref{譜内部オブジェクト} でリストアップした内部オブジェクトのための@c
定義済みコマンドを用いて変更することになるかもしれません。@c
符幹、スラー、連桁、タイ、強弱記号、テキスト、@c
@item
@code{direction}
-これはすでに詳しくカバーされています --
+これはすでに詳しくカバーされています --
@ref{譜内部オブジェクト} を参照してください。
@item
@cindex right-padding property (right-padding プロパティ)
@cindex staff-padding property (staff-padding プロパティ)
-あるオブジェクトが配置されるとき、そのオブジェクトの
+あるオブジェクトが配置されるとき、そのオブジェクトの
@code{padding} プロパティが、そのオブジェクトとそのオブジェクトに@c
最も隣接するオブジェクトの端との間に置かれる間隔を指定します。@c
@strong{配置される最中}のオブジェクトの @code{padding} 値が@c
@code{padding} によって指定された間隔は @code{side-position-interface} を@c
サポートするオブジェクトすべてに適用することができます。
-臨時記号のグループの配置は、@code{padding} の代わりに、@code{left-padding} と
+臨時記号のグループの配置は、@code{padding} の代わりに、@code{left-padding} と
@code{right-padding} によって制御されます。@c
これらのプロパティは @code{AccidentalPlacement} オブジェクトの中にあり、@c
-注意すべきことに、そのオブジェクトは
+注意すべきことに、そのオブジェクトは
@strong{Staff} コンテキストの中にあります。@c
譜刻プロセスでは、符頭が最初に譜刻され、臨時記号 (がある場合は) が@c
次に符頭の左側に付け加えられます。@c
-このとき、臨時記号と符頭の間隔は
+このとき、臨時記号と符頭の間隔は
@code{right-padding} プロパティによって指定されます。@c
-そのため、@code{AccidentalPlacement} オブジェクトの
+そのため、@code{AccidentalPlacement} オブジェクトの
@code{right-padding} プロパティだけが臨時記号の配置に影響を与えます。
@code{staff-padding} プロパティは @code{padding} プロパティと@c
-深い関わりがあります:
+深い関わりがあります:
@code{padding} プロパティは、@code{side-position-interface} を@c
-サポートするオブジェクトとそれに最隣接する他のオブジェクト
+サポートするオブジェクトとそれに最隣接する他のオブジェクト
(一般には音符や譜線) との間のスペースの最小量を制御します。@c
一方、@code{staff-padding} は常に譜の外側に配置される@c
-レイアウト オブジェクトにのみ適用されます --
+レイアウト オブジェクトにのみ適用されます --
これは譜の外側に配置されるオブジェクトと譜の間に挿入されるべき@c
スペースの最小量を制御します。@c
@code{staff-paddin} は譜ではなく音符との相対関係で配置されるオブジェクトには@c
そのようなオブジェクトに対して @code{staff-padding} のオーバライドを@c
行ったとしてもエラーは起きないかもしれませんが、無視されます。
-あなたが再配置しようとしているオブジェクトに対して求められる
+あなたが再配置しようとしているオブジェクトに対して求められる
@code{padding} プロパティはどれなのかを見つけるには、内部リファレンスに@c
戻ってそのオブジェクトのプロパティを調べる必要があります。@c
@code{padding} プロパティはあなたが再配置しようとしているオブジェクトの中には@c
代替手段として、@code{-1} から @code{+1} までの数値を@c
指定することもできます。@c
@code{-1} は左揃えであり、@code{+1} は右揃え、@c
-その間の数値は左揃えから右揃えへのテキストを移動させます
+その間の数値は左揃えから右揃えへのテキストを移動させます
(訳者: @code{-0.5} であれば、左揃えと中央揃えの中間ということ)。@c
@code{1} よりも大きな数値を指定することでテキストをさらに左へ、@c
@code{-1} よりも小さな数値を指定することでテキストを@c
和音の中で近接して配置された音符や異なるボイスの中にあって同時に起こる音符は、@c
符頭の衝突を避けるために、2 つ (場合によってはそれ以上) の列に@c
配置されます。@c
-この列は音符列と呼ばれ、その列に音符をレイアウトするために @code{NoteColumn}
+この列は音符列と呼ばれ、その列に音符をレイアウトするために @code{NoteColumn}
と呼ばれるオブジェクトが作成されます。
-@code{force-hshift} プロパティは @code{NoteColumn} のプロパティです
+@code{force-hshift} プロパティは @code{NoteColumn} のプロパティです
(実際には @code{note-column-interface} のプロパティです)。@c
-このプロパティを変更することで音符列を、音符列特有の単位 --
+このプロパティを変更することで音符列を、音符列特有の単位 --
すなわち、最初のボイスの中にある音符の符頭の幅 -- に従って、@c
移動させることができます。@c
-このプロパティは、通常の
+このプロパティは、通常の
@code{\shiftOn} コマンド
-(@ref{ã\83\9cã\82¤ã\82¹ã\81®æ\98\8e示ç\9a\84ã\81ªã\82¤ã\83³ã\82¹ã\82¿ã\83³ã\82¹å\8c\96} ã\82\92å\8f\82ç\85§ã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84)
+(@ref{ã\83\9cã\82¤ã\82¹ã\82\92æ\98\8e示ç\9a\84ã\81«ã\82¤ã\83³ã\82¹ã\82¿ã\83³ã\82¹å\8c\96ã\81\99ã\82\8b} ã\82\92å\8f\82ç\85§ã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84)
が音符の衝突を解決できないような複雑な状況で使用されるべきです。@c
-この目的のためには、@code{extra-offset} プロパティを用いるよりも
+この目的のためには、@code{extra-offset} プロパティを用いるよりも
@code{force-hshift} プロパティを用いる方が好ましいです。@c
なぜなら、譜スペースを単位とした距離を算出する必要が無く、@c
@code{NoteColumn} の内外に音符を移動させることは符頭のマージといった@c
最後に、他の方法がすべて失敗した場合、オブジェクトを手動で譜の中央線からの@c
垂直方向の相対位置に従って、あるいは新たに設定した位置との距離に従って、@c
再配置することになるかもしれません。@c
-この方法の欠点は、再配置のための正確な値を算出する必要がある --
+この方法の欠点は、再配置のための正確な値を算出する必要がある --
しばしば、その算出はそれぞれのオブジェクトに対して個々に、トライ&エラーで@c
-行われます -- 必要があるということ、さらに、この方法による移動は
+行われます -- 必要があるということ、さらに、この方法による移動は
LilyPond が他のオブジェクトをすべて配置した後に行われるため、@c
ユーザはその結果として起こるかもしれない衝突を@c
すべて回避する責任があるということです。@c
単位は譜スペースです。@c
けれども、スラーとフレージング スラーを任意の値で@c
再配置することはできないということに注意してください。@c
-LilyPond はまずスラーが取り得る位置のリストを生成し、それからデフォルトでは
+LilyPond はまずスラーが取り得る位置のリストを生成し、それからデフォルトでは
@qq{最良に見える} スラーを探します。@c
@code{positions} がオーバライドされていた場合、@c
そのリストの中からリクエストされた位置に最も近いスラーが選択されます。
@noindent
これは必然的に臨時記号のステンシルをオーバライドすることになります。@c
このオーバライドについては後々までカバーされません。@c
-ステンシル タイプは手続きでなければならず、ここでは @code{Accidental} の
+ステンシル タイプは手続きでなければならず、ここでは @code{Accidental} の
@code{text} プロパティの内容
-- 内容には 1.5 倍シャープがセットされています
-- を譜刻するように変更されています。@c
ここでの最良の解決策は、複数小節に亘る休符を下へ移動させることです。@c
なぜなら、その休符はボイス 2 の中にあるからです。@c
-@code{\voiceTwo} (すなわち、@code{<<@{...@} \\ @{...@}>>} 構造の
+@code{\voiceTwo} (すなわち、@code{<<@{...@} \\ @{...@}>>} 構造の
2 番目のボイス) のデフォルト状態では、@c
@code{MultiMeasureRest} の @code{staff-position} は @code{-4} に@c
セットされています。@c
@end lilypond
@noindent
-最初の和音の下の方にある 2 つの音符 (つまり、3 番目のボイス (ボイス 4) の音符)
+最初の和音の下の方にある 2 つの音符 (つまり、3 番目のボイス (ボイス 4) の音符)
を上の方にある 2 つの音符の音符列からずらすべきではありません。@c
-これを修正するには、下の音符の @code{force-hshift} --
+これを修正するには、下の音符の @code{force-hshift} --
これは @code{NoteColumn} のプロパティです -- を 0 にセットします。@c
2 番目の和音の下の方の音符は、上の方の音符のすぐ右に置くのが最良です。@c
-そうするには、この音符の @code{force-hshift} を 0.5 にセットします --
+そうするには、この音符の @code{force-hshift} を 0.5 にセットします --
つまり、上の方の音符の音符列から符頭の幅の半分だけ右にずらします。
ここで、最終結果を挙げます:
他の部分はすべて単一のボイスなので、最も容易な方法は
4 つのボイスを必要になったときに一時的に導入する方法です。@c
一時的に多声にする方法を忘れてしまったのならば、@c
-@ref{ç§\81ã\81¯ã\83\9cã\82¤ã\82¹ã\82\92è\81´ã\81\84ã\81¦ã\81\84ã\82\8b} ã\81¨ @ref{ã\83\9cã\82¤ã\82¹ã\81®æ\98\8e示ç\9a\84ã\81ªã\82¤ã\83³ã\82¹ã\82¿ã\83³ã\82¹å\8c\96}
+@ref{ç§\81ã\81¯ã\83\9cã\82¤ã\82¹ã\82\92è\81´ã\81\84ã\81¦ã\81\84ã\82\8b} ã\81¨ @ref{ã\83\9cã\82¤ã\82¹ã\82\92æ\98\8e示ç\9a\84ã\81«ã\82¤ã\83³ã\82¹ã\82¿ã\83³ã\82¹å\8c\96ã\81\99ã\82\8b}
を参照してください。@
ここでは、多声パッセージに明示的にインスタンス化されたボイスを使うことにします。@c
なぜなら、すべてのボイスが明示的にインスタンス化されている方が、@c
この学習マニュアルではこれらのことは言及されてこなかったのに、@c
どうやってやればいいのでしょうか?@c
ここで、記譜法リファレンスに移行する必要があります。@c
-索引で @q{arpeggio} と @q{bar line} を探せばすぐに、アルペジオは
+索引で @q{arpeggio} と @q{bar line} を探せばすぐに、アルペジオは
@code{\arpeggio} を和音の後に付け加えることによって作り出され、@c
2 重小節線は @code{\bar "||"} コマンドによって作り出されることが@c
わかります。@c
記譜法リファレンスで @qq{merge} を探せばすぐに、@c
@ruser{Collision resolution} で符頭や付点の付き方が異なる音符を@c
マージするためのコマンドにたどり着きます。@c
-今回の例では、多声部セクションで両方のタイプの音符をマージする
-(異なる符頭を持つ音符のマージと、付点の付き方が異なる音符のマージ)
+今回の例では、多声部セクションで両方のタイプの音符をマージする
+(異なる符頭を持つ音符のマージと、付点の付き方が異なる音符のマージ)
必要があるので、記譜法リファレンスで見つけた情報を使って、以下のコマンド:
@example
今回の例では、2 つの D は両方とも上向きの符幹を持っていて、@c
3 つ目の音符 -- C -- が存在します。@c
我々は @code{\stemDown} を用いて符幹の向きを変更する方法を知っていて、@c
-記譜法リファレンスも C を移動させる方法について述べています --
+記譜法リファレンスも C を移動させる方法について述べています --
@code{\shift} コマンドの 1 つを用いてシフトを行います。@c
しかし、どのシフトを行えばよいのでしょうか?@c
-C はシフト off のボイス 2 の中にあり、2 つの D はボイス 1 とボイス 3 --
+C はシフト off のボイス 2 の中にあり、2 つの D はボイス 1 とボイス 3 --
それぞれ、シフト off とシフト on -- の中にあります。@c
ですから、C が 2 つの D と衝突するのを避けるために、@c
@code{\shiftOnn} を用いて C を更にシフトさせる必要があります。@c
@end lilypond
もうちょっとです。@c
-残っている問題は 2 つだけです:
+残っている問題は 2 つだけです:
マージされた D の下向きの符幹はあるべきではなく、C は D の右側に配置した方が@c
良いということです。@c
-以前に行った調整からこれらを行う方法を両方とも知っています:
+以前に行った調整からこれらを行う方法を両方とも知っています:
符幹を透明にして、@code{force-hshift} プロパティを用いて C を移動させます。@c
ここで、最終結果を示します:
譜外部オブジェクトを出力から削除しようとする場合、そのオブジェクトの
@code{transparent} プロパティではなく @code{stencil} プロパティを@c
オーバライドする方が通常は望ましいです。@c
-あるオブジェクトの @code{stencil} プロパティを
+あるオブジェクトの @code{stencil} プロパティを
@code{#f} にセットすると、@c
そのオブジェクトは出力から完全に削除されます。@c
このことは、削除されたオブジェクトがそのオブジェクトとの相対位置で@c
その場合、メトロノーム記号を出力に表示させたくありません。@c
そして、それが 2 つのシステム (小節とその中にある表記) 間のスペースと、@c
譜上にある隣接する注釈の位置に影響を与えることを望みません。@c
-そのため、そのメトロノーム記号の @code{stencil} プロパティを
+そのため、そのメトロノーム記号の @code{stencil} プロパティを
@code{#f} にセットする方法が最良です。@c
ここで、2 つの手法の結果を示します:
@subsection スタイル シート
@translationof Style sheets
-LilyPond が作り出す出力にはさまざまな変更を加えることができます
+LilyPond が作り出す出力にはさまざまな変更を加えることができます
(詳細は @ref{出力を調整する} を参照してください)。@c
しかしながら、調整を加えたい入力ファイルがたくさんあるとしたらどうでしょう?@c
また、単に調整を実際の音楽表記から分離したいとしたらどうでしょう?@c
参照します。@c
(インクルードされるファイルをコンパイルされるメイン ファイルと区別するため、@c
拡張子 @file{.ily} を使っています。)
-今度は音楽ファイルを変更しましょう
+今度は音楽ファイルを変更しましょう
(このファイルを @file{"music.ly"} として保存してください)。
@c We have to do this awkward example/lilypond-non-verbatim
あなたがパーツ一式を作っているだけだとしても役に立つ可能性があります。@c
私は自分のプロジェクトのために@c
半ダースの @q{スタイル シート} ファイルを使います。@c
-私はそれぞれの音楽ファイルを
+私はそれぞれの音楽ファイルを
@code{\include "../global.ily"} で始め、@c
@file{gloval.ily} には以下の内容を記述しています:
まずあなたの使っているシステム特有のディレクトリを見つけ出す必要があります。@c
このディレクトリの場所は、(a) あなたが lilypond.org からコンパイル済みの@c
バイナリをダウンロードすることによって LilyPond を手に入れたのか、@c
-それとも、パッケージ マネージャから LilyPond をインストールした
-(つまり、Linux と一緒に配布されたか、fink や cygwin でインストールされた)
+それとも、パッケージ マネージャから LilyPond をインストールした
+(つまり、Linux と一緒に配布されたか、fink や cygwin でインストールされた)
のか、(b) LilyPond はどの OS 上で使用されているのか、に依存します:
@strong{lilypond.org からダウンロードした}
@file{@var{INSTALLDIR}/LilyPond.app/Contents/Resources/share/lilypond/current/}
に進んでください。@c
ターミナルからこのディレクトリへ @code{cd} で移動するか、@c
-LilyPond アプリケーション上でコントロール クリックして
+LilyPond アプリケーション上でコントロール クリックして
@q{Show Package Contents} を選択します。
@item Windows
@end example
あなたがこれらのデフォルト値を好まない場合、これらの定義済みコマンドを@c
-容易に再定義することができます --
+容易に再定義することができます --
他の変数と同様に、入力ファイルの先頭で定義します。
以下のファイルは @file{ly/} で見つかる有用なファイルです:
@tab スパナ関係の定義済みコマンドの定義
@end multitable
-他の設定 (マークアップ コマンドの定義など) は
+他の設定 (マークアップ コマンドの定義など) は
@code{.scm} (Scheme) ファイルとして保存されています。@c
Scheme プログラミング言語は、LilyPond 内部処理へのプログラム可能な@c
インタフェイスを提供するために使用されます。@c
これらのファイルについての詳しい説明は、Scheme 言語についての知識が@c
必要となるため、このマニュアルの範囲外です。@c
Scheme 言語とこれらのファイルを理解するには、十分な知識や時間が@c
-必要であるということを知っておくべきです
+必要であるということを知っておくべきです
(@rextend{Scheme tutorial} を参照してください)。
あなたがこの知識を持っているのなら、興味を持つかもしれない Scheme ファイルは@c
テキスト スクリプトや歌詞の一部が余白まではみ出す場合、これらのチェックは@c
楽譜のその行を縮めてマージンの内側に収まるようにします。
-すべての状況下で有効にするには、以下のように、音楽の中の行ではなく
+すべての状況下で有効にするには、以下のように、音楽の中の行ではなく
@code{Score} の @code{\with} ブロックの中に@c
これらのチェックのオーバライドを置くことによって、@c
動作可能な状態にする必要があります:
@translationof Advanced tweaks with Scheme
@code{\override} と @code{\tweak} コマンドを用いることで@c
-多くのことが可能になりますが、LilyPond のアクションを変更するもっと強力な手段が
+多くのことが可能になりますが、LilyPond のアクションを変更するもっと強力な手段が
LilyPond 内部処理へのプログラム可能なインタフェイスを通じて利用可能です。@c
Scheme プログラミング言語で書かれたコードは LilyPond の内部処理に@c
直接組み込むことができます。@c
もちろん、それを行うには Scheme プログラミングについての基礎知識が必要であり、@c
その手引きが @rextend{Scheme tutorial} で提供されています。
-多くの実現可能なことの 1 つの例としては、プロパティに定数をセットする代わりに
+多くの実現可能なことの 1 つの例としては、プロパティに定数をセットする代わりに
Scheme プロシージャをセットすることができます。@c
このプロパティが LilyPond によってアクセスされたときに、@c
このプロシージャが呼び出されます。@c