2011-10-28 14 views
7

以下のサンプルコードで調整しています。 MathJaxのドキュメントは完全ではありません。誰かが、以下のコードをどのように修正して、$ \ alpha $のような区切り文字を指定したときにTexが解析されるようにするかをもっと知ることができますか?私はそれを数学のように動作させたいと思っています。デリミタがある場合にのみ動的にMathJaxを表示

<html> 
    <head> 
    <title>MathJax Dynamic Math Test Page</title> 

    <script type="text/x-mathjax-config"> 
     MathJax.Hub.Config({ 
     tex2jax: { 
      inlineMath: [["$","$"],["\\(","\\)"]] 
     } 
     }); 
    </script> 
    <script type="text/javascript" 
     src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML-full"> 
    </script> 

    </head> 
    <body> 

    <script> 
     // 
     // Use a closure to hide the local variables from the 
     // global namespace 
     // 
     (function() { 
     var QUEUE = MathJax.Hub.queue; // shorthand for the queue 
     var math = null;    // the element jax for the math output. 

     // 
     // Get the element jax when MathJax has produced it. 
     // 
     QUEUE.Push(function() { 
      math = MathJax.Hub.getAllJax("MathOutput")[0]; 
     }); 

     // 
     // The onchange event handler that typesets the 
     // math entered by the user 
     // 
     window.UpdateMath = function (TeX) { 
      QUEUE.Push(["Text",math,"\\displaystyle{"+TeX+"}"]); 
     } 
     })(); 
    </script> 
    <textarea id="MathInput" size="50" onkeyup="UpdateMath(this.value)"></textarea> 

    <div id="MathOutput"> 
    You typed: ${}$ 
    </div> 

    </body> 
    </html> 
+0

注:cdn.mathjax.orgはその終末期に近づいている、HTTPSを確認してください。 //www.mathjax.org/cdn-shutting-down/にアクセスしてください。 –

答えて

19

あなたが投稿のサンプルコードはMathInputの内容を取り、MathInputから新しい「数学」と最初MathJax要素を置き換えます。必要なのは、MathInputをタイプセットし、区切られたテキストの新しいMathJax要素を作成することです。 Iここで設定jsFiddle例を: http://jsfiddle.net/Zky72/2/

主な変更点は、UpdateMath機能である:未来から

window.UpdateMath = function (TeX) { 
    //set the MathOutput HTML 
    document.getElementById("MathOutput").innerHTML = TeX; 

    //reprocess the MathOutput Element 
    MathJax.Hub.Queue(["Typeset",MathJax.Hub,"MathOutput"]); 

} 
+0

これはどのようにして習得しましたか?あなたはjavascriptやmathjaxに関する本を知っていますか?任意の参照いただければ幸いです:) – Mark

+0

MathJaxサイト上の文書が実際にページ上の数学の要素を操作する方法に関するセクションがあります限りどのようhttp://www.mathjax.org/docs/1.1/typeset.htmlをここではJavaScriptを学ぶためには、いくつかの良いリソースとstackoverflowの質問です:http://stackoverflow.com/questions/11246/best-resources-to-learn-javascript –

+0

私はこの質問が古いですけど、私はで(おかげで、これを使用しています方法は)問題があり、キーアップ時にページの先頭にジャンプし続けます。また、かっこを定義するビットを残すと、全ページがフォーマットされますが、これは設計上のものですか?私は今、大括弧で非常に注意する必要がありますか? –

関連する問題