axiom-developer
[Top][All Lists]

## [Axiom-developer] RE: tex4ht and jsmath

 From: Eitan Gurari Subject: [Axiom-developer] RE: tex4ht and jsmath Date: Thu, 20 Oct 2005 12:34:27 -0400

Bill,

> But maybe it's a bit shocking though that the MathML result
> is nearly twice the size of the pdf file. :( Well, I guess
> I knew that MathML was verbose ...

TeX4ht adds many hints into the MathML code to facilitate
post-processing of the code.  It is quite easy to get rid of that extra
fat.  A proper insertion of math text and function names will also
offer some reduction in size.

> > Some visual problems need to be corrected, in particular for
> > \eqno.
>
> I think that's a macro in axiom.sty?

No, it is a primitive instruction of TeX.

> >      <<....>>
> >      ...
> >      @
> >   fragments, since I was not able to locate axiom.tex.
>
> These fragments are the 'noweb' source code markups that are
> normally handled by the 'noweave' preprocessing which produces
> pure LaTeX output. Editing this by hand is ok for this test but
> noweave will also generate some extra LaTeX coding that will be
> inserted before processing by 'latex'.

Yes, I know it is a noweb code.  The latex file without the axiom.sty
file doesn't take care of those code fragments in any mode (tex4ht,
dvi, pdf).  Hence, I deleted them manually.

> >      \T<\a:mathml mtr>
> >
> >   into
> >
> >      \Tg<\a:mathml mtr>
>
> This was a bug and patch to tex4ht, right?

Yes.

> When you have time, could you also look at the result of
> processing the 'tex' from the following page:
>

Can you provide me a pointer to axiom.sty (and the other required
files?).  The fspace file consists just of noweb macros.  No direct
math there.  Any math that comes into play there is through the noweb
macros.

> > * Added {\csname HCode\endcsname{}} before ^ in the following
> > three formulas

> What does this code do? (Do I need to know? :) It looks very
> contrived as a synonym for {}.

The code {\csname HCode\endcsname{}} inserts into the dvi code
empty bases {} for the superscripts and subscripts.  A {} alone
doesn't provide any footprints in the dvi code.

> Well, please define "wrong way"

Having latex source code specified for the visual effects instead of
for the mathematical semantics meaning.

> latex and dvipdfm swallowed all
> that with out a complaint.

Sure, the compilers just care about drawing bits and curves.  Their
attitude is to satisfy the users' wishes. The authors are in charge of
properly expressing their wishes.

Take a look at the pdf output of

\documentclass{article}
\begin{document}
$sin x$,
$\sin x$
\end{document}

> I will agree that the contents of the
> file is a little crufty, but certainly no worse that a code of LaTeX
> coding I have seen.

Well, I would expect the axiom people to be among the leaders when
math comes into play ;-)

> Besides a stronger discipline, how can we insure that our LaTeX
> coding meets certain minimum standards so that it doesn't cause
> the conversion programs to barf? Do you know of any sort of 'lint'
> program for LaTeX that could detect and warn about the "wrong way"
> of doing things?

When latex barfs users go back to the source code to understand the
cause of the problems.  Any reason not do the same when the conversion
programs barf?

-eitan