0

テキストボックスを使用してソースマークアップコードを配置し、その下に別のテキストボックス (編集不可) を使用して入力中の投稿/質問のプレビューをレンダリングする、StackOverflow の「質問する」ページのようなものがあります。 .

私のアプリケーションでは、投稿のコンテンツに単純な小さなマークアップ言語を使用できるだけではありません。また、 MathJaxを使用して数学を入力する可能性も提供します。しかし、構文は単純な Latex 構文です (しかし、これは問題ではないので、あまり気にしないでください)。

問題

問題は次のとおりです。このページは、HTML でマークアップ言語の変換を実行するサーバー側の手順を呼び出すために、AJAX で ASP.NET を使用するため、StackOverflow のページとは少し異なります (これは私の選択です。サーバー側のコードがあります。マークアップ変換コードの JavaScript での実装ではありません)。

非同期スクリプトが (10 秒ごとに) 実行されると、編集不可のテキスト ボックスに翻訳されたマークアップが再入力されます。ラテックス コードもそこに配置され (変換は実行されません)、AJAX プロシージャが戻るたびに MathJax スクリプトが呼び出されます (したがって、ラテックス コードはマークアップ言語の後にレンダリングされ、このラテックス レンダリングはクライアント側で行われます)。

問題は、特に方程式の番号付けを考慮すると、レンダリングされた数学が時々奇妙になることです。数値は、新しい AJAX 呼び出しごとに増加します。ページなどでインスタンス化された MathJax オブジェクトのステータスを完全にリセットする方法が必要だと思います... MathJax をリセットする方法はありますか?

ここでAJAXが問題だと思います...助けてくれてありがとう、私がはっきりしていることを願っています。

4

1 に答える 1

2

AMSmath拡張機能を含む構成ファイルをロードした場合は、次を使用できます。

MathJax.InputJax.TeX.resetEquationNumbers()

方程式の番号付けと、およびに使用されるラベルをリセットし\refます\eqref。特定の方程式番号から番号付けを開始する場合は、次を使用します。

MathJax.InputJax.TeX.resetEquationNumbers(n)

ここnで、は開始番号から1を引いたものです(デフォルトは0です)。

于 2012-09-12T22:47:07.000 に答える