


What's New information on new releases
\begin{equation} ... \end{equation}
, and in fact, all the dispaly
environments. As of this version, the MathML output generated by MathToWeb is pure XML (i.e. pure MathML), every bit of the
HTML has been removed.
\tag{1.3}
commands had to be added to display environments in order to number them as desired. This is no longer the case, the
program will number display environments automatically. In addition, many of the LaTeX commands used to modify
the numbering scheme (things such as, \numberwithin{equation}{section}
and
\setcounter{equation}{0}
) are also fully functional in this release.javax.swing.*
and java.awt.*
packages,
though it didn't actually use them in command mode.Extras/mathtoweb_online_converter.pl
.
package mathtoweb.engine;
.../mathtoweb/engine
( in our case, .../Source/mathtoweb/engine
).
javac ./mathtoweb/engine/*.java
java mathtoweb.engine.MathToWeb unicode stdout ./bugs/example_latex.xhtm
{\color{htmlcolor} some LaTeX math }
\textcolor{htmlcolor}{some LaTeX math}
,
\colorbox{htmlcolor}{some LaTeX math}
{\colour{htmlcolour} some LaTeX math }
\textcolour{htmlcolour}{some LaTeX math}
\colourbox{htmlcolour}{some LaTeX math}

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  ${A+B}$ 

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  ${A+B}$ 

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  ${\left(\genfrac{}{}{0.1ex}{}{{{A}^{2}}}{{b}_{n}}\right)}$ 

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  $A+B$ 

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  ${\epsilon}_{\alpha \beta \gamma}{A}_{\beta}{B}_{\gamma}$ 

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  $\begin{array}{c}\left(\begin{array}{ccc}{{a}_{11}}& {{b}_{12}}& {c}_{13}\\ \textcolor[rgb]{}{{d}_{21}}& {{e}_{22}}& {f}_{23}\\ {g}_{31}& {h}_{32}& {i}_{33}\end{array}\right)\hfill \end{array}$ 
\cancel{LaTeX math to be struck out}
<menclose notation="updiagonalstrike"> .. </menclose>
strikethrough through 123544 

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  $\overline{)123544}$ 
strikethrough through 123544  the entire expression will render in the colour red. 

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  ${\overline{)123544}}$ 
strikethrough through 123544  the strikethrough will be red; the number will green. 

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  ${\overline{){123544}}}$ 
\mphantom{ math to be enclosed }
\mphantom{3}
will convert to <mphantom><mn>3</mn></mphantom>
\menclose
, here
it is used in a USstyle long division similar to
the example below. Note that the two columns of the array are rightaligned and the \mphantom{3}
acts
to create proper spacing at the right margin.

\it
( "invisible times" ) \af
( "apply function" ) \ic
( "invisible comma" ) \it
is also LaTeX declaration used to switch to an italic font, e.g. {\it some text}
. MathToWeb
has this specific command disabled in favour of its use for "invisible times". Use \mathit{A}
in place of
\it
.
\it

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$ 
<mo>⁢</mo>

\af

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$ 
<mo>⁡</mo>

\ic

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$ 
<mo>⁣</mo>


$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{4444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$ 

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{4444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$ 
$f(xy)$
This may be audio rendered as "f of x times y". 

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{4444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$ 

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{4444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$ 
${a}_{12}$
This may be audio rendered as "a sub one two" ( more appropriate if these are array indices, as opposed to "a sub twelve" ). 
\begin{array}{lcr} ... \end{array}
{lcr}
above) can be used
to customize the alignment of
each of the array's columns individually. The alignment can be one of
left (l)
,
centre (c)
or
right (r)
. Specify one of these alignments for each
column of your array. If you leave one or more out, the column(s) will default to
left
alignment.

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  $\begin{array}{c}\chi \left(\lambda \right)=\left\begin{array}{ccc}\hfill \lambda a\hfill & \hfill b\hfill & \hfill c\hfill \\ \hfill d\hfill & \hfill \lambda e\hfill & \hfill f\hfill \\ \hfill g\hfill & \hfill h\hfill & \hfill \lambda i\hfill \end{array}\right\hfill \end{array}$ 

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  $\begin{array}{c}\begin{array}{ccc}\text{First number}\hfill & \hfill x\hfill & \hfill 8\\ \text{Second number}\hfill & \hfill y\hfill & \hfill 15\\ \text{Sum}\hfill & \hfill x+y\hfill & \hfill 23\\ \text{Difference}\hfill & \hfill xy\hfill & \hfill 7\\ \text{Product}\hfill & \hfill xy\hfill & \hfill 120\end{array}\hfill \end{array}$ 

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  $\begin{array}{c}\leftx\right=\{\begin{array}{cc}x\hfill & \text{if\hspace{0.22em}\hspace{0.05em}x\u22650};\hfill \\ x\hfill & \text{if\hspace{0.22em}\hspace{0.05em}x<0}.\hfill \end{array}\phantom{\}}\hfill \end{array}$ 
array
environment,
can be nested (one inside the other). A couple examples are below:


$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  $\begin{array}{c}cofA=\left[\begin{array}{ccc}\hfill +\left\begin{array}{cc}\hfill 2\hfill & \hfill 1\hfill \\ \hfill 0\hfill & \hfill 2\hfill \end{array}\right\hfill & \hfill \left\begin{array}{cc}\hfill 0\hfill & \hfill 1\hfill \\ \hfill 3\hfill & \hfill 2\hfill \end{array}\right\hfill & \hfill +\left\begin{array}{cc}\hfill 0\hfill & \hfill 2\hfill \\ \hfill 3\hfill & \hfill 0\hfill \end{array}\right\hfill \\ \hfill \left\begin{array}{cc}\hfill 1\hfill & \hfill 0\hfill \\ \hfill 0\hfill & \hfill 2\hfill \end{array}\right\hfill & \hfill +\left\begin{array}{cc}\hfill 2\hfill & \hfill 0\hfill \\ \hfill 3\hfill & \hfill 2\hfill \end{array}\right\hfill & \hfill +\left\begin{array}{cc}\hfill 2\hfill & \hfill 1\hfill \\ \hfill 3\hfill & \hfill 0\hfill \end{array}\right\hfill \\ \hfill +\left\begin{array}{cc}\hfill 1\hfill & \hfill 0\hfill \\ \hfill 2\hfill & \hfill 1\hfill \end{array}\right\hfill & \hfill \left\begin{array}{cc}\hfill 2\hfill & \hfill 0\hfill \\ \hfill 0\hfill & \hfill 1\hfill \end{array}\right\hfill & \hfill +\left\begin{array}{cc}\hfill 2\hfill & \hfill 1\hfill \\ \hfill 0\hfill & \hfill 2\hfill \end{array}\right\hfill \end{array}\right]\hfill \end{array}$ 
bmatrix
for the square brackets,
and vmatrix
for the vertical ones. Like this:

\ensuremath{LaTeX to ensure is in a math environment}
\ensuremath{..}
is used almost entirely inside \newcommand
definitions.\newcommand{\mycurl}{\boldsymbol{\nabla} \times \mathbf{A}}
\newcommand{\mycurl}{ \ensuremath{ \boldsymbol{\nabla} \times \mathbf{A} } }
.
\mycurl
,
inside some sort of
mathematics environment (for example, $\mycurl$
or \( \mycurl \)
,
if it was desirable to have the equation 'inline'),
MathToWeb will make the assumption that it should indeed be inline, and will place it within
\( ...\)
. On the other hand,
if you place \mycurl
inside a proper math environment, either
'inline' or 'display', MathToWeb will do nothing, since the correct LaTeX is already in place.
\newcommand..
definitions should
be placed inside HTML/XMLtyple comments. The example above would be placed inside a document thus:\newcommand{\mycurl}{ \ensuremath{\boldsymbol{\nabla} \times \mathbf{A}} } >
\newcommand..
definitions inside
external files. See the commandline flag, ncf <file name>, from:menclose
: <menclose notation="updiagonalstrike"> ... </menclose>
. This element is more
versatile than just this, having quite a few possible 'notation' attributes available.
See W3C Recommendation for Presentation Markup (menclose)
for the related discussion. The following is a quotation from this article:
"The menclose element renders its content inside the enclosing notation specified by its notation attribute".
The W3C recommendation encourages renderers to handle the following list of 'notation' attributes:
longdiv  actuarial  radical  box  roundedbox  circle  left  right  top  bottom 
updiagonalstrike  downdiagonalstrike  verticalstrike  horizontalstrike
For example,  <menclose notation="longdiv"><mn>123</mn></menclose> 
$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  $\overline{)123}$ 
$\menclose[longdiv]{123}$

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  $\overline{)123}$ 
\menclose[notation]{math to be enclosed}





















$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  $\begin{array}{cc}\hfill & \hfill 10\\ \hfill 131& \hfill \overline{)1413}\\ \hfill & \hfill \underset{\_}{131}\phantom{3}\\ \hfill & \hfill 103\end{array}$ 
remove_mphantoms 
* Remove <mphantom..>..</mphantom> pairs and their contents, from the final MathML. Some mathematical programs do not handle these tags. (Note: These act generally to produce correct spacing in MathML output; however, if need be, they can be removed.
This was suggested by Massimiliano Margarone.

nodiffs 
* Do not insert differential operators for 'd' characters that act as such operators. This has the effect of generating " in place of " the latter being a differential operator. 
mt <margintop> 
* Set the top margin for mathematical, display environments. Example: mt 4em. The units used will always be 'em', regardless of whether they are specifically included or not. (The default top margin is 1.0em.) 
mb <marginbottom> 
* Set the bottom margin for mathematical, display environments. Example: mb 4em. The units used will always be 'em', regardless of whether they are specifically included or not. " + (The default bottom margin is 2.0em.) 
ml <marginleft> 
* Set the left margin inset for mathematical, display environments. Example: ml 4em This inset is relative to the page margin. The units used will always be 'em', regardless of whether they are specifically included or not. (The default left margin is 6.0em.) 
mr <marginright> 
* Set the right margin inset for mathematical, display environments. Example: mr 4em This inset is relative to the page margin. The units used will always be 'em', regardless of whether they are specifically included or not. (The default right margin is 6.0em.) 
stdoutf 
* Send the newly generated MathML to the stdout and to a file. 
vf 
* When the conversion to MathML is is complete, and without errors, open the output file in Firefox (the browser). If you prefer another browser try: vc (for chrome), va (for amaya), vs (for safari), vm (for mac), vw (for windows), or, see vb below to open in any other browser. 
vb <browser name> 
* When the conversion to MathML is is complete, open the output file in <browser name> (some browser). 
nocomm 
* Normally, LaTeX comments found inside a document are commentedout using XML ones. For example, "% some comment" will be converted to "<! %some comment >". Setting this flag will stop this action  meaning that LaTeX comments will be left in place. This only applies to LaTeX comments not found inside LaTeX math environments. Those that are, will be removed completely when the conversion to MathML is performed. However they do appear in the "(your LaTeX)" section preceding each converted math environment in your output file. 
\begin{maction}..\end{maction}
, new for for version 4.0.0.<maction> ...</maction>
element and its close (both shown here).

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$ 

When
actiontype="toggle" each subexpression is displayed in turn, as the user clicks on the successive expressions. 
\actiontype{..}
can contain one of: toggle, statusline, tooltip, highlight, menu . \selection{..}
must contain some positive integer, 1, 2, 3, ...n. actiontype>toggle
and selection>1
.

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  $\begin{array}{c}\genfrac{}{}{0.1ex}{}{6}{8}\genfrac{}{}{0.1ex}{}{3}{4}\hfill \end{array}$ 

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  $\begin{array}{c}\begin{array}{cc}A=\left[\begin{array}{cc}\hfill 2\hfill & \hfill 1\hfill \\ \hfill 4\hfill & \hfill 3\hfill \\ \hfill 6\hfill & \hfill 1\hfill \end{array}\right]\hfill & \hfill \phantom{\rule{2.00em}{0ex}}\text{What is\hspace{0.22em}\hspace{0.05em}AT\hspace{0.22em}\hspace{0.05em}?}\phantom{\rule{2.00em}{0ex}}\hfill \end{array}\begin{array}{ccc}A=\left[\begin{array}{cc}\hfill 2\hfill & \hfill 1\hfill \\ \hfill 4\hfill & \hfill 3\hfill \\ \hfill 6\hfill & \hfill 1\hfill \end{array}\right]\hfill & \hfill \phantom{\rule{2.00em}{0ex}}\text{What is\hspace{0.22em}\hspace{0.05em}AT\hspace{0.22em}\hspace{0.05em}?}\phantom{\rule{2.00em}{0ex}}\hfill & \hfill {A}^{T}=\left[\begin{array}{ccc}\hfill 2\hfill & \hfill 4\hfill & \hfill 6\hfill \\ \hfill 1\hfill & \hfill 3\hfill & \hfill 1\hfill \end{array}\right]\end{array}\hfill \end{array}$ 
\newcommand
has been a challenge from the early days of MathToWeb's
delelopment.

$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  $\begin{array}{cc}{p}_{c}=0\hfill & \hfill \text{(1)}\end{array}$ 
\newcommand
declarations can be placed into a document in one of two ways:> java jar mathtoweb.jar ncf ./mystyle.sty myLatexFile.xhtm
\newcommand
code was not handling optional
default arguments correctly.
Here's an example (courtesy of James):\newcommand {>cmd<} [>num<] [>default<] {>definition<}
\renewcommand {>cmd<} [>num<] [>default<] {>definition<}


$\underset{\mathrm{\u205f\u200a}\phantom{3}\mathrm{\u205f\u200a}}{\overset{\mathrm{\u205f\u200a}\phantom{\rule{1.00em}{0ex}}\phantom{44444444}\phantom{\rule{1.00em}{0ex}}\mathrm{\u205f\u200a}}{\u27f6}}$  $\begin{array}{cc}\begin{array}{cc}\hfill p(\phantom{}{X}_{c}\left[\omega \right]\phantom{\rule{0.167em}{0ex}}\phantom{\rule{0.167em}{0ex}}d\omega )& ={\displaystyle \underset{\infty}{\overset{\infty}{\int}}}H\left(t\right)\phantom{\rule{0.167em}{0ex}}{e}^{at}\phantom{\rule{0.167em}{0ex}}{e}^{j\omega t}\phantom{\rule{0.167em}{0ex}}dt\hfill \\ \hfill & ={\displaystyle \underset{0}{\overset{\infty}{\int}}}{e}^{(a+j\omega )t}\phantom{\rule{0.167em}{0ex}}dt={[\genfrac{}{}{0.1ex}{}{{e}^{(a+j\omega )t}}{a+j\omega}]}_{0}^{\infty}\hfill \end{array}\hfill & \hfill \text{(1)}\\ \hfill \text{(2)}\end{array}$ 
\newcommand
, and due to some extremely valuable feedback
from users, and a good deal of thorough testing, I think we can finally say that MathToWeb can tackle
this command with confidence.
$\mbox{, solve for}$
$2.8$
$2,8$
will now be correctly converted to <mn>2,8</mn>
>java jar mathtoweb.jar stdout inputLatex.xml
>java jar mathtoweb.jar help
)
As stated above, a new Java utility function has been added to MathToWeb.java (the main source file). Programmers can compile the MathToWeb source code into their own projects and use the new function, called convertLatexToMathMLUtility(..), to implement conversions of LaTeX to MathML. In essence, the function takes a string (containing LaTeX) as an argument, and returns a string (containing MathML) upon completion.
The new function is simple to implement, as described below:
MathToWeb mtw = new MathToWeb("conversion_utility");
String[] sArrayReturn = new String[3];
sArrayReturn = mtw.convertLatexToMathMLUtility(sLatexInput, sCommandLineArgs); // This is the new function.
String sSuccessOrFailure = = sArrayReturn[0];
String sConversionLog = sArrayReturn[1];
String sMathMLOutput = sArrayReturn[2];
The first argument to convertLatexToMathMLUtility(..), the String sLatexInput, is just the text (containing LaTeX)
that is to be converted to MathML. A very simple example might be:
"...and the following integral, $\int_a^b f(x) \, dx$ gives rise to a ...."
.
The second argument, the String sCommandLineArgs, allows the program to be called with any of the command flags
available in the commandline variant. An example might be: "unicode line ie UTF8 rep"
.
The first returned String, sSuccessOrFailure, will contain either "Success" or "Failure". Note that "Failure" is reported if there is a LaTeX syntax error, or some other problem that makes it impossible to convert the input string.
The second returned String, sConversionLog, gives useful output related to the conversion process just run, like syntax errors etc. (more or less, the same output as seen in the commandline or Applet/GUI variants).
The third returned String, sMathMLOutput, contains the result of the conversion (i.e. the MathML, converted from LaTeX).
$\dot{x}^i$
(if not written as ${\dot{x}}^i$
), for
any accent or prime , were not being interpreted correctly.
The dot{x}
was not being taken as the whole base of the exponent.
$widehat{abc}$
if converted using the unicode
command (for example,
java jar mathtoweb.jar unicode test3.xml
) were retaining the
MathML named entity ^
instead of exchanging it for the equivalent Unicode
character (which is ^
).
\left
of ${\left.a\right{}}_{\left(b\right)}$
was being retained in the MathML.
>java jar mathtoweb.jar df fileOut.xml force source.xml
>java jar mathtoweb.jar help
)
>java jar mathtoweb.jar ns mml source.xml
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mrow>
<msub>
<mi>A</mi>
<mi>i</mi>
</msub>
</mrow>
</math>
<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
split
inside gather
(like the example below)
was not converting to MathML correctly. The split
was being replaced by an internal \myplaceholder0
tag
which was being retained in the final output. This has been corrected.
\begin{gather}
a_1=b+c+d \tag{1.3}\label{gathereq1}\\
\begin{split}
a_2+a_3+a_4&=e+f+g+h\\
&\quad +i+j+k\\
&=l+m+n
\end{split} \tag{1.4}\label{gathereq2} \\
a_5=o+p+q+r+s+t+u+v+w \tag{1.5}\label{gathereq3}
\end{gather}
\overbrace{ABCDEF}^{abc}
and
\underbrace{EFGHJK}_{abc}
contained the wrong
characters for the 'overbrace' and 'underbrace'. The Unicode output
(when the 'unicode' switch was used at the command line) was also
incorrect.
$\left\{ A \right\}_{B}$
\left\{ A \right\}
as the full base of the subscript.
pmatrix
(or other matrix elements) had
been declared within some equation environment. Only the first pmatrix
was being
completely converted.
\begin{equation*}
{
\begin{pmatrix}
a_{11}\lambda & \dotsm & a_{1n} \\
\vdots & \ddots & \vdots \\
a_{n1} & \dotsm & a_{nn}\lambda
\end{pmatrix}
}
{
\begin{pmatrix}
x_1 \\
\vdots \\
x_n
\end{pmatrix}
}
{
= \mathbf{0}
}
\end{equation*}
$A_{\infty} = \{ A \}$
\alpha
to α
(this is a MathML
character). With the 'Unicode option' set,
it will be converted to α
instead.unicode
flag in your command, as the
following example demonstrates:


ncf myncf1.txt, myncf1.txt
$\log \left\lvert A \right\rvert$
.
Copyright © 20082013 MathToWeb.com / Paul Hunter MathToWeb is Open Source software.  contact me  privacy policy 