MusiXTeX でピアノソナタ悲愴(5) 連桁の入力

前の楽譜では,八分音符や16分音符がバラバラの状態になっていました.こういう楽譜の場合,普通は拍の分母にあわせて(この部分の場合は四部音符)音符を連桁でまとめることが普通です.そこで,その部分をまとめてみました.なお,ファイルが少し大きくなってきたので二つにわけました.曲の概略が書かれた sonata8.tex と音符列が書かれた sonata8note.tex の二つのファイルを用意して,sonata8.tex のほうをコンパイルします..


sonata8.tex


\input musixtex
\def\nbinstruments{1}% % パート数 1
\setstaffs 1{2}% パート1の段数 2
\setclef{1}{60}% % ト音記号(右手パート)
\generalsignature{-3}% % 調号=ハ短調
\generalmeter{\meterC}% % 拍子はC(4分の4拍子)
%\nostartrule % 左端の線なし
\nobarnumbers % 小節番号なし
%
\startmuflex
\startpiece % 楽譜スタート
%
% 第一小節
% 左段
\input sonata8note.tex % sonata8note.tex をここに読み込ませる.
\stoppiece
\end

sonata8note.tex


\notes % 16分音符の間隔で譜面開始
\qu J%
\ibbu0J0\qbp0J\tbbbu0\qb0L\qbp0K\tbbbu0\tbu0\qb0J%
\ql M\cl N\ds |%
\uptext{\medtype\bf Grave.}% 速度・演奏指示
\qu c%
\ibbu0c2\qbp0c\tbbbu0\qb0c\qbp0d\tbbbu0\tbu0\qb0e%
\qu e\cu d\ds\en

コンパイルして表示させると以下のようになります.


  • 連桁の入力

連桁は [桁の開始宣言][桁の中の音符][桁の中の音符]..[桁の終了宣言] という形で書きます.開始宣言は [i][桁数(bの数で指示)][棒の向き(u,l,aのいずれか)][桁の識別番号][桁を表示する音程][桁の傾き(-9〜9の間)] のように書きます.終了宣言は [t][桁数(bの数で指示)][棒の向き(u,l,aのいずれか)][桁の識別番号] です.桁の途中の音符は,[音符の種類(w,h,qのいずれか)][b][桁識別番号][音程] と書きます.わかりにくいので例を挙げます.


sample3.tex


\input musixtex
\startmuflex
\startpiece
% --------------------
\notes%
\ibu0c0%
% i ... 桁の開始
% b ... 桁数は1(八部音符)
% u ... 棒の向きは上
% 0 ... 桁を識別する番号(通常は0でよい)
% c ... この音程の三線分上に桁を表示する
% 0 ... 桁の傾き.0 は水平を意味する.
% この記述だけでは,音符は表示されない.
\qb0c%
% q ... 四分音符の玉で表示
% b ... 桁中の音符の意味
% u ... 棒の向きは上
% 0 ... 0 番の桁にくっつける
% c ... 中央の「ド」の音符を表示
\qb0c%
\qb0c%
\tbu0%
% t ... 桁の終了
% b ... 桁数1以上の桁を終了させる.
% u ... 棒の向きは上
% 0 ... 0 番の桁を終了させる
\qb0c%
\en
\bar% 小節線
% --------------------
\notes%
\ibbu0c0% bb とすると桁数は2
\qb0c\qb0P\qb0d%
\tbu0% tbbu では桁二本目以上しか終了しない.tbu とする.
\qb0c%
\en
\bar% 小節線
% ----------------------
\notes%
\ibbbl0j2%
% ibbb とすると桁数は3.
% 'l' で棒は下に付く.
% j で中央から1オクターブ上のドの三線分下から桁を書く.
\qb0j\qb0j\qb0k%
\tbl0% tbbbl では桁三本目以上しか終了しない.tbl を指定する.
\qb0k%
\en
\bar% 小節線
% ----------------------
\notes%
\ibbu0c2% bb とすると桁数は3
\qb0c\qb0c%
\qbp0d% 'p' を指定すると付点音符になる.
\tbbbu0% ibb に対して tbbb を書くと,半分だけ32分音符の桁が出る.
\tbu0% ibb を終了させる.
\qb0d%
\en
% --------------------
\stoppiece
\end

このサンプル sample3.texコンパイルすると下のような譜面になります.

桁を途中で増やしたり減らしたりすることもできます.このときは i を n に替えたコマンドを使いますが,ここでは説明を省略します.また,桁の傾きを右下がりにするときは \ibu0c{-1}のように中括弧で -1 をくくらないとエラーになります.

わたしが誤解していたのが,\ibbu で始めた桁は \tbbu で終わると思っていたところです.\tbbu は「2本目以上の桁を終わらせる」という意味になるので,これだと桁の1本目が表示されず変なことになります.\ibbu や \ibbbu で始めても \tbu で終わらせる必要があります.桁途中に付点音符を入れたり,半分だけの桁を入れたりもできます.これらの方法を駆使(?)して,sonata8note.tex を書きました.

それから,不用意に改行や空行を入れると,桁がずれたり間隔があいたりします.各行の末尾に % をつけたり,バックスラッシュ(または円記号) '\' で始まるコマンドの直前にはスペースを空けないようにしたほうがいいでしょう.