diff options
41 files changed, 7786 insertions, 306 deletions
diff --git a/Documentation/ja/index.html.in b/Documentation/ja/index.html.in index 97420aa591..5ec032dd04 100644 --- a/Documentation/ja/index.html.in +++ b/Documentation/ja/index.html.in @@ -35,15 +35,15 @@ <li> <a class="title" href="user/lilypond-learning/index.ja.html">学習マニュアル</a> -(in <a class="title" href="user/lilypond-learning-big-page.ja.html">大きな 1 ページ</a> ~ 1.5 MB, -in <a class="title" href="user/lilypond-learning.ja.pdf">PDF</a>) +(<a class="title" href="user/lilypond-learning-big-page.ja.html">大きな 1 ページ</a> 形式 ~ 1.5 MB)<!--, +<a class="title" href="user/lilypond-learning.ja.pdf">PDF</a> 形式) +--> <br>(ここから始めてください)</li> <li><a class="title" href="user/music-glossary/index.html">音楽用語集</a> -(in <a class="title" href="user/music-glossary-big-page.html">大きな 1 ページ</a> ~ 500 kB, -in <a class="title" href="user/music-glossary.pdf">PDF</a>) - +(<a class="title" href="user/music-glossary-big-page.html">大きな 1 ページ</a> 形式 ~ 500 kB), +<a class="title" href="user/music-glossary.pdf">PDF</a> 形式) <br>(非英語圏のユーザ向け)</li> </ul> </td> @@ -64,15 +64,17 @@ in <a class="title" href="user/music-glossary.pdf">PDF</a>) <ul> <li> <a class="title" href="user/lilypond/index.ja.html">表記リファレンス</a> -(in <a class="title" href="user/lilypond-big-page.ja.html">大きな 1 ページ</a> ~ 4 MB, -in <a class="title" href="user/lilypond.ja.pdf">PDF</a>) +(<a class="title" href="user/lilypond-big-page.ja.html">大きな 1 ページ</a> 形式 ~ 4 MB)<!--, +<a class="title" href="user/lilypond.ja.pdf">PDF</a> 形式) +--> <br>(音楽を LilyPond で記述する)</li> <li> <a class="title" href="user/lilypond-internals/index.ja.html">内部リファレンス</a> - (in <a class="title" href="user/lilypond-internals-big-page.ja.html">大きな 1 ページ</a> ~ 1 MB, - in <a class="title" href="user/lilypond-internals.ja.pdf">PDF</a>) + (<a class="title" href="user/lilypond-internals-big-page.ja.html">大きな 1 ページ</a> 形式 ~ 1 MB)<!--, + <a class="title" href="user/lilypond-internals.ja.pdf">PDF</a> 形式) +--> <br>(調整のための定義)</li> </ul> @@ -82,13 +84,15 @@ href="user/lilypond-internals/index.ja.html">内部リファレンス</a> <li> <a class="title" href="user/lilypond-program/index.ja.html">アプリケーションの使用方法</a> -(in <a class="title" href="user/lilypond-program-big-page.ja.html">大きな 1 ページ</a>, -in <a class="title" href="user/lilypond-program.ja.pdf">PDF</a>) +(<a class="title" href="user/lilypond-program-big-page.ja.html">大きな 1 ページ</a> 形式)<!--, +<a class="title" href="user/lilypond-program.ja.pdf">PDF</a> 形式) +--> <br>(プログラムをインストールして実行する方法)</li> <li><a class="title"href="../input/lsr/lilypond-snippets/index.html">断片集</a> -(in <a class="title" href="../input/lsr/lilypond-snippets-big-page.html">大きな 1 ページ</a> ~ 2MB, -in <a class="title" href="user/lilypond-snippets.pdf">PDF</a>) +(<a class="title" href="../input/lsr/lilypond-snippets-big-page.html">大きな 1 ページ</a> 形式 ~ 2MB)<!--, +<a class="title" href="user/lilypond-snippets.pdf">PDF</a> 形式) +--> <br>(Short tricks, tips, and examples)</li> </ul> diff --git a/Documentation/ja/translations.html.in b/Documentation/ja/translations.html.in index d4ece742bd..fcc562ab83 100644 --- a/Documentation/ja/translations.html.in +++ b/Documentation/ja/translations.html.in @@ -1,4 +1,4 @@ - <p><i>最終更新日 Mon Feb 2 09:06:16 UTC 2009 + <p><i>最終更新日 Wed Feb 11 05:35:26 UTC 2009 </i></p> <html> <!-- This page is automatically generated by translation-status.py from @@ -53,7 +53,7 @@ translations.template.html.in; DO NOT EDIT !--> <td>1 導入部<br>(3855)</td> <td>Yoshiki Sawada</td> <td></td> - <td><span style="background-color: #dfef77">一部 (80 %)</span></td> + <td><span style="background-color: #1fff1f">はい</span></td> <td><span style="background-color: #1fff1f">はい</span></td> <td>post-GDP</td> </tr> @@ -74,36 +74,95 @@ translations.template.html.in; DO NOT EDIT !--> <td>post-GDP</td> </tr> <tr align="left"> - <td>4 Tweaking output<br>(14775)</td> + <td>4 出力を調整する<br>(14775)</td> + <td>Yoshiki Sawada</td> <td></td> + <td><span style="background-color: #1fff1f">はい</span></td> + <td><span style="background-color: #1fff1f">はい</span></td> + <td>post-GDP</td> + </tr> + <tr align="left"> + <td>5 LilyPond プロジェクトに取り組む<br>(3144)</td> + <td>Yoshiki Sawada</td> <td></td> - <td><span style="background-color: #d0f0f8">いいえ</span></td> + <td><span style="background-color: #1fff1f">はい</span></td> + <td><span style="background-color: #25fe1f">partially</span></td> + <td>post-GDP</td> + </tr> + <tr align="left"> + <td>A テンプレート<br>(483)</td> + <td>Yoshiki Sawada</td> <td></td> - <td>pre-GDP</td> + <td><span style="background-color: #1fff1f">はい</span></td> + <td><span style="background-color: #1fff1f">はい</span></td> + <td>post-GDP</td> </tr> <tr align="left"> - <td>5 Working on LilyPond projects<br>(3144)</td> + <td>B Scheme tutorial<br>(960)</td> <td></td> <td></td> <td><span style="background-color: #d0f0f8">いいえ</span></td> <td></td> <td>pre-GDP</td> </tr> +</table> +<p></p> + +<table align="center" border="2"> + <tr align="center"> + <th>GNU LilyPond --- アプリケーション使用方法</th> <th>翻訳者</th> + <th>翻訳点検者</th> + <th>翻訳済み</th> + <th>最新</th> + <th>その他の情報</th> + </tr> <tr align="left"> - <td>A Templates<br>(483)</td> + <td>セクション タイトル<br>(407)</td> + <td>Yoshiki Sawada</td> <td></td> + <td><span style="background-color: #1fff1f">はい</span></td> + <td><span style="background-color: #33ff21">partially</span></td> + <td>post-GDP</td> + </tr> + <tr align="left"> + <td>1 インストール<br>(1901)</td> + <td>Yoshiki Sawada</td> <td></td> - <td><span style="background-color: #d0f0f8">いいえ</span></td> + <td><span style="background-color: #dfef77">一部 (11 %)</span></td> + <td><span style="background-color: #33ff21">partially</span></td> + <td>post-GDP</td> + </tr> + <tr align="left"> + <td>2 セットアップ<br>(1149)</td> + <td>Yoshiki Sawada</td> <td></td> - <td>pre-GDP</td> + <td><span style="background-color: #1fff1f">はい</span></td> + <td><span style="background-color: #1fff1f">はい</span></td> + <td>post-GDP</td> </tr> <tr align="left"> - <td>B Scheme tutorial<br>(960)</td> + <td>3 LilyPond を実行する<br>(2827)</td> + <td>Yoshiki Sawada</td> <td></td> + <td><span style="background-color: #1fff1f">はい</span></td> + <td><span style="background-color: #1fff1f">はい</span></td> + <td>post-GDP</td> + </tr> + <tr align="left"> + <td>4 @command{lilypond-book}: Integrating text and music<br>(3248)</td> + <td>Yoshiki Sawada</td> <td></td> <td><span style="background-color: #d0f0f8">いいえ</span></td> + <td><span style="background-color: #1fff1f">はい</span></td> + <td>post-GDP</td> + </tr> + <tr align="left"> + <td>5 Converting from other formats<br>(1171)</td> + <td>Yoshiki Sawada</td> <td></td> - <td>pre-GDP</td> + <td><span style="background-color: #d0f0f8">いいえ</span></td> + <td><span style="background-color: #1fff1f">はい</span></td> + <td>post-GDP</td> </tr> </table> <p></p> diff --git a/Documentation/ja/user/converters.itely b/Documentation/ja/user/converters.itely new file mode 100644 index 0000000000..8bb9917c08 --- /dev/null +++ b/Documentation/ja/user/converters.itely @@ -0,0 +1,357 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*- +@c This file is part of lilypond-program.tely +@ignore + Translation of GIT committish: 499a511d4166feaada31114e097f86b5e0c56421 + + When revising a translation, copy the HEAD committish of the + version that you are working on. See TRANSLATION for details. +@end ignore + +@c \version "2.12.0" + +@c Translators: Yoshiki Sawada +@c Translation status: post-GDP + +@node Converting from other formats +@chapter Converting from other formats + +@untranslated + +Music can be entered also by importing it from other formats. This +chapter documents the tools included in the distribution to do so. +There are other tools that produce LilyPond input, for example GUI +sequencers and XML converters. Refer to the +@uref{http://@/lilypond@/.org,website} for more details. + +These are separate programs from @command{lilypond} itself, and are +run on the command line; see @ref{Command-line usage} for more +information. If you have MacOS 10.3 or 10.4 and you have trouble +running some of these scripts, e.g. @code{convert-ly}, see @ref{Setup +for MacOS X}. + + +@knownissues +We unfortunately do not have the resources to maintain these +programs; please consider them @qq{as-is}. Patches are appreciated, but +bug reports will almost certainly not be resolved. + +@menu +* Invoking midi2ly:: Importing MIDI. +* Invoking musicxml2ly:: Importing MusicXML. +* Invoking abc2ly:: Importing ABC. +* Invoking etf2ly:: Importing Finale. +* Generating LilyPond files:: GUIs, transcribers, and algorithmic composition programs. +@end menu + + + +@node Invoking midi2ly +@section Invoking @command{midi2ly} + +@untranslated + +@cindex MIDI + +@command{midi2ly} translates a Type@tie{}1 MIDI file to a LilyPond source +file. + +MIDI (Music Instrument Digital Interface) is a standard for digital +instruments: it specifies cabling, a serial protocol and a file +format. The MIDI file format is a de facto standard format for +exporting music from other programs, so this capability may come in +useful when importing files from a program that has a converter for a +direct format. + +@command{midi2ly} converts tracks into @rinternals{Staff} and +channels into @rinternals{Voice} contexts. Relative mode is used +for pitches, durations are only written when necessary. + +It is possible to record a MIDI file using a digital keyboard, and +then convert it to @file{.ly}. However, human players are not +rhythmically exact enough to make a MIDI to LY conversion trivial. +When invoked with quantizing (@code{-s} and @code{-d} options) +@command{midi2ly} tries to compensate for these timing errors, but is not +very good at this. It is therefore not recommended to use @command{midi2ly} +for human-generated midi files. + + +It is invoked from the command-line as follows, +@example +midi2ly [@var{option}]@dots{} @var{midi-file} +@end example + +Note that by @q{command-line}, we mean the command line of the +operating system. See @ref{Converting from other formats}, for +more information about this. + +The following options are supported by @command{midi2ly}. + +@table @code +@item -a, --absolute-pitches +Print absolute pitches. + +@item -d, --duration-quant=@var{DUR} +Quantize note durations on @var{DUR}. + +@item -e, --explicit-durations +Print explicit durations. + +@item -h,--help +Show summary of usage. + +@item -k, --key=@var{acc}[:@var{minor}] +Set default key. @math{@var{acc} > 0} sets number of sharps; +@math{@var{acc} < 0} sets number of flats. A minor key is indicated by +@code{:1}. + +@item -o, --output=@var{file} +Write output to @var{file}. + +@item -s, --start-quant=@var{DUR} +Quantize note starts on @var{DUR}. + +@item -t, --allow-tuplet=@var{DUR}*@var{NUM}/@var{DEN} +Allow tuplet durations @var{DUR}*@var{NUM}/@var{DEN}. + +@item -v, --verbose +Be verbose. + +@item -V, --version +Print version number. + +@item -w, --warranty +Show warranty and copyright. + +@item -x, --text-lyrics +Treat every text as a lyric. +@end table + + +@knownissues + +Overlapping notes in an arpeggio will not be correctly rendered. The +first note will be read and the others will be ignored. Set them all +to a single duration and add phrase markings or pedal indicators. + + +@node Invoking musicxml2ly +@section Invoking @code{musicxml2ly} + +@untranslated + +@cindex MusicXML + +@uref{http://@/www.@/musicxml@/.org/,MusicXML} is an XML dialect +for representing music notation. + +@command{musicxml2ly} extracts the notes, articulations, score structure, +lyrics, etc. from part-wise MusicXML files, and writes them to a .ly +file. It is invoked from the command-line. + + +It is invoked from the command-line as follows, +@example +musicxml2ly [@var{option}]@dots{} @var{xml-file} +@end example + +Note that by @q{command-line}, we mean the command line of the +operating system. See @ref{Converting from other formats}, for +more information about this. + +If the given filename is @file{-}, @command{musicxml2ly} reads input +from the command line. + +The following options are supported by @command{musicxml2ly}: + +@table @code +@item -a, --absolute +convert pitches in absolute mode. + +@item -h,--help +print usage and option summary. + +@item -l, --language=LANG +use a different language file 'LANG.ly' and corresponding pitch names, +e.g. 'deutsch' for deutsch.ly and German note names. + +@item --lxml +use the lxml.etree Python package for XML-parsing; uses less memory and cpu time. + +@item --nd --no-articulation-directions +do not convert directions (@code{^}, @code{_} or @code{-}) for +articulations, dynamics, etc. + +@item --no-beaming +do not convert beaming information, use LilyPond's automatic +beaming instead. + +@item -o,--output=@var{file} +set output filename to @var{file}. If @var{file} is @file{-}, the output +will be printed on stdout. If not given, @var{xml-file}@file{.ly} will +be used. + +@item -r,--relative +convert pitches in relative mode (default). + +@item -v,--verbose +be verbose. + +@item --version +print version information. + +@item -z,--compressed +input file is a zip-compressed MusicXML file. +@end table + + +@node Invoking abc2ly +@section Invoking @code{abc2ly} + +@untranslated + +@cindex ABC + +ABC is a fairly simple ASCII based format. It is described at the ABC site: + +@quotation +@uref{http://@/www@/.walshaw@/.plus@/.com/@/abc/@/learn@/.html}. +@end quotation + +@command{abc2ly} translates from ABC to LilyPond. It is invoked as follows: + +@example +abc2ly [@var{option}]@dots{} @var{abc-file} +@end example + +The following options are supported by @command{abc2ly}: + +@table @code +@item -b,--beams=None +preserve ABC's notion of beams +@item -h,--help +this help +@item -o,--output=@var{file} +set output filename to @var{file}. +@item -s,--strict +be strict about success +@item --version +print version information. +@end table + +There is a rudimentary facility for adding LilyPond code to the ABC +source file. If you say: + +@example +%%LY voices \set autoBeaming = ##f +@end example + +This will cause the text following the keyword @q{voices} to be inserted +into the current voice of the LilyPond output file. + +Similarly, + +@example +%%LY slyrics more words +@end example + +will cause the text following the @q{slyrics} keyword to be inserted +into the current line of lyrics. + + +@knownissues + +The ABC standard is not very @q{standard}. For extended features +(e.g., polyphonic music) different conventions exist. + +Multiple tunes in one file cannot be converted. + +ABC synchronizes words and notes at the beginning of a line; +@command{abc2ly} does not. + +@command{abc2ly} ignores the ABC beaming. + + +@node Invoking etf2ly +@section Invoking @command{etf2ly} + +@untranslated + +@cindex ETF +@cindex enigma +@cindex Finale +@cindex Coda Technology + +ETF (Enigma Transport Format) is a format used by Coda Music +Technology's Finale product. @command{etf2ly} will convert part of an ETF +file to a ready-to-use LilyPond file. + +It is invoked from the command-line as follows. + +@example +etf2ly [@var{option}]@dots{} @var{etf-file} +@end example + +Note that by @q{command-line}, we mean the command line of the +operating system. See @ref{Converting from other formats}, for +more information about this. + +The following options are supported by @command{etf2ly}: + +@table @code +@item -h,--help +this help +@item -o,--output=@var{FILE} +set output filename to @var{FILE} +@item --version +version information +@end table + + +@knownissues + +The list of articulation scripts is incomplete. Empty measures +confuse @command{etf2ly}. Sequences of grace notes are ended improperly. + + +@node Generating LilyPond files +@section Generating LilyPond files + +@untranslated + +@cindex External programs, generating LilyPond files + +LilyPond itself does not come with support for any other formats, but +there are some external tools that also generate LilyPond files. + +These tools include + +@itemize +@item +@uref{http://@/www@/.denemo@/.org/,Denemo}, a graphical score editor. +@item +@uref{http://www@/.volny@/.cz/smilauer/rumor/rumor@/.html,Rumor}, a realtime +monophonic MIDI to LilyPond converter. +@item +@uref{http://nicolas@/.sceaux@/.free@/.fr/lilypond/lyqi@/.html,lyqi}, an +Emacs major mode. +@item +@uref{http://@/www@/.nongnu@/.org/@/xml2ly/,xml2ly}, which imports +@uref{http://@/www@/.musicxml@/.com/xml@/.html,MusicXML} +@item +@uref{http://@/noteedit@/.berlios@/.de,NoteEdit} +which imports @uref{http://@/www@/.musicxml@/.com/xml@/.html,MusicXML} +@item +@uref{http://@/www@/.rosegardenmusic@/.com,Rosegarden}, +which imports MIDI +@item +@uref{http://@/common-lisp@/.net/project/fomus/,FOMUS}, +a LISP library to generate music notation +@item +@uref{http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml}, +has experimental export for LilyPond. +@item +@uref{http://www.tuxguitar.com.ar/}, can export to LilyPond. +@item +@uref{http://musescore.org} can also export to LilyPond. +@end itemize + diff --git a/Documentation/ja/user/fundamental.itely b/Documentation/ja/user/fundamental.itely index 8556524bb7..f91389c767 100644 --- a/Documentation/ja/user/fundamental.itely +++ b/Documentation/ja/user/fundamental.itely @@ -737,7 +737,7 @@ LilyPond の楽譜の中で最も低レベルで、最も基礎的であり、 @funindex \voiceFourStyle @funindex \voiceNeutralStyle -コマンド @code{\voiceXXXStyle} は主にこのマニュアルのような教育目的のドキュ@c @c +コマンド @code{\voiceXXXStyle} は主にこのマニュアルのような教育目的のドキュ@c メントで使用することを意図したものです。このコマンドは、各ボイスが容易に見分け@c られるように、音符玉、ステム、ビームの色、それに音符玉のスタイルを変更します。@c ボイス 1 は赤でダイアモンドの音符玉を持つようにセットされ、ボイス 2 は青で三角@c diff --git a/Documentation/ja/user/i18n/ja b/Documentation/ja/user/i18n/ja new file mode 100644 index 0000000000..c4b2ff95e9 --- /dev/null +++ b/Documentation/ja/user/i18n/ja @@ -0,0 +1,299 @@ +$LANGUAGES->{'ja'} = { + + ' The buttons in the navigation panels have the following meaning:' => '', + + ' where the @strong{ Example } assumes that the current position is at @strong{ Subsubsection One-Two-Three } of a document of the following structure:' => '', + + ' Up ' => 'Up', + + '%{acronym_like} (%{explanation})' => '', + + '%{month} %{day}, %{year}' => '', + + '%{name} of %{class}' => '', + + '%{name} on %{class}' => '', + + '%{node_file_href}' => '', + + '%{node_file_href} @cite{%{book}}' => '', + + '%{node_file_href} section `%{section}\' in @cite{%{book}}' => '', + + '%{reference_name}' => '', + + '%{style} %{number}' => '', + + '%{style}: %{caption_first_line}' => '', + + '%{style}: %{shortcaption_first_line}' => '', + + '@b{%{quotation_arg}:} ' => '', + + '@cite{%{book}}' => '', + + 'About' => '', + + 'About (help)' => '', + + 'About This Document' => '', + + 'April' => 'April', + + 'August' => 'August', + + 'Back' => '', + + 'Back section in previous file' => '', + + 'Beginning of this chapter or previous chapter' => '', + + 'Button' => 'Button', + + 'Contents' => 'Contents', + + 'Cover (top) of document' => '', + + 'Current Position' => 'Current Position', + + 'Current section' => '', + + 'December' => 'December', + + 'FastBack' => '', + + 'FastForward' => '', + + 'February' => 'February', + + 'First' => '', + + 'First section in reading order' => '', + + 'Following' => '', + + 'Following node' => '', + + 'Footnotes' => 'Footnotes', + + 'Forward' => '', + + 'Forward section in next file' => '', + + 'From 1.2.3 go to' => 'From 1.2.3 go to', + + 'Go to' => 'Go to', + + 'Index' => 'Index', + + 'Index Entry' => 'Index Entry', + + 'January' => 'January', + + 'July' => 'July', + + 'Jump to' => 'Jump to', + + 'June' => 'June', + + 'Last' => '', + + 'Last section in reading order' => '', + + 'March' => 'March', + + 'May' => 'May', + + 'Menu:' => 'Menu', + + 'Name' => 'Name', + + 'Next' => 'Next', + + 'Next chapter' => '', + + 'Next file' => '', + + 'Next node' => '', + + 'Next section in reading order' => '', + + 'Next section on same level' => '', + + 'NextFile' => '', + + 'Node following in node reading order' => '', + + 'Node up' => '', + + 'NodeNext' => '', + + 'NodePrev' => '', + + 'NodeUp' => '', + + 'November' => 'November', + + 'October' => 'October', + + 'Overview' => 'Overview', + + 'Overview:' => 'Overview:', + + 'Prev' => 'Prev', + + 'PrevFile' => '', + + 'Previous file' => '', + + 'Previous node' => '', + + 'Previous section in reading order' => '', + + 'Previous section on same level' => '', + + 'Section' => 'Section', + + 'Section One' => 'Section One', + + 'See %{node_file_href}' => '', + + 'See %{node_file_href} @cite{%{book}}' => '', + + 'See %{node_file_href} section `%{section}\' in @cite{%{book}}' => '', + + 'See %{reference_name}' => '', + + 'See @cite{%{book}}' => '', + + 'See section %{reference_name}' => '', + + 'See section `%{section}\' in @cite{%{book}}' => '', + + 'September' => 'September', + + 'Short Table of Contents' => '', + + 'Short table of contents' => '', + + 'Subsection One-Four' => '', + + 'Subsection One-One' => '', + + 'Subsection One-Three' => '', + + 'Subsection One-Two' => '', + + 'Subsubsection One-Two-Four' => '', + + 'Subsubsection One-Two-One' => '', + + 'Subsubsection One-Two-Three' => '', + + 'Subsubsection One-Two-Two' => '', + + 'T2H_today' => '%s, %d %d', + + 'Table of Contents' => 'Table of Contents', + + 'Table of contents' => 'Table of contents', + + 'The node you are looking for is at %{href}.' => '', + + 'This' => '', + + 'This document was generated by @emph{%{user}} on @emph{%{date}} using @uref{%{program_homepage}, @emph{%{program}}}.' => '', + + 'This document was generated by @emph{%{user}} using @uref{%{program_homepage}, @emph{%{program}}}.' => 'この文書は@emph{%{user}}によって@uref{%{program_homepage}, @emph{%{program}}}を用いて生成されました。', + + 'This document was generated on @i{%{date}} using @uref{%{program_homepage}, @i{%{program}}}.' => 'この文書は@emph{%{date}}に@uref{%{program_homepage}, @emph{%{program}}}を用いて生成されました。', + + 'This document was generated using @uref{%{program_homepage}, @emph{%{program}}}.' => 'この文書は@uref{%{program_homepage}, @emph{%{program}}}を用いて生成されました。', + + 'Top' => 'Top', + + 'Untitled Document' => '無題の文書', + + 'Up' => 'Up', + + 'Up node' => '', + + 'Up section' => '', + + 'by @emph{%{user}}' => '@emph{%{user}}', + + 'by @emph{%{user}} on @emph{%{date}}' => '@emph{%{user}}, @emph{%{date}', + + 'current' => '現在位置', + + 'on @emph{%{date}}' => '@emph{%{date}}', + + 'section `%{section}\' in @cite{%{book}}' => '@cite{%{book}}の `%{section}\' ', + + 'see %{node_file_href}' => '%{node_file_href}参照', + + 'see %{node_file_href} @cite{%{book}}' => '%{node_file_href} @cite{%{book}}参照', + + 'see %{node_file_href} section `%{section}\' in @cite{%{book}}' => '', + + 'see %{reference_name}' => '', + + 'see @cite{%{book}}' => '', + + 'see section %{reference_name}' => '', + + 'see section `%{section}\' in @cite{%{book}}' => '', + + 'unknown' => '不明' + + }; + + + +$T2H_OBSOLETE_STRINGS->{'ja'} = { + + 'about (help)' => '使用法 (ヘルプ)', + + 'beginning of this chapter or previous chapter' => 'この章または前の章の冒頭', + + 'cover (top) of document' => '文書の表紙 (トップ)', + + 'current section' => '現在の節', + + 'first section in reading order' => '文書順で前の項', + + 'following node' => '次の節', + + 'index' => 'index', + + 'last section in reading order' => '文書順で最後の項', + + 'next chapter' => '次の章', + + 'next node' => '次の節', + + 'next section in reading order' => '文書順で次の項', + + 'next section on same level' => '同じ階層にある次の項', + + 'node following in node reading order' => '文書順で次の節', + + 'node up' => '上の節へ', + + 'previous node' => '前の節', + + 'previous section in reading order' => '文書順で前の節', + + 'previous section on same level' => '同じ階層にある前の項', + + 'short table of contents' => '簡略化した目次', + + 'table of contents' => '文書の目次', + + 'up node' => '上の節', + + 'up section' => '上の項' + + }; + + diff --git a/Documentation/ja/user/install.itely b/Documentation/ja/user/install.itely new file mode 100644 index 0000000000..404d50e99f --- /dev/null +++ b/Documentation/ja/user/install.itely @@ -0,0 +1,88 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*- +@c This file is part of lilypond-program.tely +@ignore + Translation of GIT committish: 499a511d4166feaada31114e097f86b5e0c56421 + + When revising a translation, copy the HEAD committish of the + version that you are working on. See TRANSLATION for details. +@end ignore + +@c \version "2.12.0" + +@c Translators: Yoshiki Sawada +@c Translation status: post-GDP + +@node Install +@chapter Install + +LilyPond にはリリースが 2 セットあります: 安定したリリースと、不安定な開発版リ@c +リースです。 安定バージョンは偶数の @q{マイナー} バージョン番号を持ちます (つ@c +まり、2.8, 2.10, 2.12 など)。開発バージョンは奇数の @q{マイナー} バージョン番@c +号を持ちます (つまり、2.7, 2.9, 2.11 など)。 + +LilyPond のビルドは非常に複雑なプロセスです。そのため、コンパイル済みのバイナ@c +リを使用することを@strong{強く}推奨します。 + +@menu +* Precompiled binaries:: +* Compiling from source:: +@end menu + + +@node Precompiled binaries +@section Precompiled binaries + +@unnumberedsubsec Downloading + +あなたの使用しているプラットフォーム向けのバイナリ パッケージについての最新情@c +報を得るには @uref{http://lilypond.org/web/install/} をチェックしてください。@c +あなたの使用している OS がそのページでカバーされていない場合は、@c +@uref{http://download.linuxaudio.org/lilypond/binaries/} にある完全なバイナリ +リストを調べてみてください。 + +現在のところ、以下のバイナリがあります: + +@example +darwin-ppc - MacOS X PowerPC +darwin-x86 - MacOS X Intel +freebsd-64 - FreeBSD 6.x, x86_64 +freebsd-x86 - FreeBSD 4.x, x86 +linux-64 - Toutes distributions GNU/Linux, x86_64 +linux-ppc - Toutes distributions GNU/Linux, powerpc +linux-x86 - Toutes distributions GNU/Linux, x86 +mingw - Windows x86 +@end example + + +@knownissues + +あなたが MacOS 10.3 または 10.4 を使用していて、@command{convert-ly} や +@command{lilypond-book} のような Python スクリプトを使用したいのなら、@ref{Setup +for MacOS X,,,lilypond-program,Application Usage} を参照してください。 + + +@node Compiling from source +@section Compiling from source + +ソース コードから直接 LilyPond をコンパイルすることもできます。これを行うには@c +英語を読めることが必須です。そのため、この節は翻訳されません。本当に LilyPond +をコンパイルしたいのなら、 +@iftex +@c DO NOT translate the following line at all. +@ref{Compiling from source,,,lilypond-program,Application Usage}. +@end iftex +@ifhtml +@c Please translate the following line (but not the .html file name) +@uref{Compiling-from-source.html,英語で書かれたドキュメント} +@end ifhtml +を参照してください。 + +@c TRANSLATORS: +@c Please **do not** translate anything below this line. Users +@c should not be compiling LilyPond themselves; if they really +@c want to do so, they should be able to read the English docs, +@c because they'll probably need to ask questions in English +@c on the -devel list. -gp +@c Instead, please uncomment and translate the paragraph above, +@c and remove all stuff (menu, nodes, contents) below this line. + diff --git a/Documentation/ja/user/introduction.itely b/Documentation/ja/user/introduction.itely index 5f8d3d9e73..ab262e60dd 100644 --- a/Documentation/ja/user/introduction.itely +++ b/Documentation/ja/user/introduction.itely @@ -675,7 +675,7 @@ f4 我々はどのように譜刻の技術をコンピュータ プログラムの中に凝縮するかという実験@c として LilyPond を開発してきました。重労働のおかげで、今やこのプログラムは有用@c -な働きを行うのに使用できるようになりました。非常に簡単な利用例は音符を刻譜する@c +な働きを行うのに使用できるようになりました。非常に簡単な利用例は音符を譜刻する@c ことです。 @lilypond[quote,relative=1] @@ -700,7 +700,7 @@ f4 >> @end lilypond -さらに、多声部表記とピアノ譜を刻譜することもできます。以下の例はいくつかのより@c +さらに、多声部表記とピアノ譜を譜刻することもできます。以下の例はいくつかのより@c 風変わりな構成を組み合わせています。 @lilypond[quote] @@ -908,84 +908,78 @@ Texinfo -- に埋め込むことができます。ある特別なプログラム @cindex reference charts @cindex charts, reference -@untranslated - -This book explains all the LilyPond commands which produce -notation. It assumes that readers are familiar with the concepts -in the Learning Manual. +本書は表記を作り出すすべての LilyPond コマンドについての説明を行います。本書@c +は、読者が学習マニュアルを読み終えて、LilyPond のコンセプトに馴染みを持ってい@c +るものと仮定しています。 @itemize @item @ruser{Musical notation}: -discusses topics grouped by notation construct. This section -gives details about basic notation that will be useful in almost -any notation project. +は表記概念ごとにグループ化されたテーマについて議論します。このセクションでは、@c +ほとんどすべての表記プロジェクトで有用な基本的な表記についての詳細を提供します。 @item @ruser{Specialist notation}: -discusses topics grouped by notation construct. This section -gives details about special notation that will only be useful for -particular instrument (or vocal) groups. +は表記概念ごとにグループ化されたテーマについて議論します。このセクションでは、@c +ある特定の楽器 (またはボーカル) グループにとってのみ有用な特別な表記についての@c +詳細を提供します。 @item @ruser{General input and output}: -discusses general information about LilyPond input files and -controlling output. +は LilyPond 入力ファイルと出力の制御についての一般的な情報について議論します。 @item @ruser{Spacing issues}: -discusses issues which affect the global output, such as selecting -paper size or specifying page breaks. +は出力全般に影響を与える事柄 -- 用紙サイズの選択や改ページの指定など -- につ@c +いて議論します。 @item @ruser{Changing defaults}: -explains how to tweak LilyPond to produce exactly the notation you -want. +LilyPond があなたの望む表記を作り出すように調整する方法について説明します。 @item @ruser{Interfaces for programmers}: -explains how to create music functions with scheme. +Scheme を用いて音楽関数を作成する方法について説明します。 @end itemize -The Notation Reference also contains appendices with useful -reference charts. +表記リファレンスには有用な参照表を持つ付録もあります。 @itemize @item @ruser{Literature list}: -contains a set of useful reference books for those who wish to -know more on notation and engraving. +には、表記や譜刻についてもっと知りたい人たち向けのリファレンス ブックのセット@c +があります。 @item @ruser{Notation manual tables}: -are a set of tables showing the chord names, MIDI instruments, a -list of color names, and the Feta font. +は、コード名、MIDI 命令、カラー名のリスト、Feta フォントについての表のセットで@c +す。 @item @ruser{Cheat sheet}: -is a handy reference of the most common LilyPond commands. +は最も一般的な LilyPond コマンドの簡易リファレンスです。 @item @ruser{LilyPond command index}: -an index of all LilyPond @code{\commands}. +すべての LilyPond @code{@bs{}command} のインデックスです。 @item @ruser{LilyPond index}: -a complete index. +すべてを網羅する完全なインデックスです。 @end itemize @@ -1042,26 +1036,23 @@ LilyPond とその援助プログラムを実行する方法を示します。 @node About the Snippet List @unnumberedsubsec About the Snippet List -@untranslated - @cindex snippets @cindex LSR @cindex Snippet List @cindex LilyPond Snippet Repository -@rlsrnamed{Top,LilyPond Snippet List}: this shows a -selected set of LilyPond snippets from the +@rlsrnamed{Top,LilyPond Snippet List}: これは @uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository} -(LSR). All the snippets are in the public domain. + (LSR) から選んだ LilyPond 断片のセットです。すべての断片はパブリック ドメイン@c +の中にあります。 -Please note that this document is not an exact subset of LSR. LSR -is running a stable LilyPond version, so any snippet which -demonstrates new features of a development version must be added -separately. These are stored in @file{input/new/} in the LilyPond -source tree. +このドキュメントは LSR のサブセットそのものではないことに注意してください。LSR +は安定板の LilyPond バージョンを使用するため、開発中の新しい機能を実演する断片は +LSR とは別に追加されなければなりません。それらは LilyPond ソース ツリーの中の +@file{input/new/} の中に保存されます。 -The list of snippets for each subsection of the Notation Reference are -also linked from the @strong{See also} portion. +表記リファレンスの各サブセクションのための断片のリストは @strong{参照}部分から@c +もリンクされています。 @node About the Internals Reference @@ -1069,29 +1060,22 @@ also linked from the @strong{See also} portion. @cindex Internals Reference -@untranslated +@rinternalsnamed{Top,Internals Reference}: これは幾重にもリンクし合った HTML +ページのセットです。本書はすべての LilyPond クラス、オブジェクト、関数について@c +の具体的な詳細をドキュメント化しています。本書はソース コードの中にあるフォー@c +マット定義から直接作り出されます。 -@rinternalsnamed{Top,Internals Reference}: this is a set -of heavily cross linked HTML pages which document the nitty-gritty -details of each and every LilyPond class, object, and function. -It is produced directly from the formatting definitions in the -source code. - -Almost all formatting functionality that is used internally is -available directly to the user. For example, most variables that -control thickness values, distances, etc., can be changed in input -files. There are a huge number of formatting options, and all of -them are described in this document. Each section of the Notation -Reference has a @b{See also} subsection, which refers to the -generated documentation. In the HTML document, these subsections -have clickable links. +内部的に使用されるフォーマット機能はほとんどすべてユーザが直接利用できます。例@c +えば、太さや距離などを制御するたいていの変数は入力ファイルの中で変更することが@c +できます。膨大な数のフォーマット オプションがあり、それらすべてがこのドキュメ@c +ントの中で記述されています。表記リファレンスの各セクションには@b{参照}サブ セ@c +クションがあり、本書を参照しています。HTML ドキュメントでは、@b{参照}サブ セク@c +ションの中にクリック可能なリンクがあります。 @node Other documentation @unnumberedsubsec Other documentation -@untranslated - とても有益であるかもしれない他の情報源がいくつかあります。 @itemize @@ -1114,41 +1098,41 @@ News: @item -@uref{http://lists.gnu.org/archive/html/lilypond-user/, The -lilypond-user mailist archives}: this is a collection of previous -emails sent to the user list. Many questions have been asked -multiple times; there is a very good chance that if you have a -question, the answer might be found in these archives. +@uref{http://lists.gnu.org/archive/html/lilypond-user/, +lilypond-user メーリングリスト アーカイブ}: これはこれまでにユーザ リストに送@c +られてきた email のコレクションです。多くの質問が何度も繰り返されています。疑@c +問を持った場合、その答えはこのアーカイブの中で見つかるかもしれません。 @item -@uref{http://lists.gnu.org/archive/html/lilypond-devel/, The -lilypond-devel mailist archives}: this is a collection of previous -emails sent to the developer's list. The discussion here is more -technical; if you have an advanced question about lilypond -internals, the answer might be in these archives. +@uref{http://lists.gnu.org/archive/html/lilypond-devel/, +lilypond-devel メーリングリスト アーカイブ}: これはこれまでに開発者のリストに@c +送られてきた email のコレクションです。ここでの議論はより専門的です。lilypond +内部についての高度な疑問を持った場合、その答えはこのアーカイブの中で見つかるか@c +もしれません。 @item -Embedded music fragments: in all HTML documents that have -music fragments embedded, the exact LilyPond input that was used -to produce that image can be viewed by clicking the image. +埋め込まれている楽譜の断片: 楽譜の断片を埋め込まれたすべての HTML ドキュメント@c +では、楽譜の画像をクリックすることによって、その画像を作り出すのに使用された +LilyPond 入力を閲覧することができます。 @item -Init files: the location of the documentation files that are -mentioned here can vary from system to system. On occasion, this -manual refers to initialization and example files. Throughout this -manual, we refer to input files relative to the top-directory of the -source archive. For example, @file{input/@/lsr/@/dirname/@/bla@/.ly} -may refer to the file -@file{lilypond@/2.x.y/@/input/@/lsr/@/dirname/@/bla@/.ly}. On binary -packages for the UNIX platform, the documentation and examples can -typically be found somewhere below -@file{/usr/@/share/@/doc/@/lilypond/}. Initialization files, for -example @file{scm/@/lily@/.scm}, or @file{ly/@/engraver@/-init@/.ly}, -are usually found in the directory @file{/usr/@/share/@/lilypond/}. -For more details, see @ref{Other sources of information}. +初期化ファイル: ここで言及しているドキュメント ファイルの置き場所はシステムに@c +よってさまざまです。しばしばこのマニュアルは初期化ファイルと例のファイルを参照@c +します。このマニュアルを通じて、ソース アーカイブのトップ ディレクトリ下にある@c +入力ファイルを参照します。@c +@c Throughout this manual, we refer to input files relative to the top-directory +@c of the source archive.@c +例えば、@file{input/@/lsr/@/dirname/@/bla@/.ly} はファイル +@file{lilypond@/2.x.y/@/input/@/lsr/@/dirname/@/bla@/.ly} を参照するかもしれま@c +せん。@c +UNIX プラットフォーム向けのバイナリ パッケージでは、通常、このドキュメントと例は +@file{/usr/@/share/@/doc/@/lilypond/} 下のどこかで見つかります。初期化ファイル +-- 例えば、@file{scm/@/lily@/.scm} や @file{ly/@/engraver@/-init@/.ly} -- は、@c +通常、ディレクトリ @file{/usr/@/share/@/lilypond/} の中で見つかります。詳細は +@ref{Other sources of information} を参照してください。 @end itemize diff --git a/Documentation/ja/user/lilypond-book.itely b/Documentation/ja/user/lilypond-book.itely new file mode 100644 index 0000000000..cd1209aaf1 --- /dev/null +++ b/Documentation/ja/user/lilypond-book.itely @@ -0,0 +1,1077 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*- +@c This file is part of lilypond-program.tely +@ignore + Translation of GIT committish: 499a511d4166feaada31114e097f86b5e0c56421 + + When revising a translation, copy the HEAD committish of the + version that you are working on. See TRANSLATION for details. +@end ignore + +@c \version "2.12.0" + +@c Translators: Yoshiki Sawada +@c Translation status: post-GDP + +@c Note: keep this node named so that `info lilypond-book' brings you here. +@node LilyPond-book +@chapter @command{lilypond-book}: Integrating text and music + +@untranslated + +If you want to add pictures of music to a document, you can simply do it +the way you would do with other types of pictures. The pictures are +created separately, yielding PostScript output or PNG images, and those +are included into a @LaTeX{} or HTML document. + +@command{lilypond-book} provides a way to automate this process: This +program extracts snippets of music from your document, runs +@command{lilypond} on them, and outputs the document with pictures +substituted for the music. The line width and font size definitions for +the music are adjusted to match the layout of your document. + +This is a separate program from @command{lilypond} itself, and is run +on the command line; for more information, see @ref{Command-line +usage}. If you have MacOS 10.3 or 10.4 and you have trouble running +@code{lilypond-book}, see @ref{Setup for MacOS X}. + +This procedure may be applied to @LaTeX{}, HTML, Texinfo or DocBook +documents. + +@cindex texinfo +@cindex latex +@cindex texinfo +@cindex texi +@cindex html +@cindex docbook +@cindex documents, adding music to +@cindex HTML, music in +@cindex Texinfo, music in +@cindex DocBook, music in +@cindex @LaTeX{}, music in + +@menu +* An example of a musicological document:: +* Integrating music and text:: +* Music fragment options:: +* Invoking lilypond-book:: +* Filename extensions:: +* Alternate methods of mixing text and music:: +@end menu + + +@node An example of a musicological document +@section An example of a musicological document + +@untranslated + +@cindex musicology +Some texts contain music examples. These texts are musicological +treatises, songbooks, or manuals like this. Such texts can be made by +hand, simply by importing a PostScript figure into the word processor. +However, there is an automated procedure to reduce the amount of work +involved in HTML, @LaTeX{}, Texinfo and DocBook documents. + +A script called @code{lilypond-book} will extract the music fragments, +format them, and put back the resulting notation. Here we show a small +example for use with @LaTeX{}. The example also contains explanatory +text, so we will not comment on it further. + +@subheading Input + +@quotation +@verbatim +\documentclass[a4paper]{article} + +\begin{document} + +Documents for \verb+lilypond-book+ may freely mix music and text. +For example, + +\begin{lilypond} +\relative c' { + c2 g'2 \times 2/3 { f8 e d } c'2 g4 +} +\end{lilypond} + +Options are put in brackets. + +\begin[fragment,quote,staffsize=26,verbatim]{lilypond} + c'4 f16 +\end{lilypond} + +Larger examples can be put into a separate file, and introduced with +\verb+\lilypondfile+. + +\lilypondfile[quote,noindent]{screech-boink.ly} + +(If needed, replace screech-boink.ly by any .ly file you put in the same +directory as this file.) + +\end{document} +@end verbatim +@end quotation + +@subheading Processing + +Save the code above to a file called @file{lilybook.lytex}, then in a +terminal run + +@c keep space after @version{} so TeX doesn't choke +@example +lilypond-book --output=out --pdf lilybook.lytex +@emph{lilypond-book (GNU LilyPond) @version{} } +@emph{Reading lilybook.lytex...} +@emph{..lots of stuff deleted..} +@emph{Compiling lilybook.tex...} +cd out +pdflatex lilybook +@emph{..lots of stuff deleted..} +xpdf lilybook +@emph{(replace @command{xpdf} by your favorite PDF viewer)} +@end example + +Running @command{lilypond-book} and @command{latex} creates a lot of +temporary files, which would clutter up the working directory. To +remedy this, use the @code{--output=@var{dir}} option. It will create +the files in a separate subdirectory @file{dir}. + +Finally the result of the @LaTeX{} example shown above.@footnote{This +tutorial is processed with Texinfo, so the example gives slightly +different results in layout.} This finishes the tutorial section. + +@page + +@subheading Output + +Documents for @command{lilypond-book} may freely mix music and text. +For example, + +@lilypond +\relative c' { + c2 g'2 \times 2/3 { f8 e d } c'2 g4 +} +@end lilypond + +Options are put in brackets. + +@lilypond[fragment,quote,staffsize=26,verbatim] +c'4 f16 +@end lilypond + +Larger examples can be put into a separate file, and introduced with +@code{\lilypondfile}. + +@lilypondfile[quote,noindent]{screech-boink.ly} + + +@page + +@node Integrating music and text +@section Integrating music and text + +@untranslated + +Here we explain how to integrate LilyPond with various output formats. + +@menu +* LaTeX:: +* Texinfo:: +* HTML:: +* DocBook:: +@end menu + +@node LaTeX +@subsection @LaTeX{} + +@untranslated + +@LaTeX{} is the de-facto standard for publishing layouts in the exact +sciences. It is built on top of the @TeX{} typesetting engine, +providing the best typography available anywhere. + +See +@uref{http://@/www@/.ctan@/.org/@/tex@/-archive/@/info/@/lshort/@/english/, +@emph{The Not So Short Introduction to @LaTeX{}}} for an overview on how +to use @LaTeX{}. + +Music is entered using + +@example +\begin[options,go,here]@{lilypond@} + YOUR LILYPOND CODE +\end@{lilypond@} +@end example + +@noindent +or + +@example +\lilypondfile[options,go,here]@{@var{filename}@} +@end example + +@noindent +or + +@example +\lilypond@{ YOUR LILYPOND CODE @} +@end example + +Additionally, @code{\lilypondversion} displays the current version +of lilypond. +Running @command{lilypond-book} yields a file that can be further +processed with @LaTeX{}. + +We show some examples here. The @code{lilypond} environment + +@example +\begin[quote,fragment,staffsize=26]@{lilypond@} + c' d' e' f' g'2 g'2 +\end@{lilypond@} +@end example + +@noindent +produces + +@lilypond[quote,fragment,staffsize=26] +c' d' e' f' g'2 g'2 +@end lilypond + +The short version + +@example +\lilypond[quote,fragment,staffsize=11]@{<c' e' g'>@} +@end example + +@noindent +produces + +@lilypond[quote,fragment,staffsize=11]{<c' e' g'>} + +@noindent +Currently, you cannot include @code{@{} or @code{@}} within +@code{\lilypond@{@}}, so this command is only useful with the +@code{fragment} option. + +The default line width of the music will be adjusted by examining the +commands in the document preamble, the part of the document before +@code{\begin@{document@}}. The @command{lilypond-book} command sends +these to @LaTeX{} to find out how wide the text is. The line width for +the music fragments is then adjusted to the text width. Note that this +heuristic algorithm can fail easily; in such cases it is necessary to +use the @code{line-width} music fragment option. + +@cindex titling and lilypond-book +@cindex \header in @LaTeX{} documents + +Each snippet will call the following macros if they have been defined by +the user: + +@itemize @bullet +@item @code{\preLilyPondExample} called before the music, + +@item @code{\postLilyPondExample} called after the music, + +@item @code{\betweenLilyPondSystem[1]} is called between systems if +@code{lilypond-book} has split the snippet into several PostScript +files. It must be defined as taking one parameter and will be +passed the number of files already included in this snippet. +The default is to simply insert a @code{\linebreak}. +@end itemize + +@ignore +Broken stuff. :( + +@cindex Latex, feta symbols +@cindex fetachar + +To include feta symbols (such as flat, segno, etc) in a LaTeX +document, use @code{\input@{titledefs@}} + +@example +\documentclass[a4paper]@{article@} + +\input@{titledefs@} + +\begin@{document@} + +\fetachar\fetasharp + +\end@{document@} +@end example + +The font symbol names are defined in the file feta20.tex; to find +the location of this file, use the command + +@example +kpsewhich feta20.tex +@end example + +@end ignore + +@snippets + +Sometimes it is useful to display music elements (such as ties and slurs) +as if they continued after the end of the fragment. This can be done by +breaking the staff and suppressing inclusion of the rest of the LilyPond +output. + +In @LaTeX{}, define @code{\betweenLilyPondSystem} in such a way that +inclusion of other systems is terminated once the required number of +systems are included. Since @code{\betweenLilypondSystem} is first +called @emph{after} the first system, including only the first system +is trivial. + +@example +\def\betweenLilyPondSystem#1@{\endinput@} + +\begin[fragment]@{lilypond@} + c'1\( e'( c'~ \break c' d) e f\) +\end@{lilypond@} +@end example + +If a greater number of systems is requested, a @TeX{} conditional must +be used before the @code{\endinput}. In this example, replace @q{2} by +the number of systems you want in the output, + +@example +\def\betweenLilyPondSystem#1@{ + \ifnum##1<2\else\endinput\fi +@} +@end example + +Remember that the definition of @code{\betweenLilyPondSystem} is +effective until @TeX{} quits the current group (such as the @LaTeX{} +environment) or is overridden by another definition (which is, in +most cases, for the rest of the document). To reset your +definition, write + +@example +\let\betweenLilyPondSystem\undefined +@end example + +@noindent +in your @LaTeX{} source. + +This may be simplified by defining a @TeX{} macro + +@example +\def\onlyFirstNSystems#1@{ + \def\betweenLilyPondSystem##1@{\ifnum##1<#1\else\endinput\fi@} +@} +@end example + +@noindent +and then saying only how many systems you want before each fragment, + +@example +\onlyFirstNSystems@{3@} +\begin@{lilypond@}...\end@{lilypond@} +\onlyFirstNSystems@{1@} +\begin@{lilypond@}...\end@{lilypond@} +@end example + + +@seealso +There are specific @command{lilypond-book} command line options and +other details to know when processing @LaTeX{} documents, see +@ref{Invoking lilypond-book}. + + +@node Texinfo +@subsection Texinfo + +@untranslated + +Texinfo is the standard format for documentation of the GNU project. An +example of a Texinfo document is this manual. The HTML, PDF, and Info +versions of the manual are made from the Texinfo document. + +In the input file, music is specified with + +@example +@@lilypond[options,go,here] + YOUR LILYPOND CODE +@@end lilypond +@end example + +@noindent +or + +@example +@@lilypond[options,go,here]@{ YOUR LILYPOND CODE @} +@end example + +@noindent +or + +@example +@@lilypondfile[options,go,here]@{@var{filename}@} +@end example + +Additionally, @code{@@lilypondversion} displays the current version +of lilypond. + +When @command{lilypond-book} is run on it, this results in a Texinfo +file (with extension @file{.texi}) containing @code{@@image} tags for +HTML, Info and printed output. @command{lilypond-book} generates images +of the music in EPS and PDF formats for use in the printed output, and +in PNG format for use in HTML and Info output. + +We show two simple examples here. A @code{lilypond} environment + +@example +@@lilypond[fragment] +c' d' e' f' g'2 g' +@@end lilypond +@end example + +@noindent +produces + +@lilypond[fragment] +c' d' e' f' g'2 g' +@end lilypond + +The short version + +@example +@@lilypond[fragment,staffsize=11]@{<c' e' g'>@} +@end example + +@noindent +produces + +@lilypond[fragment,staffsize=11]{<c' e' g'>} + +Contrary to @LaTeX{}, @code{@@lilypond@{...@}} does not generate an +in-line image. It always gets a paragraph of its own. + + +@node HTML +@subsection HTML + +@untranslated + +Music is entered using + +@example +<lilypond fragment relative=2> +\key c \minor c4 es g2 +</lilypond> +@end example +@noindent +@command{lilypond-book} then produces an HTML file with appropriate image +tags for the music fragments: + +@lilypond[fragment,relative=2] +\key c \minor c4 es g2 +@end lilypond + +For inline pictures, use @code{<lilypond ... />}, where the options +are separated by a colon from the music, for example + +@example +Some music in <lilypond relative=2: a b c/> a line of text. +@end example + + +To include separate files, say + +@example +<lilypondfile @var{option1} @var{option2} ...>@var{filename}</lilypondfile> +@end example + +Additionally, @code{<lilypondversion/>} displays the current version +of lilypond. + + +@cindex titling in HTML +@cindex preview image +@cindex thumbnail + +@node DocBook +@subsection DocBook + +@untranslated + +For inserting LilyPond snippets it is good to keep the conformity of our +DocBook document, thus allowing us to use DocBook editors, validation +etc. So we don't use custom tags, only specify a convention based on the +standard DocBook elements. + +@subheading Common conventions + +For inserting all type of snippets we use the @code{mediaobject} and +@code{inlinemediaobject} element, so our snippets can be formatted +inline or not inline. The snippet formatting options are always +provided in the @code{role} property of the innermost element (see in +next sections). Tags are chosen to allow DocBook editors format the +content gracefully. The DocBook files to be processed with +@command{lilypond-book} should have the extension @file{.lyxml}. + +@subheading Including a LilyPond file + +This is the most simple case. We must use the @file{.ly} extension for +the included file, and insert it as a standard @code{imageobject}, with +the following structure: + +@example +<mediaobject> + <imageobject> + <imagedata fileref="music1.ly" role="printfilename" /> + </imageobject> +</mediaobject> +@end example + +Note that you can use @code{mediaobject} or @code{inlinemediaobject} +as the outermost element as you wish. + +@subheading Including LilyPond code + +Including LilyPond code is possible by using a @code{programlisting}, +where the language is set to @code{lilypond} with the following +structure: + +@example +<inlinemediaobject> + <textobject> + <programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2"> +\context Staff \with @{ + \remove Time_signature_engraver + \remove Clef_engraver@} + @{ c4( fis) @} + </programlisting> + </textobject> +</inlinemediaobject> +@end example + +As you can see, the outermost element is a @code{mediaobject} or +@code{inlinemediaobject}, and there is a @code{textobject} containing +the @code{programlisting} inside. + +@subheading Processing the DocBook document + +Running @command{lilypond-book} on our @file{.lyxml} file will create a +valid DocBook document to be further processed with @file{.xml} +extension. If you use +@uref{http://@/dblatex@/.sourceforge@/.net@/,dblatex}, it will create a +PDF file from this document automatically. For HTML (HTML Help, +JavaHelp etc.) generation you can use the official DocBook XSL +stylesheets, however, it is possible that you have to make some +customization for it. + + +@node Music fragment options +@section Music fragment options + +@untranslated + +In the following, a @q{LilyPond command} refers to any command described +in the previous sections which is handled by @command{lilypond-book} to +produce a music snippet. For simplicity, LilyPond commands are only +shown in @LaTeX{} syntax. + +Note that the option string is parsed from left to right; if an option +occurs multiple times, the last one is taken. + +The following options are available for LilyPond commands: + +@table @code +@item staffsize=@var{ht} +Set staff size to @var{ht}, which is measured in points. + +@item ragged-right +Produce ragged-right lines with natural spacing, i.e., +@code{ragged-right = ##t} is added to the LilyPond snippet. This is the +default for the @code{\lilypond@{@}} command if no @code{line-width} +option is present. It is also the default for the @code{lilypond} +environment if the @code{fragment} option is set, and no line width is +explicitly specified. + +@item noragged-right +For single-line snippets, allow the staff length to be stretched to +equal that of the line width, i.e., @code{ragged-right = ##f} is +added to the LilyPond snippet. + +@item line-width +@itemx line-width=@var{size}\@var{unit} +Set line width to @var{size}, using @var{unit} as units. @var{unit} is +one of the following strings: @code{cm}, @code{mm}, @code{in}, or +@code{pt}. This option affects LilyPond output (this is, the staff +length of the music snippet), not the text layout. + +If used without an argument, set line width to a default value (as +computed with a heuristic algorithm). + +If no @code{line-width} option is given, @command{lilypond-book} tries to +guess a default for @code{lilypond} environments which don't use the +@code{ragged-right} option. + +@item notime +Do not print the time signature, and turns off the timing (time signature, +bar lines) in the score. + +@item fragment +Make @command{lilypond-book} add some boilerplate code so that you can +simply enter, say, + +@example +c'4 +@end example + +@noindent +without @code{\layout}, @code{\score}, etc. + +@item nofragment +Do not add additional code to complete LilyPond code in music snippets. +Since this is the default, @code{nofragment} is redundant normally. + +@item indent=@var{size}\@var{unit} +Set indentation of the first music system to @var{size}, using +@var{unit} as units. @var{unit} is one of the following strings: +@code{cm}, @code{mm}, @code{in}, or @code{pt}. This option affects +LilyPond, not the text layout. + +@item noindent +Set indentation of the first music system to zero. This option affects +LilyPond, not the text layout. Since no indentation is the default, +@code{noindent} is redundant normally. + +@item quote +Reduce line length of a music snippet by @math{2*0.4}@dmn{in} and put +the output into a quotation block. The value @q{0.4@dmn{in}} can be +controlled with the @code{exampleindent} option. + +@item exampleindent +Set the amount by which the @code{quote} option indents a music snippet. + +@item relative +@itemx relative=@var{n} +Use relative octave mode. By default, notes are specified relative to +middle@tie{}C. The optional integer argument specifies the octave of +the starting note, where the default @code{1} is middle C. +@code{relative} option only works when @code{fragment} option is set, +so @code{fragment} is automatically implied by @code{relative}, +regardless of the presence of any @code{(no)fragment} option in the +source. +@end table + +LilyPond also uses @command{lilypond-book} to produce its own +documentation. To do that, some more obscure music fragment options are +available. + +@table @code +@item verbatim +The argument of a LilyPond command is copied to the output file and +enclosed in a verbatim block, followed by any text given with the +@code{intertext} option (not implemented yet); then the actual music is +displayed. This option does not work well with @code{\lilypond@{@}} if +it is part of a paragraph. + +If @code{verbatim} is used in a @code{lilypondfile} command, it is +possible to enclose verbatim only a part of the source file. If the +source file contain a comment containing @samp{begin verbatim} (without +quotes), quoting the source in the verbatim block will start after the +last occurrence of such a comment; similarly, quoting the source verbatim +will stop just before the first occurrence of a comment containing +@samp{end verbatim}, if there is any. In the following source file +example, the music will be interpreted in relative mode, but the +verbatim quote will not show the @code{relative} block, i.e. + +@example +\relative c' @{ % begin verbatim + c4 e2 g4 + f2 e % end verbatim +@} +@end example + +@noindent +will be printed with a verbatim block like + +@example + c4 e2 g4 + f2 e +@end example + +@noindent +If you would like to translate comments and variable names in verbatim +output but not in the sources, you may set the environment variable +@code{LYDOC_LOCALEDIR} to a directory path; the directory should +contain a tree of @file{.mo} message catalogs with @code{lilypond-doc} +as a domain. + +@item addversion +(Only for Texinfo output.) Prepend line @code{\version +@@w@{"@@version@{@}"@}} to @code{verbatim} output. + +@item texidoc +(Only for Texinfo output.) If @command{lilypond} is called with the +@option{--header=@/texidoc} option, and the file to be processed is +called @file{foo@/.ly}, it creates a file @file{foo@/.texidoc} if there +is a @code{texidoc} field in the @code{\header}. The @code{texidoc} +option makes @command{lilypond-book} include such files, adding its +contents as a documentation block right before the music snippet. + +Assuming the file @file{foo@/.ly} contains + +@example +\header @{ + texidoc = "This file demonstrates a single note." +@} +@{ c'4 @} +@end example + +@noindent +and we have this in our Texinfo document @file{test.texinfo} + +@example +@@lilypondfile[texidoc]@{foo.ly@} +@end example + +@noindent +the following command line gives the expected result + +@example +lilypond-book --pdf --process="lilypond \ + -dbackend=eps --header=texidoc" test.texinfo +@end example + +Most LilyPond test documents (in the @file{input} directory of the +distribution) are small @file{.ly} files which look exactly like this. + +For localization purpose, if the Texinfo document contains +@code{@@documentlanguage @var{LANG}} and @file{foo@/.ly} header +contains a @code{texidoc@var{LANG}} field, and if @command{lilypond} +is called with @option{--header=@/texidoc@var{LANG}}, then +@file{foo@/.texidoc@var{LANG}} will be included instead of +@file{foo@/.texidoc}. + +@item lilyquote +(Only for Texinfo output.) This option is similar to quote, but only +the music snippet (and the optional verbatim block implied by +@code{verbatim} option) is put into a quotation block. This option is +useful if you want to @code{quote} the music snippet but not the +@code{texidoc} documentation block. + +@item doctitle +(Only for Texinfo output.) This option works similarly to +@code{texidoc} option: if @command{lilypond} is called with the +@option{--header=@/doctitle} option, and the file to be processed is +called @file{foo@/.ly} and contains a @code{doctitle} field in the +@code{\header}, it creates a file @file{foo@/.doctitle}. When +@code{doctitle} option is used, the contents of @file{foo@/.doctitle}, +which should be a single line of @var{text}, is inserted in the +Texinfo document as @code{@@lydoctitle @var{text}}. +@code{@@lydoctitle} should be a macro defined in the Texinfo document. +The same remark about @code{texidoc} processing with localized +languages also applies to @code{doctitle}. + +@item nogettext +(Only for Texinfo output.) Do not translate comments and variable +names in the snippet quoted verbatim. + +@item printfilename +If a LilyPond input file is included with @code{\lilypondfile}, print +the file name right before the music snippet. For HTML output, this +is a link. Only the base name of the file is printed, i.e. the +directory part of the file path is stripped. + +@item fontload +This option includes fonts in all of the generated EPS-files for this +snippet. This should be used if the snippet uses any font that @LaTeX{} +cannot find on its own. + +@end table + + +@node Invoking lilypond-book +@section Invoking @command{lilypond-book} + +@untranslated + +@command{lilypond-book} produces a file with one of the following +extensions: @file{.tex}, @file{.texi}, @file{.html} or @file{.xml}, +depending on the output format. All of @file{.tex}, @file{.texi} and +@file{.xml} files need further processing. + +@subheading Format-specific instructions + +@subsubheading @LaTeX{} + +There are two ways of processing your @LaTeX{} document for printing or +publishing: getting a PDF file directly with PDF@LaTeX{}, or getting a +PostScript file with @LaTeX{} via a DVI to PostScript translator like +@command{dvips}. The first way is simpler and recommended@footnote{Note +that PDF@LaTeX{} and @LaTeX{} may not be both usable to compile any +@LaTeX{} document, that is why we explain the two ways.}, and whichever +way you use, you can easily convert between PostScript and PDF with +tools, like @command{ps2pdf} and @command{pdf2ps} included in +Ghostscript package. + +To produce a PDF file through PDF@LaTeX{}, use + +@example +lilypond-book --pdf yourfile.pdftex +pdflatex yourfile.tex +@end example + +@cindex outline fonts +@cindex type1 fonts +@cindex dvips +@cindex invoking dvips +To produce PDF output via @LaTeX{}/@command{dvips}/@command{ps2pdf}, you +should do + +@example +lilypond-book yourfile.lytex +latex yourfile.tex +dvips -Ppdf yourfile.dvi +ps2pdf yourfile.ps +@end example + +@noindent +The @file{.dvi} file created by this process will not contain + note heads. This is normal; if you follow the instructions, they +will be included in the @file{.ps} and @file{.pdf} files. + +Running @command{dvips} may produce some warnings about fonts; these +are harmless and may be ignored. If you are running @command{latex} in +twocolumn mode, remember to add @code{-t landscape} to the +@command{dvips} options. + +@subsubheading Texinfo + +To produce a Texinfo document (in any output format), follow the normal +procedures for Texinfo; this is, either call @command{texi2pdf} or +@command{texi2dvi} or @command{makeinfo}, depending on the output format +you want to create. +@ifinfo +@xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, and @ref{Creating +an Info File, , , texinfo, GNU Texinfo}. +@end ifinfo +@ifnotinfo +See the documentation of Texinfo for further details. +@end ifnotinfo + + +@subheading Command line options + +@command{lilypond-book} accepts the following command line options: + +@table @code +@item -f @var{format} +@itemx --format=@var{format} +Specify the document type to process: @code{html}, @code{latex}, +@code{texi} (the default) or @code{docbook}. If this option is missing, +@command{lilypond-book} tries to detect the format automatically, see +@ref{Filename extensions}. Currently, @code{texi} is the same as +@code{texi-html}. + +@c This complicated detail is not implemented, comment it out -jm +@ignore +The @code{texi} document type produces a Texinfo file with music +fragments in the printed output only. For getting images in the HTML +version, the format @code{texi-html} must be used instead. +@end ignore + +@item -F @var{filter} +@itemx --filter=@var{filter} +Pipe snippets through @var{filter}. @code{lilypond-book} will +not --filter and --process at the same time. For example, + +@example +lilypond-book --filter='convert-ly --from=2.0.0 -' my-book.tely +@end example + +@item -h +@itemx --help +Print a short help message. + +@item -I @var{dir} +@itemx --include=@var{dir} +Add @var{dir} to the include path. @command{lilypond-book} also looks +for already compiled snippets in the include path, and does not write +them back to the output directory, so in some cases it is necessary to +invoke further processing commands such as @command{makeinfo} or +@command{latex} with the same @code{-I @var{dir}} options. + +@item -o @var{dir} +@itemx --output=@var{dir} +Place generated files in directory @var{dir}. Running +@command{lilypond-book} generates lots of small files that LilyPond will +process. To avoid all that garbage in the source directory, use the +@option{--output} command line option, and change to that directory +before running @command{latex} or @command{makeinfo}. + +@example +lilypond-book --output=out yourfile.lytex +cd out +... +@end example + +@itemx --skip-lily-check +Do not fail if no lilypond output is found. It is used for LilyPond +Info documentation without images. + +@itemx --skip-png-check +Do not fail if no PNG images are found for EPS files. It is used for +LilyPond Info documentation without images. + +@itemx --lily-output-dir=@var{dir} +Write lily-XXX files to directory @var{dir}, link into @code{--output} +directory. Use this option to save building time for documents in +different directories which share a lot of identical snippets. + +@itemx --info-images-dir=@var{dir} +Format Texinfo output so that Info will look for images of music in +@var{dir}. + +@itemx --latex-program=@var{prog} +Run executable @command{prog} instead of @command{latex}. This is +useful if your document is processed with @command{xelatex}, for +example. + +@itemx --left-padding=@var{amount} +Pad EPS boxes by this much. @var{amount} is measured in millimeters, +and is 3.0 by default. This option should be used if the lines of +music stick out of the right margin. + +The width of a tightly clipped system can vary, due to notation +elements that stick into the left margin, such as bar numbers and +instrument names. This option will shorten each line and move each +line to the right by the same amount. + + +@item -P @var{command} +@itemx --process=@var{command} +Process LilyPond snippets using @var{command}. The default command is +@code{lilypond}. @code{lilypond-book} will not @code{--filter} and +@code{--process} at the same time. + +@item --pdf +Create PDF files for use with PDF@LaTeX{}. + +@item -V +@itemx --verbose +Be verbose. + +@item -v +@itemx --version +Print version information. +@end table + +@knownissues + +The Texinfo command @code{@@pagesizes} is not interpreted. Similarly, +@LaTeX{} commands that change margins and line widths after the preamble +are ignored. + +Only the first @code{\score} of a LilyPond block is processed. + + +@node Filename extensions +@section Filename extensions + +@untranslated + +You can use any filename extension for the input file, but if you do not +use the recommended extension for a particular format you may need to +manually specify the output format; for details, see @ref{Invoking +lilypond-book}. Otherwise, @command{lilypond-book} automatically +selects the output format based on the input filename's extension. + +@quotation +@multitable @columnfractions .2 .5 +@item @strong{extension} @tab @strong{output format} +@item +@item @file{.html} @tab HTML +@item @file{.itely} @tab Texinfo +@item @file{.latex} @tab @LaTeX{} +@item @file{.lytex} @tab @LaTeX{} +@item @file{.lyxml} @tab DocBook +@item @file{.tely} @tab Texinfo +@item @file{.tex} @tab @LaTeX{} +@item @file{.texi} @tab Texinfo +@item @file{.texinfo} @tab Texinfo +@item @file{.xml} @tab HTML +@end multitable +@end quotation + +If you use the same filename extension for the input file than the +extension @command{lilypond-book} uses for the output file, and if the +input file is in the same directory as @command{lilypond-book} working +directory, you must use @code{--output} option to make +@command{lilypond-book} running, otherwise it will exit with an error +message like @qq{Output would overwrite input file}. + + +@node Alternate methods of mixing text and music +@section Alternative methods of mixing text and music + +@untranslated + +This section shows methods to integrate text and music, different than +the automated method with @command{lilypond-book}. + +@menu +* Many quotes from a large score:: +* Inserting LilyPond output into OpenOffice.org:: +* Inserting LilyPond output into other programs:: +@end menu + +@node Many quotes from a large score +@unnumberedsubsec Many quotes from a large score + +@untranslated + +If you need to quote many fragments from a large score, you can also use +the clip systems feature, see @ruser{Extracting fragments of music}. + + +@node Inserting LilyPond output into OpenOffice.org +@unnumberedsubsec Inserting LilyPond output into OpenOffice.org + +@untranslated + +@cindex OpenOffice.org + +LilyPond notation can be added to OpenOffice.org with +@uref{http://@/ooolilypond@/.sourceforge@/.net@/,OOoLilyPond}. + + +@node Inserting LilyPond output into other programs +@unnumberedsubsec Inserting LilyPond output into other programs + +@untranslated + +To insert LilyPond output in other programs, use @code{lilypond} +instead of @code{lilypond-book}. Each example must be created +individually and added to the document; consult the documentation for +that program. Most programs will be able to insert LilyPond output in +@file{PNG}, @file{EPS}, or @file{PDF} formats. + +To reduce the white space around your LilyPond score, use +the following options + +@example +\paper@{ + indent=0\mm + line-width=120\mm + oddFooterMarkup=##f + oddHeaderMarkup=##f + bookTitleMarkup = ##f + scoreTitleMarkup = ##f +@} + +@{ c1 @} +@end example + +To produce a useful @file{EPS} file, use + +@example +lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts myfile.ly + +@file{PNG}: +lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts --png myfile.ly +@end example + diff --git a/Documentation/ja/user/lilypond-program.tely b/Documentation/ja/user/lilypond-program.tely new file mode 100644 index 0000000000..9c3cd466d4 --- /dev/null +++ b/Documentation/ja/user/lilypond-program.tely @@ -0,0 +1,180 @@ +\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*- +@ignore + Translation of GIT committish: 499a511d4166feaada31114e097f86b5e0c56421 + + When revising a translation, copy the HEAD committish of the + version that you are working on. See TRANSLATION for details. +@end ignore + +@documentencoding UTF-8 +@setfilename lilypond-program.info +@settitle GNU LilyPond -- アプリケーション使用方法 + +@include macros.itexi + +@afourpaper + +@c don't remove this comment. +@ignore +@omfcreator Han-Wen Nienhuys, Jan Nieuwenhuizen and Graham Percival +@omfdescription Program Usage of the LilyPond music engraving system +@omftype user manual +@omfcategory Applications|Publishing +@omflanguage Japanese +@end ignore + +@c Translators: Yoshiki Sawada +@c Translation status: post-GDP + +@ifnottex +@node Top +@top GNU LilyPond --- アプリケーション使用方法 +@end ifnottex + +@ifhtml +@ifclear bigpage +このドキュメントは @uref{source/Documentation/user/lilypond-program.ja.pdf,PDF +形式} と @uref{source/Documentation/user/lilypond-program-big-page.ja.html, +大きな 1 ページ形式} でも利用可能です。 +@end ifclear +@ifset bigpage +このドキュメントは @uref{source/Documentation/user/lilypond-program.ja.pdf,PDF +形式} と @uref{source/Documentation/user/lilypond-program/index.ja.html, +複数のページにインデックス化された形式} でも利用可能です。 +@end ifset +@end ifhtml + +@c urg, makeinfo 4.9.91 French translation is funky +@iftex +@documentlanguage ja +@c frenchspacing on +@end iftex + +@syncodeindex fn cp +@c @syncodeindex ky cp +@c @syncodeindex pg cp +@c @syncodeindex tp cp +@c @syncodeindex vr cp + +@finalout + +@titlepage +@title GNU LilyPond +@c subtitle Le système de gravure musicale +@subtitle 音楽譜刻システム +@c titlefont{Utilisation des programmes} +@c author L'équipe de développement de LilyPond +@author LilyPond開発チーム + +Copyright @copyright{} 1999--2008 著作者一同 + +@emph{The translation of the following copyright notice is provided +for courtesy to non-English speakers, but only the notice in English +legally counts.} + +@emph{以下は英語を話さない人々のための著作権についての注意書きです。しかしなが@c +ら、英語で書かれた注意書きだけが法的に有効です。} + +@quotation +GNU フリー文書利用許諾契約書バージョン 1.1 またはフリー ソフトウェア財団によっ@c +て発行されたその後のバージョンの約定に従う限り、このドキュメントを複製、変更す@c +る許可を与えます。変更不可部分はありません。この利用許諾契約書のコピーは 「GNU +フリー文書利用許諾契約書」 +という章に含まれています。 +@end quotation + +@quotation +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 +or any later version published by the Free Software Foundation; +with no Invariant Sections. +A copy of the license is included in the section entitled ``GNU +Free Documentation License''. +@end quotation + +@vskip 20pt + +For LilyPond version @version{} +@end titlepage + + +@ifnottex +このファイルは GNU LilyPond プログラムの使用方法についてのドキュメントです。 +@c This file documents GNU LilyPond program usage. + +Copyright @copyright{} 1999--2008 著作者一同 + +@emph{The translation of the following copyright notice is provided +for courtesy to non-English speakers, but only the notice in English +legally counts.} + +@emph{以下は英語を話さない人々のための著作権についての注意書きです。しかしなが@c +ら、英語で書かれた注意書きだけが法的に有効です。} + + +@quotation +GNU フリー文書利用許諾契約書バージョン 1.1 またはフリー ソフトウェア財団によっ@c +て発行されたその後のバージョンの約定に従う限り、このドキュメントを複製、変更す@c +る許可を与えます。変更不可部分はありません。この利用許諾契約書のコピーは 「GNU +フリー文書利用許諾契約書」 +という章に含まれています。 +@end quotation + +@quotation +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 +or any later version published by the Free Software Foundation; +with no Invariant Sections. +A copy of the license is included in the section entitled ``GNU +Free Documentation License''. +@end quotation +@end ifnottex + + +@ifnottex + +これは GNU LilyPond バージョン @version{} のためのアプリケーション使用方法マ@c +ニュアルです。このドキュメントと他のドキュメントとの関係についての更なる情報@c +は、@rlearning{About the documentation} を参照してください。 + +@cindex web site +@cindex URL + +@uref{http://@/www@/.lilypond@/.org/} で更なる情報を見つけることができます。こ@c +のウェブ サイトにはこのドキュメントと他のドキュメントのオンライン コピーがあり@c +ます。 + +@include dedication.itely + +@menu +* Install:: インストール方法とコンパイル方法 +* Setup:: 他のプログラムの助けを借りて LilyPond を使@c +用する +* Running LilyPond:: 操作方法 +* LilyPond-book:: テキストと音楽を統合する +* Converting from other formats:: lilypond ソース形式に変換する + +付録 + +* GNU Free Documentation License:: このドキュメントの使用許諾書 +* LilyPond index:: +@end menu +@end ifnottex + +@contents + + +@include install.itely +@include setup.itely +@include running.itely +@include lilypond-book.itely +@include converters.itely + +@include fdl.itexi + +@node LilyPond index +@appendix LilyPond index + +@printindex cp + +@bye diff --git a/Documentation/ja/user/running.itely b/Documentation/ja/user/running.itely new file mode 100644 index 0000000000..309cf9e455 --- /dev/null +++ b/Documentation/ja/user/running.itely @@ -0,0 +1,631 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*- +@c This file is part of lilypond-program.tely +@ignore + Translation of GIT committish: 499a511d4166feaada31114e097f86b5e0c56421 + + When revising a translation, copy the HEAD committish of the + version that you are working on. See TRANSLATION for details. +@end ignore + +@c \version "2.12.0" + +@c Translators: Yoshiki Sawada +@c Translation status: post-GDP + +@node Running LilyPond +@chapter Running LilyPond + +この章では LilyPond を実行するための細かな規定について詳述します。 + +@menu +* Normal usage:: +* Command-line usage:: +* Error messages:: +* Updating files with convert-ly:: +* Reporting bugs:: +@end menu + + +@node Normal usage +@section Normal usage + +たいていのユーザは GUI から LilyPond を実行します。@rlearning{First steps} を@c +まだ読んでいないのなら、それを読んでください。 + + +@node Command-line usage +@section Command-line usage + +この節にはコマンド ラインで LilyPond を使用するための追加情報が含まれます。こ@c +れにはプログラムに追加オプションを渡す必要があるかもしれません。さらに、いくつ@c +かの特別なプログラム (@code{midi2ly} など) はコマンド ラインからしか利用できま@c +せん。 + +ここで @q{コマンド ライン} とは、OS の中にあるコマンド ラインを意味します。@c +Windows ユーザは @q{DOS シェル} という言葉の方が馴染みがあるかもしれません。@c +MaxOS@tie{}X ユーザは @q{ターミナル} や @q{コンソール} という言葉の方が馴染み@c +があるかもしれません。MaxOS@tie{}X ユーザは @ref{Setup for MacOS X} も読んでお@c +くべきです。 + +OS のコマンド ラインの使用方法についての説明はこのマニュアルが扱う範囲ではあり@c +ません。コマンド ラインに馴染みがない場合は、その内容を扱っている他のドキュ@c +メントをあたってください。 + +@menu +* Invoking lilypond:: +* Command line options for lilypond:: +* Environment variables:: +@end menu + +@node Invoking lilypond +@subsection Invoking @command{lilypond} + +@cindex Invoking @command{lilypond} +@cindex command line options for @command{lilypond} +@cindex options, command line +@cindex switches + +@command{lilypond} 実行可能形式ファイルはコマンド ラインから以下のように呼び出@c +されます。 + +@example +lilypond [@var{option}]@dots{} @var{file}@dots{} +@end example + +拡張子を持たないファイル名で呼び出された場合、@file{.ly} が最初に試されます。@c +sudin から入力を読み込む場合には、@var{file} に対してダッシュ (@code{−}) を使@c +用します。 + +@file{filename.ly} が処理されると、lilypond は出力として @file{filename.ps} と +@file{filename.pdf} を作り出します。いくつかのファイルを指定することもできま@c +す。その場合、それらのファイルは個々に処理されます。@footnote{GUILE のステータ@c +スは @code{.ly} 処理後にリセットされません。そのため、Scheme 内部からいかなる@c +システム デフォルトも変更しないよう注意してください。} + +@file{filename.ly} が複数の @code{\score} を含んでいる場合、2 つ目以降の score +は @file{filename-1.pdf} から始まる番号付きのファイルに出力されます。さらに、@c +@code{output-suffix} がベース名と番号の間に挿入されます。以下の内容を含んでい@c +る入力ファイルは + +@example +#(define output-suffix "violin") +\book @{ @dots{} @} +#(define output-suffix "cello") +\book @{ @dots{} @} +@end example + +@noindent +@var{base}@file{-violin.pdf} と @var{base}@file{-cello-1.pdf} を出力します。 + + +@node Command line options for lilypond +@subsection Command line options for @command{lilypond} + +以下のオプションがサポートされます: + +@table @code + +@item -e,--evaluate=@var{expr} +@file{.ly} ファイルを解析する前に Scheme @var{expr} を評価します。複数の +@code{-e} オプションが与えられた場合、それらは順番に評価されます。 + +表記は @code{guile-user} モジュールの中で評価されます。そのため、@var{expr} の@c +中で definition を使いたいのならば、@code{.ly} ファイルに以下をインクルードして: + +@example +#(use-modules (guile-user)) +@end example + +@noindent +コマンド ラインで以下を使用します: + +@example +lilypond -e '(define-public a 42)' +@end example + + + +@item -f,--format=@var{format} +フォーマットを指定します。@code{format} には @code{svg}, @code{ps}, @code{pdf}, +@code{png} を選択します。 + +例: @code{lilypond -fpng @var{filename}.ly} + + + +@item -d,--define-default=@var{var}=@var{val} +これは内部プログラム オプション @var{var} に Scheme 値 @var{val} をセットしま@c +す。@var{val} が提供されていない場合、@var{#t} が使用されます。オプションを OFF +にするには、@var{var} の接頭辞として @code{no-} を付けます。つまり、 + +@cindex point and click, command line + +@example +-dno-point-and-click +@end example + +@noindent +は +@example +-dpoint-and-click='#f' +@end example +と同じです。 + +ここで興味深いオプションをいくつか挙げます。 + +@table @samp +@item help +@code{lilypond -dhelp} を実行すると使用可能な @code{-d} オプションがすべて表示@c +されます。 + +@item paper-size +このオプションはデフォルトの用紙サイズをセットします。 +@example +-dpaper-size=\"letter\" +@end example + +@noindent +文字列はエスケーブされたクォート ( @code{\"} ) で囲まれていなければならないと@c +いうことに注意してください。 +@c Match " in previous line to help context-sensitive editors + +@item safe +@code{.ly} 入力を信用してはいけません。 + +Web サーバを通じて LilyPond フォーマットが利用可能な場合、@code{--safe} オプ@c +ションか @code{--jail} オプションのどちらかを@b{渡さなければなりません}。@c +@code{--safe} オプションは以下のようなインライン Scheme コードが大混乱をもたら@c +すことを防ぎます: + +@quotation +@verbatim +#(system "rm -rf /") +{ + c4^#(ly:export (ly:gulp-file "/etc/passwd")) +} +@end verbatim +@end quotation + +訳者: #(system "rm -rf /") はルート ディレクトリ以下を削除し、export +(ly:gulp-file "/etc/passwd") はパスワード ファイルをエクスポートします。 + +@code{-dsafe} オプションはインライン Sceme 表記を特別なセーフ モジュールの中で@c +評価します。このセーフ モジュールは GUILE @file{safe-r5rs} モジュールから派生@c +したものですが、LilyPond API 関数をいくつか追加しています。これらの関数は +@file{scm/@/safe@/-lily@/.scm} でリスト アップされています。 + +さらに、セーフ モードは @code{\include} 指示を却下し、@TeX{} 文字列の中にある@c +バックスラッシュを無効にします。 + +セーフ モードでは、LilyPond 変数を Scheme にインポートすることはできません。 + +@code{-dsafe} はリソースの乱用を検出@emph{しません}。例えば循環データ構造体を@c +バックエンドに食わせることで、プログラムをハングさせることは可能です。そのた@c +め、パブリックにアクセス可能な Web サーバ上で LilyPond を使用する場合、そのプ@c +ロセスの CPU とメモリの両方の使用は制限されるべきです。 + +セーフ モードは多くの有用な LilyPond 断片がコンパイルされることを妨げます。@c +@code{--jail} はより安全な代替オプションですが、セット アップにより多くの作業@c +を必要とします。 + +@cindex output format, setting +@item backend +バックエンドに対して使用する出力フォーマットを指定します。@code{format} の選択@c +肢には以下があります: +@table @code +@item ps +@cindex PostScript output + PostScript + + Postscript ファイルは TTF, Type1, OTF フォントを含んでいます。これらのフォン@c +トのサブセット化 (訳者: フォント セットを使用するフォントに限定すること) は行@c +われません。東洋の文字セットを使用する場合、巨大なファイルになる可能性がありま@c +す。 + +@item eps + 縮約された PostScript (EPS)。これは各ページ (システム) をフォントを持たない@c +個別の @file{EPS} ファイルとして吐き出し、フォントを含めたすべてのページ (シス@c +テム) を持つ @file{EPS} ファイルを 1 つ吐き出します。 + +このモードは @command{lilypond-book} でデフォルトで使用されます。 + +@item svg +@cindex SVG (Scalable Vector Graphics) + SVG (Scalable Vector Graphics)。これは各ページをフォントを埋め込まれた個別の +@file{SVG} ファイルとして吐き出します。埋め込みフォントをサポートする SVG +ビューアか埋め込みフォントを OTF フォントに置き換える機能を持つ SVG ビューアが@c +必要になります。UNIX では、@uref{http://www.inkscape.org,Inkscape} (バージョン +0.42 以降) を使うことになるかもしれません。使用前に、OTF フォントを LilyPond +ディレクトリ (一般には @file{/usr/share/lilypond/VERSION/fonts/otf/}) から +@file{~/.fonts/} にコピーしてください。 +@item scm +@cindex Scheme dump + 生データ -- 内部 Scheme ベース描画コマンド -- を吐き出します。 + +@item null + 譜刻された楽譜を出力しません。@code{-dno-print-pages} と同じ効果を持ちます。 +@end table + +例: @code{lilypond -dbackend=svg @var{filename}.ly} + +@item preview +タイトルとファイル システム情報を保持している出力ファイルを生成します。 +@item print-pages + +すべてのページを生成します。デフォルトです。@code{-dno-print-pages} は +@code{-dpreview} と組み合わせて使うと有用です。 + +@end table + + + +@item -h,--help +使用方法の要約を表示します。 + +@item -H,--header=@var{FIELD} +ヘッダ フィールドをファイル @file{BASENAME.@var{FIELD}} に吐き出します。 + +@item --include, -I=@var{directory} +@var{directory} を入力ファイルのサーチ パスに追加します。 +@cindex file searching +@cindex search path + +@item -i,--init=@var{file} +init ファイルとして @var{file} をセットします (デフォルト: @file{init.ly})。 + +@item -o,--output=@var{FILE} +デフォルトの出力ファイルとして @var{FILE} をセットします。適切な接尾辞が追加さ@c +れます (つまり、pdf ならば拡張子 @code{.pdf} が追加されます)。 + +@item --ps +PostScript を生成します。 + +@item --png +各ページの図を PNG フォーマットで生成します。これは内部で @code{--ps} を使用し@c +ます。画像の DPI 解像度は以下のようにセットします: +@example +-dresolution=110 +@end example + +@item --pdf +PDF を生成します。これは内部で @code{--ps} を使用します。 + + + +@item -j,--jail=@var{user},@var{group},@var{jail},@var{dir} +@command{lilypond} を chroot jail 環境で実行します。 +@c (訳者: chroot jail 環境とはセキュリティのためにカレント プロセスに対して@c +ルート ディレクトリの位置を変更すること。) + +@code{--jail} オプションは、Web サーバを通じて LilyPond 譜刻を実行するときや +LilyPond が外部から提供されたソースを実行するときに、@code{--safe} よりも自由@c +度の高い代替手段を提供します。 + +@code{--jail} オプションはコンパイル プロセスの開始直前に @command{lilypond} の +ルートを @var{jail} に変更します。それからユーザとグループを提供された環境に@c +マッチするように変更し、カレント ディレクトリは @var{dir} に変更されます。この@c +セットアップは jail (牢獄) から抜け出せないということを (少なくとも理論的には) +保証します。@code{--jail} を指定した @command{lilypond} の実行はルート (ユーザ@c +名) として行われる必要があります。通常、これは @command{sudo} を用いた安全な方@c +法で行われます。 + +jail のセットアップは少々デリケートな問題です。LilyPond がソースをコンパイルす@c +るのに必要とされるものすべてを @emph{jail の内部} で見つけられるということを保@c +証しなければならないからです。一般的なセットアップには以下の項目が含まれます: + +@table @asis +@item 専用のファイルシステムをセットアップする +@code{noexec}, @code{nodev}, @code{nosuid} などのセーフ オプションでマウントす@c +るための専用ファイルシステムを作成すべきです。こうすることで、LilyPond から実@c +行可能形式ファイルを実行したり、デバイスに直接書き込むことは不可能になります。@c +専用のパーティションを作成することを望まないのなら、適当なサイズのファイルを作@c +成し、それを使用してループ デバイス (ループバック デバイス) をマウントしてくだ@c +さい。専用ファイルシステムはさらに、 LilyPond が許可されたディスク容量以上には@c +書き込めないということを保証します。 + +@item 専用のユーザをセットアップする +jail 内部で LilyPond を実行する際、低い権限を持つ専用のユーザとグループ (仮に +@code{lily}/@code{lily} とします) で行うべきです。このユーザが書き込み可能な@c +ディレクトリが 1 つだけ存在すべきであり、それを @var{dir} に渡します。 + +@item jail の準備をする +LilyPond は実行中にいくつかのファイルを読み込む必要があります。それらのファイ@c +ルをすべて jail にコピーしておきます。それらのファイルが本当のルート ファイル@c +システムで存在しているパスと同じパスにコピーします。LilyPond インストールの内@c +容すべて (例えば、@file{/usr/share/lilypond}) をコピーすべきです。 + +問題が発生した場合、その原因を突き止める最も簡単な方法は @command{strace} を@c +使って LilyPond を実行することです。これによりどのファイルが見当たらないのかが@c +わかります。 + +@item LilyPond を実行する +@code{noexec} でマウントされた jail の中では、外部プログラムを実行することは一@c +切できません。そのため、外部プログラムを必要としないバックエンドで LilyPond を@c +実行しなければなりません。すでに述べたように、jail モードでの LilyPond の実行@c +はスーパーユーザ権限で行われなければなりません (もちろん、その権限はすぐに外さ@c +れます)、たぶん @command{sudo} を使います。LilyPond が使用可能な CPU 時間を数@c +秒に制限する (例えば、@command{ulimit -t} を使って) というのは良いアイディアで@c +す。さらに、OS がサポートしているのなら、割り当て可能なメモリ容量を制限すると@c +いうのも良いアイディアです。 +@end table + + +@item -v,--version +バージョン情報を表示します。 + +@item -V,--verbose +冗長表示モードにします: 読み込むすべてのファイルのフル パスを表示して、時間情@c +報を表示します。 + +@item -w,--warranty +GNU LilyPond の保証責任を表示します。(GNU LilyPond には@strong{保証責任はあり@c +ません}!) +@end table + +@node Environment variables +@subsection Environment variables + +@cindex LANG +@cindex LILYPOND_DATADIR + +@command{lilypond} は以下の環境変数を認識します: +@table @code +@item LILYPOND_DATADIR +これはデフォルトで参照するロケール メッセージとデータ ファイルがあるディレクト@c +リを指定します。このディレクトリは @file{ly/}, @file{ps/}, @file{tex/} などの@c +サブディレクトリを保持しているべきです。 + +@item LANG +これはワーニング メッセージの言語を選択します。 + +@item LILYPOND_GC_YIELD +この変数を使ってメモリ使用量とパフォーマンスを調節することができます。これはメ@c +モリ管理の振る舞いを調整するパーセント値です。高い値にするとプログラムはより多@c +くのメモリを使用し、低い値にするとより多くの CPU 時間を使用します。デフォルト@c +値は @code{70} です。 + +@end table + + +@node Error messages +@section Error messages + +@cindex error messages +ファイルのコンパイルの最中にはさまざまなエラー メッセージが表示される可能性が@c +あります。 + +@table @emph + +@item Warning +@cindex warning +何か疑わしいことがあります。あなたが何か普通でないことをリクエストしている場合@c +は、そのメッセージを理解して、それを無視することができます。しかしながら、@c +Warning は通常、入力ファイルに何か問題があることを示しています。 + +@item Error +何か明らかに問題があります。カレントの処理ステップ (構文解析、構文解釈、フォー@c +マット) は終了され、次のステップは飛ばされます。 + +@item Fatal error +@cindex error +@cindex fatal error +何か明らかに問題があり、LilyPond はコンパイルを続けられません。これが起きるこ@c +とは稀です。これが起こるのはたいてい、フォントのインストールに問題があるためで@c +す。 + +@item Scheme error +@cindex trace, Scheme +@cindex call trace +@cindex Scheme error +Scheme コードの実行中に発生するこのエラーは Sceme インタプリタによって引き起こ@c +されます。冗長オプション (@code{-V} または @code{--verbose}) 付きで実行してい@c +る場合、問題となっている関数呼び出しの呼び出し追跡が表示されます。 + +@item Programming error +@cindex Programming error +内部的な矛盾があります。このエラー メッセージはプログラマとデバッガを助けるこ@c +とを意図したものです。通常、それらは無視できます。時々、それらは非常に大きな@c +メッセージとなり、他の出力を見えにくくします。 + +@item Aborted (core dumped) +これは、プログラムをクラッシュさせる深刻なプログラミング エラーを示していま@c +す。そのようなエラーは決定的なものだと考えられます。あなたがそのようなエラーで@c +つまずいた場合、バグ レポートを送ってください。 +@end table + +@cindex errors, message format +警告とエラーを入力ファイルのある部分にリンクさせることが可能な場合、エラー +メッセージは以下のような形式になります: + +@example +@var{filename}:@var{lineno}:@var{columnno}: @var{message} +@var{offending input line} +@end example + +エラーが見つかった場所を示すために問題のある行に改行が挿入されます。例えば: + +@example +test.ly:2:19: error: not a duration: 5 + @{ c'4 e' + 5 g' @} +@end example + +これらの位置は LilyPond が警告やエラーが発生した位置を最善を尽くして推測したも@c +のですが、(ごく当たり前のことですが) 警告とエラーは何か予期しないことが起こっ@c +たときに発生するものです。入力ファイルの示された行にエラーを見つけることができ@c +ない場合は、示された位置の 1 行か 2 行上をチェックしてみてください。 + + +@node Updating files with convert-ly +@section Updating files with @command{convert-ly} + +@cindex Updating a LilyPond file +@cindex convert-ly + +LilyPond の入力構文は、さまざまな方法で単純化または改善するために、定期的に変@c +更されます。その副作用として、LilyPond のインタプリタはしばしば古い入力ファイ@c +ルと互換性を持たなくなります。これを救済するために、プログラム +@command{convert-ly} を用いることで、たいていの LilyPond のバージョン間での構@c +文変更を処理することができます。 + +このプログラムは古いバージョン番号を検出するために入力ファイルの @code{version} +ステートメントを使用します。たいていの場合、あなたの入力ファイルをアップグレー@c +ドするには以下を実行することで十分です: + +@example +convert-ly -e myfile.ly +@end example + +@noindent +MacOS@tie{}X ユーザはこのコマンドをメニュー エントリ (@code{Compile > Update +syntax}) 下で実行することになるかもしれません。 + +myfile.ly に変更が加えられず、myfile.ly.NEW というファイルが作成された場合、@c +myfile.ly はすでに更新されています。 + +@menu +* Command line options for convert-ly:: +* Problems with convert-ly:: +@end menu + +@node Command line options for convert-ly +@subsection Command line options for @command{convert-ly} + +@command{convert-ly} は常にそれが扱っている最新の構文変更に変換します。このこ@c +とは、通常、ファイルの中にある @code{version} 番号は @command{convert-ly} 自体@c +のバージョンよりも低いということを意味します。 + +texinfo ファイルの中にある LilyPond 断片をアップグレードするには以下を使用して@c +ください: + +@example +convert-ly --from=... --to=... --no-version *.itely +@end example + +2 つのバージョン間での LilyPond 構文の変更を調べるには、以下を使用してください: + +@example +convert-ly --from=... --to=... -s +@end example + +1 度に多くのファイルをアップグレードするには、@code{convert-ly} に標準 UNIX コ@c +マンドを組み合わせてください。以下の例はカレント ディレクトリの中にあるすべての +@code{.ly} ファイルをアップグレードします: + +@example +for f in *.ly; do convert-ly -e $f; done; +@end example + +一般に、このプログラムは以下のように呼び出されます: + +@example +convert-ly [@var{option}]@dots{} @var{file}@dots{} +@end example + + +以下のオプションを与えることができます: + +@table @code +@item -e,--edit +入力ファイルのインライン編集を行います。@code{--output} をオーバライドします。 + +@item -f,--from=@var{from-patchlevel} +変換元のバージョンをセットします。これがセットされていない場合、@c +@command{convert-ly} は入力ファイルの中にある @code{version} 文字列を基に推測@c +します。 + +@item -n,--no-version +通常、@command{convert-ly} は @code{\version} インジケータを出力に付け加えま@c +す。このオプションを指定すると、それを抑制します。 + +@item -s, --show-rules +すべての変換を表示して、終了します。 + +@item --to=@var{to-patchlevel} +変換先のバージョンをセットします。デフォルトは利用可能な最新バージョンです。 + +@item -h, --help +使用方法についてのヘルプを表示します。 +@end table + + +@node Problems with convert-ly +@subsection Problems with @code{convert-ly} + +言語の変更がすべて処理されるわけではありません。指定できる出力オプションは 1 +つだけです。自動的に Scheme と更新することと LilyPond の Scheme インタフェイス@c +を更新することはまったく異なります。Scheme コードの調整は手動で行う覚悟でいて@c +ください。 + +convert-ly が処理できないことがいくつかあります。ここに、LilyPond コミュニティ@c +がそのことについて訴えたリストを挙げます。 + +convert-ly は必要とされるすべての変更をスムーズに実装できるような構造になって@c +いないため、このようなバグ レポートがあります。 + +@verbatim +1.6->2.0: + Doesn't always convert figured bass correctly, specifically things like {< +>}. Mats' comment on working around this: + To be able to run convert-ly + on it, I first replaced all occurrences of '{<' to some dummy like '{#' + and similarly I replaced '>}' with '&}'. After the conversion, I could + then change back from '{ #' to '{ <' and from '& }' to '> }'. + Doesn't convert all text markup correctly. In the old markup syntax, + it was possible to group a number of markup commands together within +parentheses, e.g. + -#'((bold italic) "string") + This will incorrectly be converted into + -\markup{{\bold italic} "string"} + instead of the correct + -\markup{\bold \italic "string"} +2.0->2.2: + Doesn't handle \partcombine + Doesn't do \addlyrics => \lyricsto, this breaks some scores with multiple +stanzas. +2.0->2.4: + \magnify isn't changed to \fontsize. + - \magnify #m => \fontsize #f, where f = 6ln(m)/ln(2) + remove-tag isn't changed. + - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . . + first-page-number isn't changed. + - first-page-number no => print-first-page-number = ##f + Line breaks in header strings aren't converted. + - \\\\ as line break in \header strings => \markup \center-align < + "First Line" "Second Line" > + Crescendo and decrescendo terminators aren't converted. + - \rced => \! + - \rc => \! +2.2->2.4: + \turnOff (used in \set Staff.VoltaBracket = \turnOff) is not properly +converted. +2.4.2->2.5.9 + \markup{ \center-align <{ ... }> } should be converted to: + \markup{ \center-align {\line { ... }} } + but now, \line is missing. +2.4->2.6 + Special LaTeX characters such as $~$ in text are not converted to UTF8. +2.8 + \score{} must now begin with a music expression. Anything else + (particularly \header{}) must come after the music. +@end verbatim + + +@node Reporting bugs +@section Reporting bugs + +@cindex bugs +@cindex reporting bugs + +クラッシュや間違った出力を発生させる入力があれば、それがバグです。我々の Google +バグ トラッカ上にカレント バグのリストがあります: + +@uref{http://code.google.com/p/lilypond/issues/list} + +ここにリスト アップされていないバグを発見した場合、以下の宛先にそのバグを報告@c +してください: + +@uref{http://lilypond.org/web/devel/participating/bugs} + +レポートの中のバグの例は最小化して提出してください。我々には可能な限り小さくさ@c +れてはいないレポートを調査するだけのリソースがありません。 diff --git a/Documentation/ja/user/setup.itely b/Documentation/ja/user/setup.itely new file mode 100644 index 0000000000..7177223dcb --- /dev/null +++ b/Documentation/ja/user/setup.itely @@ -0,0 +1,340 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*- +@c This file is part of lilypond-program.tely +@ignore + Translation of GIT committish: 499a511d4166feaada31114e097f86b5e0c56421 + + When revising a translation, copy the HEAD committish of the + version that you are working on. See TRANSLATION for details. +@end ignore + +@c \version "2.12.0" + +@c Translators: Yoshiki Sawada +@c Translation status: post-GDP + + +@node Setup +@chapter Setup + +この章では、インストール後に行う LilyPond と他の様々なプログラムのための様々な@c +コンフィグレーション オプションについて議論します。この章はリファレンスと見な@c +して差し支えないかもしれません: あなたに関係のある節だけを読んでください。 + +@menu +* Setup for specific Operating Systems:: +* Text editor support:: +* Point and click:: +@end menu + +@node Setup for specific Operating Systems +@section Setup for specific Operating Systems + +この節では、特定の OS のために必要とされる追加のセットアップを実行する方法につ@c +いて説明します。 + +@menu +* Setup for MacOS X:: +@end menu + + +@node Setup for MacOS X +@subsection Setup for MacOS X + +@subsubheading Using Python scripts on MacOS 10.3 or 10.4 + +MacOS X 用の LilyPond バイナリは Python を提供しませんが、@command{convert-ly} +には Python 2.4 以降が必要です。そのため、あなたが MacOS 10.3 または 10.4 を@c +使っているのなら、あなたは @uref{http://python.org/download/} から新しいバー@c +ジョンの Python をインストールして、@command{convert-ly} と +@command{lilypond-book} の最初の行を以下のように編集する必要があります: あなた@c +が新たにインストールした Python バイナリがあなたの @var{PATH} の中にある場合、@c +最初の行を + +@example +#!/usr/bin/env python +@end example + +@noindent +のように変更し、そうでない場合は、 + +@example +#!@var{/path/to/newly_installed/python} +@end example + +と変更します。 + + +@subsubheading MacOS X on the command line + +MacOS@tie{}Xではスクリプト --- @command{lilypond-book}, @command{convert-ly}, +@command{abc2ly}, あるいは @command{lilypond} 自体のような --- は @code{.app} +ファイルの中に含まれています。それらは、それらをコマンド ラインから直接呼び出@c +すことによって実行できます。例えば以下のようにです: + +@example +@var{path/to}/LilyPond.app/Contents/Resources/bin/lilypond +@end example + +@noindent + +@command{lilypond-book}, @command{convert-ly}, @command{abc2ly} などを含むその@c +ディレクトリ (訳者: ファイルでは?) の中にある他のスクリプトについても同様です。 + +他の方法としては、自動的にパスを追加するスクリプトを作成する方法があります。そ@c +のようなスクリプトを保存するためのディレクトリを作成してください: + +@example +mkdir -p ~/bin +cd ~/bin +@end example + +@code{lilypond} という名前のファイルを作成し、以下を記述してください: + +@example +exec @var{path/to}/LilyPond.app/Contents/Resources/bin/lilypond "$@@" +@end example + +@code{lilypond-book}, @code{convert-ly}, あなたが使用する他の補助プログラム +(@code{abc2ly}, @code{midi2ly} など) についても同様にしてください。上記のファ@c +イルの中でただ @code{bin/lilypond} を @code{bin/convert-ly} (あるいは他のプロ@c +グラム名) に置き換えるだけです。 + +ファイルを実行可能形式にします: + +@example +chmod u+x lilypond +@end example + +さらに、このディレクトリをあなたのパスに追加します。あなたのホーム ディレクト@c +リの中にある @code{.profile} というファイルを変更 (あるいは作成) して以下の記@c +述を含めます: + +@example +export PATH=$PATH:~/bin +@end example + +@noindent +このファイルは空行で終わっている必要があります。 + +@var{path/to} は一般に @code{/Applications/} であるということに注意してくださ@c +い。 + + +@node Text editor support +@section Text editor support + +@cindex editors +@cindex vim +@cindex emacs +@cindex modes, editor +@cindex syntax coloring +@cindex coloring, syntax + +LilyPond をサポートするテキスト エディタがいくつかあります。 + +@menu +* Emacs mode:: +* Vim mode:: +* jEdit:: +* TexShop:: +* TextMate:: +* LilyKDE:: +@end menu + +@node Emacs mode +@subsection Emacs mode + +Emacs は @file{lilypond-mode} を持ちます。これはキーワード自動補完、インデント@c +付け、LilyPond 特有の括弧マッチング、構文のカラーリング、便利なコンパイル +ショートカット、Info を使った LilyPond マニュアルの閲覧を提供します。あなたの@c +プラットフォームに @file{lilypond-mode} がインストールされていない場合は、以下@c +を読んでください。 + +音楽を入力して LilyPond を実行するための Emacs モードは @file{elisp} ディレク@c +トリの中にあるソース アーカイブの中に保持されています。それを @var{elispdir} +にインストールするには @command{make install} を実行します。@c +@file{lilypond-init.el} は @var{load-path}@file{/site-start.d/} に置くか、@c +@file{~/.emacs} または @file{~/.emacs.el} に付加すべきです。 + +1 ユーザとして、あなたは以下の行を @file{~/.emacs} に付加する (あるいは変更する) +ことによってあなたのソース パス (例えば @file{~/site-lisp/}) をあなたの +@var{load-path} に付け加えたいと思うかもしれません: + +@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 mode +@subsection Vim mode + +@uref{http://@/www@/.vim@/.org,VIM} から @file{vimrc} と構文カラーリング ツー@c +ルが入手できます。音楽を入力して LilyPond を実行するための Vim モードは +@code{$VIM} ディレクトリの中にあるソース アーカイブの中に保持されています。 + +ファイル @file{~/.vim/filetype.vim} が以下の内容を保持している場合、LilyPond +ファイル タイプは検出されます: + +@example +if exists("did_load_filetypes") + finish +endif +augroup filetypedetect + au! BufNewFile,BufRead *.ly setf lilypond +augroup END +@end example + +以下の行を @file{~/.vimrc} 付加することによってパスをインクルードしてください。 + +@example +set runtimepath+=/usr/local/share/lilypond/$@{LILYPOND_VERSION@}/vim/ +@end example + +@noindent +ここで、@code{$@{LILYPOND_VERSION@}} はあなたが使用している LilyPond のバー@c +ジョンです。LilyPond が @file{/usr/local/} にインストールされていない場合は、@c +パスを適切に書き換えてください。 + + +@node jEdit +@subsection jEdit + +LilyPondTool は、LilyPond ソースを編集するために +@uref{http://@/www@/.jedit@/.org@/,jEdit} テキスト エディタのためのプラグイン@c +として作成された最も機能豊富なテキスト ベース ツールです。その機能にはドキュ@c +メントをより容易にセット アップするための歌詞サポートを持つドキュメント ウィ@c +ザードと、高度なポイント&クリックをサポートする PDF ビューアが含まれます。ス@c +クリーンショット、デモ、インストール手順については、@c +@uref{http://lilypondtool@/.organum@/.hu} を参照してください + + +@node TexShop +@subsection TexShop + +MaxOS@tie{}X 用の @uref{http://@/www@/.uoregon@/.edu/~koch/texshop/index@/.html, +TexShop} エディタは、 +@uref{http://@/www@/.dimi@/.uniud@/.it/vitacolo/freesoftware@/.html} で入手可@c +能な拡張を使うことで、エディタから LilyPond, lilypond-book, +convert-ly を実行できるように拡張することが可能です。 + + +@node TextMate +@subsection TextMate + +TextMate 用の LilyPond バンドルがあります。以下を実行することでインストールで@c +きるでしょう: + +@example +mkdir -p /Library/Application\ Support/TextMate/Bundles +cd /Library/Application\ Support/TextMate/Bundles +svn co http://macromates.com/svn/Bundles/trunk/Bundles/Lilypond.tmbundle/ +@end example + + +@node LilyKDE +@subsection LilyKDE + +@uref{http://lilykde.googlecode.com/,LilyKDE} は KDE のテキスト エディタ +@uref{http://kate-editor.org/,Kate} 用のプラグインです。これは素早く LilyPond +ドキュメントをセットアップするためのパワフルな楽譜ウィザードと PDF ビューアを@c +持ちます。 + +LilyKDE は @uref{http://www.volny.cz/smilauer/rumor/,Rumor} を使うことができる@c +ため、MIDI キーボードで演奏することで音楽を入力することができます。 + +他の機能として、歌詞のハイフン付けする機能や KDE ファイル マネージャから複数の@c +ファイルを含めて LilyPond を実行する機能があります。 + + +@node Point and click +@section Point and click +@cindex point and click + + +ポイント&クリックは PDF ビューアの中で表記をクリックすることで入力表記を見つ@c +け出すことを可能にします。これは楽譜の中でエラーを引き起こす入力をより容易に見@c +つけ出すことを可能にします。 + +この機能がアクティブな場合、LilyPond は PDF ファイルにハイパーリンクを付け加え@c +ます。これらのハイパーリンクは Web ブラウザに送られ、Web ブラウザはカーソルを@c +持つテキスト エディタを適切な位置に開きます。 + +この一連の動作を有効にするには、PDF ビューアが LilyPond で提供される +@file{lilypond-invoke-editor} スクリプトを使ってハイパーリンクを追うようにコン@c +フィグレーションする必要があります。 + +UNIX の Xpdf では、@file{xpdfrc}@footnote{UNIXでは、このファイルは +@file{/etc/xpdfrc} かホーム ディレクトリの中の @file{.xpdfrc} としてのどちらか@c +です。} の中に以下の記述が必要です: + +@example +urlCommand "lilypond-invoke-editor %s" +@end example + +プログラム @file{lilypond-invoke-editor} は小さな援助プログラムです。これは特@c +別な @code{textedit} URI に対してエディタを呼び出します。このプログラムは環境@c +変数 @code{EDITOR} を以下のパターンに従ってテストします: + +@table @code +@item emacs + このプログラムは以下を呼び出します +@example +emacsclient --no-wait +@var{line}:@var{column} @var{file} +@end example +@item vim + このプログラムは以下を呼び出します +@example +gvim --remote +:@var{line}:norm@var{char} @var{file} +@end example + +@item nedit + このプログラムは以下を呼び出します +@example + nc -noask +@var{line} @var{file}' +@end example +@end table + +環境変数 @code{LYEDITOR} はこれをオーバライドするために使用されます。これには@c +エディタを起動するためのコマンド ラインを含み、 +@code{%(file)s}, +@code{%(column)s}, @code{%(line)s} +@ignore + +@end ignore +はそれぞれ、ファイル、列、行で置換されます。@code{LYEDITOR} に対する設定 + +@example +emacsclient --no-wait +%(line)s:%(column)s %(file)s +@end example + +@noindent +は標準の emacsclient 呼び出しと等価です。 + + +@cindex file size, output + +ポイント&クリック リンクは出力ファイルをかなり大きなものにします。PDF ファイ@c +ルや PS ファイルのサイズを減らすために、@file{.ly} ファイルに以下の記述をする@c +ことでポイント&クリックを OFF にするかもしれません: + +@example +\pointAndClickOff +@end example + +@noindent +ポイント&クリックは以下の記述で明示的に ON になります: + +@example +\pointAndClickOn +@end example + +他の手段として、コマンド ライン オプションでポイント&クリックを OFF にできます: + +@example +lilypond -dno-point-and-click file.ly +@end example + +@warning{あなたは配布する LilyPond ファイルでは常にポイント&クリックを OFF に@c +すべきです。ポイント&クリックを ON にすると .pdf ファイルの中にあなたのコン@c +ピュータのパス情報が含まれるため、セキュリティ リスクとなる可能性があります。} diff --git a/Documentation/ja/user/templates.itely b/Documentation/ja/user/templates.itely index 96fd85656e..5919a46465 100644 --- a/Documentation/ja/user/templates.itely +++ b/Documentation/ja/user/templates.itely @@ -7,11 +7,17 @@ version that you are working on. See TRANSLATION for details. @end ignore +@c \version "2.12.0" + + +@c Translators: Yoshiki Sawada +@c Translation status: post-GDP + @node Templates @appendix Templates -@untranslated +このセクションにはセットアップ済みの LilyPond 楽譜を持つテンプレートがあります。音符を付け加えて、LilyPond を実行してください。あとは美しく譜刻された楽譜をお楽しみください! @menu @@ -24,65 +30,291 @@ * lilypond-book templates:: @end menu + @node Single staff @appendixsec Single staff -@untranslated +@appendixsubsec Notes only +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,addversion] +{single-staff-template-with-only-notes.ly} -@appendixsubsec Notes only @appendixsubsec Notes and lyrics + +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,addversion] +{single-staff-template-with-notes-and-lyrics.ly} + @appendixsubsec Notes and chords + +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +{single-staff-template-with-notes-and-chords.ly} + @appendixsubsec Notes, lyrics, and chords. + +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +{single-staff-template-with-notes,-lyrics,-and-chords.ly} + + @node Piano templates @appendixsec Piano templates -@untranslated +@appendixsubsec Solo piano +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +{piano-template-simple.ly} -@appendixsubsec Solo piano @appendixsubsec Piano and melody with lyrics + +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +{piano-template-with-melody-and-lyrics.ly} + @appendixsubsec Piano centered lyrics + +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +{piano-template-with-centered-lyrics.ly} + @appendixsubsec Piano centered dynamics + +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +{piano-template-with-centered-dynamics.ly} + + @node String quartet @appendixsec String quartet -@untranslated +@appendixsubsec String quartet +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +{string-quartet-template-simple.ly} -@appendixsubsec String quartet @appendixsubsec String quartet parts + +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +{string-quartet-template-with-separate-parts.ly} + + @node Vocal ensembles @appendixsec Vocal ensembles -@untranslated +@appendixsubsec SATB vocal score +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +{vocal-ensemble-template.ly} -@appendixsubsec SATB vocal score @appendixsubsec SATB vocal score and automatic piano reduction + +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +{vocal-ensemble-template-with-automatic-piano-reduction.ly} + @appendixsubsec SATB with aligned contexts + +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +{vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly} + + +@c bad node name to avoid node name conflict @node Ancient notation templates @appendixsec Ancient notation templates -@untranslated +@appendixsubsec Transcription of mensural music +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +{ancient-notation-template----modern-transcription-of-mensural-music.ly} -@appendixsubsec Transcription of mensural music @appendixsubsec Gregorian transcription template + +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +{ancient-notation-template----modern-transcription-of-gregorian-music.ly} + + @node Jazz combo @appendixsec Jazz combo -@untranslated + +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +{jazz-combo-template.ly} + + + + +@ignore +This isn't very useful, and only duplicates material in +"global issues". And if this info changes, this section often +gets forgotten. + +@no de Other templates +@se ction Other templates +@su bsection All headers + +This template displays all available headers. Some of them are only +used in the Mutopia project; they don't affect the printed output at +all. They are used if you want the piece to be listed with different +information in the Mutopia database than you wish to have printed on the +music. For example, Mutopia lists the composer of the famous D major +violin concerto as TchaikovskyPI, whereas perhaps you wish to print +"Petr Tchaikowski" on your music. + +@ The `line-width' is for \header. +@li lypond[quote,verbatim,ragged-right,line-width] +\version "2.12.0" +\header { + dedication = "dedication" + title = "Title" + subtitle = "Subtitle" + subsubtitle = "Subsubtitle" + composer = "Composer (xxxx-yyyy)" + opus = "Opus 0" + piece = "Piece I" + meter = "meter" + instrument = "Instrument" + arranger = "Arranger" + poet = "Poet" + texttranslator = "Translator" + copyright = "public domain" + + % These are headers used by the Mutopia Project + % http://www.mutopiaproject.org/ + mutopiatitle = "" + mutopiacomposer = "" + mutopiapoet = "" + mutopiainstrument = "" + date = "composer's dates" + source = "urtext " + maintainer = "your name here" + maintainerEmail = "your email here" + maintainerWeb = "your home page" + lastupdated = "2004/Aug/26" +} + +\score { + { c'4 } + \header { + piece = "piece1" + opus = "opus1" + } +} + +\score { + { c'4 } + \header { + piece = "piece2" + opus = "opus2" + } +} +@end lilypond +@end ignore @node lilypond-book templates @appendixsec lilypond-book templates -@untranslated - +These templates are for use with @code{lilypond-book}. If you're not familiar +with this program, please refer to @rprogram{LilyPond-book}. @appendixsubsec LaTeX + +You can include LilyPond fragments in a LaTeX document. + +@example +\documentclass[]@{article@} + +\begin@{document@} + +Normal LaTeX text. + +\begin@{lilypond@} +\relative c'' @{ +a4 b c d +@} +\end@{lilypond@} + +More LaTeX text. + +\begin@{lilypond@} +\relative c'' @{ +d4 c b a +@} +\end@{lilypond@} +\end@{document@} +@end example + @appendixsubsec Texinfo + +You can include LilyPond fragments in Texinfo; in fact, this entire manual +is written in Texinfo. + +@example +\input texinfo +@@node Top + +Texinfo text + +@@lilypond[verbatim,fragment,ragged-right] +a4 b c d +@@end lilypond + +More Texinfo text + +@@lilypond[verbatim,fragment,ragged-right] +d4 c b a +@@end lilypond + +@@bye +@end example + + @appendixsubsec xelatex -@c -- SKELETON FILE -- +@verbatim +\documentclass{article} +\usepackage{ifxetex} +\ifxetex +%xetex specific stuff +\usepackage{xunicode,fontspec,xltxtra} +\setmainfont[Numbers=OldStyle]{Times New Roman} +\setsansfont{Arial} +\else +%This can be empty if you are not going to use pdftex +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{mathptmx}%Times +\usepackage{helvet}%Helvetica +\fi +%Here you can insert all packages that pdftex also understands +\usepackage[ngerman,finnish,english]{babel} +\usepackage{graphicx} + +\begin{document} +\title{A short document with LilyPond and xelatex} +\maketitle + +Normal \textbf{font} commands inside the \emph{text} work, +because they \textsf{are supported by \LaTeX{} and XeteX.} +If you want to use specific commands like \verb+\XeTeX+, you +should include them again in a \verb+\ifxetex+ environment. +You can use this to print the \ifxetex \XeTeX{} command \else +XeTeX command \fi which is not known to normal \LaTeX . + +In normal text you can easily use LilyPond commands, like this: + +\begin{lilypond} +{a2 b c'8 c' c' c'} +\end{lilypond} + +\noindent +and so on. + +The fonts of snippets set with LilyPond will have to be set from +inside +of the snippet. For this you should read the AU on how to use +lilypond-book. + +\selectlanguage{ngerman} +Auch Umlaute funktionieren ohne die \LaTeX -Befehle, wie auch alle +anderen +seltsamen Zeichen: __ ______, wenn sie von der Schriftart +unterst__tzt werden. +\end{document} +@end verbatim + + diff --git a/Documentation/ja/user/tutorial.itely b/Documentation/ja/user/tutorial.itely index c3745a0e46..d0365d31da 100644 --- a/Documentation/ja/user/tutorial.itely +++ b/Documentation/ja/user/tutorial.itely @@ -1684,7 +1684,7 @@ aFivePaper = \paper @{ paperheight = 21.0 \cm @} @cindex note names @cindex note names, absolute -@cindex absolute mode +@cindex absolute mode (絶対モード) @cindex absolute values for pitches @cindex pitches, absolute values @cindex absolute note names diff --git a/Documentation/ja/user/tweaks.itely b/Documentation/ja/user/tweaks.itely index ab23f20748..fcb8a2cd8c 100644 --- a/Documentation/ja/user/tweaks.itely +++ b/Documentation/ja/user/tweaks.itely @@ -7,12 +7,18 @@ version that you are working on. See TRANSLATION for details. @end ignore +@c \version "2.12.0" + + +@c Translators: Yoshiki Sawada +@c Translation status: post-GDP + @node Tweaking output @chapter Tweaking output -@untranslated - +この章では出力を変更する方法について議論します。LilyPond は本当にさまざまな設@c +定が可能です。もしかすると出力のすべての部分が変更されるかもしれません。 @menu * Tweaking basics:: @@ -26,8 +32,6 @@ @node Tweaking basics @section Tweaking basics -@untranslated - @menu * Introduction to tweaks:: @@ -36,35 +40,410 @@ * Tweaking methods:: @end menu + @node Introduction to tweaks @subsection Introduction to tweaks -@untranslated +@q{調整} は入力ファイルの解釈中にとられるアクションを変更し、譜刻される音楽の@c +見た目を変更するためにユーザが利用可能なさまざまな手段を指す LilyPond の用語で@c +す。いくつかの調整はとても簡単に使うことができます。他の調整はもっと複雑です。@c +しかしながら、調整のために利用可能な手段を組み合わせることによって、ほとんどい@c +かなる望みの見た目を持った楽譜でも譜刻することが可能になります。 + +このセクションでは、調整を理解するのに必要な基礎となるコンセプトをカバーしま@c +す。その後、コピーするだけで効果が得られる作成準備が完了しているさまざまなコマ@c +ンドについての情報を提供し、同時に、あなたがあなた自身の調整を開発する方法を学@c +べるようにそれらのコマンドがどのように構築されるのかを示します。 + +この章を読み始める前に、あなたは @ref{Contexts and engravers} を再読することを@c +望むかもしれません。なぜなら、コンテキスト、エングラーバとそれらの中に含まれる@c +プロパティは調整について理解し、調整を構成するための基礎だからです。 @node Objects and interfaces @subsection Objects and interfaces -@untranslated +@cindex object +@cindex grob +@cindex spanner +@cindex interface +@cindex properties, object +@cindex object properties +@cindex layout object +@cindex object, layout +@cindex interface + +調整には LilyPond プログラムの内部オペレーションと構造体への変更も含まれます。@c +そのため、我々はまずそれらの内部オペレーションと構造体を記述するために使用され@c +るいくつかの用語を導入しなければなりません。 + +@q{オブジェクト} という用語は入力ファイルを処理している最中に LilyPond によっ@c +てビルドされる多くの内部構造体を参照するために使われる汎用的な用語です。LilyPond +が @code{@bs{}new Staff} のようなコマンドに遭遇した場合、タイプ @code{Staff} +の新しいオブジェクトを構築します。その @code{Staff} オブジェクトは、その譜表の@c +コンテキスト内部で機能するために割り当てられているエングラーバの詳細とともに、@c +その譜表に関連付けられているすべてのプロパティ -- 例えば、その譜表の名前、調号 +-- を保持します。同様に、@code{Voice} オブジェクト、@code{Score} オブジェク@c +ト、@code{Lyrics} オブジェクトなどの他のすべてのコンテキストのプロパティを保持@c +するためのオブジェクトが存在し、さらに、小節線、音符の玉、タイ、強弱記号などの@c +すべての表記要素を表すためのオブジェクトも存在します。各オブジェクトはそれ自体@c +のプロパティ値のセットを持ちます。 + +いくつかのタイプのオブジェクトには特別な名前が与えられています。音符の玉、ステ@c +ム、スラー、タイ、運指記号、音部記号などの譜刻される出力上の表記要素を表すオブ@c +ジェクトは @q{レイアウト オブジェクト} と呼ばれ、しばしば @q{グラフィカル オブ@c +ジェクト} あるいは短くして @q{グロッブ (Grob: GRaphical OBject)} と呼ばれま@c +す。これらのオブジェクトも上記の汎用的な観点から見るとオブジェクトであり、それ@c +ゆえ、それらもまたそれらのオブジェクトに関連付けされたプロパティ -- そのオブ@c +ジェクトの位置、サイズ、色など -- を持ちます。 + +いくつかのレイアウト オブジェクトも特別です。フレージング スラー、クレッシェン@c +ド、オッターバ (訳者: オクターブ?) 記号、他の多くのグラフィカル オブジェクト@c +が置かれる場所は一点ではありません -- それらは開始点、終了点、そしておそらくそ@c +れらの形に関係する他のプロパティを持ちます。これらのオブジェクトのように形が伸@c +長されるオブジェクトは @q{スパナ (Spanners)} と呼ばれます。 + +@q{インタフェイス} とは何なのかという説明が残っています。多くのオブジェクト -- +たとえそれらが非常に異なっていたとしても -- は同じ方法で処理される必要がある共@c +通特徴 (common feature) を共有します。例えば、すべてのグラフィカル オブジェク@c +トは色、サイズ、位置などを持ち、これらのプロパティはすべて LilyPond が入力ファ@c +イルを構文解釈する最中に同じ方法で処理されます。これらの内部オペレーションを簡@c +潔にするために、これらの共通アクションとプロパティは 1 つのグループとして +@code{grob-interface} と呼ばれるオブジェクトにまとめられています。これと同じよ@c +うな共有プロパティのグループ化が他にも多くあり、それぞれに対して最後に +@code{interface} が付く名前が与えられています。そのようなインタフェイスの総数は +100 を越えます。我々は後でなぜこれがユーザにとって利益となり、役に立つのかを見@c +ていきます。 + +これらは、我々がこの章で使用するオブジェクトと関係する主要な用語です。 @node Naming conventions of objects and properties @subsection Naming conventions of objects and properties -@untranslated +@cindex naming conventions for objects +@cindex naming conventions for properties +@cindex objects, naming conventions +@cindex properties, naming conventions + +我々は以前にも @ref{Contexts and engravers} でいくつかのオブジェクト命名規約を@c +見てきました。ここで参照のために、最も一般的なオブジェクトとプロパティをリスト@c +アップし、それに加えてそれらの命名規約と実際の名前の例を挙げます。何らかの大文@c +字のアルファベットを表すために @q{A} を使用し、いくつかの小文字のアルファベッ@c +トを表すために @q{aaa} を使用しています。他の文字は実際の命名でもそのまま使用@c +されます。 + +@multitable @columnfractions .33 .33 .33 +@headitem オブジェクト/プロパティのタイプ + @tab 命名規約 + @tab 例 +@item コンテキスト + @tab Aaaa や AaaaAaaaAaaa + @tab Staff, GrandStaff +@item レイアウト オブジェクト + @tab Aaaa や AaaaAaaaAaaa + @tab Slur, NoteHead +@item エングラーバ + @tab Aaaa_aaa_engraver + @tab Clef_engraver, Note_heads_engraver +@item インタフェイス + @tab aaa-aaa-interface + @tab grob-interface, break-aligned-interface +@item コンテキスト プロパティ + @tab aaa や aaaAaaaAaaa + @tab alignAboveContext, skipBars +@item レイアウト オブジェクト プロパティ + @tab aaa や aaa-aaa-aaa + @tab direction, beam-thickness +@end multitable + +これから見ていくのですが、タイプが異なるオブジェクトのプロパティは異なるコマン@c +ドによって変更されます。そのため、プロパティの名前からオブジェクトの種類を識別@c +できるようになると役に立ちます。 @node Tweaking methods @subsection Tweaking methods -@untranslated +@cindex tweaking methods + +@strong{@bs{}override コマンド} + +@cindex override command +@cindex override syntax + +@funindex \override +@funindex override + +我々はすでに @ref{Modifying context properties} と @ref{Adding and removing +engravers} で@strong{コンテキスト}のプロパティを変更したり、@strong{エングラー@c +バ}を追加/削除したりするために使用するコマンド +@code{@bs{}set} と @code{@bs{}with} を見てきました。ここでは更に重要ないくつか@c +のコマンドについて見ていきます。 + +@strong{レイアウト オブジェクト}のプロパティを変更するためのコマンドは +@code{@bs{}override} です。このコマンドは LilyPond の奥深くにある内部プロパ@c +ティを変更しなければならないため、これまで見てきたコマンドのように単純な構文で@c +はありません。どのコンテキストの中にあるどのオブジェクトのどのプロパティを変更@c +しなければならないのか、そこにセットする新しい値を何にするのかを正確に知ってい@c +る必要があります。どのようにこれを行うのかを見ていきましょう。 + +このコマンドの一般的な構文は以下のようなものです: + +@example +@bs{}override @var{Context}.@var{LayoutObject} @hash{}'@var{layout-property} = +@hash{}@var{value} +@end example + +@noindent +これは @var{Context} コンテキストのメンバである @var{LayoutObject} という名前@c +のレイアウトの @var{layout-property} という名前のプロパティに値 @var{value} を@c +セットします。 + +必要とされているコンテキストが明白であり、それが最下位レベルのコンテキストである +-- つまり、@code{Voice}, @code{ChordNames} や @code{Lyrics} である -- 場合、その +@var{Context} は省略可能可能であり (そして通常は省略されます)、この後の例の多@c +くでも省略します。後ほど、コンテキストを指定しなければならない場合について見て@c +いきます。 +これから後のセクションでは広範囲に亘るプロパティとそれらの値を扱います。しかし@c +ながら、そのフォーマットとそれらのコマンドの使用方法を示すためには、容易に理解@c +できる簡単なプロパティと値を 2, 3 使用してみるだけです。 + +今や、レイアウト プロパティの前に置かれなければならない @code{@hash{}'} やプロ@c +パティ値の前に置かれなければならない @code{@hash{}} について心配する必要はあり@c +ません。これらは常にそのような形式で正確に記述されなければなりません。これは調@c +整では最も一般的に使用されるコマンドであり、この章の残りの部分の大半ではプロパ@c +ティ (変更コマンド) の使用方法を示すための例を記述しています。ここでは音符玉の@c +色を変更する簡単な例を挙げます: + + +@cindex color property, example +@cindex NoteHead, example of overriding + +@lilypond[quote,fragment,ragged-right,verbatim,relative=1] +c d +\override NoteHead #'color = #red +e f g +\override NoteHead #'color = #green +a b c +@end lilypond + + +@strong{@bs{}revert コマンド} + +@cindex revert command + +@funindex \revert +@funindex revert + +一旦オーバライドされると、そのプロパティは再度オーバライドされるか +@code{@bs{}revert} コマンドに遭遇するまで新しい値のままでいます。@c +@code{@bs{}revert} コマンドは以下の構文を持ち、プロパティの値をオリジナルのデ@c +フォルト値に戻します。何度か @code{@bs{}override} コマンドが発行されている場合@c +は、前の値に戻すわけではないということに注意してください。 + + +@example +@bs{}revert @var{Context}.@var{LayoutObject} @hash{}'@var{layout-property} +@end example + +繰り返しますが、@code{@bs{}override} コマンドでの @var{Context} と同様に、多く@c +の場合で @var{Context} を記述する必要はありません。以下の例の多くで、@c +@var{Context} は省略されます。ここでは、最後の 2 つの音符の音符玉の色をデフォ@c +ルトに戻します: + +@cindex color property, example +@cindex NoteHead, example of overriding + +@lilypond[quote,fragment,ragged-right,verbatim,relative=1] +c d +\override NoteHead #'color = #red +e f g +\override NoteHead #'color = #green +a +\revert NoteHead #'color +b c +@end lilypond + +@strong{@bs{}once prefix} + +@funindex \once +@funindex once + +@code{@bs{}override} コマンドと @code{@bs{}set} コマンドには両方とも接頭辞 +@code{@bs{}once} が付く可能性があります。これはその後に続く @code{@bs{}override} +や @code{@bs{}set} コマンドをその場一回限り有効にし、その後にそのプロパティの@c +値をデフォルト値に戻します。上と同じ例を使って、以下のように 1 つだけの音符の@c +色を変更することができます: + +@cindex color property, example +@cindex NoteHead, example of overriding + +@lilypond[quote,fragment,ragged-right,verbatim,relative=1] +c d +\once \override NoteHead #'color = #red +e f g +\once \override NoteHead #'color = #green +a b c +@end lilypond + +@strong{@bs{}overrideProperty コマンド} + +@cindex overrideProperty command + +@funindex \overrideProperty +@funindex overrideProperty + +オーバライド コマンドには @code{@bs{}overrideProperty} というもう 1 つのフォー@c +マットがあり、時々必要となります。完璧を期すためにここでこれに言及しましたが、@c +詳細は @ruser{Difficult tweaks} を参照してください。 +@c Maybe explain in a later iteration -td + +@strong{@bs{}tweak コマンド} + +@cindex tweak command + +@funindex \tweak +@funindex tweak + +利用可能な最後の調整コマンドは @code{@bs{}tweak} です。これは同じタイミングで@c +起こるオブジェクト -- 和音の中にある音符などのように -- のプロパティを変更する@c +ために使用されます。@code{@bs{}override} コマンドを使用すると和音の中にあるす@c +べての音符に影響を与えます。一方、@code{@bs{}tweak} は入力ストリームの中でその +@code{@bs{}tweak} のすぐ後にある要素 1 つだけに影響を与えます。 + +ここで例を挙げます。C メジャー コードの中にある真ん中の音符 (ミドル E) の音符@c +玉のサイズを変更したいとします。まず最初に、@code{@bs{}once @bs{}override} だ@c +とどうなるか見てみましょう: + +@cindex font-size property, example +@cindex NoteHead, example of overriding + +@lilypond[quote,fragment,ragged-right,verbatim,relative=1] + <c e g>4 + \once \override NoteHead #'font-size = #-3 + <c e g> + <c e g> +@end lilypond + +このオーバライドは和音の中にある@emph{すべて}の音符玉に影響を与えています。こ@c +れは和音の中にあるすべての音符が同じ@emph{タイミング}で起こるためであり、@c +@code{@bs{}once} のアクションは @code{@bs{}override} と同様に同じタイミングで@c +起こる、指定されたタイプすべてのレイアウト オブジェクトへのオーバライドに適用@c +されます。 + +@code{@bs{}tweak} コマンドはこれとは異なるやり方で処理されます。これは入力スト@c +リームの中ですぐ後に続く要素にだけ作用します。しかしながら、これは入力ストリー@c +ムから直接作成されるオブジェクト -- 本質的に音符玉とアーティキュレーション -- +にだけ効果を持ちます。ステムや臨時記号などのオブジェクトは後で作成されるため、@c +この方法では調整できません。さらに、@code{@bs{}tweak} が音符玉に適用される場@c +合、それらは和音の内部になければ@emph{なりません} -- つまり、単一角括弧 +@code{< .. >} の内部です。そのため、単一の音符 (和音ではない音符) を調整するに@c +は、@code{@bs{}tweak} コマンドはその音符とともに単一の角括弧で囲わなければなり@c +ません。 + +それでは例に戻り、この方法で和音の真ん中の音符のサイズを変更します: + +@cindex font-size property, example +@cindex @code{@bs{}tweak}, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=1] + <c e g>4 + <c \tweak #'font-size #-3 e g>4 +@end lilypond + +@code{@bs{}tweak} の構文は @code{@bs{}override} コマンドの構文とは異なるという@c +ことに注意してください。コンテキストもレイアウト オブジェクトも指定されませ@c +ん。実際、それらを指定するとエラーになります。これらは両方とも入力ストリームの@c +中で後に続く要素によって示されます。さらに、イコール記号を使うべきではないとい@c +うことに注意してください。そのため、@code{@bs{}tweak} コマンドの一般的な構文は@c +単純に以下のようになります: + +@example +@bs{}tweak @hash{}'@var{layout-property} @hash{}@var{value} +@end example + +さらに、@code{@bs{}tweak} コマンドは一連のアーティキュレーションの中にあるただ 1 +つのアーティキュレーションを変更されるためにも使用できます。ここに例を挙げます: + +@cindex color property, example +@cindex @code{@bs{}tweak}, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +a ^Black + -\tweak #'color #red ^Red + -\tweak #'color #green _Green +@end lilypond + +@noindent +@code{@bs{}tweak} コマンドは、まるでそれがアーティキュレーションの一部であるか@c +のように、アーティキュレーション マークの前に置かれなければならないということ@c +に注意してください。 + +@cindex tuplets, nested +@cindex triplets, nested +@cindex bracket, tuplet +@cindex bracket, triplet +@cindex tuplet bracket +@cindex triplet bracket + +@funindex TupletBracket + +さらに、@code{@bs{}tweak} コマンドは、同時に起こるネストされた連符記号のセット@c +のうちの 1 つの見た目を変更するためにも使用されます。以下の例では、長い連符記@c +号と 3 つの短い連符記号のうちの最初の連符記号が同時に起こります。そのため、@c +@code{@bs{}override} コマンドだと両方の連符記号に適用されてしまいます。この例@c +では、@code{@bs{}tweak} は 2 つの連符記号を区別するために使用されています。最@c +初の @code{@bs{}tweak} コマンドは長い連符記号を音符の上に置くことを指定してい@c +て、2 番目の @code{@bs{}tweak} コマンドは最初の短い連符記号の数字を赤で描くこ@c +とを指定しています。 + +@cindex @code{@bs{}tweak}, example +@cindex direction property, example +@cindex color property, example + +@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +\tweak #'direction #up +\times 4/3 { + \tweak #'color #red + \times 2/3 { c8[ c8 c8] } + \times 2/3 { c8[ c8 c8] } + \times 2/3 { c8[ c8 c8] } +} +@end lilypond + +ネストされた連符が同時に起こらない場合、それらの見た目は @code{@bs{}override} +コマンドを用いた通常通りの方法で変更されるかもしれません: + +@cindex text property, example +@cindex tuplet-number function, example +@cindex transparent property, example +@cindex TupletNumber, example of overriding + +@c NOTE Tuplet brackets collide if notes are high on staff +@c See issue 509 +@lilypond[quote,ragged-right,verbatim,fragment,relative=1] +\times 2/3 { c8[ c c]} +\once \override TupletNumber + #'text = #tuplet-number::calc-fraction-text +\times 2/3 { + c[ c] + c[ c] + \once \override TupletNumber #'transparent = ##t + \times 2/3 { c8[ c c] } +\times 2/3 { c8[ c c]} +} +@end lilypond + + +@seealso +表記リファレンス: +@ruser{The tweak command} @node The Internals Reference manual @section The Internals Reference manual -@untranslated - @menu * Properties of layout objects:: @@ -75,29 +454,483 @@ @node Properties of layout objects @subsection Properties of layout objects -@untranslated +@cindex properties of layout objects +@cindex properties of grobs +@cindex grobs, properties of +@cindex layout objects, properties of +@cindex Internals Reference manual + +あなたがスラーを楽譜に描き、そのスラーが細すぎるためにもう少し太くしたいと思っ@c +たとします。どうやってスラーを太くしますか?以前に LilyPond の自由度の高さにつ@c +いて述べたので、そのようなことが可能であることは知っています。あなたはおそらく +@code{@bs{}override} コマンドが必要であると推測するでしょう。しかしながら、ス@c +ラーの太さプロパティは存在するのでしょうか?そして、それが存在するならどうやっ@c +て変更するのでしょうか?このようなことに内部リファレンス マニュアルは触れてい@c +ます。内部リファレンス マニュアルには、あなたがスラーを太くするために必要な情@c +報、他のすべての @code{@bs{}override} コマンドを構築するために必要な情報が含ま@c +れています。 + +内部リファレンスを見ていく前に一言警告です。これは@strong{リファレンス} ドキュ@c +メントであり、説明はほんの少しかまったく含まれていません: リファレンスの目的は@c +情報を正確に、かつ簡潔に提供することです。そのため、内部リファレンスを一見して@c +ひるんでしまうかもしれません。しかし、心配しないでください!ここにあるガイダン@c +スと説明を読めば、少し練習するだけで、内部リファレンスから必要な情報を取り出せ@c +るようになります。 + +@cindex override example +@cindex Internals Reference, example of using +@cindex @code{@bs{}addlyrics} example + +実際の音楽からの簡単な断片を持つ具体例を使用していきましょう: + +@lilypond[quote,verbatim,relative=2] +{ + \time 6/8 + { + r4 b8 b[( g]) g | + g[( e]) e d[( f]) a | + a g + } + \addlyrics { + The man who feels love's sweet e -- mo -- tion + } +} +@end lilypond + +ここで、スラーをもう少し太くしようと決めたことにします。それは可能でしょうか?@c +スラーは確かにレイアウト オブジェクトです。そのため、その疑問は @q{スラーに属@c +していて、太さを制御するプロパティは存在するのか?} ということになります。その@c +答えを得るために内部リファレンス -- 縮めて IR -- を見なければなりません。 + +あなたが使用しているバージョンの LilyPond のための内部リファレンスは LilyPond +ウェブサイト @uref{http://lilypond.org} で見つかるでしょう。ドキュメント ペー@c +ジに行き、内部リファレンスへのリンクをクリックしてください。学習目的のためには@c +標準の HTML バージョンを使うべきであり、@q{one big page} (@q{大きな 1 ページに@c +まとめたもの}) や PDF を使うべきではありません。次の数段落を読めば、あなたが内@c +部リファレンスを読むときに実際にすべきことがわかるでしょう。 + +内部リファレンスの@strong{トップ ページ}下には 5 つのリンクがあります。@c +@emph{バックエンド} へのリンクを選択してください。そこにはレイアウト オブジェ@c +クトについての情報があります。@strong{バックエンド} 下にある @emph{すべてのレ@c +イアウト オブジェクト} へのリンクを選択してください。そのページには、あなたが@c +使用しているバージョンの LilyPond で使用されるすべてのレイアウト オブジェクト@c +がアルファベット順でリストアップされています。Slur へのリンクを選択すると、@c +Slur のプロパティがリスト アップされます。 + +表記リファレンスからこのページを見つける方法もあります。スラーについて扱ってい@c +るページで、内部リファレンスへのリンクがを見つかるかもしれません。このリンクで@c +このページに直接行くことができます。しかしながら、あなたが調整するレイアウト +オブジェクトの名前を想像できる場合は、すぐに内部リファレンスに行ってそこで探す@c +方が簡単です。 + +内部リファレンスの Slur ページでは、まず Slur オブジェクトは +@code{Slur_engraver} によって作成されるということが述べられています。それか@c +ら、標準設定がをリストアップされています。標準設定はアルファベット順にはなっ@c +て@strong{いない}ということに注意してください。太さを制御していそうなプロパ@c +ティを探してブラウザをスクロール ダウンさせていくと、以下が見つかります: + +@example +@code{thickness} (number) + @code{1.2} + Line thickness, generally measured in @code{line-thickness} +@end example + +これが太さを変更するプロパティのようです。@code{thickness} の値は@emph{数}であ@c +り、デフォルト値は 1.2、この値は他のプロパティでは @code{line-thickness} と呼@c +ばれるということがわかります。 + +前にも言ったように、内部リファレンスには説明がほとんど、あるいはまったくありま@c +せん。しかしながら、すでにスラーの太さを変えるための十分な情報を持っています。@c +レイアウト オブジェクトの名前は @code{Slur} であり、変更するプロパティの名前は +@code{thickness} であり、スラーをもっと太くするには新しい値を 1.2 よりも大きく@c +すべきであることがわかります。 + +今度は、レイアウト オブジェクト名で見つけた値を置き換えることによって +@code{@bs{}override} コマンドを構築することができます。コンテキストは省略しま@c +す。最初は太さに非常に大きな値を割り当ててみます。それによって、そのコマンドが@c +確かに機能していることを確かめることができます。実行するコマンドは以下のように@c +なります: + +@example +@bs{}override Slur @hash{}'thickness = @hash{}5.0 +@end example + +プロパティ名の前に @code{@hash{}'} を付けること、新しい値の前に @code{@hash{}} +を付けることを忘れないでください! + +最後の疑問は @q{このコマンドをどこに置くべきか?} ということです。そのことにつ@c +いて不確かであり、学んでいる最中であるのならば、ベストな答えはこうです @q{音楽@c +表記の内部で、最初のスラーの直前}。ではやってみましょう: + +@cindex Slur example of overriding +@cindex thickness property, example + +@lilypond[quote,verbatim,relative=2] +{ + \time 6/8 + { + % Increase thickness of all following slurs from 1.2 to 5.0 + \override Slur #'thickness = #5.0 + r4 b8 b[( g]) g | + g[( e]) e d[( f]) a | + a g + } + \addlyrics { + The man who feels love's sweet e -- mo -- tion + } +} +@end lilypond + +@noindent +確かにスラーが太くなっています。 + +これが @code{@bs{}override} コマンドを構築する基本的な方法です。これより後のセ@c +クションで遭遇するものはもう少し複雑ですが、必要な要点はすべて知っています -- +しかしながら、まだ練習が必要でしょう。これは以下の例で提供されます。 @subheading Finding the context + +@cindex context, finding +@cindex context, identifying correct + +しかしながら、まず最初にコンテキストを指定しなければならないとしたらどうでしょ@c +うか?指定すべきコンテキストは何でしょうか?スラーとボイスは音楽表記の各行で明@c +らかに関係が深いので、スラーは @code{Voice} コンテキストの中にあると推測できる@c +かもしれません。しかし、それは確かでしょうか?この問題を解決するには、Slur に@c +ついて記述している内部リファレンス ページの先頭に戻ります。@c +そこには @q{Slur オブジェクトは Slur エングラーバによって作成される} と書かれ@c +ています。そのため、スラーは @code{Slur_engraver} が存在しているコンテキストの@c +どれかで作成されるということになります。@code{Slur_engraver} へのリンクを辿り@c +ます。そのページの最後の方で @code{Slur_engraver} は 5 つのボイス コンテキスト +-- 標準のボイス コンテキストである @code{Voice} を含む -- の一部であることが述@c +べられています。ですから、推測は正しかったのです。そして、@code{Voice} は最下@c +位のコンテキストの 1 つである -- このことは、そこに音符を入力するという事実に@c +よって明らかに示されています -- ため、ここではそのコンテキストを省略することが@c +できるのです。 + + @subheading Overriding once only + +@cindex overriding once only +@cindex once override + +@funindex \once +@funindex once + +上記の最後の例では@emph{すべて}のスラーが太くなっています。しかし、最初のス@c +ラーだけを太くしたい場合はどうでしょうか?これは @code{@bs{}once} コマンドを使@c +うことによって達成されます。@code{@bs{}override} コマンドの直前に +@code{@bs{}once} コマンドを置くことによって、@code{@bs{}override} コマンド@c +は@strong{直後にある}音符から始まるスラーだけを変更するようになります。直後に@c +ある音符がスラーの開始点ではない場合、そのコマンドはまったく機能しません -- そ@c +れがスラーに遭遇するまで保持されるということはなく、ただ切り捨てられるだけで@c +す。そのため、@code{@bs{}once} コマンド付きの @code{@bs{}override} コマンドは@c +以下のように上記の例とは異なる場所に置かなくてはなりません: + +@cindex Slur, example of overriding +@cindex thickness property, example + +@lilypond[quote,verbatim,relative=2] +{ + \time 6/8 + { + r4 b8 + % Increase thickness of immediately following slur only + \once \override Slur #'thickness = #5.0 + b[( g]) g | + g[( e]) e d[( f]) a | + a g + } + \addlyrics { + The man who feels love's sweet e -- mo -- tion + } +} +@end lilypond + +@noindent +今度は、最初のスラーだけが太くなりました。 + +@code{@bs{}once} コマンドは @code{@bs{}set} コマンドの前でも使用される可能性が@c +あります。 + + @subheading Reverting + +@cindex revert +@cindex default properties, reverting to + +@funindex \revert +@funindex revert + +最後に、最初の 2 つだけのスラーを太くしたい場合はどうでしょうか?その場合、2 +つのコマンド -- それぞれの前に @code{@bs{}once} を付けた -- をスラーが始まる音@c +符の直前に置きます: + +@cindex Slur, example of overriding +@cindex thickness property, example + +@lilypond[quote,verbatim,relative=2] +{ + \time 6/8 + { + r4 b8 + % Increase thickness of immediately following slur only + \once \override Slur #'thickness = #5.0 + b[( g]) g | + % Increase thickness of immediately following slur only + \once \override Slur #'thickness = #5.0 + g[( e]) e d[( f]) a | + a g + } + \addlyrics { + The man who feels love's sweet e -- mo -- tion + } +} +@end lilypond + +@noindent +あるいは、@code{@bs{}once} コマンドを省略して、2 番目のスラーの後に +@code{thickness} プロパティをデフォルト値に戻すために @code{@bs{}revert} コマ@c +ンドを使うこともできます: + +@cindex Slur, example of overriding +@cindex thickness property, example + +@lilypond[quote,verbatim,relative=2] +{ + \time 6/8 + { + r4 b8 + % Increase thickness of all following slurs from 1.2 to 5.0 + \override Slur #'thickness = #5.0 + b[( g]) g | + g[( e]) + % Revert thickness of all following slurs to default of 1.2 + \revert Slur #'thickness + e d[( f]) a | + a g + } + \addlyrics { + The man who feels love's sweet e -- mo -- tion + } +} +@end lilypond + +@noindent +@code{@bs{}revert} コマンドは @code{@bs{}override} コマンドで変更されたどのプ@c +ロパティでもデフォルト値に戻すことができます。状況に相応しい方を使用してくださ@c +い。 + +これで内部リファレンスと調整の基本的な方法についての紹介を終わりにします。この@c +章で後に続くセクションの中にあるいくつのかの例でも一部では、内部リファレンスの@c +特徴についての追加の紹介や、そこから情報を取り出すための更なる練習を提供しま@c +す。それらの例ではガイダンスや説明のための言葉はずっと少ないでしょう。 + + @node Properties found in interfaces @subsection Properties found in interfaces -@untranslated +@cindex interface +@cindex interface properties +@cindex properties in interfaces + +今度は歌詞をイタリック体で譜刻したいということにします。そうするには +@code{@bs{}override} コマンドをどのように使う必要があるのでしょうか?以前と同@c +様に、まず @q{すべてのレイアウト オブジェクト} をリストアップしている内部リ@c +ファレンス ページを開き、歌詞をコントロールしていそうなオブジェクトを探しま@c +す。@code{LyricText} がそれであるようです。これをクリックすると、歌詞のテキス@c +トに対してセットすることができるプロパティが表示されます。そこには +@code{font-series} と @code{font-size} が含まれますが、歌詞をイタリック体にす@c +るためのプロパティらしきものはありません。これは、形に関するプロパティはすべて@c +のフォント オブジェクトに共通なものであり、そのため、各レイアウト オブジェクト@c +に含まれているのではなく、他の同様な共通プロパティと一緒にグループ化されてい@c +て、@strong{インタフェイス}の 1 つ @code{font-interface} の中に置かれているか@c +らです。 + +そのため、インタフェイスのプロパティを見つける方法と、どのオブジェクトがこれら@c +のインタフェイス プロパティを使うのかを調べる方法を学ぶ必要があります。 + +@code{LyricText} について記述している内部リファレンスのページを再び開いてくだ@c +さい。そのページの最後に @code{LyricText} がサポートするインタフェイスへのリン@c +クがリスト アップされています。そのリストには @code{font-interface} を含むいく@c +つかの要素があります。このリンクをクリックすると、このインタフェイスに関連付け@c +されているプロパティのところに行きます。これらのプロパティは @code{LyricText} +を含む @code{font-interface} をサポートするすべてのオブジェクトのプロパティで@c +もあります。 + +@code{font-shape(symbol)} を含むフォントを制御するユーザが設定可能なプロパティ@c +をすべて見つけました。@code{font-shape(symbol)} では @code{symbol} を +@code{upright}, @code{italics}, あるいは @code{caps} にセットすることができま@c +す。 + +そこには、@code{font-series} と @code{font-size} もリスト アップされていること@c +に気づくでしょう。そこで次のような疑問が湧いてきます: 共通フォントプロパティ +@code{font-series} と @code{font-size} は @code{LyricText} とインタフェイス +@code{font-interface} の両方でリスト アップされているのに、なぜ +@code{font-shape} はそうでないのか?その答えは、@code{font-series} と +@code{font-size} は、@code{LyricText} オブジェクトが作成されるときに、それらの@c +グローバルなデフォルト値から変更されるのに対して、@code{font-shape} はそうでは@c +ないからです。@code{LyricText} の中にあるエントリから @code{LyricText} に適用@c +されるそれら 2 つのプロパティの値がわかります。@code{font-interface} をサポー@c +トする他のオブジェクトは、それらのオブジェクトが作成されるときに、それらのプロ@c +パティを異なる値にセットします。 + +今度は歌詞をイタリック体に変更するように @code{@bs{}override} コマンドを構築で@c +きるかどうかを見ていきましょう。オブジェクトは @code{LyricText} であり、プロパ@c +ティは @code{font-shape} であり、セットする値は @code{italic} です。前と同様@c +に、コンテキストを省略します。 + +話は逸れますが重要なことを 1 つ挙げます。@code{font-shape} の値はシンボルなの@c +で、シングル アポストロフィ @code{'} を付ける必要があるということに注意してく@c +ださい。その理由は、以前の例での @code{thickness} や @code{font-shape} の前に@c +アポストロフィを付ける必要がある理由と同じです。それらも両方ともシンボルです。@c +シンボルは LilyPond によって内部的に読み取られます。それらのいくつかは +@code{thickness} や @code{font-shape} のようなプロパティの名前であり、他のものは +@code{italic} のようにプロパティに与えられる値として使用されます。任意のテキス@c +ト文字列との違い -- 任意のテキスト文字列は @code{"a text string"} のような形で@c +表記されます -- に注意してください。シンボルと文字列についてのより詳細な説明@c +は、@ref{Scheme tutorial} を参照してください。 + +さて、それでは歌詞をイタリック体で譜刻するために必要となる @code{@bs{}override} +コマンドは以下のようになります: + +@example +\override LyricText @hash{}'font-shape = @hash{}'italic +@end example + +@noindent +そして、これは以下のように影響を与える歌詞の前に、そして近くに置くべきです: + +@cindex font-shape property, example +@cindex italic, example +@cindex LyricText, example of overriding +@cindex @code{\addlyrics}, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +{ + \time 6/8 + { + r4 b8 b[( g]) g | + g[( e]) e d[( f]) a | + a g + } + \addlyrics { + \override LyricText #'font-shape = #'italic + The man who feels love's sweet e -- mo -- tion + } +} +@end lilypond + +@noindent +これで歌詞がすべてイタリック体で譜刻されました。 @subheading Specifying the context in lyric mode + +@cindex context, specifying in lyric mode +@cindex lyric mode, specifying context + +歌詞の場合、以前のようなコマンドの発行の仕方の中でコンテキストを指定しようとし@c +ても失敗するでしょう。歌詞モードの中で入力される音節はスペース、改行、数字のい@c +ずれかで区切られます。他のすべての文字は音節の一部と見なされます。これが、終端の +@code{@}} の前にはスペースか改行を置かなければならない理由です。そうしないと、@c +終端の @code{@}} は最後の音節の一部に含まれてしまいます。同様に、コンテキスト@c +名とオブジェクト名を区切るために、ピリオドまたはドット @q{.} の前と後ろにス@c +ペースを挿入しなければなりません。さもないと 2 つの名前は一緒になってしまい、@c +インタプリタはそれらを認識できなくなります。そのため、コマンドは以下のようにす@c +べきです: + +@example +@bs{}override Lyrics . LyricText @hash{}'font-shape = @hash{}'italic +@end example + +@warning{歌詞の中では、最後の音節と終端の中括弧の間に常にスペースを置いてくだ@c +さい。} + +@warning{歌詞の中のオーバライドでは、コンテキスト名とオブジェクト名の間にある@c +ドットの両側に常にスペースを置いてください。} + + +@seealso +学習マニュアル: @ref{Scheme tutorial} + + @node Types of properties @subsection Types of properties -@untranslated +@cindex property types + +これまでにプロパティのタイプを 2 つ見てきました: @code{number} と @code{symbol} +です。プロパティに与える値が有効であるためには、その値は正しいタイプであり、そ@c +のタイプのルールに従っていなければなりません。プロパティのタイプは内部リファレ@c +ンスの中で常にプロパティ名の後の括弧の中に表示されています。ここに、あなたが必@c +要になるであろうプロパティのタイプを、そのタイプのルールといくつかの例と共にリ@c +スト アップします。もちろん、@code{@bs{}override} コマンドの中でプロパティの値@c +を入力する時は、常にそれらの値の前にハッシュ記号 @code{@hash{}} を付け加える必@c +要があります。 + +@multitable @columnfractions .2 .45 .35 +@headitem プロパティ タイプ + @tab 規則 + @tab 例 +@item Boolean + @tab 真か偽のどちらかで、それぞれ @hash{}t と @hash{}f で表されます + @tab @code{@hash{}t}, @code{@hash{}f} +@item Dimension (譜表スペース) + @tab 正の小数 (譜表スペース単位) + @tab @code{2.5}, @code{0.34} +@item Direction + @tab 有効な向きを表す定数またはそれと等価な数値 (-1 から 1 までの小数が許可@c +されます) + @tab @code{LEFT}, @code{CENTER}, @code{UP}, + @code{1}, @code{-1} +@item Integer + @tab 正の整数 + @tab @code{3}, @code{1} +@item List + @tab 値のセット。セットの値はスペースで区切られ、前にアポストロフィが付いた@c +括弧で囲まれます + @tab @code{'(left-edge staff-bar)}, @code{'(1)}, + @code{'(1.0 0.25 0.5)} +@item Markup + @tab 有効なマークアップ + @tab @code{@bs{}markup @{ \italic "cresc." @}} +@item Moment + @tab make-moment 関数で構築される全音符の分数 + @tab @code{(ly:make-moment 1 4)}, + @code{(ly:make-moment 3 8)} +@item Number + @tab 正または負の小数 + @tab @code{3.5}, @code{-2.45} +@item (数の) Pair + @tab @q{スペース . スペース} で区切られ、前にアポストロフィが付いた括弧で囲@c +まれた 2 つの数値 + @tab @code{'(2 . 3.5)}, @code{'(0.1 . -3.2)} +@item Symbol + @tab プロパティに許可されているシンボルのセットのいずれかであり、前にアポロ@c +ストロフィを付けます + @tab @code{'italic}, @code{'inside} +@item Unknown + @tab 手続き。何のアクションも起こさない場合は @code{@hash{}f} + @tab @code{bend::print}, @code{ly:text-interface::print}, + @code{@hash{}f} +@item Vector + @tab 前にアポストロフィ-ハッシュ @code{'@hash{}} が付いた括弧で囲まれた 3 要@c +素のリスト + @tab @code{'@hash{}(@hash{}t @hash{}t @hash{}f)} +@end multitable + + +@seealso +学習マニュアル: @ref{Scheme tutorial} @node Appearance of objects @section Appearance of objects -@untranslated +いくつかの例を使ってこれまでに学んだことを練習して、譜刻される楽譜の見た目を変@c +更するためにどのように調整が使われるのかを見ていきましょう。 @menu @@ -106,33 +939,579 @@ * Length and thickness of objects:: @end menu + @node Visibility and color of objects @subsection Visibility and color of objects -@untranslated +教育目的の楽譜では、ある要素を省略した楽譜を譜刻して、学生にそれを付け足させる@c +という訓練にしたいと思うかもしれません。簡単な例として、その訓練とは小節線の無@c +い楽譜だと仮定してみましょう。しかしながら、通常、小節線は自動的に挿入されま@c +す。どうやって小節線が譜刻されることを防ぐのでしょうか? + +このことに挑戦する前に、オブジェクト プロパティは@emph{インタフェイス}と呼ばれ@c +るものにグループ化されているということを思い出してください -- @ref{Properties +found in interfaces} を参照してください。これはあるグラフィカル オブジェクトを@c +調整するために一緒に使用されるかもしれないプロパティをグループ化したものです -- +あるオブジェクトに対してインタフェイス内のプロパティの 1 つを使うことが許可さ@c +れるのなら、他のプロパティも許可されます。あるオブジェクトはいくつかのインタ@c +フェイス内にあるプロパティを使用し、別のオブジェクトはそれとは別のインタフェイ@c +ス内にあるプロパティを使用します。ある特定のグラフィカルオブジェクトによって使@c +用されるプロパティを保持しているインタフェイスは、そのグラフィカル オブジェク@c +トについて記述している内部リファレンス ページの最後にリスト アップされていて、@c +それらのプロパティはそれらのインタフェイスを参照することによって閲覧できます。 + +グラフィカル オブジェクトについての情報を見つけ出す方法を @ref{Properties of +layout objects} で説明しました。同じアプローチを使って、内部リファレンスで小節@c +線を譜刻するレイアウト オブジェクトを見つけ出します。@emph{バックエンド}を経由@c +して@emph{すべてのレイアウト オブジェクト}に行くと、そこに @code{BarLine} と呼@c +ばれるレイアウト オブジェクトがあることがわかります。そのレイアウト オブジェク@c +トのプロパティには小節線の可視性をコントロールする 2 つのプロパティが含まれて@c +います: @code{break-visibility} と @code{stencil} です。さらに、@code{BarLine} +はインタフェイスのいくつかをサポートしています。@code{grob-interface} もサポー@c +トされていて、そこには @code{transparent} プロパティと @code{color} プロパティ@c +が含まれています。これらすべてが小節線の可視性に影響を与えます (そしてもちろ@c +ん、拡大解釈すれば他の多くのレイアウト オブジェクトにも影響を与えます)。次はこ@c +れらのプロパティをそれぞれ見ていきましょう。 @subheading stencil + +@cindex stencil property + +このプロパティは譜刻すべきシンボル (グリフ) を指定することによって小節線の見た@c +目を制御します。他の多くのプロパティでも共通に言えますが、このプロパティの値に +@code{@hash{}f} をセットすることによって何も譜刻させなくすることができます。で@c +はやってみましょう。以前と同様に、暗黙のコンテキスト @code{Voice} は省略します: + +@cindex BarLine, example of overriding +@cindex stencil property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +{ + \time 12/16 + \override BarLine #'stencil = ##f + c4 b8 c d16 c d8 | + g, a16 b8 c d4 e16 | + e8 +} +@end lilypond + +小節線はまだ譜刻されています。何が間違っているのでしょうか?内部リファレンスに@c +戻って、@code{BarLine} のプロパティを記述しているページを読み返してください。@c +そのページの先頭に @qq{BarLine オブジェクトは Bar_engraver によって作成されます} +と記述されています。@code{Bar_engraver} ページに行ってください。そのページの最@c +後で、@code{Bar_engraver} を保持するコンテキストがリスト アップされています。@c +それらのコンテキストのタイプはすべて @code{Staff} です。ですから、@c +@code{@bs{}override} コマンドが予期したように機能しなかったのは、@code{BarLine} +はデフォルトの @code{Voice} コンテキストの中にはいなかったからなのです。コンテ@c +キストが間違って指定された場合、そのコマンドは機能しません。エラー メッセージ@c +は生成されず、ログ ファイルには何もログが残りません。正しいコンテキストを付け@c +加えることによってコマンドを修正してみましょう: + +@cindex BarLine, example of overriding +@cindex stencil property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +{ + \time 12/16 + \override Staff.BarLine #'stencil = ##f + c4 b8 c d16 c d8 | + g, a16 b8 c d4 e16 | + e8 +} +@end lilypond + +今度は小節線が消えました。 + + @subheading break-visibility + +@cindex break-visibility property + +内部リファレンスの @code{BarLine} のプロパティから @code{break-visibility} プ@c +ロパティには 3 つのブール値からなるベクトルが必要であることがわかります。これ@c +らはそれぞれ、小節線が行の最後、行の途中、行の最初に譜刻されるかどうかを制御し@c +ます。以下の例ではすべての小節線を消したいので、必要となる値は +@code{'@hash{}(@hash{}f @hash{}f @hash{}f)} です。それではやってみましょう。@c +@code{Staff} コンテキストを含めることを忘れないでください。また、この値を書く@c +ときに括弧を始める前に @code{@hash{}'@hash{}} を付ける必要があることにも注意し@c +てください。@code{'@hash{}} はベクトルを導入するときに値の一部として必要とさ@c +れ、先頭の @code{@hash{}} は @code{@bs{}override} コマンドの中で常に値の前に置@c +くことが必要とされます。 + +@cindex BarLine, example of overriding +@cindex break-visibility property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +{ + \time 12/16 + \override Staff.BarLine #'break-visibility = #'#(#f #f #f) + c4 b8 c d16 c d8 | + g, a16 b8 c d4 e16 | + e8 +} +@end lilypond + +今度もすべての小節線が消えました。 + + @subheading transparent + +@cindex transparent property +@cindex transparency + +内部リファレンスの @code{grob-interface} ページにあるプロパティから +@code{transparent} プロパティはブール値であることがわかります。これはグラフィ@c +カル オブジェクトを透明にする場合には @code{@hash{}t} にセットします。次の例で@c +は、小節線ではなく拍子記号を不可視にしてみましょう。そうするには、まず、拍子記@c +号のグラフィカル オブジェクト名を見つける必要があります。@code{TimeSignature} +レイアウト オブジェクトのプロパティを見つけるために内部リファレンスの @q{すべ@c +てのレイアウト オブジェクト} ページに戻ってください。@code{TimeSigunature} は +@code{Time_signature_engraver} によって作り出され、さらに、@c +@code{Time_signature_engraver} は @code{Staff} コンテキストに含まれ、さらに、@c +@code{Staff} コンテキストは @code{grob-interface} をサポートしているということ@c +がわかります。そのため、拍子記号を透明にするためのコマンドは以下のようになりま@c +す: + +@cindex TimeSignature, example of overriding +@cindex transparent property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +{ + \time 12/16 + \override Staff.TimeSignature #'transparent = ##t + c4 b8 c d16 c d8 | + g, a16 b8 c d4 e16 | + e8 +} +@end lilypond + +@noindent +拍子記号は消えました。しかしながら、このコマンドは拍子記号があるべき場所に隙間@c +を残しています。たぶん、これは学生がその部分を埋めるための練習としては望ましい@c +でしょうが、他の状況ではこの隙間は望ましくありません。この隙間を取り除くには、@c +拍子記号の @code{transparent} の代わりにステンシル (型、型紙) を @code{@hash{}f} +にセットします: + +@cindex TimeSignature, example of overriding +@cindex stencil property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +{ + \time 12/16 + \override Staff.TimeSignature #'stencil = ##f + c4 b8 c d16 c d8 | + g, a16 b8 c d4 e16 | + e8 +} +@end lilypond + +@noindent +違いは明白です: ステンシルを @code{@hash{}f} にセットすると、オブジェクト自体@c +が削除されます。一方、オブジェクトを @code{transparent} (透明) にするとそのオ@c +ブジェクトは消えますが、オブジェクトは不可視になっただけです。 + + @subheading color + +@cindex color property + +最後に、小節線の色を白にすることによって小節線を不可視にしてみましょう。(これ@c +には白い小節線が譜表線と交差したところで譜表線を見えたり見えなくしてしまうかも@c +しれないという問題があります。以下のいくつかの例で、このことを予測することはで@c +きないと思うかもしれません。そうなる理由と、それを制御する方法についての詳細@c +は、@ruser{Painting objects white} でカバーされています。しかしここでは色につ@c +いて学んでいるところなので、オブジェクトを白で描くことの限界を受け入れるだけに@c +してください。) + +@code{grob-interface} はカラー プロパティの値はリストであると指定しています。@c +しかしながら、そのリストが何であるべきなのかの説明はありません。カラー プロパ@c +ティで必要とされるリストは実際のところ内部ユニットの中にある値のリストです。し@c +かし、内部ユニットの中にある値を知らなくても済むように、カラーを指定するための@c +手段がいくつか用意されています。最初の方法は @ruser{List of colors} にある最初@c +の表でリスト アップされている @q{標準} のカラーの 1 つを使用する方法です。小節@c +線を白にするには以下のように記述します: + +@cindex BarLine, example of overriding +@cindex color property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +{ + \time 12/16 + \override Staff.BarLine #'color = #white + c4 b8 c d16 c d8 | + g, a16 b8 c d4 e16 | + e8 +} +@end lilypond + +@noindent +今度も再び小節線は見えなくなりました。@emph{white} の前にアポストロフィは付か@c +ないということに注意してください -- これはシンボルではなく@emph{関数}です。こ@c +の関数が呼び出されると、この関数はカラーを白にセットするために必要とされる内部@c +値のリストを提供します。標準カラー リストにある他のカラーもまた関数です。これ@c +が機能していることをあなた自身が納得するために、カラーをこのリストの中にある他@c +の関数の 1 に変更しようと思うかもしれません。 + +@cindex color, X11 +@cindex X11 colors + +@funindex x11-color + +カラーを変えるための 2 番目の方法は、@ruser{List of colors} の 2 番目のリスト@c +の中にある X11 カラー名のリストを使用する方法です。しかしながら、以下のよう@c +に、これらの前には X11 カラー名を内部値のリストに変更するもう 1 つの関数 -- +@code{x11-color} -- がなければなりません: + +@cindex BarLine, example of overriding +@cindex color property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +{ + \time 12/16 + \override Staff.BarLine #'color = #(x11-color 'white) + c4 b8 c d16 c d8 | + g, a16 b8 c d4 e16 | + e8 +} +@end lilypond + +@noindent +この場合、関数 @code{x11-color} はシンボルを引数として扱うので、シンボルの前に@c +はアポストロフィをつけなくてはならず、@code{x11-color} とシンボルは括弧で囲ま@c +れていなければならないということに注意してください。 + +@cindex rgb colors +@cindex color, rgb + +@funindex rgb-color + +まだ 3 番目の方法が残っています。これは RGB 値を内部カラーに変換する +@code{rgb-color} 関数を使用する方法です。この関数は赤、緑、青の輝度を表す 3 つ@c +の引数をとります。これらの引数は 0 から 1 までの値をとります。ですから、カラー@c +を赤にセットする場合の値は @code{(rgb-color 1 0 0)} となり、白の場合は +@code{(rgb-color 1 1 1)} となります: + +@cindex BarLine, example of overriding +@cindex color property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +{ + \time 12/16 + \override Staff.BarLine #'color = #(rgb-color 1 1 1) + c4 b8 c d16 c d8 | + g, a16 b8 c d4 e16 | + e8 +} +@end lilypond + +最後に、X11 カラー セットの一部であるグレー スケールを用いる方法もあります。グ@c +レー スケールの範囲は黒 @code{'grey0'} から白 @code{'grey100'} まで 1 段階ずつ@c +あります。グレー スケールの使用方法を示すために、例の中にあるすべてのレイアウト +オブジェクトのカラーをさまざまな濃度のグレーにセットしてみましょう: + +@cindex StaffSymbol, example of overriding +@cindex TimeSignature, example of overriding +@cindex Clef, example of overriding +@cindex NoteHead, example of overriding +@cindex Stem, example of overriding +@cindex BarLine, example of overriding +@cindex color property, example +@cindex x11-color, example of using + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +{ + \time 12/16 + \override Staff.StaffSymbol #'color = #(x11-color 'grey30) + \override Staff.TimeSignature #'color = #(x11-color 'grey60) + \override Staff.Clef #'color = #(x11-color 'grey60) + \override Voice.NoteHead #'color = #(x11-color 'grey85) + \override Voice.Stem #'color = #(x11-color 'grey85) + \override Staff.BarLine #'color = #(x11-color 'grey10) + c4 b8 c d16 c d8 | + g, a16 b8 c d4 e16 | + e8 +} +@end lilypond + +@noindent +各レイアウト オブジェクトに関連付けされているコンテキストに注意してください。@c +これらのコンテキストを正しく取得することが重要であり、そうしなければコマンドは@c +機能しません!コンテキストの中には特定のエングラーバが置かれているということを@c +忘れないでください。エングラーバに対するデフォルト コンテキストを見つけ出すに@c +は、内部リファレンスのレイアウト オブジェクトからスタートして、そこからそれを@c +作り出すエングラーバのページに行きます。エングラーバのページには、通常はどのコ@c +ンテキストにそのエングラーバが含まれているのかが記述されています。 + + @node Size of objects @subsection Size of objects -@untranslated +@cindex changing size of objects +@cindex size of objects +@cindex objects, size of +@cindex objects, changing size of + +以前の例を見直すことから始めてみましょう (@ref{Nesting music expressions} を参@c +照してください)。そこでは @rglos{ossia} として新たに一時的な譜表を導入する方法@c +が示されています。 + +@cindex alignAboveContext property, example +@cindex @code{\with}, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +\new Staff ="main" { + \relative g' { + r4 g8 g c4 c8 d | + e4 r8 + << + { f c c } + \new Staff \with { + alignAboveContext = #"main" } + { f8 f c } + >> + r4 | + } + } +@end lilypond + +通常、オッシアは音部記号と拍子記号無しで記述され、メインの譜表よりもわずかに小@c +さく譜刻されます。今度は、すでに音部記号と拍子記号を削除する方法を知っています +-- 以下のようにそれぞれのステンシルを @code{@hash{}f} にセットするだけです: + +@cindex alignAboveContext property, example +@cindex @code{\with}, example +@cindex stencil property, example +@cindex Clef, example of overriding +@cindex TimeSignature, example of overriding + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +\new Staff ="main" { + \relative g' { + r4 g8 g c4 c8 d | + e4 r8 + << + { f c c } + \new Staff \with { + alignAboveContext = #"main" + } + { + \override Staff.Clef #'stencil = ##f + \override Staff.TimeSignature #'stencil = ##f + { f8 f c } + } + >> + r4 | + } +} +@end lilypond + +@noindent +ここで、@code{@bs{}with} 節の後にある追加の括弧のペアが、その括弧に囲まれてい@c +るオーバライドと音楽がオッシア譜表に適用されることを保証するために、必要となり@c +ます。 + +しかし、@code{@bs{}with} を使った譜表コンテキストの変更と @code{@bs{}override} +を使った音部記号と拍子記号のステンシルの変更との違いは何なのでしょうか?主な違@c +いは、@code{@bs{}with} 節の中で行われた変更はそのコンテキストが作成されるとき@c +に行われ、そのコンテキストでは@strong{デフォルト}値として残ります。一方、音楽@c +の中に埋め込まれた @code{@bs{}set} コマンドや @code{@bs{}override} コマンドは@c +動的です -- それらは音楽のある特定のポイントに同期して変更を行います。変更が +@code{@bs{}unset} や @code{@bs{}revert} を使ってセットを解除されたり元に戻され@c +た場合、デフォルト値 -- これは @code{@bs{}with} 節でセットされていた場合はその@c +値、そうでない場合は通常のデフォルト値 -- に戻ります。 + +いくつかのコンテキスト プロパティは @code{@bs{}with} 節でのみ変更可能です。こ@c +れらは、コンテキストが作成された後では、変更されることのないプロパティです。@c +@code{alignAboveContext} とそのパートナー @code{alignBelowContext} がそのよう@c +なプロパティです -- いったん譜表が作成されると、譜表のアラインメントは決定さ@c +れ、それを後で変更しようとすることには意味がありません。 + +レイアウト オブジェクトのデフォルト値は @code{@bs{}with} 節でセットすることも@c +できます。通常の @code{@bs{}override} コマンドをコンテキスト名を省いて使用する@c +だけです。コンテキスト名を省略するのは、そのコンテキストは明らかに +@code{@bs{}with} 節が変更しようとしているコンテキストだからです。実際、@c +@code{@bs{}with} 節の中でコンテキストを指定するとエラーが発生します。 + +それでは上記の例を以下のように書き換えます: + +@cindex alignAboveContext property, example +@cindex @code{\with}, example +@cindex Clef, example of overriding +@cindex TimeSignature, example of overriding + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +\new Staff ="main" { + \relative g' { + r4 g8 g c4 c8 d | + e4 r8 + << + { f c c } + \new Staff \with { + alignAboveContext = #"main" + % Don't print clefs in this staff + \override Clef #'stencil = ##f + % Don't print time signatures in this staff + \override TimeSignature #'stencil = ##f + } + { f8 f c } + >> + r4 | + } +} +@end lilypond + +最後に、レイアウト オブジェクトのサイズを変更してみます。 + +いくつかのレイアウト オブジェクトはある書体から選択されたグリフとして作成され@c +ます。これには音符の玉、臨時記号、マークアップ、音部記号、拍子記号、強弱記号、@c +歌詞が含まれます。それらのサイズは、これから見ていくように、@code{font-size} +プロパティを変更することによって変更されます。スラーやタイのような他のレイアウト +オブジェクト -- 一般には、スパナ オブジェクト (spanner objects) -- は個々に描@c +かれるため、@code{font-size} プロパティとは関係がありません。一般に、それらの@c +オブジェクトはそれらを取り付けられるオブジェクトからサイズを決定する (訳者: 例@c +えば、スラーはそのスラーが付着する音符からそのスラーのサイズを決定する) ので、@c +通常はサイズを手動で変更する必要はありません。さらに、ステムや小節線の長さ、@c +ビームや他の線の太さ、譜表線の間隔などといった他のプロパティはすべて特別な方法@c +で変更する必要があります。 + +オッシアの例に戻って、まず @code{font-size} を変更してみましょう。これを行うには +2 通りの方法があります。以下のようなコマンドで @code{NoteHead} のような各オブ@c +ジェクト タイプのフォント サイズを変更する: + +@example +\override NoteHead #'font-size = #-2 +@end example + +あるいは、@code{@bs{}set} を使って特別なプロパティ @code{fontSize} を設定する@c +か、それを @code{@bs{}with} 節に含める (ただし、@code{@bs{}set} は含めません) +ことによってすべてのフォントのサイズを変更します: + +@example +\set fontSize = #-2 +@end example + +これらの命令文は両方ともフォント サイズを前の値から 2 段階減らします。各段階で@c +サイズはおよそ 12% 増減します。 + +それではオッシアの例でフォント サイズを変更してみましょう: + +@cindex alignAboveContext property, example +@cindex @code{\with}, example +@cindex Clef, example of overriding +@cindex TimeSignature, example of overriding +@cindex fontSize property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +\new Staff ="main" { + \relative g' { + r4 g8 g c4 c8 d | + e4 r8 + << + { f c c } + \new Staff \with { + alignAboveContext = #"main" + \override Clef #'stencil = ##f + \override TimeSignature #'stencil = ##f + % Reduce all font sizes by ~24% + fontSize = #-2 + } + { f8 f c } + >> + r4 | + } +} +@end lilypond + +これでもまだ完璧ではありません。音符の玉とフラグは小さくなりましたが、ステムは@c +それに対して長すぎ、譜表線は離れすぎています。これらをフォント サイズの減少に@c +比例してスケール ダウンさせる必要があります。次のサブ セクションでそれを行う方@c +法について議論します。 @node Length and thickness of objects @subsection Length and thickness of objects -@untranslated +@cindex distances +@cindex thickness +@cindex length +@cindex magstep +@cindex size, changing +@cindex stem length, changing +@cindex staff line spacing, changing + +LilyPond では距離と長さは一般に譜表スペース -- 譜表の中の隣り合う線の間隔 -- +で測ります (特別な場合では、譜表スペースの半分で測ることもあります)。一方、た@c +いていの @code{thickness} プロパティは @code{line-thickness} と呼ばれる内部プ@c +ロパティを単位として測ります。例えば、デフォルトでは、ヘアピン (訳者: 強弱記号) +の線の太さは 1 単位の @code{line-thickness} であり、音符のステムの +@code{thickness} は 1.3 です。けれども、それとは単位の異なる太さプロパティがあ@c +るということにも注意してください。例えば、ビームの太さプロパティは譜表スペース@c +で測ります。 + +それでは、どうやって長さをフォント サイズに比例させるのでしょうか?これは、ま@c +さにこの目的のために提供されている @code{magstep} と呼ばれる特別な関数の助けを@c +借りることによって達成できます。この関数は引数を 1 つ -- フォント サイズの変化 +(前の例では @hash{}-2) -- をとり、他のオブジェクトの縮小に比例したスケーリング +ファクタを返します。以下のように使用します: + +@cindex alignAboveContext property, example +@cindex @code{\with}, example +@cindex Clef, example of overriding +@cindex TimeSignature, example of overriding +@cindex fontSize property, example +@cindex StaffSymbol, example of overriding +@cindex magstep function, example of using +@cindex staff-space property, example +@cindex stencil property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +\new Staff ="main" { + \relative g' { + r4 g8 g c4 c8 d | + e4 r8 + << + { f c c } + \new Staff \with { + alignAboveContext = #"main" + \override Clef #'stencil = ##f + \override TimeSignature #'stencil = ##f + fontSize = #-2 + % Reduce stem length and line spacing to match + \override StaffSymbol #'staff-space = #(magstep -2) + } + { f8 f c } + >> + r4 | + } +} +@end lilypond + +@noindent +ステムの長さと他の多くの長さに関係するプロパティは常に @code{staff-space} プロ@c +パティの値と比例関係になるよう算出されるため、それらの長さも自動的にスケール +ダウンされます。これはオッシアの垂直方向のスケールだけに効果を及ぼすということ@c +に注意してください -- 水平方向のスケールは、メインの音楽と同期するよう、メイン@c +の音楽のレイアウトによって決定されるため、水平方向のスケールは +@code{staff-space} の変更によっていかなる影響も受けません。もちろん、メインの@c +音楽のすべてのスケールがこの方法で変更された場合、水平方向のスペースも影響を受@c +けます。このことについては、後のレイアウト セクションで議論します。 + +そして、これでオッシアの作成は完了です。他のすべてのオブジェクトのサイズと長さ@c +が類似の方法で変更されるかもしれません。 + +上記の例のようなスケールのちょっとした変更に対して、小節線、ビーム、ヘアピン、@c +スラーなどのさまざまな描画線の太さは通常はグローバルな調節を必要としません。あ@c +る特定のレイアウト オブジェクトの太さを調節する必要がある場合、それを達成する@c +最良の方法はそのオブジェクトの @code{thickness} プロパティをオーバライドするこ@c +とです。スラーの太さを変更する例は @ref{Properties of layout objects} で示され@c +ています。すべての描画オブジェクト (つまり、フォントから作り出されるオブジェク@c +トではないもの) の太さが同様の方法で変更されるかもしれません。 @node Placement of objects @section Placement of objects -@untranslated - @menu * Automatic behavior:: @@ -140,33 +1519,672 @@ * Outside-staff objects:: @end menu + @node Automatic behavior @subsection Automatic behavior -@untranslated +@cindex within-staff objects +@cindex outside-staff objects +@cindex objects, within-staff +@cindex objects, outside-staff + +音楽表記には譜表に属するオブジェクトがいくつかあり、他のオブジェクトは譜表の外@c +側に置かれるべきです。それらはそれぞれ譜表内部オブジェクトと譜表外部オブジェク@c +トと呼ばれます。 + +譜表内部オブジェクトは譜表上に置かれます -- 音符の玉、ステム、臨時記号などで@c +す。通常、それらの位置は音楽自体によって決定されます -- 譜表内部オブジェクトは@c +譜表のある特定の線と同じ垂直位置に置かれたり、そこに置かれるべき他のオブジェク@c +トにくっつけられたりします。近接する和音の中にある音符の玉、ステム、臨時記号の@c +衝突は普通は自動的に回避されます。これから見ていくように、この自動配置を変更す@c +ることができるコマンドとオーバライドがあります。 + +譜表の外部にあるオブジェクトには、リハーサル記号、テキスト、強弱記号などがあり@c +ます。LilyPond が持つ譜表外部オブジェクトの垂直位置のルールは、譜表外部オブ@c +ジェクトをできるだけ譜表の近くに、しかし他のオブジェクトと衝突しない程度の近さ@c +に置くというものです。以下で示すように、LilyPond はオブジェクトを配置する順番@c +を決定するために @code{outside-staff-priority} プロパティを使用します。 + +最初に、LilyPond はすべての譜表内部オブジェクトを配置します。それから、@c +@code{outside-staff-priority} に従って譜表外部オブジェクトを並べます。譜表外部@c +オブジェクトは最小の @code{outside-staff-priority} を持つオブジェクトから順番に +1 つずつ並べられ、すでに配置されたオブジェクトと衝突しないように配置されます。@c +つまり、2 つの譜表外部オブジェクトが同じスペースを巡って競合する場合、より小さな +@code{outside-staff-priority} を持つオブジェクトが譜表の近くに配置されます。2 +つのオブジェクトが同じ @code{outside-staff-priority} を持つ場合、先に発生する@c +オブジェクトが譜表の近くに配置されます。 + +以下の例では、すべてのマークアップ テキストが同じ優先度を持っています (なぜな@c +ら、優先度が明示的にセットされていないからです)。@q{Text3} が自動的に譜表の近@c +く、@q{Text2} のすぐ下に納まるよう配置されていることに注意してください。 + +@cindex markup example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +c2^"Text1" +c^"Text2" +c^"Text3" +c^"Text4" +@end lilypond + +デフォルトでは、譜も互いにできるだけ近くなるよう配置されます (最小間隔に従いま@c +す)。音符が隣接する譜表に向かって長く突き出てている場合、譜を離さないと表記が@c +重なり合ってしまう場合にのみ譜は離されます。以下の例は譜の調整によって音符が +@q{ぴったりと納まる} 様子を示しています: + +@lilypond[quote,ragged-right,verbatim] +<< + \new Staff { + \relative c' { c a, } + } + \new Staff { + \relative c'''' { c a, } + } +>> +@end lilypond @node Within-staff objects @subsection Within-staff objects -@untranslated - +これまでにコマンド @code{\voiceXXX} がスラー、タイ、運指法記号、ステムの向きに@c +依存する他のすべてに対してどのように影響を与えるかを見てきました。これらのコマ@c +ンドは、多声部音楽を記述しているときに上下する旋律を見分けられるようにすること@c +を可能にするために不可欠なものです。しかしながら、この自動機能をオーバライドす@c +る必要がある場合もあります。このオーバライドは音楽全体に対しても、個々の音符に@c +対してもできます。この自動機能を制御しているプロパティは各レイアウト オブジェ@c +クトの @code{direction} プロパティです。まず、これは何をするのかを説明し、それ@c +から、作成済みのコマンドをいくつか紹介します。それらのコマンドを使うと、一般的@c +な変更のための明示的なオーバライドをコードしなくて済みます。 + + +スラーやタイのようなレイアウト オブジェクトはカーブを描き、曲がり、上下しま@c +す。ステムやフラグのような他のオブジェクトも上下の向きによって位置が左右しま@c +す。@code{direction} がセットされているときは、これは自動的に制御されます。 + +@cindex down +@cindex up +@cindex center +@cindex neutral + +以下の例は、小節 1 でステムのデフォルトの振る舞いを示しています。高い位置にあ@c +る音符のステムは下向きで、低い位置にある音符のステムは上向きです。続いて 4 つ@c +の音符のステムをすべて強制的に下向きにし、4 つの音符のステムをすべて強制的に上@c +向きにし、最後に 4 つの音符のステムをデフォルトに戻します。 + +@cindex Stem, example of overriding +@cindex direction property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +a4 g c a +\override Stem #'direction = #DOWN +a g c a +\override Stem #'direction = #UP +a g c a +\revert Stem #'direction +a g c a +@end lilypond + +ここで定数 @code{DOWN} と @code{UP} を使っています。これらはそれぞれ値 @code{-1} +と @code{+1} を持ち、定数の代わりにそれらの数値を使うこともできまはす。さらに値 +@code{0} を使う場合もあります。この値はステムでは @code{UP} を意味するものとし@c +て扱われますが、いくつかのオブジェクトでは @q{center} という意味になります。値 +@code{0} を持つ定数に @code{CENTER} があります。 + +しかしながら、これらの明示的なオーバライドは普通は使われません。もっと簡単で定@c +義済みのコマンドが利用可能だからです。ここに一般的なコマンドの表を挙げます。そ@c +れぞれのコマンドの意味が明白でない場合は、そのコマンドの意味を述べています。 + +@multitable @columnfractions .2 .2 .25 .35 +@headitem 下/左 + @tab 上/右 + @tab 元に戻す + @tab 効果 +@item @code{\arpeggioArrowDown} + @tab @code{\arpeggioArrowUp} + @tab @code{\arpeggioNormal} + @tab 矢印が下に付く、上に付く、付かない +@item @code{\dotsDown} + @tab @code{\dotsUp} + @tab @code{\dotsNeutral} + @tab 譜表線を避けるための移動方向 +@item @code{\dynamicDown} + @tab @code{\dynamicUp} + @tab @code{\dynamicNeutral} + @tab +@item @code{\phrasingSlurDown} + @tab @code{\phrasingSlurUp} + @tab @code{\phrasingSlurNeutral} + @tab Note: スラー コマンドとは別になります +@item @code{\slurDown} + @tab @code{\slurUp} + @tab @code{\slurNeutral} + @tab +@item @code{\stemDown} + @tab @code{\stemUp} + @tab @code{\stemNeutral} + @tab +@item @code{\textSpannerDown} + @tab @code{\textSpannerUp} + @tab @code{\textSpannerNeutral} + @tab スパナとして挿入されるテキストが譜表の下/上にくる +@item @code{\tieDown} + @tab @code{\tieUp} + @tab @code{\tieNeutral} + @tab +@item @code{\tupletDown} + @tab @code{\tupletUp} + @tab @code{\tupletNeutral} + @tab 連符記号が音符の下/上にくる +@end multitable + +これらの定義済みコマンドの前には @code{@bs{}once} が付か@strong{ない}かもしれ@c +ません。コマンドの効果を単一の音符に制限したい場合、等価の @code{@bs{}once +@bs{}override} コマンドを使用するか、あるいは、定義済みコマンドを使用して、効@c +果を受けた音符の後に対応する @code{@bs{}xxxNeutral} コマンドを置かなければなり@c +ません。 @subheading Fingering + +@cindex fingering, placement +@cindex fingering, chords + +単一の音符に対する運指法記号の配置も @code{direction} プロパティによって制御で@c +きますが、@code{direction} を変更しても和音の運指法記号は影響を受けません。こ@c +れから見ていくように、和音の中の個々の音符の運指法記号を制御するための特別なコ@c +マンドがあります。このコマンドを使うことで運指法記号を各音符の上、下、左、右に@c +配置することができます。 + +まず、単一の音符の運指法記号に対する @code{direction} を効果を示します。最初の@c +小節はデフォルト状態で、その後で @code{DOWN} と @code{UP} を指定したときの効果@c +を示します: + +@cindex Fingering, example of overriding +@cindex direction property, example + +@lilypond[quote,verbatim,relative=2] +c-5 a-3 f-1 c'-5 +\override Fingering #'direction = #DOWN +c-5 a-3 f-1 c'-5 +\override Fingering #'direction = #UP +c-5 a-3 f-1 c'-5 +@end lilypond + +しかしながら、@code{direction} プロパティをオーバライドすることは、手動で運指@c +法記号を音符の上または下に配置するもっとも簡単な方法ではありません。運指法番号@c +の前に @code{-} の代わりに @code{_} または @code{^} を使う方が普通は適切です。@c +ここで、上記の例にこの方法を用いた例を挙げます: + +@cindex fingering example + +@lilypond[quote,verbatim,relative=2] +c-5 a-3 f-1 c'-5 +c_5 a_3 f_1 c'_5 +c^5 a^3 f^1 c'^5 +@end lilypond + +@code{direction} プロパティは和音では無視されますが、方向を示す接頭辞 @code{_} +と @code{^} は機能します。以下で示すように、デフォルトでは、運指法記号は和音の@c +音符の上と下の両方に自動的に配置されます: + +@cindex fingering example + +@lilypond[quote,verbatim,relative=2] +<c-5 g-3> +<c-5 g-3 e-2> +<c-5 g-3 e-2 c-1> +@end lilypond + +@noindent +しかし、以下で示すように、運指法番号のすべてまたはいずれかを手動で強制的に和音@c +の上または下に配置するために、これはオーバライドされるかもしれません: + +@cindex fingering example + +@lilypond[quote,verbatim,relative=2] +<c-5 g-3 e-2 c-1> +<c^5 g_3 e_2 c_1> +<c^5 g^3 e^2 c_1> +@end lilypond + +@code{\set fingeringOrientations} コマンドを使うことによって和音の中にある個々@c +の音符の運指法記号の配置をより細かく制御することさえできます。このコマンドの@c +フォーマットは以下のようなものです: + +@example +@code{\set fingeringOrientations = #'([up] [left/right] [down])} +@end example + +@noindent +@code{fingeringOrientations} は @code{Voice} コンテキストのプロパティであり、@c +@code{New_fingering_engraver} によって作成、使用されるため、@code{\set} が使用@c +されます。 + +このプロパティには 1 つから 3 つまでの値のリストがセットされるかもしれません。@c +このプロパティは運指法記号を上 (リストに @code{up} がある場合)、下 (リストに +@code{down} がある場合)、左 (リストに @code{left} がある場合。リストに +@code{right} がある場合は右) に配置します。逆に配置位置がリストされていない場@c +合、その位置に運指法記号は配置されません。LilyPond はこれらの制約を受け取り、@c +後に続く和音の音符への運指法記号をうまく配置します。@code{left} と @code{right} +は相互排他的であるということに注意してください -- 運指法記号は左右のどちらかに@c +しか配置されないか、どちらにも配置されません。 + +@warning{このコマンドを使って単一の音符への運指法記号の配置をコントロールする@c +には、その音符を角括弧で囲んで単一音符の和音として記述する必要があります。} + +いくつか例を挙げます: + +@cindex fingering example +@cindex @code{\set}, example of using +@cindex fingeringOrientations property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=1] +\set fingeringOrientations = #'(left) +<f-2> +< c-1 e-2 g-3 b-5 > 4 +\set fingeringOrientations = #'(left) +<f-2> +< c-1 e-2 g-3 b-5 > 4 +\set fingeringOrientations = #'(up left down) +<f-2> +< c-1 e-2 g-3 b-5 > 4 +\set fingeringOrientations = #'(up left) +<f-2> +< c-1 e-2 g-3 b-5 > 4 +\set fingeringOrientations = #'(right) +<f-2> +< c-1 e-2 g-3 b-5 > 4 +@end lilypond + +@noindent +運指法記号が少し込み合っているように見える場合は、@code{font-size} でサイズを@c +下げることができます。デフォルト値は内部リファレンスの @code{Fingering} オブ@c +ジェクトのページから @code{-5} であることがわかるので、@code{-7} にセットして@c +みましょう: + +@lilypond[quote,fragment,ragged-right,verbatim,relative=1] +\override Fingering #'font-size = #-7 +\set fingeringOrientations = #'(left) +<f-2> +< c-1 e-2 g-3 b-5 > 4 +\set fingeringOrientations = #'(left) +<f-2> +< c-1 e-2 g-3 b-5 > 4 +\set fingeringOrientations = #'(up left down) +<f-2> +< c-1 e-2 g-3 b-5 > 4 +\set fingeringOrientations = #'(up left) +<f-2> +< c-1 e-2 g-3 b-5 > 4 +\set fingeringOrientations = #'(right) +<f-2> +< c-1 e-2 g-3 b-5 > 4 +@end lilypond + + @node Outside-staff objects @subsection Outside-staff objects -@untranslated - +譜表外部オブジェクトは自動的に衝突を回避するよう配置されます。小さな値の +@code{outside-staff-priority} プロパティを持つオブジェクトは譜表の近くに配置さ@c +れ、他の譜表外部オブジェクトは衝突を避けるのに必要な分だけ離されます。@c +@code{outside-staff-priority} は @code{grob-interface} の中で定義されているた@c +め、すべてのレイアウト オブジェクトのプロパティです。デフォルトでは、すべての@c +譜表内部オブジェクトの @code{outside-staff-priority} は @code{@hash{}f} にセッ@c +トされていて、譜表外部オブジェクトが作成されたときにその譜表外部オブジェクトの +@code{outside-staff-priority} に適当な数値がセットされます。以下の表はデフォル@c +トで @code{Staff} コンテキストまたは @code{Voice} コンテキストの中に配置される@c +いくつかの一般的な譜表外部オブジェクトのデフォルトの +@code{outside-staff-priority} 値を示しています。 + +@multitable @columnfractions .3 .3 .3 +@headitem レイアウト オブジェクト + @tab 優先度 + @tab 以下のオブジェクトの配置を制御する: +@item @code{MultiMeasureRestText} + @tab @code{450} + @tab 全休符上のテキスト +@item @code{TextScript} + @tab @code{450} + @tab マークアップ テキスト +@item @code{OttavaBracket} + @tab @code{400} + @tab オッターバ (オクターブを上下させる記号) の囲み +@item @code{TextSpanner} + @tab @code{350} + @tab テキスト スパナ +@item @code{DynamicLineSpanner} + @tab @code{250} + @tab すべての強弱記号 +@item @code{VoltaBracketSpanner} + @tab @code{100} + @tab Volta (番号付きのリピート) の囲み +@item @code{TrillSpanner} + @tab @code{50} + @tab トリル記号 +@end multitable + +これらのうちのいくつかのデフォルトでの配置を示している例を挙げます。 + +@cindex text spanner +@cindex ottava bracket + +@funindex \startTextSpan +@funindex startTextSpan +@funindex \stopTextSpan +@funindex stopTextSpan + +@cindex TextSpanner, example of overriding +@cindex bound-details property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=1] +% Set details for later Text Spanner +\override TextSpanner #'(bound-details left text) + = \markup { \small \bold Slower } +% Place dynamics above staff +\dynamicUp +% Start Ottava Bracket +\ottava #1 +c' \startTextSpan +% Add Dynamic Text +c\pp +% Add Dynamic Line Spanner +c\< +% Add Text Script +c^Text +c c +% Add Dynamic Text +c\ff c \stopTextSpan +% Stop Ottava Bracket +\ottava #0 +c, c c c +@end lilypond + +この例はテキスト スパナ -- 音楽の上に置かれる延長線付きのテキスト -- の作成方@c +法についても示しています。スパナは @code{@bs{}startTextSpan} コマンドから +@code{@bs{}stopTextSpan} コマンドまで延び、テキストのフォーマットは +@code{@bs{}override TextSpanner} コマンドによって定義されます。詳細は +@ruser{Text spanners} を参照してください。 + +この例はさらにオッターバ囲みを作成する方法についても示しています。 + +@cindex tweaking bar number placement +@cindex bar numbers, tweaking placement +@cindex tweaking metronome mark placement +@cindex metronome mark, tweaking placement +@cindex tweaking rehearsal mark placement +@cindex rehearsal marks, tweaking placement + +小節番号、メトロノーム記号、リハーサル記号は示されていないということに注意して@c +ください。デフォルトでは、それらは @code{Score} コンテキストの中で作成され、そ@c +れらの @code{outside-staff-priority} は @code{Staff} コンテキストの中で作成さ@c +れるレイアウト オブジェクトとは異なり無視されます。小節番号、メトロノーム記号@c +あるいはリハーサル記号をそれらの @code{outside-staff-priority} に従って配置し@c +たいのなら、@code{Score} コンテキストからそれぞれ @code{Bar_number_engraver}, +@code{Metronome_mark_engraver}, @code{Mark_engraver} を削除して最上位の +@code{Staff} コンテキストに置く必要があります。そうした場合、それらの記号には@c +以下のデフォルトの @code{outside-staff-priority} 値が与えられます: + +@multitable @columnfractions .3 .3 +@headitem レイアウト オブジェクト @tab 優先度 +@item @code{RehearsalMark} @tab @code{1500} +@item @code{MetronomeMark} @tab @code{1000} +@item @code{BarNumber} @tab @code{ 100} +@end multitable + +@code{outside-staff-priority} のデフォルト値による配置があなたの望みに合わない@c +場合、いずれかのオブジェクトの優先度をオーバライドすることになるかもしれませ@c +ん。上記の例で、オッターバ囲みをテキスト スパナの下に配置したいとします。すべ@c +きことは、@code{OttavaBracket} は @code{Staff} コンテキストの中に作成されると@c +いうことを思い出し、@code{OttavaBracket} の優先度を内部リファレンスか上記の表@c +で調べて、それを @code{TextSpanner} の値よりも小さくすることです: + +@cindex TextSpanner, example of overriding +@cindex bound-details property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=1] +% Set details for later Text Spanner +\override TextSpanner #'(bound-details left text) + = \markup { \small \bold Slower } +% Place dynamics above staff +\dynamicUp +%Place following Ottava Bracket below Text Spanners +\once \override Staff.OttavaBracket #'outside-staff-priority = #340 +% Start Ottava Bracket +\ottava #1 +c' \startTextSpan +% Add Dynamic Text +c\pp +% Add Dynamic Line Spanner +c\< +% Add Text Script +c^Text +c c +% Add Dynamic Text +c\ff c \stopTextSpan +% Stop Ottava Bracket +\ottava #0 +c, c c c +@end lilypond + +@cindex slurs and outside-staff-priority +@cindex slurs and articulations +@cindex articulations and slurs + +スラーはデフォルトでは譜表内部オブジェクトに分類されています。しかしながら、譜@c +表の上部に配置された音符に付くスラーはしばしば譜表の上に表示されます。このこと@c +は、スラーがまず最初に配置されるため、アーティキュレーションなどの譜表外部オブ@c +ジェクトをあまりにも高い位置に押し上げる可能性があります。アーティキュレーショ@c +ンの @code{avoid-slur} プロパティに @code{'inside} をセットすることでアーティ@c +キュレーションをスラーよりも内側に配置することができます。しかし、@c +@code{avoid-slur} プロパティはアーティキュレーションの +@code{outside-staff-priority} が @code{@hash{}f} にセットされている場合にのみ@c +効果を持ちます。代替手段として、スラーの @code{outside-staff-priority} に数値@c +をセットすることによって、スラーを他の譜表外部オブジェクトとともに +@code{outside-staff-priority} 値に従って配置することができます。ここで、2 つの@c +方法の効果を示す例を挙げます: + +@lilypond[quote,verbatim,relative=2] +c4( c^\markup\tiny\sharp d4.) c8 +c4( +\once \override TextScript #'avoid-slur = #'inside +\once \override TextScript #'outside-staff-priority = ##f +c^\markup\tiny\sharp d4.) c8 +\once \override Slur #'outside-staff-priority = #500 +c4( c^\markup\tiny\sharp d4.) c8 +@end lilypond + +@code{outside-staff-priority} は、個々のオブジェクトの垂直方向の配置を制御する@c +ために使用することもできます。しかしながら、その結果は常に望み通りになるわけで@c +はありません。@ref{Automatic behavior} にある例で @qq{Text3} を @qq{Text4} の@c +上に配置したいとします。すべきことは @code{TextScript} の優先度を内部リファレ@c +ンスか上記の表で調べて、@qq{Text3} の優先度を大きくすることです: + +@cindex TextScript, example of overriding +@cindex outside-staff-priority property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +c2^"Text1" +c^"Text2" +\once \override TextScript #'outside-staff-priority = #500 +c^"Text3" +c^"Text4" +@end lilypond + +これはたしかに @qq{Text3} を @qq{Text4} の上に配置しています。しかし、@c +@qq{Text3}を @qq{Text2} の上に配置して、@qq{Text4} を押し下げてもいます。おそ@c +らく、これはそれほど望ましい結果ではないでしょう。本当に望んでいることは、すべ@c +ての注釈を譜表の上に譜表から同じ距離だけ離して配置することです。そうするには明@c +らかに、テキストのためにもっと広いスペースを確保するために、音符を水平方向に広@c +げる必要があります。これは @code{@bs{}textLengthOn} コマンドを用いることで達成@c +できます。 @subheading \textLengthOn + +@cindex notes, spreading out with text + +@funindex \textLengthOn +@funindex textLengthOn +@funindex \textLengthOff +@funindex textLengthOff + +デフォルトでは、音楽のレイアウトが考慮されている限り、マークアップによって作り@c +出されるテキストは水平方向のスペースと関係しません。@code{@bs{}textLengthOn} +コマンドはこの動作を逆にして、テキストの配置に便宜をはかる必要がある限り、音符@c +の間隔を広げます: + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +\textLengthOn % Cause notes to space out to accommodate text +c2^"Text1" +c^"Text2" +c^"Text3" +c^"Text4" +@end lilypond + +デフォルトの動作に戻すためのコマンドは @code{@bs{}textLengthOff} です。@c +@code{@bs{}once} は @code{@bs{}override}, @code{@bs{}set}, @code{@bs{}revert} +それに @code{@bs{}unset} だけに付けることができるということを思い出してくださ@c +い。そのため、@code{@bs{}textLengthOn} で @code{@bs{}once} を使うことはできま@c +せん。 + +@cindex markup text, allowing collisions + +マークアップ テキストは譜表の上に突き出している音符を避けます。このことが望ま@c +しくない場合、優先度を @code{@hash{}f} にセットすることによって上方向への自動@c +再配置を Off にすることになるかもしれません。ここで、マークアップ テキストがそ@c +のような音符とどのように相互作用するかを示す例を挙げます。 + +@cindex TextScript, example of overriding +@cindex outside-staff-priority property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +% This markup is short enough to fit without collision +c2^"Tex" +c''2 +R1 +% This is too long to fit, so it is displaced upwards +c,,2^"Text" +c''2 +R1 +% Turn off collision avoidance +\once \override TextScript #'outside-staff-priority = ##f +c,,2^"Long Text " +c''2 +R1 +% Turn off collision avoidance +\once \override TextScript #'outside-staff-priority = ##f +\textLengthOn % and turn on textLengthOn +c,,2^"Long Text " % Spaces at end are honored +c''2 +@end lilypond + + @subheading Dynamics + +@cindex tweaking dynamics placement +@cindex dynamics, tweaking placement + +通常、強弱記号は譜表の下に配置されます。しかしながら、@code{dynamicUp} コマン@c +ドを使うことで上に配置されるかもしれません。強弱記号は、その記号が付いている音@c +符と垂直方向の関係で配置され、フレージング スラーや小節番号などの譜表内部オブ@c +ジェクトのすべてよりも下 (あるいは上) に配置されます。このことは、以下の例のよ@c +うに、到底受け入れられない結果を生み出す可能性があります: + +@lilypond[quote,fragment,ragged-right,verbatim,relative=1] +\clef "bass" +\key aes \major +\time 9/8 +\dynamicUp +bes4.~\f\< \( bes4 bes8 des4\ff\> c16 bes\! | +ees,2.~\)\mf ees4 r8 | +@end lilypond + +しかしながら、音符とそれに付けられた強弱記号が互いに近い場合、自動配置は後の方@c +にある強弱記号を譜表から離すことによって衝突を避けます。しかし、以下のかなり不@c +自然な例が示すように、それは最適な配置ではないかもしれません: + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +\dynamicUp +a4\f b\mf c\mp b\p +@end lilypond + +@noindent +@q{実際} の音楽で同じような状況があった場合、音符の間隔をもう少し広げて、すべ@c +ての強弱記号が譜表から垂直方向に同じだけ離れるようにする方が望ましいかもしれま@c +せん。マークアップ テキストの場合は @code{@bs{}textLengthOn} コマンドを用いる@c +ことによってそうすることができますが、強弱記号には等価のコマンドがありません。@c +そのため、@code{@bs{}override} コマンドを用いてそれを達成する方法を見出す必要@c +があります。 + @subheading Grob sizing + +@cindex grob sizing +@cindex sizing grobs + +まず最初に、グラフィカル オブジェクトのサイズがどのように決定されるかを学ばな@c +くてはなりません。すべてのグラフィカル オブジェクトの内部では参照ポイントが定@c +義され、それはそれらの親オブジェクトとの相対位置を決定するために使用されます。@c +このポイントは親オブジェクトから垂直方向に @code{X-offset}、垂直方向に +@code{Y-offset} 離れた位置になります。オブジェクトの水平方向の広がりは数値のペア +@code{X-extent} で与えられ、そのペアはオブジェクトの左端と右端の参照ポイントと@c +の相対関係について述べています。垂直方向の広がりも同様に数値のペア +@code{Y-extent} によって与えられます。これらは @code{grob-interface} をサポー@c +トするすべてのグラフィカル オブジェクトが持つプロパティです。 + +@cindex @code{extra-spacing-width} + +デフォルトでは、譜表外部オブジェクトには 0 の幅が与えられているため、水平方向@c +で重なる可能性があります。これは @code{extra-spacing-width} に @code{'(+inf.0 . +-inf.0)} をセットすることによって、左端の広がりにプラス無限大、右端の広がりに@c +マイナス無限大を付け加えるというトリックによって達成されています。そのため、譜@c +表外部オブジェクトが水平方向で重ならないことを保証するには、@c +@code{extra-spacing-width} の値を @code{'(0 . 0)} にオーバライドする必要があり@c +ます。これにより、本当の幅が明らかになります。以下は強弱記号テキストに対してこ@c +れを行うコマンドです: + +@example +\override DynamicText #'extra-spacing-width = #'(0 . 0) +@end example + +@noindent +これが前の例で機能するかどうかを見てみましょう: + +@cindex DynamicText, example of overriding +@cindex extra-spacing-width property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +\dynamicUp +\override DynamicText #'extra-spacing-width = #'(0 . 0) +a4\f b\mf c\mp b\p +@end lilypond + +@noindent +確かに強弱記号の再配置をストップさせています。しかし、2 つの問題が残っていま@c +す。強弱記号を互いにもう少し離すべきであり、それらは譜表から同じ距離にあるほう@c +が望ましいです。最初の問題は簡単に解決できます。@code{extra-spacing-width} を 0 +にする代わりに、もう少し大きな値を与えるのです。単位は 2 本の譜表線の間隔なの@c +で、左端を 1 単位の半分だけ左に移動させ、右端を 1 単位の半分だけ右に移動させる@c +と解決になります: + +@cindex DynamicText, example of overriding +@cindex extra-spacing-width property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +\dynamicUp +% Extend width by 1 staff space +\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5) +a4\f b\mf c\mp b\p +@end lilypond + +@noindent +これで前よりも良くなりました。しかし、強弱記号が音符に合わせて上下するよりも、@c +同じベースラインで揃っている方が望ましいでしょう。それを行うためのプロパティは +@code{staff-padding} であり、後に続くセクションでカバーされています。 + + @node Collisions of objects @section Collisions of objects -@untranslated - @menu * Moving objects:: @@ -174,37 +2192,1007 @@ * Real music example:: @end menu + @node Moving objects @subsection Moving objects -@untranslated +@cindex moving overlapping objects +@cindex moving colliding objects +@cindex moving colliding grobs +@cindex objects, moving colliding +@cindex grobs, moving colliding + +これを聞いて驚くかもしれませんが、LilyPond は完璧ではありません。いくつかの表@c +記要素が重なりある可能性があります。これは遺憾なことですが、実際にはごく稀で@c +す。通常、オブジェクトを移動させる必要性は読みやすさや美しさのためです -- オブ@c +ジェクトの周りにもう少しスペースを多く/少なくとった方がより良くなるといった場@c +合です。 + +表記の重なりを解決する主要なアプローチが 3 つあります。それらは以下の順番で考@c +慮されるべきです: + +@enumerate +@item +重なり合っているオブジェクトの 1 つの @strong{direction} を @ref{Within-staff +objects} でリストアップした内部オブジェクトのための定義済みコマンドを用いて変@c +更することになるかもしれません。ステム、スラー、ビーム、タイ、強弱記号、テキス@c +ト、連符はこの方法で容易に再配置できるかもしれません。この方法の限界は配置の仕@c +方の選択肢が 2 つしかないことであり、どちらも適当でないかもしれません。 + +@item +LilyPond がレイアウト オブジェクトを配置するときに使用する@strong{オブジェクト +プロパティ}を @code{@bs{}override} を用いて変更することになるかもしれません。@c +オブジェクト プロパティに変更を加えることの利点は、(a) スペースをとる必要があ@c +る場合に他のいくつかのオブジェクトは自動的に移動させられます、(b) 1 回のオーバ@c +ライドを同じオブジェクト タイプのインスタンスすべてに適用することができます。@c +変更するプロパティには以下のものが含まれます: + +@itemize + +@item +@code{direction} + +これはすでに詳しくカバーされています -- @ref{Within-staff objects} を参照して@c +ください。 + +@item +@code{padding}, @code{left-padding}, +@code{right-padding}, @code{staff-padding} + +@cindex padding +@cindex left-padding property +@cindex padding property +@cindex right-padding property +@cindex staff-padding property + +あるオブジェクトが配置されるとき、そのオブジェクトの @code{padding} プロパティ@c +が、そのオブジェクトとそのオブジェクトに最も隣接するオブジェクトの端との間に置@c +かれる間隔を指定します。@strong{配置される最中}のオブジェクトの @code{padding} +値が使用されるということに注意してください。すでに配置されたオブジェクトの +@code{padding} 値は無視されます。@code{padding} によって指定された間隔は +@code{side-position-interface} をサポートするオブジェクトすべてに適用すること@c +ができます。 + +臨時記号のグループの配置は、@code{padding} の代わりに、@code{left-padding} と +@code{right-padding} によって制御されます。これらのプロパティは +@code{AccidentalPlacement} オブジェクトの中にあり、注意すべきことに、そのオブ@c +ジェクトは @strong{Staff} コンテキストの中にあります。譜刻プロセスでは、音符の@c +玉が最初に譜刻され、臨時記号 (がある場合は) が次に音符の玉の左側に付け加えられ@c +ます。このとき、臨時記号と音符の玉の間隔は @code{right-padding} プロパティに@c +よって指定されます。そのため、@code{AccidentalPlacement} オブジェクトの +@code{right-padding} プロパティだけが臨時記号の配置に影響を与えます。 + +@code{staff-padding} プロパティは @code{padding} プロパティと深い関わりがあり@c +ます: @code{padding} プロパティは、@code{side-position-interface} をサポートす@c +るオブジェクトとそれに最隣接する他のオブジェクト (一般には音符や譜表線) との間@c +のスペースの最小量を制御します。一方、@code{staff-padding} は常に譜表の外側に@c +配置されるレイアウト オブジェクトにのみ適用されます -- これは譜表の外側に配置@c +されるオブジェクトと譜表の間に挿入されるべきスペースの最小量を制御します。@c +@code{staff-paddin} は譜表ではなく音符との相対関係で配置されるオブジェクトには@c +影響を与えないということに注意してください。そのようなオブジェクトに対して +@code{staff-padding} のオーバライドを行ったとしてもエラーは起きないかもしれま@c +せんが、無視されます。 + +あなたが再配置しようとしているオブジェクトに対して求められる @code{padding} プ@c +ロパティはどれなのかを見つけるには、内部リファレンスに戻ってそのオブジェクトの@c +プロパティを調べる必要があります。@code{padding} プロパティはあなたが再配置し@c +ようとしているオブジェクトの中には無いかもしれないということに注意してくださ@c +い。その場合は、そのオブジェクトに関係があるオブジェクトを調べてください。 + +すべての @code{padding} 値は譜表スペースで測られます。たいていのオブジェクトで@c +は、この値はデフォルトで約 1.0 かそれ以下にセットされています (それぞれのオブ@c +ジェクトで値はさまざまです)。間隔を大きく (あるいは小さく) する必要がある場@c +合、その値はオーバライドされるかもしれません。 + +@item +@code{self-alignment-X} + +@cindex self-alignment-X property + +このプロパティを使うことで、親オブジェクトの参照ポイントに従って、オブジェクト@c +を左、右、中央に揃えることができます。このプロパティは +@code{self-alignment-interface} をサポートするオブジェクトすべてに対して使用す@c +ることができます。一般に、テキストを保持するオブジェクトです。値は @code{Left}, +@code{RIGHT}, @code{CENTER} です。代替手段として、@code{-1} から @code{+1} ま@c +での数値を指定することもできます。@code{-1} は左揃えであり、@code{+1} は右揃@c +え、その間の数値は左揃えから右揃えへのテキストを移動させます (訳者: @code{-0.5} +であれば、左揃えと中央揃えの中間ということ)。@code{1} よりも大きな数値を指定す@c +ることでテキストをさらに左へ、@code{-1} よりも小さな数値を指定することでテキス@c +トをさらに右へ移動させることができます。この値を @code{1} 増減することによる移@c +動量はそのテキストの長さの半分です。 + +@item +@code{extra-spacing-width} + +@cindex extra-spacing-width property + +このプロパティは @code{item-interface} をサポートするオブジェクトすべてで利用@c +可能です。このプロパティは 2 つの数値をとり、最初の数値はオブジェクトの左側に@c +余白を追加し、2 番目の数値はオブジェクトの右側に余白を追加します。負値はオブ@c +ジェクトの端を左に移動させ、正値は右に移動させます。そのため、オブジェクトを広@c +くするには、最初の数値を負値にして、2 番目の数値を正値にする必要があります。す@c +べてのオブジェクトが両方の数値を遵守するわけではないということに注意してくださ@c +い。例えば、@code{Accidental} オブジェクトは最初の数値 (左端) にしか注意を払い@c +ません。 + +@item +@code{staff-position} + +@cindex staff-position property + +@code{staff-position} は @code{staff-symbol-referencer-interface} のプロパティ@c +です。これは、譜表との相対関係で配置されるオブジェクトによってサポートされま@c +す。このプロパティはオブジェクトの垂直方向の位置を、譜表の中央にある譜表線から@c +譜表スペースの半分を単位として、指定します。このプロパティは複数小節に亘る休@c +符、タイ、異なるボイスの中にある音符といったレイアウト オブジェクトの衝突を解@c +決する場合に有用です。 + +@item +@code{force-hshift} + +@cindex force-hshift property + +和音の中で近接して配置された音符や異なるボイスの中にあって同時に起こる音符は、@c +音符の玉の衝突を避けるために、2 つ (場合によってはそれ以上) の列に配置されま@c +す。この列は音符列と呼ばれ、その列に音符をレイアウトするために @code{NoteColumn} +と呼ばれるオブジェクトが作成されます。 + +@code{force-hshift} プロパティは @code{NoteColumn} のプロパティです (実際には +@code{note-column-interface} のプロパティです)。このプロパティを変更することで@c +音符列を、音符列特有の単位 -- すなわち、最初のボイスの中にある音符の音符玉の幅 +-- に従って、移動させることができます。このプロパティは、通常の +@code{@bs{}shiftOn} コマンド (@ref{Explicitly instantiating voices} を参照して@c +ください) が音符の衝突を解決できないような複雑な状況で使用されるべきです。この@c +目的のためには、@code{extra-offset} プロパティを用いるよりも @code{force-hshift} +プロパティを用いる方が好ましいです。なぜなら、譜表スペースを単位とした距離を算@c +出する必要が無く、@code{NoteColumn} の内外に音符を移動させることは音符玉のマー@c +ジといった他のアクションに影響を与えるからです。 + +@end itemize + +@item +最後に、他の方法がすべて失敗した場合、オブジェクトを手動で譜表の中央線からの垂@c +直方向の相対位置に従って、あるいは新たに設定した位置との距離に従って、再配置す@c +ることになるかもしれません。この方法の欠点は、再配置のための正確な値を算出する@c +必要がある -- しばしば、その算出はそれぞれのオブジェクトに対して個々に、トライ@c +&エラーで行われます -- 必要があるということ、さらに、この方法による移動は +LilyPond が他のオブジェクトをすべて配置した後に行われるため、ユーザはその結果@c +として起こるかもしれない衝突をすべて回避する責任があるということです。しかし、@c +この方法の最大の問題点は、音楽が後で変更された場合に、再配置用の値を再び算出す@c +る必要があるということです。このタイプの手動再配置のために使用されるプロパティ@c +は以下のようなものです: + +@table @code +@item extra-offset + +@cindex extra-offset property + +このプロパティは @code{grob-interface} をサポートするレイアウト オブジェクトの@c +いずれかに適用されます。このプロパティはペアになった数値をとり、それぞれの数値@c +は水平方向と垂直方向の移動を指定します。負値はオブジェクトを左または下へ移動さ@c +せます。単位は譜表スペースです。この移動はオブジェクトの譜刻が完了した後に行わ@c +れるため、あるオブジェクトを、任意の位置へ、他のオブジェクトに影響を与えること@c +なく、再配置することができます。 + +@item positions + +@cindex positions property + +このプロパティは、ビーム、スラー、連符の傾きと高さを手動で調節するために最も有@c +用なプロパティです。このプロパティはペアになった数値をとり、それぞれの数値は@c +ビーム、スラーなどの左端と右端の位置を譜表の中央線との距離で指定します。単位は@c +譜表スペースです。けれども、スラーとフレージング スラーを任意の値で再配置する@c +ことはできないということに注意してください。LilyPond はまずスラーが取り得る位@c +置のリストを生成し、それからデフォルトでは @qq{最良に見える} スラーを探しま@c +す。@code{positions} がオーバライドされていた場合、そのリストの中からリクエス@c +トされた位置に最も近いスラーが選択されます。 +@end table + +@end enumerate + +あるオブジェクトがこれらのプロパティすべてを持っているわけではありません。内部@c +リファレンスに行き、そのオブジェクトではどのプロパティが利用可能なのかを調べる@c +必要があります。 + +@multitable @columnfractions .5 .5 +@headitem オブジェクト タイプ + @tab オブジェクト名 +@item アーティキュレーション (Articulation) + @tab @code{Script} +@item ビーム (Beam) + @tab @code{Beam} +@item 強弱記号 (Dynamic) (垂直方向) + @tab @code{DynamicLineSpanner} +@item 強弱記号 (Dynamic) (水平方向) + @tab @code{DynamicText} +@item 運指法記号 (Fingering) + @tab @code{Fingering} +@item リハーサル / テキスト記号 (Rehearsal / Text mark) + @tab @code{RehearsalMark} +@item スラー (Slur) + @tab @code{Slur} +@item テキスト -- つまり、@code{^"text"} (Text) + @tab @code{TextScript} +@item タイ (Tie) + @tab @code{Tie} +@item 連符 (Tuplet) + @tab @code{TupletBracket} +@end multitable @node Fixing overlapping notation @subsection Fixing overlapping notation -@untranslated - +今度は、前のセクションで扱ったプロパティが表記の重なりを解決する手助けをどのよ@c +うにできるかを見ていきましょう。 @subheading padding property + +@cindex padding +@cindex fixing overlapping notation +@cindex overlapping notation + +@code{padding} プロパティに値をセットすることによって、音符とその上または下に@c +譜刻される記号との間の距離を増減することができます。 + +@cindex Script, example of overriding +@cindex padding property, example + +@lilypond[quote,fragment,relative=1,verbatim] +c2\fermata +\override Script #'padding = #3 +b2\fermata +@end lilypond + +@cindex MetronomeMark, example of overriding +@cindex padding property, example + +@lilypond[quote,fragment,relative=1,verbatim] +% This will not work, see below: +\override MetronomeMark #'padding = #3 +\tempo 4=120 +c1 +% This works: +\override Score.MetronomeMark #'padding = #3 +\tempo 4=80 +d1 +@end lilypond + +2 番目の例では、ある特定のオブジェクトを扱うのはどのコンテキストなのかを突き止@c +めることが重要であるということに注意してください。@code{MetronomeMark} オブ@c +ジェクトは @code{Score} コンテキストの中で処理されるため、@code{Voice} コンテ@c +キストの中でのプロパティの変更は無視されます。更に詳細を知りたければ、@c +@ruser{Modifying properties} を参照してください。 + +@code{outside-staff-priority} に従って配置されているオブジェクトの並びの中のあ@c +るオブジェクトの @code{padding} プロパティが増やされた場合、そのオブジェクトと@c +それよりも外側にあるすべてオブジェクトが移動させられます。 + + @subheading left-padding and right-padding + +@cindex left-padding property +@cindex right-padding property + +@code{right-padding} プロパティは臨時記号とそれが適用される音符との間のスペー@c +スに影響を与えます。このプロパティを変更することは必ずしも必要ではありません@c +が、以下の例は変更を必要とする状況の 1 つを示しています。B ナチュラルと B フ@c +ラットの両方を保持する和音を譜刻したいとします。あいまいさ (あるいは多義: ここ@c +では B が B ナチュラルと B フラットの両方に解釈できるということ) を避けるため@c +に、音符の前にナチュラル記号とフラット記号の両方を置くことにします。以下に、そ@c +れを達成するための試みをいくつか挙げます: + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +<b bes> +<b! bes> +<b? bes> +@end lilypond + +どれもうまくいっていません。2 番目と 3 番目の (和) 音符では 2 つの記号が衝突し@c +ています。 + +これを達成するための方法の 1 つは、臨時記号のステンシルを、ナチュラル記号とフ@c +ラット記号を望んでいる並びで保持しているマークアップでオーバライドすることで@c +す。以下のように: + +@cindex Accidental, example of overriding +@cindex text property, example +@cindex stencil property, example +@cindex AccidentalPlacement, example of overriding +@cindex right-padding property, example + +@lilypond[quote,ragged-right,verbatim] +naturalplusflat = \markup { \natural \flat } +\relative c'' { + \once \override Accidental + #'stencil = #ly:text-interface::print + \once \override Accidental #'text = #naturalplusflat + \once \override Score.AccidentalPlacement #'right-padding = #1.5 + <b bes> +} +@end lilypond + +@noindent +これは必然的に臨時記号のステンシルをオーバライドすることになります。このオーバ@c +ライドについては後々までカバーされません。ステンシル タイプは手続きでなければならず、@c +ここでは @code{Accidental} の @code{text} プロパティの内容 -- フラット記号が後@c +に続くナチュラル記号 -- を譜刻するように変更されています。それらの記号は +@code{right-padding} のオーバライドによって音符の玉からさらに遠くへ移動させら@c +れています。 + +@noindent + @subheading staff-padding property + +@cindex aligning objects on a baseline +@cindex objects, aligning on a baseline + +@code{staff-padding} を使うことで、強弱記号などのオブジェクトを、それらが取り@c +付けられる音符の位置に依存した高さではなく、譜表上のある固定した高さのベースラ@c +インに揃えることができます。このプロパティは @code{DynamicText} のプロパティで@c +はなく、@code{DynamicSpanner} のプロパティです。この理由は、このベースラインは@c +延長スパナを含む@strong{すべて}の強弱起動に等しく適用されるべきだからです。そ@c +のため、これは以前のセクションでの例の中にある強弱記号を揃えるための方法になり@c +ます: + +@cindex DynamicText, example of overriding +@cindex extra-spacing-width property, example +@cindex DynamicLineSpanner, example of overriding +@cindex staff-padding property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +\dynamicUp +% Extend width by 1 unit +\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5) +% Align dynamics to a base line 2 units above staff +\override DynamicLineSpanner #'staff-padding = #2 +a4\f b\mf c\mp b\p +@end lilypond + + @subheading self-alignment-X property + +弦楽器の運指法記号オブジェクトと音符のステムとの衝突を、このプロパティが運指法@c +記号オブジェクトの右端を親の音符の参照ポイントに揃えることによって解決している@c +様子を以下の例は示しています: + +@cindex StringNumber, example of overriding +@cindex self-alignment-X property, example + +@lilypond[quote,fragment,ragged-right,verbatim,relative=3] +\voiceOne +< a \2 > +\once \override StringNumber #'self-alignment-X = #RIGHT +< a \2 > +@end lilypond + @subheading staff-position property + +@cindex object collision within a staff + +あるボイスの中にある複数小節に亘る休符は他のボイスの中にある音符と衝突する可能@c +性があります。このような休符は小節線と小節線の間の中央に譜刻されるため、LilyPond +がそれと衝突するかもしれない音符を突き止めるのは非常に困難です。なぜなら、現在@c +の音符間それに音符-休符間の衝突対応は、同時に起こる音符と休符に対してのみ行わ@c +れるからです。以下に、このタイプの衝突の例を挙げます: + +@lilypond[quote,verbatim,fragment,ragged-right, relative=1] +<< {c c c c} \\ {R1} >> +@end lilypond + +ここでの最良の解決策は、複数小節に亘る休符を下へ移動させることです。なぜなら、@c +その休符はボイス 2 の中にあるからです。@code{\voiceTwo} (すなわち、@c +@code{<<@{...@} \\ @{...@}>>} 構造の 2 番目のボイス) のデフォルト状態では、@c +@code{MultiMeasureRest} の @code{staff-position} は @code{-4} にセットされてい@c +ます。そのため、そのプロパティを、例えば半譜表スペース 4 つ分押し下げるには、@c +@code{-8} に変更する必要があります。 + +@cindex MultiMeasureRest, example of overriding +@cindex staff-position property, example + +@lilypond[quote,verbatim,fragment,ragged-right, relative=1] +<< + {c c c c} +\\ + \override MultiMeasureRest #'staff-position = #-8 + {R1} +>> +@end lilypond + +これは、例えば @code{extra-offset} を使うよりも良い解決方法です。なぜなら、そ@c +の休符の上に加線が自動的に挿入されるからです。 + @subheading extra-offset property + +@cindex positioning objects +@cindex positioning grobs +@cindex objects, positioning +@cindex grobs, positioning + +@code{extra-offset} プロパティは、あるオブジェクトの水平方向と垂直方向の配置を@c +完全に制御します。 + +以下の例では、2 番目の運指法記号が少し左に、そして 1.8 譜表スペース下に移動さ@c +せられています: + + +@cindex Fingering, example of overriding +@cindex extra-offset property, example + +@lilypond[quote,fragment,relative=1,verbatim] +\stemUp +f-5 +\once \override Fingering + #'extra-offset = #'(-0.3 . -1.8) +f-5 +@end lilypond + + @subheading positions property + +@cindex controlling tuplets, slurs, phrasing slurs, and beams manually +@cindex manually controlling tuplets, slurs, phrasing slurs, and beams +@cindex tuplet beams, controlling manually +@cindex slurs, controlling manually +@cindex phrasing slurs, controlling manually +@cindex beams, controlling manually + +@code{positions} プロパティは連符、スラー、フレージング スラー、ビームの位置と@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\) +@end lilypond + +@noindent +しかし、何らかの理由でそうすることができない場合、それに代わる解決策は、@c +@code{positions} プロパティを使ってフレージング スラーの左端を少し下げることで@c +す。この方法でも見栄えの悪さを解決できます。 + +@cindex PhrasingSlur, example of overriding +@cindex positions property, example + +@lilypond[quote,verbatim,fragment,ragged-right,relative=1] +r4 +\once \override PhrasingSlur #'positions = #'(-4 . -3) +\acciaccatura +e8\( d8 c ~c d c d\) +@end lilypond + +さらに、Chopin の 前奏曲 Op 28 No. 2 の左手の譜の開始部分から取った例を挙げま@c +す。ビームが上部にある音符と衝突しています: + +@lilypond[quote,verbatim,fragment,ragged-right] +{ +\clef "bass" +<< {b,8 ais, b, g,} \\ {e, g e, g} >> +<< {b,8 ais, b, g,} \\ {e, g e, g} >> +} +@end lilypond + +@noindent +これは、譜表の中央線から 2 譜表スペース上の位置にあるビームの両端を、例えば、3 +に手動で上げることによって解決することができます: + +@cindex Beam, example of overriding +@cindex positions property, example + +@lilypond[quote,verbatim,fragment,ragged-right] +{ + \clef "bass" + << + \override Beam #'positions = #'(3 . 3) + {b,8 ais, b, g,} + \\ + {e, g e, g} + >> + << {b,8 ais, b, g,} \\ {e, g e, g} >> +} +@end lilypond + +@noindent +オーバライドの効果は継続して 2 番目のブロックのボイス 1 にも適用されています@c +が、ボイス 2 のビームにはまったく適用されていないということに注意してください。 + @subheading force-hshift property + +@c FIXME: formatting stuff (ie not important right now IMO) +@c @a nchor Chopin finally corrected TODOgp + +今や、@ref{I'm hearing Voices} の最後で挙げた Chopin の例にどのように修正を加@c +えるべきかを知っています。この例は以下のような状態でした: + +@lilypond[quote,verbatim,fragment,ragged-right] +\new Staff \relative c'' { + \key aes \major + << + { c2 aes4. bes8 } \\ + { aes2 f4 fes } \\ + { \voiceFour + <ees c>2 + des2 + } + >> | + <c ees aes c>1 | +} +@end lilypond + +@noindent +最初の和音の下の方にある 2 つの音符 (つまり、3 番目のボイス (ボイス 4) の音符) +を上の方にある 2 つの音符の音符列からずらすべきではありません。これを修正する@c +には、下の音符の @code{force-hshift} -- これは @code{NoteColumn} のプロパティ@c +です -- を 0 にセットします。2 番目の和音の下の方の音符は、上の方の音符のすぐ@c +右に置くのが最良です。そうするには、この音符の @code{force-hshift} を 0.5 に@c +セットします -- つまり、上の方の音符の音符列から音符玉の幅の半分だけ右にずらし@c +ます。 + +ここで、最終結果を挙げます: + +@cindex NoteColumn, example of overriding +@cindex force-hshift property, example + +@lilypond[quote,verbatim,fragment,ragged-right] +\new Staff \relative c'' { + \key aes \major + << + { c2 aes4. bes8 } \\ + { aes2 f4 fes } \\ + { \voiceFour + \once \override NoteColumn #'force-hshift = #0 <ees c>2 + \once \override NoteColumn #'force-hshift = #0.5 des2 + } + >> | + <c ees aes c>1 | +} +@end lilypond + + @node Real music example @subsection Real music example -@untranslated +調整についてのセクションを、望みの出力を作り出すためにいくつかの調整を必要とす@c +るトリッキーな例を処理するときにとられるステップを示すことで締めくくります。こ@c +の例は、表記についての普通ではない問題を解決するための表記リファレンスの使い方@c +を示すために慎重に選ばれたものです。この例は一般的な譜刻プロセスを代表するもの@c +ではありません。ですから、この例の複雑さでやる気を失わないでください!幸いなこ@c +とに、このように複雑な問題は非常に稀です! + +この例は Chopin の Première Ballade, Op. 23 の第 6 - 9 小節からとりました。序@c +盤の Lento から Moderato へと移調する部分です。まず最初に望んでいる出力挙げま@c +すが、例があまりにも複雑になり過ぎないように強弱記号、運指法記号、ペダル記号は@c +省きました。 + +@c The following should appear as music without code +@c This example should not be indexed +@lilypond[quote,ragged-right] +rhMusic = \relative c'' { + r2 + c4.\( g8 | + \once \override Tie #'staff-position = #3.5 + bes1~ | + \bar "||" + \time 6/4 + \mergeDifferentlyHeadedOn + \mergeDifferentlyDottedOn + bes2.^\markup {\bold "Moderato"} r8 + << + {c,8[ d fis bes a] | } + \\ + % Reposition the c2 to the right of the merged note + {c,8~ \once \override NoteColumn #'force-hshift = #1.0 + % Move the c2 out of the main note column so the merge will work + \shiftOnn c2} + \\ + % Stem on the d2 must be down to permit merging + {s8 \stemDown \once \override Stem #'transparent = ##t d2} + \\ + {s4 fis4.} + >> + \mergeDifferentlyHeadedOff + \mergeDifferentlyDottedOff + g2.\) +} + +lhMusic = \relative c' { + r2 <c g ees>2( | + <d g, d>1)\arpeggio | + r2. d,,4 r4 r | + r4 +} + +\score { + \new PianoStaff << + \new Staff = "RH" << + \key g \minor + \rhMusic + >> + \new Staff = "LH" << + \key g \minor + \clef "bass" + \lhMusic + >> + >> +} +@end lilypond + +まず、第 3 小節の右手パートには 4 つのボイスが必要であることに注目します。それ@c +ぞれのボイスは、ビームでつながれた 5 つの 8 分音符、タイで結ばれた C、半音符の D +-- これは 8 分音符の D とマージされています、付点 4 分音符の F シャープ -- こ@c +れも同じ音高の 8 分音符とマージされています -- です。他の部分はすべて単一のボ@c +イスなので、最も容易な方法は 4 つのボイスを必要になったときに一時的に導入する@c +方法です。一時的に多声にする方法を忘れてしまったのならば、@ref{I'm hearing +Voices} を見てください。音符を 2 つの変数として入力し、譜表構造を @code{Score} +ブロックの中でセットアップすることから始めて、それで LilyPond がデフォルトでど@c +のような出力を作り出すのか見てみましょう: + +@lilypond[quote,verbatim,ragged-right] +rhMusic = \relative c'' { + r2 c4. g8 | + bes1~ | + \time 6/4 + bes2. r8 + % Start polyphonic section of four voices + << + {c,8 d fis bes a | } + \\ + {c,8~ c2 | } + \\ + {s8 d2 | } + \\ + {s4 fis4. | } + >> + g2. +} + +lhMusic = \relative c' { + r2 <c g ees>2 | + <d g, d>1 | + r2. d,,4 r4 r | + r4 +} + +\score { + \new PianoStaff << + \new Staff = "RH" << + \key g \minor + \rhMusic + >> + \new Staff = "LH" << + \key g \minor + \clef "bass" + \lhMusic + >> + >> +} +@end lilypond + +すべての音符は間違っていません。しかしながら、見た目は満足とは程遠いものです。@c +タイは移調する拍子記号と衝突していて、第 3 小節のビームの付け方は間違ってい@c +て、音符はマージされておらず、いくつかの表記要素は欠けています。簡単なものから@c +片付けていきましょう。ビームの付け方は手動でビームを挿入することで修正でき、左@c +手パートのスラーと右手パートのフレージング スラーは簡単に追加できます -- なぜ@c +なら、これらはすべてチュートリアルでカバーされているからです。これらの修正を加@c +えると、以下のようになります: + +@lilypond[quote,verbatim,ragged-right] +rhMusic = \relative c'' { + r2 c4.\( g8 | + bes1~ | + \time 6/4 + bes2. r8 + % Start polyphonic section of four voices + << + {c,8[ d fis bes a] | } + \\ + {c,8~ c2 | } + \\ + {s8 d2 | } + \\ + {s4 fis4. | } + >> + g2.\) +} + +lhMusic = \relative c' { + r2 <c g ees>2( | + <d g, d>1) | + r2. d,,4 r4 r | + r4 +} + +\score { + \new PianoStaff << + \new Staff = "RH" << + \key g \minor + \rhMusic + >> + \new Staff = "LH" << + \key g \minor + \clef "bass" + \lhMusic + >> + >> +} +@end lilypond + +第 1 小節は正しくなりました。第 2 小節にはアルペジオが含まれていて、2 重の小節@c +線で終わります。この学習マニュアルではこれらのことは言及されてこなかったのに、@c +どうやってやればいいのでしょうか?ここで、表記リファレンスに移行する必要があり@c +ます。索引で @q{arpeggio} と @q{bar line} を探せばすぐに、アルペジオは +@code{@bs{}arpeggio} を和音の後に付け加えることによって作り出され、2 重小節線は +@code{@bs{}bar "||"} コマンドによって作り出されることがわかります。それは簡単@c +にできます。次に、タイと拍子記号の衝突を修正する必要があります。これはタイを上@c +に移動させる方法が最善です。オブジェクトの移動については以前に @ref{Moving +objects} でカバーしました。そこでは、譜表との相対位置で配置されるオブジェクト@c +は、そのオブジェクトの @code{staff-position} プロパティをオーバライドすること@c +によって、移動させることができると述べられています。このプロパティは譜表スペー@c +スの半分を単位として、譜表の中央線からの距離で指定されます。ですから、以下の以@c +下のオーバライドをタイで結ばれる最初の音符の前に置けば、タイは中央線から 3.5 +半譜表スペースだけ上の位置に移動させられます: + +@code{\once \override Tie #'staff-position = #3.5} + +これで第 2 小節の修正も完了で、以下のようになります: + +@lilypond[quote,verbatim,ragged-right] +rhMusic = \relative c'' { + r2 c4.\( g8 | + \once \override Tie #'staff-position = #3.5 + bes1~ | + \bar "||" + \time 6/4 + bes2. r8 + % Start polyphonic section of four voices + << + {c,8[ d fis bes a] | } + \\ + {c,8~ c2 | } + \\ + {s8 d2 | } + \\ + {s4 fis4. | } + >> + g2.\) +} + +lhMusic = \relative c' { + r2 <c g ees>2( | + <d g, d>1)\arpeggio | + r2. d,,4 r4 r | + r4 +} + +\score { + \new PianoStaff << + \new Staff = "RH" << + \key g \minor + \rhMusic + >> + \new Staff = "LH" << + \key g \minor + \clef "bass" + \lhMusic + >> + >> +} +@end lilypond + +第 3 小節 -- Moderato セクションの開始部分 -- に取り掛かります。チュートリアルで +@code{@bs{}markup} コマンドを使ってボールド体のテキストを付け加える方法を示し@c +ましたので、@q{Moderato} をボールド体で付け加えることは容易です。しかし、異な@c +るボイスの中にある音符をマージするにはどうするのでしょうか?ここで、助けを求め@c +て表記リファレンスに移行する必要があります。表記リファレンスで @qq{merge} を探@c +せばすぐに、@ruser{Collision resolution} で玉や付点の付き方が異なる音符をマー@c +ジするためのコマンドにたどり着きます。今回の例では、多声部セクションで両方のタ@c +イプの音符をマージする (異なる玉を持つ音符のマージと、付点の付き方が異なる音符@c +のマージ) 必要があるので、表記リファレンスで見つけた情報を使って、以下のコマン@c +ド: + +@example +\mergeDifferentlyHeadedOn +\mergeDifferentlyDottedOn +@end example + +@noindent +を多声部セクションの開始点に置き、以下のコマンド: + +@example +\mergeDifferentlyHeadedOff +\mergeDifferentlyDottedOff +@end example + +@noindent +をセクションの終了点に置きます。これで、例は以下のようになります: + +@lilypond[quote,verbatim,ragged-right] +rhMusic = \relative c'' { + r2 c4.\( g8 | + \once \override Tie #'staff-position = #3.5 + bes1~ | + \bar "||" + \time 6/4 + bes2.^\markup {\bold "Moderato"} r8 + \mergeDifferentlyHeadedOn + \mergeDifferentlyDottedOn + % Start polyphonic section of four voices + << + {c,8[ d fis bes a] | } + \\ + {c,8~ c2 | } + \\ + {s8 d2 | } + \\ + {s4 fis4. | } + >> + \mergeDifferentlyHeadedOff + \mergeDifferentlyDottedOff + g2.\) +} + +lhMusic = \relative c' { + r2 <c g ees>2( | + <d g, d>1)\arpeggio | + r2. d,,4 r4 r | + r4 +} + +\score { + \new PianoStaff << + \new Staff = "RH" << + \key g \minor + \rhMusic + >> + \new Staff = "LH" << + \key g \minor + \clef "bass" + \lhMusic + >> + >> +} +@end lilypond + +オーバライドは 2 つの F シャープの音符をマージしましたが、2 つの D をマージし@c +ませんでした。なぜマージしなかったのでしょうか?その答えは表記リファレンスの同@c +じセクションにあります -- マージされる音符は反対向きのステムを持っていなくては@c +ならず、同じ音符列に 3 つ目の音符がある場合は 2 つの音符をマージさせることはで@c +きません。今回の例では、2 つの D は両方とも上向きのステムを持っていて、3 つ目@c +の音符 -- C -- が存在します。我々は @code{@bs{}stemDown} を用いてステムの向き@c +を変更する方法を知っていて、表記リファレンスも C を移動させる方法について述べ@c +ています -- @code{@bs{}shift} コマンドの 1 つを用いてシフトを行います。しか@c +し、どのシフトを行えばよいのでしょうか?C はシフト off のボイス 2 の中にあり、2 +つの D はボイス 1 とボイス 3 -- それぞれ、シフト off とシフト on -- の中にあり@c +ます。ですから、C が 2 つの D と衝突するのを避けるために、@code{@bs{}shiftOnn} +を用いて C を更にシフトさせる必要があります。これらの変更を加えると、以下のよ@c +うになります: + +@cindex Tie, example of overriding +@cindex staff-position property, example + +@lilypond[quote,verbatim,ragged-right] +rhMusic = \relative c'' { + r2 c4.\( g8 | + \once \override Tie #'staff-position = #3.5 + bes1~ | + \bar "||" + \time 6/4 + bes2.^\markup {\bold "Moderato"} r8 + \mergeDifferentlyHeadedOn + \mergeDifferentlyDottedOn + % Start polyphonic section of four voices + << + {c,8[ d fis bes a] | } + \\ + % Move the c2 out of the main note column so the merge will work + {c,8~ \shiftOnn c2 | } + \\ + % Stem on the d2 must be down to permit merging + {s8 \stemDown d2 | } + \\ + {s4 fis4. | } + >> + \mergeDifferentlyHeadedOff + \mergeDifferentlyDottedOff + g2.\) +} + +lhMusic = \relative c' { + r2 <c g ees>2( | + <d g, d>1)\arpeggio | + r2. d,,4 r4 r | + r4 +} + +\score { + \new PianoStaff << + \new Staff = "RH" << + \key g \minor + \rhMusic + >> + \new Staff = "LH" << + \key g \minor + \clef "bass" + \lhMusic + >> + >> +} +@end lilypond + +もうちょっとです。残っている問題は 2 つだけです: マージされた D の下向きのステ@c +ムはあるべきではなく、C は D の右側に配置した方が良いということです。以前に@c +行った調整からこれらを行う方法を両方とも知っています: ステムを透明にして、@c +@code{force-hshift} プロパティを用いて C を移動させます。ここで、最終結果を示@c +します: + +@cindex NoteColumn, example of overriding +@cindex force-hshift property, example +@cindex Stem, example of overriding +@cindex transparent property, example + +@lilypond[quote,verbatim,ragged-right] +rhMusic = \relative c'' { + r2 + c4.\( g8 | + \once \override Tie #'staff-position = #3.5 + bes1~ | + \bar "||" + \time 6/4 + bes2.^\markup {\bold "Moderato"} r8 + \mergeDifferentlyHeadedOn + \mergeDifferentlyDottedOn + << + {c,8[ d fis bes a] | } + \\ + % Reposition the c2 to the right of the merged note + {c,8~ \once \override NoteColumn #'force-hshift = #1.0 + % Move the c2 out of the main note column so the merge will work + \shiftOnn c2} + \\ + % Stem on the d2 must be down to permit merging + {s8 \stemDown \once \override Stem #'transparent = ##t d2} + \\ + {s4 fis4.} + >> + \mergeDifferentlyHeadedOff + \mergeDifferentlyDottedOff + g2.\) +} + +lhMusic = \relative c' { + r2 <c g ees>2( | + <d g, d>1)\arpeggio | + r2. d,,4 r4 r | + r4 +} + +\score { + \new PianoStaff << + \new Staff = "RH" << + \key g \minor + \rhMusic + >> + \new Staff = "LH" << + \key g \minor + \clef "bass" + \lhMusic + >> + >> +} +@end lilypond @node Further tweaking @section Further tweaking -@untranslated - @menu * Other uses for tweaks:: @@ -217,34 +3205,405 @@ @node Other uses for tweaks @subsection Other uses for tweaks -@untranslated - +@cindex transparent property, use of +@cindex objects, making invisible +@cindex removing objects +@cindex objects, removing +@cindex hiding objects +@cindex objects, hiding +@cindex invisible objects +@cindex objects, invisible +@cindex tying notes across voices @subheading Tying notes across voices + +以下の例は異なるボイスの中にある音符をタイで結ぶ方法を示しています。通常、タイ@c +で結べるのは同じボイスの中にある 2 つ音符だけです。2 つのボイスを使い、そのう@c +ちの 1 つにタイで結んだ音符を置きます: + +@lilypond[quote,fragment,relative=2] +<< { b8~ b8\noBeam } +\\ { b[ g8] } +>> +@end lilypond + +@noindent +そして、そのボイスの最初の上向きステムを消します。これで、タイはボイスをまた@c +がっているように見えます: + +@cindex Stem, example of overriding +@cindex transparent property, example + +@lilypond[quote,fragment,relative=2,verbatim] +<< + { + \once \override Stem #'transparent = ##t + b8~ b8\noBeam + } +\\ + { b[ g8] } +>> +@end lilypond + +ステムは表示されなくなっただけなので、タイの長さが十分ではありません。ステムの +@code{length} を @code{8} にセットすることでステムを伸ばすことができます: + +@lilypond[quote,fragment,relative=2,verbatim] +<< + { + \once \override Stem #'transparent = ##t + \once \override Stem #'length = #8 + b8~ b8\noBeam + } +\\ + { b[ g8] } +>> +@end lilypond + @subheading Simulating a fermata in MIDI + +@cindex stencil property, use of +@cindex fermata, implementing in MIDI + +譜表外部オブジェクトを出力から削除しようとする場合、そのオブジェクトの +@code{transparent} プロパティではなく @code{stencil} プロパティをオーバライド@c +する方が通常は望ましいです。あるオブジェクトの @code{stencil} プロパティを +@code{@hash{}f} にセットすると、そのオブジェクトは出力から完全に削除されます。@c +このことは、削除されたオブジェクトがそのオブジェクトとの相対位置で配置される他@c +のオブジェクトの配置にまったく影響を及ぼさないということを意味します。 + +例えば、MIDI 出力でフェルマータをシミュレートするためにメトロノーム設定を変更@c +したいとします。その場合、メトロノーム記号を出力に表示させたくありません。そし@c +て、それが 2 つのシステム (小節とその中にある表記) 間のスペースと、譜表上にあ@c +る隣接する注釈の位置に影響を与えることを望みません。そのため、そのメトロノーム@c +記号の @code{stencil} プロパティを @code{@hash{}f} にセットする方法が最良で@c +す。ここで、2 つの手法の結果を示します: + +@cindex MetronomeMark, example of overriding +@cindex transparent property, example + +@lilypond[quote,verbatim,ragged-right] +\score { + \relative c'' { + % Visible tempo marking + \tempo 4=120 + a4 a a + \once \override Score.MetronomeMark #'transparent = ##t + % Invisible tempo marking to lengthen fermata in MIDI + \tempo 4=80 + a\fermata + % New tempo for next section + \tempo 4=100 + a a a a + } + \layout { } + \midi { } +} +@end lilypond + +@cindex MetronomeMark, example of overriding +@cindex stencil property, example + +@lilypond[quote,verbatim,ragged-right] +\score { + \relative c'' { + % Visible tempo marking + \tempo 4=120 + a4 a a + \once \override Score.MetronomeMark #'stencil = ##f + % Invisible tempo marking to lengthen fermata in MIDI + \tempo 4=80 + a\fermata + % New tempo for next section + \tempo 4=100 + a a a a + } + \layout { } + \midi { } +} +@end lilypond + +@noindent +両方の手段とも、フェルマータ部分の演奏時間を伸ばすメトロノーム記号を出力から削@c +除していて、両方とも MIDI の演奏に必要な効果を与えています。しかし、1 番目の例@c +の透明なメトロノーム記号がそれに続く拍子指示を上に押し上げているのに対して、2 +番目のメトロノーム記号 (ステンシルが削除されたもの) は押し上げていません。 + + @node Using variables for tweaks @subsection Using variables for tweaks -@untranslated +@cindex variables, using for tweaks +@cindex using variables for tweaks +@cindex tweaks, using variables for + +オーバライド コマンドはしばしば長く、入力するのが大変なものになります。そし@c +て、それらは完全に正しく記述されなければなりません。同じオーバライドが何度も使@c +用される場合、それらを保持する変数を定義すると非常に役に立ちます。 + +歌詞の中のある特定の単語をボールド イタリック体で譜刻することによって、それら@c +を強調したいと仮定します。@c +歌詞の中では、@code{@bs{}italic} と @code{@bs{}bold} は (書式を) 変更したい単@c +語や文と一緒に @code{@bs{}markup} ブロックの中に入れた場合にのみ機能しますが、@c +それを毎回入力するのは大変です。@c +埋め込む必要のある単語自体が、2 つのコマンドを簡単な変数を用いて使うことを妨げ@c +ます。代替手段として、@code{@bs{}override} コマンドと @code{@bs{}revert} コマ@c +ンドを使うことはできないでしょうか? + +@example +@code{\override Lyrics . LyricText #'font-shape = #'italic} +@code{\override Lyrics . LyricText #'font-series = #'bold} + +@code{\revert Lyrics . LyricText #'font-shape} +@code{\revert Lyrics . LyricText #'font-series} +@end example + +これらも、強調する必要のある単語がたくさんある場合、入力するのが非常に大変で@c +す。しかしながら、これらは 2 つの変数として定義することが@emph{でき}、それらの@c +変数で単語を囲むことによって使ってその単語を強調することが@emph{できます}。こ@c +れらのオーバライドに変数を用いることのもう 1 つの利点は、ドットの両側にスペー@c +スを置く必要が無いことです。なぜなら、これらのオーバライドは +@code{@bs{}lyricmode} の中で直接解釈されるわけではないからです。ここで変数を用@c +いる例を挙げますが、実際には早く打ち込めるようにもっと短い変数名を使用します: + +@cindex LyricText, example of overriding +@cindex font-shape property, example +@cindex font-series property, example + +@lilypond[quote,verbatim] +emphasize = { + \override Lyrics.LyricText #'font-shape = #'italic + \override Lyrics.LyricText #'font-series = #'bold +} +normal = { + \revert Lyrics.LyricText #'font-shape + \revert Lyrics.LyricText #'font-series +} + +global = { \time 4/4 \partial 4 \key c \major} +SopranoMusic = \relative c' { c4 | e4. e8 g4 g | a a g } +AltoMusic = \relative c' { c4 | c4. c8 e4 e | f f e } +TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 } +BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 } +VerseOne = \lyrics { E -- | ter -- nal \emphasize Fa -- ther, \normal | strong to save, } +VerseTwo = \lyricmode { O | \emphasize Christ, \normal whose voice the | wa -- ters heard, } +VerseThree = \lyricmode { O | \emphasize Ho -- ly Spi -- rit, \normal | who didst brood } +VerseFour = \lyricmode { O | \emphasize Tri -- ni -- ty \normal of | love and pow'r } + +\score { + \new ChoirStaff << + \new Staff << + \clef "treble" + \new Voice = "Soprano" { \voiceOne \global \SopranoMusic } + \new Voice = "Alto" { \voiceTwo \AltoMusic } + \new Lyrics \lyricsto "Soprano" { \VerseOne } + \new Lyrics \lyricsto "Soprano" { \VerseTwo } + \new Lyrics \lyricsto "Soprano" { \VerseThree } + \new Lyrics \lyricsto "Soprano" { \VerseFour } + >> + \new Staff << + \clef "bass" + \new Voice = "Tenor" { \voiceOne \TenorMusic } + \new Voice = "Bass" { \voiceTwo \BassMusic } + >> + >> +} +@end lilypond @node Other sources of information @subsection Other sources of information -@untranslated +内部リファレンスは LilyPond についての多くの情報を持っていますが、LilyPond の@c +内部ファイルを調べることによってさらに多くの情報を収集することができます。内部@c +ファイルを探究するには、まずあなたの使っているシステム特有のディレクトリを見つ@c +け出す必要があります。このディレクトリの場所は、(a) あなたが lilypond.org から@c +コンパイル済みのバイナリをダウンロードすることによって LilyPond を手に入れたの@c +か、それとも、パッケージ マネージャから LilyPond をインストールした (つまり、@c +Linux と一緒に配布されたか、fink や cygwin でインストールされた) のか、(b) +LilyPond はどの OS 上で使用されているのか、に依存します: + +@strong{lilypond.org からダウンロードした} + +@itemize @bullet +@item Linux + +@file{@var{INSTALLDIR}/lilypond/usr/share/lilypond/current/} に進んでください + +@item MacOS X + +@file{@var{INSTALLDIR}/LilyPond.app/Contents/Resources/share/lilypond/current/} +に進んでください。ターミナルからこのディレクトリへ @code{cd} で移動するか、@c +LilyPond アプリケーション上でコントロール クリックして @q{Show Package Contents} +を選択します。 + +@item Windows + +@file{@var{INSTALLDIR}/LilyPond/usr/share/lilypond/current/} に進んでくださ@c +い。Windows Explorer を使います。 + + +@end itemize + +@strong{パッケージ マネージャからインストールした、あるいは、ソースからコンパ@c +イルした} + +@file{@var{PREFIX}/share/lilypond/@var{X.Y.Z}/} に進んでください。@var{PREFIX} +はパッケージ マネージャか @code{configure} スクリプトによってセットされるもの@c +であり、@var{X.Y.Z} は LilyPond のバージョン番号です。 + +@smallspace + +このディレクトリの中に 2 つの興味深いサブディレクトリがあります: + +@itemize +@item @file{ly/} - LilyPond フォーマットに関するファイルを保持しています +@item @file{scm/} -Scheme フォーマットに関するファイルを保持しています +@end itemize + +@file{ly/} の中にあるファイルから見ていきましょう。@file{ly/property-init.ly} +をテキスト エディタで開いてください。@c +エディタはあなたが普段 @code{.ly} ファイルを編集するために使っているもので結構です。@c +このファイルは標準の LilyPond 定義済みコマンド -- @code{@bs{}stemUp} や +@code{@bs{}slurDotted} など -- のすべての定義を保持しています。1 つまたは複数の +@code{@bs{}override} コマンドを保持している変数の定義以外のものはないというこ@c +とがわかるでしょう。例えば、@code{@bs{}tieDotted} は以下のように定義されていま@c +す: + +@example +tieDotted = @{ + \override Tie #'dash-period = #0.75 + \override Tie #'dash-fraction = #0.1 +@} +@end example + +あなたがこれらのデフォルト値を好まない場合、これらの定義済みコマンドを容易に再@c +定義することができます -- 他の変数と同様に、入力ファイルの先頭で定義します。 + +以下のファイルは @file{ly/} で見つかる有用なファイルです: + +@multitable @columnfractions .4 .6 +@headitem ファイル名 + @tab 内容 +@item @file{ly/engraver-init.ly} + @tab エングラーバ コンテキストの定義 +@item @file{ly/paper-defaults-init.ly} + @tab 紙面関係のデフォルトの仕様 +@item @file{ly/performer-init.ly} + @tab パフォーマ コンテキストの定義 +@item @file{ly/property-init.ly} + @tab すべての共通定義済みコマンドの定義 +@item @file{ly/spanner-init.ly} + @tab スパナ関係の定義済みコマンドの定義 +@end multitable + +他の設定 (マークアップ コマンドの定義など) は @code{.scm} (Scheme) ファイルと@c +して保存されています。Scheme プログラミング言語は、LilyPond 内部処理へのプログ@c +ラム可能なインタフェイスを提供するために使用されます。これらのファイルについて@c +の詳しい説明は、Scheme 言語についての知識が必要となるため、このマニュアルの範@c +囲外です。Scheme 言語とこれらのファイルを理解するには、十分な知識や時間が必要@c +であるということを知っておくべきです (@ref{Scheme tutorial} を参照してくださ@c +い)。 + +あなたがこの知識を持っているのなら、興味を持つかもしれない Scheme ファイルは以@c +下のものです: + +@multitable @columnfractions .4 .6 +@headitem ファイル名 + @tab 内容 +@item @file{scm/auto-beam.scm} + @tab サブ ビームのデフォルト (訳者: 8 分音符にはビームだけが使用され、16 分@c +音符やそれよりも短い音符にはビームとサブ ビームが使われるのだと思います) +@item @file{scm/define-grobs.scm} + @tab Grob (グラフィカル オブジェクト) プロパティのデフォルト設定 +@item @file{scm/define-markup-commands.scm} + @tab すべてのマークアップ コマンドの仕様 +@item @file{scm/midi.scm} + @tab MIDI 出力のデフォルト設定 +@item @file{scm/output-lib.scm} + @tab フレット、色、臨時記号、小節線などの見た目に影響を与える設定 +@item @file{scm/parser-clef.scm} + @tab サポートされる音部記号の定義 +@item @file{scm/script.scm} + @tab アーティキュレーションのデフォルト設定 +@end multitable @node Avoiding tweaks with slower processing @subsection Avoiding tweaks with slower processing -@untranslated +LilyPond は入力ファイルの処理中に追加のチェックを行うことができます。これらの@c +チェックは実行時間を伸ばしますが、適切な結果を得るのに必要とされる手動調整を減@c +らすかもしれません。テキストや歌詞の一部が余白まではみ出す場合、これらのチェッ@c +クは楽譜のその行を縮めてマージンの内側に収まるようにします。 + +すべての状況下で有効にするには、以下のように、音楽の中の行ではなく @code{Score} +の @code{@bs{}with} ブロックの中にこれらのチェックのオーバライドを置くことに@c +よって、動作可能な状態にする必要があります: + +@example +\new Score \with @{ + % Makes sure text scripts and lyrics are within the paper margins + \override PaperColumn #'keep-inside-line = ##t + \override NonMusicalPaperColumn #'keep-inside-line = ##t +@} @{ + .. +@} +@end example @node Advanced tweaks with Scheme @subsection Advanced tweaks with Scheme -@untranslated - +@code{@bs{}override} と @code{@bs{}tweak} コマンドを用いることで多くのことが可@c +能になりますが、LilyPond のアクションを変更するもっと強力な手段が LilyPond 内@c +部処理へのプログラム可能なインタフェイスを通じて利用可能です。Scheme プログラ@c +ミング言語で書かれたコードは LilyPond の内部処理に直接組み込むことができます。@c +もちろん、それを行うには Scheme プログラミングについての基礎知識が必要であり、@c +その手引きが @ref{Scheme tutorial} で提供されています。 + +多くの実現可能なことの 1 つの例としては、プロパティに定数をセットする代わりに +Scheme プロシージャをセットすることができます。このプロパティが LilyPond に@c +よってアクセスされたときに、このプロシージャが呼び出されます。このプロシージャ@c +が呼び出されたときに、このプロシージャによって決定された値を動的にそのプロパ@c +ティにセットすることができます。以下の例では、音符玉にその音符の譜表上での位置@c +に従って色を付けています: + +@cindex x11-color function, example of using +@cindex NoteHead, example of overriding +@cindex color property, setting to Scheme procedure + +@lilypond[quote,verbatim,ragged-right] +#(define (color-notehead grob) + "Color the notehead according to its position on the staff." + (let ((mod-position (modulo (ly:grob-property grob 'staff-position) 7))) + (case mod-position + ;; Return rainbow colors + ((1) (x11-color 'red )) ; for C + ((2) (x11-color 'orange )) ; for D + ((3) (x11-color 'yellow )) ; for E + ((4) (x11-color 'green )) ; for F + ((5) (x11-color 'blue )) ; for G + ((6) (x11-color 'purple )) ; for A + ((0) (x11-color 'violet )) ; for B + ) + ) +) + +\relative c' { + % Arrange to obtain color from color-notehead procedure + \override NoteHead #'color = #color-notehead + c2 c' | + b4 g8 a b4 c | + c,2 a' | + g1 | +} +\addlyrics { + Some -- where o -- ver the Rain -- bow, way up high, +} +@end lilypond + +@ref{Tweaking with Scheme} に、これらのプログラム可能なインタフェイスの使い方@c +を示している例がもっとあります。 -@c -- SKELETON FILE -- diff --git a/Documentation/ja/user/working.itely b/Documentation/ja/user/working.itely index ab84ef3883..8287810cb7 100644 --- a/Documentation/ja/user/working.itely +++ b/Documentation/ja/user/working.itely @@ -7,11 +7,19 @@ version that you are working on. See TRANSLATION for details. @end ignore +@c \version "2.12.0" + + +@c Translators: Yoshiki Sawada +@c Translation status: post-GDP + @node Working on LilyPond projects @chapter Working on LilyPond projects -@untranslated +このセクションでは一般的な問題のいくつかを解決または回避する方法について説明し@c +ます。あなたにプログラミングの経験があるのなら、ここで取り上げる TIPS の多くは@c +当たり前のことに見えるかもしれませんが、それでも本章を読むことをお勧めします。 @menu @@ -20,11 +28,34 @@ * Scores and parts:: @end menu + @node Suggestions for writing LilyPond input files @section Suggestions for writing LilyPond input files -@untranslated +今やあなたはもっと大きな LilyPond 入力ファイル -- チュートリアルにあるような小@c +さな例ではなく、楽曲全体 -- を書き始める準備が整っています。しかしながら、どの@c +ように書き進めていくべきなのでしょうか? +LilyPond があなたの入力ファイルを理解でき、望みの出力を作り出している限り、あ@c +なたの入力ファイルがどのようなものであるかは問題になりません。しかしながら、@c +LilyPond 入力ファイルを書いているときに考慮すべきことが他にもいくつかあります。 + +@itemize +@item あなたがミスをしたとしたらどうでしょうか?LilyPond ファイルの構造はエ@c +ラーを見つけ出すことをより容易に (あるいはより困難に) します。 + +@item あなたがあなたの入力ファイルを誰か他の人と共有したいとしたらどうでしょう@c +か?実際には、あなたが数年前のあなた自身の入力ファイルを変更したいとしたらどう@c +でしょうか?一読して理解可能な LilyPond 入力ファイルがある一方で、あなたを 1 +時間も悩ます入力ファイルもあるかもしれません。 + +@item あなたがあなたの LilyPond ファイルを最近のバージョンの LilyPond のために@c +アップグレードしたいとしたらどうでしょうか?入力構文は LilyPond の改良に合わせ@c +てしばしば変更されます。たいていの変更は @code{convert-ly} で自動的に変換でき@c +ますが、いくつかの変更は手動での援助を必要とするかもしれません。LilyPond 入力@c +ファイルはより容易に (あるいはより困難に) アップグレードできるように構成するこ@c +とができます。 +@end itemize @menu * General suggestions:: @@ -34,42 +65,476 @@ * Style sheets:: @end menu + @node General suggestions @subsection General suggestions -@untranslated +ここで、あなたが問題を回避したり修正する手助けになる可能性がある提案をいくつか@c +挙げます: + +@itemize +@item @strong{すべてのファイルに @code{@bs{}version} 番号を含めます}。テンプ@c +レートはすべて @code{@bs{}version} 情報を保持しているということに注意してくだ@c +さい。常に @code{@bs{}version} を含めること -- ファイルの大小にかかわらず -- +を強く推奨します。個人的な経験から言って、数年前に使っていた LilyPond のバー@c +ジョンを思い出そうとすることは大変なことです。@command{convert-ly} は使用した +LilyPond のバージョンを宣言することを必要とします。 + +@item @strong{チェックを含めます}: @ruser{Bar and bar number checks}, +@ruser{Octave checks}。時々チェックを入れておけば、ミスをしたときに素早くそ@c +れを見つけ出すことができます。@q{時々} とはどれくらいの頻度なのでしょうか?@c +それはその音楽の複雑さ次第です。とても簡単な音楽であれば、たぶん 1 回か 2 回で@c +す。とても複雑な音楽であれば、おそらく各小節にチェックを入れます。 + +@item @strong{テキスト 1 行につき 1 小節にします}。音楽自体や望みの出力が複雑@c +である場合、1 行に 1 小節だけを記述すると良い場合が多いです。画面スペースを節@c +約するために 1 行に 8 小節も詰め込むことは、入力ファイルを @q{デバッグ} しなけ@c +ればならない場合に、そうするだけの価値はありません。 + +@item @strong{入力ファイルにコメントをつけます}。コメントとして小節番号 (時々) +や音楽テーマへの参照 (@q{second theme in violins}, @q{fourth variation} +(@q{ヴァイオリンの第 2 テーマ}, @q{第 4 ヴァイオリン}) など) を使用します。@c +初めて楽曲を書いているときはコメントをつける必要は無いかもしれません。しかしな@c +がら、数年後に何か変更を加えたいと思った場合や、ソースを友人に渡す場合、あなた@c +がファイルにコメントをつけていなければ、あなたの意図やファイルがどのように構成@c +されているのかを特定することはずっと大変になります。 + +@item @strong{中括弧にインデントを入れる}。多くの問題は @code{@{} と @code{@}} +の数が食い違うことによって生じます。 + +@item セクションや変数の開始時に@strong{明示的に演奏時間を付け加える}。フレー@c +ズの開始時に @code{c4 d e} (@code{c d e} ではなく) と記述しておけば、後になっ@c +て音楽を再編成する場合に問題の発生を免れる可能性があります。 + +@item 音楽定義から@strong{調整を分離します}。@ref{Saving typing with variables +and functions} と @ref{Style sheets} を参照してください。 + +@end itemize @node Typesetting existing music @subsection Typesetting existing music -@untranslated +既存の楽譜からの音楽を入力している (つまり、既存の楽譜の楽曲を譜刻している) の@c +なら、 + +@itemize + +@item 1 回につき 1 つのシステム (訳者: システムとは譜の集まりのこと。例えば、@c +ピアノ譜での 1 システムとは、右手譜 1 小節とそれに対応する左手譜 1 小節) を入@c +力し (しかし、それでもテキスト 1 行につき 1 小節だけにします)、それを終えたと@c +きに各システムをチェックします。処理をスピード アップさせるために +@code{showLastLength} プロパティや @code{showFirstLength} プロパティを使うこと@c +になるかもしれません -- @ruser{Skipping corrected music} を参照してください。 + +@item @code{mBreak = @{ @bs{}break @}} を定義して、写している楽譜が改行するた@c +びに @code{@bs{}mBreak} を入力ファイルに挿入します。これにより、LilyPond の音@c +楽とオリジナルの音楽を比較することがずっと容易になります。入力した楽譜の校正が@c +終わったときに、それらの改行すべてを削除するために @code{mBreak = @{ @}} を定@c +義することになるかもしれません。これにより、LilyPond は LilyPond が最適と思う@c +場所に改行を入れることができるようになります。 + +@end itemize @node Large projects @subsection Large projects -@untranslated +大きなプロジェクトに取り組んでいるとき、LilyPond 入力ファイルの構造をすっきり@c +させておくことが不可欠です。 + +@itemize + +@item @strong{各ボイスに対して変数を使用して}、定義の中の構造を最小限にしま@c +す。@code{@bs{}score} セクションの構造が最も変更される可能性が高い箇所です。一@c +方、@code{violin} 定義は LilyPond のバージョンが新しくなっても変更される可能性@c +はまずありません。 + +@example +violin = \relative c'' @{ +g4 c'8. e16 +@} +... +\score @{ + \new GrandStaff @{ + \new Staff @{ + \violin + @} + @} +@} +@end example + +@item @strong{調整を音楽定義から分離します}。このことは前にも触れましたが、大@c +きなプロジェクトでは絶対に不可欠なことです。@code{fthenp} の定義を変更する必要@c +が生じた場合、変更は 1 回で済み、@code{violin} の内部にはまったく手を触れる必@c +要がありません。 + +@example +fthenp = _\markup@{ + \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p @} +violin = \relative c'' @{ +g4\fthenp c'8. e16 +@} +@end example + +@end itemize @node Saving typing with variables and functions @subsection Saving typing with variables and functions -@untranslated +@cindex variables +@cindex variables + +これまでに、以下のような記述を見てきました: + +@lilypond[quote,verbatim,ragged-right] +hornNotes = \relative c'' { c4 b dis c } +\score { + { + \hornNotes + } +} +@end lilypond + +これは音楽表記を最小化するのに役に立つ可能性があるということに気付くかもしれま@c +せん: + +@lilypond[quote,verbatim,ragged-right] +fragmentA = \relative c'' { a4 a8. b16 } +fragmentB = \relative c'' { a8. gis16 ees4 } +violin = \new Staff { \fragmentA \fragmentA \fragmentB \fragmentA } +\score { + { + \violin + } +} +@end lilypond + +さらに、これらの変数 (変数、マクロ、(ユーザ定義) コマンドなどと呼ばれます) を@c +調整のために使うこともできます: + +@lilypond[quote,verbatim,ragged-right] +dolce = \markup{ \italic \bold dolce } +padText = { \once \override TextScript #'padding = #5.0 } +fthenp=_\markup{ \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p } +violin = \relative c'' { + \repeat volta 2 { + c4._\dolce b8 a8 g a b | + \padText + c4.^"hi there!" d8 e' f g d | + c,4.\fthenp b8 c4 c-. | + } +} +\score { + { + \violin + } +\layout{ragged-right=##t} +} +@end lilypond + +これらの明らかに変数は入力の手間を省くのに役立っています。例えそれらの変数が 1 +回しか使用されないとしても、変数化することを考慮する価値があります -- 複雑さを@c +減らします。以前に使用した変数を使っていない例を見てみましょう。それはとても読@c +み難く、特に最後の行が読み難いです。 + +@example +violin = \relative c'' @{ + \repeat volta 2 @{ + c4._\markup@{ \italic \bold dolce @} b8 a8 g a b | + \once \override TextScript #'padding = #5.0 + c4.^"hi there!" d8 e' f g d | + c,4.\markup@{ \dynamic f \italic \small @{ 2nd @} + \hspace #0.1 \dynamic p @} b8 c4 c-. | + @} +@} +@end example + +@c TODO Replace the following with a better example -td +@c Skylining handles this correctly without padText + +これまでに見てきたのは静的な置き換えです -- LilyPond は @code{@bs{}padText} を@c +見ると、それを定義した内容 (つまり、@code{padText=} の右側にあるもの) に置き換@c +えます。 + +LilyPond は非静的な置き換えも処理できます (それらを関数と見なすことができます)。 + +@lilypond[quote,verbatim,ragged-right] +padText = +#(define-music-function (parser location padding) (number?) + #{ + \once \override TextScript #'padding = #$padding + #}) + +\relative c''' { + c4^"piu mosso" b a b + \padText #1.8 + c4^"piu mosso" d e f + \padText #2.6 + c4^"piu mosso" fis a g +} +@end lilypond + +変数を使うことは、LilyPond 入力構文に変更があった場合の作業を減らす良い方法で@c +もあります (@ref{Updating old input files} を参照してください)。あなたがあなた@c +の入力ファイルすべてに使用する単一の定義 (@code{@bs{}dolce} のような) を持って@c +いて、構文が変更された場合、すべての @code{.ly} ファイルを変更する代わりに、@c +@code{@bs{}dolce} 定義をアップデートするだけで済みます。 @node Style sheets @subsection Style sheets -@untranslated +LilyPond が作り出す出力にはさまざまな変更を加えることができます (詳細は +@ref{Tweaking output} を参照してください)。しかしながら、調整を加えたい入力@c +ファイルがたくさんあるとしたらどうでしょう?また、単に調整を実際の音楽表記から@c +分離したいとしたらどうでしょう?これはとても簡単なことです。 + +以下の例を見てみましょう。@code{@hash{}()} を持つ部分を理解できなくても心配し@c +ないでください。@ref{Advanced tweaks with Scheme} で説明されています。 + +@lilypond[quote,verbatim,ragged-right] +mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0) + #:line(#:dynamic "mp" #:text #:italic "dolce" ))) +tempoMark = #(define-music-function (parser location markp) (string?) +#{ + \once \override Score . RehearsalMark #'self-alignment-X = #left + \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0) + \mark \markup { \bold $markp } +#}) + +\relative c'' { + \tempo 4=50 + a4.\mpdolce d8 cis4--\glissando a | b4 bes a2 + \tempoMark "Poco piu mosso" + cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2 +} +@end lilypond + +この例には出力が重なり合うという問題がいくつかあり、@ref{Moving objects} のテ@c +クニックを使ってそれらを修正しています。そこで、さらに @code{mpdolce} 定義と +@code{tempoMark} 定義に関して何かしてみましょう。それらは望みの出力を作り出し@c +ていますが、それらを別の楽曲で使いたいとします。単純にそれらを各ファイルの先頭@c +部分にカット&ペーストすることもできますが、わずらわしいです。その方法では定義@c +は依然として入力ファイルの中にあり、私は個人的にすべての @code{@hash{}()} は何@c +か醜いと感じます。それらを他のファイルの中に隠すことにしましょう: + +@example +%%% save this to a file called "definitions.ly" +mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0) + #:line(#:dynamic "mp" #:text #:italic "dolce" ))) +tempoMark = #(define-music-function (parser location markp) (string?) +#@{ + \once \override Score . RehearsalMark #'self-alignment-X = #left + \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0) + \mark \markup @{ \bold $markp @} +#@}) +@end example + +今度は音楽ファイルを変更しましょう (このファイルを @file{"music.ly"} として保@c +存しましょう)。 + +@c We have to do this awkward example/lilypond-non-verbatim +@c because we can't do the \include stuff in the manual. + +@example +\include "definitions.ly" + +\relative c'' @{ + \tempo 4=50 + a4.\mpdolce d8 cis4--\glissando a | b4 bes a2 + \once \override Score.RehearsalMark #'padding = #2.0 + \tempoMark "Poco piu mosso" + cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2 +@} +@end example + +@lilypond[quote,ragged-right] +mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0) + #:line(#:dynamic "mp" #:text #:italic "dolce" ))) +tempoMark = #(define-music-function (parser location markp) (string?) +#{ + \once \override Score . RehearsalMark #'self-alignment-X = #left + \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0) + \mark \markup { \bold $markp } +#}) + +\relative c'' { + \tempo 4=50 + a4.\mpdolce d8 cis4--\glissando a | b4 bes a2 + \once \override Score.RehearsalMark #'padding = #2.0 + \tempoMark "Poco piu mosso" + cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2 +} +@end lilypond + +これで前よりも良くなりましたが、2, 3 の変更を行いましょう。グリッサンド (訳者: +第 1 小節の C シャープと A の間) は見え難いので、もっと太く、音符の玉に近づけ@c +ましょう。メトロノーム記号を最初の音符の上ではなく、音部記号の上に持ってきま@c +しょう。最後に、私の作曲の先生は @q{C} 拍子記号を嫌っているので、@q{4/4} に変@c +更した方が良さそうです。 + +@file{music.ly} には変更を加えないでください。@file{definitions.ly} を以下のよ@c +うに書き換えます: + +@example +%%% definitions.ly +mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0) + #:line( #:dynamic "mp" #:text #:italic "dolce" ))) +tempoMark = #(define-music-function (parser location markp) (string?) +#@{ + \once \override Score . RehearsalMark #'self-alignment-X = #left + \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0) + \mark \markup @{ \bold $markp @} +#@}) + +\layout@{ + \context @{ \Score + \override MetronomeMark #'extra-offset = #'(-9 . 0) + \override MetronomeMark #'padding = #'3 + @} + \context @{ \Staff + \override TimeSignature #'style = #'numbered + @} + \context @{ \Voice + \override Glissando #'thickness = #3 + \override Glissando #'gap = #0.1 + @} +@} +@end example + +@lilypond[quote,ragged-right] +mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0) + #:line( #:dynamic "mp" #:text #:italic "dolce" ))) +tempoMark = #(define-music-function (parser location markp) (string?) +#{ + \once \override Score . RehearsalMark #'self-alignment-X = #left + \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0) + \mark \markup { \bold $markp } +#}) + +\layout{ + \context { \Score + \override MetronomeMark #'extra-offset = #'(-9 . 0) + \override MetronomeMark #'padding = #'3 + } + \context { \Staff + \override TimeSignature #'style = #'numbered + } + \context { \Voice + \override Glissando #'thickness = #3 + \override Glissando #'gap = #0.1 + } +} + +\relative c'' { + \tempo 4=50 + a4.\mpdolce d8 cis4--\glissando a | b4 bes a2 + \once \override Score.RehearsalMark #'padding = #2.0 + \tempoMark "Poco piu mosso" + cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2 +} +@end lilypond + +もっと良くなりました!今度はこれを公表したいとします。私の作曲の先生は @q{C} +拍子記号を嫌っていますが、私は幾分好きです。現在の @code{definitions.ly} を +@code{web-publish.ly} にコピーして、それを変更してみましょう。この音楽はスク@c +リーンに表示される PDF を作り出すことを意図したものなので、出力のフォントを全@c +体に大きくすることにします。 + +@example +%%% definitions.ly +mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0) + #:line( #:dynamic "mp" #:text #:italic "dolce" ))) +tempoMark = #(define-music-function (parser location markp) (string?) +#@{ + \once \override Score . RehearsalMark #'self-alignment-X = #left + \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0) + \mark \markup @{ \bold $markp @} +#@}) + +#(set-global-staff-size 23) +\layout@{ + \context @{ \Score + \override MetronomeMark #'extra-offset = #'(-9 . 0) + \override MetronomeMark #'padding = #'3 + @} + \context @{ \Staff + @} + \context @{ \Voice + \override Glissando #'thickness = #3 + \override Glissando #'gap = #0.1 + @} +@} +@end example + +@lilypond[quote,ragged-right] +mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0) + #:line( #:dynamic "mp" #:text #:italic "dolce" ))) +tempoMark = #(define-music-function (parser location markp) (string?) +#{ + \once \override Score . RehearsalMark #'self-alignment-X = #left + \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0) + \mark \markup { \bold $markp } +#}) + +#(set-global-staff-size 23) +\layout{ + \context { \Score + \override MetronomeMark #'extra-offset = #'(-9 . 0) + \override MetronomeMark #'padding = #'3 + } + \context { \Voice + \override Glissando #'thickness = #3 + \override Glissando #'gap = #0.1 + } +} + +\relative c'' { + \tempo 4=50 + a4.\mpdolce d8 cis4--\glissando a | b4 bes a2 + \once \override Score.RehearsalMark #'padding = #2.0 + \tempoMark "Poco piu mosso" + cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2 +} +@end lilypond + +音楽ファイルの中では、単に @code{@bs{}include "definitions.ly"} を +@code{@bs{}include "web-publish.ly"} に置き換えるだけです。もちろん、これを@c +もっと便利なようにすることができます。@file{definitions.ly} ファイルには +@code{mpdolce} と @code{tempoMark} の定義だけを持たせて、@file{web-publish.ly} +ファイルには上で載せた @code{@bs{}layout} セクションだけを持たせ、@c +@file{university.ly} ファイルには私の先生の好む出力を作り出すための調整だけを@c +持たせます。@file{music.ly} の先頭部分は以下のようになります: + +@example +\include "definitions.ly" + +%%% Only uncomment one of these two lines! +\include "web-publish.ly" +%\include "university.ly" +@end example + +このアプローチは、あなたがパーツ一式を作っているだけだとしても役に立つ可能性が@c +あります。私は自分のプロジェクトのための半ダースの @q{スタイル シート} ファイ@c +ルを使います。私は各音楽ファイルを @code{@bs{}include "../global.ly"} で始め@c +て、@file{gloval.ly} には以下の内容を記述しています: + +@example +%%% global.ly +\version @w{"@version{}"} +#(ly:set-option 'point-and-click #f) +\include "../init/init-defs.ly" +\include "../init/init-layout.ly" +\include "../init/init-headers.ly" +\include "../init/init-paper.ly" +@end example @node When things don't work @section When things don't work -@untranslated - - @menu * Updating old input files:: * Troubleshooting (taking it all apart):: @@ -79,26 +544,235 @@ @node Updating old input files @subsection Updating old input files -@untranslated +LilyPond 入力構文はしばしば変更されます。LilyPond 自体の改良に合わせて、構文 +(入力言語) も変更されます。これらの変更は入力を読みやすく/書きやすくするために@c +行われる場合もありますし、LilyPond の新しい機能のために行われる場合もあります。 + +LilyPond は、このアップデートをより容易にするファイル: @code{convert-ly} と一@c +緒に公開されます。このプログラムの実行方法についての詳細は @rprogram{Updating +files with convert-ly} を参照してください。 + +残念なことに、@code{convert-ly} はすべての入力構文の変更を処理できるわけではあ@c +りません。単純な探索-置換 (@code{raggedright} が @code{ragged-right} になった@c +など) を処理しますが、複雑すぎる変更もあります。@code{convert-ly} が処理できな@c +い構文の変更は @rprogram{Updating files with convert-ly} にリストアップされて@c +います。 + +例えば、LilyPond 2.4 以前では、アクセントと非英語文字 -- 例えば、@c +@code{No@bs{}"el} (これは @q{クリスマス} に対応するフランス語となります) -- は +LaTex を使って入力していました。LilyPond 2.6 以降では、特殊文字 @code{ë} を +UTF-8 キャラクタとして直接 LilyPond ファイルに入力するようになりました。@c +@code{convert-ly} はすべての LaTex 特殊文字を UTF-8 キャラクタに変更することは@c +できません。その場合、あなたが手動で古い LilyPond 入力ファイルをアップデートす@c +る必要があります。 @node Troubleshooting (taking it all apart) @subsection Troubleshooting (taking it all apart) -@untranslated +遅かれ早かれ、あなたは LilyPond がコンパイルできないファイルを書くことになりま@c +す。LilyPond が返すメッセージはエラーを見つけ出す手助けになるかもしれません@c +が、多くの場合、問題の原因を探し出すために調査を行う必要があります。 + +この目的のための最も強力なツールは 1 行コメント (@code{%} で記述します) とブ@c +ロック コメント (@code{%@{ ... %@}} で記述します) です。問題がどこにあるかわか@c +らない場合、入力ファイルの大きな一部分をコメント アウトすることから始めます。@c +あるセクションをコメント アウトして、そのファイルを再びコンパイルしてみます。@c +コンパイルが通ったのなら、問題は今コメント アウトした部分の中にあります。コン@c +パイルが通らなかった場合は、コンパイルが通るようになるまでコメント アウトした@c +ままにしておきます。 + +極端な場合、最終的に以下のようになるかもしれません: + +@example +\score @{ + << + % \melody + % \harmony + % \bass + >> + \layout@{@} +@} +@end example + +@noindent +(言い換えると、何の音楽も持たないファイルです) + +こうなったとしても、あきらめないでください。少しだけコメントを外して -- 例え@c +ば、バス パートを -- コンパイルが通るかどうか試してみます。コンパイルが通らな@c +かった場合は、バスの音楽をすべてコメント アウトします (しかし、@code{@bs{}score} +の中の @code{@bs{}bass} はコメントを外したままにしておきます)。 + +@example +bass = \relative c' @{ +%@{ + c4 c c c + d d d d +%@} +@} +@end example + +そして、問題を起こしている行を見つけ出すまで、@code{bass} パートから少しずつコ@c +メントを外していきます。 + +もう 1 つの非常に有用なデバッグ テクニックは @ref{Minimal examples} を構築する@c +ことです。 @node Minimal examples @subsection Minimal examples -@untranslated +最小化例は可能な限り小さな例のことです。最小化例は長い例よりも理解することが@c +ずっと容易です。最小化例は以下の目的で使用されます: + +@itemize +@item バグ レポート +@item メーリング リストに援助要請を送る +@item @uref{http://lsr.dsi.unimi.it/,LilyPond Snippet Repository} に例を追加する +@end itemize + +可能な限り小さな例を構築するための規則はとても単純です: 必要の無いものはすべて@c +削除する。ファイルの不要な部分を削除しようとしているとき、実際に削除する代わり@c +にコメント アウトを使用するというのはとても良いアイディアです。そうしておけ@c +ば、ある行が実際には必要だということがわかった場合に、その行をゼロから入力する@c +代わりに、コメントを外すだけで済みます。 + +@qq{可能な限り小さく} という規則には 2 つの例外があります: +@itemize +@item @code{\version} 番号を含める。 +@item 可能であれば、例の先頭で @code{@bs{}paper@{ ragged-right=@hash{}@hash{}t +@}} を使う。 +@end itemize + +最小化例の要点は読みやすくするということです: + +@itemize +@item 複雑な音符、調子、拍子を使うことを避ける -- それらの要素の振る舞いについ@c +て何かを示そうとしているのでない限り +@item @code{@bs{}override} コマンドを使わない -- それがその例のポイントでない@c +限り +@end itemize @node Scores and parts @section Scores and parts -@untranslated - +TODO: this is really old stuff from the really old tutorial. +Rewrite, fix, etc. Or maybe delete entirely. -gp +Include section on tags -td +and then move to section 5. Working ... -td + +オーケストラ音楽では、すべての音符は 2 回譜刻されます。1 回は演奏家のための@c +パート譜で、1 回は指揮者のための総譜で譜刻されます。変数を使うことで二度手間を@c +避けることができます。音楽は 1 回、変数に入力されます。その変数の内容は、パー@c +ト譜と総譜の両方を生成するために使用されます。 + +音符を特別なファイルの中に定義すると便利です。例えば、ファイル +@code{horn-music.ly} は以下のホルン/@/バスーン デュオのパートを保持していると@c +します: + +@example +hornNotes = \relative c @{ + \time 2/4 + r4 f8 a cis4 f e d +@} +@end example + +@noindent +個々のパートは、ファイルの中に以下の記述をすることによって作り出されます: + +@example +\include "horn-music.ly" +\header @{ + instrument = "Horn in F" +@} + +@{ + \transpose f c' \hornNotes +@} +@end example + +以下の行: + +@example +\include "horn-music.ly" +@end example + +@noindent +は、ファイルの中でその行が置かれている場所で、@file{horn-music.ly} の内容に置@c +き換わり、@code{hornNotes} はその後に定義されます。コマンド @code{@bs{}transpose +f@tie{}c'} は、引数 @code{@bs{}hornNotes} は 5 度上へ移調すべきであるというこ@c +とを示しています。@code{f} の音は譜面に表記された @code{c'} で表され、これは通@c +常のフレンチ ホルンを F にチューニングすることに相当します。この移調により出力@c +は以下のようになります: + +@lilypond[quote,ragged-right] +\transpose f c' \relative c { + \time 2/4 + r4 f8 a cis4 f e d +} +@end lilypond + +アンサンブルでは、しばしばボイスの 1 つが何小節も演奏されないことがあります。@c +これは特別な休符 -- 複小節休符 -- によって示されます。これは大文字の @code{R} +とその後に続く演奏時間 (全音符には @code{1}、半音符には @code{2} などです) で@c +入力されます。この演奏時間に掛け算を行うことによって、さらに長い休符を構築する@c +ことができます。例えば、以下の休符は 2/4 拍子で 3 小節分の長さになります: + +@example +R2*3 +@end example + +この部分を譜刻するとき、複小節休符を圧縮する必要があります。これは以下のラン-@c +タイム変数を設定することによって行います: + +@example +\set Score.skipBars = ##t +@end example + +@noindent +このコマンドは @code{Score} コンテキストの中にあるプロパティ @code{skipBars} +を真 (@code{@hash{}@hash{}t}) にセットします。この休符とオプションを上記の音楽@c +の先頭に追加することによって、以下のような結果になります: + +@lilypond[quote,ragged-right] +\transpose f c' \relative c { + \time 2/4 + \set Score.skipBars = ##t + R2*3 + r4 f8 a cis4 f e d +} +@end lilypond + +楽譜はすべての音楽を一緒にすることによって作り出されます。他のボイスはファイル +@file{bassoon-music.ly} の中の @code{bassoonNotes} の中にあると仮定すると、楽@c +譜は以下のような記述で作られます: + +@example +\include "bassoon-music.ly" +\include "horn-music.ly" + +<< + \new Staff \hornNotes + \new Staff \bassoonNotes +>> +@end example + +@noindent +そして、以下のような楽譜になります: + +@lilypond[quote,ragged-right] +\relative c << + \new Staff { + \time 2/4 R2*3 + r4 f8 a cis4 f e d + } + \new Staff { + \clef bass + r4 d,8 f | gis4 c | b bes | + a8 e f4 | g d | gis f + } +>> +@end lilypond -@c -- SKELETON FILE -- diff --git a/Documentation/po/ja.po b/Documentation/po/ja.po index 9e395b73b9..79d3cb5898 100644 --- a/Documentation/po/ja.po +++ b/Documentation/po/ja.po @@ -20,7 +20,7 @@ msgstr "" #: postprocess_html.py:45 #, python-format msgid "This page is for %(package_name)s-%(package_version)s (%(branch_str)s)." -msgstr "" +msgstr "このページは %(package_name)s-%(package_version)s (%(branch_str)s) を対象としています。" # not yet #: postprocess_html.py:47 @@ -2632,111 +2632,111 @@ msgstr "ゼロから楽譜を構築する" #. Documentation/user/tweaks.itely:597 (comment) #. Documentation/user/tweaks.itely:732 (comment) msgid "Increase thickness of all following slurs from 1.2 to 5.0" -msgstr "" +msgstr "後に続くすべてのスラーの太さを 1.2 から 5.0 に増やします" #. Documentation/user/tweaks.itely:666 (comment) #. Documentation/user/tweaks.itely:705 (comment) #. Documentation/user/tweaks.itely:708 (comment) msgid "Increase thickness of immediately following slur only" -msgstr "" +msgstr "直後にあるスラーの太さだけを増やします" #. Documentation/user/tweaks.itely:736 (comment) msgid "Revert thickness of all following slurs to default of 1.2" -msgstr "" +msgstr "後に続くすべてのスラーの太さをデフォルトの 1.2 に戻します" #. Documentation/user/tweaks.itely:1396 (comment) msgid "Don't print clefs in this staff" -msgstr "" +msgstr "この譜表には音部記号を譜刻しません" #. Documentation/user/tweaks.itely:1398 (comment) msgid "Don't print time signatures in this staff" -msgstr "" +msgstr "この譜表には拍子記号を譜刻しません" #. Documentation/user/tweaks.itely:1462 (comment) msgid "Reduce all font sizes by ~24%" -msgstr "" +msgstr "すべてのフォント サイズを約 24% 減らします" #. Documentation/user/tweaks.itely:1528 (comment) msgid "Reduce stem length and line spacing to match" -msgstr "" +msgstr "釣り合いをとるためにステムの長さと譜表線の間隔を減らします" #. Documentation/user/tweaks.itely:1958 (comment) #. Documentation/user/tweaks.itely:2028 (comment) msgid "Set details for later Text Spanner" -msgstr "" +msgstr "後のテキスト スパナのための詳細を設定" #. Documentation/user/tweaks.itely:1961 (comment) #. Documentation/user/tweaks.itely:2031 (comment) msgid "Place dynamics above staff" -msgstr "" +msgstr "譜表の上に強弱記号を配置" #. Documentation/user/tweaks.itely:1963 (comment) #. Documentation/user/tweaks.itely:2035 (comment) msgid "Start Ottava Bracket" -msgstr "" +msgstr "オッターバ囲みの開始" #. Documentation/user/tweaks.itely:1966 (comment) #. Documentation/user/tweaks.itely:1973 (comment) #. Documentation/user/tweaks.itely:2038 (comment) #. Documentation/user/tweaks.itely:2045 (comment) msgid "Add Dynamic Text" -msgstr "" +msgstr "強弱記号テキストの追加" #. Documentation/user/tweaks.itely:1968 (comment) #. Documentation/user/tweaks.itely:2040 (comment) msgid "Add Dynamic Line Spanner" -msgstr "" +msgstr "強弱記号線スパナの追加" #. Documentation/user/tweaks.itely:1970 (comment) #. Documentation/user/tweaks.itely:2042 (comment) msgid "Add Text Script" -msgstr "" +msgstr "テキスト スクリプトの追加" #. Documentation/user/tweaks.itely:1975 (comment) #. Documentation/user/tweaks.itely:2047 (comment) msgid "Stop Ottava Bracket" -msgstr "" +msgstr "オッターバ囲みの終了" #. Documentation/user/tweaks.itely:2033 (comment) msgid "Place following Ottava Bracket below Text Spanners" -msgstr "" +msgstr "以下のオッターバ囲みをテキスト スパナの下に配置" #. Documentation/user/tweaks.itely:2122 (comment) msgid "Cause notes to space out to accommodate text" -msgstr "" +msgstr "テキストに合わせて音符の間隔を広げます" #. Documentation/user/tweaks.itely:2145 (comment) msgid "This markup is short enough to fit without collision" -msgstr "" +msgstr "このマークアップは短いため、衝突を起こさずにぴったりと収まります" #. Documentation/user/tweaks.itely:2149 (comment) msgid "This is too long to fit, so it is displaced upwards" -msgstr "" +msgstr "このマークアップは長いため、上の方に再配置されます" #. Documentation/user/tweaks.itely:2153 (comment) #. Documentation/user/tweaks.itely:2158 (comment) msgid "Turn off collision avoidance" -msgstr "" +msgstr "衝突回避を off にします" #. Documentation/user/tweaks.itely:2160 (comment) msgid "and turn on textLengthOn" -msgstr "" +msgstr "今度は textLengthOn を on にします" #. Documentation/user/tweaks.itely:2161 (comment) msgid "Spaces at end are honored" -msgstr "" +msgstr "テキスト終端のスペースは尊重されます" #. Documentation/user/tweaks.itely:2268 (comment) msgid "Extend width by 1 staff space" -msgstr "" +msgstr "幅を 1 譜表スペース広げます" #. Documentation/user/tweaks.itely:2551 (comment) msgid "This will not work, see below:" -msgstr "" +msgstr "これは機能しません。以下を見てください:" #. Documentation/user/tweaks.itely:2555 (comment) msgid "This works:" -msgstr "" +msgstr "これは機能します:" #. Documentation/user/tweaks.itely:2606 (variable) msgid "naturalplusflat" @@ -2744,11 +2744,11 @@ msgstr "" #. Documentation/user/tweaks.itely:2647 (comment) msgid "Extend width by 1 unit" -msgstr "" +msgstr "幅を 1 単位 (譜表スペース) 広げます" #. Documentation/user/tweaks.itely:2649 (comment) msgid "Align dynamics to a base line 2 units above staff" -msgstr "" +msgstr "強弱記号を譜表から 2 単位上のベース ラインに揃えます" #. Documentation/user/tweaks.itely:2953 (variable) #. Documentation/user/tweaks.itely:3002 (variable) @@ -2765,7 +2765,7 @@ msgstr "" #. Documentation/user/tweaks.itely:3142 (comment) #. Documentation/user/tweaks.itely:3207 (comment) msgid "Start polyphonic section of four voices" -msgstr "" +msgstr "4 つのボイスを持つ多声部セクションの開始" #. Documentation/user/tweaks.itely:2971 (variable) #. Documentation/user/tweaks.itely:3020 (variable) @@ -2799,31 +2799,31 @@ msgstr "" #. Documentation/user/tweaks.itely:3211 (comment) #. Documentation/user/tweaks.itely:3273 (comment) msgid "Move the c2 out of the main note column so the merge will work" -msgstr "" +msgstr "マージが機能するように、c2 をメインの音符列の外に移動させます" #. Documentation/user/tweaks.itely:3214 (comment) #. Documentation/user/tweaks.itely:3276 (comment) msgid "Stem on the d2 must be down to permit merging" -msgstr "" +msgstr "マージを可能にするため、d2 のステムは下向きでなければなりません" #. Documentation/user/tweaks.itely:3271 (comment) msgid "Reposition the c2 to the right of the merged note" -msgstr "" +msgstr "c2 をマージされた音符の右側に再配置します" #. Documentation/user/tweaks.itely:3407 (comment) #. Documentation/user/tweaks.itely:3429 (comment) msgid "Visible tempo marking" -msgstr "" +msgstr "可視のテンポ記号" #. Documentation/user/tweaks.itely:3411 (comment) #. Documentation/user/tweaks.itely:3433 (comment) msgid "Invisible tempo marking to lengthen fermata in MIDI" -msgstr "" +msgstr "MIDI の中でフェルマータの演奏時間を伸ばすための不可視のテンポ記号" #. Documentation/user/tweaks.itely:3414 (comment) #. Documentation/user/tweaks.itely:3436 (comment) msgid "New tempo for next section" -msgstr "" +msgstr "次のセクションのための新しいテンポ" #. Documentation/user/tweaks.itely:3493 (variable) msgid "emphasize" @@ -2844,7 +2844,7 @@ msgstr "" #. Documentation/user/tweaks.itely:3725 (comment) msgid "Arrange to obtain color from color-notehead procedure" -msgstr "" +msgstr "color-notehead プロシージャからカラーを取得するための手続き" #. @node in Documentation/user/tweaks.itely #. @chapter in Documentation/user/tweaks.itely @@ -2857,7 +2857,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @chapter in Documentation/ja/user/tweaks.itely msgid "Tweaking output" -msgstr "" +msgstr "出力を調整する" #. @node in Documentation/user/tweaks.itely #. @section in Documentation/user/tweaks.itely @@ -2870,7 +2870,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @section in Documentation/ja/user/tweaks.itely msgid "Tweaking basics" -msgstr "" +msgstr "調整の基本" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -2883,7 +2883,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Introduction to tweaks" -msgstr "" +msgstr "調整の紹介" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -2896,7 +2896,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Objects and interfaces" -msgstr "" +msgstr "オブジェクトとインタフェイス" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -2909,7 +2909,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Naming conventions of objects and properties" -msgstr "" +msgstr "オブジェクトとプロパティの命名規約" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -2922,7 +2922,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Tweaking methods" -msgstr "" +msgstr "調整手段" #. @node in Documentation/user/tweaks.itely #. @section in Documentation/user/tweaks.itely @@ -2935,7 +2935,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @section in Documentation/ja/user/tweaks.itely msgid "The Internals Reference manual" -msgstr "" +msgstr "内部リファレンス マニュアル" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -2948,7 +2948,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Properties of layout objects" -msgstr "" +msgstr "レイアウト オブジェクトのプロパティ" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -2956,7 +2956,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "Finding the context" -msgstr "" +msgstr "コンテキストを見つけ出す" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -2964,7 +2964,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "Overriding once only" -msgstr "" +msgstr "1 回だけオーバライドする" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -2972,7 +2972,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "Reverting" -msgstr "" +msgstr "元に戻す" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -2985,7 +2985,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Properties found in interfaces" -msgstr "" +msgstr "インタフェイスの中で見つかるプロパティ" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -2993,7 +2993,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "Specifying the context in lyric mode" -msgstr "" +msgstr "歌詞モードの中でコンテキストを指定する" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -3006,7 +3006,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Types of properties" -msgstr "" +msgstr "プロパティのタイプ" #. @node in Documentation/user/tweaks.itely #. @section in Documentation/user/tweaks.itely @@ -3019,7 +3019,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @section in Documentation/ja/user/tweaks.itely msgid "Appearance of objects" -msgstr "" +msgstr "オブジェクトの見た目" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -3032,7 +3032,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Visibility and color of objects" -msgstr "" +msgstr "オブジェクトの可視性と色" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -3040,7 +3040,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "stencil" -msgstr "" +msgstr "ステンシル (stencil)" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -3048,7 +3048,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "break-visibility" -msgstr "" +msgstr "可視性の破棄 (break-visibility)" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -3056,7 +3056,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "transparent" -msgstr "" +msgstr "透過性 (transparent)" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -3064,7 +3064,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "color" -msgstr "" +msgstr "色 (color)" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -3077,7 +3077,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Size of objects" -msgstr "" +msgstr "オブジェクトのサイズ" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -3090,7 +3090,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Length and thickness of objects" -msgstr "" +msgstr "オブジェクトの長さと太さ" #. @node in Documentation/user/tweaks.itely #. @section in Documentation/user/tweaks.itely @@ -3103,7 +3103,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @section in Documentation/ja/user/tweaks.itely msgid "Placement of objects" -msgstr "" +msgstr "オブジェクトの配置" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -3114,7 +3114,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Automatic behavior" -msgstr "" +msgstr "自動配置" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -3127,7 +3127,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Within-staff objects" -msgstr "" +msgstr "譜表内部オブジェクト" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -3135,7 +3135,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "Fingering" -msgstr "" +msgstr "運指法記号 (Fingering)" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -3146,7 +3146,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Outside-staff objects" -msgstr "" +msgstr "譜表外部オブジェクト" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -3162,7 +3162,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "Grob sizing" -msgstr "" +msgstr "グラフィカル オブジェクトのサイズ" #. @node in Documentation/user/tweaks.itely #. @section in Documentation/user/tweaks.itely @@ -3175,7 +3175,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @section in Documentation/ja/user/tweaks.itely msgid "Collisions of objects" -msgstr "" +msgstr "オブジェクトの衝突" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -3188,7 +3188,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Moving objects" -msgstr "" +msgstr "オブジェクトを移動させる" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -3201,7 +3201,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Fixing overlapping notation" -msgstr "" +msgstr "表記の重なりを修正する" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -3209,7 +3209,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "padding property" -msgstr "" +msgstr "padding プロパティ" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -3217,7 +3217,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "left-padding and right-padding" -msgstr "" +msgstr "left-padding と right-padding" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -3225,7 +3225,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "staff-padding property" -msgstr "" +msgstr "staff-padding プロパティ" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -3233,7 +3233,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "self-alignment-X property" -msgstr "" +msgstr "self-alignment-X プロパティ" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -3241,7 +3241,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "staff-position property" -msgstr "" +msgstr "staff-position プロパティ" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -3249,7 +3249,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "extra-offset property" -msgstr "" +msgstr "extra-offset プロパティ" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -3257,7 +3257,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "positions property" -msgstr "" +msgstr "positions プロパティ" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -3265,7 +3265,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "force-hshift property" -msgstr "" +msgstr "force-hshift プロパティ" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -3278,7 +3278,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Real music example" -msgstr "" +msgstr "実際の音楽からの例" #. @node in Documentation/user/tweaks.itely #. @section in Documentation/user/tweaks.itely @@ -3291,7 +3291,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @section in Documentation/ja/user/tweaks.itely msgid "Further tweaking" -msgstr "" +msgstr "更なる調整" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -3304,7 +3304,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Other uses for tweaks" -msgstr "" +msgstr "調整のその他の使用方法" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -3312,7 +3312,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "Tying notes across voices" -msgstr "" +msgstr "異なるボイスの中にある音符をタイで結ぶ" #. @subheading in Documentation/user/tweaks.itely #. @subheading in Documentation/fr/user/tweaks.itely @@ -3320,7 +3320,7 @@ msgstr "" #. @subheading in Documentation/de/user/tweaks.itely #. @subheading in Documentation/ja/user/tweaks.itely msgid "Simulating a fermata in MIDI" -msgstr "" +msgstr "MIDI でフェルマータをシミュレートする" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -3333,7 +3333,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Using variables for tweaks" -msgstr "" +msgstr "調整のために変数を使用する" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -3346,7 +3346,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Other sources of information" -msgstr "" +msgstr "その他の情報源" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -3359,7 +3359,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Avoiding tweaks with slower processing" -msgstr "" +msgstr "処理に時間のかかる調整を避ける" #. @node in Documentation/user/tweaks.itely #. @subsection in Documentation/user/tweaks.itely @@ -3372,7 +3372,7 @@ msgstr "" #. @node in Documentation/ja/user/tweaks.itely #. @subsection in Documentation/ja/user/tweaks.itely msgid "Advanced tweaks with Scheme" -msgstr "" +msgstr "Scheme を用いた高度な調整" #. Documentation/user/working.itely:220 (variable) msgid "hornNotes" @@ -3422,7 +3422,7 @@ msgstr "" #. @node in Documentation/ja/user/working.itely #. @chapter in Documentation/ja/user/working.itely msgid "Working on LilyPond projects" -msgstr "" +msgstr "LilyPond プロジェクトに取り組む" #. @node in Documentation/user/working.itely #. @section in Documentation/user/working.itely @@ -3433,7 +3433,7 @@ msgstr "" #. @node in Documentation/ja/user/working.itely #. @section in Documentation/ja/user/working.itely msgid "Suggestions for writing LilyPond input files" -msgstr "" +msgstr "LilyPond 入力ファイルの記述に対する提案" #. @node in Documentation/user/working.itely #. @subsection in Documentation/user/working.itely @@ -3446,7 +3446,7 @@ msgstr "" #. @node in Documentation/ja/user/working.itely #. @subsection in Documentation/ja/user/working.itely msgid "General suggestions" -msgstr "" +msgstr "一般的な提案" #. @node in Documentation/user/working.itely #. @subsection in Documentation/user/working.itely @@ -3459,7 +3459,7 @@ msgstr "" #. @node in Documentation/ja/user/working.itely #. @subsection in Documentation/ja/user/working.itely msgid "Typesetting existing music" -msgstr "" +msgstr "既存の音楽を譜刻する" #. @node in Documentation/user/working.itely #. @subsection in Documentation/user/working.itely @@ -3472,7 +3472,7 @@ msgstr "" #. @node in Documentation/ja/user/working.itely #. @subsection in Documentation/ja/user/working.itely msgid "Large projects" -msgstr "" +msgstr "大きなプロジェクト" #. @node in Documentation/user/working.itely #. @subsection in Documentation/user/working.itely @@ -3485,7 +3485,7 @@ msgstr "" #. @node in Documentation/ja/user/working.itely #. @subsection in Documentation/ja/user/working.itely msgid "Saving typing with variables and functions" -msgstr "" +msgstr "変数と関数を用いて入力の手間を省く" #. @node in Documentation/user/working.itely #. @subsection in Documentation/user/working.itely @@ -3498,7 +3498,7 @@ msgstr "" #. @node in Documentation/ja/user/working.itely #. @subsection in Documentation/ja/user/working.itely msgid "Style sheets" -msgstr "" +msgstr "スタイル シート" #. @node in Documentation/user/working.itely #. @section in Documentation/user/working.itely @@ -3511,14 +3511,14 @@ msgstr "" #. @node in Documentation/ja/user/working.itely #. @section in Documentation/ja/user/working.itely msgid "When things don't work" -msgstr "" +msgstr "うまくいかないとき" #. @node in Documentation/user/working.itely #. @subsection in Documentation/user/working.itely #. @node in Documentation/ja/user/working.itely #. @subsection in Documentation/ja/user/working.itely msgid "Updating old input files" -msgstr "" +msgstr "古い入力ファイルをアップデートする" #. @node in Documentation/user/working.itely #. @subsection in Documentation/user/working.itely @@ -3531,7 +3531,7 @@ msgstr "" #. @node in Documentation/ja/user/working.itely #. @subsection in Documentation/ja/user/working.itely msgid "Troubleshooting (taking it all apart)" -msgstr "" +msgstr "トラブルシューティング (すべてをバラバラにする)" #. @node in Documentation/user/working.itely #. @subsection in Documentation/user/working.itely @@ -3544,7 +3544,7 @@ msgstr "" #. @node in Documentation/ja/user/working.itely #. @subsection in Documentation/ja/user/working.itely msgid "Minimal examples" -msgstr "" +msgstr "最小化例" #. @node in Documentation/user/working.itely #. @section in Documentation/user/working.itely @@ -3557,7 +3557,7 @@ msgstr "" #. @node in Documentation/ja/user/working.itely #. @section in Documentation/ja/user/working.itely msgid "Scores and parts" -msgstr "" +msgstr "楽譜とパート" #. @node in Documentation/user/templates.itely #. @appendix in Documentation/user/templates.itely @@ -3570,7 +3570,7 @@ msgstr "" #. @node in Documentation/ja/user/templates.itely #. @appendix in Documentation/ja/user/templates.itely msgid "Templates" -msgstr "" +msgstr "テンプレート" #. @node in Documentation/user/templates.itely #. @appendixsec in Documentation/user/templates.itely @@ -3583,7 +3583,7 @@ msgstr "" #. @node in Documentation/ja/user/templates.itely #. @appendixsec in Documentation/ja/user/templates.itely msgid "Single staff" -msgstr "" +msgstr "単一の譜表" #. @appendixsubsec in Documentation/user/templates.itely #. @appendixsubsec in Documentation/fr/user/templates.itely @@ -3591,7 +3591,7 @@ msgstr "" #. @appendixsubsec in Documentation/de/user/templates.itely #. @appendixsubsec in Documentation/ja/user/templates.itely msgid "Notes only" -msgstr "" +msgstr "音符のみ" #. @appendixsubsec in Documentation/user/templates.itely #. @appendixsubsec in Documentation/fr/user/templates.itely @@ -3599,7 +3599,7 @@ msgstr "" #. @appendixsubsec in Documentation/de/user/templates.itely #. @appendixsubsec in Documentation/ja/user/templates.itely msgid "Notes and lyrics" -msgstr "" +msgstr "音符と歌詞" #. @appendixsubsec in Documentation/user/templates.itely #. @appendixsubsec in Documentation/fr/user/templates.itely @@ -3607,7 +3607,7 @@ msgstr "" #. @appendixsubsec in Documentation/de/user/templates.itely #. @appendixsubsec in Documentation/ja/user/templates.itely msgid "Notes and chords" -msgstr "" +msgstr "音符とコード" #. @appendixsubsec in Documentation/user/templates.itely #. @appendixsubsec in Documentation/fr/user/templates.itely @@ -3615,7 +3615,7 @@ msgstr "" #. @appendixsubsec in Documentation/de/user/templates.itely #. @appendixsubsec in Documentation/ja/user/templates.itely msgid "Notes, lyrics, and chords." -msgstr "" +msgstr "音符、歌詞それにコード" #. @node in Documentation/user/templates.itely #. @appendixsec in Documentation/user/templates.itely @@ -3628,7 +3628,7 @@ msgstr "" #. @node in Documentation/ja/user/templates.itely #. @appendixsec in Documentation/ja/user/templates.itely msgid "Piano templates" -msgstr "" +msgstr "ピアノ テンプレート" #. @appendixsubsec in Documentation/user/templates.itely #. @appendixsubsec in Documentation/fr/user/templates.itely @@ -3636,7 +3636,7 @@ msgstr "" #. @appendixsubsec in Documentation/de/user/templates.itely #. @appendixsubsec in Documentation/ja/user/templates.itely msgid "Solo piano" -msgstr "" +msgstr "ソロ ピアノ" #. @appendixsubsec in Documentation/user/templates.itely #. @appendixsubsec in Documentation/fr/user/templates.itely @@ -3644,7 +3644,7 @@ msgstr "" #. @appendixsubsec in Documentation/de/user/templates.itely #. @appendixsubsec in Documentation/ja/user/templates.itely msgid "Piano and melody with lyrics" -msgstr "" +msgstr "ピアノと歌詞を持つ旋律" #. @appendixsubsec in Documentation/user/templates.itely #. @appendixsubsec in Documentation/fr/user/templates.itely @@ -3652,7 +3652,7 @@ msgstr "" #. @appendixsubsec in Documentation/de/user/templates.itely #. @appendixsubsec in Documentation/ja/user/templates.itely msgid "Piano centered lyrics" -msgstr "" +msgstr "中央に歌詞を持つピアノ譜" #. @appendixsubsec in Documentation/user/templates.itely #. @appendixsubsec in Documentation/fr/user/templates.itely @@ -3660,7 +3660,7 @@ msgstr "" #. @appendixsubsec in Documentation/de/user/templates.itely #. @appendixsubsec in Documentation/ja/user/templates.itely msgid "Piano centered dynamics" -msgstr "" +msgstr "中央に強弱記号を持つピアノ譜" #. @node in Documentation/user/templates.itely #. @appendixsec in Documentation/user/templates.itely @@ -3678,7 +3678,7 @@ msgstr "" #. @appendixsec in Documentation/ja/user/templates.itely #. @appendixsubsec in Documentation/ja/user/templates.itely msgid "String quartet" -msgstr "" +msgstr "弦楽四重奏" #. @appendixsubsec in Documentation/user/templates.itely #. @appendixsubsec in Documentation/fr/user/templates.itely @@ -3686,7 +3686,7 @@ msgstr "" #. @appendixsubsec in Documentation/de/user/templates.itely #. @appendixsubsec in Documentation/ja/user/templates.itely msgid "String quartet parts" -msgstr "" +msgstr "弦楽四重奏パート" #. @node in Documentation/user/templates.itely #. @appendixsec in Documentation/user/templates.itely @@ -3699,7 +3699,7 @@ msgstr "" #. @node in Documentation/ja/user/templates.itely #. @appendixsec in Documentation/ja/user/templates.itely msgid "Vocal ensembles" -msgstr "" +msgstr "合唱" #. @appendixsubsec in Documentation/user/templates.itely #. @appendixsubsec in Documentation/fr/user/templates.itely @@ -3707,7 +3707,7 @@ msgstr "" #. @appendixsubsec in Documentation/de/user/templates.itely #. @appendixsubsec in Documentation/ja/user/templates.itely msgid "SATB vocal score" -msgstr "" +msgstr "SATB ボーカル譜" #. @appendixsubsec in Documentation/user/templates.itely #. @appendixsubsec in Documentation/fr/user/templates.itely @@ -3715,7 +3715,7 @@ msgstr "" #. @appendixsubsec in Documentation/de/user/templates.itely #. @appendixsubsec in Documentation/ja/user/templates.itely msgid "SATB vocal score and automatic piano reduction" -msgstr "" +msgstr "SATB ボーカル譜と自動ピアノ譜" #. @appendixsubsec in Documentation/user/templates.itely #. @appendixsubsec in Documentation/fr/user/templates.itely @@ -3723,7 +3723,7 @@ msgstr "" #. @appendixsubsec in Documentation/de/user/templates.itely #. @appendixsubsec in Documentation/ja/user/templates.itely msgid "SATB with aligned contexts" -msgstr "" +msgstr "整列されたコンテキストを持つ SATB" #. @node in Documentation/user/templates.itely #. @appendixsec in Documentation/user/templates.itely @@ -8220,7 +8220,7 @@ msgstr "" #. @node in Documentation/de/user/input.itely #. @subsection in Documentation/de/user/input.itely msgid "Table of contents" -msgstr "" +msgstr "目次" #. @node in Documentation/user/input.itely #. @section in Documentation/user/input.itely @@ -12971,6 +12971,33 @@ msgstr "" msgid "voltaMusic" msgstr "" +msgid "Beginning of this chapter or previous chapte" +msgstr "この章の先頭または前の章" + +msgid "Next chapter" +msgstr "次の章" + +msgid "Previous section in reading order" +msgstr "前のセクション" + +msgid "Next section in reading order" +msgstr "次のセクション" + +msgid "Up section" +msgstr "上のセクション" + +msgid "Cover (top) of document" +msgstr "ドキュメントのカバー (トップ) ページ" + +#msgid "Table of contents" +#msgstr "目次" + +#msgid "Index" +#msgstr "索引" + +msgid "About (help)" +msgstr "このドキュメントについて (ヘルプ)" + msgid "Up:" msgstr "上へ:" @@ -12989,17 +13016,44 @@ msgstr "脚注" msgid "Table of Contents" msgstr "目次" +#Following messages are for "About Document" page. +msgid "The buttons in the navigation panels have the following meaning:" +msgstr "ナビゲーション パネルの中にあるボタンには以下のような意味があります:" + +msgid "About This Document" +msgstr "このドキュメントについて" + + + + # added by Sawada -#~ msgid "Contents" -#~ msgstr "目次" +# msgid "Contents" +# msgstr "目次" # added by Sawada -#~ msgid "Index" -#~ msgstr "インデックス" +# msgid "Index" +# msgstr "インデックス" # added by Sawada -#~ msgid "Up" -#~ msgstr "上へ" +# msgid "Up" +# msgstr "上へ" + +# msgid "GNU LilyPond --- Learning" +# msgstr "GNU LilyPond --- 学習マニュアル" + +# added by Sawada +#. -*- coding: utf-8 -*- +#. @node in Documentation/ja/user/lilypond-learning.tely +#. @node in Documentation/ja/user/lilypond-program.tely +#. @node in Documentation/ja/user/lilypond.tely +msgid "Contents" +msgstr "目次" + +# added by Sawada +#. -*- coding: utf-8 -*- +#. @node in Documentation/ja/user/lilypond-learning.tely +#. @node in Documentation/ja/user/lilypond-program.tely +#. @node in Documentation/ja/user/lilypond.tely +msgid "Index" +msgstr "インデックス" -#~ msgid "GNU LilyPond --- Learning" -#~ msgstr "GNU LilyPond --- 学習マニュアル" diff --git a/input/lsr/piano-template-simple.ly b/input/lsr/piano-template-simple.ly index 301251cb55..566dc3f510 100644 --- a/input/lsr/piano-template-simple.ly +++ b/input/lsr/piano-template-simple.ly @@ -18,6 +18,10 @@ Hier ein einfaches Klaviersystem. " doctitlede = "Vorlage für einfache Klaviernotation" + texidocja = " +これはいくつかの音符をもつ簡単なピアノ譜です。 +" + texidoc = " Here is a simple piano staff with some notes. diff --git a/input/lsr/piano-template-with-centered-dynamics.ly b/input/lsr/piano-template-with-centered-dynamics.ly index 3abe8bc938..e73bd69ae3 100644 --- a/input/lsr/piano-template-with-centered-dynamics.ly +++ b/input/lsr/piano-template-with-centered-dynamics.ly @@ -19,6 +19,11 @@ etwas anpassen, aber Sie können ja das angepasste Beispiel von hier kopieren. " + texidocja = " +多くのピアノ譜は、強弱記号を 2 つの譜の間に置きます。これを実現するにはちょっ@c +とした調整が必要ですが、そのテンプレートがここにあるので、あなた自身が調整を行@c +う必要はありません。 +" lsrtags = "expressive-marks,keyboards,template" texidoc = " Many piano scores have the dynamics centered between the two staves. diff --git a/input/lsr/piano-template-with-centered-lyrics.ly b/input/lsr/piano-template-with-centered-lyrics.ly index 41e739639d..4e782ab6be 100644 --- a/input/lsr/piano-template-with-centered-lyrics.ly +++ b/input/lsr/piano-template-with-centered-lyrics.ly @@ -18,6 +18,10 @@ Sie den Text auch zwischen die beiden Klaviersysteme schreiben (und damit das zusätzliche System für die Gesangstimme auslassen). " + texidocja = " +旋律と歌詞のための譜表を持つ代わりに、歌詞をピアノ譜の 2 つの譜の間に置くことができます。 +" + texidoc = " Instead of having a full staff for the melody and lyrics, lyrics can be centered between the staves of a piano staff. diff --git a/input/lsr/piano-template-with-melody-and-lyrics.ly b/input/lsr/piano-template-with-melody-and-lyrics.ly index 44d6cd8d72..03e1c6e066 100644 --- a/input/lsr/piano-template-with-melody-and-lyrics.ly +++ b/input/lsr/piano-template-with-melody-and-lyrics.ly @@ -17,6 +17,10 @@ Das nächste Beispiel ist typisch für ein Lied: Im oberen System die Melodie mit Text, darunter Klavierbegleitung. " + texidocja = " +これは一般的な歌曲のフォーマットです: 旋律と歌詞を持つ譜表と、その下にピアノ伴奏譜があります。 +" + texidoc = " Here is a typical song format: one staff with the melody and lyrics, with piano accompaniment underneath. diff --git a/input/lsr/single-staff-template-with-notes,-lyrics,-and-chords.ly b/input/lsr/single-staff-template-with-notes,-lyrics,-and-chords.ly index de800cec78..2df0358691 100644 --- a/input/lsr/single-staff-template-with-notes,-lyrics,-and-chords.ly +++ b/input/lsr/single-staff-template-with-notes,-lyrics,-and-chords.ly @@ -17,6 +17,10 @@ Mit diesem Beispiel können Sie einen Song mit Melodie, Text und Akkorden schreiben. " + texidocja = " +これは旋律、単語、コードを持つ歌曲の楽譜のためのテンプレートです。 +" + texidoc = " This template allows the preparation of a song with melody, words, and chords. diff --git a/input/lsr/single-staff-template-with-notes-and-chords.ly b/input/lsr/single-staff-template-with-notes-and-chords.ly index 076191ee5f..dbbf09f49a 100644 --- a/input/lsr/single-staff-template-with-notes-and-chords.ly +++ b/input/lsr/single-staff-template-with-notes-and-chords.ly @@ -18,6 +18,10 @@ Wollen Sie ein Liedblatt mit Melodie und Akkorden schreiben? Hier ist das richtige Beispiel für Sie! " + texidocja = " +旋律とコードを持つリード譜を欲しくはありませんか?他を見る必要はありません! +" + texidoc = " Want to prepare a lead sheet with a melody and chords? Look no further! diff --git a/input/lsr/single-staff-template-with-notes-and-lyrics.ly b/input/lsr/single-staff-template-with-notes-and-lyrics.ly index 70c93f7ee6..d03afb2ba2 100644 --- a/input/lsr/single-staff-template-with-notes-and-lyrics.ly +++ b/input/lsr/single-staff-template-with-notes-and-lyrics.ly @@ -25,6 +25,13 @@ Wenn Sie die Balken wieder einschalten wollen, müssen Sie die entsprechende Zeile entweder ändern oder auskommentieren. " + texidocja = " +この小さなテンプレートは歌詞を持つ簡単な旋律を表しています。カット&ペーストして、音符@c +を付け加えて、それから歌詞の単語を付け加えてください。この例は自動ビームを off にして@c +います。これはボーカル パートでは一般的なことです。自動ビームを使用するには、対応する@c +行を変更するか、コメント アウトしてください。 +" + texidoc = " This small template demonstrates a simple melody with lyrics. Cut and paste, add notes, then words for the lyrics. This example turns off diff --git a/input/lsr/single-staff-template-with-only-notes.ly b/input/lsr/single-staff-template-with-only-notes.ly index 4bdbd0de3f..0414cc7766 100644 --- a/input/lsr/single-staff-template-with-only-notes.ly +++ b/input/lsr/single-staff-template-with-only-notes.ly @@ -20,6 +20,11 @@ Sie es in Ihre Datei ein, schreiben Sie die Noten hinzu, und Sie haben eine vollständige Notationsdatei. " + texidocja = " +これは音符を持つ譜表を提供するとても簡単なテンプレートであり、ソロの楽器や旋律に適しています。@c +これをファイルにカット&ペーストして、音符を付け加えれば完了です! +" + texidoc = " This very simple template gives you a staff with notes, suitable for a solo instrument or a melodic fragment. Cut and paste this into a file, diff --git a/input/lsr/string-quartet-template-simple.ly b/input/lsr/string-quartet-template-simple.ly index 72ff6105f2..572e74983f 100644..100755 --- a/input/lsr/string-quartet-template-simple.ly +++ b/input/lsr/string-quartet-template-simple.ly @@ -18,11 +18,11 @@ wird auch eine @qq{@code{\global}}-Variable für Taktart und Vorzeichen benutzt. " - texidoc = " -This template demonstrates a simple string quartet. It also uses a -@code{\\global} section for time and key signatures - + texidocja = " +これは簡単な弦楽四重奏のためのテンプレートです。これは拍子記号と調号のために +@code{@bs{}global} セクションを使っています。 " + doctitle = "String quartet template (simple)" } % begin verbatim diff --git a/input/lsr/string-quartet-template-with-separate-parts.ly b/input/lsr/string-quartet-template-with-separate-parts.ly index c6d4613aca..b8e2e0fb74 100644..100755 --- a/input/lsr/string-quartet-template-with-separate-parts.ly +++ b/input/lsr/string-quartet-template-with-separate-parts.ly @@ -41,6 +41,20 @@ Partitur (@code{score.ly}). Mit @code{\tag} wird den Stimmen ein Name zugewiesen, auf den zurückgegriffen werden kann. " + texidocja = " +\"弦楽四重奏テンプレート\" は適切な弦楽四重奏の楽譜を作り出しますが、個々の@c +パート譜を譜刻する必要がある場合はどうでしょうか?今度の新しいテンプレートは +@code{@bs{}tag} 機能を用いて容易に楽曲を個々のパートに分ける方法を示しています。 + +このテンプレートは別々のファイルに分ける必要があります。ファイル名は各ファイル@c +の開始部分のコメントの中に記述されています。@code{piece.ly} はすべての音楽定義@c +を保持しています。他のファイル - @code{score.ly}, @code{vn1.ly}, @code{vn2.ly}, +@code{vla.ly} それに @code{vlc.ly} - は対応するパートを作り出します。 + + +別々のファイルに分ける場合は、指定されたコメントを外すことを忘れないでください! +" + texidoc = " The \"String quartet template\" snippet produces a nice string quartet, but what if you needed to print parts? This new template demonstrates diff --git a/input/lsr/vocal-ensemble-template-with-automatic-piano-reduction.ly b/input/lsr/vocal-ensemble-template-with-automatic-piano-reduction.ly index bd4605d93c..44969cf822 100644 --- a/input/lsr/vocal-ensemble-template-with-automatic-piano-reduction.ly +++ b/input/lsr/vocal-ensemble-template-with-automatic-piano-reduction.ly @@ -24,6 +24,13 @@ irgendeine Änderung an einer Chorstimme vornehmen, (etwa tenorMusic), verändert sich auch der Klavierauszug entsprechend. " + texidocja = " +このテンプレートは、\"合唱テンプレート\"で示された標準の SATB ボーカル譜に自動@c +ピアノ譜を付け加えています。これは LilyPond の強みの 1 つを示しています - 音楽@c +定義を何回も使用することができます。ボーカルの音符 (例えば、@code{tenorMusic} +の音符) に変更が加えられた場合、その変更はピアノ譜にも適用されます。 +" + texidoc = " This template adds an automatic piano reduction to the standard SATB vocal score demonstrated in \"Vocal ensemble template\". This diff --git a/input/lsr/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly b/input/lsr/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly index 7543e89160..7cae5a8f7d 100644 --- a/input/lsr/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly +++ b/input/lsr/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly @@ -20,6 +20,11 @@ In diesem Beispiel werden die Texte mit den Befehlen über und unter dem System angeordnet. " + texidocja = " +このテンプレートは基本的に単純な \"合唱\" テンプレートと同じですが、歌詞が +@code{alignAboveContext} と @code{alignBelowContext} を用いて配置されています。 +" + texidoc = " This template is basically the same as the simple \"Vocal ensemble\" template, with the exception that here all the lyrics lines are placed diff --git a/input/lsr/vocal-ensemble-template.ly b/input/lsr/vocal-ensemble-template.ly index 0b529e3767..cc3270e67b 100644 --- a/input/lsr/vocal-ensemble-template.ly +++ b/input/lsr/vocal-ensemble-template.ly @@ -22,6 +22,12 @@ die in allen Stimmen eingefügt wird. Taktart und Vorzeichen etwa sind fast immer gleich in allen Stimmen. " + texidocja = " +これは標準の 4 パート SATB (ソプラノ、アルト、テナー、バス) ボーカル譜です。@c +もっと大きな合唱では、すべてのパートで使用されるセクションをインクルードすると@c +便利です。例えば、拍子記号と調号はほとんど常にすべてのパートで同じです。\"賛美@c +歌\" テンプレートのように、4 つのボイスは 2 つの譜にグループ分けされています。" + texidoc = " Here is a standard four-part SATB vocal score. With larger ensembles, it is often useful to include a section which is included in all parts. diff --git a/input/texidocs/piano-template-with-centered-dynamics.texidoc b/input/texidocs/piano-template-with-centered-dynamics.texidoc index 0b85421b21..27d02da9af 100644 --- a/input/texidocs/piano-template-with-centered-dynamics.texidoc +++ b/input/texidocs/piano-template-with-centered-dynamics.texidoc @@ -13,3 +13,9 @@ den beiden Systemen zentriert. Für LilyPond muss man die Einstellungen etwas anpassen, aber Sie können ja das angepasste Beispiel von hier kopieren. " + + texidocja = " +多くのピアノ譜は、強弱記号を 2 つの譜の間に置きます。これを実現するにはちょっ@c +とした調整が必要ですが、そのテンプレートがここにあるので、あなた自身が調整を行@c +う必要はありません。 +" diff --git a/input/texidocs/piano-template-with-centered-lyrics.texidoc b/input/texidocs/piano-template-with-centered-lyrics.texidoc index 67dcbd406b..360a4e53d4 100644 --- a/input/texidocs/piano-template-with-centered-lyrics.texidoc +++ b/input/texidocs/piano-template-with-centered-lyrics.texidoc @@ -10,3 +10,7 @@ Anstatt ein eigenes System für Melodie und Text zu schreiben, können Sie den Text auch zwischen die beiden Klaviersysteme schreiben (und damit das zusätzliche System für die Gesangstimme auslassen). " + + texidocja = " +旋律と歌詞のための譜表を持つ代わりに、歌詞をピアノ譜の 2 つの譜の間に置くことができます。 +" diff --git a/input/texidocs/piano-template-with-melody-and-lyrics.texidoc b/input/texidocs/piano-template-with-melody-and-lyrics.texidoc index 186e3cb0f4..42f0060f62 100644 --- a/input/texidocs/piano-template-with-melody-and-lyrics.texidoc +++ b/input/texidocs/piano-template-with-melody-and-lyrics.texidoc @@ -9,3 +9,7 @@ melodía y la letra, y el acompañamiento de piano por debajo. Das nächste Beispiel ist typisch für ein Lied: Im oberen System die Melodie mit Text, darunter Klavierbegleitung. " + + texidocja = " +これは一般的な歌曲のフォーマットです: 旋律と歌詞を持つ譜表と、その下にピアノ伴奏譜があります。 +" diff --git a/input/texidocs/single-staff-template-with-notes,-lyrics,-and-chords.texidoc b/input/texidocs/single-staff-template-with-notes,-lyrics,-and-chords.texidoc index 0fe0a5c01e..e6549394e6 100644 --- a/input/texidocs/single-staff-template-with-notes,-lyrics,-and-chords.texidoc +++ b/input/texidocs/single-staff-template-with-notes,-lyrics,-and-chords.texidoc @@ -9,3 +9,7 @@ letra y acordes. Mit diesem Beispiel können Sie einen Song mit Melodie, Text und Akkorden schreiben. " + + texidocja = " +これは旋律、単語、コードを持つ歌曲の楽譜のためのテンプレートです。 +" diff --git a/input/texidocs/single-staff-template-with-notes-and-chords.texidoc b/input/texidocs/single-staff-template-with-notes-and-chords.texidoc index 2044578bae..aa5d7b71c3 100644 --- a/input/texidocs/single-staff-template-with-notes-and-chords.texidoc +++ b/input/texidocs/single-staff-template-with-notes-and-chords.texidoc @@ -10,3 +10,7 @@ doctitlees = "Plantilla de pentagrama único con música y acordes" Wollen Sie ein Liedblatt mit Melodie und Akkorden schreiben? Hier ist das richtige Beispiel für Sie! " + + texidocja = " +旋律とコードを持つリード譜を欲しくはありませんか?他を見る必要はありません! +" diff --git a/input/texidocs/single-staff-template-with-notes-and-lyrics.texidoc b/input/texidocs/single-staff-template-with-notes-and-lyrics.texidoc index fceb221a6d..5cf5067d87 100644 --- a/input/texidocs/single-staff-template-with-notes-and-lyrics.texidoc +++ b/input/texidocs/single-staff-template-with-notes-and-lyrics.texidoc @@ -17,3 +17,11 @@ wie es für Vokalmusik üblich ist. Wenn Sie die Balken wieder einschalten wollen, müssen Sie die entsprechende Zeile entweder ändern oder auskommentieren. " + + texidocja = " +この小さなテンプレートは歌詞を持つ簡単な旋律を表しています。カット&ペーストして、音符@c +を付け加えて、それから歌詞の単語を付け加えてください。この例は自動ビームを off にして@c +います。これはボーカル パートでは一般的なことです。自動ビームを使用するには、対応する@c +行を変更するか、コメント アウトしてください。 +" + diff --git a/input/texidocs/single-staff-template-with-only-notes.texidoc b/input/texidocs/single-staff-template-with-only-notes.texidoc index 31276c8755..ecf7ab2495 100644 --- a/input/texidocs/single-staff-template-with-only-notes.texidoc +++ b/input/texidocs/single-staff-template-with-only-notes.texidoc @@ -12,3 +12,9 @@ Soloinstrument oder ein Melodiefragment. Kopieren Sie es und fügen Sie es in Ihre Datei ein, schreiben Sie die Noten hinzu, und Sie haben eine vollständige Notationsdatei. " + + texidocja = " +これは音符を持つ譜表を提供するとても簡単なテンプレートであり、ソロの楽器や旋律に適しています。@c +これをファイルにカット&ペーストして、音符を付け加えれば完了です! +" + diff --git a/input/texidocs/string-quartet-template-simple.texidoc b/input/texidocs/string-quartet-template-simple.texidoc index b6f1b4a185..52748cbd4e 100644..100755 --- a/input/texidocs/string-quartet-template-simple.texidoc +++ b/input/texidocs/string-quartet-template-simple.texidoc @@ -10,3 +10,8 @@ Dieses Beispiel demonstriert die Partitur für ein Streichquartett. Hier wird auch eine @qq{@code{\global}}-Variable für Taktart und Vorzeichen benutzt. " + + texidocja = " +これは簡単な弦楽四重奏のためのテンプレートです。これは拍子記号と調号のために +@code{@bs{}global} セクションを使っています。 +" diff --git a/input/texidocs/string-quartet-template-with-separate-parts.texidoc b/input/texidocs/string-quartet-template-with-separate-parts.texidoc index 7f6cc68d5f..4fe1cfb63b 100644..100755 --- a/input/texidocs/string-quartet-template-with-separate-parts.texidoc +++ b/input/texidocs/string-quartet-template-with-separate-parts.texidoc @@ -33,3 +33,17 @@ enthält die Noten. Die anderen Dateien -- @code{score.ly}, Partitur (@code{score.ly}). Mit @code{\tag} wird den Stimmen ein Name zugewiesen, auf den zurückgegriffen werden kann. " + + texidocja = " +\"弦楽四重奏テンプレート\" は適切な弦楽四重奏の楽譜を作り出しますが、個々の@c +パート譜を譜刻する必要がある場合はどうでしょうか?今度の新しいテンプレートは +@code{@bs{}tag} 機能を用いて容易に楽曲を個々のパートに分ける方法を示しています。 + +このテンプレートは別々のファイルに分ける必要があります。ファイル名は各ファイル@c +の開始部分のコメントの中に記述されています。@code{piece.ly} はすべての音楽定義@c +を保持しています。他のファイル - @code{score.ly}, @code{vn1.ly}, @code{vn2.ly}, +@code{vla.ly} それに @code{vlc.ly} - は対応するパートを作り出します。 + + +別々のファイルに分ける場合は、指定されたコメントを外すことを忘れないでください! +" diff --git a/input/texidocs/vocal-ensemble-template-with-automatic-piano-reduction.texidoc b/input/texidocs/vocal-ensemble-template-with-automatic-piano-reduction.texidoc index 2821f695a3..3236f6bd09 100644 --- a/input/texidocs/vocal-ensemble-template-with-automatic-piano-reduction.texidoc +++ b/input/texidocs/vocal-ensemble-template-with-automatic-piano-reduction.texidoc @@ -16,3 +16,10 @@ Chorpartitur hinzugefügt. Das zeigt eine der Stärken von LilyPond irgendeine Änderung an einer Chorstimme vornehmen, (etwa tenorMusic), verändert sich auch der Klavierauszug entsprechend. " + + texidocja = " +このテンプレートは、\"合唱テンプレート\"で示された標準の SATB ボーカル譜に自動@c +ピアノ譜を付け加えています。これは LilyPond の強みの 1 つを示しています - 音楽@c +定義を何回も使用することができます。ボーカルの音符 (例えば、@code{tenorMusic} +の音符) に変更が加えられた場合、その変更はピアノ譜にも適用されます。 +"
\ No newline at end of file diff --git a/input/texidocs/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.texidoc b/input/texidocs/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.texidoc index 0942b05210..2c55b5a7c5 100644 --- a/input/texidocs/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.texidoc +++ b/input/texidocs/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.texidoc @@ -12,3 +12,8 @@ In diesem Beispiel werden die Texte mit den Befehlen @code{alignAboveContext} und @code{alignBelowContext} über und unter dem System angeordnet. " + + texidocja = " +このテンプレートは基本的に単純な \"合唱\" テンプレートと同じですが、歌詞が +@code{alignAboveContext} と @code{alignBelowContext} を用いて配置されています。 +" diff --git a/input/texidocs/vocal-ensemble-template.texidoc b/input/texidocs/vocal-ensemble-template.texidoc index 1fb66634a3..18307619cc 100644 --- a/input/texidocs/vocal-ensemble-template.texidoc +++ b/input/texidocs/vocal-ensemble-template.texidoc @@ -14,3 +14,9 @@ Stücken ist es oft sinnvoll, eine allgemeine Variable zu bestimmen, die in allen Stimmen eingefügt wird. Taktart und Vorzeichen etwa sind fast immer gleich in allen Stimmen. " + + texidocja = " +これは標準の 4 パート SATB (ソプラノ、アルト、テナー、バス) ボーカル譜です。@c +もっと大きな合唱では、すべてのパートで使用されるセクションをインクルードすると@c +便利です。例えば、拍子記号と調号はほとんど常にすべてのパートで同じです。\"賛美@c +歌\" テンプレートのように、4 つのボイスは 2 つの譜にグループ分けされています。" |