white space

To make a change from the discussion about whether MathML should exist
at all, could I ask a couple of questions about white space?

The  Operator Dictionary in Appendix C has loads of entries like this:

"⋀"            form="infix"    lspace=".16666em" rspace=".16666em"

My query is with the space entries.

Would it not have been more natural to specify these defaults to use the
Non-Marking Entities (  in this case).

These defaults are likely to be very font dependent (in ways that are
not expressible just by using em units) and so a renderer or style sheet
might like to change the interpretation of all of these spaces at the
same time. Which (perhaps?) it could if the Dictionary pointed to
the entities rather than explicit values. Not sure about this,
perhaps the timing of the SGML entity expansions would mean that the
indirection was lost too early?

A bigger problem with these defaults, and also the allowed values you
can specify in the attributes is that they all seem to be fixed spaces.
Specified in this case very precisely to .00001em. Coming from TeX, as I
do, the most noticeable omission seems to be any mention of stretching
white space.

Perhaps the renderer is supposed to just take a pragmatic view on all of
this (eg by passing it to TeX and letting TeX use its default spacing)
but then what to do about values explicitly specified in the attributes,
are they to be preserved exactly, or can they be stretched/shrunk as
well, and if so by what limits?

Clause 6.2.1 says

          space of width 3/18 em
        space of width 4/18 em
          space of width 5/18 em

The analogous definitions in TeX (plain or latex) using Computer Modern
fonts,  are 

\medmuskip=4mu plus 2mu minus 4mu
\thickmuskip=5mu plus 5mu

where a mu is 1/18 of an em, so the `natural sizes' are the same, but
TeX allows some variability which is crucial in many of its algorithms
to typeset mathematics.

These values are in any case tuned to Computer Modern Fonts, a common
setup using a Times Roman based math font set defines

\medmuskip=2.5mu plus 1mu minus 1mu
\thickmuskip=4mu plus 1.5mu minus 1mu

ie has tighter spacing and less variability.

I'd like to be able to get from MathML to paper (for example) without
breaking the specification in the document instance and the MathML
definition, and without losing quality compared to TeX markup, but at
present I do not see how to do that, or do I miss something?

This assumption of fixed spacing, and so fixed widths of subexpressions,
also appears to be present in the algorithm for dealing with
<malignmark/> in 3.5.4.

Look forward to any comments, pointers to clauses of the MathML
Recommendation that I have missed, or anything else...


Received on Wednesday, 20 May 1998 10:24:45 UTC