楽譜を作成するためのマクロです
MusiXTeX の作者である Daniel TAUPIN 氏が亡くなられました. 2003 年 8 月 26 日のことでした. 死因はアルプス登山の最中の事故死でした. ご冥福をお祈りいたします.
M-Tx をコンパイルするために, p2c が必要です.
musixtex-T112.tar.gz
を展開し,
作成されたディレクトリ musixtex-T112 に移動する
(以降, このディレクトリを $MUSIXTEXSRC と表記する.).musixflx
を作成し,
TeX がインストールされているディレクトリにインストールする.
(gcc -O2 -s -o musixflx musixflx.c &&
install -m 755 musixflx /usr/local/bin &&
install -m 644 musixflx.1 /usr/local/man/man1
)musixps-0.92.tar.gz
を展開し,
作成されたディレクトリ musixps-0.92 に移動する.musixps-unix.tar.gz
を展開し,
作成されたディレクトリ musixps-unix に移動する.musix.map
を
$TEXMF/dvipdfm/config ディレクトリにコピーする.$TEXMF/dvipdfm/config/config
,
$TEXMF/dvipdfm/config/dvipdfmx.cfg
にそれぞれ次の行を追加する
f musix.map
musix.map
を
$TEXMF/dvips/config ディレクトリにコピーする.$TEXMF/dvips/config/config.ps
に次の行を追加する
p +musix.map
pmx240.zip
, pmx2407.zip
,
pmx2412.zip
をこの順番に,
同じディレクトリ展開します.
このとき, 同名のファイルは必ず上書きします.
また, pmx2412.zip
を展開するときは,
ディレクトリ構造を無視して展開をします.pmx.tex
を
$TEXMF/tex/generic/musixtex/misc にコピーする.pmxab.exe
および scor2prt.exe
を
TeX がインストールされているディレクトリにインストールする
(install -m 755 -s
pmxab.exe scor2prt.exe /usr/local/bin
)mtx054c.tar.gz
を展開し,
作成されたディレクトリ mtx054c に移る.prepmx/Makefile
ファイルを変更する.
私が作成したパッチが
参考になるだろう.make && strip prepmx.exe
&& make install
を実行する.musixlyr21c.tgz
を展開する. デフォルトでは,
カレントディレクトリに展開されるので注意.musixlyr.tex
があるので, これを
$TEXMF/tex/generic/musixtex/misc にコピーする.ここまでの作業を全て終えたら mktexlsr
を実行する.
特になし. 他のパッケージもインストールするのなら,
リハッシュ (C シェル系や zsh なら rehash
コマンド.
B シェル系なら hash -r
コマンド) をしておきましょう.
MusiXTeX は, その性質上, 何回も TeX コンパイルをし, その間に中間ファイルを処理する必要がでてくる. これを手動で行うとどうしてもミスがでるので, Makefile に依存を書くのが賢い方法と思われる.
以下に, Makefile の例を掲載した. 参考にして欲しい. コピーして利用する場合は, HTML の都合上, 水平タブを半角スペース 8 個にしてあるので, 適宜, 置換をすること.
# DEFS SHELL = /bin/sh MTX = prepmx PMX = pmxab TEX = tex MUSIXFLX = musixflx DVIPS = dvips DVIPDF = dvipdfmx PSPDF = ps2pdf # SUFFIX RULES .SUFFIXES: .mtx .pmx .tex .mx1 .mx2 .dvi .ps .pdf .mtx.pmx: $(MTX) $< .pmx.tex: -rm -f $(<:.pmx=.mx1) $(<:.pmx=.mx2) $(PMX) $< .tex.mx1: -rm -f $(<:.tex=.mx2) $(TEX) $< .mx1.mx2: $(MUSIXFLX) $< .tex.dvi: $(TEX) $< .dvi.ps: $(DVIPS) $< .dvi.pdf: $(DVIPDF) $< # OBJS sf_OBJECTS = sf.mx1 sf.mx2 sf_LOGS = sf.pml sf.log sf_DOCS = sf.tex sf.dvi sf.ps sf.pdf #sf.pmx # mt-x から作成する場合は sf.pmx も含める # COMPILE Rules all: sf.dvi ps: sf.ps pdf: sf.pdf pspdf: sf-pspdf clean: -rm -f $(sf_OBJECTS) distclean: -rm -f $(sf_OBJECTS) $(sf_LOGS) $(sf_DOCS) #sf.pmx: sf.mtx # mt-x から作成する場合は, 行頭の `#' を外す sf.tex: sf.pmx sf.mx1: sf.tex sf.mx2: sf.mx1 sf.dvi: sf.tex sf.mx2 sf.ps: sf.dvi sf.pdf: sf.dvi sf-pspdf: sf.ps $(PSPDF) $<
これは, sf.pmx から譜面を作成する場合の例です. コマンド引数なしの場合は DVI ファイルを作成した部分で終わります. 引数に ps を指定すると, DVI ファイルから PS ファイルを作ります. 引数に pdf を指定すると, DVI ファイルから PDF ファイルを作ります. 引数に pspdf を指定すると, DVI ファイルから一旦 PS ファイルを作り, PS ファイルから PDF ファイルを作ります. これは, 一部の PMX ファイルが DVI から直接 PDF を作成できない場合に有効です.