1.4 一般的なエラー

以下で説明するエラーがしばしば発生しますが、その原因は明白でなかったり、見つけにくかったりします。目を通しておくと、それらのエラーに対処しやすくなります。


楽譜がページからはみ出る

楽譜がページの右マージンを越えてはみ出る、あるいは過度に密集するのは、ほぼ間違いなく音符の演奏時間に誤りがあり、小節の最後の音符が小節線を越えてしまうためです。ある小節の最後の音符が自動的に挿入される小節線の所で終わらなくても無効ではありません。なぜなら、その音符は次の小節に持ち越されるためです。しかしながら、そのような持ち越しが発生する小節が長く続くと、楽譜は密集して表示されたり、ページからはみ出たりします。ページからはみ出るのは、自動改行を挿入できるのは正しく終了する小節 (その小節のすべての音符が小節の中で終了しています) の後ろだけだからです。

Note: 誤った演奏時間は改行を抑制し、結果として楽譜が過度に密集したり、c ページからはみ出たりする可能性が生じます。

小節チェックを使用していれば、誤った演奏時間を簡単に見つけることができます。 小節と小節番号のチェック を参照してください。

あなたがそのような音符が持ち越される小節を続けることを意図しているのであれば、改行させたい場所に不可視の小節線を挿入する必要があります。詳細は 小節線 を参照してください。


余計な譜が表示される

コンテキストが \new\context で明示的に作成されていない場合、既存のコンテキストには適用できないコマンドに遭遇した時点で暗黙的に作成されます。単純な楽譜では、コンテキストの自動作成は有用であり、LilyPond マニュアルのほとんどの例はこの手法を用いています。しかしながら、コンテキストの暗黙的な作成はしばしば予期しない譜や楽譜を発生させてしまいます。例えば、以下のコードは後に続く譜の中にあるすべての符頭を赤にすることを意図していますが、結果は 2 つの譜が表示され、下の譜の符頭の色はデフォルトの黒のままとなります。

\override Staff.NoteHead.color = #red
\new Staff { a }

[image of music]

これは、(符頭色の) オーバライドが処理される時に Staff コンテキストが存在していないため、Staff コンテキストが暗黙的に作成され、そのコンテキストにオーバライドが適用されるからです。その後に \new Staff コマンドによりもう 1 つ別の Staff コンテキストが作成され、そこに音符が配置されます。すべての符頭を赤にする正しいコードは以下のようになります:

\new Staff {
  \override Staff.NoteHead.color = #red
  a
}

[image of music]

次の例では、\repeat コマンドの中に \relative コマンドが置かれているため、譜が 2 つ生じています。\repeat コマンドが 2 つの \relative ブロックを生成し、それぞれが暗黙的に Staff ブロックと Voice を作成するため、2 番目の譜は右にずれています。

\repeat unfold 2 {
  \relative c' { c4 d e f }
}

[image of music]

明示的に Voice をインスタンス化することで、この問題は修正されます:

\new Voice {
  \repeat unfold 2 {
    \relative c' { c4 d e f }
  }
}

[image of music]


エラー メッセージ Unbound variable %

このエラー メッセージは、Scheme 形式ではなく LilyPond 形式のコメントを含む Scheme ルーチンが呼び出されるたびに、コンソール出力またはログ ファイルの最後に表示されます。

LilyPond 形式のコメントはパーセント記号 (%) で始まり、Scheme ルーチンの中で使うことはできません。Scheme 形式のコメントはセミコロン (;) で始まります。


エラー メッセージ FT_Get_Glyph_Name

入力ファイルが非 ASCII キャラクタを保持していて、UTF-8 エンコードで保存されていない場合、このエラー メッセージがコンソール出力やログ ファイルに表示されます。詳細は、 Text encoding を参照してください。


警告 – Warning staff affinities should only decrease

この警告は、譜刻された出力の中に譜が無い場合に表示されます。例えば、リード譜に ChordName コンテキストと Lyrics コンテキストしか無い場合です。この警告は、入力の始めに以下を挿入することで譜として振舞うコンテキストを作ることで回避できます:

\override VerticalAxisGroup.staff-affinity = ##f

詳細は システム内部の可変な垂直方向のスペース の “譜ではない行のスペース” を参照してください。


他の言語: English, deutsch, español, français, magyar, italiano
About automatic language selection.

LilyPond — 使用方法 v2.17.97 (開発版).