[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:08011] Re: TeX での $$ のハイライト



nha さん、こんにちは。前田です。

        [xyzzy:08007] TeX での $$ のハイライト
        に関するメールへの返事です。

> #KaTeXでの$$補間を常に強制的に$1個の入力で2つ$$を出力すれば早い
> #のかな。

一番手っ取り早いのはこの方法でしょう。
$$ を出力する関数を作って、$ のキーバインドをその関数にすればいいと思い
ます。

> #前田さんすいません。KeTeXでの$$は$$のソース内での使用回数が増え
> #るとやっぱり以上に遅いようです。今回は自分も感じました。

全ての元凶は、
   KaTeX-inner-environment
です。たぶん。
この関数は、今カーソルのあるところがどの環境(environment)内なのか、を
調べる関数です。

$ を入れようとしたときに、この $ が、”開く”方なのか”閉じる”方なのか
を調べるときに、前方に向かって検索していくんですが、$ が見つかるたびに、
verbatim環境下かどうか調べると言うことをしています。verbatim環境内では、
”開く”方でも”閉じる”方でもないからです。つまり、$ が入力されるたびに
KaTeX-inner-environmentが呼ばれる(ある関数の中で呼ばれているある関数の
中で呼ばれる、という感じの位置)んですが、20 回も、30回も呼ばれる割に、
動作が鈍いようです。

対処法としては、
1.私がこれを書き換えるまで、気長に待つ。
2.自分で関数を書き換えてMLに流す。
3.$ の補完は使わない。
4.Meadow + YaTeX を使う。
5.応急処置として、katexmth.l の l.537 付近にある、
    ((progn
       (setq KaTeX-verbatim-environments
	    (append KaTeX-math-verbatim-environments
		    KaTeX-verbatim-environments))
      (KaTeX-literal-p))
     nil)
    の行を全てコメントアウトする。
ですかね。。。(^_^;

あとは、こまめに空行を入れるぐらいですかね。
$ の検索範囲は、一番近くの空行までになってますので。
-- 
前田 学
manabum@xxxxxxxxxxxxxxxx

Index Home