MusiXTeX in Russian

先日,楽譜組版 TeX パッケージ MusiXTeX の Mac OS X Snow Leopard への導入について書いたとき,ロシア語を出力することについて少し触れた。今日はもう少し詳細にその方法についてメモをしるしておく。

MusiXTeX は Plain TeX でコンパイルできるのだが,標準では 8 bit キリル文字の入力も出力も受け付けない。キリル組版用にフォーマットファイルを生成し,これを用いて MusiXTeX の .tex ファイルを処理する必要がある。このためには Cyrillic t2 パッケージ(CTAN:macros/latex/contrib/t2/)及び ec-plain パッケージ(CTAN:macros/ec-plain/)が必要である。前者は ptexlive には初期導入されている。これらを TeX ツリー(plain-TeX から参照できる $TEXMF/tex/generic/ あたり)にインストールしておく。

キリル組版用フォーマットファイル cyrtex.fmt を生成するわけであるが,使用するキリルフォントに応じて cyrtex.cfg を修正しておく。デフォルトだと LH LCY フォントを使用する設定になっているが,LCY はどうも Type1 フォントも見当たらないし,私は LH T2A 用のフォントを使うように変更した。つまり,cyrtex.cfg をカレントディレクトリにコピーして来て,これのはじめのほうにあるフォントエンコーディング選択の指定において,\c lh/lcy/lcydefs/cm/cyrcmfnt をコメントアウトし,かつ \c la/t2a/txxdefs/ex/cyrecfnt を活かすように訂正する。変更したら,cyrtex.fmt を生成する。

% cp `kpsewhich cyrtex.cfg` .  (cyrtex.cfg をカレントにコピー) 
% emacs cyrtex.cfg &  (Emacs で cyrtex.cfg を訂正)
% tex -ini -fmt=cyrtex cyrtex.ini  (フォーマットファイル生成)

MusiXTeX プリプロセス原稿 PMX ファイルには,以下のようなコードを冒頭のマクロ定義のところ(--- で囲んで定義するところ)に書いておく。

---
% font definitions for cyrillic
% 8pt roman, bold, and italic 
\font\eightrm=larm0800 % at 8pt\
\font\eightbf=labx0800 % at 8pt\
\font\eightit=lati0800 % at 8pt\
% 9pt
\font\ninerm=larm0900 % at 9pt\
\font\ninebf=labx0900 % at 9pt\
\font\nineit=lati0900 % at 9pt\
% 10pt
\font\tenrm=larm1000\
\font\tenbf=labx1000\
\font\tenit=lati1000\
% 12pt
\font\twelverm=larm1200 % scaled \magstep 1\
\font\twelvebf=labx1200 % scaled \magstep 1\
\font\twelveit=lati1200 % scaled \magstep 1\
% Large fonts for titles : normal shaped Times-Roman fonts are applied
\font\bigfont=labx1440 % scaled \magstep2, 14pt\
\font\Bigfont=labx1728 % scaled \magstep3, 17pt\
\font\BIgfont=labx2074 % scaled \magstep4, 20pt\
\font\BIGfont=labx2488 % scaled \magstep2, 25pt\
% inputenc
\input plainenc\relax\inputencoding{koi8-r}\
...
---

これは MusiXTeX が要求する文字組版用フォント一式を LH T2A cmr に割り当てる定義である。また,最後の \input 行は,原稿の文字コードを KOI8-R とすることを示す。ロシア語テキストを Windows CP1251 で作成するなら,\inputencoding の引数に cp1251 を指定しなければならない。UTF-8 は処理できない。

さて,以上のような前振りをした上で PMX 原稿の楽曲部分を準備する。今回,ロシア語を含む MusiXTeX 組版例として,ドミトリ・ショスタコーヴィチ作曲『弦楽四重奏曲第 13 番変ロ短調作品 138』第一楽章冒頭を作成してみた。この曲はショスタコーヴィチの弦楽四重奏曲のなかで私がもっとも愛するもの。ヴィオラのモノローグの悲痛な作曲者最晩年の作品である。ウェーベルンの楽譜と比べるとかなりシンプルなので,40 小節近くを結構ラクにコーディングできた。参照した市販のスコアは Dmitri Schostakowitsch STREICHQUARTETTE op. 138 / 142 / 144, Musikverlag Hans Sikorski, Hamburg, 1978 である。この市販スコアでは表題はドイツ語なんだけど,今回の例のために私はロシア語にして組んだ。PMX 原稿 shostako_op138.pmx を掲載しておく。これを次のようにして処理する。cyrtex.fmt がカレントディレクトリにあるものとする。

% ls
cyrtex.fmt              shostako_op138.pmx
% pmxab shostako_op138
% tex -fmt=cyrtex shostako_op138
% musixflx shostako_op138
% tex -fmt=cyrtex shostako_op138
% dvips -Ppdf shostako_op138.dvi -o
% ps2pdf -sPAPERSIZE=a4 shostako_op138.ps shostako_op138.pdf

組版結果の一部は図 1 のとおり。処理結果 PDF: shostako_op138.pdf も掲載しておく。

shostakovich-sq-13.png
図 1. MusiXTeX 組版結果

ショスタコーヴィチの弦楽四重奏曲第 13 番作品 138 を収録した CD も挙げておく。ロシア現代音楽を得意とするブロツキイ四重奏団による演奏である。