--- /dev/null
+<!--#set var="root_directory" value=".." --><!--#include virtual="$root_directory/shared/header.shtml"-->
+
+<h1>Math Markup</h1>
+
+<h2>Use Unicode instead of entities</h2>
+
+<table>
+ <tr><th>Symbol</th><th>Entity</th> <th>LaTeX</th> <th>Unicode</th></tr>
+ <tr><td>—</td> <td>&mdash;</td> <td>--- ?</td> <td>EM DASH, U+2014</td></tr>
+ <tr><td>–</td> <td>&ndash;</td> <td>-- ?</td> <td>EN DASH, U+2013</td></tr>
+ <tr><td>è</td> <td>&egrave;</td> <td>?</td> <td>LATIN SMALL LETTER E WITH GRAVE, U+00E8</td></tr>
+ <tr><td>Γ</td> <td>&Gamma;</td> <td>\Gamma</td> <td>GREEL CAPITAL LETTER GAMMA, U+0393</td></tr>
+ <tr><td>Ω</td> <td>&Omega;</td> <td>\Omega</td> <td>GREEL CAPITAL LETTER OMEGA, U+03A9</td></tr>
+ <tr><td>π</td> <td>&pi;</td> <td>\pi</td> <td>GREEK SMALL LETTER PI, U+03C0</td></tr>
+ <tr><td>∫</td> <td>&Integral;</td> <td>\int</td> <td>INTEGRAL, U+222B</td></tr>
+ <tr><td>〈</td> <td>?</td> <td>\langle</td> <td>LEFT-POINTING ANGLE BRACKET, U+2329</td></tr>
+ <tr><td>〉</td> <td>?</td> <td>\rangle</td> <td>RIGHT-POINTING ANGLE BRACKET, U+232A</td></tr>
+</table>
+
+<p><a href="http://live.gnome.org/Gucharmap">Gucharmap</a> is a useful
+utility for looking up unicode symbols.</p>
+
+<h2>Compiling itex to MathML</h2>
+
+<p>Using <a href="http://golem.ph.utexas.edu/~distler/blog/itex2MML.html">itex2MML</a>:</p>
+
+<pre>
+$ cat index.shtml.itex2MML | itex2MML --forbid-markup --unicode-entities > index.shtml
+</pre>
+
+<p>Or in bulk
+with <a href="../_script/math.sh">math.sh</a>. <code>--unicode-entities</code>
+is an addition I've made to the original <code>itex2MML</code> to make
+it play more nicely
+with <a href="http://codespeak.net/lxml/">lxml</a>. Pull my altered
+repository with</p>
+
+<pre>
+$ bzr clone bzr+ssh://einstein/home/einstein/wking/public_html/code/bzr/itexToMML
+</pre>
+
+<h3>blahtex(ml)</h3>
+
+<p>An alternative to itex2MML
+is <a href="http://gva.noekeon.org/blahtexml/">blahtex(ml)</a> which
+is very similar. In my very haphazard initial testing, I ran into
+some problems with equation lists that itex2MML seemed to handle
+better. It's easy to try both and pick whichever one you like better.
+I was missing a dependency needed for the full-file
+filter <code>blahtexml</code>, so I only tested the
+single-block <code>blahtex</code> form.</p>
+
+<pre>
+$ echo '...' | blahtex --mathml --mathml-encoding raw --spacing relaxed --displaymath
+</pre>
+
+<p>or for multi-line source</p>
+
+<pre>
+$ cat << EOF | /tmp/blahtexml-0.8/blahtex --mathml --mathml-encoding raw --spacing relaxed --displaymath
+> I = \int_{-1}^{1} dx \int_{-1}^{1} dy
+> \begin{cases}
+> 1 & \text{if $x^2+y^2 \leq 1$} \\
+> 0 & \text{if $x^2+y^2 \gt 1}
+> \end{cases}
+> EOF
+</pre>
+
+<p>The output will look something like</p>
+
+<pre>
+<blahtex>
+<mathml>
+<markup>
+...
+</markup>
+</mathml>
+</blahtex>
+</pre>
+
+<p>Pull the <code>...</code> section out and paste it (and your source
+LaTeX) into</p>
+
+<pre>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <!--annotation encoding="LaTeX">
+ ...source LaTeX...
+ </annotation-->
+ ...blahtex output...
+</math>
+</pre>
+
+<p>I've commented <code><!--...--></code> the annotation section
+because <a href="http://w3m.sourceforge.net/">w3m</a> displays both,
+presumably because it doesn't know about MathML.</p>
+
+<!--#include virtual="$root_directory/shared/footer.shtml"-->