aboutsummaryrefslogtreecommitdiff
path: root/plugins/render_math/mathjax_script_template
blob: db8aeba08a6a052272c172608bfcf813ed9aac5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
if (!document.getElementById('mathjaxscript_pelican_#%@#$@#')) {{
    var align = "{align}",
        indent = "{indent}",
        linebreak = "{linebreak_automatic}";

    if ({responsive}) {{
        align = (screen.width < {responsive_break}) ? "left" : align;
        indent = (screen.width < {responsive_break}) ? "0em" : indent;
        linebreak = (screen.width < {responsive_break}) ? 'true' : linebreak;
    }}

    var mathjaxscript = document.createElement('script');
    mathjaxscript.id = 'mathjaxscript_pelican_#%@#$@#';
    mathjaxscript.type = 'text/javascript';
    mathjaxscript.src = {source};

    var configscript = document.createElement('script');
    configscript.type = 'text/x-mathjax-config';
    configscript[(window.opera ? "innerHTML" : "text")] =
        "MathJax.Hub.Config({{" +
        "    config: ['MMLorHTML.js']," +
        "    TeX: {{ extensions: ['AMSmath.js','AMSsymbols.js','noErrors.js','noUndefined.js'{tex_extensions}], equationNumbers: {{ autoNumber: '{equation_numbering}' }} }}," +
        "    jax: ['input/TeX','input/MathML','output/HTML-CSS']," +
        "    extensions: ['tex2jax.js','mml2jax.js','MathMenu.js','MathZoom.js']," +
        "    displayAlign: '"+ align +"'," +
        "    displayIndent: '"+ indent +"'," +
        "    showMathMenu: {show_menu}," +
        "    messageStyle: '{message_style}'," +
        "    tex2jax: {{ " +
        "        inlineMath: [ ['\\\\(','\\\\)'] ], " +
        "        displayMath: [ ['$$','$$'] ]," +
        "        processEscapes: {process_escapes}," +
        "        preview: '{latex_preview}'," +
        "    }}, " +
        "    'HTML-CSS': {{ " +
        "        availableFonts: {font_list}," +
        "        preferredFont: 'STIX'," +
        "        styles: {{ '.MathJax_Display, .MathJax .mo, .MathJax .mi, .MathJax .mn': {{color: '{color} ! important'}} }}," +
        "        linebreaks: {{ automatic: "+ linebreak +", width: '90% container' }}," +
        "    }}, " +
        "}}); " +
        "if ('{mathjax_font}' !== 'default') {{" +
            "MathJax.Hub.Register.StartupHook('HTML-CSS Jax Ready',function () {{" +
                "var VARIANT = MathJax.OutputJax['HTML-CSS'].FONTDATA.VARIANT;" +
                "VARIANT['normal'].fonts.unshift('MathJax_{mathjax_font}');" +
                "VARIANT['bold'].fonts.unshift('MathJax_{mathjax_font}-bold');" +
                "VARIANT['italic'].fonts.unshift('MathJax_{mathjax_font}-italic');" +
                "VARIANT['-tex-mathit'].fonts.unshift('MathJax_{mathjax_font}-italic');" +
            "}});" +
            "MathJax.Hub.Register.StartupHook('SVG Jax Ready',function () {{" +
                "var VARIANT = MathJax.OutputJax.SVG.FONTDATA.VARIANT;" +
                "VARIANT['normal'].fonts.unshift('MathJax_{mathjax_font}');" +
                "VARIANT['bold'].fonts.unshift('MathJax_{mathjax_font}-bold');" +
                "VARIANT['italic'].fonts.unshift('MathJax_{mathjax_font}-italic');" +
                "VARIANT['-tex-mathit'].fonts.unshift('MathJax_{mathjax_font}-italic');" +
            "}});" +
        "}}";

    (document.body || document.getElementsByTagName('head')[0]).appendChild(configscript);
    (document.body || document.getElementsByTagName('head')[0]).appendChild(mathjaxscript);
}}