cdocutils.nodes document q)q}q(U nametypesq}q(Xapi-output-jaxqKXthe mathjax.outputjax classqNX propertiesqNXmethodsq NuUsubstitution_defsq }q Uparse_messagesq ]q Ucurrent_sourceqNU decorationqNUautofootnote_startqKUnameidsq}q(hUapi-output-jaxqhUthe-mathjax-outputjax-classqhU propertiesqh UmethodsquUchildrenq]q(cdocutils.nodes target q)q}q(U rawsourceqX.. _api-output-jax:qUparentqhUsourceqcdocutils.nodes reprunicode q XW/Data/Code/JavaScript/MathJax/Code/SourceForge/trunk/mathjax/docs/rst/api/outputjax.rstq!q"}q#bUtagnameq$Utargetq%U attributesq&}q'(Uidsq(]q)Ubackrefsq*]q+Udupnamesq,]q-Uclassesq.]q/Unamesq0]q1Urefidq2huUlineq3KUdocumentq4hh]q5ubcdocutils.nodes section q6)q7}q8(hUhhhh"Uexpect_referenced_by_nameq9}q:hhsh$Usectionq;h&}q<(h,]q=h.]q>h*]q?h(]q@(hheh0]qA(hheuh3Kh4hUexpect_referenced_by_idqB}qChhsh]qD(cdocutils.nodes title qE)qF}qG(hXThe MathJax.OutputJax ClassqHhh7hh"h$UtitleqIh&}qJ(h,]qKh.]qLh*]qMh(]qNh0]qOuh3Kh4hh]qPcdocutils.nodes Text qQXThe MathJax.OutputJax ClassqRqS}qT(hhHhhFubaubcdocutils.nodes paragraph qU)qV}qW(hXOutput jax are the components of MathJax that translate mathematics from the MathJax internal format (an `element jax`) to whatever output is required to represent the mathematics (e.g., MathML elements, or HTML-with-CSS that formats the mathematics on screen).qXhh7hh"h$U paragraphqYh&}qZ(h,]q[h.]q\h*]q]h(]q^h0]q_uh3Kh4hh]q`(hQXiOutput jax are the components of MathJax that translate mathematics from the MathJax internal format (an qaqb}qc(hXiOutput jax are the components of MathJax that translate mathematics from the MathJax internal format (an qdhhVubcdocutils.nodes title_reference qe)qf}qg(hX `element jax`qhh&}qi(h,]qjh.]qkh*]qlh(]qmh0]qnuhhVh]qohQX element jaxqpqq}qr(hUhhfubah$Utitle_referenceqsubhQX) to whatever output is required to represent the mathematics (e.g., MathML elements, or HTML-with-CSS that formats the mathematics on screen).qtqu}qv(hX) to whatever output is required to represent the mathematics (e.g., MathML elements, or HTML-with-CSS that formats the mathematics on screen).qwhhVubeubhU)qx}qy(hXjAn output jax is stored as a pair of files in a subdirectory of the the ``jax/output`` directory, with the subdirectory name being the name of the output jax. For example, the NativeMML output jax is stored in `jax/output/NativeMML`. The first file, ``config.js``, is loaded when MathJax is being loaded and configured, and is indicated by listing the input jax directory in the `jax` array of the MathJax configuration. The ``config.js`` file creates a subclass of the `MathJax.OutputJax` object for the new output jax and registers it with MathJax, along with the MIME-type of the element jax that it can process.qzhh7hh"h$hYh&}q{(h,]q|h.]q}h*]q~h(]qh0]quh3K h4hh]q(hQXHAn output jax is stored as a pair of files in a subdirectory of the the qq}q(hXHAn output jax is stored as a pair of files in a subdirectory of the the qhhxubcdocutils.nodes literal q)q}q(hX``jax/output``qh&}q(h,]qh.]qh*]qh(]qh0]quhhxh]qhQX jax/outputqq}q(hUhhubah$UliteralqubhQX} directory, with the subdirectory name being the name of the output jax. For example, the NativeMML output jax is stored in qq}q(hX} directory, with the subdirectory name being the name of the output jax. For example, the NativeMML output jax is stored in qhhxubhe)q}q(hX`jax/output/NativeMML`qh&}q(h,]qh.]qh*]qh(]qh0]quhhxh]qhQXjax/output/NativeMMLqq}q(hUhhubah$hsubhQX. The first file, qq}q(hX. The first file, qhhxubh)q}q(hX ``config.js``qh&}q(h,]qh.]qh*]qh(]qh0]quhhxh]qhQX config.jsqq}q(hUhhubah$hubhQXt, is loaded when MathJax is being loaded and configured, and is indicated by listing the input jax directory in the qq}q(hXt, is loaded when MathJax is being loaded and configured, and is indicated by listing the input jax directory in the qhhxubhe)q}q(hX`jax`qh&}q(h,]qh.]qh*]qh(]qh0]quhhxh]qhQXjaxqŅq}q(hUhhubah$hsubhQX* array of the MathJax configuration. The qȅq}q(hX* array of the MathJax configuration. The qhhxubh)q}q(hX ``config.js``qh&}q(h,]qh.]qh*]qh(]qh0]quhhxh]qhQX config.jsqօq}q(hUhhubah$hubhQX file creates a subclass of the qمq}q(hX file creates a subclass of the qhhxubhe)q}q(hX`MathJax.OutputJax`qh&}q(h,]qh.]qh*]qh(]qh0]quhhxh]qhQXMathJax.OutputJaxq煁q}q(hUhhubah$hsubhQX~ object for the new output jax and registers it with MathJax, along with the MIME-type of the element jax that it can process.qꅁq}q(hX~ object for the new output jax and registers it with MathJax, along with the MIME-type of the element jax that it can process.qhhxubeubhU)q}q(hXThe main body of the output jax is stored in the second file, ``jax.js``, which is loaded when the output jax is first called on to translate some mathematics. This file augments the original output jax subclass with the additional methods needed to produce the output. MathJax calls the input jax's :meth:`Translate()` method when it needs the output jax to translate an element jax to produce output.qhh7hh"h$hYh&}q(h,]qh.]qh*]qh(]qh0]quh3Kh4hh]q(hQX>The main body of the output jax is stored in the second file, qq}q(hX>The main body of the output jax is stored in the second file, qhhubh)q}q(hX ``jax.js``qh&}q(h,]rh.]rh*]rh(]rh0]ruhhh]rhQXjax.jsrr}r(hUhhubah$hubhQX, which is loaded when the output jax is first called on to translate some mathematics. This file augments the original output jax subclass with the additional methods needed to produce the output. MathJax calls the input jax's r r }r (hX, which is loaded when the output jax is first called on to translate some mathematics. This file augments the original output jax subclass with the additional methods needed to produce the output. MathJax calls the input jax's r hhubcsphinx.addnodes pending_xref r )r}r(hX:meth:`Translate()`rhhh$U pending_xrefrh&}r(UreftyperXmethrU reftargetrX TranslaterU refdomainrXpyrh(]rh*]rU refexplicitrh,]rh.]rh0]rUrefdocrU api/outputjaxr Upy:classr!NU py:moduler"Nuh3Kh]r#h)r$}r%(hjh&}r&(h,]r'h.]r((Uxrefr)jXpy-methr*eh*]r+h(]r,h0]r-uhjh]r.hQX Translate()r/r0}r1(hUhj$ubah$hubaubhQXS method when it needs the output jax to translate an element jax to produce output.r2r3}r4(hXS method when it needs the output jax to translate an element jax to produce output.r5hhubeubhU)r6}r7(hXThe `MathJax.OutputJax` class is a subclass of the :ref:`MathJax Jax ` class, and inherits the properties and methods of that class. Those listed below are the additional or overridden ones from that class.r8hh7hh"h$hYh&}r9(h,]r:h.]r;h*]r<h(]r=h0]r>uh3Kh4hh]r?(hQXThe r@rA}rB(hXThe rChj6ubhe)rD}rE(hX`MathJax.OutputJax`rFh&}rG(h,]rHh.]rIh*]rJh(]rKh0]rLuhj6h]rMhQXMathJax.OutputJaxrNrO}rP(hUhjDubah$hsubhQX class is a subclass of the rQrR}rS(hX class is a subclass of the rThj6ubj )rU}rV(hX:ref:`MathJax Jax `rWhj6h$jh&}rX(UreftyperYXrefrZjXapi-jaxr[U refdomainr\Xstdr]h(]r^h*]r_U refexplicitr`h,]rah.]rbh0]rcjj uh3Kh]rdcdocutils.nodes emphasis re)rf}rg(hjWh&}rh(h,]rih.]rj(j)j]Xstd-refrkeh*]rlh(]rmh0]rnuhjUh]rohQX MathJax Jaxrprq}rr(hUhjfubah$UemphasisrsubaubhQX class, and inherits the properties and methods of that class. Those listed below are the additional or overridden ones from that class.rtru}rv(hX class, and inherits the properties and methods of that class. Those listed below are the additional or overridden ones from that class.rwhj6ubeubh6)rx}ry(hUhh7hh"h$h;h&}rz(h,]r{h.]r|h*]r}h(]r~hah0]rhauh3K%h4hh]r(hE)r}r(hX Propertiesrhjxhh"h$hIh&}r(h,]rh.]rh*]rh(]rh0]ruh3K%h4hh]rhQX Propertiesrr}r(hjhjubaubcsphinx.addnodes index r)r}r(hUhjxhh"h$Uindexrh&}r(h(]rh*]rh,]rh.]rh0]rUentriesr]ruh3Nh4hh]rubcsphinx.addnodes desc r)r}r(hUhjxhh"h$Udescrh&}r(UnoindexrUdomainrUh(]rh*]rh,]rh.]rh0]rUobjtyperXdescriberUdesctyperjuh3Nh4hh]r(csphinx.addnodes desc_signature r)r}r(hXnamerhjhh"h$Udesc_signaturerh&}r(h(]rh*]rh,]rh.]rh0]rUfirstruh3K*h4hh]rcsphinx.addnodes desc_name r)r}r(hjhjhh"h$U desc_namerh&}r(h,]rh.]rh*]rh(]rh0]ruh3K*h4hh]rhQXnamerr}r(hUhjubaubaubcsphinx.addnodes desc_content r)r}r(hUhjhh"h$U desc_contentrh&}r(h,]rh.]rh*]rh(]rh0]ruh3K*h4hh]rhU)r}r(hXThe name of the jax.rhjhh"h$hYh&}r(h,]rh.]rh*]rh(]rh0]ruh3K)h4hh]rhQXThe name of the jax.rr}r(hjhjubaubaubeubj)r}r(hUhjxhh"h$jh&}r(h(]rh*]rh,]rh.]rh0]rUentriesr]ruh3Nh4hh]rubj)r}r(hUhjxhh"h$jh&}r(jjUh(]rh*]rh,]rh.]rh0]rjXdescriberjjuh3Nh4hh]r(j)r}r(hXversionrhjhh"h$jh&}r(h(]rh*]rh,]rh.]rh0]rjuh3K.h4hh]rj)r}r(hjhjhh"h$jh&}r(h,]rh.]rh*]rh(]rh0]ruh3K.h4hh]rhQXversionrr}r(hUhjubaubaubj)r }r (hUhjhh"h$jh&}r (h,]r h.]r h*]rh(]rh0]ruh3K.h4hh]rhU)r}r(hXThe version number of the jax.rhj hh"h$hYh&}r(h,]rh.]rh*]rh(]rh0]ruh3K-h4hh]rhQXThe version number of the jax.rr}r(hjhjubaubaubeubj)r}r (hUhjxhh"h$jh&}r!(h(]r"h*]r#h,]r$h.]r%h0]r&Uentriesr']r(uh3Nh4hh]r)ubj)r*}r+(hUhjxhh"h$jh&}r,(jjUh(]r-h*]r.h,]r/h.]r0h0]r1jXdescriber2jj2uh3Nh4hh]r3(j)r4}r5(hX directoryr6hj*hh"h$jh&}r7(h(]r8h*]r9h,]r:h.]r;h0]r<juh3K3h4hh]r=j)r>}r?(hj6hj4hh"h$jh&}r@(h,]rAh.]rBh*]rCh(]rDh0]rEuh3K3h4hh]rFhQX directoryrGrH}rI(hUhj>ubaubaubj)rJ}rK(hUhj*hh"h$jh&}rL(h,]rMh.]rNh*]rOh(]rPh0]rQuh3K3h4hh]rRhU)rS}rT(hXYThe directory where the jax files are stored (e.g., ``"[MathJax]/jax/output/HTML-CSS"``);rUhjJhh"h$hYh&}rV(h,]rWh.]rXh*]rYh(]rZh0]r[uh3K1h4hh]r\(hQX4The directory where the jax files are stored (e.g., r]r^}r_(hX4The directory where the jax files are stored (e.g., r`hjSubh)ra}rb(hX#``"[MathJax]/jax/output/HTML-CSS"``rch&}rd(h,]reh.]rfh*]rgh(]rhh0]riuhjSh]rjhQX"[MathJax]/jax/output/HTML-CSS"rkrl}rm(hUhjaubah$hubhQX);rnro}rp(hX);rqhjSubeubaubeubeubh6)rr}rs(hUhh7hh"h$h;h&}rt(h,]ruh.]rvh*]rwh(]rxhah0]ryh auh3K5h4hh]rz(hE)r{}r|(hXMethodsr}hjrhh"h$hIh&}r~(h,]rh.]rh*]rh(]rh0]ruh3K5h4hh]rhQXMethodsrr}r(hj}hj{ubaubj)r}r(hUhjrhNh$jh&}r(h(]rh*]rh,]rh.]rh0]rUentriesr]ruh3Nh4hh]rubj)r}r(hUhjrhNh$jh&}r(jjXpyrh(]rh*]rh,]rh.]rh0]rjXmethodrjjuh3Nh4hh]r(j)r}r(hXTranslate(script)rhjhh"h$jh&}r(h(]rUmodulerNh*]rh,]rh.]rh0]rUfullnamerX TranslaterUclassrUjuh3Nh4hh]r(j)r}r(hjhjhh"h$jh&}r(h,]rh.]rh*]rh(]rh0]ruh3Nh4hh]rhQX Translaterr}r(hUhjubaubcsphinx.addnodes desc_parameterlist r)r}r(hUhjhh"h$Udesc_parameterlistrh&}r(h,]rh.]rh*]rh(]rh0]ruh3Nh4hh]rcsphinx.addnodes desc_parameter r)r}r(hXscriptrhjhh"h$Udesc_parameterrh&}r(h,]rh.]rh*]rh(]rh0]ruh3Nh4hh]rhQXscriptrr}r(hUhjubaubaubeubj)r}r(hUhjhh"h$jh&}r(h,]rh.]rh*]rh(]rh0]ruh3Nh4hh]r(hU)r}r(hX,This is the main routine called by MathJax when an element jax is to be converted to output. The default :meth:`Translate()` method simply loads the ``jax.js`` file and returns that callback for that load function so that MathJax will know when to try the :meth:`Translate()` action again. When the ``jax.js`` file loads, it should override the default :meth:`Translate()` with its own version that does the actual translation; that way, when the second Translate call is made, it will be to the actual translation routine rather than the default loader.rhjhh"h$hYh&}r(h,]rh.]rh*]rh(]rh0]ruh3K:h4hh]r(hQXjThis is the main routine called by MathJax when an element jax is to be converted to output. The default rr}r(hXjThis is the main routine called by MathJax when an element jax is to be converted to output. The default rhjubj )r}r(hX:meth:`Translate()`rhjh$jh&}r(UreftyperXmethrjX TranslaterU refdomainrXpyrh(]rh*]rU refexplicitrh,]rh.]rh0]rjj j!Nj"Nuh3K:h]rh)r}r(hjh&}r(h,]rh.]r(j)jXpy-methreh*]rh(]rh0]ruhjh]rhQX Translate()rr}r(hUhjubah$hubaubhQX method simply loads the rr}r(hX method simply loads the r hjubh)r }r (hX ``jax.js``r h&}r (h,]rh.]rh*]rh(]rh0]ruhjh]rhQXjax.jsrr}r(hUhj ubah$hubhQXa file and returns that callback for that load function so that MathJax will know when to try the rr}r(hXa file and returns that callback for that load function so that MathJax will know when to try the rhjubj )r}r(hX:meth:`Translate()`rhjh$jh&}r(UreftyperXmethr jX Translater!U refdomainr"Xpyr#h(]r$h*]r%U refexplicitr&h,]r'h.]r(h0]r)jj j!Nj"Nuh3K:h]r*h)r+}r,(hjh&}r-(h,]r.h.]r/(j)j#Xpy-methr0eh*]r1h(]r2h0]r3uhjh]r4hQX Translate()r5r6}r7(hUhj+ubah$hubaubhQX action again. When the r8r9}r:(hX action again. When the r;hjubh)r<}r=(hX ``jax.js``r>h&}r?(h,]r@h.]rAh*]rBh(]rCh0]rDuhjh]rEhQXjax.jsrFrG}rH(hUhj<ubah$hubhQX, file loads, it should override the default rIrJ}rK(hX, file loads, it should override the default rLhjubj )rM}rN(hX:meth:`Translate()`rOhjh$jh&}rP(UreftyperQXmethrRjX TranslaterSU refdomainrTXpyrUh(]rVh*]rWU refexplicitrXh,]rYh.]rZh0]r[jj j!Nj"Nuh3K:h]r\h)r]}r^(hjOh&}r_(h,]r`h.]ra(j)jUXpy-methrbeh*]rch(]rdh0]reuhjMh]rfhQX Translate()rgrh}ri(hUhj]ubah$hubaubhQX with its own version that does the actual translation; that way, when the second Translate call is made, it will be to the actual translation routine rather than the default loader.rjrk}rl(hX with its own version that does the actual translation; that way, when the second Translate call is made, it will be to the actual translation routine rather than the default loader.rmhjubeubhU)rn}ro(hX$You should use ``MathJax.Hub.getJaxFor(script)`` to obtain the element jax for the given script. The translation process may add modify the element jax (e.g., if it has data that needs to be stored with the jax), and may insert DOM elements into the document near the jax's ``