From: Masamichi Hosoda Date: Fri, 16 Oct 2015 15:28:20 +0000 (+0900) Subject: Doc-ja: updates UA X-Git-Tag: release/2.19.35-1~11 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=79575c7fdd6596cea0489e7054c6df919846375e;p=lilypond.git Doc-ja: updates UA --- diff --git a/Documentation/ja/usage.tely b/Documentation/ja/usage.tely index a604a9b5f2..c6da8cbd8e 100644 --- a/Documentation/ja/usage.tely +++ b/Documentation/ja/usage.tely @@ -1,13 +1,13 @@ \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*- @ignore - Translation of GIT committish: 3c62ac104645533873bba800f7b0f371089f535a + Translation of GIT committish: 2429e825c154f15cda52cf8a44f12e23d9f6a1e6 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 -@setfilename lilypond-program.info +@setfilename lilypond-usage.info @settitle GNU LilyPond -- アプリケーション使用方法 @documentencoding UTF-8 @documentlanguage ja @@ -15,11 +15,16 @@ @macro manualIntro このマニュアルは LilyPond バージョン @version{} で配布される@c -プログラムの実効方法について説明します。@c +プログラムの実行方法について説明します。@c さらに、効率的な使用方法について提案します。 @end macro -@c `Usage' was born 1999-10-10 with git commit c82c30c... +@c `Usage' was born 1999-10-11 with this commit: +@c release: 1.2.13 +@c author: Han-Wen Nienhuys +@c commit: 0cf97b5cdceecbba937f43ac827f4065aad5001e +@c file: Documentation/user/invoking.itexi + @macro copyrightDeclare Copyright @copyright{} 1999--2015 by the authors. @end macro @@ -37,7 +42,7 @@ Copyright @copyright{} 1999--2015 by the authors. @omflanguage Japanese @end ignore -@c Translators: Yoshiki Sawada +@c Translators: Masamichi Hosoda, Yoshiki Sawada @c Translation status: post-GDP diff --git a/Documentation/ja/usage/running.itely b/Documentation/ja/usage/running.itely index b51b5abe45..980d2a5cf0 100644 --- a/Documentation/ja/usage/running.itely +++ b/Documentation/ja/usage/running.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*- @ignore - Translation of GIT committish: fabcd22c8f88ea9a87241597f1e48c0a9adbfc6e + Translation of GIT committish: 2429e825c154f15cda52cf8a44f12e23d9f6a1e6 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -10,7 +10,7 @@ @c \version "2.19.21" -@c Translators: Yoshiki Sawada +@c Translators: Masamichi Hosoda, Yoshiki Sawada @c Translation status: post-GDP @node lilypond を実行する @@ -47,7 +47,8 @@ lilypond ファイルを書くのに代替のエディタを使用するので コマンド ラインからしか利用できません。 ここで @q{コマンド ライン} とは、OS の中にあるコマンド ラインを意味します。@c -Windows ユーザは @q{DOS シェル} という言葉の方が馴染みがあるかもしれません。@c +Windows ユーザは @q{DOS シェル} や @q{コマンド シェル} @q{コマンド プロンプト} +という言葉の方が馴染みがあるかもしれません。@c MaxOS@tie{}X ユーザは @q{ターミナル} や @q{コンソール} という言葉の方が@c 馴染みがあるかもしれません。@c MaxOS@tie{}X ユーザは追加のセットアップが必要かもしれません。@c @@ -59,14 +60,14 @@ OS のコマンド ラインの使用方法についての説明は@c その内容を扱っている他のドキュメントをあたってください。 @menu -* lilypond を呼び出す:: +* LilyPond を呼び出す:: * LilyPond の基本的なコマンド ライン オプション:: * LilyPond の高度なコマンド ライン オプション:: * 環境変数:: * chroot jail 環境で LilyPond を実行する:: @end menu -@node lilypond を呼び出す +@node LilyPond を呼び出す @unnumberedsubsec @command{lilypond} を呼び出す @translationof Invoking lilypond @@ -91,44 +92,95 @@ lilypond は出力として @file{filename.ps} と @file{filename.pdf} を作り そのため、Scheme 内部からいかなるシステム デフォルトも変更しないよう@c 注意してください。} -@file{filename.ly} が複数の @code{\score} を含んでいる場合、@c -2 つ目以降の score は +@file{filename.ly} が複数の @code{\book} ブロックを含んでいる場合、@c +残りのの score は @file{filename-1.pdf} から始まる番号付きのファイルに出力されます。@c さらに、@code{output-suffix} がベース名と番号の間に挿入されます。@c 以下の内容を含んでいる入力ファイルは @example #(define output-suffix "violin") -\book @{ @dots{} @} +\score @{ @dots{} @} #(define output-suffix "cello") -\book @{ @dots{} @} +\score @{ @dots{} @} @end example @noindent @var{base}@file{-violin.pdf} と @var{base}@file{-cello-1.pdf} を出力します。 -@unnumberedsubsubsec 標準シェル コマンド +@unnumberedsubsubsec 標準シェルで LilyPond を使う -シェル (例えばコマンド ウィンドウ) がリダイレクトをサポートしているのであれば、@c -以下のコマンドでコンソール出力をファイルにリダイレクトすると役に立つかもしれません。 +LilyPond はコマンドラインアプリケーションなので、@c +LilyPond を呼び出すために @q{シェル} の機能をうまく利用することができます。 -@itemize +例えば: -@item -@code{lilypond file.ly 1>stdout.log} 通常出力をリダイレクトします +@example +lilypond *.ly +@end example -@item -@code{lilypond file.ly 2>stderr.log} エラー メッセージをリダイレクトします。 +@noindent +は、カレントディレクトリのすべての LilyPond ファイルを処理できるでしょう。 -@item -@code{lilypond file.ly &>all.log} すべての出力をリダイレクトします +コンソール出力をリダイレクトする(例えばファイルへ)のも@c +有用でしょう。 -@end itemize +@example +lilypond file.ly 1> stdout.txt + +lilypond file.ly 2> stderr.txt -あなたの使用しているシェルがこれらのオプションをサポートしているかどうか、@c +lilypond file.ly &> all.txt +@end example + +@noindent +それぞれ @q{普通の} 出力、@q{エラー} のみ、@q{すべて} 、 +をファイルにリダイレクトします。@c + +あなたの使用しているシェル、コマンドプロンプト (Windows)、@c +ターミナルやコンソール (MacOS X) がリダイレクトをサポートしているか、@c あるいは構文が異なるかどうかは、そのシェルのドキュメントを調べてください。@c -これらはシェル コマンドであり、lilypond とは無関係です。 + +以下は、カレントディレクトリ以下のすべての入力ファイルを再帰的に探し、@c +処理する例です。@c +出力ファイルは元の入力ファイルのあるディレクトリではなく、@c +コマンドを実行したディレクトリに置かれます。 + +@example +find . -name '*.ly' -exec lilypond '@{@}' \; +@end example + +@noindent +これは MacOS@tie{}X ユーザでも使えるでしょう。 + +Windows ユーザは; + +@example +forfiles /s /M *.ly /c "cmd /c lilypond @@file" +@end example + +@noindent +スタートメニューから +@code{スタート > アクセサリ > コマンドプロンプト} +とたどるか、Windows 8 であれば@c +検索ウィンドウで @q{コマンドプロンプト} と入力して、 +@code{コマンド プロンプト} を起動し、@c +これらのコマンドを入力します。 + +または、入力ファイルを含むすべてのサブフォルダを含む、@c +最上位のフォルダを明示的に指定できる @code{/p} オプションもあります; + +@example +forfiles /s /p C:\Documents\MyScores /M *.ly /c "cmd /c lilypond @@file" +@end example + +最上位フォルダ名がスペース文字を含む場合は、@c +パス全体をダブルクオーテーションで囲む必要があります。; + +@example +forfiles /s /p "C:\Documents\My Scores" /M *.ly /c "cmd /c lilypond @@file" +@end example @node LilyPond の基本的なコマンド ライン オプション @@ -144,6 +196,34 @@ lilypond は出力として @file{filename.ps} と @file{filename.pdf} を作り @table @code +@item -b, --bigpdfs +@cindex bigpdfs + +通常より大きい PDF ファイルを生成します。@c +(フォント最適化がほんの少しかまったく無くなるため。)@c +しかし、2 つ以上の PDF ファイルを +@w{@code{pdftex}}、@w{@code{xetex}} や @w{@code{luatex}} +ドキュメントの中に組み込む場合、@c +さらに ghostscript 処理で重複するフォントデータを統合し、@c +@emph{著しく} 小さい PDF ファイルを得ることができます。 + +@example +lilypond -b myfile +@end example + +それから @code{ghostscript} を呼び出します。 + +@example +gs -q -sDEVICE=pdfwrite -o gsout.pdf myfile.pdf +@end example + +@code{pdfsizeopt.py} は、さらにサイズの最適化ができます。 + +@example +pdfsizeopt.py --use-multivalent=no gsout.pdf final.pdf +@end example + + @item -d, --define-default=@var{var}=@var{val} @ref{Advanced command line options for LilyPond} を参照してください。 @@ -211,6 +291,7 @@ init ファイルとして @var{file} をセットします (デフォルト: @f Web サーバ経由で LilyPond 譜刻を提供する時や LilyPond が外部ソースから送られてきたコマンドを実行する時に、@c @code{--dsafe} よりも自由度の高い代替手段を提供します。 +(@ref{Advanced command line options for LilyPond} を参照してください。) @code{--jail} オプションはコンパイル プロセスの開始直前に @command{lilypond} のルート ディレクトリを @var{jail} に変更します。@c @@ -265,7 +346,7 @@ LilyPond インストールの内容すべて (例えば、@file{/usr/share/lily そのため、外部プログラムを必要としないバックエンドで LilyPond を実行しなければなりません。@c すでに述べたように、@c -jail モードでの LilyPond の実行はスーパーユーザ権限で行われならず +jail モードでの LilyPond の実行はスーパーユーザ権限で行われなければならず (もちろん、その権限はすぐに外されます)、@c たぶん @command{sudo} を使います。@c LilyPond が使用可能な CPU 時間を数秒に制限する @@ -298,7 +379,7 @@ LilyPond が使用可能な CPU 時間を数秒に制限する 出力します。 @item PROGRESS -しべての進捗メッセージ、警告とエラー メッセージを出力します。 +すべての進捗メッセージ、警告とエラー メッセージを出力します。 @item INFO (デフォルト) 進捗メッセージ、警告、エラーそれに追加の実行情報を出力します。 @@ -314,7 +395,8 @@ LilyPond が使用可能な CPU 時間を数秒に制限する @item -o, --output=@var{FILE} or @var{FOLDER} デフォルトの出力ファイルとして @var{FILE} をセットします。@c -セットした名前のフォルダが存在する場合、そのフォルダに出力されます。@c +セットした名前のフォルダが存在する場合、そのフォルダに、@c +入力ファイルから取ったファイル名で出力されます。@c 適切な接尾辞が追加されます (つまり、pdf ならば拡張子 @code{.pdf} が追加されます)。 @@ -363,16 +445,18 @@ GNU LilyPond の保証責任を表示します。@c @table @code -@item -d@var{[option-name]}=@var{[value]},--define-default=@var{[option-name]}=@var{[value]} +@item -d@var{[option-name]}=@var{[value]}, +--define-default=@var{[option-name]}=@var{[value]} これは内部 Scheme 関数に @var{value} をセットします。@c +例えば、 @example -dbackend=svg @end example -@var{value} が提供されない場合、デフォルト値が使われます。@c +@var{value} が指定されない場合、デフォルト値が使われます。@c 例えば、@var{option-name} に接頭辞 @code{no-} を付けると、そのオプションは -@q{off} なります +@q{off} になります @cindex point and click, command line (コマンド ラインでポイント&クリックを指定する) @@ -402,44 +486,66 @@ GNU LilyPond の保証責任を表示します。@c @item @code{aux-files} @tab @code{#t} -@tab @code{EPS} バックエンドの中に @code{.tex}, @code{.texi}, +@tab @code{eps} バックエンドを使うときに @code{.tex}, @code{.texi}, @code{.count} ファイルを作成します。 @item @code{backend} @tab @code{ps} -@tab バックエンドを選択します。Postscript ファイル (デフォルト) は@c -@code{TTF}, @code{Type1}, それに @code{OTF} フォントを内包します。@c +@tab デフォルト設定です。Postscript ファイル (デフォルト) は@c +@code{TTF}, @code{Type1}, それに @code{OTF} フォントを埋め込みます。@c フォントのサブセットは作成されません。@c -@q{東洋} の文字セットを用いるとファイルが非常に大きくなる可能性があります。 +@q{東洋} の文字セットを用いるとファイルが非常に大きくなる可能性が@c +あることに注意してください。 @item @tab @code{eps} -@tab Encapsulated PostScript。これはフォントを持たないページ (段) 毎の -@file{EPS} ファイルと、フォントを内包するすべてのページ (段) を 1 つに@c -まとめた @file{EPS} ファイルを吐き出します。@c -@command{lilypond-book} はデフォルトでこのオプションを使用します。 +@tab @command{lilypond-book} コマンドのデフォルトです。@c +これは、1 つのファイルにすべてのページとフォントを埋め込んだものと、@c +ページ毎に分離しフォントを埋め込まない eps ファイルの、両方を吐き出します。 @item @tab @code{null} @tab 楽譜を出力しません。@code{-dno-print-pages} と同じ効果を持ちます。 -@item -@tab @code{svg} -@tab Scalable Vector Graphics。これはページ毎に埋め込みフォントを持たない -@code{SVG} ファイルを作成します。@c -最適な描画を得るために、Century Schoolbook フォントをインストールすること@c -を推奨します。このフォントは LilyPond のインストールに含まれています。@c -UNIX では、このフォントを LilyPond ディレクトリ (通常は、 -@file{/usr/share/lilypond/VERSION/fonts/otf/}) から @file{~/.fonts/} に@c -コピーするだけです。この @code{SVG} 出力は任意の SVG エディタやユーザ -エージェントと互換性があります。@c -SVG バックエンドの中で woff フォント ファイルを使うためのオプション -@code{svg-woff} (この表の下にあります) もあります。 - @item @tab @code{scm} @tab 内部的な Scheme ベースの描画コマンドを吐き出します。 +@item +@tab @code{svg} +@tab ページ毎の SVG ファイルが全ページ分作られます。@c +LilyPond 自身の音楽グリフを除き、フォントは埋め込まれません。@c +そのため、テキストや歌詞の最適な描画を得るためには、@c +SVG ビュアーにフォントが必要となります。@c +SVG ビュアーが対応していないことがあるので、@c +@q{フォントエイリアス} や @q{フォントリスト} を使用しないことをお勧めします。@c +@emph{Web Open Font Format} (WOFF) ファイルを使うときには、@c +追加の @code{svg-woff} スイッチが必要となります。 +@end multitable + +@noindent +@strong{SVG バッグエンド出力の注意:} +LilyPond のデフォルトフォント(@code{LilyPond Serif}, +@code{LilyPond Sans Serif} と @code{LilyPond Monospace})は、@c +まさに @emph{ローカル} フォントエイリアスです。@c +そのため、@code{svg} バックエンドを使う場合は、@c +ソースファイルで明示的にデフォルトフォントを設定する必要があります; + +@quotation +@verbatim +\paper { + #(define fonts + (make-pango-font-tree "TeX Gyre Schola" + "TeX Gyre Heros" + "TeX Gyre Cursor" + (/ staff-height pt 20))) +} +@end verbatim +@end quotation + +@ruser{ドキュメント全体のフォント} も参照してください。 + +@multitable @columnfractions .33 .16 .51 @c 未訳 @item @code{check-internal-types} @tab @code{#f} @@ -447,7 +553,10 @@ SVG バックエンドの中で woff フォント ファイルを使うための @item @code{clip-systems} @tab @code{#f} -@tab Generate cut-out snippets of a score. +@tab Extract music fragments out of a score. This requires that the +@code{clip-regions} function has been defined within the @code{\layout} +block. See @ruser{Extracting fragments of music}. No fragments are +extracted though if used with the @option{-dno-print-pages} option. @item @code{datadir} @tab @@ -512,7 +621,7 @@ for @code{`-ddebug-gc'}. @item @code{gs-load-lily-fonts} @tab @code{#f} -@tab Ghostscript 経由でフォントだけを読み込みます。 +@tab LilyPond のフォントだけを Ghostscript 経由で読み込みます。 @item @code{gui} @tab @code{#f} @@ -570,11 +679,6 @@ for @code{`-ddebug-gc'}. @tab @code{#f} @tab Convert text strings to paths when glyphs belong to a music font. -@item @code{old-relative} -@tab @code{#f} -@tab 同時進行する音楽のための @code{\relative} モードを和音構文と同じように@c -機能させます。 - @item @code{paper-size} @tab @code{\"a4\"} @tab デフォルトの紙面サイズを設定します。文字列をエスケープ記号付の 2 重@c @@ -585,8 +689,8 @@ for @code{`-ddebug-gc'}. @tab 画像出力のための GhostScript の出力フォーマットを設定します。 @item @code{point-and-click} -@tab @code{#f} -@tab @code{PDF} 出力に @q{ポイント&クリック} リンクを付け加えます。@c +@tab @code{#t} +@tab PDF と SVG 出力に @q{ポイント&クリック} リンクを付け加えます。@c @ref{Point and click} を参照してください。 @item @code{preview} @@ -653,9 +757,9 @@ Web サーバ経由で LilyPond 譜刻が利用可能な場合、@option{--safe} @quotation @verbatim -#(system "rm -rf /") +#(s ystem "rm -rf /") % 正しく書くのはあまりにも危険 { - c4^$(ly:gulp-file "/etc/passwd") + c4^$(ly:gulp-file "/etc/passwd") % 破壊的ではないが悪意がある } @end verbatim @end quotation @@ -678,7 +782,7 @@ Web サーバ経由で LilyPond 譜刻が利用可能な場合、@option{--safe} そのため、LilyPond を一般公開する Web サーバで使用する場合、プロセスの@c CPU とメモリ使用を制限すべきです。 -セーフ モードは多くの有用な LilyPond 楽譜断片がコンパイルすることを@c +セーフ モードは多くの有用な LilyPond 楽譜断片がコンパイルされることを@c 妨げます。 @option{--jail} はさらに安全な代替手段ですが、セットアップにかかる手間も@c @@ -687,8 +791,8 @@ CPU とメモリ使用を制限すべきです。 @multitable @columnfractions .33 .16 .51 @item @code{separate-log-files} @tab @code{#f} -@tab 入力ファイル @code{FILE1.ly}, @code{FILE2.ly}, ... に対するログ -データをファイル @code{FILE1.log}, @code{FILE2.log}, ... に出力します。 +@tab 入力ファイル @code{FILE1.ly}, @code{FILE2.ly}, 等に対するログ +データをファイル @code{FILE1.log}, @code{FILE2.log}@dots{} に出力します。 @item @code{show-available-fonts} @tab @code{#f} @@ -704,9 +808,27 @@ CPU とメモリ使用を制限すべきです。 @tab 出力ファイル名を構築する時に入力ファイルのディレクトリを使用@c しません。 +@c 未訳 +@item @code{strokeadjust} +@tab @code{#f} +@tab Force PostScript stroke adjustment. This option is mostly +relevant when a PDF is generated from PostScript output (stroke +adjustment is usually enabled automatically for low-resolution bitmap +devices). Without this option, PDF previewers tend to produce widely +inconsistent stem widths at resolutions typical for screen display. The +option does not noticeably affect print quality and causes large file +size increases in PDF files. + @item @code{svg-woff} @tab @code{#f} -@tab SVG バックエンドの中で woff フォントを使用します。 +@tab このオプションは @code{svg} バックエンドで Web Open Format (WOFF) +フォントを使うために必要となります。@c +ページ毎の SVG ファイルが全ページ分作られます。@c +LilyPond 自身の音楽グリフを除き、フォントは埋め込まれません。@c +そのため、テキストや歌詞の最適な描画を得るためには、@c +SVG ビュアーにフォントが必要となります。@c +SVG ビュアーが対応していないことがあるので、@c +@q{フォントエイリアス} や @q{フォントリスト} を使用しないことをお勧めします。@c @item @code{trace-memory-frequency} @tab @code{#f} @@ -967,6 +1089,11 @@ test.ly:2:19: error: not a duration: 5 入力ファイルの示された行にエラーを見つけることができない場合は、@c 示された位置の 1 行か 2 行上をチェックしてみてください。 +診断は多くの処理段階のあらゆる時点で発生し得ることに注意してください。@c +例えば、入力が複数回処理される(つまり、MIDI とレイアウト出力)@c +または同じ音楽変数がコンテキストで使われると、@c +同じメッセージが何回か現れることがあります。 + エラーについての更なる情報が @ref{一般的なエラー} で提供されています。 @@ -985,6 +1112,8 @@ test.ly:2:19: error: not a duration: 5 * エラー メッセージ Unbound variable %:: * エラー メッセージ FT_Get_Glyph_Name:: * 警告 -- Warning staff affinities should only decrease:: +* Error message unexpected new:: +* Warning this voice needs a voiceXx or shiftXx setting:: @end menu @node 楽譜がページからはみ出る @@ -1052,29 +1181,6 @@ LilyPond マニュアルのほとんどの例はこの手法を用いていま } @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'4 d e f } -} -@end lilypond - -明示的に @code{Voice} をインスタンス化することで、この問題は修正されます: - -@lilypond[quote,verbatim] -\new Voice { - \repeat unfold 2 { - \relative { c'4 d e f } - } -} -@end lilypond - - @node エラー メッセージ Unbound variable % @unnumberedsubsec エラー メッセージ Unbound variable % @translationof Error message Unbound variable % @@ -1116,3 +1222,88 @@ UTF-8 エンコードで保存されていない場合、@c @noindent 詳細は @ruser{システム内部の可変な垂直方向のスペース} の @qq{譜ではない行のスペース} を参照してください。 + + +@node Error message unexpected new +@unnumberedsubsec Error message unexpected @code{@bs{}new} + +A @code{\score} block must contain a @emph{single} music expression. +If instead it contains several @code{\new Staff}, +@code{\new StaffGroup} or similar contexts introduced with @code{\new} +without them being enclosed in either curly brackets, +@code{@{ @dots{} @}}, or double angle brackets, @code{<< @dots{} >>}, +like this: + +@example +\score @{ + % Invalid! Generates error: syntax error, unexpected \new + \new Staff @{ @dots{} @} + \new Staff @{ @dots{} @} +@} +@end example + +@noindent +the error message will be produced. + +To avoid the error, enclose all the @code{\new} statements in +curly or double angle brackets. + +Using curly brackets will introduce the @code{\new} statements +sequentially: + +@lilypond[quote,verbatim] +\score { + { + \new Staff { a' a' a' a' } + \new Staff { g' g' g' g' } + } +} +@end lilypond + +@noindent +but more likely you should be using double angle brackets so the new +staves are introduced in parallel, i.e. simultaneously: + +@lilypond[quote,verbatim] +\score { + << + \new Staff { a' a' a' a' } + \new Staff { g' g' g' g' } + >> +} +@end lilypond + +@node Warning this voice needs a voiceXx or shiftXx setting +@unnumberedsubsec Warning this voice needs a @code{@bs{}voiceXx} + or @code{@bs{}shiftXx} setting + +If notes from two different voices with stems in the same direction +occur at the same musical moment, but the voices have no +voice-specific shifts specified, the warning message +@samp{warning: this voice needs a \voiceXx or \shiftXx setting} will appear +when compiling the LilyPond file. This warning will appear even when +the notes have no visible stems, e.g. whole notes, if the stems for +shorter notes at the same pitch would be in the same direction. + +Remember that the stem direction depends on the position of the +note on the staff unless the stem direction is specified, for example +by using @code{\voiceOne}, etc. In this case the warning will appear +only when the stems happen to be in the same direction, i.e. when the +notes are in the same half of the staff. + +By placing the notes in voices with stem directions and shifts +specified, for example by using @code{\voiceOne}, etc., these warnings +may be avoided. + +Notes in higher numbered voices, @code{\voiceThree} etc., are +automatically shifted to avoid clashing note columns. This causes a +visible shift for notes with stems, but whole notes are not visibly +shifted unless an actual clash of the note heads occurs, or when the +voices cross over from their natural order (when @code{\voiceThree} +is higher than @code{\voiceOne}, etc.) + +@seealso +@rlearning{Explicitly instantiating voices}, +@rlearning{Real music example}, +@ruser{Single-staff polyphony}, +@ruser{Collision resolution}.