Scientific notation relies very heavily on the positioning of symbols
relative to each other, on the availability of many such symbols, and
sometimes on nuances of spacing between operators as opposed to
operands, etc. Standard typography is often not adequate. You shift a
cell of a matrix by one pica, and a theorem changes from historic to
nonsense.
We used to have skilled typesetters who would spend hours getting all
this right, but they were getting hard to find in the age of the
Selectric and shrinking publication deadlines. Enter Donald Knuth of
Stanford University. Here is a very rough chronology, as I see it:
DK starts writing a book on algorithms.
DK discovers that the typists are botching his manuscript badly,
and that the "book" will evolve into several volumes.
DK thinks about scientific typesetting and designs a system for
doing it (TeX). Writes another volume of the "Art of programming"
in free moments.
DK finds that there are no programming languages well suited to
the job of implementing TeX; invents and implements "web" (not
to be confused with WWW). Writes another volume of the "Art of
programming" in his spare time.
DK discovers that no matter how nice spacing looks, typefaces are
awful and spoil the effect. Invents, designs and implements a
font design system, MetaFont. Writes another volume of the "Art
of programming" during idle moments.
etc. etc.
TeX is itself a programming language, oriented towards laying out
pages of text and symbols, just like PostScript is a language for
describing curves and regions in the plane, and m4 is a programming
language for macro processing. Sure, you can use TeX to compute
consecutive primes, or even write an accounting system, but that
isn't what it's best at.
You use syntax such as $\int_{x=1}^\infty \sqrt x dx$, which somewhat
resembles RTF (guess which one was first?), to describe mathematical
formulas. TeX uses its considerable "intelligence" to lay these things
beautifully on a page. It is sometimes wrong -- you then have to jump
hoops to change its normal behavior, which is very easy once you read
Knuth's 500 page book eight times over and understood all of it.
Enter Leslie Lamport, who created an extension of TeX called LaTeX. It
lets you easily do many "standard" things, such as creating lists or
various arrays aligned in typical ways, without the help of a TeX
expert. LaTeX became an overnight standard in nearly all mathematics
departments, even though -- if you ask me -- it was more "marketing"
than real value. That's life. And it has a price: various unusual tasks
which are trivial in TeX (once you know enough of it) are quite
difficult in LaTeX. Moreover, LaTeX users tend to be ignorant of all the
TeX facilities that they can still use.
TeX (and LaTeX) use the following production cycle:
- the TeX source (a "program") is processed by TeX, resulting in a
"DVI" ("device independent") file. This file only contains
positions of letters and symbols - it doesn't care about the
shapes, so it only needs to know the widths and heights of all
characters ("font metrics")
- the DVI file is processed by a driver for your favorite output
device: PostScript for PS printers or Display PS screens; HP JEP
for HPGL printers or plotters; ASCII for dumb terminals; etc. At
this stage you must know shapes of all letters, and they'd better
be consistent with the previous step.
So this is a _typesetting system_, rather than a word processor. Not
too long ago it took about 5 seconds to process one TeX page on a
reasonably fast computer. Interaction, moving things with a mouse etc.
were simply not possible. But now that a page is taken care of in 0.1 of
a second, there are programs (TeXtures, Scientific Workplace) which
provide a nice, interactive front end to everything that TeX does. So
using TeX doesn't involve reading Knuth's 500 pages anymore, although
anyone who likes a challenge should go through at least the first 100...
Note that public domain versions of TeX and LaTeX are available for all
mainstream systems (Mac [OzTeX], PC [EmTex, MikTeX], Unix+X11 [web2c
and various previewers, printer drivers etc.], many others)
When I raised doubts about compatibily of scientific notation with HTML
in an earlier message I wanted to point out that HTML is very "coarse"
(lines, characters at best) and lax about the formatting parameters
(doesn't care what the page size is!), while the best typesetting systems
have to deal with units smaller by two orders of magnitude, and choose
spacing depending on the page dimensions.
To accurately render a nicely aligned mathematical formula, you need
to control the positions of characters to about about one point, and
be able to display nicely anti-aliased shapes whose fine details are
one-tenth of a point large. To achieve this with the displays in
common use today you must have a set of custom designed screen fonts
for several resolutions, and a mechanism for fine control of spacing.
And the minute you are done designing them, the users will scream for
new symbols and new typefaces, which you will need to create and put
into the display mechanism. Nothing less will completely satisfy a
scientific user (or even many Calc I instructors), and HTML is a looong
way away from that.
HTML is a good way to deliver rather crude data fast to a large audience.
Scientific presentation needs the ability to deliver accurate and
detailed data to a select audience. The two simply don't mix well at
this point.
-- Eric Behr | NIU Mathematical Sciences | (815) 753 6727 behr@math.niu.edu | http://www.math.niu.edu/~behr/ | fax: 753 1112