]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/ja/usage/running.itely
Docs: run convert-ly for 2.14.0.
[lilypond.git] / Documentation / ja / usage / running.itely
index 13b880d79c83064b3e37353ac89b1449fbd8aed1..01c60ad00b7cd5e0c3b70997e323643d8c8e665c 100644 (file)
@@ -1,20 +1,20 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*-
 
 @ignore
-    Translation of GIT committish: 9a65042d49324f2e3dff18c4b0858def81232eea
+    Translation of GIT committish: 42ae342ba877dc8f26cabb5cc3937a6d3cdb4066
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.12.0"
+@c \version "2.14.0"
 
 @c Translators: Yoshiki Sawada
 @c Translation status: post-GDP
 
 @node lilypond を実行する
-@chapter lilypond を実行する
+@chapter @command{lilypond} を実行する
 @translationof Running lilypond
 
 この章では LilyPond を実行するための細かな規定について詳述します。
@@ -23,6 +23,7 @@
 * 通常の使用方法::
 * コマンド ラインの使用方法::
 * エラー メッセージ::
+* 一般的なエラー::
 @end menu
 
 
@@ -31,9 +32,9 @@
 @translationof Normal usage
 
 たいていのユーザは GUI から LilyPond を実行します。@c
-FIXME FIXME FIXME を@c
-@c @rlearning{最初のステップ} を@c
\81¾ã\81 èª­ã\82\93ã\81§ã\81\84ã\81ªã\81\84ã\81®ã\81ªã\82\89ã\80\81ã\81\9dã\82\8cを読んでください。
+まだ実行したことがないのであれば @rlearning{チュートリアル} を読んでください。
+lilypond ファイルを書くのに代替のエディタを使用するのであれば、@c
\81\9dã\81®ã\82¨ã\83\87ã\82£ã\82¿ã\81®ã\83\89ã\82­ã\83¥ã\83¡ã\83³ã\83\88を読んでください。
 
 
 @node コマンド ラインの使用方法
@@ -49,10 +50,8 @@ FIXME FIXME FIXME を@c
 Windows ユーザは @q{DOS シェル} という言葉の方が馴染みがあるかもしれません。@c
 MaxOS@tie{}X ユーザは @q{ターミナル} や @q{コンソール} という言葉の方が@c
 馴染みがあるかもしれません。@c
-MaxOS@tie{}X ユーザは 
-FIXME
-@c @ref{MacOS X のためのセットアップ} 
-も読んでおくべきです。
+MaxOS@tie{}X ユーザは追加のセットアップが必要かもしれません。@c
+@rweb{MacOS X} を参照してください。
 
 OS のコマンド ラインの使用方法についての説明は@c
 このマニュアルが扱う範囲ではありません。@c
@@ -63,16 +62,13 @@ OS のコマンド ラインの使用方法についての説明は@c
 * lilypond を呼び出す::
 * lilypond のコマンド ライン オプション::
 * 環境変数::
+* LilyPond in chroot jail::
 @end menu
 
 @node lilypond を呼び出す
-@subsection @command{lilypond} を呼び出す
+@unnumberedsubsec @command{lilypond} を呼び出す
 @translationof Invoking lilypond
 
-@cindex Invoking @command{lilypond} (@command{lilypond} を呼び出す)
-@cindex command line options for @command{lilypond} (@command{lilypond} のためのコマンド ライン オプション)
-@cindex options, command line (コマンド ライン オプション)
-@cindex switches (切り換え)
 
 @command{lilypond} 実行可能形式ファイルは@c
 コマンド ラインから以下のように呼び出されます。
@@ -94,7 +90,7 @@ lilypond は出力として @file{filename.ps} と @file{filename.pdf} を作り
 そのため、Scheme 内部からいかなるシステム デフォルトも変更しないよう注意してください。}
 
 @file{filename.ly} が複数の @code{\score} を含んでいる場合、@c
-2 つ目以降の score は 
+2 つ目以降の score は
 @file{filename-1.pdf} から始まる番号付きのファイルに出力されます。@c
 さらに、@code{output-suffix} がベース名と番号の間に挿入されます。@c
 以下の内容を含んでいる入力ファイルは
@@ -110,10 +106,38 @@ lilypond は出力として @file{filename.ps} と @file{filename.pdf} を作り
 @var{base}@file{-violin.pdf} と @var{base}@file{-cello-1.pdf} を出力します。
 
 
+@unnumberedsubsubsec 標準シェル コマンド
+
+シェル (例えばコマンド ウィンドウ) がリダイレクトをサポートしているのであれば、@c
+以下のコマンドでコンソール出力をファイルにリダイレクトすると役に立つかもしれません。
+
+@itemize
+
+@item
+@code{lilypond file.ly 1>stdout.log} 通常出力をリダイレクトします
+
+@item
+@code{lilypond file.ly 2>stderr.log} エラー メッセージをリダイレクトします。
+
+@item
+@code{lilypond file.ly &>all.log} すべての出力をリダイレクトします
+
+@end itemize
+
+あなたの使用しているシェルがこれらのオプションをサポートしているかどうか、@c
+あるいは構文が異なるかどうかは、そのシェルのドキュメントを調べてください。@c
+これらはシェル コマンドであり、lilypond とは無関係です。
+
+
 @node lilypond のコマンド ライン オプション
-@subsection @command{lilypond} のコマンド ライン オプション
+@unnumberedsubsec @command{lilypond} のコマンド ライン オプション
 @translationof Command line options for lilypond
 
+@cindex Invoking @command{lilypond} (@command{lilypond} を呼び出す)
+@cindex command line options for @command{lilypond} (@command{lilypond} のためのコマンド ライン オプション)
+@cindex options, command line (コマンド ライン オプション)
+@cindex switches (切り換え)
+
 以下のオプションがサポートされます:
 
 @table @code
@@ -123,7 +147,7 @@ lilypond は出力として @file{filename.ps} と @file{filename.pdf} を作り
 複数の @code{-e} オプションが与えられた場合、それらは順番に評価されます。
 
 表記は @code{guile-user} モジュールの中で評価されます。@c
-そのため、@var{expr} の中で definition を使いたいのならば、@c
+そのため、@var{expr} の中で定義を使いたいのならば、@c
 @code{.ly} ファイルに以下をインクルードして:
 
 @example
@@ -148,7 +172,7 @@ lilypond -e '(define-public a 42)'
 
 
 @item -d,--define-default=@var{var}=@var{val}
-これは内部プログラム オプション @var{var} に 
+これは内部プログラム オプション @var{var} に
 Scheme 値 @var{val} をセットします。@c
 @var{val} が提供されていない場合、@var{#t} が使用されます。@c
 オプションを OFF にするには、@var{var} の接頭辞として @code{no-} を付けます。@c
@@ -174,6 +198,8 @@ Scheme 値 @var{val} をセットします。@c
 @code{lilypond -dhelp} を実行すると@c
 使用可能な @code{-d} オプションがすべて表示されます。
 
+@cindex paper-size, command line (コマンドラインで paper-size を指定する)
+
 @item paper-size
 このオプションはデフォルトの用紙サイズをセットします。
 @example
@@ -210,7 +236,7 @@ export (ly:gulp-file "/etc/passwd") はパスワード ファイルをエクス
 特別なセーフ モジュールの中で評価します。@c
 このセーフ モジュールは GUILE @file{safe-r5rs} モジュールから派生したものですが、@c
 LilyPond API 関数をいくつか追加しています。@c
-これらの関数は @file{scm/@/safe@/-lily@/.scm} でリスト アップされています。
+これらの関数は @file{scm/safe-lily.scm} でリスト アップされています。
 
 さらに、セーフ モードは @code{\include} 指示を却下し、@c
 @TeX{} 文字列の中にあるバックスラッシュを無効にします。
@@ -237,7 +263,7 @@ LilyPond API 関数をいくつか追加しています。@c
  PostScript
 
  Postscript ファイルは TTF, Type1, OTF フォントを含んでいます。@c
-これらのフォントのサブセット化 
+これらのフォントのサブセット化
 (訳者: フォント セットを使用するフォントに限定すること) は行われません。@c
 東洋の文字セットを使用する場合、巨大なファイルになる可能性があります。
 
@@ -245,7 +271,7 @@ LilyPond API 関数をいくつか追加しています。@c
  縮約された PostScript (EPS)。@c
 これは各ページ (システム) を@c
 フォントを持たない個別の @file{EPS} ファイルとして吐き出し、@c
-フォントを含めたすべてのページ (システム) を持つ 
+フォントを含めたすべてのページ (システム) を持つ
 @file{EPS} ファイルを 1 つ吐き出します。
 
 このモードは @command{lilypond-book} でデフォルトで使用されます。
@@ -260,8 +286,8 @@ LilyPond API 関数をいくつか追加しています。@c
 UNIX では、@c
 @uref{http://www.inkscape.org,Inkscape} (バージョン 0.42 以降) を@c
 使うことになるかもしれません。@c
-使用前に、OTF フォントを LilyPond ディレクトリ 
-(一般には @file{/usr/share/lilypond/VERSION/fonts/otf/}) から 
+使用前に、OTF フォントを LilyPond ディレクトリ
+(一般には @file{/usr/share/lilypond/VERSION/fonts/otf/}) から
 @file{~/.fonts/} にコピーしてください。
 @item scm
 @cindex Scheme dump (Scheme ダンプ)
@@ -279,7 +305,7 @@ UNIX では、@c
 @item print-pages
 
 すべてのページを生成します。@c
-デフォルトです。@code{-dno-print-pages} は 
+デフォルトです。@code{-dno-print-pages} は
 @code{-dpreview} と組み合わせて使うと有用です。
 
 @end table
@@ -327,22 +353,22 @@ PDF を生成します。@c
 カレント プロセスに対してルート ディレクトリの位置を変更すること。)
 
 @code{--jail} オプションは、@c
-Web サーバを通じて LilyPond 譜刻を実行するときや 
+Web サーバを通じて LilyPond 譜刻を実行するときや
 LilyPond が外部から提供されたソースを実行するときに、@c
 @code{--safe} よりも自由度の高い代替手段を提供します。
 
-@code{--jail} オプションはコンパイル プロセスの開始直前に 
+@code{--jail} オプションはコンパイル プロセスの開始直前に
 @command{lilypond} の ルートを @var{jail} に変更します。@c
 それからユーザとグループを提供された環境にマッチするように変更し、@c
 カレント ディレクトリは @var{dir} に変更されます。@c
-このセットアップは jail (牢獄) から抜け出せないということを 
+このセットアップは jail (牢獄) から抜け出せないということを
 (少なくとも理論的には) 保証します。@c
 @code{--jail} を指定した @command{lilypond} の実行は@c
 root (ユーザ名) として行われる必要があります。@c
 通常、これは @command{sudo} を用いた安全な方法で行われます。
 
 jail のセットアップは少々デリケートな問題です。@c
-LilyPond がソースをコンパイルするのに必要とされるものすべてを 
+LilyPond がソースをコンパイルするのに必要とされるものすべてを
 @emph{jail の内部} で見つけられるということを保証しなければならないからです。@c
 一般的なセットアップには以下の項目が含まれます:
 
@@ -373,20 +399,20 @@ LilyPond は実行中にいくつかのファイルを読み込む必要があ
 LilyPond インストールの内容すべて (例えば、@file{/usr/share/lilypond}) を@c
 コピーすべきです。
 
-問題が発生した場合、その原因を突き止める最も簡単な方法は 
+問題が発生した場合、その原因を突き止める最も簡単な方法は
 @command{strace} を使って LilyPond を実行することです。@c
 これによりどのファイルが見当たらないのかがわかります。
 
 @item LilyPond を実行する
 @code{noexec} でマウントされた jail の中では、@c
 外部プログラムを実行することは一切できません。@c
-そのため、外部プログラムを必要としないバックエンドで 
+そのため、外部プログラムを必要としないバックエンドで
 LilyPond を実行しなければなりません。@c
 すでに述べたように、@c
-jail モードでの LilyPond の実行はスーパーユーザ権限で行われならず 
+jail モードでの LilyPond の実行はスーパーユーザ権限で行われならず
 (もちろん、その権限はすぐに外されます)、@c
 たぶん @command{sudo} を使います。@c
-LilyPond が使用可能な CPU 時間を数秒に制限する 
+LilyPond が使用可能な CPU 時間を数秒に制限する
 (例えば、@command{ulimit -t} を使って) というのは良いアイディアです。@c
 さらに、OS がサポートしているのなら、@c
 割り当て可能なメモリ容量を制限するというのも良いアイディアです。
@@ -397,7 +423,7 @@ LilyPond が使用可能な CPU 時間を数秒に制限する
 バージョン情報を表示します。
 
 @item -V,--verbose
-冗長表示モードにします: 
+冗長表示モードにします:
 読み込むすべてのファイルのフル パスを表示して、時間情報を表示します。
 
 @item -w,--warranty
@@ -406,7 +432,7 @@ GNU LilyPond の保証責任を表示します。@c
 @end table
 
 @node 環境変数
-@subsection 環境変数
+@unnumberedsubsec 環境変数
 @translationof Environment variables
 
 @cindex LANG
@@ -421,7 +447,7 @@ GNU LilyPond の保証責任を表示します。@c
 サブディレクトリを保持しているべきです。
 
 @item LANG
-これはワーニング メッセージの言語を選択します。
+これは警告メッセージの言語を選択します。
 
 @item LILYPOND_GC_YIELD
 この変数を使ってメモリ使用量とパフォーマンスを調節することができます。@c
@@ -432,6 +458,124 @@ GNU LilyPond の保証責任を表示します。@c
 
 @end table
 
+@c 未訳
+@node LilyPond in chroot jail
+@unnumberedsubsec LilyPond in chroot jail
+
+Setting up the server to run LilyPond in a chroot jail is a complicated
+task.  The steps are listed below.  Examples in the steps are from
+Ubuntu Linux, and may require the use of @code{sudo} as appropriate.
+
+@itemize
+
+@item Install the necessary packages: LilyPond, GhostScript, and ImageMagick.
+
+@item Create a new user by the name of @code{lily}:
+
+@example
+adduser lily
+@end example
+
+@noindent
+This will create a new group for the @code{lily} user as well, and a home folder,
+@code{/home/lily}
+
+@item In the home folder of the @code{lily} user create a file to use as a
+separate filesystem:
+
+@example
+dd if=/dev/zero of=/home/lily/loopfile bs=1k count= 200000
+@end example
+
+@noindent
+This example creates a 200MB file for use as the jail filesystem.
+
+@item Create a loop device, make a file system and mount it, then create
+a folder that can be written by the @code{lily} user:
+
+@example
+mkdir /mnt/lilyloop
+losetup /dev/loop0 /home/lily/loopfile
+mkfs -t ext3 /dev/loop0 200000
+mount -t ext3 /dev/loop0 /mnt/lilyloop
+mkdir /mnt/lilyloop/lilyhome
+chown lily /mnt/lilyloop/lilyhome
+@end example
+
+@item In the configuration of the servers, the JAIL will be @code{/mnt/lilyloop}
+and the DIR will be @code{/lilyhome}.
+
+@item Create a big directory tree in the jail by copying the necessary files, as
+shown in the sample script below.
+
+You can use @code{sed} to create the necessary copy commands for a given
+executable:
+
+@example
+for i in "/usr/local/lilypond/usr/bin/lilypond" "/bin/sh" "/usr/bin/;  \
+  do ldd $i | sed 's/.*=> \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\&  \
+    cp -L \/\1\2 \1\2/' | sed 's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p  \
+      \1 \&\& cp -L \/\1\2 \1\2/' | sed '/.*=>.*/d'; done
+@end example
+
+@end itemize
+
+@subheading Example script for 32-bit Ubuntu 8.04
+
+@example
+#!/bin/sh
+## defaults set here
+
+username=lily
+home=/home
+loopdevice=/dev/loop0
+jaildir=/mnt/lilyloop
+# the prefix (without the leading slash!)
+lilyprefix=usr/local
+# the directory where lilypond is installed on the system
+lilydir=/$lilyprefix/lilypond/
+
+userhome=$home/$username
+loopfile=$userhome/loopfile
+adduser $username
+dd if=/dev/zero of=$loopfile bs=1k count=200000
+mkdir $jaildir
+losetup $loopdevice $loopfile
+mkfs -t ext3 $loopdevice 200000
+mount -t ext3 $loopdevice $jaildir
+mkdir $jaildir/lilyhome
+chown $username $jaildir/lilyhome
+cd $jaildir
+
+mkdir -p bin usr/bin usr/share usr/lib usr/share/fonts $lilyprefix tmp
+chmod a+w tmp
+
+cp -r -L $lilydir $lilyprefix
+cp -L /bin/sh /bin/rm bin
+cp -L /usr/bin/convert /usr/bin/gs usr/bin
+cp -L /usr/share/fonts/truetype usr/share/fonts
+
+# Now the library copying magic
+for i in "$lilydir/usr/bin/lilypond" "$lilydir/usr/bin/guile" "/bin/sh"  \
+  "/bin/rm" "/usr/bin/gs" "/usr/bin/convert"; do ldd $i | sed 's/.*=>  \
+    \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/' | sed  \
+      's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/'  \
+        | sed '/.*=>.*/d'; done | sh -s
+
+# The shared files for ghostscript...
+      cp -L -r /usr/share/ghostscript usr/share
+# The shared files for ImageMagick
+      cp -L -r /usr/lib/ImageMagick* usr/lib
+
+### Now, assuming that you have test.ly in /mnt/lilyloop/lilyhome,
+### you should be able to run:
+### Note that /$lilyprefix/bin/lilypond is a script, which sets the
+### LD_LIBRARY_PATH - this is crucial
+      /$lilyprefix/bin/lilypond -jlily,lily,/mnt/lilyloop,/lilyhome test.ly
+@end example
+
+@c " keep quote signs balanced for context-sensitive editors
+
 
 @node エラー メッセージ
 @section エラー メッセージ
@@ -444,7 +588,7 @@ GNU LilyPond の保証責任を表示します。@c
 @table @emph
 
 @item Warning
-@cindex warning (ワーニング)
+@cindex warning (警告)
 何か疑わしいことがあります。@c
 あなたが何か普通でないことをリクエストしている場合は、@c
 そのメッセージを理解して、それを無視することができます。@c
@@ -467,7 +611,7 @@ Warning は通常、入力ファイルに何か問題があることを示して
 @cindex trace, Scheme (Scheme トレース)
 @cindex call trace (トレースを呼び出す)
 @cindex Scheme error (Scheme エラー)
-Scheme コードの実行中に発生するこのエラーは 
+Scheme コードの実行中に発生するこのエラーは
 Scheme インタプリタによって引き起こされます。@c
 冗長オプション (@code{-V} または @code{--verbose}) 付きで実行している場合、@c
 問題となっている関数呼び出しの呼び出し追跡が表示されます。
@@ -511,3 +655,183 @@ test.ly:2:19: error: not a duration: 5
 入力ファイルの示された行にエラーを見つけることができない場合は、@c
 示された位置の 1 行か 2 行上をチェックしてみてください。
 
+エラーについての更なる情報が @ref{一般的なエラー} で提供されています。
+
+
+@node 一般的なエラー
+@section 一般的なエラー
+@translationof Common errors
+
+以下で説明するエラーがしばしば発生しますが、@c
+その原因は明白でなかったり、見つけにくかったりします。@c
+目を通しておくと、それらのエラーに対処しやすくなります。
+
+
+@menu
+* 楽譜がページからはみ出る::
+* 余計な譜が表示される::
+* 見かけ上 ../ly/init.ly のエラーとなる::
+* エラー メッセージ Unbound variable %::
+* エラー メッセージ FT_Get_Glyph_Name::
+* 警告 -- Warning staff affinities should only decrease::
+@end menu
+
+@node 楽譜がページからはみ出る
+@unnumberedsubsec 楽譜がページからはみ出る
+@translationof Music runs off the page
+
+楽譜がページの右マージンを越えてはみ出る、あるいは過度に密集するのは、@c
+ほぼ間違いなく音符の演奏時間に誤りがあり、@c
+小節の最後の音符が小節線を越えてしまうためです。@c
+ある小節の最後の音符が自動的に挿入される小節線の所で終わらなくても@c
+無効ではありません。@c
+なぜなら、その音符は次の小節に持ち越されるためです。@c
+しかしながら、そのような持ち越しが発生する小節が長く続くと、@c
+楽譜は密集して表示されたり、ページからはみ出たりします。@c
+ページからはみ出るのは、@c
+自動改行を挿入できるのは正しく終了する小節
+(その小節のすべての音符が小節の中で終了しています)
+の後ろだけだからです。@c
+
+@warning{誤った演奏時間は改行を抑制し、結果として楽譜が過度に密集したり、c@
+ページからはみ出たりする可能性が生じます。}
+
+小節チェックを使用していれば、誤った演奏時間を簡単に見つけることができます。@c
+@ruser{小節と小節番号のチェック} を参照してください。
+
+あなたがそのような音符が持ち越される小節を続けることを意図しているのであれば、@c
+改行させたい場所に不可視の小節線を挿入する必要があります。@c
+詳細は
+@ruser{小節線} を参照してください。
+
+
+@node 余計な譜が表示される
+@unnumberedsubsec 余計な譜が表示される
+@translationof An extra staff appears
+
+コンテキストが @code{\new} や @code{\context} で明示的に作成されていない場合、@c
+既存のコンテキストには適用できないコマンドに遭遇した時点で@c
+暗黙的に作成されます。@c
+単純な楽譜では、コンテキストの自動作成は有用であり、@c
+LilyPond マニュアルのほとんどの例はこの手法を用いています。@c
+しかしながら、コンテキストの暗黙的な作成はしばしば予期しない譜や楽譜を@c
+発生させてしまいます。@c
+例えば、以下のコードは後に続く譜の中にあるすべての符頭を赤にすることを@c
+意図していますが、@c
+結果は 2 つの譜が表示され、下の譜の符頭の色はデフォルトの黒のままとなります。
+
+@lilypond[quote,verbatim,relative=2]
+\override Staff.NoteHead #'color = #red
+\new Staff { a }
+@end lilypond
+
+これは、(符頭色の) オーバライドが処理される時に
+@code{Staff} コンテキストが存在していないため、@c
+@code{Staff} コンテキストが暗黙的に作成され、@c
+そのコンテキストにオーバライドが適用されるからです。@c
+その後に @code{\new Staff} コマンドにより@c
+もう 1 つ別の @code{Staff} コンテキストが作成され、@c
+そこに音符が配置されます。@c
+すべての符頭を赤にする正しいコードは以下のようになります:
+
+@lilypond[quote,verbatim,relative=2]
+\new Staff {
+  \override Staff.NoteHead #'color = #red
+  a
+}
+@end lilypond
+
+次の例では、@code{\repeat} コマンドの中に @code{\relative} コマンドが@c
+置かれているため、譜が 2 つ生じています。@c
+@code{\repeat} コマンドが 2 つの @code{\relative} ブロックを生成し、@c
+それぞれが暗黙的に @code{Staff} ブロックと @code{Voice} を作成するため、@c
+2 番目の譜は右にずれています。
+
+@lilypond[quote,verbatim]
+\repeat unfold 2 {
+  \relative c' { c4 d e f }
+}
+@end lilypond
+
+明示的に @code{Voice} をインスタンス化することで、この問題は修正されます:
+
+@lilypond[quote,verbatim]
+\new Voice {
+  \repeat unfold 2 {
+    \relative c' { c4 d e f }
+  }
+}
+@end lilypond
+
+
+@node 見かけ上 ../ly/init.ly のエラーとなる
+@unnumberedsubsec 見かけ上 @code{../ly/init.ly} のエラーとなる
+@translationof Apparent error in @code{../ly/init.ly}
+
+入力ファイルが正しく構成されていないと、@c
+@file{../ly/init.ly} に構文エラーがあるという@c
+様々な原因のはっきりしないエラー メッセージが表示されます。@c
+例えば、括弧やクォート記号の数が一致していない場合に@c
+このようなエラーが発生します。
+
+最も一般的なエラーは @code{score} ブロックの終わりに括弧が見当たらない
+(missing brace, (@code{@}})) というエラーです。@c
+この場合の解決方法は明らかです:
+@code{score} ブロックが正しく閉じられているかチェックしてください。@c
+入力ファイルの正しい構造は @rlearning{LilyPond 入力ファイルの仕組み}
+で記述されています。@c
+括弧の一致を自動的にハイライトするエディタを使うと、@c
+そのようなエラーを防ぐのに役立ちます。
+
+次に一般的なエラーの原因は、歌詞ブロックの最後の音節と閉じ括弧 (@code{@}})
+の間に空白が無いために発生します。@c
+空白が無ければ、この閉じ括弧は音節の一部と見なされます。@c
+常に @emph{すべての} 括弧の前後に空白を入れることをお勧めします。@c
+歌詞を用いる場合にこのことが重要になります。@c
+@ruser{Entering lyrics} を参照してください。
+
+
+@node エラー メッセージ Unbound variable %
+@unnumberedsubsec エラー メッセージ Unbound variable %
+@translationof Error message Unbound variable %
+
+@emph{Scheme} 形式のコメントではなく @emph{LilyPond} 形式のコメント@c
+を持つ Scheme ルーチンが呼び出されると、@c
+コンソール出力やログ ファイルの最後にエラー メッセージ
+@qq{Unbound variable %} が @qq{GUILE signalled an error ...}
+と共に表示されます。@c
+
+LilyPond 形式のコメントはパーセント記号 (@code{%}) で始まり、@c
+Scheme ルーチンの中で使うことはできません。@c
+Scheme 形式のコメントはセミコロン (@code{;}) で始まります。
+
+
+@node エラー メッセージ FT_Get_Glyph_Name
+@unnumberedsubsec エラー メッセージ FT_Get_Glyph_Name
+@translationof Error message FT_Get_Glyph_Name
+
+入力ファイルが非 ASCII キャラクタを保持していて、@c
+UTF-8 エンコードで保存されていない場合、@c
+このエラー メッセージがコンソール出力やログ ファイルに表示されます。@c
+詳細は、
+@c @ruser{テキスト エンコーディング}
+@ruser{Text encoding} を参照してください。
+
+
+@node 警告 -- Warning staff affinities should only decrease
+@unnumberedsubsec 警告 -- Warning staff affinities should only decrease
+@translationof Warning staff affinities should only decrease
+
+この警告は、譜刻された出力の中に譜が無い場合に表示されます。@c
+例えば、リード譜に @code{ChordName} コンテキストと @code{Lyrics} コンテキスト@c
+しか無い場合です。@c
+この警告は、入力の始めに以下を挿入することで@c
+譜として振舞うコンテキストを作ることで回避できます:
+
+@example
+\override VerticalAxisGroup #'staff-affinity = ##f
+@end example
+
+@noindent
+詳細は @ruser{Flexible vertical spacing within systems} の中の
+@qq{Spacing of non-staff lines} を参照してください。