2012-03-27 18 views
0

私はラテックス方程式をレンダリングするWebページをmathjaxで使用しています。 速く方程式をロードするためには、私は<span class="MathJax_Preview">[loading...]</span><script type="math/tex;"> latex equation here </script>Mathjaxの読み込みの問題

によって

数学の区切り文字に置き換えることによって、前処理工程を避けるためにしようとしている。しかし問題があります。式の中に入っているhtmlエンティティはそのように表示され、したがって式 は正しくレンダリングされません。たとえば、 '&'は複数のステップのアラインメントに使用されます。しかし、&

のように表示されます。<script>タグで数学デリミタを置き換えることは動的に行われます。私はこのステップを削除する場合は、上記の問題はありませんし、式内のHTMLエンティティが適切にレンダリングされます。

どうすればこの問題を解決できますか?

私の最終的な目的は、方程式の読み込みを高速化することです。 数学が完全にタイプセットされるまで[読み込み中...]のようなプレローダーを表示してください。

おかげで、<script type="math/tex">の内容は、HTMLのTeX(またはラテックス)ではない、ので、HTMLエンティティが含まれるべきではないこと

LS開発

答えて

0

注意。 HTML内の<script>の内容はCDATAであるため、エンティティの変換を含む処理は処理されません。

&#65;または&#x41;のような数値エンティティを使用している場合は、それらが表す文字で置換するのは簡単です。名前付きエンティティを使用している場合は、テーブル参照や他のプロセスを介して文字に変換する必要があります。最初の場所でエンティティを配置しない方が良いでしょう。あなたはそのステップを実行できませんか? (私はそれがあなたのコントロールの外で行われていると仮定しています)

MathJaxの前処理ステップは実際には非常に高速であり、膨大な数の方程式がなければボトルネックにはなりません。それは時間シンクであるHTMLへの変換です。組み合わされた構成ファイルの1つを使用していない場合は、プリプロセッサー・ステップを削除するよりも、それらのいずれかに移動するだけで、より良い改善が得られます。あなたがすでに組み合わせられた設定ファイルを使っていて、 " - フル"バージョンを使用していないならば、それに移動することはまた、計算の処理をスピードアップします(あなたは入力と出力のjaxを待つ必要がないので最初に使用するときに読み込む)。

+0

私は複合設定を使用していますが、完全バージョンではありません。完全版に変更します。 –