MusiXTeXの更新履歴

[2015/04/01 (amendments 2016/07/06 and 2017/03/04) ]

MusiXTeX本体のアーカイブには更新履歴が入っていないので,私が使い始めたT.102から、最後に使ったT.116迄について,独自に調べてみました。ただし,抜けがあるかもしれませんのでご注意下さい。リリース日付の表記は [マクロの記載,tar.gz書庫配布のmusixtex.tex のタイムスタンプ(JST-date)] としてあります。
T.109リリース時に,T.99以降の更新一覧をTaupin氏自身がTeX-music MLでコメントしていますが,実際にインプリメントされた時期とは少しずれがあるようです。


T.103〜T.112(D. Taupin氏自身による)

T.103

T.102から更新されたファイルは musixtex.tex と musixdoc.* のみであり,機能的な差は以下の1点だけです。

したがって,従来のMusiXTeXソースをタイプセットする限りでは,T.102からアップデートする必要はほとんどないでしょう。

T.104

ライセンスがGNU GPL ver.2になりました。ドキュメントとマクロファイルの殆どが更新されていますが,GPL準拠に伴うコメント追加のみであり,機能的な差はまったくありません。したがって,T.103からアップデートする必要はありません。 ただし,記号の使用法のサマリー musixref.tex は若干の更新があるようです。

T.106 [30 April 2002]

いくつか細かい変更がありました。なお,T.105は欠番です。

  1. 以前からundocumentedだったマクロの説明がマニュアルに掲載
  2. マクロの新設
  3. ユーザーに影響しない,内部的な変更
  4. 説明が無いが新設されているマクロ(T.107でもundocumentedのまま)
  5. その他

T.107 [2 June 2002, 5 June 2002]

一部過去と互換性が無い変更があります。

  1. 仕様変更
  2. 新設マクロ
  3. マニュアルの訂正

T.108 [2 June 2002, 5 July 2002]

Taupin氏のML投稿より

  1. マクロ追加

T.109 [2 July 2002, 10 July 2002]

Taupin氏のML投稿より

  1. Hiding instruments for specific orcherstral and chamber music
    (特定の方法で書かれた楽譜から,一部の楽器パートを消すことができるようになった)
    この機能のためT.109はβ版扱いです。musixcpt.texが大幅に改変されている(らしい)ので,過去のMusicTeX用の楽譜をタイプセットできなくなっている可能性があります。その場合はT.108あるいはT.103を使うことになります。

(後日記,独自調査で発見した仕様変更・非互換性とTaupin氏の見解)

  1. スラーの内部マクロがより高信頼な動作になるように若干変更されています。[2010/05/24訂正]\check@staffという内部マクロが新設され、スラーを始めとする様々な要素を書く際にパート・声部の指定を間違えた場合にはエラーで落ちるようになりました。 ピアノ譜でもないのに | あるいは \nextinstaff(パート内の次の声部への移動)を用いた場合,これまではいい加減に(時として滅茶苦茶に)組版できていましたが,このバージョン以降では確実にエラーとして検出されます。
    私のmusixpssパッケージを併用すると,[2010/05/24追記]スラーだけはT.108相当の信頼性に戻ってしまいます。Taupin氏の見解では,これはさしあたり問題ないだろうとのことです。
    [2010/05/24追記]Moriwaki Michio氏による MusiXExp で\Upperna、\Uppersh、\Upperflは引数を取るが、本仕様変更により\C@accの新しい定義\check@staff〜\@Ti\fiにおいて\@Tiが従来と異なり引数を取れない構造になってしまったため処理がうまくいかない。暫定的に\check@staff〜\expandafter\@Ti\fiとすれば従来通り引数を取れるようになり一応動くが、逆に他の標準装備要素に非互換性を生じる可能性があり詳細未確認。

T.110 [31 Dec. 2002, 3 Jan. 2003]

  1. マニュアル musixdoc.tex のうち,スラーに関する記述で曖昧だった部分が明確に規定されました(多分,私がPMX2.359のバグを指摘したときの議論が反映されている)。
  2. スラーに関するバグフィックス。\midslur 指定時に高さが合わないことがあった(私のmusixpssパッケージでは対策してあった)。
  3. \ihsluru, \ihslurd, \TslurbreakNextBar, \IslurubreakPrevBar, \IslurdbreakPrevBar のインプリメント。

T.111 [3 Jan. 2003, 6 Jan. 2003]

  1. これまで musixbm.tex に分離されていた128分音符の定義が musixtex.tex 本体に取り込まれました。musixbm.tex は今後不要になりますので,なるべく指定しないようにして下さい。
    これに伴いTeXのレジスタ使用数が増えたため,レジスタを手荒く使うパッケージ(旧版のmusixlyrなど)との併用ができない場合があります。LaTeXとの併用は厳しく,英語版LaTeX2e + MusiXTeX + PMXの組み合わせが限界です。pLaTeX2e + MusiXTeX + PMXでは組版不可能です。
  2. \ccupの定義が本体に追加された(が\cclpが抜けている)。
  3. 内部的なバグフィックス。T.108と上位互換になった。[2010/05/24訂正]ただし\check@staffに非対応のマクロが動かないことは避けられない。
  4. マニュアルのMusiXTeXの入手方法にIcking-Music-Archiveが記述された。

T.112 [3 Jan. 2003, 9 Jan. 2003]

  1. T.111で小節番号の位置がおかしくなる(五線の上に出ないことがある)ことのバグフィックス。musixtex.texを入れ替えるのみでOK。

なお、このバージョンは配布書庫に複数のマイナーリビジョンが存在します。

★Daniel Taupin氏,逝去

[2003/09/02] MusiXTeXの作者Daniel Taupin氏が,8月28日,アルプス登山中に事故で亡くなられました。
上記にもありますが,私も「スラーのPS化」をver.0.50に更新したときに,MusiXTeX内部のスラー処理に関する質問をしたことがあります。それはたった2往復のやりとりでしたが,作者直々に答えて下さり,また,「MusiXTeXはフリーの楽譜組版ソフトの中で日本語を正しく扱える唯一のものである」という指摘をしたときに,「それは面白い」と返事をいただいたことは,大変嬉しい思い出です。
もはやこういう質問もできなくなってしまったと思うと,とても残念です。氏のご冥福をお祈りしつつ,今後も少しずつですがMusiXTeXのコミュニティにソフトウェアを寄付しつづけていこうと思います。


T.113以降(TeX-Music MLのメンバーによる)

Daniel Taupin氏の亡き後しばらくは放置状態であったが、Don Simons氏(米国)、Christian Mondrup氏(デンマーク)、Cornelius C. Noack氏(独国)、Jean-Pierre Coulon(仏国)、Bob Tennent(カナダ)らのもとで、いくつかのknown bugが訂正され、メンテナンスされるようになった。現在、CTANの登録管理はBob氏が行っている。

T.113 [28 June 2005, (rev.2)17 July 2005]

  1. 以下のものが標準装備に取り込まれた。
  2. \Ioctfin[up | down]\sepbarrules を併用するとうまく動かないのを修正。musixtex.tex 2259行目付近\def\rul@sep#1
  3. コーラスパートを束ねるブラケットの髭が、\musicsizeが16ptの場合に最初の1段目だけ20ptのフォントが使われてしまうバグの修正。なお2段目以降はT.112以前でも\musicsizeと髭のフォントサイズの対応は正しい。Correction of a bug in the definition of choir bracket (l.1688-1698)
  4. 以下の命令の追加。
  5. musixadd.tex を読み込まずに musixmad.tex を読み込むと,外部レベルで \catcode`\@=11 となり,内部マクロが丸見えになってしまうことの修正。(私の指摘、rev.2で反映)
  6. モジュール名表示で\immediate\write10{...}というのがたくさんあったのを\immediate\write16{...}に直した。(私の指摘、rev.2で反映)

T.113のKnown Bugs

  1. \ccupの定義が本体に追加されたが\cclp, \zccup, \zcclpがmusixpoi.texに取り残されたままになっている。(T.111以降)
  2. \ccupが本体で定義されるようになったためmusixpoi.texが動かなくなった(T.111以降)(私の指摘)
  3. ドキュメントmusixdoc.tex組版にはmusixmad.texは本来不必要だが使用されている。(歴史的バグの可能性大→このバグは少なくともT.103以降ずっとあることを確認、T.102以前は未調査)(私の指摘)
  4. 上記によりドキュメント組版時にmusixmad.texを外すと、ドキュメントのP.60で\metronおよび\metronequivがおかしくなってしまう。(歴史的バグの可能性大→このバグは少なくともT.103以降ずっとあることを確認、T.102以前は未調査)(私の指摘)
  5. \musicsizeを変更すると音部記号(ト音記号等)のスペーシングがおかしい。(歴史的バグ。D.Taupin氏自身が事故直前の2003.6に指摘していた)
  6. スラー・タイのIDが10以上(2桁以上)の場合、\ttieおよび\tlegが正しく動作しない。(歴史的バグ。David Allsopp氏指摘)

以後、私もメンテナンスに参加した。

T.114 [正式版 26 December 2009(musixtex.texは1 Feb 2009,T114-beta4と同一)]

私とDon Simons氏、Andre Van Ryckeghem氏、Jean-Pierre Coulon氏の協業でTeX-MusiX ML各位のバグレポート等に基づき作成したもの。上記T.113のKnown Bugをすべて潰した。これがおそらく史上最も安定したMusiXTeXである。

また、補助パッケージの追加収録・充実を図っている。Andre氏の強い意向により欧州のMikTeX on Windows向けのインストールバッチファイルも追加された。私はインストールバッチについては日本の現状を鑑み特に関与しなかった。日本のW32TeXには使えるかどうか調査中。他のプラットホーム向けにはあまり有用でない。

なんでこんなものを作ったかといえば、musixuadの機能を統合したT.115というのを作るには、互換性の基準となるマイルストーンが必要になるためである。

T.114のKnown Bug

  1. If you load musixper.tex and musixdia.tex is not yet loaded then the catcode of @ will not be reset correctly, because musixdia will overwrite the definition of \catcodeat. [reported by David Fritzsche on 19 Oct 2010.]
    これはT.63以降ある歴史的バグ。

T.115 [2011/04/03]

私が作業していましたが、正式リリースとなり数年越しの計画が実を結びました。震災の影響でpendingになった内容がいくつかあるのが残念ですが、いくばくかでも貢献できただけでも満足すべきかもしれません。

なお、本家にあるものとCTAN/macros/musixtex/にあるものは多少違っています。本家のものはAndre氏の強い意向でMiKTeX2.6専用のインストールスクリプトを同梱してあるが、CTANメンテナのBob氏は「そんなもんはいらん」ということでオーソドックスな書庫形態に戻したものをCTANに登録したようです(未確認)。この辺りは未だ流動的ですが、基本的にはバージョン番号が同じ限り機能は変わりません。Andre氏のMiKTeX用スクリプトはいずれにせよ日本のTeXでは役に立たないので、日本のユーザーは普通に書庫をほどいてインストールすればOKです。

変更内容(書庫内changelogには反映されてない)

  1. musixuadの機能をカーネルに統合し、パート数をはじめ様々なものの制限を12から100に拡大する。
    これは国内でもe-pTeXが広く普及し、e-TeX拡張を標準的に要求することに対する障壁が解消されたことに伴うもの。ただし、従来の、レジスタが256しかないTeXで使う場合でも、従来通りの動作が完全に可能である。
    作業にはDon Simons氏の全面的な協力・アドバイスを得ている。また、Don Simons氏はPMXの最大24パート拡張バージョンを作成してくれた。
  2. \setname\edef でなく \def で定義するように変更。M-Tx使用時の利便性を改善。これは「歴史的バグ」と「仕様」の中間的な性質の問題点だった。
  3. (これのみ私の担当でない)musixflx.c がバージョンアップされた。最近のコンパイラが出す種々のセキュリティ警告に対応したものであり、機能的変化はない。CTANにおいてソースコード、Win32, MacOSXのバイナリが入手可能。
  4. 上記musixper.texのバグ修正(ファイルのバージョン表記はT.60のままなので、日付<27 September 2010>で見分けてください)

フォローアップ予定項目

  1. changelog.txtをきちんと書く。
  2. 一時期、Lua版musixflxが議論されていました。角藤版は既にこれに移行したようですがそれに伴う混乱もあるようです。機能的には変わりませんので、当面は普通にexeを使う方が良いでしょう。
  3. Don氏の強い意向により、バージョン番号表記が"1.15"になるようです。(私は原著者Taupin氏からのシリアルナンバーを受け継ぐ意味でこの変更には反対のコメントを投げました)

T.115のknown bug [2011/09/17]

  1. \bigaccidを指定しない場合すなわちデフォルトの\smallaccidでは、cautional accidentals(注意書きの臨時記号、かっこで囲まれたもの)を一度使うとそれ以後普通の臨時記号もすべてcautionalに化けてしまう。Don氏の指摘により私が調査。これは歴史的バクのようです。以下はMLに投げた私の調査結果です。
    I found some macros for small accidentals and cautionary accidentals are shared.
    The followings are related codes for naturals. Same as flats, etc. (line numbers are for musixtex.tex version 115)

    3838: \def\bigaccid{\let\small@test\iftrue}
    3839: \def\smallaccid{\let\small@test\iffalse}

    3844: \def\na#1{\small@test\bigna{#1}\else\smallna{#1}\fi}
    3869: \def\smallna{\set@sa \let\@Tii\@Na \n@v\f@ur \C@acc}
    3858: \def\bigna{\set@ba \let\@Tii\@Na \n@v\f@ur \C@acc}
    3875: \def\cna{\n@vii\maxdimen \smallna}

    3864: \def\@sa{\ifnum\n@vii=\maxdimen \C@ChaR \musixchar\n@v \kern.3\qn@width
    3865: \else \musixchar\n@v \fi \n@vii\z@}
    3866: \def\writ@sa{\pl@base\raise\y@i\llap{\@sa\kern\accshift}}
    3867: \def\set@sa{\let\@Ti\writ@sa \n@iv\fiv@ \n@vi\@xl }

    \@sa (=small accidental) expects that \n@vii is reset to \z@ at its end. however, it seems to be inside a group, so it is set to \maxdimen again at the end of \writ@sa, in case once \cna is invoked.
    (I can't understand clearly why it is inside a group...)
    Adding \global prefix is not appropriate because \n@vii is used for other objective in other sections.

    This bug is there in T.114 too. I don't search any previous versions but it seems to be a historical bug (maybe T.109).
    [2011/12/26]これを修正するには、このファイル fixca.texを\input してください。(2011/09/17にTeX-music MLに添付ファイルで投稿していたのでMLを見ていればわかるのですが、ここに置いておくのを忘れていました。スミマセン。誰かこれを本家にコミットしてT.116としてリリースしていただけると幸いです。)
    [2012/04/28]歴史的バグでした。T.104でも上記と同じコードで、T.104と動作が変わっていないT.108で同じ問題が再現しました。

T.116 [2015/02/28, 2015/04/22]

主な作業はCTANメンテナのBob氏によります。私もいくつかのcontributionをしましたが、本業があまりに忙しくて丸投げ状態となり、出来上がった物もまだ見られていないので、項目のみ列挙しておきます。

変更内容

  1. T.115のknown bug 1件(上記)の訂正。
  2. フォントの追加。musixtmrはBob氏による全面改訂で現代的な物に生まれ変わり、同氏によるPalatino版musixplt.texとともに公式配布に取り込まれた。
  3. マニュアルの前言の改訂。
  4. curly.tex と tuplet.tex は、そのファイル名があまりにgenericなため、TeXLiveにおいてTeXの他のマクロセットと競合する恐れがあるので何とかしろという要請がKarl Berry氏から出ていたそうです。TeX Directory Structureを堅持する都合上、他の場所へ移動するわけにもいかず、既に本体と不可分な存在にもなっているため、内容を丸ごと本体へ統合の上、単体ファイルは削除されました。よって、これらを \input している古いソースでは、該当する \input を削除してください。
  5. その他諸々(把握し切れていません)。一部、バグフィックスではない変更のうち、フォントサイズなど厳密な意味において微妙に従来非互換となる箇所もありますが、文法は一切変わっていません。
  6. [2015/04/22] Minor corrections have been made to musixtex.tex (definitions of \nnotes and \nnnotes) and musixdoc.

T.117 (1.17) 以降

CTANメンテナのBob氏が精力的に取り組んでいます。すいません、私はもうMusiXTeXを使う需要を失ってしまったため、何も調べていません。今後もおそらく調べることは無いと思います。http://icking-music-archive.org/software/htdocs/index.html を見てください。今日 (2017/03/04) 時点の最新版はver.1.24です。


その他の情報

★最新版MusiXTeXと日本語版マニュアル再組版

Moriwaki Michio氏の日本語版マニュアルを再組版したい場合は,新しいバージョンT.111以降か,古いT.108〜T.98を使ってください。 T.109 T.110 では内部の微妙な非互換性のため,警告の嵐になります。

★もうひとつの「スラーのPS化」

Stanislav Kneifl氏の手による,スラーをフォントでなくPostScriptで描画するパッケージがあります。T.113で標準配布に取り込まれました。
http://icking-music-archive.org/software/musixtex/slur-ps.zip
これは通称「Type K」と呼ばれています。私が実現しているもの(Type Mと呼ばれている)とはまったく別のパッケージです。新しいスラー記述命令や,スラー以外にcresc.などにも対応しているのが魅力です。なお,PMX 2.352以降には,このパッケージを使うためのサポート命令が含まれています。
ただし,レジスタ使用数が非常に多いので,LaTeXとの併用は(e-がつかない物では)できません。dvipsに依存したPostScript直接埋め込み\specialを使うため,dvips(k)以外のdviwareではスラーが表示できません。基本的に,plain TeX上で作業し,dvips(k)+GhostscriptでPDFを作ることが前提になっています。

[2004/10/02] Stanislav Kneifl氏は現在,MusiXTeXは使っておらず,Sibelius(商用)に移行してしまったそうです。今後の機能拡張は期待できません。

[2004/10/30] このパッケージ,Stanislav Kneifl氏が当初,OpusTeX向けとして1998年頃に開発したもの(OpusTeX 0.84に含まれています)を,MusiXTeX向けに調整しただけのものらしいことがわかりました。

★OpusTeX: MusiXTeXの弟分

MusiXTeXの弟分として,OpusTeXというものがあります。大雑把には,Daniel Taupin版のMusiXTeXから分岐した,Andreas Egler版のMusiXTeXと考えて差し支えありません。
プロジェクトが分岐した経緯は明確にされていません。history.txtの記述から想像するに,MusiXTeX ver.0.45の頃,MusiXTeXの開発過程において,ライセンスや過去のMusicTeXとの互換性等をめぐり,TaupinとEglerが何らかの対立をしたため,Eglerが自分のアイデアを盛り込んだ版を分離し独自路線を歩み始めたのが発端のようです。その後,名前が同じでは都合が悪くなり,ver.0.52以降,OpusTeXという新しい名前が与えられました。ただ,本家から分離するときの言動や,TeX社会のコモンセンスに反する制限の強いライセンスが良くなかったのでしょう,MusiXTeXコミュニティの主軸メンバーからは見放されてしまったようです。現にOpusTeX向けのweb pageや拡張パッケージはほとんど見当たりません。
OpusTeXの文法は,当然ながらMusiXTeXと酷似しています。しかし過去のMusicTeXのしがらみがないぶん内部動作の効率が高く,脚注に譜例を入れることができるなど,パフォーマンス的には優れた部分があるようです。また,グレゴリオ時代の楽譜についてもMusiXTeXより機能が豊富だそうで,欧州にはOpusTeXを常用とする人もいるようです。
Eglerは開発を続け,OpusTeXは1998年にはver.0.84となりましたが,それ以来公式には進展が止まっています。以前にはEgler本人から、ver.0.84の次バージョンのアナウンスがTeX-music MLに流れたこともありましたが、現在では完全に音沙汰が無くなった状態です。
OpusTeXは現在、CTANを含め公式には配布されておらず、Debianにnon-freeの分類で収録されているだけです。ライセンスの制限事項が非常に強く,特にOpusTeXマクロ,それを用いて作成した楽譜の両方について,商用利用はできません。

2015/04/04追記
http://www.muri-gries.ch/OpusTeX/ (可読ページ)に、以前TeX-Music MLにアナウンスだけ流されたver.0.93と思しきzip書庫が存在しているのを発見しました。ただし、ここが正式な一次配布場所であるかどうかは不明です。zip書庫に格納されているファイルの日付も2028年となっているなど、非常に奇妙です。
Ver.0.84は現在、Ubuntuの https://launchpad.net/ubuntu/gutsy/+package/opustex にあります。パッケージシステムの編集によって、場所はコロコロ変わっているようです。


トップページ / 楽譜の組版 / 情報 / MusiXTeXの更新履歴
このサイトについて・著者連絡先