\documentclass[12pt]{article}
%100\% % test comment removal
\begin{document}
\title{A Brief Description of LaTeXMathJax}
\author{Peter Jipsen}
\address{Chapman University}
\date{Version: January 31, 2014 (update to new CDN on July 25, 2017)}
\maketitle
\begin{abstract}
This is a short article that illustrates those aspects of LaTeX
that are transformed by LaTeXMathJax into a html plus MathJax format. While
limited in scope, LaTeXMathJax nonetheless is capable of transforming a
large subset of those elements found in a typical LaTeX article into a MathJax
empowered webpage. The goal of LaTeXMathJax is that of making pure latex
coding a "web-friendly" enterprise. A look at the HTML source of this page
reveals that it is in fact almost completely written in LaTeX and transformed
client-side into HTML+CSS+MathJax.
\end{abstract}
\section{Introduction}
LaTeXMathJax is complete rewrite of
\href{http://math.etsu.edu/LaTeXMathML/}{LaTeXMathML} by Jeff Knisley
(based on work of
Douglas R. Woodall), which is itself an adaptation and extension of
\href{http://www1.chapman.edu/\~jipsen/asciimath.html}{ASCIIMathML}
by \href{http://www1.chapman.edu/\~jipsen}{Peter Jipsen}.
Like ASCIIMathML, it transforms LaTeX code it finds among the HTML code
for a web page into MathJax-typeset equations. This article is a brief
introduction both to LaTeX and to how it can be used in conjunction
with LaTeXMathJax to include mathematics in all browsers that support
MathJax.
\subsection{A Brief Description}
\label{Browsers} To use LaTeXMathJax, your web-page header needs to have the
following in the <head> of the webpage:
\texttt{<script src="http://math.chapman.edu/\~jipsen/latexmathjax/latexmathjax.js"></script>
<link rel="stylesheet" type="text/css"\newline href="http://math.chapman.edu/\~jipsen/latexmathjax/latexmathjax.css" />}
%
\subsection{Downloading LaTeXMathJax}
To download and use LaTeXMathJax, you will need at least the Javascript .js file. The CSS style sheet
is not involved in the typesetting of equations, but it is important for numbering equations, captioning
figures, and so on. To download, right-click on the following links and choose "Save Target As...":
\newline \ \href{http://math.chapman.edu/~jipsen/latexmathjax/latexmathjax.js}{Link to latexmathjax.js Javascript Code}
\newline \ \href{http://math.chapman.edu/~jipsen/latexmathjax/latexmathjax.css}{Link to Standard Article Style Sheet}
\newline
If you download latexmathjax.js or latexmathjax.css, then the URL's in the script and link tags will need to point to the download locations.
\[\colorbox{yellow}{Note: LaTeXMathJax is designed to automatically load MathJax from a cdn (content distribution network; see end of the latexmathjax.js file).}\]
\[\colorbox{yellow}{Hence MathJax should not also be loaded at the top of the html file that loads LaTeXMathJax.js since this can cause conflicts preventing MathJax from loading properly.}\]
\textbf{The remainder of this text is taken verbatim from Jeff
Knisley's description of LaTeXMathML. Wherever ASCIIMathML is referenced, it
should now be read as MathJax, and some of the material below does not apply
to the current (mini) version of LaTeXMathJax.}
\subsection{A Brief History}
MathML is a low level mathematical markup language for the internet. The "low level"
nature of MathML means that typesetting even the simplest expressions can be
quite involved. For example, typesetting the equation $y=x^2$ in MathML requires the following MathML structure:
\begin{verbatim}<math title="y=x^2">
<mstyle>
<mi>y</mi>
<mo>=</mo>
<mrow>
<msup>
<mi>x</mi>
<mn>2</mn>
</msup>
</mrow>
</mstyle>
</math> \end{verbatim}
However, the power and possible applications of MathML more
than justify its complexity. In the future, MathML will allow not only the
display of equations, but also their storage in databases, their mathematical
manipulation for research purposes, and alternative representations such as
for the handicapped or in other languages. Indeed, many efforts are underway
to take advantage of MathML.
The low-level nature of MathML has also inspired many efforts to develop
higher level methods for encoding mathematical expressions into MathML.
Most notable for this project is
\href{http://www1.chapman.edu/\~jipsen/asciimath.html}{ASCIIMathML}
by \href{http://www1.chapman.edu/\~jipsen}{Peter Jipsen} of Chapman
University, upon which LaTeXMathML is based. Dr. Jipsen's excellent tool
allows certain text codes in html-encoded web pages to be transformed
"on the fly" into MathML equivalent
syntax. The
\href{http://www1.chapman.edu/\~jipsen/asciimath.html}{ASCIIMathML}
javascript file is now one of several similar
technologies by Peter Jipsen that do everything from graphing to
implementing a personal wiki.
Having noticed that some ASCIIMathML codes are similar to LaTeX codes and
motivated out of a desire for a more LaTeX-like experience, Dr.
\href{http://www.maths.nottingham.ac.uk/personal/drw/}{Douglas R. Woodall}
of the University of Nottingham transformed ASCIIMathML into the original
\href{http://www.maths.nottingham.ac.uk/personal/drw/lm.html}{LaTeXMathML}
which accomplishes the same task as Dr. Jipsen's ASCIIMathML but does so
strictly with LaTeX codes. At about the same time, Dr.
\href{http://www.math.wisc.edu/\~ram/}{Arun Ram} of the University of Wisconsin
developed the
\href{http://www.math.wisc.edu/\~ram/MathGlossary/mathmlguide.xml}{mathmlguide}
which suggests standard practices for
using html/xml+css+mathml in producing web-based mathematics (supported in
part by the National Science Foundation under Grant No. DMS-0353038 ).
The present version of LaTeXMathML extends the original to allow simple
LaTeX articles to be transformed to html+css+mathml in accordance with (much
of) the mathml style guide. It was produced by Dr. Jeff Knisley, from
East Tennessee State University, and supported in part by a Howard Hughes
Medical Institute initiative called the
\href{http://math.etsu.edu/Symbiosis/}{Symbiosis Project} ( HHMI #52005872).
This short article is an introduction to LaTeXMathML. The second section explores
the typesetting of simple mathematical expressions. The third section describes
the larger "logical" structures--in particular, the
\texttt{\begin...\end} structures
supported by LaTeXMathML--and the fourth section describes the interplay between
traditional html formatting and the LaTeXMathML script.
\section{Mathematical Expressions} % blank line after \section inserts additional space
At the heart of both ASCIIMathML and LaTeXMathML is the desire to transform
LaTeX-encoded mathematics into mathml equivalent structures. For
example, the LaTeX code \texttt{\$y=x^2\$} is transformed
into the mathml typeset expression $y=x^{2}$.
LaTeX coding of mathematics is for the most part straightforward and
logical. Inline mathematics is placed between dollar signs, as above,
while displayed equations can be structured in several ways (details later).
A relatively simple approach to displayed equations is to use either
\$\$ ... \$\$ or \textbackslash[ ... \textbackslash], where ... represents
the LaTeX codes for the math to be displayed.
For example, the following is a displayed equation set off by \textbackslash [
and \textbackslash ]:
\[ x\left( x-1\right) =x^{2}-x \]
The LaTeX code for most mathematical objects includes a "backslash" before
the name of the object. For example, the Greek letter "alpha" is entered as
\texttt{\alpha}, which is subsequently rendered as
$\alpha$. Some objects, such as fractions and square roots, require other
mathematical objects. These follow immediately after the object name and are
enclosed using braces { }. For example, the upper $\frac{1}{2}$ of the unit
circle is encoded by \texttt{\$\$y=\sqrt{1-x^2}}\texttt{\$\$},
which results in $$y=\sqrt{1-x^{2}}$$
There are few exceptions to this simple approach, so that LaTeX encoding of
mathematics depends in great part on knowing the codes for the mathematical
objects to be so rendered. A list of many common objects is given at
\href{http://www.maths.nottingham.ac.uk/personal/drw/lm.html}{LaTeXMathML}.
Mathematical groupings are an important part of mathematical formatting.
Grouping in LaTeX is accomplished using the \left and \right structures.
For example, the expression on the right below uses the \left(...\right) structure,
while the one on the left does not. % Creates a comment until end of line!
\[
\frac{d}{dx}(\frac{x^{2}}{\sqrt{1-x^{2}}}) \quad \text{or} \quad \frac{d}{dx}\left(
\frac{x^{2}}{\sqrt{1-x^{2}}}\right)
\]
Also, an empty line indicates to LaTeX that a new paragraph should begin. YOU SHOULD AVOID
EMPTY LINES INSIDE EQUATIONS!!!
Another way of organizing and grouping mathematical objects is via an array
structure. In LaTeX, arrays are produced using the
begin{array}{aligncode}...\end{array} structure, as is the
case with the rotation matrix below:
\[
R\left( \theta \right) =\left[
\begin{array}{cc}
\cos \left( \theta \right) & -\sin \left( \theta \right) \\
\sin \left( \theta \right) & \cos \left( \theta \right)
\end{array}
\right]
\]
Moreover, combinations of \left...\right and arrays can be used to create a large number of
mathematical structures, such as a representation of a piecewise-defined
function. Below is an example for the \emph{characteristic function} of an
interval $\left[ a,b\right]$.
\textbf{NOTE: You MUST USE \lt for "less than" and \gt for
"greater than" because the symbols > and < are used to form HTML tags.}
\[
\chi _{\left[ a,b\right] }\left( x\right) =\left\{
\begin{array}{ccc}
1 & \mbox{if} & a\leq x\leq b \\
0 & \mbox{if} & x \lt a ~ \mbox{or} ~ x\gt b
\end{array}
\right.
\]
There are many guides to LaTeX coding that are readily available, including
\cite{LaTeXMathMLcite} and the beginner's tutorial by
\href{http://ctan.tug.org/tex-archive/info/lshort/english/lshort.pdf}{Tobias Oetiker et al},
which also comes in a number of
\href{http://ctan.tug.org/tex-archive/info/lshort/}{different translations}.
For a quick, high-level overview of the history, power, and purpose of
LaTeX, see
\href{http://www.techscribe.co.uk/ta/latex-introduction.pdf}{Mike Unwalla's one-page
description}
in the 2006 'Communicator'. There is also a
\href{http://en.wikibooks.org/wiki/LaTeX}{LaTeX wikibook} .
Finally, the free download
\href{http://www.dessci.com/en/products/texaide/}{TeXaide} from Design Science
provides a ``point and click'' method for producing LaTeX codes for
mathematical expressions. They can be ``cut and pasted'' into web pages
like this one that are to be transformed using LaTeXMathML.
\section{Larger Structures}
Mathematics is communicated not only through symbols and expressions, but also through
larger logical structures such as arrays of equations, numbered equations, definitions,
theorems, and examples. LaTeX can implement practically any such logical structure, but
LaTeXMathML implements only a subset of the LaTeX structures and leaves the rest to
html and css implementation.
Let's take a look at the logical structures provided by LaTeXMathML using a
top-down approach. To begin with, we can place title, authors, addresses,
and date at the beginning of a web page, along with an abstract and
keywords. The next level of structure is the section, which we have
already seen, followed by subsections and subsubsections. For example,
the phrase ``Begin...End Structures'' below is the title of a subsection.
\subsection{Begin...End Structures}
After the section, subsection, subsubsection
structures, the next level of structure are the \begin ... \end structures
known as \emph{environments.} LaTeXMathML implements the following environments:
itemize, enumerate, figure, definition, proposition (a short, nearly obvious theorem),
lemma (a result that precedes a proof of a theorem), theorem, proof,
corollary (follows immediately from a theorem), example, and exercise.
Let's explore environments by developing the ``theory'' of when two measured
quantities are commensurate with one another (i.e., rationally related).
% To end of line is comment. A line with only space starts a new paragraph
\begin{definition}
Let us define a variable $A$ to be commensurate with a variable $B$ if there
exist non-zero integers $m,n\in \mathbb{Z}$ such that $$ mA=nB.$$
\end{definition}
Notice that environments can contain both inline and displayed equations.
They can also contain html coding (later). Moreover, the following
\ % a single backslash surrounded by space inserts a non-breaking space, so line is not empty
proposition should be immediate.
% Do not use multiple \ for spacing (i.e., no \ \ \ ). Use actual spacing commands.
\begin{proposition}
$A$ is commensurate with $B$ if and only if $B$ is commensurate with $A.$
\end{proposition}
\begin{proof}
Follows immediately from the fact that $mA=nB$ is the same as $nB=mA$
(reflexivity of equality).
\end{proof}
The structure after the proposition environment is the \emph{proof}
environment. Environment and section styles are controlled using CSS style
sheets. The default is latexmathjaxmini.css, which adds the
structure ``\textbf{Proof:}'' at the beginning of the environment and the
block at the end. The css style sheet can be edited to change this rendering.
%
\begin{proposition}
Integer coefficient linear combinations of commensurate variables are
commensurate to both variables.
\end{proposition}
\begin{proof}\label{NoEQN}
If $nA=mB$ for $m,n\in \mathbb{Z}$ and $C=jA+kB$ for $j,k\in \mathbb{Z}$,
then
\begin{eqnarray*}
mC &=&jmA+kmB \\
&=&jmA+knA \\
&=&A\left( jm+kn\right)
\end{eqnarray*}
which completes the proof since $\left(jm+kn\right)\in\mathbb{Z}$
\end{proof}
Also, by default, all numbering is by section count and environment count
once a section has been defined (and is only by environment count if no
sections are used). To the extent allowed by a given browser's CSS support,
this numbering scheme can be modified to include subsections,
subsubsections, and other features. The lemma, theorem, corollary, example,
and exercise environments are similarly employed.
\subsection{Equation Arrays and Numbering}
There are many different ways of producing displayed equations, such as
using double dollar signs, using backslash bracket
combinations, or using any of the \emph{displaymath, equation, equation*,
eqnarray, }or \emph{eqnarray*} environments. The equation and eqnarray
environments generate numbers, while the other
environments (the starred, in particular) do not \emph{unless they contain a
label} (more later).
Eqnarrays are used to define arrays of equations, which are arrays of rows
with each row containing the same number of elements. Elements in each row
are separated by ampersands &, and rows are separated using
\\
\begin{lemma}
The variables $A$ and $A^{2}$ are not commensurate.
\end{lemma}
\proof The key here is that $A$ and $A^{2}$ can
vary, meaning their values are not fixed. Thus, given any fixed $m$ and $n,
$ we have
\begin{eqnarray}
mA &=& nA^{2} \\
mA-nA^{2} &=&0 \\
A\left( m-nA\right) &=&0
\end{eqnarray}
which implies that $A=\frac{m}{n}$ is constant.\endproof
Here we see three new features -- namely, the old style proof and endproof
objects (in contrast to the proof environment). Specifically,
\textbackslash proof creates the word "Proof:" and
\textbackslash endproof creates a black box.
Also, the proof above includes a numbered eqnarray structure, one we will
refer back to later. The number exists because it contains a \emph{label}.
Labels mark points in a document that we want to refer back to later
(using the \ref{..} structure ). In contrast, the eqnarray structure in
the \href{#NoEQN}{proof} of Proposition 3.2 does not include a number.
Notice that \textbf{to this point, there are no errors in entering LaTeX
codes}. Unlike a LaTeX compiler which stops when it encounters an error,
the LaTeXMathML script keeps plugging away (hopefully) as best as it can.
For example, if we incorrectly had entered \endpproof, then
LaTeXMathML leaves it as it found it while a traditional LaTeX compiler
might stop compiling and ask for guidance.
While convenient given small errors and simple documents, LaTeXMathML's tendency
to "keep on going" may make errors more difficult to locate, especially in
larger structures. It may thus be advantageous to make sure the document
compiles as traditional LaTeX first.
%
\begin{theorem}
The product of commensurate variables is not commensurate with either
variable.
\end{theorem}
%
\begin{proof}
If $A$ and $B$ are commensurate, then $\exists m,n\in \mathbb{Z} \ni mA=nB$.
Since we can write
$$
4AB=\left( A+B\right) ^{2}-\left( A-B\right) ^{2}
$$
the quantity $4AB$ is commensurate to the combination of $\left( A+B\right)
^{2}-\left( A-B\right) ^{2}.$ The lemma implies that $\left( A+B\right) ^{2}$
is not commensurate to $A+B,$ and a calculation similar to
(\ref{LemmaEquationArray}) shows that the combination is not commensurate
to any linear combination of $A$ or $B,$ thus proving the theorem.
\end{proof}
Again, we see two more structures -- namely, the displaymath environment that
does not number the equation (unless it contains a label) and the ref
command which points back to the eqnarray in the lemma (REF COMMANDS ARE
CASE\ SENSITIVE). Clicking on the ref will move the page focus to that
equation, and the browser back button will move it back.
\subsubsection{More with Labels, References, and Citations}
A label can also be placed into any \begin..\end structure, and if a
counter scheme exists for that structure, then a ref will display that value.
For example, the second corollary below contains a label that is ref'ed in the
example that follows.
\begin{corollary}
The $n^{th}$ root, $n \ne 1,$ of a variable is not commensurate with the original variable.
\end{corollary}
\begin{corollary}
\label{CorollaryLabel}The ratio of commensurate variables is not
commensurate with either variable.
\end{corollary}
We omit the proofs because we want to point out the label in the corollary --
and that the default numbering does not reference the subsection
(but can be changed with appropriate CSS if supported).
\begin{example}
Suppose \label{theexample} a factory makes different sizes of square sheets of paper, and
suppose that $S$ denotes the length of a side of a given square sheet
\textbf{in centimeters} and $T$ denotes the length of a side of a given
square \textbf{in meters.} Then $S=100~T,$ so $S$ and $T$ are commensurate.
However, if a sheet of paper is exactly $\sqrt{2}$ cm in length, then its
area is $2$ $cm^2$, and there is no way to rationally relate $\sqrt{2}$ to
$2.$ Thus, $S^{2}$ and $S$ are not commensurate (because the measurements
themselves need not be rational numbers!). Also, notice that the word
variable in Corollary \ref{CorollaryLabel} is of key importance, since
\[
\frac{S}{T}=100\quad \text{is constant}.
\]
\
\end{example}
The reference back to the Corollary is a link with the Corollary's number.
In the last equation, we use space-creating objects like
quad and \~. Also, each backslash surrounded
only by text inserts a single space.
Referencing an item in the bibliography is done using the \textbf{cite}
command. It works like a ref, only it shows the bibliographic entry
heading for an item in the references, which can be either numerical or a
label. For example, for more information on commensurate variables, see
\cite{CCM}. (Given appropriate CSS support and a couple of LaTeXMathML.js
modifications, Harvard style citations could be easily produced).
\section{LaTeXMathML and HTML}
It is possible to use HTML instead of LaTeX to create structures. For example, both this
\href{#LemmaEquationArray}{LateX Link} and this HTML
link point back to the equation array in the lemma above. We've also seen html and
LaTeX working together via the html "pre" tag.
It is imperative, however, that ONLY LATEX CODES ARE USED IN
FORMATTING LATEX EQUATIONS. For example, we cannot use an html "bold" tag to
create bold inside an equation array. Instead, we would need
to use \\textbf{bold text}. However, html tags
can be used inside of non-equation, non-table, and non-figure environments.
\subsection{Figures and Tables}
Figures and tables can be typeset using either LaTeX or HTML. Below is an example
in which the first image is via the html img tag, while the second uses the figure
environment.
\begin{exercise}
Suppose the figure below was drawn on a rubber sheet which is stretched uniformly
in all directions.

The labeled quantities vary as the rubber sheet is
stretched. Which of these labeled quantities are commensurate with each other?
\end{exercise}
\begin{exercise}
Which products of variables are commensurate in Figure \ref{Exercise2Image}?
\begin{figure}
\label{Exercise2Image}
\includegraphics{EquilateralTriangle.gif}
\caption{Same image as above}
\end{figure}
\end{exercise}
As these examples show, the html image can include img style properties (such
as a border). However, we have no means of numbering or referencing
the image by number. The LaTeX version allows no image styles but does provide
a straightforward means of labeling and captioning the image.
Tables can be defined using either HTML or LaTeX. We will only consider the LaTeX table structure
here, which must contain \textbf{only} LaTeX code (no html) and \textbf{only} inline math.
\begin{verbatim}
\begin{table}
\begin{tabular}{lcr}
First & $x^2+y^2$ & $\frac ab$ \\
Second & 0 & Table Cell \\
Third & $y=\sqrt{1-x^2}$ & End
\end{tabular}
\caption{This is a LaTeX Table}
\end{table}
\end{verbatim}
The resulting table is shown below:
\begin{table}
\begin{tabular}{lcr}
First & $x^2+y^2$ & $\frac ab$ \\
Second & 0 & Table Cell \\
Third & $y=\sqrt{1-x^2}$ & End
\end{tabular}
\caption{This is a LaTeX Table}
\end{table}
Only simple table structures are supported--hlines and vertical bars are ignored. However, tables
are of the class LaTeXtable and each has a unique id of LaTeXtable#, where # is a positive integer,
so that CSS styles can be applied to any or all of the tables. Also, the
\\displaystyle
command will cause inline mathematics to be typeset as if displayed.
\subsection{Lists and Colors}
Similarly, numbered and bulleted lists can be rendered using either LaTeX or HTML,
and in both cases, items in the list can contain inline math, displayed math, or
just about anything. For example, first let's consider the LaTeX \textbf{enumerate} environment
\begin{enumerate}
\item First Numbered Item
\item Second Numbered Item
\begin{enumerate}
\item Second Item Sublist one with equation
\[ \frac {\pi^n-1} {\pi-1} = \sum_{j=0}^{n-1} \pi^j \]
where $\pi = 3.14159\ldots$.
\item Second Item Sublist Two
\end{enumerate}
\item Third Numbered Item
\end{enumerate}
Now let's look at the LaTeX \textbf{itemize} environment:
\begin{itemize}
\item First bulleted item
\item Second bulleted item
\item Bulleted item C
\end{itemize}
These can be easily reproduced using the HTML ol (ordered list) and ul (unordered list)
environments. The list above is reproduced below using the ul tag.
the second inside of a "font" tag which turns this text red,but which does not include this text so that LaTeX such as $y=x^2$ is not transformed into MathML, and the third from
here to the end of the page. The second actually uses a "span" instead of a "div", in the form
\begin{verbatim}
<font color="red" >
<pre class="LaTeX"> <span>
the second inside of a "font" tag which turns this text red
</span></pre>
</font>
\end{verbatim}
A simple script can be used to obtain only the code inside of LaTeX class containers before compiling
with a LaTeX compiler. This allows LaTeX and HTML to be mixed meaningfully on a web page in a way
that does not interfere with LaTeX compiling of the LaTeX on the page. Also, the pre-div structure
allows LaTeXMathML to overcome some (but not all) of the shortcomings of Internet Explorer. (\textbf{Note:} I
have not yet written such a script, but doing so is very straightforward).
\section{Future Directions}
The goal of LaTeXMathML is that of making pure latex coding a "web-friendly" enterprise. In particular,
LaTeX differs enough from html and xml to allow it to be nearly seamlessly
incorporated into the web environment.
Thus, the ideal for LaTeXMathML is as an engine that
\begin{itemize}
\item maps LaTeX structures to html and/or MathML structures and
\item uses CSS style files for styling (in parallel to .sty files in LaTeX).
\end{itemize}
Unfortunately, browser support for
CSS2 is problematic at best, and support for CSS3 is non-existent, so that in the
present effort, many features are not CSS by default. To the extent
that support exists, CSS features can be enabled by modifying the
LaTeXMathML.standardarticle.css style sheet (see stylesheet comments for
details).
There are bound to be many, many errors produced by this effort, some of which are
due to inconsistencies across browsers. Fortunately, there are alternatives to
LaTeXMathML, although each with their own sets of advantages and disadvantages
(for example, LaTeX variants such as \cite{Itex2MMlcite} and \cite{TTMcite} ).
Also, many of the implementations (tables, for example) are limited in scope.
One important issue that should be addressed is that LaTeX documents are
typically much, much longer than a typical webpage. A way to address this
might be to develop collapsing sections. This could be accomplished by mapping
sections into "divs" and allowing the always-visible headings to toggle between
displayed and not-displayed. This would have the added benefit of
allowing LaTeXMathML.js to work on a section-by-section basis and give the
appearance of accelerated rendering.
Another important issue is CSS versus XSL. The choice of CSS over XSL is due
to the mathml guide and to the familiarity many users may have with CSS.
Browser support for CSS is poor but hopefully improving (many improvements have
already been made on an ad-hoc basis -- see, for example, \cite{IE7cite}, which I have
yet to get to work with the latest version of IE but which has worked in the
past). Enabling commented items in the LaTeXMathML.standard.css stylesheet
will allow Firefox to use CSS for all features -- including counters --
except for cites and references.
As a mathematician, I try to always keep in
mind that it is the mathematics that is most important and
not the formatting itself. But as a colleague once noted,
"If formatting wasn't important, all our journals would be Xerox copies of
legal pads." Hopefully, LaTeXMathML can be a tool that allows us to focus on
mathematics and yet enables us to use the power of the internet in communicating
that mathematics to ourselves and others.
\textbf{Note: }Click \href{torturetest.htm}{here} for LaTeXMathML Torture test.
\begin{thebibliography}{9}
\bibitem{Doob} Doob, Michael. \textit{A Gentle Introduction to LaTeX: A Manual for Self-study}, Department of Mathematics, The University of Manitoba
Winnipeg, Manitoba, Canada, \url{http://ctan.tug.org/tex-archive/info/gentle/gentle.pdf}
\bibitem{IE7cite}Edwards, Dean. \textit{IE7}, March, 2007, \url{http://dean.edwards.name/IE7/}
\bibitem[[Itex2MMl]]{Itex2MMlcite}Gartside, Paul. \textit{Itex2MML}, Department of Mathematics, University of Pittsburgh, March 2001, \url{http://pear.math.pitt.edu/mathzilla/itex2mml.html}
\bibitem[[TTM]]{TTMcite}Hutchinson, Ian. \textit{TTM, A TeX to MathML Translator}, \url{http://hutchinson.belmont.ma.us/tth/mml/}
\bibitem{x} The LateX Project. \url{http://www.latex-project.org/intro.html}
\bibitem[[LaTeXMathML]]{LaTeXMathMLcite}Woodall, Douglas R. \textit{LaTeXMathML}, School of Mathematical Sciences, the University of Nottingham, University Park, Nottingham, \url{http://www.maths.nottingham.ac.uk/personal/drw/lm.html}
\bibitem{CCM}Wikipedia contributors. \textit{Commensurability (mathematics)}, Wikipedia, The Free Encyclopedia,10 May 2007, retrieved on 25 May 2007,
\url{http://en.wikipedia.org/w/index.php?title=Commensurability_\%28mathematics\%29}, Page Version ID: 129899760
\end{thebibliography}
\
There is also a simple appendix system using the appendix command (used only once):
\appendix
\section{Technical Appendix}
Below are a few insights into the inner workings of LaTeXMathML.js for those
who might want to modify it, as well as some information about the CSS used
in LaTeXMathML.standardarticle.css.
\subsection{A Brief Description of LateXMathML.standardarticle.css}
In extending LaTeXMathML, an attempt was made to match structures in LaTeX with their most natural
counterparts in html (in particular, in the document object model). Thus, sections, subsections,
and subsubsections are mapped to headings H2, H3, and H4 (as was done in the mathmlguide), while
labels, references, and citations are mapped to anchors--i.e., the "a" tags. Environments are
mapped to DIV elements, while figures and displayed equations are mapped to html tables in order to
accommodate numbering and captions. Script Generated text--such as numbers and the word "references"
are placed into "span" elements. This means that if pseudo-classes and CSS counters are to be used,
the script generated text can be suppressed by setting
\begin{center}
span.environment { display: none }
\end{center}
in the .css style file.
The relevant CSS classes are classified according to dom element type in the html table below.
The Divs and Counters column identifies elements that have countered associated with them. In the CSS
counter specifications, the counter names are the same as the classNames.
| Divs | Divs & Counters | Tables | Other |
| title | definition | displayequation | section = H2 |
| author | proposition | figure | subsection = H3 |
| address | lemma | LaTeXtable | subsubsection = H4 |
| date | theorem | itemize = ul | |
| abstract | corollary | enumerate = ol | |
| keyword | example | ref = a | |
| thebibliography | exercise | cite = a |