diff options
author | Karl Berry <karl@freefriends.org> | 2021-05-03 01:32:21 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-05-03 01:32:21 +0000 |
commit | 4feea2468d21899ed23a55816e5027793d73f0b0 (patch) | |
tree | 7fb702d574e37d9090b04cac03d7f824a12b77b7 /Master/texmf-dist/source/generic/tex4ht/tex4ht-jsmath.tex | |
parent | 51d9a33e68f1f36a2db54a1c8773032750b72201 (diff) |
tex4ht source files
git-svn-id: svn://tug.org/texlive/trunk@59059 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/generic/tex4ht/tex4ht-jsmath.tex')
-rw-r--r-- | Master/texmf-dist/source/generic/tex4ht/tex4ht-jsmath.tex | 899 |
1 files changed, 899 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/generic/tex4ht/tex4ht-jsmath.tex b/Master/texmf-dist/source/generic/tex4ht/tex4ht-jsmath.tex new file mode 100644 index 00000000000..97e86de2635 --- /dev/null +++ b/Master/texmf-dist/source/generic/tex4ht/tex4ht-jsmath.tex @@ -0,0 +1,899 @@ +% $Id: tex4ht-jsmath.tex 77 2011-01-28 11:45:59Z cvr $ +% compile 3 times: latex tex4ht-jsmath +% or xhlatex tex4ht-jsmath "html,3,sections+" +% +% Copyright (C) 2009-2010 TeX Users Group +% Copyright (C) 2005-2009 Eitan M. Gurari +% Released under LPPL 1.3c+. +% See tex4ht-cpright.tex for license text. +% +% CDATA support: +% http://planetmath.org/encyclopedia/ +% +% <script type="text/javascript"> +% //<![CDATA[ +% jsMath.Macro( 'ab', '{#1}_{\\mathrm{ab}}', 1) +% //]]> +% </script><script type="text/javascript"> +% //<![CDATA[ +% jsMath.Macro( 'Ad', '\\mathrm{Ad}', 0) +% //]]> +% </script><script type="text/javascript"> +% //<![CDATA[ +% jsMath.Macro( 'ad', '\\mathrm{ad}', 0) +% //]]> + +\ifx \HTML\UnDef + \def\HTML{jsmath,html-jsmath} + \def\CONFIG{\jobname} + \def\MAKETITLE{\author{Eitan M. Gurari}} + \def\next{\input mktex4ht.4ht \endinput} + \expandafter\next +\fi + +\input{common-code} +\input{common} +\input{tex4ht-cpright} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{Constructs} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +\<jsmath\><<< +% jsmath.4ht (|version), generated from |jobname.tex +% Copyright (C) 2009-2010 TeX Users Group +% Copyright (C) |CopyYear.2005. Eitan M. Gurari +|<TeX4ht copywrite|> +>>> + +\<html-jsmath\><<< +% html-jsmath.4ht (|version), generated from |jobname.tex +% Copyright (C) 2009-2010 TeX Users Group +% Copyright (C) |CopyYear.2006. Eitan M. Gurari +|<TeX4ht copywrite|> +>>> + + +\<configure html-jsmath tex4ht\><<< +\Configure{VERSION}{} +>>> + + +\<configure jsmath tex4ht\><<< +\NewConfigure{jsmath}{1} +\ifOption{easy-load}{% + \Configure{jsmath}{jsMath/easy/load.js}% +}{% + \Log:Note{The `easy-load' command line option offers + an alternative loading approach of + jsMath version 3.4 or above}% + \Configure{jsmath}{jsMath/jsMath.js}% +} +>>> + +% CVR: 2011-01-28 + +Rob Beezer \texttt{<beezer@ups.edu>} reported parse errors triggered +by xtpipes when jsmath compatible html pages are generated. Hence the +\verb=\Hcode{<!--l. \the\inputlineno-->}= has been commented out. Also +commented out is \verb= |<recall dvimath par|>= which would insert a +\verb=\sv:ignore= macro at the end of the \verb=DViMath= +configuration. + + +\<configure html-jsmath tex4ht\><<< +\Configure{DviMath} + {\a:DviJsmath \mathltxtrue + \ifOption{mml-fonts}{}{|%\mml:htfsym|%\NoFonts}% + \IgnoreRule + % \HCode{<!--l. \the\inputlineno-->} + \ifx \a:@math\empty\else + \Tg<\a:@math\space class="math"\Hnewline >\fi + \a:math + |<sv dvimath par|>\IgnorePar} + {\ifx \a:@math\empty\else \Tg</\a:@math>\fi \EndIgnoreRule + \ifOption{mml-fonts}{}{|%\ext:htfsym|%\EndNoFonts}% + \mathltxfalse \After:Math \b:DviJsmath % |%recall dvimath par|% + } +\NewConfigure{DviJsmath}{2} +>>> + + + +\<defs for jsmath\><<< +jsMath.Macro('firstOfOne','\#1',1) +>>> + + + +\<end mtext space\><<< +\ht:special{t4ht@,}% +>>> + +\<start mtext space\><<< +\ht:special{t4ht@,&\#x00A0;}% +>>> + +Changes to fix bugs reported by Rob Beezer's +\texttt{<beezer@ups.edu>}: Values of \verb=\@math= in the +configurations of \verb=$= and \verb=$$= have been changed from +\verb=span= and \verb=div= to \verb=\dlr= and \verb=\dlr\dlr= +respectively. \verb=\dlr= will expand to \verb=$= character which is +needed by jsMath. Removed \verb=|<inline end-par comment|>= after +\verb=IgnorePar= in the configuration for \verb=$$=. + + +\<configure jsmath tex4ht\><<< +\def\dlr{\expandafter\@gobble\string\$} +\Configure{$} + {\Configure{@math}{\dlr}\DviMath} + {\EndDviMath}{} +\Configure{$$} + {\Configure{@math}{\dlr\dlr}\IgnorePar + \EndP\DviMath} + {\EndDviMath + \ShowPar\par{\csname HCondtrue\endcsname\noindent}} + {\DisplayMathtrue} +>>> + +\<recall dvimath par\><<< +\sv:ignore +>>> + +\<sv dvimath par\><<< +\edef\sv:ignore{\if:nopar + \noexpand\IgnorePar\else \noexpand\ShowPar\fi}% +>>> + +\<configure html-jsmath tex4ht\><<< +\Configure{@HEAD}{|<load jsmath|>} +\Configure{@BODY} + {\ifvmode \IgnorePar\fi \EndP\HCode{% + |<window opening|>% + |<load jsmath warning|>% + }\par\ShowPar} +\ifOption{easy-load}{}{% + \Configure{@/BODY}{% + \par\IgnorePar\EndP + \HCode{ + <script type="text/javascript" >\Hnewline + jsMath.Process();\Hnewline + </script> + }\par}% +} +\Configure{!BODY}{ class="tex2math_ignore" } +>>> + + + +\<load jsmath\><<< +\HCode{<script + type="text/javascript" + src="\a:jsmath"></script>\Hnewline +<script type="text/javascript">|<defs for jsmath|></script>\Hnewline} +>>> + +\<load jsmath warning\><<< +<noscript> \Hnewline +<div style="color:\#CC0000; text-align:center"> \Hnewline +<b>Warning: <a href="http://www.math.union.edu/locate/jsMath">jsMath</a> \Hnewline +requires JavaScript to process the mathematics on this page.<br /> \Hnewline +If your browser supports JavaScript, be sure it is enabled.</b> \Hnewline +</div> \Hnewline +<hr /> \Hnewline +</noscript>\Hnewline +>>> + + + +%%%%%%%%%%%%% +\subsection{Links} +%%%%%%%%%%%%% + + + + +\<configure jsmath tex4ht\><<< +\def\Hbrakets<#1>{\ifmathltx + \ifmtext @(#1)\else \string\hbox{@(#1)}\fi + \else <#1>\fi} +\def\EndLink{\ifmathltx + \ifmtext |<end mtext space|>% + \egroup \HCode{\%\Hnewline\%}\Endmtxt:link + \HCode{\string\end{ref}\Hnewline}|<start mtext space|>% + \else \HCode{\Hbrakets</a>}\fi + \else \expandafter\M:EndLink\fi} +\LinkCommand\msp:link{a, href, id, \mml:class="label",,} +>>> + +\<configure jsmath tex4ht\><<< +\def\Link{\M:Link} +\def\EndLink{\M:EndLink} +>>> + + +``The contents of an \verb=\hbox{}= are not rendered by jsMath, but +instead are used as plain text in the browser. JsMath allows you to +include HTML commands through the (rather awkward) means of using +@(...) in place of \verb=<...>=. For example, \verb=\hbox{@(tt)= + monospaced \verb=text@(/tt)= would get the enclosed text in the TT font.'' +The above also holds for \verb=\text= instead of \verb=\hbox=. + + + +%%%%%%%%%%%%% +\subsection{Core} +%%%%%%%%%%%%% + + + +\<configure jsmath tex4ht\><<< +\Configure{over} + {\Send{GROUP}{0}{\l:brace\space}} + {\HCode{\string\over\space}\Send{EndGROUP}{0}{\r:brace\space}} +\Configure{atop} + {\Send{GROUP}{0}{\l:brace\space}} + {\HCode{\string\atop\space}\Send{EndGROUP}{0}{\r:brace\space}} +>>> + + + + +%%%%%%%%%%%%%%%%%% +\section{LaTeX} +%%%%%%%%%%%%%%%%%% + +\marginpar{Anchors need fixing} + +\<configure jsmath latex\><<< +\def\set:label#1{\ifmathltx +% \HCode{\%\Hnewline\%\string\begin{label}}% +% {\ht:special{t4ht@, }\let\:newlnch\space \mathltxfalse #1}% +% \HCode{\string\end{label}\Hnewline}% + \else #1\fi +} +>>> + + + + +\<configure jsmath latex\><<< +\Configure{frac} + {\HCode{\l:brace}} + {\HCode{\string\over\space}\Configure{over}{}{}} + {} + {\HCode{\r:brace}} +>>> + + + + + +\<configure jsmath latex\><<< +\Configure{[]} + {\Configure{@math}{div}\csname a:mathltx[]\endcsname + \DviMath$$\DisplayMathtrue } + {$$\EndDviMath\csname b:mathltx[]\endcsname} +\Configure{()} + {\Configure{@math}{span}\csname a:mathltx()\endcsname + \DviMath$} + {$\EndDviMath\csname b:mathltx()\endcsname} +>>> + + +\<configure jsmath fontmath\><<< +\Configure{mfenced}{\langle}{\string\langle\space} +\Configure{mfenced}{\rangle}{\string\rangle\space} +\def\:tempc{\HCode{\string\langle\space}} +\HLet\langle\:tempc +\def\:tempc{\HCode{\string\rangle\space}} +\HLet\rangle\:tempc +\def\:tempc{\HCode{\string\vert\space}} +\HLet\vert\:tempc +\def\:tempc{\HCode{\string\Vert\space}} +\HLet\Vert\:tempc +\def\:tempc{\HCode{\string\||}} +\HLet\||\:tempc +\def\:tempc{\HCode{\string\big\space}} +\HLet\big\:tempc +\def\:tempc{\HCode{\string\bigg\space}} +\HLet\bigg\:tempc +\def\:tempc{\HCode{\string\Big\space}} +\HLet\Big\:tempc +\def\:tempc{\HCode{\string\Bigg\space}} +\HLet\Bigg\:tempc +>>> + + + +\<configure jsmath array\><<< +|<config array|> +>>> + +\<configure jsmath latex\><<< +|<config array|> +>>> + +\<config array\><<< +\Configure{array} + {%\expandafter\tmp:toks\expandafter{\Clr}% + \HCode{\string\array\l:brace\Hnewline}} + {\ifvmode \IgnorePar\fi \HCode{\r:brace}} + {\ifnum \HRow> 1\HCode{\string\cr\Hnewline}\fi} + {} + {|<mtd array|>} + {} +>>> + + +\<configure jsmath latex\><<< +\Configure{emph} + {\ifmmode \Configure{@mtext}{\string\mathit}\fi} + {}% +>>> + +%%%%%%%%%%%%%%%%%% +\section{AMS Math} +%%%%%%%%%%%%%%%%%% + +\<configure jsmath amsmath\><<< +\expandafter\def\csname genfrac \endcsname#1#2#3#4{% + \def\:tempa{#1}\ifx\:tempa\empty\else \HCode{\string\left}#1\fi + \def\:tempa{#2}\ifx\:tempa\empty\else \def\:tempa{\HCode{\string\right}#2}\fi + \edef\@tempb{\@nx\@genfrac\@mathstyle{#4}% + \expandafter\noexpand\csname @@\ifx @#3@over\else above\fi + \endcsname}% + \@tempb{#3}} +\def\:tempc#1#2#3#4#5{{\a:genfrac#1\b:genfrac{\c:genfrac#4#2#3\relax + {\d:genfrac#5\e:genfrac}}\f:genfrac}\:tempa} +\HLet\@genfrac\:tempc +>>> + + +\<configure html-jsmath amsmath\><<< +\ifx \mathdisplay@@pop\:UnDef + \ifx \emdf@La\:UnDef + |<amsmath html-jsmath pre 2000|> + \else + |<amsmath html-jsmath jan 2000|> + \fi +\else + |<amsmath html-jsmath july 2000|> +\fi +>>> + + +\<configure html-jsmath amsmath\><<< +\Configure{equation$$} + {\Configure{$$} + {\IgnorePar \Configure{@math}{div}\EndP\DviMath} + {\EndDviMath\EndP} + {\DisplayMathtrue}% + } +>>> + +\<configure jsmath amsmath\><<< +\Configure{tmspace} + {\HCode{\string\kern \space \textspace\space}} +\def\lvert{\HCode{\string\vert\space}} +\def\rvert{\HCode{\string\vert\space}} +\def\lVert{\HCode{\string\Vert\space}} +\def\rVert{\HCode{\string\Vert\space}} +>>> + +% CVR: 2011-01-28 + +Changes to fix bugs reported by Rob Beezer's +\texttt{<beezer@ups.edu>}: Configuration for \verb=\intertext= +introduced. + +\<configure jsmath amsmath\><<< +\Configure{intertext} + {\IgnorePar %\ifinalign@ + \HCode{\string\cr }% + \AA:text{intertext}} + {\BB:text \ifvmode \IgnorePar \fi %\EndP + \HCode{\string\cr }} +>>> + +\<configure jsmath amsmath\><<< +\ConfigureEnv{multline} + {\bgroup \Configure{$$} + {\Configure{@math}{}\IgnorePar \EndP\DviMath } + {\EndDviMath\ShowPar\csname par\endcsname + {\csname HCondtrue\endcsname\noindent}} + {\DisplayMathtrue}% + } {\egroup} + {}{} +\Configure{multline} + {\HCode{<table class="multline"><tr><td><span class="math">}} + {\HCode{</span></td></tr></table>}} + {\ifnum \HRow> 1\HCode{</span></td></tr>\Hnewline + <tr><td><span class="math">}\fi} + {\gdef\mult:amp{\gdef\mult:amp{\HCode{</span></td> + <td class="eq-no"><span class="math">}}}} + {\csname mult:amp\endcsname \HCode{\ifnum 1<\HMultispan +% \string\multicolumn\l:brace\HMultispan\r:brace + %\string\multispan + ?span/multispan-in-jsmath? + \space\HMultispan\space + \fi}% + } {} +\Css{table.multline td {text-align:left; + vertical-align:middle; padding-left: 2em; }} +\Css{table.multline td.eq-no { text-align:center; }} +\Css{table.multline { width:100\%; }} +>>> + +\<configure jsmath amsmathNO\><<< +\ConfigureEnv{multline} + {\bgroup |<display math-|>} {\egroup} + {}{} +\Configure{multline} + {\HCode{\string\begin\l:brace array\r:brace + \l:brace lp{10mm}r\r:brace}} + {\HCode{\string\end \l:brace array\r:brace}} + {\ifnum \HRow> 1\HCode{\string\\\space}\qquad\fi} + {\gdef\mult:amp{\gdef\mult:amp{\HCode{\a:math:amp}\qquad}}} + {\csname mult:amp\endcsname \HCode{\ifnum 1<\HMultispan +% \string\multicolumn\l:brace\HMultispan\r:brace + |<multi span|> \space\HMultispan\space + \fi}% + } {} +>>> + +\<configure jsmath amsmath\><<< +\ConfigureEnv{multline*} + {\bgroup |<display math-|>} {\egroup} + {}{} +\Configure{multline*} + {\HCode{\string\begin\l:brace array\r:brace + \l:brace lr\r:brace}} + {\HCode{\string\end \l:brace array\r:brace}} + {\ifnum \HRow> 1\HCode{\string\\\Hnewline}\fi} + {} +>>> + + +\<display math-\><<< +\Configure{$$} + {\Configure{@math}{div}\IgnorePar + \EndP\DviMath } + {\EndDviMath\ShowPar\csname par\endcsname + {\csname HCondtrue\endcsname\noindent}} + {\DisplayMathtrue}% +>>> + + + +\<configure jsmath amsmath\><<< +\Configure{subarray} + {\HCode{\string\begin\l:brace array\r:brace + \l:brace \Hlcr\r:brace}} + {\HCode{\string\end \l:brace array\r:brace}} + {\ifnum \HRow> 1\HCode{\string\\\Hnewline}\fi} {} +\Configure{smallmatrix} + {\HCode{\string\begin\l:brace matrix\r:brace}} + {\HCode{\string\end \l:brace matrix\r:brace}} + {\ifnum \HRow> 1\HCode{\string\\\Hnewline}\fi} {} + {\HCode{\ifnum \HCol>1 \a:math:amp\fi \scriptstyle + \ifnum 1<\HMultispan +% \string\multicolumn\l:brace\HMultispan\r:brace + |<multi span|> \space\HMultispan\space + \fi}% + } {} +>>> + + + + + + + + +\<configure jsmath amsmath\><<< +\Configure{aligned} + {\HCode{\string\begin\l:brace array\r:brace + \l:brace rlrlrl\r:brace}} + {\HCode{\string\end \l:brace array\r:brace}} + {} + {\HCode{\string\cr\space}} + {} + {\HCode{\a:math:amp\space}} +\Configure{alignedat} + {\HCode{\string\begin\l:brace array\r:brace + \l:brace rlrl\r:brace}} + {\HCode{\string\end \l:brace array\r:brace}} + {} + {\HCode{\string\cr\space}} + {} + {\HCode{\a:math:amp\space}} +>>> + + + + + + + + + + + + +\<amsmath html-jsmath july 2000\><<< +\Configure{equation} + {\ifvmode \IgnorePar\fi\EndP + \HCode{<table class="equation"><tr><td>}% + |<amsmath equation july 2000|>% + |<math display in amsmath equation|>% + } + {\ifvmode \IgnorePar\fi\EndP + \HCode{</td><td class="eq-no">}% + } + {\ifvmode \IgnorePar\fi\EndP \HCode{</td></tr></table>}% + \ShowPar\IgnoreIndent\par} +\Configure{equation*} + {\ifvmode \IgnorePar\fi\EndP + \HCode{<table class="equation-star"><tr><td>}% + |<amsmath equation* july 2000|>% + |<math display in amsmath equation|>% + } + {\ifvmode \IgnorePar\fi\EndP \HCode{</td></tr></table>}% + \ShowPar\IgnoreIndent\par} +>>> + + +\<math display in amsmath equation\><<< +\csname a:equation\string$\string$\endcsname +>>> + + + +\<amsmath equation july 2000\><<< +\Configure{gather} + {\HCode{\string\begin\l:brace array\r:brace + \l:brace lp{10mm}r\r:brace}\IgnorePar + |<math display in equation|>} + {\HCode{\string\end\l:brace array\r:brace}} + {} + {} + {\ifnum\HCol=2 \IgnorePar + \HCode{\a:math:amp}\fi } + {} +>>> + + +\<amsmath equation* july 2000\><<< +\Configure{gather*} + {\HCode{\string\begin\l:brace array\r:brace + \l:brace lp{10mm}r\r:brace}\IgnorePar + |<math display in equation|>} + {\HCode{\string\end\l:brace array\r:brace}} + {} + {} + {\ifnum\HCol=2 \IgnorePar + \HCode{\a:math:amp}\fi } + {} +>>> + + + + +\<configure jsmath amsmath\><<< +\Configure{split} + {\HCode{\string\begin\l:brace array\r:brace + \l:brace rl\r:brace}} + {\ifvmode\IgnorePar\fi + \HCode{\string\end \l:brace array\r:brace}} + {\ifnum \HRow> 1\HCode{\string\\\Hnewline}\fi} {} + {|<mtd array|>} {} +>>> + + +\<configure jsmath tex4ht\><<< +\Configure{math:amp}{\string&} +>>> + + + +\<mtd array\><<< +\HCode{\ifnum \HCol>1 \a:math:amp\fi + \ifnum 1<\HMultispan +% \string\multicolumn\l:brace\HMultispan\r:brace + |<multi span|> \space\HMultispan\space + \fi}% +>>> + +\<multi span\><<< +%\string\multispan +?span/multispan-in-jsmath? +>>> + + +\<configure jsmath amsmath\><<< +\ConfigureEnv{gather} + {\bgroup |<display math-|>} {\egroup} + {}{} +\Configure{gather} + {\HCode{\string\begin\l:brace array\r:brace + \l:brace cl\r:brace}} + {\HCode{\string\end \l:brace array\r:brace}} + {\ifnum \HRow> 1\HCode{\string\\\Hnewline}\fi} {} + {|<mtd array|>} {} +\ConfigureEnv{gather*} + {\bgroup |<display math-|>} {\egroup} + {}{} +\Configure{gather*} + {\HCode{\string\begin\l:brace array\r:brace + \l:brace cl\r:brace}} + {\HCode{\string\end \l:brace array\r:brace}} + {\ifnum \HRow> 1\HCode{\string\\\Hnewline}\fi} {} + {|<mtd array|>} {} +>>> + +% CVR 2011-01-28 + +\verb=\HtmlParOff= added to \verb=\Configure{#1}=. +\verb=\HCode{<--tex4ht:inline-->}= commented out as it interfered with +parsing. \verb=\HtmlParOn= added after \verb=\end:mathalign=. Before +cell and after cell configurations have been rewritten to solve the +problems reported by Rob Beezer's \texttt{<beezer@ups.edu>}. + +% \<configure jsmath amsmath\><<< +% \def\:tempc#1#2{% +% \ConfigureEnv{#1} +% {\def\end:al:env{}\ifmmode\else +% \ifvmode\else \def\end:al:env{\par\ShowPar\IgnoreIndent} +% \fi\fi} +% {\end:al:env } +% {}{}% +% \Configure{#1} +% {\IgnorePar\HtmlParOff +% \ifvmode \EndP \else \EndP\fi +% \ifmathltx +% \Tg<mrow>\def\end:mathalign{\Tg</mrow>}% +% \else +% \Configure{@math}{div}\DviMath +% \def\end:mathalign{\EndDviMath \DisplayMathfalse}% +% \DisplayMathtrue +% \fi +% \HCode{\string\matrix\l:brace}} +% {\HCode{\r:brace}\end:mathalign\HtmlParOn} +% {\ifnum \HRow> 1\HCode{\string\cr\Hnewline}\fi} +% {} +% {\HCode{\ifnum \HCol>1 \a:math:amp\fi +% \ifnum 1<\HMultispan +% ?span/multispan-in-jsmath? +% \space\HMultispan\space\fi}}% +% {} % +% } +% \:tempc{align}{align} +% \:tempc{alignat}{alignat} +% \:tempc{xalignat}{xalignat} +% \:tempc{xxalignat}{xxalignat} +% \:tempc{flalign}{flalign} +% \:tempc{align*}{align*} +% \:tempc{alignat*}{alignat*} +% \:tempc{xalignat*}{xalignat*} +% \:tempc{flalign*}{flalign*} +% >>> + + +jsMath doesn't support hfil... hence the following + +\<extra align col sep\><<< +\ifodd\HCol\space\else + \string\kern \space 2em\space +\fi +>>> + +Yet another venue through eqalign + +\<configure jsmath amsmath\><<< +\def\:tempc#1#2{% + \ConfigureEnv{#1} + {\def\end:al:env{}\ifmmode\else + \ifvmode\else \def\end:al:env{\par\ShowPar\IgnoreIndent} + \fi\fi} + {\end:al:env } + {}{}% + \Configure{#1} + {\IgnorePar\HtmlParOff + \ifvmode \EndP \else \EndP \fi + \ifmathltx + \Tg<mrow>\def\end:mathalign{\Tg</mrow>}% + \else + \Configure{@math}{div}\DviMath + \def\end:mathalign{\EndDviMath \DisplayMathfalse}% + \DisplayMathtrue + \fi + \HCode{\string\eqalignno\l:brace}} + {\HCode{\r:brace}\end:mathalign\HtmlParOn} + {\ifnum \HRow> 1\HCode{\string\cr\Hnewline}\fi} + {} + {\HCode{\ifnum \HCol>1 \a:math:amp\fi + \ifnum 1<\HMultispan + ?span/multispan-in-jsmath? + \space\HMultispan\space\fi}}% + {} % +} +\:tempc{align}{align} +\:tempc{alignat}{alignat} +\:tempc{xalignat}{xalignat} +\:tempc{xxalignat}{xxalignat} +\:tempc{flalign}{flalign} +\:tempc{align*}{align*} +\:tempc{alignat*}{alignat*} +\:tempc{xalignat*}{xalignat*} +\:tempc{flalign*}{flalign*} +>>> + +%%%%%%%%%%%%%%%%%% +\section{Over and Under} +%%%%%%%%%%%%%%%%%% + + +\<configure jsmath fontmath\><<< +|<jsmath plain,fontmath|> +>>> + +\<configure jsmath plain\><<< +|<jsmath plain,fontmath|> +>>> + + +\<jsmath plain,fontmath\><<< +\Configure{overrightarrow} + {\HCode{\string\overrightarrow\l:brace}\:gobble} + {\HCode{\r:brace}} +\Configure{overleftarrow} + {\HCode{\string\overleftarrow\l:brace}\:gobble} + {\HCode{\r:brace}} +>>> + + +\<configure jsmath amsmath\><<< +\Configure{underrightarrow} + {\HCode{\string\mathop\l:brace}\:gobble} + {\HCode{\r:brace\string\limits + \string_\string\longrightarrow\space}} +\Configure{underleftarrow} + {\HCode{\string\mathop\l:brace}\:gobble} + {\HCode{\r:brace\string\limits + \string_\string\longleftarrow\space}} +>>> + + + +\<configure jsmath amsmath\><<< +\Configure{overleftrightarrow} + {\HCode{\string\mathop\l:brace}\:gobble} + {\HCode{\r:brace\string\limits + \string^\string\longleftrightarrow\space}} +\Configure{underleftrightarrow} + {\HCode{\string\mathop\l:brace}\:gobble} + {\HCode{\r:brace\string\limits + \string_\string\longleftrightarrow\space}} +>>> + +\<configure jsmath amsmath\><<< +\def\:tempc#1{ + {\HCode{\string\mathop\l:brace}#1% + \HCode{\r:brace\string\limits + \string^\l:brace\hbox\l:brace....\r:brace\r:brace}}} +\HLet\ddddot\:tempc +\def\:tempc#1{ + {\HCode{\string\mathop\l:brace}#1% + \HCode{\r:brace\string\limits + \string^\l:brace\hbox\l:brace...\r:brace\r:brace}}} +\HLet\dddot\:tempc +>>> + + +\<configure jsmath amsmath\><<< +\def\:tempc#1#2{% + \HCode{\string\mathop\l:brace}#2% + \HCode{\r:brace\string\limits + \string^\l:brace}#1\HCode{\r:brace}} +\HLet\overset\:tempc +\def\:tempc#1#2{% + \HCode{\string\mathop\l:brace}#2% + \HCode{\r:brace\string\limits + \string_\l:brace}#1\HCode{\r:brace}} +\HLet\underset\:tempc +\def\:tempc#1#2#3{% + \HCode{\l:brace\l:brace\r:brace}#1% + \HCode{\l:brace}#3% + \HCode{\r:brace}#2\HCode{\r:brace}} +\HLet\sideset\:tempc +>>> + + + +\<configure jsmath amsmath\><<< +\renewcommand{\xrightarrow}[2][]{% + \HCode{\string\mathop\l:brace \string\longrightarrow \r:brace\string\limits + \string_\l:brace}#1\HCode{\r:brace\string^\l:brace}% + #2\HCode{\r:brace}} +\renewcommand{\xleftarrow}[2][]{% + \HCode{\string\mathop\l:brace \string\longleftarrow \r:brace\string\limits + \string_\l:brace}#1\HCode{\r:brace\string^\l:brace}% + #2\HCode{\r:brace}} +>>> + + +The following definition is needed because \verb=\multispan= is not recognized by jsMath + + +\<configure jsmath amsmath\><<< +\def\hdots@for#1#2{% + \tmp:cnt=#2\relax + \ifnum \tmp:cnt>0 .% + \loop + \advance\tmp:cnt by -1\relax + \ifnum \tmp:cnt>0 \HCode{\string&}.% + \repeat + \fi + } +>>> + +%%%%%%%%%%%%%%%%%% +\section{Symbols} +%%%%%%%%%%%%%%%%%% + + +\<configure jsmath amsmath\><<< +\def\:tempc#1{\HCode{\kern18mu + {\string\rm\space mod}\string\,\string\,}#1} +\HLet\mod=\:tempc +\def\:tempc#1{\HCode{\kern18mu }(#1)} +\HLet\pod=\:tempc +\def\:tempc#1{\HCode{\kern18mu + \string\mathbin{\string\rm\space mod}\string\,\string\,}#1} +\HLet\bmod\:tempc +\def\:tempc#1{\HCode{\kern18mu }(\HCode{{\string\rm\space mod}\kern6mu\space} #1)} +\HLet\pmod=\:tempc +>>> + + + + +%%%%%%%%%%%%%%%%%% +\section{Boxed} +%%%%%%%%%%%%%%%%%% + +\<configure html-jsmath amsmath\><<< +\Configure{boxed} + {\ifmathltx \HCode{\string\class\l:brace boxed\r:brace\l:brace}% + \else \HCode{<span class="boxed">}\IgnorePar\fi} + {\ifmathltx \HCode{\r:brace}% + \else \HCode{</span>}\fi} +\Css{.boxed{border: 1px solid black; padding-left:2px; + padding-right:2px;}} +>>> + + + + + +\<configure html-jsmath amsmath\><<< +\Configure{boxed} + {\ifmathltx \HCode{\string\class\l:brace boxed\r:brace\l:brace}% + \else \HCode{<span class="boxed">}\IgnorePar\fi} + {\ifmathltx \HCode{\r:brace}% + \else \HCode{</span>}\fi} +\Css{.boxed{border: 1px solid black; padding-left:2px; + padding-right:2px;}} +>>> + + + +%%%%%%%%%%%%%%%%%% +\endinput +%%%%%%%%%%%%%%%%%% + + |