% $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
