% $Id: tex4ht-moz.tex 65 2010-11-17 19:16:45Z karl $ % compile 3 times: latex tex4ht-moz % or xhlatex tex4ht-moz "html,3,sections+" % % Copyright (C) 2009-2010 TeX Users Group % Copyright (C) 2000-2009 Eitan M. Gurari % Released under LPPL 1.3c+. % See tex4ht-cpright.tex for license text. %%%%%%%%%%%%%%%%%% load style files %%%%%%%%%%%%%%%%%%%%%%%%%% \ifx \HTML\UnDef \def\HTML{mozilla} \def\CONFIG{\jobname} \def\MAKETITLE{\author{Eitan M. Gurari}} \def\next{\input mktex4ht.4ht \endinput} \expandafter\next \fi \input{common.tex} \input{tex4ht-cpright.tex} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Preamble} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< % mozilla.4ht (|version), generated from |jobname.tex % Copyright (C) 2009-2010 TeX Users Group % Copyright (C) |CopyYear.2000. Eitan M. Gurari, Paul Gartside % gartside@maths.ox.ac.uk | >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Start Here} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \:CheckOption{xht} \if:Option \Configure{ext}{xht} \else \Configure{ext}{xml} \fi >>> It looks like frames on (just current?) browsers require html extension fot file names. Mozilla complaints about version 1.1 :-( %\Configure{VERSION} % {\IgnorePar \HCode{\Hnewline}} \<<< \:CheckOption{frames} \if:Option \Configure{frames-altDOCTYPE}{|} \else | \fi \:CheckOption{-css} \if:Option \else \Configure{XML-STYLESHEET} {\HCode{\Hnewline}} \fi >>> \<<< \:CheckOption{pmathml} \if:Option | \else | \fi >>> \<<< \Configure{DOCTYPE} {\IgnorePar \HCode{"\Hnewline "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd" >\Hnewline % "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [\Hnewline % \Hnewline % ]>\Hnewline }} >>> \<<< \expandafter \ifx \csname a:dtd-lang\endcsname\relax EN\else \csname a:dtd-lang\endcsname \fi >>> % \Configure{@HEAD}{\HCode{}} \<<< xmlns="http://www.w3.org/1999/xhtml" >>> \<<< \Configure{HTML} {\IgnorePar\HCode{}\Hnewline>}} {\HCode{\Hnewline\Hnewline}} >>> % \<<< \Configure{DviMath} {\mathmltrue \ifOption{mml-fonts}{|}{\NoFonts}\IgnoreRule\HCode{}{\Tg<\a:mathml math\Hnewline |\a:@math>}\a:math |\IgnorePar} {\Tg\EndIgnoreRule \ifOption{mml-fonts}{|}{\EndNoFonts}% |\mathmlfalse} >>> \<<< \Configure{htf}{0}{+}{}{}% >>> \<<< \Configure{htf}{0}{+}{}{}% >>> \<<< \sv:ignore >>> \<<< \edef\sv:ignore{\if:nopar \noexpand\IgnorePar\else \noexpand\ShowPar\fi}% >>> \<<< \csname a:math-xmlns\endcsname >>> The amphersand chracter must be embeded within group parentheses, to hide it in tables from halign. \<<< \Configure{$$} {\Configure{@math}{mode="display"}\IgnorePar\EndP\DviMath} {\EndDviMath\ShowPar\par{\HCondtrue\noindent}}{} \Configure{$} {\Configure{@math}{mode="inline"}\DviMath} {\EndDviMath}{} >>> \<<< \Configure{[]} {\Configure{@math}{mode="display"}\csname a:mathml[]\endcsname \DviMath\Tg<\a:mathml mrow\Hnewline>$$} {$$\Tg\EndDviMath\csname b:mathml[]\endcsname} >>> \<<< \Configure{()} {\Configure{@math}{mode="inline"}\csname a:mathml()\endcsname \DviMath\Tg<\a:mathml mrow\Hnewline>$} {$\Tg\EndDviMath\csname b:mathml()\endcsname} \Css{math[mode="display"] {margin-top:0.8em; margin-bottom:0.8em; display:block; text-align:center;}} >>> \<<< \Configure{Roman}{I}{V}{X}{L}{C}{D}{M} \Configure{roman}{i}{v}{x}{l}{c}{d}{m} >>> \<<< \Configure{underline} {\bgroup\ifmathml |% \else |\HCode{}\fi} {\ifmathml |\else \HCode{}\fi\egroup} >>> \<<< \Configure{underline} {\bgroup |} {|\egroup} >>> \<<< \HCode{<\a:mathml munder class="mml-underline"><\a:mathml mrow>}% >>> \<<< \HCode{<\a:mathml mo\Hnewline accent="true">&\#x00AF;}% >>> The code 0332 for underbar is not recognized. Hence, we use the code 00AF of overbar (\verb+‾+ is not recognized anymore). \<<< \expandafter\everymath \expandafter{\expandafter\everymath \expandafter{\the\everymath}}% \let\o::@underline:\o:@@underline: \def\o:@@underline:{\let\o:@@underline:\o::@underline:}% >>> \<<< \Configure{equation} {\ifmmode\else\par \IgnorePar\fi \EndP \HCode{}\IgnorePar } {\IgnorePar\EndP\HCode{}} {\end:TTT \ifmmode\else \ShowPar\par{\HCondtrue\noindent}\fi} >>> Mozilla has problem dealing with double and triple unicode prime characters. \<<< | >>> \<<< | >>> \<<< \Configure{'} {\let\:primes=\empty} {\relax \csname SUB:prime\endcsname \sp{\global\let\SUB:prime=\:UnDef \:primes}} {\let\prime=\relax \xdef\:primes{\:primes\prime}} >>> %%%%%%%%%%%%%%%%%% \section{Spaces after mtext} %%%%%%%%%%%%%%%%%% \<<< | >>> \<<< | >>> \<<< \def\AA:text#1{\mtexttrue \HCode{<\a:mathml mtext \a:@mtext>}|\PauseMathClass |} \def\BB:text{\mtextfalse\EndPauseMathClass|\HCode {}} >>> \<<< \Configure{$}{\EndPauseMathClass \mtextfalse |\HCode{}} {\HCode{<\a:mathml mtext \a:@mtext>}|\PauseMathClass \mtexttrue}{} >>> \<<< \Configure{()}% {\EndPauseMathClass \mtextfalse |\HCode{<\a:mathml mstyle\Hnewline \mml:class="math">}$}% {$\HCode{<\a:mathml mtext \a:@mtext>}|\PauseMathClass \mtexttrue}% {}% >>> \<<< \ht:special{t4ht@,&\#x00A0;}% >>> \<<< \ht:special{t4ht@,}% >>> %%%%%%%%%%%%%%%%%% \section{Accents} %%%%%%%%%%%%%%%%%% See test file at tex4ht-mathml \begin{verbatim} > There is a problem in \dot{x}: it is never build well, but \dot{k} or > \dot{V} are correctly arranged. It is a mozilla problem--it doesnt recognizes the unicode character ẋ of \dot{x}. I modified the defintion to get a simulation of the same effect, as is the case for \dot{k} and \dot{V}. > I detected that symbols \tilde and \widetilde are not being generated > by TeX4ht I'm getting the same problem here. Tex4ht produces the combining tilde U0303, but mozilla fails to recognize it. Changing it to the small tilde character U02DC fixes the problem (now in the bug fixes page of tex4ht). However, that is an improper behavior of mozilla. It can be seen with the hat and widehat operations. There U0302 does the right job and U02C6 doesn't. \end{verbatim} \<<< \expand:after{\Configure{accent}}\csname OT1\string\.\endcsname \dot{{}{}} {\a:accents{}{#1}} {\b:accents{dot}{#1}{#2}} \expand:after{\Configure{accent}}\csname OT1\string\"\endcsname \ddot{{}{}} {\a:accents{}{#1}} {\b:accents{uml}{#1}{#2}} >>> \<<< \:CheckOption{new-accents} \if:Option \else \def\:widetilde:over{\ifmmode \expandafter\mathop\fi {\x:unicode{02DC}}} % \def\:tilde:over{\mathop{\x:unicode{02DC}}} \fi >>> \<<< \:CheckOption{new-accents} \if:Option \else \def\:widetilde:over{\mathop{\ifmmode \expandafter\x:unicode\fi {02DC}}} % \def\:tilde:over{\mathop{\x:unicode{02DC}}} \fi >>> \<<< \:CheckOption{uniaccents} \if:Option \else \Configure{accent}\dot\dot{|{}{}} {}{} \expand:after{\Configure{accent}}\csname OT1\string\.\expandafter \endcsname \csname OT1\string\.\endcsname{|{}{}} {}{} \expand:after{\Configure{accent}}\csname OT1\string\v\endcsname \check{|{}{}} {}{} \expand:after{\Configure{accent}}\csname OT1\string\=\endcsname \bar{|{}{}} {}{} \expand:after{\Configure{accent}}\csname OT1\string\`\endcsname \grave{|{}{}} {\a:accents{}{#1}} {\b:accents{grave}{#1}{#2}} \expand:after{\Configure{accent}}\csname OT1\string\^\endcsname \hat{|{}{}} {}{} \expand:after{\Configure{accent}}\csname OT1\string\~\endcsname \tilde{|{}{}} {}{} \Configure{accent}\ddot\ddot{|{}{34}} {}{} \expand:after{\Configure{accent}}\csname OT1\string\"\expandafter \endcsname \csname OT1\string\"\endcsname{|{}{34}} {}{} % \expand:after{\expand:after{\Configure{accent}}% % \csname OT1\string\r\endcsname}% % \csname OT1\string\r\endcsname{|{}{}} % {}{} \expand:after{\Configure{accent}}\csname OT1\string\b\endcsname \b{|{}{}} {}{} \expand:after{\expand:after{\Configure{accent}}% \csname OT1\string\d\endcsname}% \csname OT1\string\d\endcsname{|{}{}} {}{} \expand:after{\expand:after{\Configure{accent}}% \csname OT1\string\c\endcsname}% \csname OT1\string\c\endcsname{|{}{}} {}{} \expand:after{\expand:after{\Configure{accent}}% \csname OT1\string\H\endcsname}% \csname OT1\string\H\endcsname{|{}{}} {}{} \fi >>> \<<< C{010A}c{010B}E{0116}e{0117}G{0120}g{0121}% I{0130}Z{017B}z{017C}A{0226}a{0227}O{022E}% o{022F}B{1E02}b{1E03}D{1E0A}d{1E0B}F{1E1E}% f{1E1F}H{1E22}h{1E23}M{1E40}m{1E41}N{1E44}% n{1E45}P{1E56}p{1E57}R{1E58}r{1E59}S{1E60}% s{1E61}T{1E6A}t{1E6B}W{1E86}w{1E87}X{1E8A}% x{1E8B}Y{1E8E}y{1E8F}% >>> \<<< C{010C}c{010D}D{010E}d{010F}% E{011A}e{011B}L{013D}l{013E}N{0147}n{0148}R{0158}r{0159}% S{0160}s{0161}T{0164}t{0165}Z{017D}z{017E}A{01CD}a{01CE}I{01CF}% i{01D0}O{01D1}o{01D2}U{01D3}u{01D4}G{01E6}g{01E7}K{01E8}k{01E9}% j{01F0}\i{01D0}\j{01F0}% >>> \<<< A{0100}a{0101}E{0112}% e{0113}I{012A}i{012B}O{014C}o{014D}U{016A}u{016B}% G{1E20}g{1E21}% >>> \<<< A{00C0}E{00C8}I{00CC}N{01F8}O{00D2}U{00D9}W{1E80}% Y{1EF2}a{00E0}e{00E8}o{00F2}u{00F9}% w{1E81}y{1EF3}\i{00EC}% >>> \<<< A{00C2}E{00CA}I{00CE}O{00D4}U{00DB}a{00E2}e{00EA}% i{00EE}o{00F4}u{00FB}C{0108}c{0109}G{011C}g{011D}% H{0124}h{0125}J{0134}j{0135}S{015C}s{015D}W{0174}% w{0175}Y{0176}y{0177}\i{00EE}\j{0135}% >>> \<<< A{00C3}N{00D1}O{00D5}a{00E3}n{00F1}o{00F5}I{0128}% i{0129}U{0168}u{0169}E{1EBC}e{1EBD}% Y{1EF8}y{1EF9}\i{0129}% >>> \<<< A{00C4}E{00CB}I{00CF}O{00D6}U{00DC}% a{00E4}e{00EB}i{00EF}o{00F6}u{00FC}y{00FF}% Y{0178}\i{00EF}% >>> \<<< D{1E0E}d{1E0F}K{1E34}k{1E35}L{1E3A}l{1E3B}N{1E48}n{1E49}% R{1E5E}r{1E5F}T{1E6E}t{1E6F}Z{1E94}z{1E95}h{1E96}% >>> \<<< K{0136}k{0137}L{013B}l{013C}N{0145}n{0146}% R{0156}r{0157}S{015E}s{015F}T{0162}t{0163}% E{0228}e{0229}H{1E28}h{1E29}% C{00C7}c{00E7}G{0122}g{0123}% >>> \<<< A{1EA0}a{1Ea1}D{1E0C}d{1E0D}% E{1EB8}e{1EB9}H{1E24}h{1E25}I{1ECA}i{1ECB}% K{1E32}k{1E33}L{1E36}l{1E37}M{1E42}m{1E43}% N{1E46}n{1E47}O{1ECC}o{1ECD}R{1E5A}r{1E5B}% S{1E62}s{1E63}T{1E6C}t{1E6D}U{1EE4}u{1EE5}% V{1E7E}v{1E7F}W{1E88}w{1E89}Y{1EF4}y{1EF5}% >>> \<<< \expand:after{\Configure{accent}}\csname OT1\string\`\endcsname \grave{|{}{}} {\a:accents{}{#1}} {\b:accents{grave}{#1}{#2}} \expand:after{\Configure{accent}}\csname OT1\string\'\endcsname \acute{|{}{}} {\a:accents{}{#1}} {\b:accents{acute}{#1}{#2}} \expand:after{\Configure{accent}}\csname OT1\string\^\endcsname \hat{|{}{}} {\a:accents{}{#1}} {\b:accents{hat}{#1}{#2}} \expand:after{\Configure{accent}}\csname OT1\string\~\endcsname \tilde{|{}{}} {\a:accents{}{#1}} {\b:accents{tilde}{#1}{#2}} \Configure{accent}\ddot\ddot{|{}{34}} {\a:accents{}{#1}} {\b:accents{uml}{#1}{#2}} \expand:after{\Configure{accent}}\csname OT1\string\"\expandafter \endcsname \csname OT1\string\"\endcsname{|{}{34}} {\a:accents{}{#1}} {\b:accents{uml}{#1}{#2}} >>> \<\><<< \expand:after{\expand:after{\Configure{accent}}% \csname OT1\string\r\endcsname}% \csname OT1\string\r\endcsname{|{}{}} {\a:accents{}{#1}} {\b:accents{ring}{#1}{#2}} >>> \<<< \expand:after{\expand:after{\Configure{accent}}% \csname OT1\string\d\endcsname}% \csname OT1\string\d\endcsname{|{}{}} {\a:accents{}{#1}} {\b:accents{d}{#1}{#2}} >>> \<<< \:CheckOption{new-accents} \if:Option \else | \fi >>> \<<< \:CheckOption{new-accents} \if:Option \else | \fi >>> \<<< \:CheckOption{new-accents} \if:Option \else | \fi >>> \<<< \:CheckOption{new-accents} \if:Option \else | \fi >>> \<<< \:CheckOption{new-accents} \if:Option \else | \fi >>> \<<< \:CheckOption{new-accents} \if:Option \else | \fi >>> %%%%%%%%%%%%%%%%%%%%% \section{Thin Spaces} %%%%%%%%%%%%%%%%%%%%% \<<< \Configure{,}{\mskip\thinmuskip} >>> \<<< \Configure{,}{\mskip\thinmuskip} >>> %%%%%%%%%%%%%%%%%%%%% \section{Fonts} %%%%%%%%%%%%%%%%%%%%% \<<< | | | | | | | >>> \<<< | | | | | | | >>> \<<< | | >>> \<<< | | | | | >>> \<<< | | >>> \<<< \ifx \tmp:bx\:UnDef \csname newbox\endcsname \tmp:bx \fi \def\find:set:mgroup#1#2#3{\bgroup \def\use@mathgroup##1##2##3{\relax \tmp:cnt=##2% \xdef\:temp####1{\noexpand\Configure{MathClass}{#2}% {}{}{}{\mathchar"0\the\tmp:cnt ####1}}% }% \setbox\tmp:bx=\hbox{$#1$}\setbox\tmp:bx=\hbox{}% \set:mgroup#3{}{}% \egroup } \def\set:mgroup#1#2{\if :#1#2:\else \:temp{#1#2}\expandafter\set:mgroup \fi} >>> \<<< \ifx \mathbbMathClass\:UnDef \NewMathClass\mathbbMathClass \fi \Configure{MathClass}{\mathbbMathClass}{*} {<\a:mathml mi mathvariant="double-struck">}{}{} >>> \<<< \find:set:mgroup{\mathbb{A}}{\mathbbMathClass}% {414244454647494A4B4C4D4F535455565758597C} |%A--Z (not CHNPQRZ),k|% >>> The characters CHNPQRZ bet a \verb++ decoration. Mathfrak might be conditionally loaded by latex, upon encountering the mathfrak command. Hence, the indirect setting of math classes. \<<< \expandafter\ifx \csname sv:@mathfrak:\endcsname\relax \let\sv:@mathfrak:=\n:@mathfrak: \fi \def\n:@mathfrak:{\global\let\n:@mathfrak:=\sv:@mathfrak: \global\let\sv:@mathfrak:=\:UnDef |% } \n:@mathfrak: >>> In version 1.4b \verb+𝔏+ is needed. The representations \verb+𝔏+ and \verb+L+ don't work. \<<< \ifx \mathfrakMathClass\:UnDef \NewMathClass\mathfrakMathClass \fi \Configure{MathClass}{\mathfrakMathClass}{*} {<\a:mathml mi\Hnewline mathvariant="fraktur">}{}{} >>> \<<< \find:set:mgroup{\mathfrak{A}}{\mathfrakMathClass}% {4142434445464748494A4B4C4D4E4F505152535455565758595A% |%A--Z|% 6162636465666768696A6B6C6D6E6F707172737475767778797A% |%a--z|% 30313233343536373839}% |%0--9|% >>> \<<< \ifx \mathboldfrakMathClass\:UnDef \NewMathClass\mathboldfrakMathClass \fi \Configure{MathClass}{\mathboldfrakMathClass}{*} {<\a:mathml mi\Hnewline mathvariant="bold-fraktur">}{}{} >>> \<<< \expandafter\ifx\csname mv@bold\endcsname\relax \else \bgroup \mathversion{bold}% \find:set:mgroup{\mathfrak{A}}{\mathboldfrakMathClass}% {4142434445464748494A4B4C4D4E4F505152535455565758595A% |%A--Z|% 6162636465666768696A6B6C6D6E6F707172737475767778797A% |%a--z|% }% \egroup \fi >>> \<<< \ifx \mathscrMathClass\:UnDef \NewMathClass\mathscrMathClass \fi \Configure{MathClass}{\mathscrMathClass}{*} {<\a:mathml mi\Hnewline mathvariant="script">}{}{} >>> \<<< \find:set:mgroup{\mathscr{A}}{\mathscrMathClass}% {4142434445464748494A4B4C4D4E4F505152535455565758595A} |%A--Z|% >>> \<<< \ifx \mathboldscrMathClass\:UnDef \NewMathClass\mathboldscrMathClass \fi \Configure{MathClass}{\mathboldscrMathClass}{*} {<\a:mathml mi\Hnewline mathvariant="bold-script">}{}{} >>> \<<< \expandafter\ifx\csname mv@bold\endcsname\relax \else \bgroup \mathversion{bold}% \find:set:mgroup{\mathscr{A}}{\mathboldscrMathClass}% {4142434445464748494A4B4C4D4E4F505152535455565758595A} |%A--Z|% \egroup \fi >>> \<<< \ifx \mathcalMathClass\:UnDef \NewMathClass\mathcalMathClass \fi \Configure{MathClass}{\mathcalMathClass}{*} {<\a:mathml mi\Hnewline mathvariant="script">}{}{} >>> \<<< \find:set:mgroup{\mathcal{A}}{\mathcalMathClass}% {4142434445464748494A4B4C4D4E4F505152535455565758595A} |%A--Z|% >>> \<<< \ifx \mathboldcalMathClass\:UnDef \NewMathClass\mathboldcalMathClass \fi \Configure{MathClass}{\mathboldcalMathClass}{*} {<\a:mathml mi\Hnewline mathvariant="bold-script">}{}{} >>> \<<< \expandafter\ifx\csname mv@bold\endcsname\relax \else \bgroup \mathversion{bold}% \find:set:mgroup{\mathcal{A}}{\mathboldcalMathClass}% {4142434445464748494A4B4C4D4E4F505152535455565758595A} |%A--Z|% \egroup \fi >>> \<<< \ifx \boldmathsfMathClass\:UnDef \NewMathClass\boldmathsfMathClass \fi \Configure{MathClass}{\boldmathsfMathClass}{*} {<\a:mathml mi mathvariant="bold-sans-serif">}{}{} >>> \<<< \find:set:mgroup{{\boldmath\mathsf{A}}}{\boldmathsfMathClass}% {4142434445464748494A4B4C4D4E4F505152535455565758595A% |%A--Z|% 6162636465666768696A6B6C6D6E6F707172737475767778797A% |%a--z|% }% >>> \<<< \ifx \boldmathsfDigitMathClass\:UnDef \NewMathClass\boldmathsfDigitMathClass \fi \Configure{MathClass}{\boldmathsfDigitMathClass}{*} {<\a:mathml mn mathvariant="bold-sans-serif">}{}{} >>> \<<< \find:set:mgroup{{\boldmath\mathsf{A}}}{\boldmathsfDigitMathClass}% {30313233343536373839}% |%0--9|% >>> BROKEN: The above, for instance, fail for the prima math code: \begin{verbatim} \documentclass{article} \tracingmacros=2 \begin{document} prima {\boldmath $\mathrm{{\csname HCode\endcsname{}}^{14}C}$} seconda {\boldmath $\mathsf{{\csname HCode\endcsname{}}^{15}C}$} terza {\boldmath $\mathrm{{\csname HCode\endcsname{}}^{16}C}$} quarta {\boldmath $\mathsf{{\csname HCode\endcsname{}}^{17}C}$} quinta {$\mathtt{{\csname HCode\endcsname{}}^{18}C}$} \end{document} \end{verbatim} Double strike: \<<< \ifx \mathdsMathClass\:UnDef \NewMathClass\mathdsMathClass \fi \Configure{MathClass}{\mathdsMathClass}{*} {<\a:mathml mi mathvariant="double-struck">}{}{} \find:set:mgroup{\mathds{A}}{\mathdsMathClass}% |%1,A--Z,A,h,k|% {314142434445464748494A4B4C4D4E4F505152535455565758595A61686B} >>> \<<< \ifx \mathReImMathClass\:UnDef \NewMathClass\mathboldReImMathClass \fi \Configure{MathClass}{\mathboldReImMathClass}{*} {<\a:mathml mi\Hnewline fontweight="bold">}{}{} >>> \<<< \expandafter\ifx\csname mv@bold\endcsname\relax \else \bgroup \mathversion{bold}% \find:set:mgroup{\mathcal{A}}{\mathboldReImMathClass}% {3C3D} \egroup \fi >>> %%%%%%%%%%%%%%% \chapter{pmathml.xsl} %%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%% \section{Header Part} %%%%%%%%%%%%%%%%%%%%% \<<< \Configure{DOCTYPE}{} >>> \<<< \:CheckOption{pmathml} \if:Option | \:CheckOption{pmathml-css} \if:Option \else \Log:Note{If css rendering is preferred for MathML, use option `pmathml-css' instead of `pmathml'.} | \fi \else \:CheckOption{pmathml-css} \if:Option \else \Log:Note{For multi-platform MathML through stylesheet transforms, use the command line option `pmathml'. If css rendering is preferred, use `pmathml-css'.} \fi \fi >>> \<<< \:CheckOption{pmathml-css} \if:Option \Configure{XML-STYLESHEET} {\HCode{% \Hnewline \Hnewline }} \else \Configure{XML-STYLESHEET} {\HCode{% \Hnewline \Hnewline }} \fi >>> \<<< \:CheckOption{pmathml-css} \if:Option \Configure{@HTML} {xmlns:math="http://www.w3.org/1998/Math/MathML"\Hnewline xmlns:pref="http://www.w3.org/2002/Math/preference"\Hnewline pref:renderer="css" } \fi >>> \<<< \:CheckOption{pmathml-css} \if:Option \edef\Preamble{\Preamble,pmathml} \fi >>> \Link[http://www.w3.org/Math/XSL/Overview.html]{}{}% http://www.w3.org/Math/XSL/Overview.html\EndLink{} and \Link[http://www.w3.org/Math/XSL/Overview-tech.html]{}{}% http://www.w3.org/Math/XSL/Overview-tech.html\EndLink{} explains how to make .xml pages (in fact, Tex4ht option MOZILLA) to Explorer 6 even WITHOUT Mathplayer: it requires two .xsl style sheets (pmathml.xsl and pmathmlcss.xsl, they can be retrieved there) and replacing \verb+" "mathml.dtd">+ with \verb++. Moreover, if one has Mathplayer installed, one must keep it away, for check purposes, by replacing \verb++ with \begin{verbatim} \end{verbatim} %%%%%%%%%%%%%%%%% \section{Tables} %%%%%%%%%%%%%%%%% The attribute \verb+nowrap="nowrap"+ in table cells prevents Mathplayer from displaying them its own way, and one gets minimal cells, overlapped: it ought to be avoided altogether. It reappears in the option pmathml - as soon as Mathplayer is called upon to deal with a table, the cells overlap from left to right, and the last row is reduced almost to nothing. Pmathml-css, NOT calling on Mathplayer, gives no trouble that way. \<<< \Configure{halignTD} {}{} {<}{\ifmathml \HCode{ columnalign="left"}\else \HCode{ style="text-align:left" }\fi} {-}{\ifmathml \HCode{ columnalign="center"}\else \HCode{ style="text-align:center" }\fi} {>}{\ifmathml \HCode{ columnalign="right"}\else \HCode{ style="text-align:right" }\fi} {^}{\ifmathml \HCode{ rowalign="top"}\else \HCode{ style="vertical-align:top" }\fi} {=}{\ifmathml \HCode{ rowalign="baseline"}\else \HCode{ style="vertical-align:baseline" }\fi} {||}{\ifmathml \HCode{ rowalign="center"}\else \HCode{ style="vertical-align:middle" }\fi} {_}{\ifmathml \HCode{ rowalign="bottom"}\else \HCode{ style="vertical-align:bottom" }\fi} {p}{\ifmathml \HCode{ columnalign="left"}\else \HCode{ style="text-align:left"}\fi} {} >>> \endinput