X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fja%2Flearning%2Ftweaks.itely;h=682c438c5b01fa3e3825ec82c99f7dc81f174065;hb=23108a9515e7f76b44fac0b323afb169d708bfa1;hp=b688efff09a354cc57131004e02ee5706ec9a206;hpb=5a486378f44ce4d8b4005337e989a4a7500a6071;p=lilypond.git diff --git a/Documentation/ja/learning/tweaks.itely b/Documentation/ja/learning/tweaks.itely index b688efff09..682c438c5b 100644 --- a/Documentation/ja/learning/tweaks.itely +++ b/Documentation/ja/learning/tweaks.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*- @ignore - Translation of GIT committish: c95106f1c57562c3f863edb0221cb7892438f6db + Translation of GIT committish: fabcd22c8f88ea9a87241597f1e48c0a9adbfc6e When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -175,8 +175,8 @@ LilyPond が @code{\new Staff} のようなコマンドに遭遇した場合、@ これから見ていくのですが、タイプが異なるオブジェクトのプロパティは@c 異なるコマンドによって変更されます。@c -そのため、プロパティの名前からオブジェクトの種類を識別できるようになると@c -役に立ちます。 +そのため、名前からオブジェクトやプロパティのタイプを識別できるように@c +なると役に立ちます。 @node 調整手段 @@ -185,7 +185,17 @@ LilyPond が @code{\new Staff} のようなコマンドに遭遇した場合、@ @cindex tweaking methods (調性手段) -@strong{\override コマンド} +@menu +* \override コマンド:: +* \revert コマンド:: +* \once 接頭辞:: +* \overrideProperty コマンド:: +* \tweak コマンド:: +@end menu + +@node \override コマンド +@unnumberedsubsubsec @code{\override} コマンド +@translationof The \override command @cindex override command (override コマンド) @cindex override syntax (override 構文) @@ -212,8 +222,7 @@ LilyPond が @code{\new Staff} のようなコマンドに遭遇した場合、@ このコマンドの一般的な構文は以下のようなものです: @example -\override @var{Context}.@var{LayoutObject} #'@var{layout-property} = -#@var{value} +\override @var{Context}.@var{LayoutObject}.@var{layout-property} = #@var{value} @end example @noindent @@ -223,7 +232,7 @@ LilyPond が @code{\new Staff} のようなコマンドに遭遇した場合、@ 必要とされているコンテキストが明白であり、それが最下位レベルのコンテキストである -- つまり、@code{Voice}, @code{ChordNames} や @code{Lyrics} である --- 場合、その @var{Context} は省略可能可能であり (そして通常は省略されます)、@c +-- 場合、その @var{Context} は省略可能であり (そして通常は省略されます)、@c この後の例の多くでも省略します。@c 後ほど、コンテキストを指定しなければならない場合について見ていきます。 @@ -232,14 +241,19 @@ LilyPond が @code{\new Staff} のようなコマンドに遭遇した場合、@ しかしながら、このセクションではそれらのフォーマットとコマンドの使い方を示す@c ために、容易に理解できる簡単なプロパティと値をいくつか使用してみるだけです。 -今や、レイアウト プロパティの前に置かれなければならない @code{#'} や@c -プロパティ値の前に置かれなければならない @code{#} について心配する必要は@c -ありません。@c -これらは常にそのような形式で正確に記述されなければなりません。@c -これは調整では最も一般的に使用されるコマンドであり、この章の残りの部分の@c -大半ではプロパティ (変更コマンド) の使用方法を示すための例を記述しています。@c -ここでは符頭の色を変更する簡単な例を挙げます: - +LilyPond の基本的な表記は音符、演奏時間、それにマークアップなどの音楽要素@c +です。@c +数字、文字列、それにリストなどのもっと基本的な表記は @q{Scheme モード} +で処理されます -- 表記の先頭に @samp{#} を記述することでこのモードが@c +呼び出されます。@c +これらの表記は LilyPond の音楽モードでも有効な表現である場合もありますが、@c +このマニュアルでは一貫性を保つために常に @samp{#} を付けて記述します。@c +Scheme モードについての更なる情報は @rextend{LilyPond Scheme syntax} +を参照してください。 + +@code{\override} は調整で用いられる最も一般的なコマンドであり、@c +本章の残りの大半を使ってこのコマンドの使用例を示します。@c +まずは符頭の色を変更する簡単な例を挙げます: @cindex color property, example (color プロパティの例) @cindex NoteHead, example of overriding (NoteHead をオーバライドする例) @@ -252,7 +266,10 @@ e4 f | g4 a b c | @end lilypond -@strong{\revert コマンド} + +@node \revert コマンド +@unnumberedsubsubsec @code{\revert} コマンド +@translationof The \revert command @cindex revert command (revert コマンド) @@ -268,7 +285,7 @@ g4 a b c | @example -\revert @var{Context}.@var{LayoutObject} #'@var{layout-property} +\revert @var{Context}.@var{LayoutObject}.@var{layout-property} @end example 繰り返しますが、@code{\override} コマンドでの @var{Context} と同様に、@c @@ -289,7 +306,10 @@ g4 a b4 c | @end lilypond -@strong{\once 接頭辞} + +@node \once 接頭辞 +@unnumberedsubsubsec The @code{\once} prefix +@translationof The \once prefix @funindex \once @funindex once @@ -303,7 +323,7 @@ b4 c | @cindex color property, example (color プロパティの例) @cindex NoteHead, example of overriding (NoteHead をオーバライドする例) -@lilypond[quote,fragment,ragged-right,verbatim,relative=1] +@lilypond[quote,verbatim,relative=1] c4 d \override NoteHead.color = #red e4 f | @@ -313,7 +333,27 @@ g4 a b c | @end lilypond -@strong{\overrideProperty コマンド} +@code{\once} 接頭辞をさまざまな定義済みコマンドの前に置くことで、@c +コマンドの効果を次の音楽タイミングに限定することもできます: + +@lilypond[quote,verbatim,relative=1] +c4 d +\once \stemDown +e4 f | +g4 a +\once \hideNotes +b c | +@end lilypond + +しかしながら、@code{\...Neutral}, @code{\...Off}, それに @code{\un...} +の形式の定義済みコマンドの前に @code{\once} を置いても効果はありません。@c +なぜなら、それらのコマンドは内部的に @code{\override} ではなく、@code{\revert} +を用いるためです。 + + +@node \overrideProperty コマンド +@unnumberedsubsubsec @code{\overrideProperty} コマンド +@translationof The \overrideProperty command @cindex overrideProperty command (overrideProperty コマンド) @@ -326,7 +366,9 @@ b c | 詳細は @rextend{Difficult tweaks} を参照してください。 @c Maybe explain in a later iteration -td -@strong{\tweak コマンド} +@node \tweak コマンド +@unnumberedsubsubsec @code{\tweak} コマンド +@translationof The \tweak command @cindex tweak command (tweak コマンド) @@ -388,7 +430,7 @@ C メジャー コードの中にある真ん中の音符 (ミドル E) の符 そのため、簡単な形式の @code{\tweak} コマンドは以下のようになります: @example -\tweak #'@var{layout-property} #@var{value} +\tweak @var{layout-property} #@var{value} @end example さらに、@code{\tweak} コマンドは一連のアーティキュレーションの中にある@c @@ -412,8 +454,8 @@ a4^"Black" 複数の向き記号 (@code{^} または @code{_}) で上書きした場合、@c 最後に適用される左端の記号が勝ち残ります。 -+@cindex @code{\tweak}, Accidental -+@cindex @code{\tweak}, specific layout object +@cindex @code{\tweak}, Accidental (臨時記号に @code{\tweak} を用いる) +@cindex @code{\tweak}, specific layout object (レイアウト オブジェクトを指定して @code{\tweak} を用いる) 符幹や臨時記号などのオブジェクトは後になってから作成されるもので、@c @code{\tweak} コマンドの後に続くイベントから直接作成されません。@c @@ -424,12 +466,13 @@ a4^"Black" @lilypond[quote,fragment,ragged-right,verbatim,relative=2] <\tweak Accidental.color #red cis4 \tweak Accidental.color #green es - g> + g> @end lilypond この長い形式の @code{\tweak} コマンドは以下のように記述することができます: + @example -\tweak @var{layout-object} #'@var{layout-property} @var{value} +\tweak @var{layout-object}.@var{layout-property} @var{value} @end example @cindex tuplets, nested (ネストされた連符) @@ -475,8 +518,6 @@ a4^"Black" @cindex transparent property, example (transparent プロパティの例) @cindex TupletNumber, example of overriding (TupletNumber をオーバライドする例) -@c NOTE Tuplet brackets collide if notes are high on staff -@c See issue 509 @lilypond[quote,ragged-right,verbatim,fragment,relative=1] \tuplet 3/2 { c8[ c c] } \once \override TupletNumber.text = #tuplet-number::calc-fraction-text @@ -597,11 +638,9 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア 内部リファレンスの Slur ページでは、まず Slur オブジェクトは @code{Slur_engraver} によって作成されるということが述べられています。@c -それから、標準設定がをリストアップされています。@c -標準設定はアルファベット順にはなって @strong{いない} ということに@c -注意してください。@c -太さを制御していそうなプロパティを探してブラウザを@c -スクロール ダウンさせていくと、以下が見つかります: +それから、標準設定がリストアップされています。@c +スラーの太さを制御していそうなプロパティを探してブラウザをスクロール ダウン@c +させていくと、以下が見つかります: @example @code{thickness} (number) @@ -633,7 +672,6 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア \override Slur.thickness = #5.0 @end example -プロパティ名の前に @code{#'} を付けること、@c 新しい値の前に @code{#} を付けることを忘れないでください! 最後の疑問は @q{このコマンドをどこに置くべきか?} ということです。@c @@ -670,7 +708,7 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア -- しかしながら、まだ練習が必要でしょう。@c これは以下の例で提供されます。 -@subheading コンテキストを見つけ出す +@subsubsubheading コンテキストを見つけ出す @cindex context, finding (コンテキストを見つけ出す) @cindex context, identifying correct (正しいコンテキストを特定する) @@ -688,7 +726,7 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア そのため、スラーは @code{Slur_engraver} が存在しているコンテキストの@c どれかで作成されるということになります。@c @code{Slur_engraver} へのリンクを辿ります。@c -そのページの最後の方で @code{Slur_engraver} は 5 つのボイス コンテキスト +そのページの最後の方で @code{Slur_engraver} は 7 つのボイス コンテキスト -- 標準のボイス コンテキストである @code{Voice} を含む -- の一部であることが述べられています。@c ですから、推測は正しかったのです。@c @@ -696,7 +734,7 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア -- このことは、そこに音符を入力するという事実によって明らかに示されています -- ため、ここではそのコンテキストを省略することができるのです。 -@subheading 1 回だけオーバライドする +@subsubsubheading 1 回だけオーバライドする @cindex overriding once only (一度だけオーバライドする) @cindex once override (一度だけオーバライドする) @@ -743,7 +781,7 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア @code{\once} コマンドは @code{\set} コマンドの前でも使用される可能性があります。 -@subheading 元に戻す +@subsubsubheading 元に戻す @cindex revert (元に戻す) @cindex default properties, reverting to (デフォルトのプロパティに戻す) @@ -886,19 +924,13 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア 前と同様に、コンテキストを省略します。 話は逸れますが重要なことを 1 つ挙げます。@c -@code{font-shape} の値はシンボルなので、シングル アポストロフィ @code{'} を@c -付ける必要があるということに注意してください。@c -その理由は、以前の例での @code{thickness} や @code{font-shape} の前に@c -アポストロフィを付ける必要がある理由と同じです。@c -それらも両方ともシンボルです。@c -シンボルは LilyPond によって内部的に読み取られます。@c -それらのいくつかは @code{thickness} や @code{font-shape} のようなプロパティの@c -名前であり、他のものは @code{italic} のようにプロパティに与えられる値として@c -使用されます。@c +プロパティには値としてシンボル (例えば @code{italic}) を取るものがあります。@c +シンボルの前にはアポストロフィ @code{'} を置く必要があり、そうすることで内部的に +LilyPond に読み込まれます。@c 任意のテキスト文字列との違い -- 任意のテキスト文字列は @code{"a text string"} のような形で表記されます -- に注意してください。@c -シンボルと文字列についてのより詳細な説明は、@rextend{Scheme tutorial} を@c -参照してください。 +シンボルと文字列についてのより詳細な説明は@rextend{Scheme tutorial} +を参照してください。 さて、それでは歌詞をイタリック体で譜刻するために必要となる @code{\override} コマンドは以下のようになります: @@ -934,34 +966,9 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア @noindent これで歌詞がすべてイタリック体で譜刻されました。 -@subheading 歌詞モードの中でコンテキストを指定する - -@cindex context, specifying in lyric mode (歌詞モード内でコンテキストを指定する) -@cindex lyric mode, specifying context (歌詞モード内でコンテキストを指定する) - -歌詞の場合、以前のようなコマンドの発行の仕方の中でコンテキストを@c -指定しようとしても失敗するでしょう。@c -歌詞モードの中で入力される音節はスペース、改行、数字のいずれかで区切られます。@c -他のすべての文字は音節の一部と見なされます。@c -これが、終端の @code{@}} の前にはスペースか改行を@c -置かなければならない理由です。@c -そうしないと、終端の @code{@}} は最後の音節の一部に含まれてしまいます。@c -同様に、コンテキスト名とオブジェクト名を区切るために、@c -ピリオドまたはドット @q{.} の前と後ろにスペースを挿入しなければなりません。@c -さもないと 2 つの名前は一緒になってしまい、インタプリタはそれらを@c -認識できなくなります。@c -そのため、コマンドは以下のようにすべきです: - -@example -\override Lyrics.LyricText.font-shape = #'italic -@end example - @warning{歌詞の中では、最後の音節と終端の波括弧の間に常にスペースを@c 置いてください。} -@warning{歌詞の中のオーバライドでは、コンテキスト名とオブジェクト名の@c -間にあるドットの両側に常にスペースを置いてください。} - @seealso 拡張: @rextend{Scheme tutorial} @@ -981,8 +988,12 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア 表示されています。@c ここに、あなたが必要になるであろうプロパティのタイプを、@c そのタイプのルールといくつかの例と共にリスト アップします。@c -もちろん、@code{\override} コマンドの中でプロパティの値を入力する時は、@c -常にそれらの値の前にハッシュ記号 @code{#} を付け加える必要があります。 +@code{\override} コマンドの中でプロパティの値を入力する時は、@c +当然、常にそれらの値の前にハッシュ記号 @code{#} を付け加える必要があります +-- 例え、その値自体が @code{#} で始まっていたとしても付け加える必要があり@c +ます。@c +ここでは定数の例だけを示します: Scheme を用いて値の計算をしたいのであれば、@c +@rextend{Calculations in Scheme} を参照してください。 @multitable @columnfractions .2 .45 .35 @headitem プロパティ タイプ @@ -992,20 +1003,20 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア @tab 真か偽のどちらかで、それぞれ #t と #f で表されます @tab @code{#t}, @code{#f} @item Dimension (譜スペース) - @tab 正の小数 (譜スペース単位) + @tab 小数 (譜スペース単位) @tab @code{2.5}, @code{0.34} @item Direction - @tab 有効な向きを表す定数またはそれと等価な数値 (-1 から 1 までの小数が@c + @tab 向きを表す有効な定数またはそれと等価な数値 (-1 から 1 までの小数が@c 許可されます) @tab @code{LEFT}, @code{CENTER}, @code{UP}, @code{1}, @w{@code{-1}} @item Integer - @tab 正の整数 - @tab @code{3}, @code{1} + @tab 整数 + @tab @code{3}, @code{-1} @item List - @tab 値のセット。@c -セットの値はスペースで区切られ、前にアポストロフィが付いた括弧で囲まれます - @tab @code{'(left-edge staff-bar)}, @code{'(1)}, + @tab 一連の定数またはシンボル。@c + スペースで区切られ、前にアポストロフィが付いた括弧で囲まれます + @tab @code{'(left-edge staff-bar)}, @code{'(1)}, @code{'()}, @code{'(1.0 0.25 0.5)} @item Markup @tab 有効なマークアップ @@ -1030,9 +1041,8 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア @tab @code{bend::print}, @code{ly:text-interface::print}, @code{#f} @item Vector - @tab 前にアポストロフィ-ハッシュ @code{'#} が付いた括弧で囲まれた -3 要素のリスト - @tab @code{'#(#t #t #f)} + @tab @code{#(}@dots{}@code{)} で囲まれたいくつかの定数 + @tab @code{#(#t #t #f)} @end multitable @@ -1096,7 +1106,17 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア 拡大解釈すれば他の多くのレイアウト オブジェクトにも影響を与えます)。@c 次はこれらのプロパティをそれぞれ見ていきましょう。 -@subheading ステンシル (stencil) +@menu +* stencil プロパティ:: +* break-visibility プロパティ:: +* transparent プロパティ:: +* color プロパティ:: +@end menu + + +@node stencil プロパティ +@unnumberedsubsubsec @code{stencil} プロパティ +@translationof The stencil property @cindex stencil property (stencil プロパティ) @@ -1151,7 +1171,20 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア } @end lilypond -今度は小節線が消えました。 +今度は小節線が消えました。@c +@code{stencil} プロパティに @code{#f} をセットする操作は頻繁に行うので、@c +短くしたコマンド @code{\omit} が用意されています: +@funindex \omit + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +{ + \time 12/16 + \omit Staff.BarLine + c4 b8 c d16 c d8 | + g,8 a16 b8 c d4 e16 | + e8 +} +@end lilypond しかしながら、@code{stencil} プロパティを @code{#f} にセットするのではなく、@c オブジェクトの大きさを修正する必要があるオブジェクトも存在するということに@c @@ -1171,7 +1204,10 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア } @end lilypond -@subheading 可視性の破棄 (break-visibility) + +@node break-visibility プロパティ +@unnumberedsubsubsec @code{break-visibility} property +@translationof The break-visibility property @cindex break-visibility property (break-visibility プロパティ) @@ -1181,12 +1217,13 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア これらはそれぞれ、小節線が行の最後、行の途中、行の最初に譜刻されるかどうかを@c 制御します。@c 以下の例ではすべての小節線を消したいので、必要となる値は -@code{'#(#f #f #f)} です。@c +@code{#(#f #f #f)} です +(同じ結果を @code{all-invisible} でも得ることができます)。@c それではやってみましょう。@c @code{Staff} コンテキストを含めることを忘れないでください。@c -また、この値を書くときに括弧を始める前に @code{#'#} を@c +また、この値を書くときに括弧を始める前に @code{##} を@c 付ける必要があることにも注意してください。@c -@code{'#} はベクトルを導入するときに値の一部として必要とされ、@c +@code{#} の 1 つはベクトルを導入するときに値の一部として必要とされ、@c 先頭の @code{#} は @code{\override} コマンドの中で常に値の前に@c 置くことが必要とされます。 @@ -1196,7 +1233,7 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア @lilypond[quote,fragment,ragged-right,verbatim,relative=2] { \time 12/16 - \override Staff.BarLine.break-visibility = #'#(#f #f #f) + \override Staff.BarLine.break-visibility = ##(#f #f #f) c4 b8 c d16 c d8 | g,8 a16 b8 c d4 e16 | e8 @@ -1205,7 +1242,10 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア 今度もすべての小節線が消えました。 -@subheading 透過性 (transparent) + +@node transparent プロパティ +@unnumberedsubsubsec @code{transparent} プロパティ +@translationof The transparent property @cindex transparent property (transparent プロパティ) @cindex transparency (透明性) @@ -1240,7 +1280,22 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア @end lilypond @noindent -拍子記号は消えました。@c +@code{transparent} プロパティに @code{#t} をセットする操作も頻繁に行うので、@c +短くしたコマンド @code{\hide} が用意されています: +@funindex \hide + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +{ + \time 12/16 + \hide Staff.TimeSignature + c4 b8 c d16 c d8 | + g,8 a16 b8 c d4 e16 | + e8 +} +@end lilypond + +@noindent +どちらの場合でも拍子記号は消えました。@c しかしながら、このコマンドは拍子記号があるべき場所に隙間を残しています。@c たぶん、これは学生がその部分を埋めるための練習としては望ましいでしょうが、@c 他の状況ではこの隙間は望ましくありません。@c @@ -1253,7 +1308,7 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア @lilypond[quote,fragment,ragged-right,verbatim,relative=2] { \time 12/16 - \override Staff.TimeSignature.stencil = ##f + \omit Staff.TimeSignature c4 b8 c d16 c d8 | g,8 a16 b8 c d4 e16 | e8 @@ -1261,14 +1316,17 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア @end lilypond @noindent -違いは明白です: ステンシルを @code{#f} にセットすると、@c -オブジェクト自体が削除されます。@c -一方、オブジェクトを @code{transparent} (透明) にするとそのオブジェクトは@c -消えますが、オブジェクトは不可視になっただけです。 +違いは明白です: ステンシルを @code{#f} にセットする +(@code{\omit} を用いることもできます) と、オブジェクト自体が削除されます。@c +一方、オブジェクトを @code{transparent} (透明) にする +(@code{\hide} を用いることもできます)とそのオブジェクトは消えますが、@c +オブジェクトは不可視になっただけです。 @subheading 色 (color) -@cindex color property (color プロパティ) +@node color プロパティ +@unnumberedsubsubsec @code{color} プロパティ +@translationof The color property 最後に、小節線の色を白にすることによって小節線を不可視にしてみましょう。@c (これには白い小節線が譜線と交差したところで@c @@ -1305,22 +1363,24 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア @noindent 今度も再び小節線は見えなくなりました。@c @emph{white} の前にアポストロフィは付かないということに注意してください --- これはシンボルではなく@emph{関数}です。@c -この関数が呼び出されると、この関数はカラーを白にセットするために@c -必要とされる内部値のリストを提供します。@c -標準カラー リストにある他のカラーもまた関数です。@c -これが機能していることをあなた自身が納得するために、@c -カラーをこのリストの中にある他の関数の 1 に変更しようと思うかもしれません。 +-- これはシンボルではなく@emph{変数}です。@c +この変数は評価される時、小節線の色を白にセットするのに必要な内部的な値の@c +リストを提供します。@c +標準カラー リストにある他のカラーもまた変数です。@c +小節線の色をこのリストの中にある他の変数に変更することで、@c +これが機能することをあなた自身で納得できます。 @cindex color, X11 (X11 カラー) @cindex X11 colors (X11 カラー) @funindex x11-color -カラーを変えるための 2 番目の方法は、@ruser{List of colors} の +カラーを変えるための 2 つ目の方法は、@ruser{List of colors} の 2 番目のリストの中にある X11 カラー名のリストを使用する方法です。@c -しかしながら、以下のように、これらの前には X11 カラー名を内部値のリストに@c -変更するもう 1 つの関数 -- @code{x11-color} -- がなければなりません: +しかしながら、X11 カラー名は関数 @code{x11-color} によって実際の値に@c +マッピングされます。@c +@code{x11-color} は以下のように X11 カラー シンボルを内部値のリストに@c +変換します: @cindex BarLine, example of overriding (BarLine をオーバライドする例) @cindex color property, example (color プロパティの例) @@ -1337,17 +1397,16 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア @noindent この場合、関数 @code{x11-color} はシンボルを引数として扱うので、@c -シンボルの前にはアポストロフィをつけなくてはならず、@c -@code{x11-color} とシンボルは括弧で囲まれていなければならないということに@c -注意してください。 +変数として評価されないようシンボルの前にアポストロフィを付ける必要があり、@c +関数呼び出し全体を括弧で囲む必要があるということに注意してください。 @cindex rgb colors (RGB カラー) @cindex color, rgb (RGB カラー) @funindex rgb-color -まだ 3 番目の方法が残っています。@c -これは RGB 値を内部カラーに変換する @code{rgb-color} 関数を使用する方法です。@c +もう 1 つ関数があります。@c +RGB 値を内部カラーに変換する @code{rgb-color} 関数です。@c この関数は赤、緑、青の輝度を表す 3 つの引数をとります。@c これらの引数は 0 から 1 までの値をとります。@c ですから、カラーを赤にセットする場合の値は @code{(rgb-color 1 0 0)} となり、@c @@ -1367,7 +1426,7 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア @end lilypond 最後に、X11 カラー セットの一部であるグレー スケールを用いる方法もあります。@c -グレー スケールの範囲は黒 @code{'grey0'} から白 @code{'grey100'} まで +グレー スケールの範囲は黒 @code{'grey0} から白 @code{'grey100} まで 1 段階ずつあります。@c グレー スケールの使用方法を示すために、@c 例の中にあるすべてのレイアウト オブジェクトのカラーをさまざまな濃度の@c @@ -1419,8 +1478,8 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア @cindex objects, size of (オブジェクトのサイズ) @cindex objects, changing size of (オブジェクトのサイズを変更する) -以前の例を見直すことから始めてみましょう (@ref{音楽表記をネストする} を@c -参照してください)。@c +以前の例を見直すことから始めてみましょう +(@ref{Nesting music expressions} を参照してください)。@c そこでは @rglos{ossia} として新たに一時的な譜を導入する方法が示されています。 @cindex alignAboveContext property, example (alignAboveContext プロパティの例) @@ -1449,7 +1508,7 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア @cindex alignAboveContext property, example (alignAboveContext プロパティの例) @cindex @code{\with}, example (@code{\with} の例) -@cindex stencil property, example (stencil プロパティの例) +@funindex \omit @cindex Clef, example of overriding (Clef をオーバライドする例) @cindex TimeSignature, example of overriding (TimeSignature をオーバライドする例) @@ -1464,8 +1523,8 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア alignAboveContext = #"main" } { - \override Staff.Clef.stencil = ##f - \override Staff.TimeSignature.stencil = ##f + \omit Staff.Clef + \omit Staff.TimeSignature { f8 f c } } >> @@ -1479,9 +1538,9 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア その括弧に囲まれているオーバライドと音楽がオッシア譜に適用されることを@c 保証するために、必要となります。 -しかし、@code{\with} を使った譜コンテキストの変更と -@code{\override} を使った音部記号と拍子記号のステンシルの変更との違いは@c -何なのでしょうか?@c +しかし、@code{\with} を用いた譜コンテキストの変更と @code{\override} +を用いた音部記号と拍子記号のステンシルの変更 (あるいはこのケースでは +@code{\omit} を用いています) との違いは何なのでしょうか?@c 主な違いは、@code{\with} 節の中で行われた変更はそのコンテキストが@c 作成されるときに行われ、@c そのコンテキストでは @strong{デフォルト} 値として残ります。@c @@ -1537,6 +1596,31 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア } @end lilypond +@code{transparent} プロパティを設定したり @code{stencil} を消すために@c +短縮形 @code{\hide} と @code{\omit} を使うことができ、結果として@c +以下のようになります: + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +\new Staff ="main" { + \relative g' { + r4 g8 g c4 c8 d | + e4 r8 + << + { f8 c c } + \new Staff \with { + alignAboveContext = #"main" + % この譜には音部記号を譜刻しません + \omit Clef + % この譜には拍子記号を譜刻しません + \omit TimeSignature + } + { f8 f c } + >> + r4 | + } +} +@end lilypond + 最後に、レイアウト オブジェクトのサイズを変更してみます。 いくつかのレイアウト オブジェクトはある書体から選択された図柄として@c @@ -1595,8 +1679,8 @@ Slur へのリンクを選択すると、Slur のプロパティがリスト ア { f8 c c } \new Staff \with { alignAboveContext = #"main" - \override Clef.stencil = ##f - \override TimeSignature.stencil = ##f + \omit Clef + \omit TimeSignature % すべてのフォント サイズを約 24% 減らします fontSize = #-2 } @@ -1663,8 +1747,8 @@ LilyPond では距離と長さは一般に譜スペース -- 譜の中の隣り { f8 c c } \new Staff \with { alignAboveContext = #"main" - \override Clef.stencil = ##f - \override TimeSignature.stencil = ##f + \omit Clef + \omit TimeSignature fontSize = #-2 % 符幹の長さと譜線の間隔を減らします \override StaffSymbol.staff-space = #(magstep -2) @@ -1792,7 +1876,8 @@ c2^"Text4" | @translationof Within-staff objects これまでにコマンド @code{\voiceXXX} がスラー、タイ、運指法記号、@c -符幹の向きに依存する他のすべてに対してどのように影響を与えるかを見てきました。@c +符幹の向きに依存する他のすべてに対してどのように影響を与えるかを見てきました +-- @ref{Explicitly instantiating voices} を参照してください。 これらのコマンドは、多声部音楽を記述しているときに上下する旋律を@c 見分けられるようにすることを可能にするために不可欠なものです。@c しかしながら、この自動機能をオーバライドする必要がある場合もあります。@c @@ -1809,6 +1894,15 @@ c2^"Text4" | 符幹やフラグのような他のオブジェクトも上下の向きによって位置が左右します。@c @code{direction} がセットされているときは、これは自動的に制御されます。 +@menu +* direction プロパティ:: +* 運指:: +@end menu + +@node direction プロパティ +@unnumberedsubsubsec @code{direction} プロパティ +@translationof The direction property + @cindex down (下) @cindex up (上) @cindex center (中央) @@ -1888,14 +1982,16 @@ a4 g c a | @tab 連符記号が音符の下/上にくる @end multitable -これらの定義済みコマンドの前には @code{\once} が@c -付か @strong{ない} かもしれません。@c -コマンドの効果を単一の音符に制限したい場合、@c -等価の @code{\once \override} コマンドを使用するか、@c -あるいは、定義済みコマンドを使用して、効果を受けた音符の後に@c -対応する @code{\xxxNeutral} コマンドを置かなければなりません。 +これらのコマンドで中立/通常の位置に戻すコマンドは @code{\revert} を@c +用いることで実装されていて、前に @code{\once} が付いて @strong{いない} +かもしれません。@c +@code{\override} を用いて実装されているコマンドの効果を単一のタイミング@c +に限定したいのであれば、明示的なオーバライドの場合と同様に、@c +コマンドの前に @code{\once} を配置します。 -@subheading 運指法記号 (Fingering) +@node 運指 +@unnumberedsubsubsec 運指 +@translationof Fingering @cindex fingering, placement (運指法記号の配置) @cindex fingering, chords (和音の運指法記号) @@ -2045,6 +2141,20 @@ LilyPond はこれらの制約を受け取り、 @translationof Outside-staff objects 譜外部オブジェクトは自動的に衝突を回避するよう配置されます。@c +配置が最適でない場合に自動配置をオーバライドする方法がいくつかあります。 + +@menu +* outside-staff-priority プロパティ:: +* \textLengthOn コマンド:: +* 強弱記号の配置:: +* グラフィカル オブジェクトのサイズ:: +@end menu + + +@node outside-staff-priority プロパティ +@unnumberedsubsubsec @code{outside-staff-priority} プロパティ +@translationof The outside-staff-priority property + 小さな値の @code{outside-staff-priority} プロパティを持つオブジェクトは@c 譜の近くに配置され、他の譜外部オブジェクトは衝突を避けるのに必要な分だけ@c 離されます。@c @@ -2248,7 +2358,9 @@ c2^"Text4" | 音符を水平方向に広げる必要があります。@c これは @code{\textLengthOn} コマンドを用いることで達成できます。 -@subheading \textLengthOn +@node \textLengthOn コマンド +@unnumberedsubsubsec @code{\textLengthOn} コマンド +@translationof The \textLengthOn command @cindex notes, spreading out with text (テキストに合わせて音符の間隔を広げる) @@ -2272,10 +2384,8 @@ c2^"Text4" | @end lilypond デフォルトの動作に戻すためのコマンドは @code{\textLengthOff} です。@c -@code{\once} は @code{\override}, @code{\set}, @code{\revert} -それに @code{\unset} だけに付けることができるということを@c -思い出してください。@c -そのため、@code{\textLengthOn} で @code{\once} を使うことはできません。 +効果を与えるのが単一の音楽タイミングであれば、@code{\textLengthOn} +に @code{\once} を付ける方法もあります。 @cindex markup text, allowing collisions (マークアップ テキストの衝突を許可する) @@ -2310,14 +2420,17 @@ c,,2^"Long Text " % 後ろにスペースが付け加えられます c''2 | @end lilypond -@subheading 強弱記号 + +@node 強弱記号の配置 +@unnumberedsubsubsec 強弱記号の配置 +@translationof Dynamics placement @cindex tweaking dynamics placement (強弱記号の配置を調整する) @cindex dynamics, tweaking placement (強弱記号の配置を調整する) 通常、強弱記号は譜の下に配置されます。@c -しかしながら、@code{dynamicUp} コマンドを使うことで上に@c -配置されるかもしれません。@c +しかしながら、@code{\dynamicUp} コマンドを使うことで上に配置される@c +かもしれません。@c 強弱記号は、その記号が付いている音符と垂直方向の関係で配置され、@c フレージング スラーや小節番号などの譜内部オブジェクトのすべてよりも@c 下 (あるいは上) に配置されます。@c @@ -2353,7 +2466,9 @@ a4\f b\mf c\mp b\p そのため、@code{\override} コマンドを用いてそれを達成する方法を@c 見出す必要があります。 -@subheading グラフィカル オブジェクトのサイズ +@node グラフィカル オブジェクトのサイズ +@unnumberedsubsubsec グラフィカル オブジェクトのサイズ +@translationof Grob sizing @cindex grob sizing (グラフィカル オブジェクトのサイズを決定する) @cindex sizing grobs (グラフィカル オブジェクトのサイズを決定する) @@ -2704,7 +2819,21 @@ LilyPond はまずスラーが取り得る位置のリストを生成し、そ 今度は、前のセクションで扱ったプロパティが記譜の重なりを解決する手助けを@c どのようにできるかを見ていきましょう。 -@subheading padding プロパティ +@menu +* padding プロパティ:: +* right-padding プロパティ:: +* staff-padding プロパティ:: +* self-alignment-X プロパティ:: +* staff-position プロパティ:: +* extra-offset プロパティ:: +* positions プロパティ:: +* force-hshift プロパティ:: +@end menu + + +@node padding プロパティ +@unnumberedsubsubsec @code{padding} プロパティ +@translationof The padding property @cindex padding (パディング) @cindex fixing overlapping notation (記譜要素の重なりを修正する) @@ -2748,7 +2877,10 @@ d1 | あるオブジェクトの @code{padding} プロパティが増やされた場合、@c そのオブジェクトとそれよりも外側にあるすべてオブジェクトが移動させられます。 -@subheading right-padding + +@node right-padding プロパティ +@unnumberedsubsubsec @code{right-padding} プロパティ +@translationof The right-padding property @cindex right-padding property (right-padding プロパティ) @@ -2795,7 +2927,10 @@ sesquisharp = \markup { \sesquisharp } @noindent -@subheading staff-padding プロパティ + +@node staff-padding プロパティ +@unnumberedsubsubsec @code{staff-padding} プロパティ +@translationof The staff-padding property @cindex aligning objects on a baseline (オブジェクトをベースラインに揃える) @cindex objects, aligning on a baseline (オブジェクトをベースラインに揃える) @@ -2825,7 +2960,10 @@ sesquisharp = \markup { \sesquisharp } a4\f b\mf c\mp b\p @end lilypond -@subheading self-alignment-X プロパティ + +@node self-alignment-X プロパティ +@unnumberedsubsubsec @code{self-alignment-X} プロパティ +@translationof The self-alignment-X property 以下の例はこのプロパティが、運指法記号オブジェクトの右端を親の音符の@c 参照ポイントに揃えることによって、@c @@ -2842,7 +2980,10 @@ a4\f b\mf c\mp b\p @end lilypond -@subheading staff-position プロパティ + +@node staff-position プロパティ +@unnumberedsubsubsec @code{staff-position} プロパティ +@translationof The staff-position property @cindex object collision within a staff (譜内部でのオブジェクトの衝突) @@ -2882,7 +3023,10 @@ LilyPond がそれと衝突するかもしれない音符を突き止めるの これは、例えば @code{extra-offset} を使うよりも良い解決方法です。@c なぜなら、その休符の上に加線が自動的に挿入されるからです。 -@subheading extra-offset プロパティ + +@node extra-offset プロパティ +@unnumberedsubsubsec @code{extra-offset} プロパティ +@translationof The extra-offset property @cindex positioning objects (オブジェクトの位置を決定する) @cindex positioning grobs (グラフィカル オブジェクトの位置を決定する) @@ -2905,7 +3049,10 @@ f4-5 f4-5 @end lilypond -@subheading positions プロパティ + +@node positions プロパティ +@unnumberedsubsubsec @code{positions} プロパティ +@translationof The positions property @cindex controlling tuplets, slurs, phrasing slurs, and beams manually (連符、スラー、フレージング スラーそれに連桁を手動で制御する) @cindex manually controlling tuplets, slurs, phrasing slurs, and beams (連符、スラー、フレージング スラーそれに連桁を手動で制御する) @@ -2915,38 +3062,39 @@ f4-5 @cindex beams, controlling manually (連桁を手動で制御する) @code{positions} プロパティは連符、スラー、フレージング スラー、@c -連桁の位置と傾きを手動で制御することを可能にします。@c -ここで、装飾音符に付いたスラーを避けようとしているために@c -醜いフレージング スラーを持つ例を挙げます。 - -@lilypond[quote,verbatim,fragment,ragged-right,relative=1] -r4 \acciaccatura e8\( d8 c~ c d c d\) -@end lilypond +連桁の位置を手動で制御することができ、それにより傾きも制御できます。 -@noindent -フレージング スラーを音符の上へ移動させることで、より良い結果が得られます: +ここで、フレージング スラーとスラーが衝突している例を示します: -@lilypond[quote,verbatim,fragment,ragged-right,relative=1] -r4 -\phrasingSlurUp -\acciaccatura e8\( d8 c~ c d c d\) +@lilypond[quote,verbatim,fragment,ragged-right,relative=2] +a8 \( ( a'16 ) a \) @end lilypond -@noindent -しかし、何らかの理由でそうすることができない場合、それに代わる解決策は、@c -@code{positions} プロパティを使ってフレージング スラーの左端を@c -少し下げることです。@c -この方法でも見栄えの悪さを解決できます。 - @cindex PhrasingSlur, example of overriding (PhrasingSlur をオーバライドする例) @cindex positions property, example (positions プロパティの例) -@lilypond[quote,verbatim,fragment,ragged-right,relative=1] -r4 -\once \override PhrasingSlur.positions = #'(-4 . -3) -\acciaccatura e8\( d8 c~ c d c d\) +@noindent +衝突を解決するために、フレージング スラーの両端を上に移動させます。@c +左端を譜中央線よりも 2.5 譜スペース上に設定し、右端を 4.5 譜スペース上に@c +設定すると、LilyPond は候補の中から両端の位置が最も設定に近いフレージング +スラーを選択します: + +@lilypond[quote,verbatim,fragment,ragged-right,relative=2] +\once \override PhrasingSlur.positions = #'(2.5 . 4.5) +a8 \( ( a'16 ) a \) @end lilypond +これで改善されました。@c +しかしながら、スラーの右端を少し下げてみてはどうでしょうか?@c +そうしようとした場合、この方法では実行できないことがわかります。@c +すでに表示されているスラーよりも右端が下がっている候補は無く、@c +そのような場合には @code{positions} は効果を持たないからです。@c +しかしながら、必要があればタイ、スラー、それにフレージング スラーの@c +位置と形状を非常に正確に設定することが @emph{できます}。@c +正確な設定を行う方法は @ruser{Modifying ties and slurs} で学習してください。 + +もう 1 つ例を示します。@c +連桁がタイと衝突しています: @lilypond[quote,verbatim,fragment,ragged-right] { @@ -2995,7 +3143,9 @@ r4 適用されていますが、@c ボイス 2 の連桁にはまったく適用されていないということに注意してください。 -@subheading force-hshift プロパティ +@node force-hshift プロパティ +@unnumberedsubsubsec @code{force-hshift プロパティ +@translationof The force-hshift property 今や、@ref{私はボイスを聴いている} の最後で挙げた Chopin の例に@c どのように修正を加えるべきかを知っています。@c @@ -3022,8 +3172,8 @@ r4 これを修正するには、下の音符の @code{force-hshift} -- これは @code{NoteColumn} のプロパティです -- を 0 にセットします。@c -2 番目の和音では、F を A に揃えて、符幹の衝突を避けるために最下段の音符を@c -少し右に移動させるべきでしょう。@c +2 番目の和音では、F を A-フラットに揃えて、符幹の衝突を避けるために@c +最下段の音符を少し右に移動させるべきでしょう。@c そうするには、D-フラットの @code{NoteColumn} の @code{force-hshift} を設定して譜スペースの半分だけ右にずらします。 2 番目の和音の下の方の音符は、上の方の音符のすぐ右に置くのが最良です。@c @@ -3620,6 +3770,11 @@ lhMusic = \relative c' { @subsection 調整のその他の使用方法 @translationof Other uses for tweaks +@menu +* 異なるボイスの中にある音符をタイで結ぶ:: +* MIDI でフェルマータをシミュレートする:: +@end menu + @cindex transparent property, use of (transparent プロパティの使用方法) @cindex objects, making invisible (オブジェクトを不可視にする) @cindex removing objects (オブジェクトを削除する) @@ -3628,9 +3783,13 @@ lhMusic = \relative c' { @cindex objects, hiding (オブジェクトを隠す) @cindex invisible objects (不可視のオブジェクト) @cindex objects, invisible (不可視のオブジェクト) -@cindex tying notes across voices (異なるボイスの中にある音符をタイで結ぶ) -@subheading 異なるボイスの中にある音符をタイで結ぶ + +@node 異なるボイスの中にある音符をタイで結ぶ +@unnumberedsubsubsec 異なるボイスの中にある音符をタイで結ぶ +@translationof Tying notes across voices + +@cindex tying notes across voices (異なるボイスの中にある音符をタイで結ぶ) 以下の例は異なるボイスの中にある音符をタイで結ぶ方法を示しています。@c 通常、タイで結べるのは同じボイスの中にある 2 つ音符だけです。@c @@ -3675,7 +3834,40 @@ lhMusic = \relative c' { >> @end lilypond -@subheading MIDI でフェルマータをシミュレートする +@funindex \single +@cindex tweak, generated from override +今度は、グラフィカル オブジェクトの透明性を @emph{オーバライド} する@c +ことで実現します。@c +これまでに説明した短縮形 @code{\hide} を使います。@c +調整と異なり、オーバライドは単一の音楽表記から生成されたプロパティにだけ@c +効果を持ちます。@c +@code{\single} を用いてオーバライドを調整に変換することができので、@c +上記の例を以下のように書き換えることができます: + +@lilypond[quote,fragment,relative=2,verbatim] +<< + { + \single \hide Stem + \single \hide Flag + \tweak Stem.length #8 + b8~ b\noBeam + } +\\ + { b8[ g] } +>> +@end lilypond + +今回のケースでは、@code{\once \hide} との違いははっきりしません。@c +同じ音楽タイミングに複数のオブジェクトが存在する場合 +(和音の中にある符頭のように)、この違いは重要になります。@c +そのような場合、@code{\once} はすべてのオブジェクトに影響を与える@c +のに対して、@code{\single} は直後にある音楽表記によって生成された@c +ただ 1 つのオブジェクトだけに影響を与えます。 + + +@node MIDI でフェルマータをシミュレートする +@unnumberedsubsubsec MIDI でフェルマータをシミュレートする +@translationof Simulating a fermata in MIDI @cindex stencil property, use of (stencil プロパティの使用方法) @cindex fermata, implementing in MIDI (MIDI でフェルマータ を実装する) @@ -3708,7 +3900,7 @@ lhMusic = \relative c' { % Visible tempo marking \tempo 4=120 a4 a a - \once \override Score.MetronomeMark.transparent = ##t + \once \hide Score.MetronomeMark % Invisible tempo marking to lengthen fermata in MIDI \tempo 4=80 a4\fermata | @@ -3730,7 +3922,7 @@ lhMusic = \relative c' { % Visible tempo marking \tempo 4=120 a4 a a - \once \override Score.MetronomeMark.stencil = ##f + \once \omit Score.MetronomeMark % Invisible tempo marking to lengthen fermata in MIDI \tempo 4=80 a4\fermata | @@ -4066,7 +4258,7 @@ inst = 出力のフォントを全体に大きくすることにします。 @example -%%% definitions.ily +%%% web-publish.ily mpdolce = #(make-dynamic-script #@{ \markup @{ \hspace #0 @@ -4190,13 +4382,13 @@ LilyPond の内部ファイルを調べることによって@c このディレクトリの場所は、(a) あなたが lilypond.org からコンパイル済みの@c バイナリをダウンロードすることによって LilyPond を手に入れたのか、@c それとも、パッケージ マネージャから LilyPond をインストールした -(つまり、Linux と一緒に配布されたか、fink や cygwin でインストールされた) +(つまり、GNU/Linux と一緒に配布されたか、fink や cygwin でインストールされた) のか、(b) LilyPond はどの OS 上で使用されているのか、に依存します: -@strong{lilypond.org からダウンロードした} +@subsubsubheading lilypond.org からダウンロードした @itemize @bullet -@item Linux +@item GNU/Linux @example @file{@var{INSTALLDIR}/lilypond/usr/share/lilypond/current/} @@ -4222,8 +4414,7 @@ LilyPond アプリケーション上でコントロール クリックして @end itemize -@strong{パッケージ マネージャからインストールした、あるいは、@c -ソースからコンパイルした} +@subsubsubheading パッケージ マネージャからインストールした、あるいは、ソースからコンパイルした @file{@var{PREFIX}/share/lilypond/@var{X.Y.Z}/} に進んでください。@c @var{PREFIX} はパッケージ マネージャか @code{configure} スクリプトによって@c