@c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*-

@ignore
    Translation of GIT committish: f11513f36c131dab18338d6a3a729e24a927150d

    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.19.21"

@c Translators: Masamichi Hosoda, Tomohiro Tatejima, Yoshiki Sawada, Hiroshi Fukuhara
@c Translation status: post-GDP


@node 外部プログラム
@chapter 外部プログラム
@translationof External programs

LilyPond は様々な方法で他のプログラムと連携することができます。

@menu
* ポイント＆クリック::
* テキスト エディタ サポート::
* 他のフォーマットから変換する::
* LilyPond 出力を他のプログラムで使用する::
* 独立した include::
@end menu

@node ポイント＆クリック
@section ポイント＆クリック
@translationof Point and click

@cindex point and click (ポイント＆クリック)

ポイント＆クリックは PDF ビューアの中で表記をクリックすることで@c
入力の中の表記を見つけ出すことを可能にします。@c
これは楽譜の中でエラーを引き起こす入力を見つけ出すことをより容易にします。

@menu
* ポイント＆クリックのためにシステムを設定する::
* ポイント＆クリックを有効にする::
* 選択的なポイント＆クリック::
@end menu


@node ポイント＆クリックのためにシステムを設定する
@subsection システムを設定する
@translationof Configuring the system for point and click

この機能がアクティブな場合、@c
LilyPond は PDF ファイルや SVG ファイルにハイパーリンクを付け加えます。@c
これらのハイパーリンクは @q{URI ヘルパー}や Web ブラウザに送られ、@c
テキスト エディタを開きカーソルを適切な位置に置きます。

この一連の動作を有効にするには、@c
PDF ビューアが LilyPond で提供される @file{lilypond-invoke-editor}
スクリプトを使ってハイパーリンクを追うように設定変更する必要があります。

プログラム @file{lilypond-invoke-editor} は小さな支援プログラムです。@c
これは特別な @code{textedit} URI に対してエディタを呼び出し、@c
それ以外に対しては Web ブラウザを呼び出します。@c
このプログラムは環境変数 @code{EDITOR} と @code{LYEDITOR} を調べて、@c
ユーザの使用しているエディタを呼び出します。@code{LYEDITOR} は @code{EDITOR}
よりも優先されるため、前者を使用することを推奨します。特に、ターミナル上で@c
常用しているエディタとは別に、LilyPond のポイント アンド クリックのための@c
エディタを指定したい場合には、前者を使用してください。

エディタによって、行位置と列位置を指定してファイルを開くための@c
引数の記法は異なります。ユーザの便宜のために、LilyPond には@c
いくつかのエディタに対するコマンドが予め登録されており、それは
@file{scm/editor.scm} にリストアップされています。そのため、単にエディタの@c
バイナリ名を変数に登録すれば動作します。例えば:

@example
export LYEDITOR=atom
@end example

@noindent
は以下を呼び出します:
@example
atom %(file)s:%(line)s:%(column)s
@end example

@code{%(file)s}, @code{%(line)s}, @code{%(column)s} は@c
それぞれファイル名、行、列で置き換えられます。

@file{scm/editor.scm} にリストアップされていないエディタを使用するには、@c
@code{LYEDITOR} に特定の記法でコマンド全体を登録します。@c
以下は Visual Studio Code を使用する場合の例です:

@example
export LYEDITOR="code --goto %(file)s:%(line)s:%(column)s"
@end example

@warning{Emacs を使用している場合、追加の設定が必要となります。@c
@file{~/.emacs} ファイルに @code{(server-start)} という行を追加する必要が@c
あります。そうしなければ、PDF 内のオブジェクトをクリックする度に@c
新しい Emacs ウィンドウが開いてしまいます。}

@menu
* ポイント＆クリックに Xpdf を使用する::
* ポイント＆クリックに GNOME 2 を使用する::
* ポイント＆クリックに GNOME 3 を使用する::
* Evince のための追加の設定::
@end menu


@node ポイント＆クリックに Xpdf を使用する
@unnumberedsubsubsec Xpdf を使用する
@translationof Using Xpdf for point and click

@cindex Xpdf

UNIX で Xpdf を使用するには、@file{xpdfrc} に以下の記述が存在している必要が@c
あります。UNIX では、このファイルは @file{/etc/xpdfrc} あるいは
@file{$HOME/.xpdfrc} として存在します。

@example
urlCommand     "lilypond-invoke-editor %s"
@end example

Ubuntu を使用している場合、システムにインストールされている Xpdf は全ての
PDF ファイルでクラッシュを引き起こすかもしれません: この状態は数年間@c
続いており、ライブラリの不一致が原因です。代わりに、Debian から現在の@c
バージョンの @samp{xpdf} と対応する @samp{libpoppler} パッケージを@c
インストールすると良いでしょう。これで動作が確認できたら、@c
Ubuntu がクラッシュするパッケージの@q{アップデート}で上書きしないように、

@example
sudo apt-mark hold xpdf
@end example

@noindent
を実行すると良いかもしれません。


@node ポイント＆クリックに GNOME 2 を使用する
@unnumberedsubsubsec GNOME 2 を使用する
@translationof Using GNOME 2 for point and click

(PDF ビューアが統合されている) GNOME 2 を使用するには、@samp{textedit:} URI
をシステムに登録するために、以下のコマンドを実行します:

@smallexample
gconftool-2 -t string -s /desktop/gnome/url-handlers/textedit/command "lilypond-invoke-editor %s"
gconftool-2 -s /desktop/gnome/url-handlers/textedit/needs_terminal false -t bool
gconftool-2 -t bool -s /desktop/gnome/url-handlers/textedit/enabled true
@end smallexample

そうしたら、

@example
gnome-open textedit:///etc/issue:1:0:0
@end example

@noindent
とすることで、ファイルを開くために @file{lilypond-invoke-editor} が実行される@c
はずです。


@node ポイント＆クリックに GNOME 3 を使用する
@unnumberedsubsubsec GNOME 3 を使用する
@translationof Using GNOME 3 for point and click

GNOME 3 では、URI は @q{gconf} ではなく @q{gvfs} レイヤによって処理されます。
@file{/tmp} などのローカル ディレクトリに、@file{lilypond-invoke-editor.desktop}
という名前で、以下の内容を持つファイルを作成してください:

@example
[Desktop Entry]
Version=1.0
Name=lilypond-invoke-editor
GenericName=Textedit URI handler
Comment=URI handler for textedit:
Exec=lilypond-invoke-editor %u
Terminal=false
Type=Application
MimeType=x-scheme-handler/textedit;
Categories=Editor
NoDisplay=true
@end example
そして以下のコマンドを実行してください:
@example
xdg-desktop-menu install ./lilypond-invoke-editor.desktop
xdg-mime default lilypond-invoke-editor.desktop x-scheme-handler/textedit
@end example

そうしたら、

@example
gnome-open textedit:///etc/issue:1:0:0
@end example
@noindent
とすることで、ファイルを開くために @file{lilypond-invoke-editor} が実行される@c
はずです。


@node Evince のための追加の設定
@unnumberedsubsubsec Evince のための追加の設定
@translationof Extra configuration for Evince

@cindex Evince

@code{gnome-open} は動作するが、Evince が権限が無いという理由で@c
ポイント＆クリックを拒否する場合、Evince が実行できるアクションを規定する
Apparmor プロファイルを変更する必要があるかもしれません。

Ubuntu を使用している場合、@file{/etc/apparmor.d/local/usr.bin.evince}
を編集し、以下の行を追加します:

@example
# For Textedit links
/usr/local/bin/lilypond-invoke-editor Cx -> sanitized_helper,
@end example
@noindent

これらを追加したら、

@example
sudo apparmor_parser -r -T -W /etc/apparmor.d/usr.bin.evince
@end example

@noindent
を実行することで、Evince がポイント＆クリックのリンクを開くことができるように@c
なるはずです。他のビューアでも同じような設定が有効であるかもしれません。

@node ポイント＆クリックを有効にする
@unnumberedsubsec ポイント＆クリックを有効にする
@translationof Enabling point and click

@cindex file size, output (出力のファイル サイズ)

ポイント＆クリックの機能は PDF あるいは SVG ファイルを生成する時に@c
デフォルトで有効化されています。

ポイント＆クリックのリンクは出力ファイルを肥大化させます。@c
これらのファイル (と PS ファイル) のサイズを小さくするには、@c
@file{.ly} ファイルの中に以下を記述してポイント＆クリックを OFF にします:

@example
\pointAndClickOff
@end example

@noindent
以下を用いて、ポイント＆クリックを明示的に ON にすることができます:

@example
\pointAndClickOn
@end example

@file{.ly} ファイルの中でポイント＆クリックを OFF にする代わりに@c
コマンド ライン オプションで OFF にすることができます:

@example
lilypond -dno-point-and-click file.ly
@end example

@warning{配布する LilyPond ファイルでは常にポイント＆クリックを OFF にして、@c
PDF ファイルにあなたのコンピュータの Path 情報が含まれないようにすべきです。@c
配布する .pdf ファイルに Path 情報が含まれていると@c
セキュリティ リスクとなります。}

@node 選択的なポイント＆クリック
@unnumberedsubsec 選択的なポイント＆クリック
@translationof Selective point-and-click

インタラクティブなアプリケーションでは、@c
ある特定のポイント＆クリック要素だけを含むことが望ましい場合もあります。@c
例えば、誰かがある特定の音符から演奏を開始できるアプリケーションを作りたいと@c
思った場合、@c
音符をクリックした場合にその音符の上にある臨時記号やスラーの@c
ポイント＆クリックが開いてしまったのでは不便です。

どのイベントをポイント＆クリックに含めるか指定することで、これを制御できます:

@itemize
@item
@file{.ly} ファイルにハード コードする:

@example
\pointAndClickTypes #'note-event
\relative @{
  c'2\f( f)
@}
@end example

あるいは

@example
#(ly:set-option 'point-and-click 'note-event)
\relative @{
  c'2\f( f)
@}
@end example

@item
コマンド ラインで指定する:

@example
lilypond -dpoint-and-click=note-event   example.ly
@end example

@end itemize

複数のイベントを含めることができます:

@itemize
@item
@file{.ly} ファイルにハード コードする:

@example
\pointAndClickTypes #'(note-event dynamic-event)
\relative @{
  c'2\f( f)
@}
@end example

あるいは

@example
#(ly:set-option 'point-and-click '(note-event dynamic-event))
\relative @{
  c'2\f( f)
@}
@end example

@item
コマンド ラインで指定する:

@smallexample
lilypond \
  -e"(ly:set-option 'point-and-click '(note-event dynamic-event))" \
  example.ly
@end smallexample

@end itemize


@node テキスト エディタ サポート
@section テキスト エディタ サポート
@translationof Text editor support

@cindex editors (エディタ)
@cindex vim
@cindex emacs
@cindex modes, editor (エディタのモード)
@cindex syntax coloring (カラーリング構文)
@cindex coloring, syntax (カラーリング構文)

いくつかのテキスト エディタの LilyPond サポート機能があります。

@menu
* Emacs モード::
* Vim モード::
* その他のエディタ::
@end menu


@node Emacs モード
@unnumberedsubsec Emacs モード
@translationof Emacs mode

Emacs は @file{lilypond-mode} を持ちます。@c
これはキーワード自動補完、インデント挿入、LilyPond 特有の括弧一致、@c
構文カラーリング、コンパイルへのショートカット、@c
それに Info を用いての LilyPond マニュアル参照といった機能を持ちます。@c
@file{lilypond-mode} があなたのプラットフォームにインストールされて@c
いないのであれば、以下を参照してください。

楽譜を記述して、LilyPond を実行するための Emacs モードは
@file{elisp} ディレクトリの中にあるソース アーカイブに保持されています。@c
@command{make install} を実行して、@c
これを @var{elispdir} にインストールします。@c
ファイル @file{lilypond-init.el} を @var{load-path}@file{/sites-start.d/} に@c
配置するか、@file{~/.emacs} または @file{~/.emacs.el} に追記する必要があります。

@file{~/.emacs} に以下の行を追記 (あるいは修正) して、@c
ソース パス (例えば @file{~/site-lisp/}) を @var{load-path} に@c
追加した方が良いかもしれません。

@c any reason we do not advise:  (push "~/site-lisp" load-path)
@example
(setq load-path (append (list (expand-file-name "~/site-lisp")) load-path))
@end example


@node Vim モード
@unnumberedsubsec Vim モード
@translationof Vim mode

@uref{https://@/www@/.vim@/.org,Vim} のために
LilyPond 用のファイルタイプ プラグイン、インデント モード、@c
それに構文ハイライト モードが用意されています。@c
これらの機能をすべて有効にするには、@c
@file{$HOME/.vimrc} が以下の 3 行を順序に従って保持するよう追記
(あるいは修正) します:

@example
filetype off
set runtimepath+=/usr/local/share/lilypond/current/vim/
filetype on
syntax on
@end example

@noindent
LilyPond が @file{/usr/local} にインストールされていない場合は@c
パスを適切に変更してください。@c
このトピックは @rlearning{その他の情報源} で議論されています。


@node その他のエディタ
@unnumberedsubsec その他のエディタ
@translationof Other editors

他にも LilyPond をサポートするエディタ
(テキスト ベースとグラフィカル ベースの両方) がありますが、@c
それらの特殊な設定ファイルは LilyPond では配布されません。@c
更なる情報はそれらのエディタのドキュメントを参照してください。@c
LilyPond をサポートするエディタは
@rweb{より簡単な編集手段} でリストアップされています。


@node 他のフォーマットから変換する
@section 他のフォーマットから変換する
@translationof Converting from other formats

楽譜の記述を他のフォーマットからインポートするもできます。@c
この章では、配布プログラムに含まれるインポート ツールについて説明します。
LilyPond 入力を作り出すツールは他にもあります。@c
例えば GUI シーケンスと XML コンバータです。@c
詳細は @uref{https://@/lilypond@/.org,website} を参照してください。

上で述べたツールは @command{lilypond} とは別のプログラムであり、@c
コマンド ラインで実行します。@c
詳細は @ref{コマンド ラインの使用方法} を参照してください。@c
あなたが MacOS 10.3 や 10.4 を使っていて、@c
これらのスクリプト (例えば @code{convert-ly}) を実行する際に問題が@c
発生した場合は、@rweb{MacOS X} を参照してください。

@knownissues
残念なことに我々にはこれらのプログラムを維持していくだけの余力はありません。@c
@qq{これからの課題} になっていると考えてください。@c
パッチは適用されていますが、バグ レポートはほとんど解決されていません。

@menu
* midi2ly を呼び出す::            MIDI をインポートする
* musicxml2ly を呼び出す::        MusicXML をインポートする
* abc2ly を呼び出す::             ABC をインポートする
* etf2ly を呼び出す::             Finale をインポートする
* その他のフォーマット::
@end menu


@node midi2ly を呼び出す
@subsection @command{midi2ly} を呼び出す
@translationof Invoking @command{midi2ly}

@cindex MIDI

@command{midi2ly} は Type@tie{}1 MIDI ファイルを
LilyPond ソース ファイルに変換します。

MIDI (Music Instrument Digital Interface) は電子楽器の標準です:
これはケーブル、シリアル プロトコル、それにファイル フォーマットを指定します。@c
MIDI ファイル フォーマットは音楽を他のプログラムにエクスポートするための@c
デファクトスタンダードなフォーマットです。@c
そのため、MIDI ファイルを扱う機能を持つことは、@c
独自フォーマットを MIDI に変換できるプログラムのファイルを@c
インポートする際に有用です。

@command{midi2ly} はトラックを @rinternals{Staff} コンテキストに変換し、@c
チャネルを @rinternals{Voice} コンテキストに変換します。@c
ピッチには相対モードが使用され、演奏時間は必要がある場合にだけ記述されます。

デジタル キーボードを使って MIDI ファイルを録音し、@c
それを @file{.ly} ファイルに変換することが可能です。@c
しかしながら、人間の演奏者のリズムは LilyPond コンバータにかけられる
MIDI を作り出せるほど正確ではありません。@c
量子化オプション (@option{-s} と @option{-d} オプション) を指定して
@command{midi2ly} を呼び出すと、リズムの誤りを訂正しようとしますが、@c
十分機能するとは言えません。@c
このため、人間の演奏で生成された MIDI ファイルを @command{midi2ly} で@c
変換することはお勧めできません。

@command{midi2ly} は以下のようにコマンド ラインから呼び出します:

@example
midi2ly [@var{option}]@dots{} @var{midi-file}
@end example

@q{コマンド ライン} とは、OS のコマンド ラインを意味しているということに@c
注意してください。@c
このことについての更なる情報は @ref{他のフォーマットから変換する}
を参照してください。

@command{midi2ly} には以下のオプションがあります。

@table @code
@item -a, --absolute-pitches
絶対ピッチで出力します。

@item -d, --duration-quant=@var{DUR}
音符の演奏時間を @var{DUR} で量子化します。

@item -e, --explicit-durations
すべての音符の演奏時間を出力します。

@item -h, --help
使用方法の要約を表示します。

@item -k, --key=@var{acc}[:@var{minor}]
デフォルトの調をセットします。@c
@math{@var{acc} > 0} はシャープの数をセットし、@c
@math{@var{acc} < 0} はフラットの数をセットします。@c
短調は @code{:1} で指定します。

@item -o, --output=@var{file}
@var{file} に出力します。

@item -s, --start-quant=@var{DUR}
音符の始まりを @var{DUR} で量子化します。

@item -t, --allow-tuplet=@var{DUR}*@var{NUM}/@var{DEN}
連符の演奏時間 @var{DUR}*@var{NUM}/@var{DEN} を許可します。

@item -v, --verbose
Verbose モード (ログ等が詳細) で実行します。

@item -V, --version
バージョン番号を表示します。

@item -w, --warranty
保証と著作権を表示します。

@item -x, --text-lyrics
すべてのテキストを歌詞として扱います。
@end table

@knownissues
アルペジオでの音符のオーバラップは正しく変換されません。@c
最初の音符は読み込まれますが、他の音符は無視されます。@c
すべての音符を同時に開始させ、同じ演奏にして、@c
フレーズ記号かペダル指示記号を追加してください。


@node musicxml2ly を呼び出す
@subsection @code{musicxml2ly} を呼び出す
@translationof Invoking @code{musicxml2ly}

@cindex MusicXML

@uref{http://@/www.@/musicxml@/.org/,MusicXML} は音楽記譜を表すための
XML の派生語です。

@command{musicxml2ly} は @q{part-wise}
(時間軸優先ではなくパート優先の) MusicXML
から、音符、アーティキュレーション、楽譜構造、歌詞を抽出し、@c
それらを @file{.ly} ファイルに記述します。@c
このプログラムはコマンド ラインから以下のように呼び出します:

@example
musicxml2ly [@var{option}]@dots{} @var{file.xml}
@end example

@q{コマンド ライン} とは、OS のコマンド ラインを意味しているということに@c
注意してください。@c
このことについての更なる情報は @ref{他のフォーマットから変換する}
を参照してください。

ファイル名に @var{file.xml} ではなく @file{-} を指定すると、@c
@command{musicxml2ly} はすべての入力をコマンド ラインから受け付けます。

@command{musicxml2ly} には以下のオプションがあります。

@table @code
@item -a, --absolute
絶対ピッチで出力します。

@item --fb --fretboards
@code{<frame>} イベントをマークアップではなく、@c
分離された FretBoard ボイスに変換します。

@item -h, --help
使用方法と使用可能なすべてのコマンドラインオプションの概要を表示します。

@item -l, --language=LANG
ピッチ名に @var{LANG} を使用します。@c
例えば、ピッチ名にドイツ語を使用するには 'deutsch' を指定します。

@item --loglevel=@var{LOGLEVEL}
出力の饒舌さを @var{LOGLEVEL} にセットします。@c
取り得る値は @code{NONE}, @code{ERROR}, @code{WARNING},
@code{PROGRESS} (デフォルト), それに @code{DEBUG} です。

@item --lxml
XML 解析に lxml.etree Python パッケージを使用します。@c
これはより少ないメモリと CPU 時間で実行されます。

@item -m, --midi
@var{.ly} ファイル中の MIDI ブロックを有効にします。

@item --nb, --no-beaming
連桁情報を変換せず、LilyPond の自動連桁機能を使用します。

@item --nd, --no-articulation-directions
アーティキュレーションや強弱等の指示 (@code{^}, @code{_} あるいは @code{-})
を変換しません。

@item --nrp, --no-rest-positions
休符の垂直位置を変換しません。

@item --nsb, --no-system-breaks
システムの改行を無視します。

@item --npl, --no-page-layout
ページレイアウトと改行・改ページを変換しません@c
（@code{--nsb} @code{--npb} @code{--npm} オプションのショートカットです）。

@item --npb, --no-page-breaks
改ページを無視します。

@item --npm, --no-page-margins
ページの余白を無視します。

@item --nsd, --no-stem-directions
MusicXML の符幹の向きを無視し、@c
代わりに lilypond の自動にします。

@item -o, --output=@var{FILE}
出力ファイル名を @var{FILE} とします。@c
@var{file} に @file{-} を指定すると、出力は標準出力に表示されます。@c
指定が無い場合、出力は @var{xmlfile}@file{.ly} となります。

@item -r, --relative
ピッチを相対モードに変換します。(デフォルト)

@item --transpose=TOPITCH
ピッチ @code{c} と @var{TOPITCH} 間の度数で移調します。

@item --sm, --shift-meter=BEATS/BEATTYPE
与えられた拍子として音符の長さを変更して、速くしたり遅くしたりします@c
（例: @code{4/4} または @code{2/2}）。

@item --tc, --tab-clef=TABCLEFNAME
タブ音部記号の 2 つのバージョン（@code{tab} と
@code{moderntab}）を切り替えます。

@item --sn --string-numbers=t[rue]/f[alse]
@code{--string-numbers} @code{false}
で文字列番号ステンシルを無効にします。@c
デフォルトは @code{true} です。

@item -v, --verbose
Verbose モード (ログ等が詳細) で実行します。

@item --version
バージョン情報を表示して終了します。

@item -z, --compressed
入力ファイルが ZIP で圧縮された MusicXML ファイルであることを示します。
@end table


@node abc2ly を呼び出す
@subsection @code{abc2ly} を呼び出す
@translationof Invoking @code{abc2ly}

@warning{このプログラムは現在サポートされていません。@c
LilyPond 将来のバージョンからは削除される可能性があります。}

@cindex ABC

ABC は ASCII ベースの非常にシンプルなフォーマットです。@c
このファイル形式について ABC のサイトで説明されています:

@quotation
@uref{http://@/www@/.walshaw@/.plus@/.com/@/abc/@/learn@/.html}.
@end quotation

@command{abc2ly} は ABC から LilyPond に変換を行います。@c
以下のように呼び出します:

@example
abc2ly [@var{option}]@dots{} @var{abc-file}
@end example

@command{abc2ly} には以下のオプションがあります。

@table @code
@item -b, --beams=None
ABC の連桁情報を保持します。

@item -h, --help
このオプション一覧を表示します。

@item -o, --output=@var{file}
出力ファイル名を @var{file} とします。

@item -s, --strict
@c 未訳
be strict about success

@item --version
バージョン情報を表示します。
@end table

LilyPond コードを ABC ソース ファイルに付け加えるための簡単な機能があります。@c
例えば以下のように記述した場合:

@example
%%LY voices \set autoBeaming = ##f
@end example

キーワード @q{voices} の後に続くテキストが
LilyPond 出力ファイルのカレントのボイスに挿入されます。

同様に、

@example
%%LY slyrics more words
@end example

これは、キーワード @q{slyrics} の後に続くテキストを@c
歌詞のカレント行に挿入します。

@knownissues
ABC の標準はあくまでも @q{標準} でしかありません。@c
機能拡張 (例えば、多声音楽) のために、異なる書式があります。

1 つのファイルに複数の旋律を持つものは変換できません。

ABC は行の先頭で単語と音符との同期をとりますが、@c
@command{abc2ly} は同期をとりません。

@command{abc2ly} は ABC の連桁を無視します。


@node etf2ly を呼び出す
@subsection @command{etf2ly} を呼び出す
@translationof Invoking @command{etf2ly}

@warning{このプログラムはサポートされていません。@c
LilyPond 将来のバージョンからは削除される可能性があります。}

@cindex Enigma Transport Format
@cindex ETF
@cindex enigma
@cindex Finale
@cindex Coda Technology

ETF (Enigma Transport Format) は Coda Music Technology の Finale 製品に@c
用いられるフォーマットです。@command{etf2ly} は ETF ファイルの一部を
使用可能な LilyPond ファイルに変換します。

コマンド ラインからは以下のように呼び出します:

@example
etf2ly [@var{option}]@dots{} @var{etf-file}
@end example

@q{コマンド ライン} とは、OS のコマンド ラインを意味しているということに@c
注意してください。@c
このことについての更なる情報は @ref{他のフォーマットから変換する}
を参照してください。

@command{etf2ly} には以下のオプションがあります。

@table @code
@item -h, --help
このヘルプを表示します。
@item -o, --output=@var{FILE}
出力先のファイル名を @var{FILE} にします。
@item --version
バージョン情報を表示します。
@end table

@knownissues
アーティキュレーションの一覧は未完成です。空の小節は @command{etf2ly} を@c
混乱させます。連続する装飾音符は正しく終了しません。


@node その他のフォーマット
@subsection その他のフォーマット
@translationof Other formats

@cindex External programs, generating LilyPond files (LilyPond ファイルを生成する外部プログラム)

LilyPond 自体は他のフォーマットを一切サポートしませんが、@c
外部ツールで LilyPond ファイルを生成することができます。@c
それらのツールは @rweb{より簡単な編集手段} でリストアップされています。


@node LilyPond 出力を他のプログラムで使用する
@section LilyPond 出力を他のプログラムで使用する
@translationof LilyPond output in other programs

このセクションでは、@command{lilypond-book} を用いた自動手法ではない、@c
テキストと楽譜を統合する手法を示します。

@menu
* LuaTeX::
* OpenOffice と LibreOffice::
* 他のプログラム::
@end menu


@node LuaTeX
@subsection Lua@TeX{}
@translationof LuaTeX

@cindex Lua@TeX{}
@cindex lyluatex

@code{lilypond-book} でも LilyPond 出力を組み込むことができますが、
Lua@TeX{} を使用する場合、@c
@uref{https://github.com/jperon/lyluatex/blob/master/README.en.md,lyluatex}
と呼ばれる代替プログラムがあります。


@node OpenOffice と LibreOffice
@subsection OpenOffice と LibreOffice
@translationof OpenOffice and LibreOffice

@cindex OpenOffice.org
@cindex LibreOffice.org
@cindex OOoLilyPond

@uref{https://github.com/openlilylib/LO-ly,OOoLilyPond} を用いて
LilyPond 出力を OpenOffice.org と LibreOffice に付け加えることができます。@c
これは OpenOffice.org のドキュメント内で LilyPond のファイルを画像に変換する
OpenOffice.org の拡張機能です。
OoLilyPond (OLy) は、LibreOffice および OpenOffice の最新バージョンで動作します。@c
古いバージョンでも動作するはずです。OpenOffice 2.4 でも問題なくテストされています。


@node 他のプログラム
@subsection 他のプログラム
@translationof Other programs

@file{PNG}, @file{EPS}, @file{PDF} を扱うことができる他のプログラムでは、@c
@code{lilypond-book} ではなく、@code{lilypond} を使用します。@c
LilyPond 出力ファイルを 1 つずつ作成し挿入する必要があります。
他のソースからファイルを挿入する方法について、それぞれのプログラムの@c
ドキュメントを参照してください。

LilyPond 楽譜の周りの空白を減らすには、以下のオプションを使用します:

@example
\paper@{
  indent=0\mm
  line-width=120\mm
  oddFooterMarkup=##f
  oddHeaderMarkup=##f
  bookTitleMarkup = ##f
  scoreTitleMarkup = ##f
@}

@var{ @dots{} music @dots{} }
@end example

@noindent
@file{EPS} ファイルを生成するには:

@example
lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts myfile.ly
@end example

@noindent
@file{PNG} ファイルを生成するには:

@example
lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts --png myfile.ly
@end example

@noindent
透過 @file{PNG} ファイルを生成するには:

@smallexample
lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts -dpixmap-format=pngalpha --png myfile.ly
@end smallexample

@cindex fragments, music (楽曲の断片)
@cindex quoting, music fragments (楽曲の断片を引用する)
@cindex music fragments, quoting (楽曲の断片を引用する)

大きなスコアから多くの断片を引用したい場合、クリップ機能を用いることが@c
できます。@ruser{音楽の断片を抽出する} を参照してください。


@node 独立した include
@section 独立した @code{include}
@translationof Independent @code{include}s

出力にある効果を生み出すために、LilyPond に @code{\include} することのできる@c
ファイルを作っているユーザがいます。以下にあるものは LilyPond に@c
付属しているものです。@ruser{入力ファイルに取り組む} も参照してください。

@menu
* MIDI アーティキュレーション::
@end menu


@node MIDI アーティキュレーション
@subsection MIDI アーティキュレーション
@translationof MIDI articulation

@cindex MIDI
@cindex Articulate project (Articulate プロジェクト)

@uref{http://www.nicta.com.au/articulate,Articulate} プロジェクトは
LilyPond の MIDI 出力を改善しようとするものです。これは (スラーの中に無い)
音符の長さを、アーティキュレーションに合わせて調整することによって@c
実現されています。例えば、@q{スタッカート}は音長を半分にし、@q{テヌート}は@c
音符いっぱいの音長にします。@ruser{Enhancing MIDI output} を参照してください。
