version 0.51 [2004/02/21]
MusiXTeXではスラー・タイはフォントによって描かれます。従ってフォントがない曲線は描けず,長いスラーでは継ぎ目が入るので汚くなりがちです。
そこで,「より美しく,より柔軟に」スラー・タイを描くために,MetaPostの力を借りてスラー・タイをPostScriptで描く拡張パッケージを製作しました。
以下の記述でスラーという場合,特に断りがない限りスラーとタイの両方を含むものとします。MusiXTeXの核心部分ではスラーとタイの区別はないためです。
\curve{h}{i}{j}
は対応が不完全で \midslur{h}
相当の機能となります。
\count
,\write
,\read
を各1)
music
環境でも使えます。
doc_jp
ディレクトリ
musixpss_j.html
doc_en
ディレクトリ
musixpss_e.html
doc_it
ディレクトリ
musixpss_it.html
musixpss.tex
musixpss.mp
musixpss.exe
musixpss.c
COPYING.txt
※テキストファイルはすべてLF改行(UNIXスタイル)にしています。
supp-pdf.tex
および supp-mis.tex
。角藤版ではpdfTeXの配布に含まれています。
以下は必須ではありませんが用意することをお勧めします。
musixpss.tex
を,TeXが入力ファイルとして認識できるディレクトリに置いてください。とりあえずは作成中の楽譜と同じところに置けば大丈夫です。常用するならば,例えば $TEXMF/tex/musixtex/misc/
に置けば良いでしょう。
musixpss.mp
を,MetaPostが入力ファイルとして認識できるディレクトリに置いてください。とりあえずは作成中の楽譜と同じところに置けば大丈夫です。常用するならば,例えば $TEXMF/metapost/musixtex/misc/
に置けば良いでしょう。
musixpss.exe
を PATH
が設定されているディレクトリに置きます。実際にはMusiXTeX本体のインストールの時に musixflx.exe
を置いたのと同じディレクトリに置くと良いでしょう。
musixpss.c
を44-45行目を修正の上,適当にコンパイルし,実行ファイルを適切な場所に置いてください。
ここでは,処理するMusiXTeX楽譜ソースファイルが foo.tex
であるとします。
foo.tex
を作ります。
\input musixtex.tex
の次に, \input musixpss.tex\relax
の1行を加えます。
このとき,tex foo
musixflx foo
tex foo
No file foo.1.
といったメッセージが画面に表示されます。また,通常の foo.mx1
foo.mx2
foo.dvi
に加えてスラーの各種パラメータが書かれた foo.slu
というファイルができます。
musixpss.exe
を実行します。
musixpss foo
これにより, foo.slu
からMetaPostソースファイル foo.mp
が生成されます。コマンドラインに拡張子指定があってもなくても強制的に .slu
と見なされます。
mpost foo
MetaPostの起動コマンドはシステムにより, mp
である場合もあります。終了すると, foo.1
foo.2
... というように,個々のスラーの描画命令を含んだEPSファイルがスラーの数だけ生成されます。
tex foo
今回は No file foo.1.
などという表示は出なくなり,dviファイルにスラーを取り込む \special
が書き込まれます。
なお,楽譜を変更してタイプセットし直す場合,基本的には foo.1
などのEPSファイルは消さなくても大丈夫です。特に foo.mx2
と foo.slu
の内容が両方とも変化しないような変更ならば,MusiXTeXを1回実行するだけで良い場合があります。
ただし,スラーの数や形が変わるような変更で,MusiXTeXの第1パスからやり直す場合は,通常モードおよびpdfTeX専用モード(次項参照)ではこれらEPSファイルを消しておくと,第2パスの処理速度が上がります。
このパッケージは様々な環境に対応するために,以下の3つ動作モードを持っています。
\psslurmode{general}
:通常モード(デフォルト)
\psslurmode{dvips}
:dvips/dvipdfm最適化モード
\psslurmode{pdftex}
:pdfTeX専用モード
何も指定しない場合は通常モードになります。特に理由がなければ,通常モードをお使いください。
dvips/dvipdfm最適化モードは,内部の処理が非常に簡素であるため高速にタイプセットできるほか,精度がよい,手順の第6パスが不要になる,等の利点があります。ただし,LaTeX2eレベルでdvips互換をうたっていても低レベルの命令が完全互換でないDVIware(dviout)では,正しい結果が得られなくなります。お使いのdviドライバで通常モードと同じ出力が得られることを確認の上ご使用ください。
pdfTeX専用モードはその名のとおりです。pdfTeX(ver.1.10a-devel以降)で使えます。
これら以外のDVIware(xdvi等)に対応することも考えられますが作者にはその環境がありませんので,情報提供とベータテストにご協力をお願いいたします。
※LaTeX2eのgraphicx packageに
動作モード 通常モード dvips最適化モード pdfTeX専用モード 一般のDVIware※ OK 可否はDVIwareにより異なる NG dvips OK OK NG dvipdfm OK OK NG pdfTeX NG NG OK [dvips]
オプションを指定した場合のdviファイルが正しく表示できるDVIwareなら何でも良い。(例えばdviout)
動作モード 通常モード dvips最適化モード pdfTeX専用モード ソースファイルの記述 \input musixtex
\input musixpss
\relax\input musixtex
\input musixpss
\relax
\psslurmode{dvips}%\input musixtex
\input musixpss
\relax
\psslurmode{pdftex}%処理手順 全6パス
+ DVIware
tex foo
musixflx foo
tex foo
musixpss foo
mpost foo
tex foo
%DVIWARE% foo
全5パス
+ dvipsまたはdvipdfm
tex foo
musixflx foo
tex foo
musixpss foo
mpost foo
dvips foo
(ordvipdfm foo
)全6パス
+ Acrobat Reader
pdftex foo
musixflx foo
pdftex foo
musixpss foo
mpost foo
pdftex foo
(AcroRd32) foo
\psslurthickadj
というマクロを任意の実数に再定義すると,スラーの太さがデフォルトの \psslurthickadj
倍になります。例えば \def\psslurthickadj{2.5}
とするとデフォルトの2.5倍の太さになります。
このパッケージを読み込んだ状態で,何らかの理由によりPS化スラーでなくフォントによるスラーを使いたい場合,楽譜ソースファイルの任意の場所で,PS化スラーと従来のフォントによるスラーを切り替えることができます。
\enablepsslurM
\disablepsslurM
上手く使うと,Stanislav Kneifl氏のパッケージ(通称'PostScript Slurs Type K')との共存も出来る,かもしれませんが未確認です。
海外ユーザーから「中間EPSファイルを削除できるようにして欲しい」との要望が多くあり,実装しました。また,通常モードおよびpdfTeX専用モードで,楽譜を変更してMusiXTeXの第1パスからタイプセットし直す場合のEPSファイル一括削除にもにも利用できます。
musixpss -clean foo.slu
または同じことですが
musixpss foo.slu -clean
とすると(ファイル名の .slu
は無くても構いません),すべての中間EPSファイル
foo.1
, foo.2
, ...foo.n
を削除します。ただし,実装は手抜きであり,意図に反していらんもんも削除してしまうかもしれませんので,ソースファイルを検討の上,注意して使用してください。
このパッケージの著作権は作者にあります。使用条件はGNU GPL ver.2(またはそれ以降)に準拠したフリーソフトウェアとします。同梱の COPYING.txt ファイルを参照して下さい。GNU GPLの邦訳は http://www.gnu.org/japan/ から得られます。
COPYING.txt
または http://www.gnu.org/.
Hiroaki MORIMOTO
mailto: CQX05646@nifty.com
Luigi Cataldi氏には,pdfTeXにおける動作確認と,説明書のイタリア語への翻訳をしていただきました。ここに感謝いたします。
\special{epsfile=...}
から special{PSfile=...}
へ変更。オリジナルのdvipsで動作可能になるとともに,dvioutの仕様にも配慮した。
.slu
ファイル名の拡張子の扱いを無視から補完に変更。
\midslur h
や \curve hij
を指定したときに動作がおかしくなる場合があるのを修正。
\islurd...
で始まる(下向き)スラーで \midslur h
を指定すると上下裏返しになるのを修正。
\isluru0...\midslur{-5}\tslur0
)にしたときの挙動をオリジナルに近づけた(完全ではない)。
\invertslur
, \Tslurbreak
, \Islur[u|d]break
)に対応。
\midslur h
の h
が大きい場合にぎくしゃくしていたのを改善。曲線の内部パラメータを変更。また,「ペンのねじり」がスラーの向きに合うように修正。
\special{PSfile=...}
)に座標を書き込まないか書き込むか)を指定できるようにし( \psslursimplepositioning[true|false]
),これを仕様として公開した。
\psslurorgemu[true/false]
)。
\musicsize
)に合わせて,スラーの太さが変わるようにした。
.slu
ファイル読み込み時にパラメータの不足をチェックするようにした。
\psslurthickadj
)
\psslursimplepositioning[true|false]
を廃止し,新たに \psslurmode{general|dvips|pdftex}
で指定するようにした。
musixpss.mp
に独立させた。
musixpss.tex
の行末処理( %
でコメント化)の不備を修正。
\Check@staff
への対応