% $Id: tex4ht-mathplayer.tex 65 2010-11-17 19:16:45Z karl $
% compile 3 times: latex tex4ht-mathplayer
%            or   xhlatex tex4ht-mathplayer "html,3,sections+"
%
% Copyright (C) 2009-2010 TeX Users Group
% Copyright (C) 1997-2009 Eitan M. Gurari
% Released under LPPL 1.3c+.
% See tex4ht-cpright.tex for license text.

%%%%%%%%%%%%%%%%%% load style files %%%%%%%%%%%%%%%%%%%%%%%%%%

\ifx \HTML\UnDef
  \def\HTML{mathplayer}
  \def\CONFIG{\jobname}
  \def\MAKETITLE{\author{Eitan M. Gurari}}
  \def\next{\input mktex4ht.4ht  \endinput}
  \expandafter\next
\fi

\input{common}
\input{tex4ht-cpright}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Preamble}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\<mathplayer\><<<
% mathplayer.4ht (|version), generated from |jobname.tex
% Copyright (C) 2009-2010 TeX Users Group
% Copyright (C) |CopyYear.2002. Eitan M. Gurari
|<TeX4ht copywrite|>
>>>

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Start Here}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%
\section{Header}
%%%%%%%%%%%%%%%%

\<configure mathplayer Preamble\><<<
\edef\Preamble{\Preamble,xht}
\Configure{ext}{xht}
>>>

% \Configure{mathml}{m:}


\<dtd lang\><<<
\expandafter
\ifx \csname a:dtd-lang\endcsname\relax EN\else
 \csname a:dtd-lang\endcsname
\fi
>>>

\<configure mathplayer tex4ht\><<<
\Configure{DOCTYPE}
      {\HCode{<!DOCTYPE html PUBLIC
               "-//W3C//DTD XHTML 1.1 plus MathML 2.0//|<dtd lang|>"\Hnewline
               "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd"\Hnewline
                [\Hnewline
                    <!ENTITY \% MATHML.prefixed "INCLUDE">\Hnewline
                    <!ENTITY \% MATHML.prefix "m">\Hnewline
                ]\Hnewline
               >\Hnewline }}
\Configure{@BODY}
  {\ifvmode \EndP\fi \IgnorePar\HCode{<script type="text/javascript">\Hnewline<!--\Hnewline
          |<check for ie 5.5 and mathplayer|>\Hnewline-->\Hnewline
          </script>\Hnewline
  }\par\ShowPar}
  \Configure{@HTML}
    {xmlns:m="http://www.w3.org/1998/Math/MathML"\Hnewline
%      xmlns:dsi="http://www.dessci.com/mathml" \Hnewline
    }
%\let\dsi:=\empty
>>>


application/xhtml+xml



\<check for ie 5.5 and mathplayer\><<<
if(   navigator.appName=="Microsoft Internet Explorer"   \Hnewline
  && navigator.platform=="Win32"                        \Hnewline
){                                                       \Hnewline
 if( parseFloat(navigator.appVersion.substr(            \Hnewline
      navigator.appVersion.indexOf("MSIE ")+5))>="5.5"  \Hnewline
 ){
   try {                                                  \Hnewline
     var oMP = new ActiveXObject("MathPlayer.Factory.1"); \Hnewline
   }                                                      \Hnewline
   catch(e) { alert("Can't find Design Science's MathPalyer" +  \Hnewline
         "(http://www.dessci.com/webmath/mathplayer)");} \Hnewline
 } else {                                                \Hnewline
   alert("Requires MSIE version 5.5 or later");          \Hnewline
} }                                                       \Hnewline
>>>

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Wrapping in 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.

\<configure mathplayer tex4ht\><<<
\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}
  {}
>>>







% %%%%%%%%%%%%%%%%%%%%%
% \section{Cross References}
% %%%%%%%%%%%%%%%%%%%%%

%

%

% \<configure mathplayer tex4htNO\><<<
% \LinkCommand\mtxt:link{\a:mathml maction,%
%    actiontype="link" \dsi: href, id,
%    class="label"|<mtext ref decoration|>,,}
% \LinkCommand\msp:link{\a:mathml maction,%
%    actiontype="link" \dsi: href, id,
%    class="label"|<mstyle ref decoration|>,,}
% \def\Link{\ifmathml
%      \ifmtext |<end mtext|>\HCode{</\a:mathml mtext>}%
%               \expandafter\expandafter\expandafter\mtxt:link
%      \else    \expandafter\expandafter\expandafter\msp:link\fi
%    \else \expandafter\M:Link\fi}
% \def\EndLink{\ifmathml
%      \ifmtext    |<end mtext|>|<end mtext ref decoration|>%
%        \Endmtxt:link \HCode{<\a:mathml mtext\Hnewline
%                    class="endlabel">}|<start mtext|>%
%      \else  \HCode{|<end mstyle ref decoration|></\a:mathml
%                                maction><!--endlabel-->}\fi
%    \else \expandafter\M:EndLink\fi}
% >>>

%

%

%

%

%

%
% \<mtext ref decorationNO\><<<
% ><\a:mathml mtext  mathbackground="yellow"%
% >>>

% \<end mtext ref decorationNO\><<<
% \HCode{</\a:mathml mtext>}%
% >>>

% \<mstyle ref decorationNO\><<<
% ><\a:mathml mstyle  mathbackground="yellow"%
% >>>

% \<end mstyle ref decorationNO\><<<
% </\a:mathml mstyle>%
% >>>

%
% \begin{verbatim}
%  JUST BACKGROUND (one could add colour, and it would be fine to include the
%  labels, if any)
%  <m:mstyle \a:mathml mathbackground="yellow"> <m:maction
%   actiontype="link" \dsi: href="#x1-2r1"  class="label"><m:mrow
%  ><m:mn>1</m:mn><!--tex4ht:ref: equ1 --></m:mrow></m:maction></m:mstyle >

%  HIGHLIGHT ON MOUSEOVER
%  <m:maction
%   actiontype="highlight" \dsi: color="pink" ><m:maction
%   actiontype="link" \dsi: href="#x1-2r1"  class="label"><m:mtext
%  background="yellow" >1<!--tex4ht:ref:
%  equ1 --></m:mtext></m:maction></m:maction>

%  TOOLTIP CLUE ON MOUSEOVER
%  <m:mrow>
%  <m:maction actiontype="tooltip" ><m:maction
%   actiontype="link" \dsi: href="#x1-2r1"  class="label"><m:mrow ><m:mn
%  background="yellow" >1</m:mn></m:mrow></m:maction>
%  <m:mtext>click to jump!</m:mtext>
%  <!--tex4ht:ref: equ1 --></m:maction><!--endlabel--></m:mrow>

% * <m:mtext m:mathbackground="yellow" > disables background colour in all
%   the (math-)links - this one coming from a typo in mathplayer.4ht, inserting
%   m: before mathbackground;

%   m: also problematic on actiontype
% \end{verbatim}

% \<start mtext\><<<
% \ht:special{t4ht@,&\#x00A0;}%
% >>>
% \<end mtext\><<<
% \ht:special{t4ht@,}%
% >>>

%

% The area of the clickable links can be enlarged with a cpde similar to
% the following one.

% \begin{verbatim}
%   \let\svLink=\Link
%   \let\svEndLink=\EndLink
%   \Odef\Link[#1]#2#3{%
%      \svLink[#1]{#2}{#3}%
%      \ifmathml\ifmtext\else \HCode{<m:mpadded width="4">}\fi\fi}
%   \def\EndLink{%
%      \ifmathml\ifmtext\else \HCode{</m:mpadded>}\fi\fi
%      \svEndLink}
% \end{verbatim}


%%%%%%%%%%%%%%%%%%
\section{Namespace Prefixes}
%%%%%%%%%%%%%%%%%%

\<configure mathplayer tex4ht\><<<
\:CheckOption{xht} \if:Option
\else \:CheckOption{xml} \if:Option
\else
\Configure{DviMath}
  {\a:DviMathML \mathmltrue
     \ifOption{mml-fonts}{}{|%\mml:htfsym|%\NoFonts}%
     \IgnoreRule \HCode{<!--l.
     \the\inputlineno-->}\HCode{<\a:mathml math\Hnewline}%
        |<disable a:mathml for math attr|>%
        \HCode{\csname a:math-xmlns\endcsname \Hnewline \a:@math>}%
     |<end disable a:mathml for math attr|>\a:math
     |<sv dvimath par|>\IgnorePar}
  {\Tg</\a:mathml math>\EndIgnoreRule
   \ifOption{mml-fonts}{}{|%\ext:htfsym|%\EndNoFonts}%
   \mathmlfalse \b:DviMathML |<recall dvimath par|>}
\fi\fi
>>>


\<recall dvimath par\><<<
\sv:ignore
>>>

\<sv dvimath par\><<<
\edef\sv:ignore{\if:nopar
   \noexpand\IgnorePar\else \noexpand\ShowPar\fi}%
>>>

\<disable a:mathml for math attr\><<<
\let\sva:mathml=\a:mathml \let\a:mathml=\empty
>>>

\<end disable a:mathml for math attr\><<<
\let\a:mathml=\sva:mathml
>>>


%%%%%%%%%%%%%%%%%%
\section{Color}
%%%%%%%%%%%%%%%%%%

\<configure mathplayer color\><<<
\let\a:txt:textcolor\a:textcolor
\let\b:txt:textcolor\b:textcolor
\Configure{textcolor}
  {\ifmathml
     \Configure{color}%
        {\Configure{SetHColor}
             {\HCode{<m:mstyle color="\HColor">}}}%
   \else \a:txt:textcolor \fi
  }
  {\ifmathml \HCode{</m:mstyle>}\else \b:txt:textcolor \fi}
>>>


\endinput