GELLMU

Introductory Survey

A Bridge for Authors from L^{A}TEX to XML

William F. Hammond

Email: gellmu Domain: gmail.com

Last updated: May 14, 2020

Recent

• Latest online version of the Introductory User’s Guide to Regular GELLMU:

HTML with MathJax^{1} XHTML+MathML^{2} terminal window HTML^{3} PDF: formatted for 8.5 x 11 in.^{4} GELLMU source^{5}

• Latest online version of the GELLMU Manual:

HTML with MathJax^{6} XHTML+MathML^{7} terminal window HTML^{8}

1URI: http://www.albany.edu/˜ hammond/gellmu/igl/userdoc.html 2URI: http://www.albany.edu/˜ hammond/gellmu/igl/userdoc.xhtml 3URI: http://www.albany.edu/˜ hammond/gellmu/igl/userdoc-c.html 4URI: http://www.albany.edu/˜ hammond/gellmu/igl/userdoc.pdf 5URI: http://www.albany.edu/˜ hammond/gellmu/igl/userdoc.glm 6URI: http://www.albany.edu/˜ hammond/gellmu/glman/glman.html 7URI: http://www.albany.edu/˜ hammond/gellmu/glman/glman.xhtml 8URI: http://www.albany.edu/˜ hammond/gellmu/glman/glman-c.html

PDF: formatted for 8.5 x 11 in.^{9} GELLMU source^{10}

• Download^{11} (v. 0.8.5, 4 Sept. 2014, Interim Development Version) This development version includes sidestream formatting for the experimental direct rendering of GELLMU’s didactic L^{A}TEX profile with static CSS, as well as the traditional output streams for (a) print output and (b) online display in HTML with MathML^{12}.

• Materials related to my talk at TUG 2014, Can L^{A}TEX Profiles be Rendered Adequately with Static CSS^{13}

• MathML Demos of past articles from The New York Journal of Mathematics^{14} made with GELLMU. (15 Oct. 2006: These were rebuilt on 27 Apr. 2011 to add an HTML output with MathML output using MathJax^{15}).

• Notice: Due to changes in the University’s web serving arrangements, there was some breakage of URLs in this area of the web. Efforts have been made to correct the breakage manually, but it’s almost certain that some things have been missed. Please send reports to hammond at albany · edu.

• News: As of March, 2011 the current versions of the “big four” web browsers all support HTML with MathJax.

• (14 Oct 2010) Video, slides, and the write-up for my talk L^{A}TEX Profiles as Objects in the “Category” of Markup Languages^{16} on June 29, 2010 at the 32nd annual meeting of TUG^{17} in San Francisco.

• (14 Oct 2009) Bleeding edge materials^{18} for making XHTML+MathML slides (rather than using PDF made with, say, “Beamer”), using W3C’s slidy, with an add-on to the didactic production system. (Sorry, no docs for this yet. See the example for TUG 2007, linked below.)

• (30 May 2009) For those who lack a local-platform HTML/XHTML validation set-up, the small package gvalidhtml^{19} should suffice. (Simply open the tarball in /usr/local/share and make a symbolic link from the name "validhtml" somewhere in your command path to the script named "gvalidhtml" in the untarred directory.)

• (22 Jul 2007) Video, slides, and pre-meeting notes from my talk Dual Presentation with Math from one Source^{20} on July 19, 2007 at TUG 2007^{21} in San Diego.

• Author-level XML document type definition^{22} for the markup used in Regular GELLMU. It’s the “side entrance” in the Regular GELLMU Flow Chart^{23}.

9URI: http://www.albany.edu/˜ hammond/gellmu/glman/glman.pdf 10URI: http://www.albany.edu/˜ hammond/gellmu/glman/glman.glm 11URI: http://www.albany.edu/dept/math-stat/hammond/Glm/gellmu/livedemo/tarball.html 12URI: http://www.w3.org/Math/ 13URI: http://www.albany.edu/˜ hammond/presentations/tug2014/tug14.html 14URI: http://www.albany.edu/dept/math-stat/hammond/demos/nyj/ 15URI: http://www.mathjax.org/ 16URI: http://www.albany.edu/˜ hammond/presentations/Tug2010/ 17URI: http://www.tug.org/tug2010/ 18URI: http://www.albany.edu/˜ hammond/gellmu/gslidy.tgz 19URI: http://www.albany.edu/˜ hammond/gellmu/gvalidhtml-0.9.tgz 20URI: http://math.albany.edu/math/pers/hammond/Presen/Tug2007/ 21URI: http://www.tug.org/tug2007/ 22URI: http://www.albany.edu/˜ hammond/gellmu/xml/axgellmu.dtd 23URI: http://www.albany.edu/˜ hammond/gellmu/glman/glman.html#flow

• Understand the system by studying examples^{24}.

• The latest fully tested version of the syntactic translator gellmu.el^{25}, which is all that is required for basic GELLMU.

Table of Contents

1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 First Demonstrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3 Can Content-Level MathML be a Derived Format? . . . . . . . . . . . . . . . . . . 5 4 Brief Introductions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

4.1 Basic GELLMU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.2 Advanced GELLMU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.3 Regular GELLMU: The Didactic Production System . . . . . . . . . . . . . . . . . . . . . . . 7 4.4 Other Production Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

5 Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 6 Relevant Public Discussion and Comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 7 Pointers to a Few Related Things. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 8 About this Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1 Introduction

Generalized Extensible L^{A}TEX-Like Markup (GELLMU) is my concept for using L^{A}TEX-like markup to create documents in an easy plain text format that may be faithfully converted to high-powered documents marked up under SGML. TEX is the classical typesetting markup language (with robust handling of mathematics) that was created by Donald E. Knuth of Stanford University around 1980. The L^{A}TEX document preparation system was created shortly thereafter by Leslie Lamport of Digital Equipment Corporation. L^{A}TEX is a simplified markup interface to TEX designed to let “the user concentrate on the structure of the text” rather than on typesetting. SGML, an abbreviation for Standard Generalized Markup Language (ISO 8879:1986), is the name of a family of markup languages, unspecified in number, designed for efficient automatic text processing with shared tools of a certain type.

24URI: http://www.albany.edu/dept/math-stat/hammond/Glm/gellmu/examples/

25URI: http://www.albany.edu/˜ hammond/gellmu/gellmu.el

During the period 1993-1998 the most familiar example of a markup language in the SGML family was Hypertext Markup Language ( HTML), the now familiar language of the World Wide Web^{26}. HTML is a rather low-powered member of the SGML family. The notion of “power” for a language under the umbrella of SGML has to do with the number of available translations to other document languages, both within and without SGML.

One of the ideas in my design for GELLMU is that with existing stable freely available SGML tools one may go to almost any presentation format. For the community of mathematicians and scientists, who have become accustomed to using TEX to create finely typeset documents for printing, this design provides a way automatically to create other carefully crafted forms from a single source document without over-burdening Donald Knuth’s program TEX.

For typeset printed presentation, SGML-based processing to the language TEX should be optimal, while SGML-based processing to Lamport (v.2) L^{A}TEX is used in didactic examples found below. (See also "jadetex" at The Comprehensive TEX Archive Network (CTAN); brief comment on "jade" may be found below.) Most of the magic is due to Charles Goldfarb, the inventor of SGML, James Clark, the author of "nsgmls", and David Megginson, the author of "sgmlspl". The GELLMU to SGML transliterator that I am still writing could have been done in many languages, but ELISP, the language of GNU Emacs, probably the best-documented of all languages, and probably also the most easy-to-debug general purpose language, seemed to be just right for this. Beyond that I am grateful to Richard Stallman for encouragement and answers. Of course, when things do not work, the problems should in no way be attributed even in part to the antecedent work.

2 First Demonstrations

For a quick look, intended for those who know L^{A}TEX, there is A Silly Little GELLMU Article^{27} of about three printed pages. Alongside the HTML form of this article are other versions:

• the original GELLMU source markup^{28}.

• its syntactic translation to an SGML document^{29}, involving only minimal knowledge of the document type.

• its translation to an XML dialect^{30}, that is essentially equivalent to the source.

• L^{A}TEX source that was generated from the XML version^{31}

• DVI^{32} made from the L^{A}TEX version.

26URI: http://www.w3.org/

27URI: http://www.albany.edu/˜ hammond/gellmu/igl/silly.html

28URI: http://www.albany.edu/˜ hammond/gellmu/igl/silly.glm

29URI: http://www.albany.edu/˜ hammond/gellmu/igl/silly.sgml

30URI: http://www.albany.edu/˜ hammond/gellmu/igl/silly.xml

31URI: http://www.albany.edu/˜ hammond/gellmu/igl/silly.ltx

32URI: http://www.albany.edu/˜ hammond/gellmu/igl/silly.dvi

• PDF^{33} made with pdflatex.

• XHTML+MathML^{34}.

And yes, of course, both HTML versions were generated from the XML version.

3 Can Content-Level MathML be a Derived Format?

Mathematical Markup Language (MathML) is a language under development by the World Wide Web Consortium (W3C)^{35} for (1) the display of mathematics in ordinary web pages and (2) automated interchange of mathematical segments among web-compatible software applications.

Corresponding to (1) and (2) above the W3C has provided presentation and content-level versions of MathML.

While MathML, which is an XML language (formally “application”), is verbose to a point that makes its writing by human authors almost impossible, the W3C project has not undertaken to provide a language suitable for authors. Moreover, one cannot robustly translate well-structured standard L^{A}TEX or TEX math segments into MathML without the discipline of rules that are difficult both to formulate and to enforce.

The concept of generalized L^{A}TEX in the GELLMU Project provides such discipline.

The version of “Regular” (see §4.3) GELLMU in the tarball^{36}, has, since August 2004, provided translation of generalized L^{A}TEX source markup under the article document type to HTML with presentation-level MathML as well as translation to ordinary L^{A}TEX.

The key question in designing a system sufficient for generation of mathematics under an umbrella like content-level MathML either using highly specialized L^{A}TEX or using an SGML or XML language for authors is how far authors will be willing to diverge from past habits.

The Math Benchmark Document^{37} offers an example of various mathematical segments that one might want to have automatically translated to a language with relative semantics such as content-level MathML.

There is something of an explanation (now in early draft stage^{38}), familiar to many research mathematicians but perhaps not to so many computer scientists, of why most legacy TEX/L^{A}TEX markup of mathematics is not ambiguous for robots when augmented by adequate “type” information. Legacy practice has been to include “type” information in paper documents as part of an article’s descriptive text. In a few words, mathematicians are usually careful and fussy about notation. GELLMU will eventually provide for “declared symbols” and optional associated alpha-numeric “type” information. Ultimately there should emerge a public formal object, the “mathematical expression” (mathexpr) that is something like the “regular expression” (regexp) that is familiar to users of "ed", ELISP, “Perl”, etc. One will want a separate, probably simpler syntax for the specification of the type of a mathexpr.

My philosophy, and I think the only realistic philosophy, is that such types for mathexprs should involve relative, rather than absolute, semantics.

33URI: http://www.albany.edu/˜ hammond/gellmu/igl/silly.pdf

34URI: http://www.albany.edu/˜ hammond/gellmu/igl/silly.xhtml

35URI: http://www.w3.org/

36URI: http://www.albany.edu/dept/math-stat/hammond/Glm/gellmu/livedemo/tarball.html

37URI: http://www.albany.edu/˜ hammond/gellmu/authordtd/

38URI: http://www.albany.edu/˜ hammond/gellmu/notation

One of the most basic types is categorical “morphism”, which is a generalization of a calculus student’s notion of “function”; for much that is of interest to many, the notion of function will suffice, provided that each function symbol is understood to imply “domain” and “target” with “target” not always the same as “image” or “range”. Regardless, users may conceptualize “morphisms” as “functions”.

4 Brief Introductions

To summarize there are two concepts in this project.

4.1 Basic GELLMU

This may be useful for some authors familiar with L^{A}TEX who wish to write directly for an SGML or XML document type. It provides rudimentary L^{A}TEX-like commands with single argument syntax. SGML attribute strings may be entered using a single L^{A}TEX-like option.

It also offers a L^{A}TEX-like meta-command \newcommand, which provides for macros with arguments. See Using the GELLMU Syntactic Translator to Write HTML^{39}. For example, the previous anchor would be marked up in HTML as

                     <a href="/~hammond/gellmu/ghtml.html"
                       >Using ...  <kbd>HTML</kbd></a> ,

and this is marked up somewhat more succinctly in GELLMU source as

                     \a[href="/~hammond/gellmu/ghtml.html"
                           ]{Using ...  \kbd{HTML}} .

With the newcommand definition for \href

                   \newcommand{\href}[2]{\a[href="#1"]{#2}}

the even more succinct markup

           \href{/~hammond/gellmu/ghtml.html}{Using ...  \kbd{HTML}}

suffices.

4.2 Advanced GELLMU

This goes beyond basic L^{A}TEX-like command / argument syntax to provide L^{A}TEX-like multiple argument / option syntax and also what might be called L^{A}TEX-like grammar including \begin{… }\end and, if desired, blank lines to initiate paragraphs.

When desired, advanced GELLMU has knowledge of a few command names, but the author must know the SGML or XML document type.

39URI: /˜ hammond/gellmu/ghtml.html

4.3 Regular GELLMU: The Didactic Production System

The didactic production system is a beginning at emulating L^{A}TEX with an XML document type. In fact, L^{A}TEX can be modeled more precisely with SGML than with XML.

The didactic production system consists of

The GELLMU Syntactic Translator.

An SGML document type.

An XML document type.

The following translators, coded in Perl under David Megginson’s sgmlspl framework:

1. from the SGML document type (GELLMU Syntactic Translator output) to the XML document type.

2. from the XML document type to HTML. For this there are two routes:

(a) The up to date XML form of HTML extended by MathML.

(b) Classical HTML with pseudo-TEX ASCII for math, still useful with terminal window browsers.

3. from the XML document type to L^{A}TEX

There is validation of each stage of output. Indeed, validation of the GELLMU Syntactic Translator’s SGML output is very useful for catching author errors. To assist with this there is line number alignment between the source and GELLMU Syntactic Translator output. If necessary^{40} one may intervene at any stage of the processing since the output of each stage is quite readable by humans.

The two document types are parallel; the XML version is intended to be the nearest XML approximation of the SGML version. The SGML version should be regarded as “in-house”, while the XML version is suitable for export. (Usable, though not identical, source may be recovered from the XML document type.)

The document types have been designed for translation to many output formats. I have the intention ultimately to write or find others to write translators from the XML document type to other formats.

Finally the article document type may have value as a layout vehicle that is useful as an intermediate formatting stage for structure-rich document types such as DocBook and TEI, and I would encourage those who might be so inclined to think about writing translators from such document types to GELLMU article.

4.4 Other Production Systems

An author may use advanced GELLMU as a front end to many other SGML or XML production systems with appropriate setting of variables for the GELLMU Syntactic Translator.

40But only in very exceptional situations

5 Materials

All that one should need to get started is in the current tarball^{41}. One should look at the user guide, the manual, both listed as “Quick Anchors” above, and the examples^{42}. Note that the driver scripts found in the bin directory of the unpacked tarball may need editing for location names.

Note also that the tarball may be installed in a “Windows” system equipped with Cygwin, enhanced by a sufficient array of Cygwin-provided packages, using the Linux driver scripts.

In principle, it should also work on MacOS X, but I have no reports, and I have no idea what might be required to port it to earlier versions of MacOS.

Although the project was begun begun in June 1998, its alpha release was in July, 2001. It will not be considered to have reached beta stage until I have more knowledge about use experience of others.

Some older odds and ends may be found on the GELLMU veterans page^{43}, and the very old page for early preview of materials^{44} is still available.

6 Relevant Public Discussion and Comment

My annotations allude, though not entirely precisely, to the article The Cathedral and the Bazaar^{45} by Eric Raymond.

Electronic Math Journals ^{46} Use “subscribe EMJ” in the BODY of a message. There is an archive at the host site^{47}. This is a bazaar. Sometimes technical, sometimes economic or legal, sometimes other.

L^{A}TEX Development ^{48} Use “subscribe LATEX-L” in the BODY of a message. Archive location, if any, unknown. Neither a bazaar, nor a cathedral. Very sophisticated and technical. User questions are not wanted.

MathML and the HTML Math WG ^{49} Make your message SUBJECT “subscribe”. Message BODY should be blank. An archive will be found behind the W3C Math^{50} web site. This is a small bazaar in the nave of a cathedral. The cathedral “chapter” has its own private list. Many chapter members, not all, who speak in the nave seem to feel constrained to representation of the chapter.

UseNet news on SGML (if you get “news”) ^{51} A bazaar with many, many important people. Sophisticated and technical, questions about SGML (but not HTML, nor http, nor “the web”, ...) are usually answered well.

41URI: http://www.albany.edu/dept/math-stat/hammond/Glm/gellmu/livedemo/tarball.html

42URI: http://www.albany.edu/dept/math-stat/hammond/Glm/gellmu/examples/

43URI: http://www.albany.edu/˜ hammond/gellmu/veterans.html

44URI: http://www.albany.edu/˜ hammond/gellmu/igl/gellmum.html

45URI: http://www.redhat.com/knowledgebase/otherwhitepapers/whitepaper cathedral.html

46URI: mailto:listserv@listserv.albany.edu

47URI: http://listserv.albany.edu:8080/archives/emj.html

48URI: mailto:listserv@relay.urz.uni-heidelberg.de

49URI: mailto:www-math-request@w3.org

50URI: http://www.w3.org/Math/

51URI: news:comp.text.sgml

UseNet news on XML (if you get “news”) ^{52} A recent spin-off from the SGML discussion. Eventually it should operate at much higher volume than the SGML discussion.

7 Pointers to a Few Related Things

Slides from 2001 ^{53} A presentation given at The University of Delaware during the 2001 annual meeting of TUG^{54}.

Blahtex ^{55} Blahtex converts L^{A}TEX-like math markup to MathML for use with MediaWiki^{56}, which is wiki implementation software for Wikipedia^{57}.

TBook ^{58} The TBook System for XML Authoring by Torsten Bronger.

MathML, Version 2.0, Second Edition ^{59} A W3C recommendation (October 21, 2003). In the fall of 2009 <em>MathML, Version 3</em> and the <em>MathML for CSS Profile</em> became candidate recommendations at W3C. See http://www.w3.org/

Math/.

OMDoc: Open Mathematical Documents ^{60} A content based XML markup format by Michael Kohlhase of Universität Saarlandes and Carnegie Mellon University for mathematics on the Internet that extends OpenMath^{61} to the document level. Released November 1, 2000.

Daniele Giacomini’s Sgmltexi ^{62} Sgmltexi provided the first SGML model of Texinfo, the language of the GNU Documentation System. Since its first release in the year 2000 Texinfo itself has incorporated an XML model.

itex2MML ^{63} itex2MML is the TEX-math to MathML converter that at one time had been featured at Paul Gartside’s MathZilla site. It is now used with Jacques Distler’s very active mathematical physics blog Musings^{64}.

David Carlisle’s xmltex ^{65} xmltex uses TeX, the program, to parse (without validation) an XML document and then set it in TEX, according to user rules written in code for TEX, that govern what is done for each of the tags in the corresponding XML document type definition. The same items are also available at CTAN in "macros/xmltex".

52URI: news:comp.text.xml 53URI: http://math.albany.edu/math/pers/hammond/Presen/tug2001/ 54URI: http://www.tug.org/tug2001/ 55URI: http://www.mediawiki.org/wiki/Extension:Blahtex 56URI: http://en.wikipedia.org/wiki/MediaWiki 57URI: http://en.wikipedia.org/ 58URI: http://tbookdtd.sourceforge.net/ 59URI: http://www.w3.org/TR/MathML/ 60URI: http://www.mathweb.org/omdoc/ 61URI: http://www.openmath.org/ 62URI: http://www.archive.org/details/sgmltexi 63URI: http://golem.ph.utexas.edu/˜ distler/blog/itex2MML.html 64URI: http://golem.ph.utexas.edu/˜ distler/blog/ 65URI: http://www.dcarlisle.demon.co.uk/xmltex/

Sebastian Rahtz’s “PassiveTeX”

Uses TEX as a formatting back end for documents prepared under an XML language according to an XSL stylesheet. It is availabe through CTAN^{66}.

TeX4ht, htlatex, …: Work of Eitan Gurari at Ohio State University. ^{67}

An important way to make HTML and XML versions of TEX and L^{A}TEX documents. This is based on a C program TeX4ht^{68}, and on a related macro package for TEX. The macro package causes “TEX, the program”, to add specials to its DVI output. The program TeX4ht operates on a DVI that has been so prepared and makes HTML or XML. (The DVI format has the abstract structure of a classical assembly language. There are several “special” instructions that serve as wildcards. These “specials” are of use only to processors that know about them on a case-by-case basis. They should, in theory, be ignored by processors that do not recognize them.)

In recent editions of TUG’s TeXLive a convenient default interface for using TeX4ht to make classical HTML from L^{A}TEX is the command htlatex, while the interface for making HTML with MathML is the command mzlatex. Aside from the standard TeX4ht docs, those interested in this approach might want to consult http://facweb.knowlton.

ohio-state.edu/pviton/support/swphtpa4.html.

Sadly, Eitan Gurari, the author of TeX4ht, died in 2009.

HyperLaTeX

An early (mid 90’s) package (unfortunately not on CTAN) for the production of L^{A}TEX and HTML from a single specialized L^{A}TEX source document. Hyperlatex^{69} is somewhat similar to GELLMU in its use of an Emacs Lisp program for generating HTML though it seems not to provide a method for conscious writing under other SGML or XML document types.

The L^{A}TEX3 Project ^{70} Information is available in the document section of the current L^{A}TEX2E base distribution under the filename "ltx3info.tex" (with DVI and PostScript version nearby). On the web one may consult the PDF version^{71}. Plans for SGML are mentioned in this document. There is a mailing list on the topic of L^{A}TEX3 development

at the address LATEX-L@relay.urz.uni-heidelberg.de.

TeXML ^{72} TeXML is an XML vocabulary for describing TEX syntax that has evolved from Doug Lovell’s TeXML^{73}, which became available in the late 1990s.

It’s useful for converting XML documents to TEX, L^{A}TEX, or Context, but it’s not useful for translating TEX documents to XML document types. One writes an XSL style sheet to translate an XML document type into TeXML. Another program then translates TeXML to TEX.

Bruce Miller’s LaTeXML ^{74} LaTeXML is a Perl program for converting L^{A}TEX documents to the LaTeXML XML document type. A separate program is provided for translating the LaTeXML XML document type to XHTML+MathML. While LaTeXML tries to mimic the actions of L^{A}TEX, the program, in typesetting L^{A}TEX documents as DVI or PDF, it does not employ a TEX engine.

66URI: http://ctan.tug.org/ 67URI: http://www.cse.ohio-state.edu/˜ gurari/ 68URI: http://www.cse.ohio-state.edu/˜ gurari/TeX4ht/mn.html 69URI: http://www.cs.uu.nl/˜ otfried/Hyperlatex/ 70URI: http://www.latex-project.org/ 71URI: http://ctan.tug.org/tex-archive/macros/latex/doc/ltx3info.pdf 72URI: http://getfo.org/texml/ 73URI: http://www.alphaworks.ibm.com/formula/texml 74URI: http://dlmf.nist.gov/LaTeXML/

LaTeXML is the converter that was used in the project called arXMLiv^{75} for converting L^{A}TEX documents at The arXiv^{76} to XML.

Smart Documents.

There are various forms of “smartness”. SGML will provide easily for all of them. See Richard Fateman’s material on More Versatile Scientific Documents ...^{77}.

Linux Documentation.

The “How To” documents for Linux systems are based on an SGML language with ancestry in the L^{A}TEX-like language of the QWERTZ document formatting system from the University of Exeter (U.K.) in the early 1990’s. The SGMLtools-Lite Project^{78} is a recent effort to bring Linux documents under the DocBook^{79} language.

Luc Maranget’s Hevea

Hevea^{80} is a L^{A}TEX to HTML translator, said to produce correct HTML 4.0.

Latex2html and Latex2html-with-MathML.

The familiar Perl package latex2html^{81} gained popularity in math departments during the early days of the web not only by translating the L^{A}TEX commands that could be marked up into HTML but also by automatically putting out mathematics in graphic objects housed in "<img>" tags; the graphics were created with subprocesses that used TEX, dvips, and some netpbm utilities. Many features have been added.

A 1998 variant^{82} at The Geometry Center offers the option of replacing the graphic objects with MathML^{83} objects.

The philosophy of Kernighan and Pike. ^{84} If you have never looked at their classic 1984 book, here are a few quoted paragraphs. Don’t let their use of a trademark get in your way.

8 About this Document

This document, which is primarily a web page, is itself a regular GELLMU document (see §4.3). Versions of this document other than the HTML version include the original GELLMU source^{85}, its translation to XML^{86} (from which the HTML version is derived), the derived translation to XHTML+MathML^{87}, and the derived L^{A}TEX source^{88} from which a device independent (DVI)^{89} file and a file in Adobe’s portable document format (PDF)^{90} were compiled. The PDF copy, which was generated using the free program pdflatex, is tuned for printing on 8.5 x 11 inch paper by those who have yet to equip themselves (freely) for printing DVI.

75URI: http://kwarc.info/projects/arXMLiv/ 76URI: http://www.arxiv.org 77URI: http://http.cs.berkeley.edu/˜ fateman/MVSD.html 78URI: http://sgmltools-lite.sourceforge.net/ 79URI: http://www.oasis-open.org/docbook/ 80URI: http://cristal.inria.fr/˜ maranget/hevea/ 81URI: http://www.ctan.org/tex-archive/support/latex2html/ 82URI: http://www.geom.umn.edu/˜ ross/webtex/webtex/ 83URI: http://www.w3.org/Math/ 84URI: http://math.albany.edu/math/pers/hammond/unixphil.html 85URI: http://www.albany.edu/˜ hammond/gellmu/igl/igl.glm 86URI: http://www.albany.edu/˜ hammond/gellmu/igl/igl.xml

87URI: http://www.albany.edu/˜ hammond/gellmu/igl/igl.xhtml

88URI: http://www.albany.edu/˜ hammond/gellmu/igl/igl.ltx

89URI: http://www.albany.edu/˜ hammond/gellmu/igl/igl.dvi

90URI: http://www.albany.edu/˜ hammond/gellmu/igl/igl.pdf