1 <?xml version="1.0" encoding="UTF-8"?>
2 <TeXML xmlns="http://getfo.sourceforge.net/texml/ns1">
3 <cmd name="documentclass" nl2="1">
8 <cmd name="usepackage" nl2="1">
9 <opt>dvipdfm,colorlinks</opt>
12 <cmd name="usepackage">
16 <cmd name="title" nl2="1"><parm><cmd name="TeX" gr="0"/>
18 <cmd name="author" nl2="1"><parm>
19 Chris Houser<spec cat="esc"/><spec cat="esc"/>
22 <cmd name="maketitle" nl2="1"/>
24 <cmd name="section" nl2="1"><parm>What is <cmd name="TeX" gr="0"/>
27 <cmd name="TeX" gr="0"/>
28 MLapis translates <cmd name="TeX" gr="0"/>
29 ML documents into <cmd name="TeX"><parm/></cmd>.<cmd name="par" nl2="1"/>
31 <cmd name="section" nl2="1"><parm>What good is <cmd name="TeX" gr="0"/>
34 <cmd name="LaTeX" gr="0"/><cmd name="footnote"><parm><cmd name="href"><parm>http://www.latex-project.org/</parm><parm>http://www.latex-project.org/</parm></cmd></parm></cmd> is very good at a
35 number of very tricky things. These include formatting mathematical
36 formulae, laying out out books and articles, typesetting text and tables in
37 a pleasing and consistant manner, etc. However, XML is good at a number of
38 things <cmd name="LaTeX"><parm/></cmd> is <group><cmd name="em"/>not</group> so good at, such as being easily parsed and
39 translated into a variety of output formats.<cmd name="par" nl2="1"/>
41 Unfortunately, the standard XML transformation system XSL<cmd name="footnote"><parm><cmd name="href"><parm>http://www.w3.org/Style/XSL/</parm><parm>http://www.w3.org/Style/XSL/</parm></cmd></parm></cmd> is not powerful enough to
42 translate from normal XML formats to <cmd name="LaTeX"><parm/></cmd> directly. So when you use XML
43 to edit, store, and distribute your source documents, <cmd name="TeX" gr="0"/>
45 bridge you need to leverage the power of <cmd name="LaTeX"><parm/></cmd> when formatting your
46 document for the printed page.<cmd name="par" nl2="1"/>
48 The DTD and other documentation about <cmd name="TeX" gr="0"/>
49 ML<cmd name="footnote"><parm><cmd name="href"><parm>http://www.alphaworks.ibm.com/formula/texml</parm><parm>http://www.alphaworks.ibm.com/formula/texml</parm></cmd></parm></cmd> is available
51 alphaWorks<cmd name="footnote"><parm><cmd name="href"><parm>http://www.alphaworks.ibm.com/formula/texml</parm><parm>http://www.alphaworks.ibm.com/formula/texml</parm></cmd></parm></cmd>. My interpretation of their software license does not allow
52 me to redistribute those materials here.<cmd name="par" nl2="1"/>
54 <cmd name="section" nl2="1"><parm><cmd name="TeX" gr="0"/>
55 MLapis vs. <cmd name="TeX" gr="0"/>
58 There is already a <cmd name="TeX" gr="0"/>
59 ML-to-<cmd name="TeX"><parm/></cmd> translator called <cmd name="TeX" gr="0"/>
60 MLatte<cmd name="footnote"><parm><cmd name="href"><parm>http://www.alphaworks.ibm.com/formula/texml</parm><parm>http://www.alphaworks.ibm.com/formula/texml</parm></cmd></parm></cmd>, but I
61 was completely unable to get it to work. It's written in Java<cmd name="footnote"><parm><cmd name="href"><parm>http://java.sun.com/</parm><parm>http://java.sun.com/</parm></cmd></parm></cmd> and the perhaps the runtime engines I
62 have around are drastically sub-standard or something, but for whatever
63 reason I could not get their tool to run. Also, the software license for
64 <cmd name="TeX" gr="0"/>
65 MLatte is rather less community-oriented than the GPL, so I thought a
66 new implementation was in order.<cmd name="par" nl2="1"/>
68 <cmd name="TeX" gr="0"/>
69 MLapis is written in pure Perl 5 and requires nothing but a standard
70 Perl<cmd name="footnote"><parm><cmd name="href"><parm>http://www.cpan.org/ports/</parm><parm>http://www.cpan.org/ports/</parm></cmd></parm></cmd> interpreter. It has it's own
71 little XML parser built in. Of course in order for it to be useful you'll
72 need at least <cmd name="LaTeX"><parm/></cmd> and almost certainly an XSLT processor as well. It was
73 written entirely without reference
74 to the <cmd name="TeX" gr="0"/>
75 MLatte code, which I have never even seen, so there shouldn't
76 be any copyright entanglements. I cannot guarantee that it will produce
78 identical to <cmd name="TeX" gr="0"/>
79 MLatte, but it has worked well enough for my purposes and
80 seems to comply with available specs and examples.<cmd name="par" nl2="1"/>
82 <cmd name="section" nl2="1"><parm>How to get it</parm></cmd>
84 This page documents texmlapis-1.1.tar.gz<cmd name="footnote"><parm><cmd name="href"><parm>http://bluweb.com/chouser/proj/texmlapis/texmlapis-1.1.tar.gz</parm><parm>http://bluweb.com/chouser/proj/texmlapis/texmlapis-1.1.tar.gz</parm></cmd></parm></cmd>,
85 but you can always find the latest version at <cmd name="TeX" gr="0"/>
86 MLapis<cmd name="footnote"><parm><cmd name="href"><parm>http://bluweb.com/chouser/proj/texmlapis</parm><parm>http://bluweb.com/chouser/proj/texmlapis</parm></cmd></parm></cmd>.<cmd name="par" nl2="1"/>