1

mathjax を使用してラテックス方程式をレンダリングする Web ページがあります。方程式をより速くロードするために、前処理ステップを回避しようとしています。

数学区切り記号<span class="MathJax_Preview">[loading...]</span><script type="math/tex;"> latex equation here </script>

しかし、問題は次のとおりです。レンダリング中、方程式内の html エンティティがそのまま表示されるため、方程式が適切にレンダリングされません。たとえば、'&' は複数のステップの整列に使用されます。しかし、それは&として表示されます

タグによる数学区切り文字の置換は<script>動的に行われます。このステップを削除すると、上記の問題はなくなり、方程式内の html エンティティが適切にレンダリングされます。

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

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

ありがとう、

LS開発者

4

1 に答える 1

0

のコンテンツは<script type="math/tex">HTML ではなく TeX (または LaTeX) であるため、HTML エンティティをそこに含めないでください。HTMLの any の内容<script>は CDATA であるため、エンティティの変換を含む処理は行われません。

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

MathJax の前処理ステップは実際には非常に高速であり、膨大な数の方程式がない限り、ボトルネックになる可能性は低いことに注意してください。タイムシンクとなるのは HTML への変換です。結合された構成ファイルのいずれかを使用していない場合は、プリプロセッサ ステップを削除するよりも、それらのいずれかに移動するだけで改善される可能性があります。結合された構成ファイルを既に使用しているが、「-full」バージョンを使用していない場合、それに移行すると、数学の処理も高速化されます (入力と出力の jax を待つ必要がないため)。最初に使用するときにロードします)。

于 2012-03-27T22:59:02.930 に答える