Home>History>

2008.10

2008-10-31

2008-10-31T22:19:42+09:00

xdvi と TeX Tools for mi

TeX Tools for mi の xdvi の扱いを次のように変更しようと思う。

-nofork オプション

  • 現状 (3.3b3)
    • -src-special オプション付きでタイプされたとき、-sourceposition オプションとともに xdvi コマンドに自動的につける。
    • Leopard で、-sourceposition をつけると、xdvi がクラッシュすることの対応。
  • 変更案
    • 自動的に -nofork オプションをつけるのをやめる。
    • -nofork オプションは、xdvi のコマンド設定で設定する。
  • 変更理由
    • -nofork オプションがないとクラッシュするのは Leopard 特有の問題化かも。こんご、xdvi の方で、解決されるかもしれない。だから、コードに -nofork オプションを特別扱いする処理を含めたくない。
    • 後述する理由で、-unique オプション を xdvi の呼び出しにつけるようにしたい。-sourceposition がなくても、-unique をつけると、たぶん Leopard では、-nofork が必要になる。いつも必要になるなら、コマンド設定に含めちゃうのがいいでしょう。

source special が無いときの処理

  • 現状
    • xdvi のプロセスを調べて、同じファイル名の DVI を開いていたら、そのプロセスにシグナルを送ってリロード。該当するプロセスがなければ、xdvi コマンドを実行。
    • 一つの DVI ファイルに対して、複数の xdvi が立ち上がらないように頑張っている。
    • motif を使った xdvi の場合、動作しない不具合があることに、今日気付いた。
  • 変更案
    • -unique オプションをつけて xdvi を実行する。
    • -unique オプションは xdvi のコマンド設定に含める。
    • xdiv コマンド設定をカスタマイズして、-unique オプションを削ると、複数の xdvi が立ち上がるようになる。その辺は自己責任で。
  • 変更理由
    • DVI ファイルの同一性をファイル名でしか判断していないので、仕組みが不完全。

reverse search の時の editor の設定

  • 現状
    • ターミナルを開いたときの初期実行コマンドの中で、環境変数 XEDITOR を設定している。
  • 変更案
    • -editor オプションを使って設定したい。
    • xdvi コマンドのなかで、-editor %editor と設定し、%editor を miclient のパスと実行オプションに置き換えて実行する。
    • デフォルトのコマンド設定に含めるだけなので、設定を変更すれば好きな方法で xdvi の editor 設定は行える。
  • 変更理由
    • xdvi 側の設定で、Editor for Source Specials が設定されると、環境変数 XEDITOR は無視される。
    • xdvi の設定に関わらず、TeX Tools for mi 経由で開いた DVI ファイルの reverse search は mi にジャンプすることが望ましいと想像する。
    • xdvi コマンドの設定の初期設定にするだけなので、容易にカスタマイズ可能。

従って、xdvi コマンド設定のデフォルトは、

xdvi -postscript 0 -nofork -unique -editor %editor

にしようと思う。-postscript 0 は、 xdvi は PDF 形式の図をまともに表示してくれないから。

xdiv の実行コマンドが異常に長くなってしまうのが気に入らないけど・・・しょうがない。コメントお願いします。> 川畑さん。

2008-10-31T08:51:18+09:00

TeX Tools for mi 3.3b3

TeX Tools for mi の Leopard 対応版です。まだマニュアルはありません。

  • Intel Mac で miclient が動作しない、すなわち xdvi で reverse search できない不具合を修正。
  • Intel Mac で TeX Compile Log ウィンドウで表示されるエラー箇所からのジャンプができない不具合を修正したつもり。
  • xdvi で、forward search するときは、-nofork オプションを自動的に追加するようにした。

2008-10-30

2008-10-30T00:51:27+09:00

SmartActivate 1.0.5

指定したアプリケーションプロセスを、そのアプリケーションで最前面のウィンドウだけを前面に持ってくる形でフロントプロセスに切り替えるスクリプティング機能追加と、コマンドラインツールです。

通常、アプリケーションプロセスをアクティブにすると、アプリケーションすべてのウィンドウは前面にでてきます。例えば、AppleScript から操作対象のウィンドウを表示させるために、 activate イベント等を使うと、そのプロセスのすべてのウィンドウが前面に出て来てしまいます。しかし多くの場合、対象としているウィンドウは1枚だけですから、よけいなウィンドウが前面に出て来て画面を覆い尽くしてしまうのは避けたい物です。SmartActivate はそんな問題を解決します。

Indel Mac で動かない不具合を修正。

2008-10-29

2008-10-29T22:39:47+09:00

Leopard での xdvi

fink でインストールされる xdvi は -sourceposition オプションを使って forward search しようとすると、次のようなメッセージを吐いてクラッシュする。

The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec().
Break on __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__() to debug.

CoreFoundation をリンクしているプロセスが fork しようとすると、こういうことになるらしい。したがって、leopard の xdvi で forward search したときは、-nofork というオプションを合わせて使うとちゃんと動作する。ということを川畑さんから教えてもらった。

なんで xdvi が CoreFoundation をリンクしているとか、なんで xdvi が fork しているのかとかはようわからん。

どこかで困っている人のお耳に入ることを願って。

2008-10-29T00:49:07+09:00

上村さん、寄付ありがとうございました。

TeX Tools for mi 頑張ります。

今のところのプランでは・・・

  • DVI に source special を使っている印をコメントではなく拡張属性に移行。
  • PictPrinter の次の version に対応。
  • Mac OS X 10.4 版をリリース
  • xdvi 呼び出し時に -sourceposition と -nofork を同時につけるようにする。
  • 上記の機能を Mac OS X 10.5 版に移植して、3.3b3 をリリース
  • マニュアルを更新
  • 3.3 の正規板を公開

という心づもりです。

これで、38人目。

2008-10-24

2008-10-24T20:03:12+09:00

TeX Tools for mi 3.3b2

Leopard 対応の TeX Tools for mi です。まだマニュアルはありません。

Leopard では、Mxdvi も xdvi も、まともに forward/reverse search できないので、PictPrinter の対応を追加しました。

PictPrinter は、JTeX に含まれる DVI ビューアです。Mxdvi より、Mac っぽいインタフェースを備えているすばらしいソフトウェアです。

TeX Tools for mi の PictPrinter 対応にあたり、JTeXEdit のリソースの一部の改変/再利用を快く許可していただけた小磯さんに感謝します。

2008-10-22

2008-10-22T12:01:10+09:00

fink の xdvi

Mac OS X 10.5 で、fink から install した xdvi を -sourceposition オプション付きで実行すると、

The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec().
Break on __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__() to debug.

というエラーをいくつもはいてクラッシュしちゃう。誰か、解決策を教えて。

2008-10-21

2008-10-21T16:01:44+09:00

TeX Tools for mi 3.3b1 再アップロード

午前中に upload したパッケージの中身に間違えがありました。スクリプティング機能追加として、TerminalControl.osax を入れなければならないところを、なぜか SmartActivate.osax を入れてしまいました。

本日 16:02 前に download された方はもう一度 download してください。ごめんなさい。

2008-10-21T11:16:52+09:00

TeX Tools for mi 3.2.6

Tiger 版の最後にしたい・・・・

バグに気付いてしまいませんように。

2008-10-21T10:33:24+09:00

TeX Tools for mi 3.3b1

Leopard 対応の TeX Tools for mi です。Manual 関連はまだ含めていません。とりあえず、公開を急ごうかと思いまして。

インストール方法はこれまでとほとんど一緒ですが、追加でスクリプティング機能追加 TerminalControl.osax をインストールする必要があります。Terminal.app を一度終了して、TerminalControl.osax を ~/Library/ScriptingAdditions にコピーしてください。

あと、TeXCompileServer の名前を TeXBridge に変更しました。

ところで、Leopard では、Mxdvi がちゃんと動かないみたいですね。DVI ファイルを表示させるだけなら大丈夫そうだけど、source-special のためにコマンドラインから起動すると複数のアプリケーションが起動しちゃうし、reverse-search が全く効かない。「プレビュー」設定で「Mxdvi を使う」を選択しないようにしてください。

Mxdvi は開発が止まってるみたいだし、Pict Printer に対応できるようにしたいと思う今日この頃です。

2008-10-15

2008-10-15T01:44:39+09:00

TeX Tools for mi 3.2.5

高機能テキストエディタ mi を中心とした LaTeX の統合環境を提供するアプリケーションとスクリプトのセットです。

mi は プログラム言語やTeX、HTML などのコード入力するのに便利な多くの機能(キーワードのカラー表示、モード機能など)を備えたテキストエディタです。TeX Tools fro mi は mi に付属の TEX モードより高機能なコンパイル、入力支援ツール、周辺のアプリケーション(Mxdvi や Acrobat)との統合を提供します。

いまだ、Leopard 未対応。

でも、手元では Leopard 対応版は完成しました。これから、いくらかテストしてマニュアルを更新してから公開します。なんどか、ご要望を頂いているのでなるべく急ぎます。

かなり四苦八苦しました。何が苦労したかというと、Leopard の ターミナル.app の仕様変更に対応すること。なんと、Leopard ターミナルでは、ウィンドウごとにタイトルを変更できないのだ。この制限を回避する為に、ターミナルに何らかの方法でハックする必要がある。普通は、Input Manager とか SIMBL プラグインとか使うのと思うのだけど、スクリプティング機能追加を使うことにしました。AppleEvent で駆動する場合に限れば、スクリプティング機能追加でも、SIMBL プラグインと同じようなことができちゃうのだ。こんなことするのは、僕だけでしょう。

さらに、話は変わって Leopard でのスクリプティング機能追加の開発はすごく簡単になりました。Tiger までは自分で AppleEvent を install しないといけなかったし、reference counting も自分でしなければならなかった。そういうめんどくさい部分が全部省けるようになった。えらいぞ Apple。でも、使う分には、Tiger で困ってないんだよね。

2008-10-06

2008-10-06T10:35:25+09:00

UnixScriptTools for mi 2.2.2

高機能テキストエディタ mi で Unix スクリプト(bash、Perl、awk、ruby、gnuplot、Octave など)の開発および実行を支援するアプリケーションおよびスクリプトのセットです。

いまだ、Leopard 未対応。でも、Lepoard 対応版は完成しました。でも、マニュアルは更新していないし、自分でほとんど使い込んでいないのでちゃんと公開するのはまだ先になりそう。UnixScriptTools for mi の Leopard 対応版が欲しい方は、ご一報いただけると幸いです。

2008-10-03

2008-10-03T14:14:37+09:00

TerminalCommander 1.6.2

ターミナルでのシェルコマンドの実行を支援するモジュールです。以下のような、複雑な処理を行いたいときにこのスクリプトはお役に立てるでしょう。

  • ターミナルウィンドウを追跡して、同じターミナルで何度もシェルコマンドを実行したい。
  • シェルコマンドの終了を待ってから、次の処理に移りたい。
  • シェルコマンドを実行するターミナルのシェルを指定したい。
  • ターミナルウィンドウの、色の設定、タイトルの設定、文字エンコードの設定を指定したい

いまだ、Leopard に未対応。Tiger 用のリリースはこれで最後になりますように。

2008-10-03T13:56:45+09:00

UnixScriptTools for mi 2.2.1

高機能テキストエディタ mi で Unix スクリプト(bash、Perl、awk、ruby、gnuplot、Octave など)の開発および実行を支援するアプリケーションおよびスクリプトのセットです。

いまだ、Leopard 未対応。でも、開発は進めているよ。あとちょっとで公開できそう。

これが、Tiger 対応最後の release になることを願う(要するにバグがありませんように)。