% LaTeX \documentclass{article} \setlength{\parindent}{6bp} \setlength{\topmargin}{0bp} \setlength{\headheight}{0bp} \setlength{\headsep}{0bp} \setlength{\oddsidemargin}{0bp} \setlength{\evensidemargin}{0bp} \setlength{\textwidth}{468bp} \setlength{\textheight}{624bp} \setlength{\parskip}{6bp} \thispagestyle{empty} \newlength{\centerskip} \setlength{\centerskip}{\topsep} \title{Math on the Web} \date{Monday, August 17, 1998} \newcommand{\hsf}{\hspace*{\fill}} \newcommand{\tdbc}[1]{\hsf{\bf #1}\hsf} \newenvironment{menulist}{ \begin{list}{}{ \setlength{\topsep}{0bp} \setlength{\labelwidth}{0bp} \setlength{\leftmargin}{2\parindent} \setlength{\itemindent}{0bp} \setlength{\itemsep}{0bp} \setlength{\parsep}{0bp}} }{\end{list}} \newenvironment{citations}{ \begin{list}{}{ \setlength{\topsep}{0bp} \setlength{\labelwidth}{0bp} \setlength{\leftmargin}{24bp} \setlength{\labelsep}{0bp} \setlength{\itemindent}{-24bp} \setlength{\itemsep}{3bp} \setlength{\parsep}{0bp}} }{\end{list}} \author{William F. Hammond \\Dept of Mathematics \& Statistics \\ University at Albany \\ Albany, New York \ 12222 \\Email: \texttt{hammond@math.albany.edu} } \begin{document} \begin{center}\LARGE\bf Math on the Web \end{center} \begin{center}\Large\bf \textsl{William F. Hammond} \end{center} \begin{center}\large Dept of Mathematics \& Statistics \\ University at Albany \\ Albany, New York \ 12222 \end{center} \begin{center} Email: \verb|hammond@math.albany.edu| \end{center} \begin{center} \large\bf Monday, August 17, 1998 \end{center} \medskip \par{Michael Hamm\footnote{http://pages.nyu.edu/\%7Emsh210/} \texttt{} writes to \texttt{www-math@w3.org}: \begin{quotation} Do any browsers (esp. any versions of Mozilla or MSIE) read the HTML3 MATH tag and the tags that go in it? \ Which? \ Thanks. \ \end{quotation} } \par{In a single word, the answer is \textbf{no}. \ } \par{\textsc{HTML} 3.0 was a 1994 \textsc{W3C} draft\footnote{http://www.w3.org/MarkUp/html3/CoverPage.html} that never got beyond draft stage and was quickly superseded by \textsc{HTML} 3.2\footnote{http://www.w3.org/TR/REC-html32.html} and, later, \textsc{HTML} 4\footnote{http://www.w3.org/TR/REC-html40/}, which contain no provision for mathematics. \ (Well, one may use \texttt{""} or, better, \texttt{""}; but that does not really give mathematics fully reasonable access to the web.) } \par{Subsequent to the demise of math-in-html \textsc{W3C} formed an \textsc{HTML} Math Working Group whose work led to the creation of \textsc{MathML}, which is now a \textsc{W3C} recommendation\footnote{http://www.w3.org/Math/} with principal rendering implementations available currently through (1) WebEq\footnote{http://www.webeq.com/} applets under mass market browsers, (2) the \textsc{W3C} testbed browser (and point-and-click authoring tool) Amaya\footnote{http://www.w3.org/Amaya/}, and maybe (I am not up to date) IBM's TechExplorer\footnote{http://www.alphaworks.ibm.com/formula/techexplorer}. \ I believe that the source code for Amaya is available for those who wish to amend it. \ (For that matter I believe that all of the \emph{relevant} source code of Mozilla\footnote{http://www.mozilla.org/}, the public version of NetScape\footnote{http://www.netscape.com/}, is available now, too. \ I believe that WebEq and TechExplorer are proprietary with temporary free trials.) } \par{While I understand and accept the reason for the exclusion of the HTML 3.0 math tags from \textsc{HTML}, we have been left with a situation that still presents a serious barrier to the \emph{efficient} flow of (unstyled) content-level mathematical information through the web to robots, small-screen displays, audio streams, and Braille streams. \ } \par{For mathematics on the web, there is a sense in which one can say that there has been very little progress in the last 5 years since it became possible to have network browsing tools, both under \texttt{"http"} and \texttt{"gopher"}, quickly spawn external applications based on ``mimetype''. \ } \par{It is unclear how much improvement will arise as things evolve from the dawn of \textsc{MathML}. \ My guess is that \textsc{MathML} will serve the needs of the mathematical, scientific, and engineering communities, while still permitting the loss of much of what we understand as ``content'' from many resources on the web when that ``content'' is mathematical in nature. \ Of course, provision for these considerations exists in \textsc{MathML}. \ The question is how much attention will be paid to it due to the fact that it is more expensive to handle. \ } \par{For example, I think that it could very well develop to be at least 10 years before mathematical content can be searched through major web indexing and cataloging sites in any remotely robust way, while a great deal more would be possible more cheaply if a \textbf{few} additional arrangements were made for dealing crudely but faithfully with mathematical content in basic \textsc{HTML}. \ } \par{The arrival of the ``bazaar'' model of development in the Mozilla Project\footnote{http://www.mozilla.org/} gives one hope that this will happen. \ } \par{The early long term plan, as I have understood it, of the \textsc{MathML} group was to rely on the implementation in mass market browsers of the type of client-side processing that is associated with eXtensible Markup Language (\textsc{XML})\footnote{http://www.w3.org/XML/}, and, in particular, a type of \textsc{XML} that might be called ``\textsc{HTML} extended by \textsc{MathML} (presentation tags)''. \ } \par{The idea of \textsc{XML} is to make up your own \textsc{HTML}. \ The author or publishing house makes up a set of tags. \ Then he, she, or they work very hard to create ``rendering information'' about these tags in a ``style sheet'' language. \ A web-served \textsc{XML} document contains a reference to the corresponding style sheet, which is also available, under a style sheet mimetype, on the web. \ Browsers are supposed to be able quickly to digest the style sheet information and then quickly render the \textsc{XML} document. \ (The style sheet information may already be cached.) This is the \textsc{XML} dream. \ } \par{The first rendering efforts with \textsc{MathML} were applet-based and, I believe, early \textsc{MathML} planning envisioned the creation of a mimetype for ``\textsc{HTML} extended by \textsc{MathML}'' and the creation of an independent rendering application (whether plugin or external) with specific knowledge of this markup language. \ \textsc{W3C}'s Amaya appears to have ``\textsc{HTML} extended by \textsc{MathML}'' as its default language. \ (I don't know the details of Amaya.) } \par{The \texttt{""} tag approach to \textsc{MathML} probably is more sensible for the long run than ``\textsc{HTML} extended by \textsc{MathML}'' if only because \textsc{MathML} is so much more granular than \textsc{HTML}. \ If I think about type-setting \textsc{MathML}, I tend to perceive that task as not any easier than that of local direct setting of Geoffrey Tobin's\footnote{http://www.ee.latrobe.edu.au/\%7Egt/tex-soft.html} \textsc{DTL} (printable ascii equivalent of \textsc{DVI}). \ The point here is that setting \textsc{MathML} is probably too much to ask of native rendering by mass market browsers though it is certainly in scale for plugins and external apps. \ } \par{There is still an issue in the eyes of some, on which I am neutral, of whether there is, or will be, a widely used style sheet language that is rich enough to provide the desired level of rendering of \textsc{\textsc{MathML}} presentation tags. \ } \par{We need all of the good relevant plugins and external apps that the community has the energy to provide. \ Still, because these make more demands on the client side (than do ordinary browsers) --- demands that are not reasonable in some places and situations that are and will continue to be important --- we need to have a way to handle math on the web in formats that are very different from paper or "windowing" terminal displays without loss of ``content''. \ This is possible and really not that difficult. \ } \par{Even if one wishes to set aside the need for audio, Braille, indexing, and searching streams, envision, for example, going as a visitor to look up something on the web in the San Francisco public library. \ All of the windowing stations are tied up. \ But you find simple terminal (\texttt{vt100}) access to the network via the browser \texttt{"lynx"} at a station that is available. \ It may be that the savvy library administrator has that station there because he knows that it will give \emph{you} a way to avoid waiting. \ (In fact, if its processor is fast, that is almost certainly true.) } \par{In ``windowing'' situations it is \textbf{not} too much to ask for the ``mathematical typewriter emulation'' (\textsc{MTE}) standard in mass market browser native rendering as part of native \textsc{HTML}. \ \textsc{MTE} is just emulation of the mathematical typewriter prevalent in all mathematics departments during the period 1960-1980. \ One had lots of symbols (in a fixed font), one could underline, one could move the paper for crude cursor positioning, one could make make something bold by re-striking after a slight horizontal displacement. \ It was crude, but it preserved content. \ Photocopy images of MTE documents were widely circulated as informal publications. \ } \par{\textsc{MTE} is more ``in scale'' with ordinary \textsc{HTML} than is \textsc{MathML}, which is much closer to fussy typesetting. \ } \par{All that needs to be added to basic \textsc{HTML} is: \begin{enumerate} \item \textbf{the horde of character entities} that we need (in scalable fonts with \emph{algorithmic} styling for bold, emphasis, and perhaps also several forms of alternate-emphasis). \ Algorithmic styling is desirable for efficiency even though it is less beautiful than separate fonts; but, for that matter, rendered \textsc{HTML} is already less beautiful than TeX rendered by "xdvi". \ \item \textbf{a simple element \texttt{" ... "} (logical group)} with attributes for horizontal and/or vertical cursor motion, described by a numerical multiplier relative to the size of the current font, prior to the display of the contents of the element and also with attributes for horizontal or vertical stretching, again described by a numerical multiplier relative to the size of the current font. \ Client rendering support for stretching should be optional. \ Client rendering support for positioning should be mandatory in windowed displays and where that is not appropriate the protocol should be to replace the opentag \texttt{""} by the ascii character \verb+"{"+ and the closetag \texttt{""} by the ``balancing'' character \verb+"}"+. \ (An attribute of the \texttt{"lg"} tag could be used to change the crude rendering strings \verb+"{"+ and \verb+"}"+ to other ordinary string values including empty ones. \ Attributes could also be used to furnish hints to computer-algebra systems or to furnish the identity of a \textsc{MathML} tag from which the current \texttt{"lg"} was fabricated. \ So \textsc{MathML} could be reconstructed. \ Of course, all of this would be authored in generalized \LaTeX{}. \ \ \verb+:-)+) \item \textbf{elements} \texttt{""} (paragraph level) \textbf{and} \texttt{"displaymath"} (block level) in which \begin{itemize} \item the new \texttt{"lg"} tag is permitted. \ \item all character level things are rendered one at a time with inter-word spacing \textbf{except} for the case of strictly alphanumeric character level things inside \texttt{"lg"} tags containing no whitespace, which will be assumed to symbols that might be given \verb+"\mbox"+ treatment in \LaTeX{}. \ \end{itemize} \end{enumerate} } \par{My understanding is that eventually the horde of characters and cursor movement will be possible with \texttt{"w3-mode"} in GNU Emacs\footnote{http://www.gnu.org/} under a windowing display. \ (I do not know about algorithmic styling.) } \par{Inasmuch as there are very few \texttt{"vt100"} terminals extant that are not running in displays under local platform windowing systems, it is reasonable that the scientific and text-processing communities join in an effort to promote a broader collection of characters, cursor positioning, and algorithmic styling in enhanced \texttt{"vt100"} terminals. \ } \bigskip \setlength{\parindent}{0bp} Document network address for HTML:\\ \ \ \verb|http://www.albany.edu/%7Ehammond/gellmu/webmath/| \bigskip \setlength{\parindent}{0bp} \hsf\\[0bp] [Processed from GELLMU to \LaTeX{} on Tue Aug 3 17:43:39 EDT 1999] \end{document}